80
z
1
есептеу
1. i = (i +1) = 0+1 = 1
1
2. j = (j + S
i
) mod 16 = (0+13) mod 16 = 13
13
3. S
1
және S
13
орнымен ауыстыру
4. a = (S
i
+ S
j
) mod 16 = (7+13) mod 16 = 4
4
5. z
1
= S
4
= 2
z
2
есептеу
1. i = (i +1) = 1+1 = 2
2
2. j = (j + S
i
) mod 16 = (13+14) mod 16 = 11
11
3. S
2
және S
11
орнымен ауыстыру
4. a = (S
i
+ S
j
) mod 16 = (9+14) mod 16 = 7
7
5. z
2
= S
7
= 4
z
3
есептеу
1. i = (i + 1) = 2+1 = 3
3
2. j = (j + S
i
) mod 16 = (11+12) mod 16 = 7
7
3. S
3
және S
7
орнымен ауыстыру
4. a = (S
i
+ S
j
) mod 16 = (4+12) mod 16 = 0
0
5. z
3
= S
0
= 10
z
4
есептеу
1. i = (i + 1) = 3+1 = 4
4
2. j = (j + S
i
) mod 16 = (7+2) mod 16 = 9
9
3. S
4
және S
9
орнымен ауыстыру
4. a = (S
i
+ S
j
) mod 16 = (3+2) mod 16 = 5
5
5. z
4
= S
5
= 15
z
5
есептеу
1. i = (i +1) = 4+1 = 5
5
2. j = (j + S
i
) mod 16 = (9+15) mod 16 = 8
8
3. S
5
және S
8
орнымен ауыстыру
4. a = (S
i
+ S
j
) mod 16 = (5+15) mod 16 = 4
4
5. z
5
= S
4
= 3
Нәтижесінде алғашқы бес мәні келесі болып шықты: 2, 4, 10, 15, 3. Егер одан көп
кездейсоқ саны керек болса есептеуді жалғастыруға болады. n=4 болғанда
генерацияланған сандардың мөлшері 4 бит болады, яғни 0 ден 15-ке дейін мән алады.
Қарастырылған мысалда сөз немесе алгоритм блоғының n мөлшері төртке тең
алынған болатын. Бұл мән басқа да болу мүмкін, мысалы 8 немесе 16. Егер n=8
пайдалансақ, онда орын ауыстыру S кесте 2
8
=256 мәннен тұрады, ал орын ауыстыру
кестенің элементтері 0 ден 255-ке дейін сандар. i мен j есептеуіштің мөлшері де сегіз
битке дейін өзгертілу керек (максимал мәні - 255). Одан басқа, n=8 болғанда есепті модулі
256 бойынша жүргізу қажет.
RC4 алгоритмды криптоталдаушылар өте мұқият зерттеген болатын. Қандай да
осал жерлері табылмады. Жоғары криптоберіктігінен басқа, бұл алгоритм өте жылдам
және ағынды шифрлауда кілттік тізбекті генерациялау үшін пайдалану мүмкін.
8.4 Криптографиядағы нағыз кездейсоқ сандар генераторлары
ПКС генераторлары крпитографияда кең қолданылады, мысалы, ағынды
шифрлауда. Бірақ кейде алдын ала болжамбайтын немесе абсолют кездейсоқ сандардың
генерациялауы қажет болу мүмкін. Осындай генераторлар кездейсоқ сандар
81
генераторлары (random number generator) немесе КСГ (RNG) деп аталады. Нағыз
кездейсоқ сандар генераторы кейін қайталанбайтын тізбекті жасап шығарады.
Кездейсоқ сандар генераторлардың басты қолдану облысы шифрлау үшін бірегей
кілттерді құрастыру. Қандай да болса құпиялы деректерді беру жүйесінде барлық
пайдаланушыларға көп кілттер қажет болады. Әдетте шифрлау кілттерді RC4 алгоритмды
немесе OFB тәртіпте блокты шифрды пайдалана отырып алуға болады. Бірақ, егер
қарсылас кілтті біле алса, онда ол тура осындай кілттерді жасап хабарларды ашып оқи
алады. Демек, құпиялы кілттер шынында кездейсоқ болу керек. Сондықтан, нағыз
кездейсоқ сандарды генерациялау есебі өте маңызды.
Ең жақсы сипаттамасы нақты әлемнің табиғи кездейсоғына негізделген кездейсоқ
сандар генераторында болады. Мысалы, келесі мәліметтерге негізделген КСГ жасауға
болады:
уақыт бірлігінде, мысалы бір секундта, Гейгер есептеуіштің импульстар саны;
еркін лақтыруда шығатын ойын кубиктің үстінгі қырындаға сандар;
уақыт бірлігінде, мысалы бір айда, белгілі бір район арқылы ұшып өтетің ұшақтар
саны.
Одан басқа, түрлі физикалық құбылыстардың параметрлері КСГ негізіне қойылу
мүмкін. Өкінішке орай, нағыз кездейсоқ сандарды алудың көп әдістемелері тәжірибеде
жүзеге асырылмайды, себебі генератор жинақты, шапшаң (сандарды бір секундтан
жылдам генерациялау), сыртқы факторларға және қоршаған ортаның жағдайына тәуелсіз
болу керек.
Оған қарамастан, түрлі принциптерге негізделген аппараттық КСГ жобалап
жасалынады. Мысалы, екі «метал – диэлектрик – жартылай өткізгіш» типті
конденсаторды
пайдаланып
әдістеме
құрастырылған.
Кездейсоқ
мәні
осы
конденсаторлардың заряд айырмасының функциясы болып табылады. Басқа құрылғыда
жартылай өткізгіш диодтің температуралық шу мәні өңделеді және пайдаланады.
Кездейсоқ сандарды алу үшін бағдарламалық-аппараттық әдістер де ұсынылады.
Мысалы, дербес компьютердің дыбыс картасының шуына, процессор тактінің есептеуіш
мәніне, қатқыл дискінің айналу жылдамдығына, жүйелік таймер мәніне, перне тақтаның
жеке пернелерін басу жылдамдығына немесе маус қозғалуына негізделген әдістер. Қандай
да болсын әдістеме арқылы алынған кездейсоқ мәліметтер криптоберікті ПКС
генераторымен өңделеді және осыдан кейін ғана пайдаланылады.
8.5 Құпиялы кілттерді басқару
Тағы да құпиялы жүйенің жалпы құрылымын қарап шығайық. Осындай жүйенің
құрылымы 8.3 суретте бейнеленген.
Достарыңызбен бөлісу: |