ПОӘК 042-18.39.1.206/01-2013
10.09.2013 ж. № 1 басылым
81 беттің 20
алгоритмде қоллданылатын бірнеше кілттің арасындағы байланысты зерттейді. Шабуылдың бұл
түрі блоктық шифр бұзу үшін пайдалы болуы мүмкін.
«Туған күндер» шабуылы (Birthday attack). Математикалық статистикада стандартты
«туған күндер» парадоксы белгілі. Егер бөлмеде 23 адам болса, онда олардың ішінде туған күні
бірдей екі адамның табылуы ықтималдығы 50 % артық. «Туған күндер» шабуылы мәндері бірдей
элементтерді табуға негізделген. Мұндай элементтер «коллизия» деп аталады. Әр элемент N мән
қабылдай алсын. Алғашқы коллизияны сіз шамамен √ N кездейсоқ мәндерді қарастырғаннан
кейін күтуіңізге болады. Расында, егер N мүмкін элементтің ішінен m элемент таңдалса, олар
m(m-1)/2 жұп құрайды. Коллизия табу ықтималдығы m(m-1)/2N санына жақын. m≈√N деп
таңдасақ бұл ықтималдық шамамен 50% құрайтынын көреміз.
Мысал. Қаржылық транзакция кезінде аутентификация үшін тұтынушы 64 биттік кілт
қолдансын. Онда 2
64
мүмкін кілт бар, алайда бұзғыш алғашқы коллизиясын 2
32
транзакциясын
қарастырғаннан кейін табуы ықтимал. Аутентификация мезетінде бұзғыш кілт мәндерін емес, h(k,
m) мәндерін алады, мұндағы k – кілт, m – хабар, h – хэш функция. Әр транзакция үшін m белгілі
болсын. h(k, m) мәнін MAC (message authentication code) деп атайды.
«Ортада кездесу» шабуылы (Meet-in-th-Middle attack). Бұл шабуыл «Туған күндер»
шабуылының модификациясы болып табылады. Алдындағы мысалға оралайық. Бұзғыш алдын
ала кездейсоқ 2
32
64 битті кілттер таңдайды. Әрбір кілт үшін олардың МАС мәндерін есептеп,
кілт мәндерімен бірге сақтап қояды. Енді 2
32
транзакциясын жасырын тыңдап, олардың МАС
мәндерін салыстырады. Өзінің мәліметтер базасындағы МАС мәні кездескен мезетте ол әрекетін
тоқтатады. Мәліметтер базасында МАС мәніне сәйкес кілт мәні жазылғандықтан енді ол жалған
кілтпен аутентификация процесін өтеді. Жұмыс көлемі 2
32
, мұндағы 2
32
– алдын-ала орындалатын
есептеулер үшін және 2
32
жасырын таңдау үшін. «Туған күндер шабуылы» мен «Ортада кездесу»
шабуылдарының айырмашылығы «Туған күндер» шабуылында бұзғыш таңдап алынған жалғыз
мән үшін қайталануды күтеді, ал «рота кездесу» шабуылында бұзғыш екі жиынның қиылысу
нүктесін іздейді. Бірінші жиын – бұзғыш таңдап алған кездейсоқ кілттер, екіншісі – жасырын
таңдау кезіндегі табылған мәндер. «Ортада кездесу» шабуылы «туған күндер» шабуылына
қарағанда күштірек.
Криптографиялық протоколдар. Мысалға сіздің алдыңызда электрондық құпия дауыс
беру есебі тұрсын. Алдымен сіз сайлауға қатысатындар және ұйымдастырушылар үшін жалпы
ереже ойлап табуыңыз керек. Төмендегідей ережені алса да болады:
1. Сайлауға тек дауыс беру құқығы бар адамдар қатысады.
2. Әр сайлаушы бір рет қана дауыс береді.
3. Сайлаушының қалай дауыс бергенін ешкім анықтай алмайды.
4. Сайлаушының бюллетенінің көшірмесін ешкім жасай алмайды.
5. Сайлаушының дауыс бергендегі нәтижесін ешкім өзгерте алмайды.
6. Әр сайлаушы берген даусының есептелгеніне көз жеткізе алады.
Енді сайлаудың орындалуының ережелерін анықтайық:
1. Сайлаушы бюллетенін Орталық Сайлау Комиссиясының (ОСК) ашық кілтімен
шифрлайды.
2. Сайлаушы бюллетенін ОСК-ға жібереді.
3. ОСК бюллетендерді дешифрлап, сайлау нәтижесін жариялайды.
Алдыңғы үш қадам протокол болып табылады. Яғни протокол бірнеше жақпен
орындалатын іс-әрекет тізбегі. Протокол орындаушылар ашық каналмен қатынасып отырған
абоненттер. Жалпы жағдайда протокол орындаушылар бір біріне сенбейді деп ұйғарылады.
Протоколда криптография қолданылса, онда ол криптографиялық протокол деп атайды.
Жоғарыдағы мысалға қайта оралсақ, оның әбден пайдасыз екенін аңғарған боларсыз. ОСК
кімнің бюллетень жібергенін, ол дауыс беруге құқығы барма білмейді. Тағы да бір протокол
келтірейік:
1. Сайлаушы бюллетеніне өзінің жабық кілтімен қол қояды.
2. Сайлаушы бюллетенін ОСК-ның ашық кілтімен шифрлайды.
ПОӘК 042-18.39.1.206/01-2013
10.09.2013 ж. № 1 басылым
81 беттің 21
3. Сайлаушы бюллетендерді ОСК-ға жібереді.
4. ОСК бюллетендерді дешифрлап, қол қою шынайылығын тексереді.
Нәтижені жариялайды.
Енді дауысты тек құқығы бар адамдар бере алады. Бюллетенге қойылған қол арқылы ОСК
иесінің құқығын тексере алады. Сонымен қатар ол берілген дауыстарды бақылап, дауыс беру
рәсімін қайталауға жол бермейді. Бұл протоколдың кемшілігі бар: ОСК кімнің қалай дауыс
бергенін анықтай алады.
Кемшілікті жою үшін сайлауға екі комиссия қатыстыруға болады. Мысалы, Орталық
тіркелу комиссиясы (ОТК) және ОСК.
1. Сайлаушы тіркеу номерін сұрап, ОТК-ға хат жібереді.
2. ОСК сайлаушыға кездейсоқ тіркеу номерін жіберіп, оны өзінің мәліметтер базасынеда
сақтайды.
3. ОТК тіркеу номірлерін ОСК-ға жібереді.
4. Сайлаушы кездейсоқ идентификациялық нөмір таңдайды. Ол нөмір, тіркеу нөмірі және
бюллетеннен тұратын хабарды ОСК-ға жібереді.
5. ОСК тіркеу нөмірін ОТК жіберген құжаттағы мәліметпен салыстырады. Егер тіркеу
нөмірі тізбекте бар болса оны сызып тастайды. Содан кейін идентификациялық
нөмірін сайлаушылар тізбегіне енгізіп, дауысын ескереді.
6. ОСК сайлау нәтижесін идентификациялық нөмірімен қоса жариялайды.
Протокол орындалу кезінде барлық хабарлар шифрланған және қол қойылған деп
санаймыз. Барлық шараларға қарамастан ОТК сенімді ұйым болуы тиіс, өйткені ол дауыс беруге
құқығы жоқ адамдарды тіркеу мүмкін. Бірақ егер ОТК тіркелген сайлаушылар тізімін жарияласа
(тіркеу нөмірінсіз), онда тіркелген адамдардың саны саналған дауыс санынан кем болған
жағдайда оны сенімсіз деп жариялауға болады.
Протоколдың кемшілігі ОТК және ОСК бірігіп алуы мүмкін.
Симметриялық криптожүйелер. Симметриялық алгоритмдер криптографияның
классикалық алгоритмдеріне жатады. Мұнда құпия кілт беру ғана немесе шифрлау кілті
дешифрлау кілтінің көмегімен я керісінше табылады. Бұл алгоритмдерді бір кілтті алгоритм деп
те атайды. Симметриялық алгоритмдердің қауіпсіздігі кілттің құпиялылығына байланысты. Егер
қаскүнем кілтті анықтай алса, онда ол барлық құжаттарды шифрлай және дешифрлай алады. Бұл
бөлімде біз шифрлаудың жаңа және ескі стандарттарын қарастырамыз.
DES (Data Encryption Standard). 1972 жылы NBS (National Bureau of Standards, АҚШ)
стандартты криптографиялық алгоритм құрастыруға сынақ жариялады. Бірақ келіп түскен бір де
бір ұсыныс қойылып отырған талаптарға сай келмеді. Тек 1974 жылы Lucifer атты алгоритм IBM
корпорациясында жұмыс істеуші крипографтар атынан ұсынылды. Олар – Рой Адлер, Дон
Копперсмит, Хорст Файстель, Эдна Кроссман және басқалары. NBS бюросы NSA ұйымынан
алгоритмді бағалауда көмек сұрады. 1976 жылы DES федералдық стандарт ретінде бекітілді.
Енді DES сипаттауға көшейік. DES блоктық алгоритм болып табылады. Ашық мәтін
ұзындығы – 64 бит. Кілт ұзындығы – 56 бит. Алгоритмде 16 раунд орындалады, яғни бірдей
тәсілдердің комбинациясы ашық мәтінге 16 рет қолданылады. Алгоритмнің негізгі қадамдарын
қарастырайық. 1 және 2 суреттердегі кілт түрлендіру алгоритмі және шифрлану алгоритмінің
сүлбелері келтірілген.
Бастапқы орын алмастыру.
Алгоритм басталмас бұрын ашық текст биттері үшін орын алмастыру процедурасы
орындалады. Р
k
деп k-ші жаңа позицияға орналасатын ашық текст битінің нөмірін белгілейік. Р
0
=
0, Р
1
= 58 болсын. Алдыңғы төрт байттың құрамындағы бірінші бит позицисына келесі бит
орналастырылады.
P
8i+1
= P
1
+ P
8i
, i = 0.3 (1)
Бесінші байттың бірінші битінің позициясы былай есептеледі:
P
8i+1
= P
1
- 1 , i = 4