Электрондық деректерді шифрлаудың заманауи технологиялары. Шифрлау алгоритмдерінің мақсаты мен құрылымы

Сергей Панасенко,
Ankad бағдарламалық қамтамасыз етуді әзірлеу бөлімінің бастығы,
[электрондық пошта қорғалған]

Негізгі ұғымдар

Ашық деректерді шифрланған деректерге және керісінше түрлендіру процесі әдетте шифрлау деп аталады, ал бұл процестің екі құрамдас бөлігі сәйкесінше шифрлау және шифрды шешу деп аталады. Математикалық түрде бұл түрлендіру бастапқы ақпаратпен әрекеттерді сипаттайтын келесі тәуелділіктермен ұсынылған:

C = Ek1(M)

M" = Dk2(C),

мұндағы M (хабарлама) ашық ақпарат (ақпараттық қауіпсіздік бойынша әдебиеттерде ол көбінесе «бастапқы мәтін» деп аталады);
С (шифрлық мәтін) – шифрлау нәтижесінде алынған шифрлық мәтін (немесе криптограмма);
E (шифрлау) – бастапқы мәтінде криптографиялық түрлендірулерді орындайтын шифрлау функциясы;
k1 (кілт) – шифрлау кілті деп аталатын Е функциясының параметрі;
М» - шифрды шешу нәтижесінде алынған ақпарат;
D (дешифрлеу) – шифрды мәтінде кері криптографиялық түрлендірулерді орындайтын шифрды шешу функциясы;
k2 – ақпараттың шифрын ашу үшін қолданылатын кілт.

ГОСТ 28147-89 стандартындағы (симметриялық шифрлау алгоритмі) «кілт» ұғымы келесідей анықталған: «криптографиялық түрлендіру алгоритмінің кейбір параметрлерінің белгілі бір құпия күйі, мүмкін болатын түрлендірулер жиынтығынан бір түрлендіруді таңдауды қамтамасыз етеді. берілген алгоритм». Басқаша айтқанда, кілт шифрлау алгоритмінің нәтижелерін өзгертуге болатын бірегей элемент болып табылады: әртүрлі кілттерді пайдалану кезінде бірдей бастапқы мәтін әртүрлі шифрланады.

Шифрды шешу нәтижесі бастапқы хабарламаға сәйкес келуі үшін (яғни, M" = M үшін) екі шарт бір уақытта орындалуы керек. Біріншіден, D шифрды шешу функциясы E шифрлау функциясына сәйкес келуі керек. Екіншіден, k2 шифрды шешу кілті шифрлауға сәйкес келуі керек. k1 пернесі.

Егер шифрлау үшін криптографиялық күшті шифрлау алгоритмі қолданылса, онда дұрыс k2 кілті болмаған жағдайда M" = M алу мүмкін емес. Криптографиялық беріктік шифрлау алгоритмдерінің негізгі сипаттамасы болып табылады және ең алдымен түпнұсқаны алудың күрделілік дәрежесін көрсетеді. k2 кілті жоқ шифрланған мәтіннен мәтін.

Шифрлау алгоритмдерін екі категорияға бөлуге болады: симметриялық және асимметриялық шифрлау. Біріншісі үшін шифрлау және шифрды шешу кілттерінің арақатынасы k1 = k2 = k ретінде анықталады (яғни, E және D функциялары бірдей шифрлау кілтін пайдаланады). Асимметриялық шифрлау кезінде k1 шифрлау кілті k2 кілтінен кері түрлендіру мүмкін болмайтындай етіп есептеледі, мысалы, k1 = ak2 mod p формуласы (a және p – қолданылатын алгоритмнің параметрлері).

Симметриялық шифрлау

Симметриялық шифрлау алгоритмдері ежелгі дәуірден бастау алады: дәл осы ақпаратты жасыру әдісін Рим императоры Гай Юлий Цезарь біздің эрамызға дейінгі 1 ғасырда қолданған. е., және ол ойлап тапқан алгоритм «Цезарь криптожүйесі» ретінде белгілі.

Қазіргі уақытта ең танымал симметриялық шифрлау алгоритмі 1977 жылы жасалған DES (Data Encryption Standard) болып табылады. Соңғы уақытқа дейін бұл «АҚШ стандарты» болды, өйткені бұл елдің үкіметі оны әртүрлі деректерді шифрлау жүйелерін енгізу үшін пайдалануды ұсынған. ТЖД бастапқыда 10-15 жылдан аспайтын мерзімге пайдалану жоспарланғанына қарамастан, оны ауыстыру әрекеттері тек 1997 жылы басталды.

Біз DES-ті егжей-тегжейлі қарастырмаймыз (қосымша материалдар тізіміндегі барлық дерлік кітаптарда оның толық сипаттамасы бар), бірақ қазіргі заманғы шифрлау алгоритмдеріне жүгінеміз. Шифрлау стандартын өзгертудің негізгі себебі оның салыстырмалы түрде әлсіз криптографиялық күші екенін атап өткен жөн, оның себебі DES кілтінің ұзындығы небәрі 56 маңызды бит. Кез келген күшті шифрлау алгоритмін барлық ықтимал шифрлау кілттерін қолданып көру арқылы бұзуға болатыны белгілі (дөрекі күш шабуылы деп аталады). Әрқайсысы секундына 1 миллион кілтті есептейтін 1 миллион процессордан тұратын кластер шамамен 20 сағатта DES кілттерінің 256 нұсқасын тексеретінін есептеу оңай, ал мұндай есептеу қуаты бүгінгі стандарттар бойынша өте шынайы болғандықтан, бұл анық 56-биттік кілт тым қысқа және DES алгоритмін күштірекімен ауыстыру қажет.

Бүгінгі таңда шифрлаудың екі заманауи күшті алгоритмі барған сайын қолданылуда: отандық стандарт ГОСТ 28147-89 және АҚШ-тың жаңа криптографиялық стандарты - AES (Advanced Encryption Standard).

Стандарт ГОСТ 28147-89

ГОСТ 28147-89 бойынша анықталған алгоритм (1-сурет) шифрлау кілтінің ұзындығы 256 бит. Ол 64 биттік блоктардағы ақпаратты шифрлайды (мұндай алгоритмдер блоктық алгоритмдер деп аталады), олар кейін 32 биттен тұратын екі ішкі блокқа (N1 және N2) бөлінеді. N1 қосалқы блок белгілі бір жолмен өңделеді, содан кейін оның мәні N2 қосалқы блоктың мәнімен қосылады (қосу 2 модуль бойынша орындалады, яғни логикалық XOR операциясы қолданылады - «ерекше немесе»), содан кейін ішкі блоктар ауыстырылады. Бұл түрлендіру белгілі бір рет («дөңгелек») орындалады: алгоритмнің жұмыс режиміне байланысты 16 немесе 32. Әр айналымда екі операция орындалады.

Біріншісі - пернелеу. N1 ішкі блоктың мазмұнына Kx кілтінің 32-биттік бөлігімен 2 модулі қосылады. Толық шифрлау кілті 32-разрядты ішкі кілттердің бірігуі ретінде ұсынылған: K0, K1, K2, K3, K4, K5, K6, K7. Шифрлау процесі кезінде алгоритмнің дөңгелек саны мен жұмыс режиміне байланысты осы ішкі кілттердің бірі қолданылады.

Екінші операция - үстелді ауыстыру. Пернелеуден кейін N1 қосалқы блок 4 биттен тұратын 8 бөлікке бөлінеді, олардың әрқайсысының мәні ішкі блоктың осы бөлігінің ауыстыру кестесіне сәйкес ауыстырылады. Содан кейін қосалқы блок 11 битке солға битпен бұрылады.

Кестені ауыстыру(Substitution box – S-box) қазіргі шифрлау алгоритмдерінде жиі қолданылады, сондықтан мұндай операцияның қалай ұйымдастырылғанын түсіндіріп өткен жөн. Блоктардың шығыс мәндері кестеде жазылған. Белгілі бір өлшемді деректер блогының (біздің жағдайда 4-разрядты) шығыс мәнінің санын анықтайтын өзінің сандық көрінісі бар. Мысалы, егер S-қорапшасы 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 және 4-биттік «0100» блогы сияқты болса. кіріске келді (мән 4), содан кейін кестеге сәйкес шығыс мәні 15 болады, яғни «1111» (0 a 4, 1 a 11, 2 a 2 ...).

ГОСТ 28147-89 анықталған алгоритм жұмыстың төрт режимін қамтамасыз етеді: қарапайым ауыстыру, гамма, кері байланыспен гамма және имитациялық қосымшаларды генерациялау. Олар жоғарыда сипатталған бірдей шифрлау трансформациясын пайдаланады, бірақ режимдердің мақсаты әртүрлі болғандықтан, бұл түрлендіру олардың әрқайсысында әр түрлі жүзеге асырылады.

Режимде оңай ауыстыруӘрбір 64 биттік ақпарат блогын шифрлау үшін жоғарыда сипатталған 32 айналым орындалады. Бұл жағдайда 32-биттік ішкі кілттер келесі реттілікпен пайдаланылады:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1 және т.б. - 1-ден 24-ке дейінгі раундтарда;

K7, K6, K5, K4, K3, K2, K1, K0 - 25-32 раундтарда.

Бұл режимде шифрды шешу дәл осындай жолмен жүзеге асырылады, бірақ ішкі кілттерді пайдаланудың сәл басқа реттілігімен:

K0, K1, K2, K3, K4, K5, K6, K7 - 1-8 раундтарда;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 және т.б. - 9-32 раундтарда.

Барлық блоктар бір-бірінен тәуелсіз шифрланады, яғни әрбір блоктың шифрлау нәтижесі оның мазмұнына ғана байланысты (түпнұсқа мәтіннің сәйкес блогы). Түпнұсқа (қарапайым) мәтіннің бірнеше бірдей блоктары болса, сәйкес шифрлық мәтін блоктары да бірдей болады, бұл шифрды бұзуға тырысатын криптоаналитикке қосымша пайдалы ақпарат береді. Сондықтан бұл режим негізінен шифрлау кілттерінің өздерін шифрлау үшін қолданылады (көп кілтті схемалар өте жиі орындалады, оларда бірқатар себептер бойынша кілттер бір-біріне шифрланады). Басқа екі жұмыс режимі ақпараттың өзін шифрлауға арналған - кері байланыспен гамма және гамма.

IN гамма режиміӘрбір ашық мәтін блогы 64-биттік шифрлық гамма-блокқа бит модулі бойынша 2 қосылады. Гамма-шифр N1 және N2 регистрлерімен белгілі бір операциялардың нәтижесінде алынатын ерекше тізбек болып табылады (1-суретті қараңыз).

1. Олардың бастапқы толтырылуы N1 және N2 регистрлеріне жазылады – синхрондау хабарламасы деп аталатын 64 разрядты мән.

2. N1 және N2 регистрлерінің мазмұны (бұл жағдайда синхрондау хабарламалары) қарапайым ауыстыру режимінде шифрланады.

3. N1 регистрінің мазмұнына C1 = 224 + 216 + 28 + 24 тұрақтысы бар модуль (232 - 1) қосылады және N1 регистріне қосу нәтижесі жазылады.

4. N2 регистрінің мазмұнына C2 = 224 + 216 + 28 + 1 тұрақтысы бар 232 модулі қосылады және N2 регистріне қосу нәтижесі жазылады.

5. N1 және N2 регистрлерінің мазмұны шифрдың 64-биттік гамма блогы ретінде шығарылады (бұл жағдайда N1 және N2 бірінші гамма блогын құрайды).

Келесі гамма блогы қажет болса (яғни, шифрлау немесе шифрды шешуді жалғастыру қажет), ол 2-қадамға оралады.

Шифрды шешу үшін гамма ұқсас жолмен жасалады, содан кейін шифрленген мәтін мен гамма биттері қайтадан XOR-ге айналады. Бұл операция қайтымды болғандықтан, дұрыс құрастырылған шкала жағдайында түпнұсқа мәтін (кесте) алынады.

Гамма режимінде шифрлау және шифрды шешу

Гамманың шифрын шешуге қажетті шифрды әзірлеу үшін криптограмманы шешетін пайдаланушы ақпаратты шифрлау кезінде пайдаланылған синхрондау хабарламасының бірдей кілті мен бірдей мәніне ие болуы керек. Әйтпесе, шифрланған мәтіннен түпнұсқа мәтінді алу мүмкін болмайды.

ГОСТ 28147-89 алгоритмін іске асырудың көпшілігінде синхрондау хабарламасы құпия емес, дегенмен синхрондау хабарламасы шифрлау кілті сияқты құпия элемент болып табылатын жүйелер бар. Мұндай жүйелер үшін алгоритмнің тиімді кілт ұзындығы (256 бит) құпия синхрондау хабарламасының тағы 64 битіне артады, оны да негізгі элемент ретінде қарастыруға болады.

Кері байланыс гамма режимінде 2-ші блоктан бастап N1 және N2 регистрлерін толтыру үшін алдыңғы гамма блогы емес, алдыңғы ашық мәтіндік блокты шифрлау нәтижесі қолданылады (2-сурет). Бұл режимдегі бірінші блок алдыңғыға толығымен ұқсас түрде жасалады.

Күріш. 2. Кері байланыс арқылы гамма-режимде шифр гаммасын әзірлеу.

Режимді ескере отырып еліктеу префикстерінің генерациясы, ұрпақ субъектісі ұғымына анықтама беру керек. Префикс - бұл шифрлау кілті арқылы есептелетін және хабарламалардың тұтастығын тексеруге арналған криптографиялық бақылау сомасы. Имитациялық префиксті құру кезінде келесі әрекеттер орындалады: имитация префиксі есептелетін ақпараттық массивтің бірінші 64 биттік блогы N1 және N2 регистрлеріне жазылады және қысқартылған қарапайым ауыстыру режимінде шифрланады ( 32 раундтың алғашқы 16-сы орындалады). Алынған нәтиже келесі ақпарат блогымен 2 модуль бойынша жинақталады және нәтиже N1 және N2 сақталады.

Цикл ақпараттың соңғы блогына дейін қайталанады. Осы түрлендірулер нәтижесінде N1 және N2 регистрлерінің 64-биттік мазмұны немесе олардың бір бөлігі имитация префиксі деп аталады. Имитациялық префикстің өлшемі хабарлардың қажетті сенімділігіне байланысты таңдалады: имитация префиксінің ұзындығымен r бит, хабарламадағы өзгерістің байқалмай қалу ықтималдығы көбінесе 2-r-ге тең 32-биттік имитация префиксі пайдаланылады, яғни регистрлер мазмұнының жартысы. Бұл жеткілікті, өйткені кез келген бақылау сомасы сияқты, имитация қосымшасы ең алдымен ақпаратты кездейсоқ бұрмалаудан қорғауға арналған. Деректерді әдейі өзгертуден қорғау үшін басқа криптографиялық әдістер қолданылады - ең алдымен электрондық цифрлық қолтаңба.

Ақпарат алмасу кезінде еліктеу префиксі бақылаудың қосымша құралы ретінде қызмет етеді. Ол кез келген ақпарат шифрланған және шифрленген мәтінмен бірге жіберілген кезде ашық мәтін үшін есептеледі. Шифрды шешкеннен кейін имитация префиксінің жаңа мәні есептеледі және жіберілгенмен салыстырылады. Мәндер сәйкес келмесе, бұл тасымалдау кезінде шифрленген мәтіннің бүлінгенін немесе шифрды шешу кезінде дұрыс емес кілттер пайдаланылғанын білдіреді. Имитациялық префикс әсіресе көп кілтті схемаларды пайдалану кезінде негізгі ақпараттың шифрын дұрыс шешуді тексеру үшін пайдалы.

ГОСТ 28147-89 алгоритмі өте күшті алгоритм болып саналады - қазіргі уақытта оны ашудың жоғарыда айтылған «қатал күш» әдісінен тиімдірек әдістері ұсынылмаған. Оның жоғары қауіпсіздігіне ең алдымен кілттің үлкен ұзындығы – 256 бит арқасында қол жеткізіледі. Құпия синхрондау хабарын пайдаланған кезде тиімді кілт ұзындығы 320 битке дейін артады, ал ауыстыру кестесін шифрлау қосымша биттерді қосады. Сонымен қатар, криптографиялық беріктік ГОСТ 28147-89 бойынша 32 болуы тиіс трансформация раундтарының санына байланысты (кіріс деректерінің дисперсиясының толық әсері 8 айналымнан кейін қол жеткізіледі).

AES стандарты

Ұзақ уақыт бойы құпия болып келген ГОСТ 28147-89 алгоритмінен айырмашылығы, DES ауыстыруға арналған американдық AES шифрлау стандарты ашық конкурс арқылы таңдалды, мұнда барлық мүдделі ұйымдар мен жеке тұлғалар үміткер алгоритмдерді зерттеп, түсініктеме бере алады.

DES ауыстыруға арналған конкурсты 1997 жылы АҚШ Ұлттық стандарттар және технологиялар институты (NIST – Ұлттық стандарттар және технологиялар институты) жариялады. Байқауға криптография саласындағы белгілі ұйымдар (RSA Security, Counterpane және т.б.) және жеке тұлғалар әзірлеген 15 үміткер алгоритмі ұсынылды. Байқау нәтижелері 2000 жылдың қазан айында жарияланды: Бельгияның екі криптографы Винсент Раймен және Джоан Даемен әзірлеген Рижндаэл алгоритмі жеңімпаз болды.

Rijndael алгоритмі ең танымал симметриялық шифрлау алгоритмдеріне ұқсамайды, құрылымы «Фейстель желісі» деп аталады және ресейлік ГОСТ 28147-89-ға ұқсас. Feistel желісінің ерекшелігі - кіріс мәні екі немесе одан да көп қосалқы блоктарға бөлінеді, олардың бір бөлігі әрбір раундта белгілі бір заңға сәйкес өңделеді, содан кейін өңделмеген қосалқы блоктарға салынады (1-суретті қараңыз).

Отандық шифрлау стандартынан айырмашылығы, Rijndael алгоритмі 4X4, 4X6 немесе 4X8 өлшемді екі өлшемді байт массиві түріндегі деректер блогын білдіреді (шифрланған ақпарат блогының бірнеше бекітілген өлшемдерін пайдалануға рұқсат етіледі). Барлық операциялар массивтің жеке байттарында, сондай-ақ тәуелсіз бағандар мен жолдарда орындалады.

Rijndael алгоритмі төрт түрлендіруді орындайды: BS (ByteSub) – массивтің әрбір байты кестені ауыстыру (3-сурет); SR (ShiftRow) – жиым жолдарын жылжыту (4-сурет). Бұл әрекеттің көмегімен бірінші жол өзгеріссіз қалады, ал қалғандары массив өлшеміне байланысты бекітілген байт санымен циклдік түрде солға байт-байтқа жылжытылады. Мысалы, 4X4 массиві үшін 2, 3 және 4-жолдар сәйкесінше 1, 2 және 3 байтқа жылжиды. Әрі қарай MC (MixColumn) – тәуелсіз массив бағандарындағы операция (5-сурет), әрбір баған белгілі бір ереже бойынша тіркелген c(x) матрицасына көбейтілген кезде келеді. Соңында, AK (AddRoundKey) - кілтті қосу. Массивтің әрбір битіне дөңгелек кілттің сәйкес биті бар модуль 2 қосылады, ол өз кезегінде шифрлау кілтінен белгілі бір жолмен есептеледі (6-сурет).


Күріш. 3. BS операциясы.

Күріш. 4. SR операциясы.

Күріш. 5. MC операциясы.

Rijndael алгоритміндегі шифрлау айналымдарының саны (R) айнымалы (10, 12 немесе 14 раунд) және блок өлшеміне және шифрлау кілтіне байланысты (кілттің бірнеше бекітілген өлшемдері де бар).

Шифрды шешу келесі кері операциялар арқылы орындалады. Кестені инверсиялау және кестені ауыстыру кері кестеде орындалады (шифрлау кезінде қолданылғанға қатысты). SR-ге кері операция жолдарды солға емес, оңға бұру болып табылады. MC үшін кері операция – шартты қанағаттандыратын басқа d(x) матрицасына бірдей ережелерді қолданып көбейту: c(x) * d(x) = 1. AK пернесін қосу өзіне кері амал болып табылады, өйткені ол тек XOR пайдаланады. операция. Бұл кері операциялар шифрлау кезінде қолданылатынға кері ретпен шифрды шешу кезінде қолданылады.

Rijndael басқа алгоритмдерге қарағанда бірқатар артықшылықтарға байланысты деректерді шифрлаудың жаңа стандарты болды. Ең алдымен, ол барлық платформаларда шифрлаудың жоғары жылдамдығын қамтамасыз етеді: бағдарламалық және аппараттық қамтамасыз етуді іске асыру. Ол байқауға ұсынылған басқа алгоритмдермен салыстырғанда есептеулерді параллельдеудің теңдессіз жақсы мүмкіндіктерімен ерекшеленеді. Сонымен қатар, оның жұмысы үшін ресурс талаптары минималды, бұл есептеу мүмкіндіктері шектеулі құрылғыларда пайдаланылған кезде маңызды.

Алгоритмнің жалғыз кемшілігі оның өзіне тән дәстүрлі емес схемасы деп санауға болады. Өйткені, Feistel желісіне негізделген алгоритмдердің қасиеттері жақсы зерттелген, ал Rijndael, керісінше, жасырын осалдықтарды қамтуы мүмкін, оны кеңінен қолдану басталғаннан біраз уақыт өткен соң ғана табуға болады.

Асимметриялық шифрлау

Асимметриялық шифрлау алгоритмдері, жоғарыда айтылғандай, екі кілтті пайдаланады: k1 - шифрлау кілті немесе ашық, және k2 - шифрды шешу кілті немесе құпия. Ашық кілт құпиядан есептеледі: k1 = f(k2).

Асимметриялық шифрлау алгоритмдері бір жақты функцияларды пайдалануға негізделген. Анықтау бойынша, y = f(x) функциясы бір бағытты болады, егер: х-тің барлық мүмкін мәндері үшін есептеу оңай және у-ның ең мүмкін мәндері үшін у болатындай х мәнін есептеу өте қиын. = f(x).

Бір жақты функцияның мысалы екі үлкен санның көбейтіндісі болып табылады: N = P*Q. Өз алдына мұндай көбейту қарапайым операция болып табылады. Дегенмен, қазіргі уақыттағы бағалаулар бойынша факторизация деп аталатын кері функция (N-ның екі үлкен факторға ыдырауы) өте күрделі математикалық есеп болып табылады. Мысалы, P нүктесінде өлшемі 664 бит болатын N факторизациясы? Q шамамен 1023 операцияны қажет етеді және белгілі a, p және y (a және p өлшемдері бірдей) бар модульдік көрсеткіш y = ax mod p үшін х-ті кері есептеу үшін шамамен 1026 амалды орындау керек. Берілген соңғы мысал дискретті логарифм мәселесі (DLP) деп аталады және бұл функция түрі жиі асимметриялық шифрлау алгоритмдерінде, сондай-ақ электрондық цифрлық қолтаңбаны жасау үшін қолданылатын алгоритмдерде қолданылады.

Асимметриялық шифрлауда қолданылатын функциялардың тағы бір маңызды класы бір жақты бэкдор функциялары болып табылады. Олардың анықтамасы, егер ол бір бағытты болса және кері функцияны тиімді есептеу мүмкін болса, функция бэкдормен бір бағытты болады, яғни «бэкдор» (асимметриялық шифрлау үшін қолданылатын кейбір құпия сан) алгоритмдер – құпия кілттің мәні).

Бір жақты бэкдор функциялары кең қолданылатын RSA асимметриялық шифрлау алгоритмінде қолданылады.

RSA алгоритмі

1978 жылы үш автор (Ривест, Шамир, Адлеман) әзірлеген ол өз атын әзірлеушілердің фамилияларының бірінші әріптерінен алды. Алгоритмнің сенімділігі үлкен сандарды көбейткіштерге бөлу және дискретті логарифмдерді есептеу қиындығына негізделген. RSA алгоритмінің негізгі параметрі жүйедегі барлық есептеулерді жүргізу үшін қолданылатын N жүйелік модулі болып табылады және N = P*Q (P және Q – әдетте бір өлшемді құпия кездейсоқ жай үлкен сандар).

k2 құпия кілті кездейсоқ таңдалады және келесі шарттарға сай болуы керек:

1

мұндағы GCD ең үлкен ортақ бөлгіш, яғни k1 Эйлер функциясының F(N) мәніне тең болуы керек, соңғысы 1-ден N-ге дейінгі диапазондағы оң бүтін сандар санына тең және келесідей есептеледі: F(N) = (P - 1)*(Q - 1).

k1 ашық кілті қатынастан есептеледі (k2*k1) = 1 мод F(N), және бұл үшін жалпыланған евклид алгоритмі (ең үлкен ортақ бөлгішті есептеу алгоритмі) қолданылады. RSA алгоритмі арқылы M деректер блогын шифрлау келесідей орындалады: C=M [k1 қуатына]мод Н. RSA қолданатын нақты криптожүйеде k1 саны өте үлкен болғандықтан (қазіргі уақытта оның өлшемі 2048 битке дейін жетуі мүмкін), M-ді тікелей есептеу [k1 қуатына]шынайы емес. Оны алу үшін М қайталанатын квадраттау және нәтижелерді көбейту комбинациясы қолданылады.

Үлкен өлшемдер үшін бұл функцияны инверсиялау мүмкін емес; басқаша айтқанда, белгілі C, N және k1 берілген М-ны табу мүмкін емес. Дегенмен, k2 құпия кілтіне ие бола отырып, қарапайым түрлендірулерді қолдана отырып, M = Ck2 mod N есептеуге болады. Әлбетте, құпия кілттің өзінен басқа, P және Q параметрлерінің құпиялығын қамтамасыз ету қажет. Егер шабуылдаушы олардың мәндерін алса , ол k2 құпия кілтін есептей алады.

Қай шифрлау жақсы?

Симметриялық шифрлаудың негізгі кемшілігі - кілттерді «қолдан қолға» беру қажеттілігі. Бұл кемшілік өте маңызды, өйткені қатысушылардың шектеусіз саны бар жүйелерде симметриялық шифрлауды пайдалану мүмкін емес. Алайда, әйтпесе, симметриялық шифрлаудың асимметриялық шифрлаудың елеулі кемшіліктері аясында айқын көрінетін кейбір артықшылықтары бар.

Олардың біріншісі – ресурстарды көп қажет ететін операциялардың болуына байланысты шифрлау және дешифрлеу операцияларының төмен жылдамдығы. Тағы бір «теориялық» кемшілік – асимметриялық шифрлау алгоритмдерінің криптографиялық күші математикалық түрде дәлелденбеген. Бұл ең алдымен дискретті логарифм мәселесіне байланысты - оны қолайлы уақытта шешу мүмкін емес екендігі әлі дәлелденген жоқ. Ашық кілттерді ауыстырудан қорғау қажеттілігімен де қажетсіз қиындықтар туындайды - заңды пайдаланушының ашық кілтін ауыстыру арқылы шабуылдаушы маңызды хабарламаны өзінің ашық кілтімен шифрлай алады және кейін оны өзінің жеке кілтімен оңай шифрлай алады.

Дегенмен, бұл кемшіліктер асимметриялық шифрлау алгоритмдерін кеңінен қолдануға кедергі келтірмейді. Бүгінгі таңда ашық кілттерді сертификаттауды қолдайтын, сондай-ақ симметриялық және асимметриялық шифрлау алгоритмдерін біріктіретін криптожүйелер бар. Бірақ бұл бөлек мақаланың тақырыбы.

Қосымша ақпарат көздері

Шифрлауға шындап қызығушылық танытатын оқырмандар үшін автор келесі кітаптардың көмегімен олардың көкжиегін кеңейтуді ұсынады.

  1. Брассард Дж. «Қазіргі криптология».
  2. Петров А.А. «Компьютерлік қауіпсіздік: қорғаудың криптографиялық әдістері».
  3. Романец Ю., Тимофеев П.А., Шангин В.Ф. «Қазіргі заманғы компьютерлік жүйелердегі ақпаратты қорғау».
  4. Соколов А.В., Шангин В.Ф. «Таратылған корпоративтік желілер мен жүйелердегі ақпаратты қорғау».

Шифрлау алгоритмдерінің толық сипаттамасын келесі құжаттардан табуға болады:

  1. ГОСТ 28147-89. Ақпаратты өңдеу жүйесі. Криптографиялық қорғау. Криптографиялық түрлендіру алгоритмі. - М.: КСРО Мемлекеттік стандарты, 1989 ж.
  2. AES алгоритмі: http://www.nist.gov/ae.
  3. RSA алгоритмі: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.

Біздің бағдарламалық жасақтаманың негізгі функциясы деректерді шифрлау болғандықтан, бізге криптографияның кейбір аспектілеріне қатысты сұрақтар жиі қойылады. Біз ең жиі қойылатын сұрақтарды бір құжатқа жинақтауды ұйғардық және оларға ең егжей-тегжейлі, бірақ сонымен бірге қажетсіз ақпараттық жауаптармен шамадан тыс жүктелмей беруге тырыстық.

1. Криптография дегеніміз не?

Криптография – ақпаратты жаудың ақылды әрекеттерінен қорғау мақсатында түрлендіруді зерттейтін теориялық ғылыми пән, математиканың бір саласы.

2. Шифрлау алгоритмі дегеніміз не?

Шифрлау алгоритмі – ақпаратты ашық күйден шифрланған күйге (шифрлау) және керісінше шифрланған күйден ашық күйге (шифрды шешу) түрлендіру процесін анықтайтын логикалық ережелердің жиынтығы.

Шифрлау алгоритмдері жекелеген ғалымдардың да, ғылыми ұжымдардың да теориялық зерттеулерінің нәтижесінде пайда болады.

3. Шифрлау деректерді қалай қорғайды?

Шифрлау арқылы деректерді қорғаудың негізгі принципі деректерді шифрлау болып табылады. Бөтен адамға шифрланған деректер «ақпараттық қоқыс» - мағынасыз таңбалар жиынтығы сияқты көрінеді. Осылайша, ақпарат шифрланған түрде шабуылдаушының қолына түссе, ол жай ғана оны пайдалана алмайды.

4. Қай шифрлау алгоритмі ең күшті?

Негізінде криптография саласындағы кез келген белгілі сарапшы ұсынған кез келген шифрлау алгоритмі басқасы дәлелденбейінше күшті болып саналады.

Әдетте, жаңадан пайда болған барлық шифрлау алгоритмдері көпшілік тұтыну үшін жарияланады және арнайы криптографиялық зерттеу орталықтарында жан-жақты зерттеледі. Мұндай зерттеулердің нәтижелері де қоғамдық тұтыну үшін жарияланады.

5. Шифрлау кілті дегеніміз не?

Шифрлау кілті – шифрлау алгоритмінің айнымалы параметрі болып табылатын кездейсоқ, псевдокездейсоқ немесе арнайы құрылған бит тізбегі.

Басқаша айтқанда, егер сіз бірдей ақпаратты бірдей алгоритммен, бірақ әртүрлі кілттермен шифрласаңыз, нәтижелер де әртүрлі болады.

Шифрлау кілтінің бір маңызды сипаттамасы бар – оның ұзындығы әдетте биттермен өлшенеді.

6. Шифрлау алгоритмдері қандай?

Шифрлау алгоритмдері екі үлкен класқа бөлінеді – симметриялық және асимметриялық (немесе симметриялы емес).

Симметриялық шифрлау алгоритмдері ақпаратты шифрлау және оның шифрын ашу үшін бірдей кілтті пайдаланады. Бұл жағдайда шифрлау кілті құпия болуы керек.

Симметриялық шифрлау алгоритмдерін енгізу әдетте оңай және жұмыс істеу үшін көп есептеу ресурстарын қажет етпейді. Дегенмен, мұндай алгоритмдердің қолайсыздығы, мысалы, екі пайдаланушы кілттерді алмасуы қажет болған жағдайларда пайда болады. Бұл жағдайда пайдаланушылар бір-бірімен тікелей кездесуі керек немесе кілтті жіберу үшін сенімді, ұстап қалудан қорғалған арнаға ие болуы керек, бұл әрқашан мүмкін емес.

Симметриялық шифрлау алгоритмдерінің мысалдары DES, RC4, RC5, AES, CAST.

Асимметриялық шифрлау алгоритмдері екі кілтті пайдаланады: біреуі шифрлау үшін, екіншісі шифрды шешу үшін. Бұл жағдайда біз кілттер жұбы туралы айтамыз. Жұптың бір кілті ашық болуы мүмкін (барлығына қолжетімді), екіншісі құпия болуы мүмкін.

Асимметриялық шифрлау алгоритмдері симметриялыға қарағанда енгізуде күрделірек және есептеу ресурстарын талап етеді, дегенмен екі пайдаланушы арасында кілттерді алмасу мәселесін шешу оңайырақ.

Әрбір пайдаланушы өзінің жеке кілт жұбын құра алады және ашық кілтті өз абонентіне жібере алады. Бұл кілт тек деректерді шифрлай алады; шифрды шешу үшін оның иесі ғана сақтайтын құпия кілт қажет. Осылайша, ашық кілтті алған шабуылдаушы оған ештеңе бермейді, өйткені оның шифрланған деректердің шифрын ашу мүмкін емес.

Асимметриялық шифрлау алгоритмдерінің мысалдары RSA, El-Gamal болып табылады.

7. Шифрлау алгоритмдері қалай бұзылады?

Криптография ғылымында шифрлау алгоритмдерін бұзу, яғни шифрлау кілтінсіз шифрланған ақпараттан ашық ақпаратты алу мәселелерін зерттейтін криптоталдау бөлімшесі бар.

Көптеген әртүрлі криптоанализ әдістері мен әдістері бар, олардың көпшілігі мұнда қайта шығару үшін тым күрделі және ұзақ.

Айта кету керек жалғыз әдіс - шифрлау кілтінің барлық мүмкін мәндерін тікелей санау әдісі («қатал күш» әдісі деп те аталады). Бұл әдістің мәні қажетті кілт таңдалғанша шифрлау кілтінің барлық мүмкін мәндерін іздеу болып табылады.

8. Шифрлау кілтінің ұзындығы қандай болуы керек?

Бүгінгі таңда симметриялық шифрлау алгоритмдері үшін 128 бит (16 байт) шифрлау кілтінің жеткілікті ұзындығы болып саналады. Бір жыл ішінде барлық мүмкін болатын 128 биттік кілттерді (қатал күш шабуылы) толығымен санау үшін секундына 256 миллион шифрлау операциясы сыйымдылығы бар 4,2x1022 процессор қажет. Бұл процессорлар санының құны 3,5х1024 АҚШ долларын құрайды (Брюс Шнайер, Applied Cryptography бойынша).

Халықаралық жоба бар distributed.net, оның мақсаты шифрлау кілттерін дөрекі түрде қолданатын виртуалды таратылған суперкомпьютерді жасау үшін Интернет пайдаланушыларын біріктіру болып табылады. Соңғы 64-биттік кілтті крекинг жобасы 1757 күн ішінде аяқталды, оған үш жүз мыңнан астам пайдаланушы тартылды және барлық жоба компьютерлерінің есептеу қуаты 2 ГГц тактілік жиілігі бар 50 000 дерлік AMD Athlon XP процессорларына баламалы болды.

Шифрлау кілтінің ұзындығын бір битке ұлғайту кілт мәндерінің санын, демек, іздеу уақытын екі есе арттыратынын ескеру қажет. Яғни, жоғарыда келтірілген сандарға сүйене отырып, 1757 * 2 күнде сіз бір қарағанда 128 биттік кілтті емес, тек 65 биттік кілтті бұзуға болады.

9. Мен 1024, тіпті 2048 биттік шифрлау кілттері туралы естідім, бірақ сіз 128 бит жеткілікті деп айтасыз. Бұл нені білдіреді?

Дұрыс, асимметриялық шифрлау алгоритмдерінде 512, 1024 және 2048 бит, кейде одан да ұзақ шифрлау кілттері қолданылады. Олар симметриялық алгоритмдерден мүлде басқа принциптерді пайдаланады, сондықтан шифрлау кілтінің масштабтары да әртүрлі.

Бұл сұрақтың жауабы кез келген мемлекеттің барлау қызметінің ең құпиясы болып табылады. Теориялық тұрғыдан алғанда, белгілі алгоритм арқылы шифрланған деректерді жеткілікті ұзындықтағы кілтпен оқу мүмкін емес (алдыңғы сұрақтарды қараңыз), алайда, мемлекеттік құпия пердесінің артында не жасырылғанын кім біледі? Кез келген кодты бұзуға болатын үкіметке белгілі бөтен технологиялар бар екені белгілі болуы мүмкін :)

Бір ғана сенімділікпен айтуға болатын нәрсе, бұл құпияны бірде-бір мемлекет, бірде-бір барлау қызметі ашпайды, тіпті деректерді әйтеуір дешифрлау мүмкін болса да, оны ешқашан ешқандай жолмен көрсетпейді.

Бұл мәлімдемені түсіндіру үшін тарихи мысал келтіруге болады. Екінші дүниежүзілік соғыс кезінде Ұлыбританияның премьер-министрі Уинстон Черчилль неміс хабарламаларын ұстап алу және ашу нәтижесінде Ковентри қаласын алдағы бомбалау туралы хабардар болды. Осыған қарамастан, ол жаудың британ барлауының олардың хабарламаларын шеше алатынын білуіне жол бермеу үшін ешқандай шара қолданбады. Нәтижесінде 1940 жылы қарашаның 14-нен 15-іне қараған түні Ковентри неміс ұшақтарымен қирап, көптеген бейбіт тұрғындар қаза тапты. Осылайша, Черчилль үшін неміс хабарламаларын шеше алатын ақпаратты ашу құны бірнеше мың адам өмірінің құнынан жоғары болды.

Әлбетте, қазіргі саясаткерлер үшін мұндай ақпараттың бағасы бұдан да жоғары, сондықтан біз қазіргі барлау қызметтерінің мүмкіндіктері туралы анық немесе жанама түрде ештеңе білмейтін боламыз. Сондықтан бұл сұраққа жауап иә болса да, бұл мүмкіндік өзін көрсетпейді.

Дереккөз: SecurIT

^ басына оралу ^

Әдетте, шифрлаудың жаңа алгоритмдері қоғамдық тұтыну үшін жарияланады және арнайы ғылыми орталықтарда зерттеледі. Мұндай зерттеулердің нәтижелері де қоғамдық тұтыну үшін жарияланады.

Симметриялық алгоритмдер
Шифрлау алгоритмдері екі үлкен класқа бөлінеді: симметриялық (AES, GOST, Blowfish, CAST, DES) және асимметриялық (RSA, El-Gamal). Симметриялық шифрлау алгоритмдері ақпаратты шифрлау және оның шифрын ашу үшін бір кілтті пайдаланады, ал асимметриялық алгоритмдер екі кілтті пайдаланады - біреуі шифрлау үшін және екіншісі шифрды шешу үшін.

Егер шифрланған ақпаратты басқа орынға тасымалдау қажет болса, шифрды шешу кілті де тасымалдануы керек. Мұндағы әлсіз жер - деректерді беру арнасы - егер ол қауіпсіз болмаса немесе түртілген болса, шифрды шешу кілті шабуылдаушының қолына түсуі мүмкін. Асимметриялық алгоритмдерге негізделген жүйелерде бұл кемшілік жоқ. Өйткені мұндай жүйенің әрбір қатысушысының жұп кілттері бар: ашық және құпия кілт.

Шифрлау кілті
Бұл шифрлау алгоритмінің айнымалы параметрі болып табылатын құпия сөзден кездейсоқ немесе арнайы жасалған биттердің тізбегі.
Егер сіз бірдей деректерді бірдей алгоритммен, бірақ әртүрлі кілттермен шифрласаңыз, нәтижелер де әртүрлі болады.

Әдетте, шифрлау бағдарламаларында (WinRAR, Rohos және т.б.) кілт пайдаланушы көрсеткен құпия сөзден жасалады.

Шифрлау кілті әдетте биттермен өлшенетін әртүрлі ұзындықтарда келеді. Кілт ұзындығы ұлғайған сайын шифрдің теориялық күші артады. Іс жүзінде бұл әрқашан дұрыс бола бермейді.

Криптографияда шифрлау механизмі жіктелмеген шама ретінде қарастырылады және шабуылдаушы шифрлау алгоритмінің толық бастапқы кодын, сондай-ақ шифрленген мәтінді (Керхофф ережесі) ала алады. Тағы бір болжам, шабуылдаушы шифрланбаған (қарапайым) мәтіннің бір бөлігін білуі мүмкін.

Шифрлау алгоритмінің беріктігі.
Шифрлау алгоритмі басқаша дәлелденбейінше күшті болып саналады. Осылайша, егер шифрлау алгоритмі жарияланған болса, 5 жылдан астам уақыт бар болса және ол үшін елеулі осалдықтар табылмаса, оның күші құпия ақпаратты қорғауға жарамды деп болжауға болады.

Теориялық және практикалық төзімділік.
1949 жылы Қ.Е. Шеннон «Құпия жүйелердегі коммуникациялар теориясы» мақаласын жариялады. Шеннон криптографиялық жүйелердің күшін практикалық және теориялық деп санады. Теориялық күшке қатысты қорытынды әлі де пессимистік: кілттің ұзындығы ашық мәтіннің ұзындығына тең болуы керек.
Сондықтан Шеннон криптографиялық жүйелердің практикалық күші туралы мәселені де қарастырды. Егер шабуылдаушы ұсталған хабарламаларды талдау үшін шектеулі уақыт пен есептеу ресурстарына ие болса, жүйе сенімді ме?

Әдетте, осалдықтар кейбір алгоритмді пайдаланып деректерді шифрлайтын бағдарламаларда кездеседі. Бұл жағдайда бағдарламашылар бағдарлама логикасында немесе криптографиялық хаттамада қате жібереді, соның арқасында бағдарламаның қалай жұмыс істейтінін (төмен деңгейде) зерттей отырып, олар ақыр соңында құпия ақпаратқа қол жеткізе алады.

Шифрлау алгоритмін бұзу
Егер шабуылдаушы құпия кілтті есептей алса, сонымен қатар бастапқы криптоалгоритмге эквивалентті түрлендіру алгоритмін орындай алса, криптожүйе бұзылған болып саналады. Және бұл алгоритмді нақты уақыт режимінде орындауға болады.

Криптологияда шифрланған хабарламаларды бұзу немесе жалған жасау мәселелерін зерттейтін криптоталдау бөлімі бар. Криптоанализдің көптеген жолдары мен әдістері бар. Ең танымалы - шифрлау кілтінің барлық мүмкін мәндері арқылы тікелей іздеу әдісі («дөрекі күш» әдісі). Бұл әдістің мәні қажетті кілт таңдалғанша шифрлау кілтінің барлық мүмкін мәндерін іздеу болып табылады.

Іс жүзінде бұл шабуылдаушы мынаны білдіреді:

  • Қолыңызда криптожүйе (яғни бағдарлама) және шифрланған хабарламалардың мысалдары болады.
  • Криптографиялық протоколды түсінеді. Басқаша айтқанда, бағдарлама деректерді қалай шифрлайды.
  • Осы криптожүйе үшін Кілттерді іздеу алгоритмін әзірлеу және енгізу.

Кілттің дұрыс немесе дұрыс емес екенін қалай анықтауға болады?
Мұның бәрі нақты бағдарламаға және шифрлау протоколының орындалуына байланысты. Әдетте, шифрды шешуден кейін нәтиже «қоқыс» болса, бұл дұрыс емес кілт. Ал егер мәтін азды-көпті мағыналы болса (оны тексеруге болады), онда Кілт дұрыс.

Шифрлау алгоритмдері
AES (Rijndael). Қазіргі уақытта АҚШ федералды шифрлау стандарты.

Ақпаратты қорғау үшін қандай шифрлау алгоритмін таңдауым керек?

Стандарт ретінде 2001 жылы 4 желтоқсанда Сауда департаментімен бекітілген. Шешім Федералдық тізілімде жарияланған сәттен бастап күшіне енді (12.06.01). Стандарт ретінде тек блок өлшемі 128 бит болатын шифр нұсқасы қабылданды.

ГОСТ 28147-8.Деректерді шифрлау және имитациядан қорғау үшін Ресей Федерациясының стандарты. Бастапқыда оның рейтингі болды (ОБ немесе SS - бұл нақты белгісіз), содан кейін рейтинг дәйекті түрде төмендетілді және 1989 жылы КСРО Мемлекеттік стандарты арқылы алгоритм ресми түрде жүзеге асырылған кезде ол жойылды. Алгоритм ДСП болып қалады (өздеріңіз білетіндей, ДСП саусақ тақтасы болып саналмайды). 1989 жылы ол КСРО-ның ресми стандарты болды, ал кейінірек КСРО ыдырағаннан кейін Ресей Федерациясының федералды стандарты болды.

BlowfishНегізгі элементтерді генерациялаудың күрделі схемасы алгоритмге дөрекі күшпен шабуыл жасауды айтарлықтай қиындатады, бірақ оны кілт жиі өзгеретін және әрбір кілтте деректердің шағын көлемі шифрланған жүйелерде пайдалану үшін жарамсыз етеді.

Алгоритм деректердің үлкен көлемі бірдей кілт арқылы шифрланған жүйелер үшін ең қолайлы.

ТЖДАҚШ федералды шифрлау стандарты 1977-2001. 1977 жылы АҚШ федералды стандарты ретінде қабылданған. 2001 жылдың желтоқсанында ол жаңа стандарттың енгізілуіне байланысты өз мәртебесін жоғалтты.

ТАСТАУБелгілі бір мағынада DES аналогы.

www.codenet.ru/progr/alg/enc
Шифрлау алгоритмдері, Қарау, ақпарат, салыстыру.

http://www.enlight.ru/crypto
Асимметриялық шифрлау, цифрлық қолтаңба және басқа да «заманауи» криптографиялық жүйелер бойынша материалдар.

Александр Великанов,
Ольга Чебан,
Tesline-Service SRL.

Әбу-Дабидің бұрынғы банкирі Мохаммад Гайт бен Махах Әл Мазруи оны бұзу мүмкін емес деп санайтын код әзірледі. Абу-Даби коды деп аталатын шифр Әл Мазруидің өзі ойлап тапқан таңбалар тобына негізделген. Оның кодында әрбір әріп арнайы ойлап тапқан таңбамен ауыстырылады және бұл таңбалар әлемдегі белгілі бір тілге жатпайды.

Қандай деректерді шифрлау алгоритмдері қауіпсіз?

Әл Мазруи «мүлдем жаңа» деп атайтын шифрмен жұмыс істеу үшін әзірлеушіге бір жарым жыл қажет болды.

Энтузиасттың айтуынша, кез келген адам өз кодын жасай алады, ал шифрдің күрделілігі оның кілтінің ұзындығымен анықталады. Негізінде, егер сізде тілек, белгілі бір дағдылар және тиісті бағдарламалық қамтамасыз ету болса, кез келген дерлік, тіпті ең күрделі шифрды бұзуға болады деп саналады.

Дегенмен, Әл Мазруи оның туындысы бұзылмайтынына және бүгінгі таңдағы ең сенімді шифр екеніне сендіреді. «Абу-Даби кодексінде кодталған құжатты шешу мүмкін емес», - деп сенімді Әл Мазруи.

Оның дұрыс екенін дәлелдеу үшін банкир барлық көрнекті криптографтарды, хакерлерді және криптографтарды оның кодын бұзуға тырысуға шақырды.

3. Криптос – американдық мүсінші Джеймс Санборн 1990 жылы Вирджиния штатының Лэнгли қаласындағы ЦРУ штаб-пәтері алаңында орнатқан мүсін. Онда жазылған шифрланған хабарды әлі де шифрлау мүмкін емес.

4. Басып шығарылған код қытай алтын құймасы. 1933 жылы Шанхайда генерал Ванға жеті алтын құйма берілген деген болжам бар. Оларда суреттер, қытай жазуы және кейбір шифрланған хабарламалар, соның ішінде латын әріптері бар. Оларда АҚШ банктерінің бірі берген металдың түпнұсқалығы туралы сертификаттар болуы мүмкін.

TrueCrypt жүйесінде қандай шифрлау алгоритмін таңдау керек

5. Бейл криптограммалары— 1820 жылдары Вирджиния штатының Бедфорд округіндегі Линчбург маңында Томас Джефферсон Бейл бастаған алтын өндірушілер партиясы көмген екі вагондық алтын, күміс және асыл тастардың орны туралы ақпаратты қамтитын үш шифрланған хабарлама. Осы уақытқа дейін табылмаған қазынаның қазіргі ақшамен есептегенде бағасы 30 миллион доллар шамасында болуы керек. Криптограммалардың құпиясы әлі шешілген жоқ, атап айтқанда, қазынаның нақты бар екендігі туралы мәселе әлі де даулы болып табылады. Хабарламалардың бірі шешілді - ол қазынаның өзін сипаттайды және оның орналасқан жерінің жалпы көрсеткіштерін береді. Қалған ашылмаған хаттарда бетбелгінің нақты орны мен қазына иелерінің тізімі болуы мүмкін. (толық ақпарат)

6. Войнич қолжазбасы, ол көбінесе әлемдегі ең жұмбақ кітап деп аталады. Қолжазба бірегей әліпбиді пайдаланады, шамамен 250 беттен тұрады және белгісіз гүлдер, жалаңаш нимфалар және астрологиялық белгілерді бейнелейтін суреттерді қамтиды. Ол алғаш рет 16 ғасырдың аяғында, Қасиетті Рим императоры Рудольф II оны Прагада белгісіз саудагерден 600 дукатқа (шамамен 3,5 кг алтын, бүгінде 50 мың доллардан астам) сатып алған кезде пайда болды. Рудольф II-ден кітап дворяндар мен ғалымдарға өтіп, 17 ғасырдың аяғында ол жоғалып кетті. Қолжазба 1912 жылы американдық кітап сатушысы Вилфрид Войнич сатып алған кезде қайта пайда болды. Ол қайтыс болғаннан кейін қолжазба Йель университетіне сыйға тартылды. Британдық ғалым Гордон Врагг бұл кітапты ақылды жалған деп есептейді. Мәтінде ешбір тілге тән емес белгілер бар. Екінші жағынан, сөздердің ұзындығы, әріптер мен буындардың байланысу тәсілі сияқты кейбір ерекшеліктері нақты тілдердегіге ұқсас. «Көптеген адамдар мұны өтірік болу тым күрделі деп санайды, оны құру үшін бірнеше ессіз алхимик жылдар қажет», - дейді Рагг. Дегенмен, Ругг мұндай күрделілікке Кардан торы деп аталатын 1550 жылы ойлап тапқан шифрлау құрылғысын пайдалану арқылы оңай қол жеткізуге болатынын көрсетеді. Бұл таңбалар кестесінде саңылаулары кесілген картаны жылжыту арқылы сөздер жасалады. Кестеде қалған бос орындар әртүрлі ұзындықтағы сөздерді береді. Қолжазбаның буын кестесіне осындай торларды қою арқылы Ругг қолжазба тілінің ерекшеліктерін түгел болмаса да, көптеп бөлісетін тілді жасады. Оның айтуынша, бүкіл кітапты жасауға үш ай қажет. (толық ақпарат, Wikipedia)

7. Дорабелла шифры, 1897 жылы британдық композитор сэр Эдвард Уильям Элгар жазған. Ол шифрланған хатты Вулверхэмптон қаласына өзінің досы, Әулие Петр соборының ректоры Альфред Пеннидің 22 жастағы қызы Дора Пенниге жіберді. Бұл код шешілмей қалады.

8. Соңғы уақытқа дейін тізімге де қосылды хаоцифер, оны жасаушының көзі тірісінде ашу мүмкін болмады. Шифрды 1918 жылы Джон Ф. Бирн ойлап тапты және ол 40 жылға жуық уақыт бойы АҚШ билігін оған қызықтыруға тырысты. Өнертапқыш өзінің кодын шеше алатын кез келген адамға ақшалай сыйлық ұсынды, бірақ нәтижесінде оған ешкім өтініш білдірмеді.

Бірақ 2010 жылдың мамырында Бирннің отбасы мүшелері оның барлық қалған құжаттарын Мэриленд штатындағы Ұлттық криптография мұражайына тапсырды, бұл алгоритмнің ашылуына әкелді.

9. D'Agapeyeff шифры. 1939 жылы орыс текті британдық картограф Александр Д'Агапейеф криптография негіздері туралы «Кодтар мен шифрлар» кітабын басып шығарды, оның бірінші басылымында ол өзінің өнертабыс шифрін ұсынды. Бұл код кейінгі басылымдарға қосылмаған. Кейіннен Д'Агапейефф бұл шифрды бұзу алгоритмін ұмытып кеткенін мойындады. Шығармашылығын ашуға тырысқан әрбір адамның басына түскен сәтсіздіктер автордың мәтінді шифрлау кезінде қателіктер жібергенінен болған деген күдік бар.

Бірақ біздің уақытымызда шифрды заманауи әдістермен - мысалы, генетикалық алгоритммен бұзуға болады деген үміт бар.

10. Таман Шуд. 1948 жылы 1 желтоқсанда Австралияның климаты үшін әдеттегі ыстық күнге қарамастан, Аделаида маңындағы Сомертондағы Австралия жағалауында жемпір мен пальто киген ер адамның өлі денесі табылды. Оның үстінен ешқандай құжат табылмады. Оның тістері мен саусақтарының іздерін тірі адамдар туралы деректермен салыстыру әрекеттері де нәтиже бермеді. Патологиялық тексеру кезінде қанның табиғи емес ағуы анықталды, ол әсіресе құрсақ қуысына толған, сонымен қатар ішкі ағзалары ұлғайған, бірақ оның денесінде бөгде заттар табылмаған. Осы кезде теміржол вокзалынан марқұмға тиесілі болуы мүмкін чемодан табылды. Чемоданда жасырын қалтасы бар шалбар болды, олардан кітаптан жыртылған сөздер жазылған қағазды тапты. Таман Шуд. Тергеу бұл қағаз парсының ұлы ақыны Омар Хайямның «Рубай» жинағының өте сирек көшірмесінен жыртылғанын анықтады. Кітаптың өзі құлыпсыз қалған көліктің артқы орындығынан табылды. Кітаптың артқы мұқабасында бес жол бас әріппен абайсызда сызылған - бұл хабарламаның мағынасын ашу мүмкін болмады. Осы күнге дейін бұл оқиға Австралияның ең жұмбақ жұмбақтарының бірі болып қала береді.

09.07.2003

Шифрлау дегеніміз не?

Шифрлауды адамзат бірінші құпия ақпарат пайда болған сәттен бастап пайдаланады, яғни қол жеткізу шектелуі керек ақпарат. Бұл өте ұзақ уақыт бұрын болды - мысалы, шифрлаудың ең танымал әдістерінің бірі Цезарьдің атымен аталады, егер ол оны өзі ойлап таппаса, оны белсенді түрде қолданды (бүйірлік тақтаны қараңыз).

Криптография хабарламаның мағынасының жасырын болуын және арнайы алгоритмдер мен кілттердің көмегімен шифрды ашу арқылы ашылуын қамтамасыз етеді. Кілтті шифрлау және дешифрлеу алгоритмдерінің параметрлерінің белгілі бір құпия күйі деп түсінеміз. Кілтті білу құпия хабарламаны оқуға мүмкіндік береді. Дегенмен, төменде көріп отырғаныңыздай, кілтті білмеу әрқашан хабарламаны бейтаныс адам оқи алмайтынына кепілдік бермейді.

Кілтті білмей шифрды бұзу процесі криптоанализ деп аталады. Шифрды бұзуға қажетті уақыт оның криптографиялық күшімен анықталады. Ол неғұрлым үлкен болса, шифрлау алгоритмі соғұрлым «күшті» болады. Бастапқыда бұзу нәтижесіне қол жеткізуге болатынын білу мүмкін болмаса, тіпті жақсы.

Негізгі заманауи шифрлау әдістері

Әртүрлі шифрлау әдістерінің ішінде келесі негізгі әдістерді бөліп көрсетуге болады:

  • Ауыстыру немесе алмастыру алгоритмдері – бастапқы мәтіннің символдары осы шифрдың кілті болатын алдын ала белгіленген схемаға сәйкес басқа (немесе бірдей) алфавиттің таңбаларымен ауыстырылады. Сонымен қатар, бұл әдіс өте төмен криптографиялық беріктікке байланысты қазіргі криптожүйелерде іс жүзінде қолданылмайды.
  • Қайта реттеу алгоритмдері – бастапқы мәтіннің символдары құпия кілт болып табылатын белгілі бір принцип бойынша ауыстырылады. Орын ауыстыру алгоритмінің өзі төмен криптографиялық күшке ие, бірақ көптеген заманауи криптожүйелердің элементі ретінде енгізілген.
  • Гамма алгоритмдері – бастапқы мәтіннің символдары белгілі бір кездейсоқ тізбектің символдарына қосылады. Ең көп таралған мысал «username.pwl» файлдарын шифрлау болып табылады, онда Microsoft Windows 95 операциялық жүйесі берілген пайдаланушының желілік ресурстарына құпия сөздерді сақтайды (NT серверлеріне кіруге арналған құпия сөздер, DialUp Интернетке кіруге арналған құпия сөздер және т.б.). .

Пайдаланушы Windows 95 жүйесіне кіру кезінде құпия сөзін енгізген кезде, желілік құпия сөздерді шифрлау үшін қолданылатын RC4 шифрлау алгоритмі арқылы одан гамма (әрдайым бірдей) жасалады. Бұл жағдайда құпия сөзді таңдаудың қарапайымдылығы Windows-тың әрқашан бірдей түс схемасын ұнататындығына байланысты.

  • Белгілі бір формула бойынша бастапқы мәтінді күрделі математикалық түрлендіруге негізделген алгоритмдер. Олардың көпшілігі шешілмеген математикалық есептерді пайдаланады. Мысалы, Интернетте кеңінен қолданылатын RSA шифрлау алгоритмі жай сандардың қасиеттеріне негізделген.

Симметриялық және асимметриялық криптожүйелер

Жеке алгоритмдерге көшпес бұрын, симметриялы және асимметриялық криптожүйелер түсінігіне қысқаша тоқталайық. Құпия кілтті жасау және онымен хабарламаны шифрлау - шайқастың жартысы ғана. Бірақ мұндай кілтті бастапқы хабарламаның шифрын ашу үшін пайдалануы керек адамға қалай жіберуге болады? Шифрлау кілтін жіберу криптографияның негізгі мәселелерінің бірі болып саналады.

Симметриялық жүйенің шеңберінде (шифрлау және шифрды шешу үшін бір кілт қолданылатындықтан осылай аталған) бола отырып, құпия кілтті беру үшін сенімді байланыс арнасы болуы керек. Бірақ мұндай арна әрқашан қол жетімді емес, сондықтан американдық математиктер Диффи, Хеллман және Меркл 1976 жылы ашық кілт және асимметриялық шифрлау тұжырымдамасын жасады. Мұндай криптожүйелерде тек шифрлау процесінің кілті ғана жалпыға қолжетімді, ал шифрды шешу процедурасы тек құпия кілттің иесіне ғана белгілі.

Мысалы, маған хабарлама жіберілгісі келгенде, мен жалпы және жеке кілттерді жасаймын. Мен сізге жіберемін, сіз хабарламаны шифрлеп, маған жібересіз. Мен құпия кілтті ешкімге бермегендіктен, хабарламаның шифрын тек мен шеше аламын. Әрине, екі кілт те ерекше жолмен (әрбір криптожүйеде әртүрлі тәсілдермен) байланыстырылады және ашық кілтті тарату жүйенің криптографиялық күшін жоймайды.

Ассиметриялық жүйелерде келесі талап орындалуы керек: бастапқы мәтінді криптомәтіннен және ашық кілттен шығаратын алгоритм жоқ (немесе ол әлі белгісіз). Мұндай жүйенің мысалы ретінде белгілі RSA криптожүйесін алуға болады.

RSA алгоритмі

RSA алгоритмі (оны жасаушылардың фамилияларының бірінші әріптерінен кейін Ривест-Шамир-Адлеман) жай сандардың (және өте үлкен) қасиеттеріне негізделген. Жай сандар деп өзінен және бір бөлгішінен басқа бөлгіштері жоқ сандарды айтады. Ал қос жай сандар деп 1-ден басқа ортақ бөлгіштері жоқ сандарды айтады.

Алдымен екі өте үлкен жай сандарды таңдайық (үлкен жай сандар үлкен, күшті кілттерді құру үшін қажет. Мысалы, Unix бағдарламасы ssh-keygen әдепкі бойынша ұзындығы 1024 бит кілттерді жасайды).

Параметрді анықтайық nкөбейту нәтижесінде бЖәне q. Үлкен кездейсоқ санды таңдап, оны шақырайық г, және ол көбейту нәтижесімен тең болуы керек (p -1)*(q -1).

Қатынасы ақиқат болатын e санын табайық

(e*d) мод ((p -1)*(q -1)) = 1

(мод- бөлудің қалдығы, яғни e көбейтіндісі d-ге бөлінеді ((p -1)*(q -1)), онда қалдық 1).

Ашық кілт - сандар жұбы e және n, және жабық - d және n.

Шифрлау кезінде бастапқы мәтін сандар қатары ретінде қарастырылады және біз әрбір санға операция жасаймыз

C(i)= (M(i) e) мод n.

Нәтиже - реттілік C(i), ол криптографиялық мәтінді құрайды. Ақпаратты декодтау формула бойынша жүреді

M(i) = (C(i) d) мод n.

Көріп отырғаныңыздай, шифрды шешу құпия кілтті білуді талап етеді.

Кішкене сандарды қолданып көрейік.

Орнатайық p=3, q=7. Содан кейін n=p*q=21.Таңдау г 5. формуладан (e*5) мод 12=1есептеу e=17. Ашық кілт 17, 21 , құпия - 5, 21 .

«12345» тізбегін шифрлаймыз:

C(1)= 1 17 мод 21= 1

C(2)= 2 17 мод 21 =11

C(3)= 3 17 мод 21= 12

C(4)= 4 17 мод 21= 16

C(5)= 5 17 мод 21= 17

Криптомәтін - 1 11 12 16 17.

Шифрды шешуді тексерейік:

M(1)= 1 5 мод 21= 1

M(2)= 11 5 мод 21= 2

M(3)= 12 5 мод 21= 3

M(4)= 16 5 мод 21= 4

M(5)= 17 5 мод 21= 5

Көріп отырғаныңыздай, нәтиже сәйкес келді.

RSA криптожүйесі Интернетте кеңінен қолданылады. SSL арқылы қауіпсіз серверге қосылғанда, компьютерге WebMoney сертификатын орнатқанда немесе Open SSH немесе SecureShell арқылы қашықтағы серверге қосылғанда, бұл бағдарламалардың барлығы RSA алгоритміндегі идеяларды пайдалана отырып, ашық кілт шифрлауын пайдаланады. Бұл жүйе шынымен сенімді ме?

RSA хакерлік жарыстар

Құрылғаннан бері RSA үнемі Brute-Force шабуылдарына ұшырады. 1978 жылы алгоритм авторлары мақала жариялады, онда олар жаңа ғана ойлап тапқан әдіс арқылы шифрланған жолды ұсынды. Хабарламаны бірінші болып шешкен адамға 100 доллар сыйақы берілді, бірақ бұл үшін 129 таңбалы санды екі факторға бөлу қажет болды. Бұл RSA сынды бірінші жарыс болды. Мәселе мақала жарияланғаннан кейін 17 жылдан кейін ғана шешілді.

RSA криптографиялық күші ашық кілттен жабық кілтті анықтау өте қиын, тіпті мүмкін емес деген болжамға негізделген. Ол үшін үлкен бүтін санның бөлгіштерінің бар екендігі туралы мәселені шешу қажет болды. Осы уақытқа дейін оны аналитикалық әдістер арқылы ешкім шешкен жоқ, ал RSA алгоритмін тек қана өрескел күш арқылы бұзуға болады. Қатаң айтқанда, факторизация мәселесі қиын және RSA жүйесін бұзу қиын деген тұжырым да дәлелденбеген.

Хабарлама мәтінін хэш функциясымен өңдеу нәтижесінде алынған нөмір пайдаланушының жабық кілтінде RSA алгоритмі арқылы шифрланады және хатпен және ашық кілттің көшірмесімен бірге алушыға жіберіледі. Алушы жіберушінің ашық кілтін пайдалана отырып, кіріс хабарламада бірдей хэш функциясын орындайды. Егер екі сан тең болса, бұл хабардың шынайы екенін білдіреді, бірақ кем дегенде бір таңба өзгертілген болса, сандар сәйкес келмейді.

Ресейдегі ең көп таралған электрондық пошта клиенттерінің бірі, The Bat! бағдарламасы әріптерге цифрлық қолтаңбаны қосуға арналған кірістірілген мүмкіндіктерге ие (хатты өңдеу кезінде Құпиялылық мәзірінің тармағына назар аударыңыз). Бұл техника туралы толығырақ мақалада оқыңыз («PC World», № 3/02 қараңыз).

Күріш. 3

Криптография

Криптография – ақпаратты рұқсатсыз қол жеткізуден және бұрмалаудан қорғау үшін түрлендіру принциптері, құралдары мен әдістері туралы ғылым. Соңғы кездері ол өте, өте қарқынды дамып келеді. Бұл көп уақыт пен күш-жігерді қажет ететін ешқашан бітпейтін, қызықты жарыс: криптоаналитиктер соңғы кезге дейін стандарт болып келген және кеңінен қолданылатын алгоритмдерді бұзады. Айтпақшы, жуырда ғана математиктер Дэн Голдстон (АҚШ) пен Кем Илдирим (Түркия) жай сандарды бөлудегі алғашқы заңдылықты дәлелдеді (осындай заңдылықтар осы уақытқа дейін байқалмаған). Жай сандар белгілі бір кластерлерде сандар осінде орналасқан, бұл оларды табуды біршама жеңілдетеді.

Бүкіл әлемде жүргізілетін математикалық зерттеулер үнемі жаңа жаңалықтарға әкеледі. Кім біледі, мүмкін біз RSA алгоритмін немесе шешілмеген математикалық есептерге негізделген басқа криптожүйелерді бұзудың алдында тұрған шығармыз.

Олег Бунин- ірі интернет-жобалар үшін бағдарламалық қамтамасыз етуді әзірлеу бойынша маман, Rambler компаниясының қызметкері, [электрондық пошта қорғалған] .

Әдебиет
  1. Лукашов И.В. Криптография? Темір! // ДК әлемі. 2003. № 3 (
  2. Носов В.А. Криптографияның дамуының қысқаша тарихи құрылымы // «Мәскеу университеті және Ресейдегі криптографияның дамуы» конференциясының материалдары, ММУ, 17-18 қазан 2002 ж.
  3. Саломаа А. Ашық кілтті криптография. М., 1996 ж.
  4. Zimmerman F. PGP – барлығына арналған ашық кілтті шифрлау.

Цезарь шифр жүйесі

Ауыстыру алгоритмінің мысалы Цезарь шифрлау жүйесі болып табылады. Бұл әдіс түпнұсқадан белгіленген таңбалар санына ауысу арқылы хабарламаның әрбір әрпін екіншісімен ауыстыруға негізделген. Омар Хайямның төрттіктерін шешуге тырысыңыз (аяқтау уақыты – 10 минут).

РЛЗ ЁМЕЗ АВБЖУ ИЫЗАВЛУ, БЖСЩЛУ ЖЩЕЗЖ ЖУОСЩЗ, ЕЙШ ЫЩАЖФО ИШЧЫВЕШ БЩИЖВ ЕЕШ ЖЩЩРЩГ: ЛФ ​​ЭМРСЮ ЪЗЕЗЕШГ, РЫЙО РЛЗ ЙЫСЫЗШЫЛЫЗ КЛУ К ДУЁ ИЗИШЧЕЗ.

Сіз оны жасадыңыз ба? Міне, жауап:

Өмірді ақылмен өткізу үшін көп нәрсені білу керек,

Бастау үшін екі маңызды ережені есте сақтаңыз:

Сіз ештеңе жегенше аштықты жақсы көресіз

Және ешкіммен болғанша жалғыз болған жақсы.

Шифрды шешу кілті: жеті таңбаға (жетіншісін алыңыз) алфавит бойынша солға жылжытыңыз. Әліпби ілмектелген. Таңба регистрі сезімтал емес.

Windows және құпия сөздер

Windows құпия сөздерді қалай шифрлайды?

Жүйе құпия сөзді алып, оны үлкен әріпке түрлендіреді, оны 14 таңбаға дейін қысқартады, содан кейін оларды 7-ден екі жартыға бөледі, әрқайсысын бөлек шифрлайды және оны осылай сақтайды, бұл бұзуды біршама жеңілдетеді. Айтпақшы, құпия сөзді ойлап тапқан кезде, 14 таңбадан асатын комбинацияның мағынасы аз екенін есте сақтаңыз.

AES (Advanced Encryption Standard) байқауы

80-жылдары АҚШ-та олар ішкі қолдану үшін симметриялық шифрлау стандартын қабылдады - DES ((Data Encryption Standard, Ресейде осыған ұқсас стандарт бар).Бірақ 1997 жылы 56-биттік DES кілті сенімділік үшін жеткіліксіз екені белгілі болды. Американдық стандарттар институты жаңа стандартты алгоритмге конкурс жариялады 15 нұсқаның ішінен ең жақсысы таңдалды: бельгиялық Rijndael алгоритмі (оның аты авторлардың аты-жөні - Рижмен және Даемен, «Rijndael» деп оқылады. Бұл алгоритм қазірдің өзінде нарыққа басқа финалистер ұсынған әртүрлі криптографиялық құралдарға салынған). .

Криптографиялық хэш функциялары

Криптографиялық хэш функциялары кез келген өлшемдегі кіріс деректерін бекітілген өлшемді жолға түрлендіреді. Оларды табу өте қиын:

  • бірдей түрлендіру нәтижесі бар екі түрлі деректер жиынтығы (соқтығысуға төзімділік); мысалы, MD5 хэш функциясына арналған қысқа хабары бар деректер блогын табу үшін қажет арифметикалық операциялардың саны шамамен 2 64;
  • белгілі хэштеу нәтижесіне негізделген кіріс мәні (қайтымсыздық); MD5 үшін бастапқы хабарламаны есептеу үшін қажетті операциялардың болжалды саны 2128.

Көңілді шифрлау

Қолданылатын барлық дерлік криптографиялық әдістер хабарламаны бекітілген өлшемдегі бөліктерге (немесе таңбаларға) бөлуді қамтиды, олардың әрқайсысы бөлек шифрланады, егер тәуелсіз болмаса. Бұл шифрлау тапсырмасын айтарлықтай жеңілдетеді, себебі хабарламалар әдетте әртүрлі ұзындықтарға ие болады.

Шифрлаудың үш негізгі әдісі бар:: жіптерді бөлу, блоктау және кері байланысты пайдалану.

Криптографиялық әдістердің келесі төрт сипатты белгілері ерекшеленген.

    Жеке биттер немесе блоктар бойынша операциялар.

    Шифрлау функциясының хабарламаның алдыңғы бөліктерін шифрлау нәтижелеріне тәуелділігі немесе тәуелді еместігі.

3. Хабарламаның жеке символдарының шифрлануының мәтіндегі орнына тәуелділігі немесе тәуелсіздігі. Мысалы, ағынды шифрлауда хабардың әртүрлі таңбалары олардың хабарламадағы орнына байланысты шифрланады. Бұл қасиет шифрдың позициялық тәуелділігі немесе тәуелсіздігі деп аталады.

4. Шифрлау функциясының симметриясы немесе ассиметриясы. Бұл маңызды қасиет кәдімгі симметриялық (бір кілтті) криптожүйелер мен асимметриялық екі кілтті (ашық кілт) криптожүйелердің маңызды айырмашылығын анықтайды. Екеуінің негізгі айырмашылығы асимметриялық криптожүйеде шифрлау (немесе шифрды шешу) кілтін білу сәйкес шифрды шешу (немесе шифрлау) кілтін табу үшін жеткіліксіз.

Криптожүйелердің негізгі сипаттамалары

криптожүйелер

бар операциялар

биттер немесе блоктар

Белгілерге тәуелділік/тәуелділік

хабарлар

Позициялық тәуелділік/тәуелсіздік

Симметрия/

асимметрия

Кезекте

шифрлау

тәуелді емес

симметриялы

Блоктау

шифрлау

тәуелді емес

тәуелді емес

симметриялы немесе асимметриялық

Кері жағынан

бастап байланыс

шифрлық мәтін

биттер немесе блоктар

тәуелді емес

симметриялы

Шифрлау функциясы хабардың белгілеріне тәуелді болатын қасиеті бар криптожүйеде қатенің таралуы орын алуы мүмкін. Егер, мысалы, тасымалдау кезінде шифрленген мәтіннің бір бөлігі бүлінсе, шифрды шешкеннен кейін ашық мәтінде көбірек бүлінген бит болуы мүмкін. Енгізу және шығару қателері де шифрды шешу кезінде апатты қателердің таралуына әкелуі мүмкін.

Ағындық шифрлар.Ағынды шифрлау псевдокездейсоқ реттілік биттерімен модуль 2 ашық мәтін биттерін қосудан тұрады.

ПайдаларғаАғындық шифрлар қателердің таралуын, қарапайым іске асыруды және шифрлаудың жоғары жылдамдығын қамтиды.

Кемшілігікез келген хабарлама шифрын шешуге дейін қабылдануы тиіс хабарлама тақырыбына дейін синхрондау ақпаратын беру қажеттілігі болып табылады. Себебі, егер екі түрлі хабарлама бір кілтпен шифрланса, онда бұл хабарламалардың шифрын ашу үшін бірдей жалған кездейсоқ реттілік қолданылуы керек. Бұл жағдай жүйенің криптографиялық күшіне қауіпті қатер тудыруы мүмкін, сондықтан қосымша, кездейсоқ таңдалған хабарлама кілті жиі пайдаланылады, ол хабарламаның басында жіберіледі және шифрлау кілтін өзгерту үшін қолданылады. Нәтижесінде әртүрлі хабарламалар әртүрлі тізбектерді пайдаланып шифрланады.

Ағындық шифрлар деректерді және цифрланған сөйлеу сигналдарын шифрлау үшін әскери жүйелерде және басқа ұқсас жүйелерде кеңінен қолданылады. Соңғы уақытқа дейін бұл шифрлау әдісі үшін мұндай қолданбалар басым болды. Бұл, атап айтқанда, шифрлаудың жақсы тізбектерінің генераторларын жобалаудың және енгізудің салыстырмалы қарапайымдылығымен түсіндіріледі. Бірақ негізгі фактор, әрине, ағын шифрінде қателердің таралуының болмауы болып қала береді.

Тактикалық байланыс желілерінде деректер мен дауыстық хабарламаларды жіберу үшін салыстырмалы түрде төмен сапалы арналар пайдаланылғандықтан, онсыз да жоғары қателік жылдамдығын арттыратын кез келген криптографиялық жүйе қолданылмайды. Мұндай жағдайларда қателерді таратпайтын криптожүйені пайдалану қажет.

Дегенмен, қателердің көбеюі де жақсы нәрсе болуы мүмкін. Мысалы, шифрланған деректер қате ықтималдығы өте төмен арна арқылы берілуі керек (мысалы, 10 5) және деректердің абсолютті дәл қабылдануы өте маңызды. Бұл компьютерлік желілердегі әдеттегі жағдай, бір биттегі қате апатты салдарға әкелуі мүмкін, сондықтан байланыс арнасы өте сенімді болуы керек. Мұндай жағдайда бір қате 100 немесе 1000 қате сияқты қауіпті. Бірақ 100 немесе 1000 қатені бір қатеге қарағанда оңай табуға болады. Сондықтан бұл жағдайда қатенің таралуы шифрдың кемшілігі болып табылмайды.

Ағынды шифрлау үшін тізбектерді құрудың стандартты әдісі шығыс кері байланыс режимінде DES деректерді шифрлау стандартында қолданылатын әдіс болып табылады.

Блоктық шифрлар.Блоктық шифрлар үшін ашық мәтін алдымен бірдей ұзындықтағы блоктарға бөлінеді, содан кейін ұзындықтағы ашық мәтін блогын түрлендіру үшін кілтке тәуелді шифрлау функциясы қолданылады. Тбиттерді бірдей ұзындықтағы шифрлық мәтін блогына енгізеді. Блоктық шифрлардың маңызды қасиеті шифр-мәтіндік блоктың әрбір биті сәйкес ашық мәтін блогының барлық биттерінің (немесе барлығына дерлік) функциясы болып табылады және бірде-бір екі ашық мәтін блогын бір шифрлық мәтін блогымен көрсету мүмкін емес. Блоктық шифрлау алгоритмін әртүрлі тәсілдермен қолдануға болады. DES стандартындағы төрт шифрлау режимі іс жүзінде кез келген блоктық шифрға қолданылады.

Бұл режимдер келесі атауларды алды:

    тікелей шифрлау режимі немесе электронды код кітабын (Электрондық код кітабы) пайдаланып шифрлау

    CBC (Cipher block chaining) шифрлық мәтін блоктарын тізбектей шифрлау;

    CFB шифрлық мәтінінен кері байланыспен шифрлау (Cipher feedback),

    OFB шығысынан кері байланыспен шифрлау (Output feedback).

Негізгі артықшылығытікелей блоктық шифр (электрондық кодтық кітап) жақсы жобаланған блоктық шифрлау жүйесінде шифрлық мәтіндегі шағын өзгерістер сәйкес ашық мәтінде үлкен және болжауға болмайтын өзгерістерді тудырады және керісінше.

Дегенмен, бұл режимде блоктық шифрды пайдалану байланысты елеулі кемшіліктер.Олардың біріншісі, шифрлаудың бекітілген сипатына байланысты, тіпті салыстырмалы түрде үлкен блок ұзындығымен, мысалы, 50-100 бит болса да, шектеулі түрде «сөздік» криптоталдау мүмкін болады.

Типтік табиғи тілдегі мәтіндегі артықшылықтың үлкен көлеміне байланысты мұндай көлемдегі блок хабарламада қайталануы мүмкін екені анық. Бұл ұзындығы бірдей ашық мәтін блоктарына әкелуі мүмкін Тхабарламадағы бит криптоаналитикке хабарламаның мазмұны туралы кейбір ақпаратты беретін бірдей шифрленген мәтін блоктарымен ұсынылатын болады.

Бұл шифрдың тағы бір ықтимал кемшілігі қателерді тарату болып табылады (бұл ағындық шифрлардан басқа шифрлардың барлық түрлеріне қатысты мәселелердің бірі). Қабылданған шифрлық мәтін блогындағы тек бір битті өзгерту бүкіл блоктың шифрын дұрыс шешпеуіне әкеледі. Бұл өз кезегінде 1-ге әкеледі Тқалпына келтірілген бастапқы мәтіндегі бұрмаланған биттер.

Көрсетілген кемшіліктерге байланысты блоктық шифрлар ұзақ хабарламаларды шифрлау үшін бұл режимде сирек қолданылады. Алайда хабарламалар көбінесе бір немесе екі блоктан тұратын қаржы институттарында блоктық шифрлар (нақтырақ айтқанда DES алгоритмі) осы қарапайым формада кеңінен қолданылады. Бұл қолданба шифрлау кілтін жиі өзгерту мүмкіндігін қамтитындықтан, бір кілтпен ашық мәтіннің екі бірдей блогын шифрлау ықтималдығы өте аз. Блоктық шифрлар шифрленген мәтіннен кері байланысы бар шифрлау жүйелерінде жиі қолданылады.

Білім алу да мүмкін ағындық және блоктық шифрлаудың аралас (гибридті) жүйелеріосы шифрлардың әрқайсысының ең жақсы қасиеттерін пайдалану. Мұндай жүйелерде ағынды шифрлау псевдокездейсоқ ауыстырулармен біріктіріледі. Ашық мәтін алдымен кәдімгі ағындық шифрлаудағыдай шифрланады, содан кейін алынған шифрленген мәтін белгіленген өлшемдегі блоктарға бөлінеді. Әрбір блокта псевдокездейсоқ ауыстыру кілттің басқаруымен орындалады (жеке блоктар үшін әртүрлі ауыстырулар қолайлы).

Бұл екі операцияның ретін жүйенің негізгі қасиеттеріне әсер етпестен өзгертуге болады. Нәтиже – қателерді таратпайтын, бірақ ағындық шифрде жоқ қосымша қасиеті бар шифр. Бұл қасиет тыңдаушының шифрлық мәтін битіне қандай ашық мәтіндік бит сәйкес келетінін білмейтінін білдіреді. Бұл шифрланған хабарламаны күрделірек етеді және оны бұзуды қиындатады. Бірақ бұл енді шифрленген мәтіннің әрбір биті ашық мәтіннің барлық биттерінің емес, тек біреуінің функциясы болатын шынайы блоктық шифр емес екенін атап өткен жөн.

Ашық кілттердің криптожүйесі үлкен ұзындықтағы блоктарда жұмыс істейтін блоктық шифрлау жүйесі болуы керек. Бұл ашық шифрлау кілтін білетін криптоаналитиктің алдымен ашық мәтін мен шифрлы мәтін блоктары арасындағы сәйкестік кестесін есептеп, құруына байланысты. Егер блоктардың ұзындығы аз болса (мысалы, 30 бит), онда мүмкін болатын блоктардың саны тым үлкен болмайды (ұзындығы 30 бит болса, бұл 2 30 -10 9) және толық кестені құрастыруға болады, белгілі ашық кілттің көмегімен кез келген шифрланған хабарламаның шифрын жылдам шешуге мүмкіндік береді.

Көптеген әртүрлі ашық кілттердің криптожүйелері ұсынылды, олардың ең танымалы RSA (Rivest, Shamir, Adleman). Бұл жүйенің криптографиялық күші үлкен сандарды жай факторларға ыдырату қиындығына және шифрлау және шифрды шешу кілттері үшін екі үлкен жай сандарды таңдауға негізделген.

RSA алгоритмін жоғары жылдамдықты шифрлау үшін қолдануға болмайтыны белгілі. Бұл алгоритмнің ең оңтайландырылған бағдарламалық жасақтамасы төмен жылдамдықты болып шықты, ал бірнеше аппараттық іске асыру шифрлау жылдамдығын 10-нан 100 Кбит/с-қа дейін қамтамасыз етеді (2 7 ретті қарапайым сандарды пайдалана отырып, бұл қажетті жылдамдықты қамтамасыз ету үшін ең аз ұзындық болып көрінеді. криптографиялық күш). Бұл кілтті тарату, аутентификация және цифрлық қолтаңбаны генерациялау үшін пайдалану қызықты мүмкіндіктерді ұсынса да, блоктық шифрлау үшін RSA пайдалану шектеулі екенін білдіреді. Кейбір қазіргі уақытта белгілі ашық кілт криптографиялық алгоритмдері RSA алгоритміне қарағанда жылдам шифрлау жылдамдығына мүмкіндік береді. Дегенмен, олар әлі соншалықты танымал емес.

Кері байланысы бар шифрлау жүйелері.Жабық циклды шифрлау жүйелері әртүрлі практикалық нұсқаларда келеді. Блоктық шифрлық жүйелердегі сияқты хабарламалар да тұратын блоктар санына бөлінеді Тбиттерді және осы блоктарды шифрленген мәтіндік блоктарға түрлендіру үшін, олар да тұрады Тбит, арнайы функциялар қолданылады. Алайда блоктық шифрда мұндай функция тек кілтке ғана тәуелді болса, жабық циклде ол кілтке де, бір немесе бірнеше алдыңғы шифрлы мәтін блоктарына да тәуелді. Жабық циклды шифрлаудың бұл жалпы анықтамасы ерекше жағдайлар ретінде практикалық қолданылатын жүйелердің әртүрлі типтерінің үлкен санын қамтиды.

Кері байланысы бар блоктық шифрлы криптожүйелерді қолдану бірқатар маңызды артықшылықтар. Бірінші және ең маңыздысы - белсенді тыңдаушылар жүзеге асыратын хабарлама манипуляцияларын анықтау үшін оларды пайдалану мүмкіндігі. Бұл қателердің таралу фактісін, сондай-ақ мұндай жүйелердің MAC хабарламасының аутентификация кодын (хабарламаның аутентификация коды) оңай жасау мүмкіндігін пайдаланады. Екінші артықшылығы блоктық шифрлардың орнына қолданылатын CTAK шифрлары бастапқы синхрондауды қажет етпейді. Бұл дегеніміз, егер хабарламаның басы қабылданған кезде өткізіп жіберілсе, онда оның қалған бөлігі сәтті шифрдан шығарылуы мүмкін (кейінгі хабарламаны сәтті қабылдағаннан кейін). тшифрлық мәтін биті. Сондай-ақ жабық циклды шифрлау жүйелері хабарларды шифрлау үшін ғана емес, сонымен қатар олардың аутентификациясы үшін де қолданылатынын ескеріңіз.

Кері байланысы бар блоктық шифрлы криптожүйелер сипатталады белгілі бір кемшіліктер. Ең бастысы - қателерді тарату, яғни. жіберу кезінде бір қате бит 1-ден 1-ге дейін әкелуі мүмкін см + меншифры шешілген мәтіндегі қателер. Осылайша, талап күшейеді ткриптографиялық күшті арттыру үшін ол қателерді таратумен байланысты жүйелік талаптарға қайшы келеді. Тағы бір кемшілігі - тұйық циклді шифрлау жүйелерін жобалау және енгізу көбінесе ағындық шифрлау жүйелеріне қарағанда қиынырақ. Әртүрлі типтегі жабық циклді шифрлау жүйелері көп жылдар бойы кеңінен қолданылғанымен, мұндай жүйелер үшін арнайы алгоритмдер өте аз. Көп жағдайда жарияланған алгоритмдер арнайы қолданбалар үшін өзгертілген блоктық шифр алгоритмдерінен алынады.

Талдаудан шығуға болатын бірінші қорытынды практикалық криптожүйелердің көпшілігінде ағындық шифрлау немесе кері байланысты шифрлау алгоритмдері қолданылады. Көптеген ағындық шифрлық криптожүйелер коммерциялық алгоритмдерді (соның ішінде меншікті алгоритмдерді немесе меншікті алгоритмдерді) немесе жіктелген мемлекеттік алгоритмдерді пайдаланады. Бұл жағдай алдағы жылдары да жалғаса беретін көрінеді.

Сондай-ақ жабық циклды шифрлау жүйелерінің көпшілігі блоктық шифрлау алгоритмдерінің арнайы нұсқасын, атап айтқанда DES блоктық шифрлаудың ең танымал алгоритмін пайдалануға негізделген болуы мүмкін. Басқа шифрлау әдістеріне келетін болсақ, ашық кілттердің криптожүйелері бойынша жарияланымдардың қарқынды өсуіне қарамастан, олардың тек біреуі ғана, RSA жүйесі уақыт сынынан өтті деп айтуға болады.

Бірақ жүйенің алгоритмі іске асыруда қатаң шектеулерге ие және сондықтан кейбір криптографиялық қолданбалар үшін жарамсыз. Әрине, ашық кілттердің криптожүйелері деректерді шифрлау технологиясына айтарлықтай әсер етті деп нақты айтуға болады. Олар негізінен сандық қолтаңбаларды жасау немесе кәдімгі криптожүйелердегі кілттерді басқару үшін (мысалы, кілтті шифрлау) пайдаланудың көбеюін табуда.

Криптографияның әлеуетті пайдаланушылары ағынды шифрлау жүйелері мен жабық циклді шифрлау жүйелерін таңдау мүмкіндігіне ие (мүмкін блоктық шифрлау алгоритмдерін пайдалану негізінде). Дегенмен, тікелей блоктық шифрлау әдістері («электрондық код кітапшасы») пайдаланылуы мүмкін қаржылық транзакциялар сияқты қолданудың белгілі бір салалары бар. Криптоалгоритмді таңдау көбінесе оның мақсатына байланысты. Шифрлау түрін таңдау кезінде басшылыққа алатын кейбір ақпарат кестеде берілген.

DES (Data Encryption Standard) деректерді шифрлау алгоритмі 1977 жылы жарияланған және коммерциялық ақпараттық қауіпсіздік жүйелерінде қолданылатын жалпы блоктық симметриялық алгоритм болып қала береді.

DES алгоритмі Feistel желісінің әдістемесіне сәйкес құрастырылған және ауыстырулар мен ауыстырулардың ауыспалы тізбегінен тұрады. DES алгоритмі 64 биттік кілттің көмегімен деректердің 64 биттік блоктарын шифрлайды, оның ішінде 56 бит маңызды (қалған 8 - паритет тексеру биттері).

Шифрлау процесі 64-разрядты блоктың биттерінің бастапқы ауыстырылуынан, шифрлаудың 16 циклінен (раундынан) және ең соңында биттердің соңғы ауыстырылуынан тұрады (6.2-сурет).

Күріш. 6.2.

DES-тегі шифрды шешу шифрлаудың кері операциясы болып табылады және шифрлау операцияларын кері ретпен қайталау арқылы орындалады.

DES алгоритмінің негізгі артықшылықтары:

  • тек бір 56 биттік кілт пайдаланылады;
  • алгоритмнің салыстырмалы қарапайымдылығы өңдеудің жоғары жылдамдығын қамтамасыз етеді;
  • Бір бағдарламалық пакетті пайдаланып хабарламаны шифрлаған соң, сіз DES шифрын шешу алгоритміне сәйкес келетін кез келген басқа бағдарламалық пакетті пайдалана аласыз;
  • Алгоритмнің криптографиялық күші көптеген коммерциялық қолданбалардың ақпараттық қауіпсіздігін қамтамасыз ету үшін жеткілікті.

Заманауи микропроцессорлық технология жеткілікті уақыт ішінде кілт ұзындығы 40 бит болатын симметриялық блоктық шифрларды бұзуға мүмкіндік береді. Мұндай бұзу үшін дөрекі күш әдісі қолданылады - барлық мүмкін негізгі мәндердің жалпы сынағы («қатал күш» әдісі). Соңғы уақытқа дейін DES салыстырмалы түрде қауіпсіз шифрлау алгоритмі болып саналды.

Жаңа, сенімдірек алгоритмдерді жасау үшін блок алгоритмдерін біріктірудің көптеген жолдары бар. Сондай жолдардың бірі бірнеше шифрлау -ашық мәтіннің бір блогын шифрлау үшін блок алгоритмін әртүрлі кілттермен бірнеше рет пайдалану. Үштік шифрлау кезінде үш түрлі кілтті пайдалануға болады.

3-DES (Triple DES) алгоритмі DES алгоритмінің сенімділігі жеткіліксіз деп есептелетін жағдайларда қолданылады.

Бүгінгі таңда шифрлаудың екі заманауи күшті алгоритмі жиі қолданылуда: отандық шифрлау стандарты ГОСТ 28147-89 және АҚШ-тың жаңа криптографиялық стандарты - AES (Advanced Encryption Standard).

ГОСТ 28147-89 шифрлау стандарты аппараттық және бағдарламалық қамтамасыз етуді жүзеге асыруға арналған, криптографиялық талаптарға сәйкес келеді және қорғалатын ақпараттың құпиялылық дәрежесіне шектеулер қоймайды. ГОСТ 28147-89 анықталған деректерді шифрлау алгоритмі 256 биттік кілті бар 64 разрядты блокты алгоритм болып табылады.

Шифрланатын деректер 64-биттік блоктарға бөлінген. Бұл блоктар екі қосалқы блокқа бөлінеді NxЖәне N 2Әрқайсысы 32 бит (6.3-сурет). /V қосалқы блогы белгілі бір жолмен өңделеді, содан кейін оның мәні ішкі блоктың мәніне қосылады. N 2(қосу 2 модуль бойынша орындалады, яғни XOR логикалық операциясы қолданылады - «ерекше немесе»), содан кейін


Күріш. 6.3.

қосалқы блоктар ауыстырылады. Бұл түрлендіру алгоритмнің жұмыс режиміне байланысты белгілі бір рет («дөңгелек») – 16 немесе 32 орындалады.

Әр айналымда екі операция орындалады.

Бірінші операция негізгі қолданба болып табылады. /V ішкі блогының мазмұны кілттің 32 разрядты бөлігімен 2 32 модулі қосылған. K x.Толық шифрлау кілті 32-биттік ішкі кілттердің конкатенциясы ретінде ұсынылған: K 0, K (, K 2, K 3, K 4, K 5, K 6, K 7.Шифрлау процесі кезінде алгоритмнің дөңгелек саны мен жұмыс режиміне байланысты осы ішкі кілттердің бірі қолданылады.

Екінші операция - үстелді ауыстыру. Негізгі қосалқы блокты қолданғаннан кейін N( 4 биттен тұратын 8 бөлікке бөлінеді, олардың әрқайсысының мәні ішкі блоктың осы бөлігі үшін ауыстыру кестесіне сәйкес ауыстырылады. Содан кейін қосалқы блок 11 битке солға битпен бұрылады.

Кестені ауыстыру. 5 қорапты алмастыру жәшігі қазіргі заманғы шифрлау алгоритмдерінде жиі қолданылады, сондықтан мұндай операцияның қалай ұйымдастырылғанын түсіндірген жөн.

5 қорапты ауыстыру блогы сегіз ауыстыру түйінінен тұрады (5 ауыстыру блоктары) 5, S2,..., әрқайсысы 64 бит жады бар 5 8. Ауыстыру блогына келу С 32 разрядты вектор 8 ретті 4 разрядты векторға бөлінеді, олардың әрқайсысы сәйкес ауыстыру түйіні арқылы 4 разрядты векторға түрлендіріледі. Әрбір ауыстыру түйінін 0000... 1111 диапазонында 16 4-разрядты екілік сандардың ауыстыру кестесі ретінде көрсетуге болады. Кіріс векторы кестедегі жолдың мекенжайын көрсетеді, ал сол жолдағы сан шығыс векторы болып табылады. Содан кейін 4-разрядты шығыс векторлары 32-биттік векторға ретімен біріктіріледі. Ауыстыру түйіндері (орн ауыстыру кестелері) компьютерлік желіге ортақ және сирек өзгеретін негізгі элементтер болып табылады. Бұл ауыстыру түйіндері құпия сақталуы керек.

ГОСТ 28147-89 анықталған алгоритм төрт жұмыс режимін қамтамасыз етеді: қарапайым ауыстыру, ойын ойнау, кері байланыспен ойын ойнауЖәне еліктеу префикстерінің генерациясы.Олар жоғарыда сипатталған бірдей шифрлау трансформациясын пайдаланады, бірақ режимдердің мақсаты әртүрлі болғандықтан, бұл түрлендіру олардың әрқайсысында әр түрлі жүзеге асырылады.

Режимде оңай ауыстыруӘрбір 64 биттік ақпарат блогын шифрлау үшін жоғарыда сипатталған 32 айналым орындалады. Бұл жағдайда 32-биттік ішкі кілттер келесі реттілікпен пайдаланылады:

K 0, K (, K 2, K 3, K 4, K 5, K 6, K 7, K 0,/G және т.б. - 1-ден 24-ке дейінгі раундтарда;

K 7, K b, K 5, K 4, K 3, K 2, K x, K 0 - 25-32 раундтарда.

Бұл режимде шифрды шешу дәл осындай жолмен жүзеге асырылады, бірақ ішкі кілттерді пайдаланудың сәл басқа реттілігімен:

K 0, AG, K 2, K 3, K 4, K 5, K b, K 7 - 1-8 раундтарда;

K 7, K 6, K 5, K 4, K 3, K 2, K (, K 0, K 7, K bт.б. - 9-дан 32-ге дейінгі раундтарда.

Барлық блоктар бір-бірінен тәуелсіз шифрланады, яғни әрбір блокты шифрлау нәтижесі оның мазмұнына ғана байланысты (түпнұсқа мәтіннің сәйкес блогы). Түпнұсқа (қарапайым) мәтіннің бірнеше бірдей блоктары болса, сәйкес шифрлық мәтін блоктары да бірдей болады, бұл шифрды бұзуға тырысатын криптоаналитикке қосымша пайдалы ақпарат береді. Сондықтан бұл режим негізінен шифрлау кілттерінің өздерін шифрлау үшін қолданылады (көп кілтті схемалар өте жиі орындалады, оларда бірқатар себептер бойынша кілттер бір-біріне шифрланады). Басқа екі жұмыс режимі ақпараттың өзін шифрлауға арналған - кері байланыспен гамма және гамма.

IN гамма режиміӘрбір ашық мәтін блогы 64-биттік шифрлық гамма-блокқа бит модулі бойынша 2 қосылады. Шифрлық гамма -бұл регистрлермен белгілі бір операциялардың нәтижесінде алынатын ерекше реттілік Н1 Және S 2(6.9-сурет):

  • 1. Тіркеуге Н^Және 1U 2олардың бастапқы толтырылуы жазылады - синхрондау хабары деп аталатын 64 биттік мән.
  • 2. Регистрлердің мазмұны шифрланған Н1 Және М 2(бұл жағдайда - хабарламаларды синхрондау) қарапайым ауыстыру режимінде.
  • 3. Мазмұнды тіркеңіз Н^тұрақты С, = 2 24 + 2 16 + 2 8 + 2 4 болатын модуль (2 32 - 1) қосылады және қосу нәтижесі регистрге жазылады. Н1 .
  • 4. CU 2 регистрінің мазмұнына С 2 = 2 24 + 2 16 + 2 8 + 1 тұрақтысы бар 232 модуль қосылады, ал қосу нәтижесі CU 2 регистріне жазылады.
  • 5. Регистрлердің мазмұны Н, Және S 2 64 биттік шифрлы гамма блогы ретінде шығару (бұл жағдайда Н^және VU 2 шкаланың бірінші блогын құрайды).

Келесі гамма блогы қажет болса (яғни, шифрлау немесе шифрды шешуді жалғастыру қажет), ол 2-қадамға оралады.

Шифрды шешу үшін гамма ұқсас жолмен жасалады, содан кейін шифрлық мәтінге және гамма биттеріне қайтадан X(G) операциясы қолданылады, бұл операция қайтымды болғандықтан, дұрыс құрылған гамма жағдайында бастапқы мәтін алынады (6.1-кесте).

6.1-кесте.Гамма режимінде шифрлау және шифрды шешу

Гамманың шифрын шешуге қажетті шифрды әзірлеу үшін криптограмманы шешетін пайдаланушы ақпаратты шифрлау кезінде пайдаланылған синхрондау хабарламасының бірдей кілті мен бірдей мәніне ие болуы керек. Әйтпесе, шифрланған мәтіннен түпнұсқа мәтінді алу мүмкін болмайды.

ГОСТ 28147-89 алгоритмін іске асырудың көпшілігінде синхрондау хабарламасы құпия емес, дегенмен синхрондау хабарламасы шифрлау кілті сияқты құпия элемент болып табылатын жүйелер бар. Мұндай жүйелер үшін алгоритмнің тиімді кілт ұзындығы (256 бит) құпия синхрондау хабарламасының тағы 64 битіне артады, оны да негізгі элемент ретінде қарастыруға болады.

IN кері байланыс бар гамма режимі L» және IU 2 регистрлерін толтыру үшін 2-ші блоктан бастап алдыңғы гамма-блок емес, алдыңғы ашық мәтіндік блокты шифрлау нәтижесі қолданылады (6.4-сурет). Бұл режимдегі бірінші блок толығымен ұқсас түрде генерацияланады. алдыңғы.

Режимді ескере отырып еліктеу префикстерін жасау,ұрпақ субъектісі түсінігін анықтау керек. Еліктеу префиксі -көмегімен есептелетін криптографиялық бақылау сомасы болып табылады

Күріш. 6.4.

шифрлау кілтін шақыру және хабарлардың тұтастығын тексеруге арналған. Имитациялық префиксті құру кезінде келесі әрекеттер орындалады: имитация префиксі есептелетін ақпараттық массивтің бірінші 64-биттік блогы ^ және A^ 2 регистрлеріне жазылады және қысқартылған қарапайым ауыстыруда шифрланады. режимі (32 раундтың алғашқы 16 раунды орындалады). Алынған нәтиже келесі ақпарат блогымен 2 модуль бойынша жинақталады, нәтижені L» және сақтайды S 2.

Цикл ақпараттың соңғы блогына дейін қайталанады. Нәтижесінде A^ және A^2 регистрлерінің 64-биттік мазмұны немесе оның бір бөлігі еліктеу префиксі деп аталады. Еліктеу қосымшасының өлшемі хабарлардың қажетті сенімділігіне байланысты таңдалады: еліктеу қосымшасының ұзындығымен Гбит хабардың өзгеруінің байқалмай қалу ықтималдығы болып табылады 2~ г.

Ең жиі қолданылатыны 32-биттік имитативтік префикс, яғни регистрлер мазмұнының жартысы. Бұл жеткілікті, өйткені кез келген бақылау сомасы сияқты, имитация қосымшасы ең алдымен ақпаратты кездейсоқ бұрмалаудан қорғауға арналған. Деректерді әдейі өзгертуден қорғау үшін басқа криптографиялық әдістер қолданылады - ең алдымен электрондық цифрлық қолтаңба.

Ақпарат алмасу кезінде еліктеу префиксі бақылаудың қосымша құралы ретінде қызмет етеді. Ол кез келген ақпарат шифрланған және шифрленген мәтінмен бірге жіберілген кезде ашық мәтін үшін есептеледі. Шифрды шешкеннен кейін имитация префиксінің жаңа мәні есептеледі және жіберілгенмен салыстырылады. Мәндер сәйкес келмесе, бұл тасымалдау кезінде шифрленген мәтіннің бүлінгенін немесе шифрды шешу кезінде дұрыс емес кілттер пайдаланылғанын білдіреді. Имитациялық префикс әсіресе көп кілтті схемаларды пайдалану кезінде негізгі ақпараттың шифрын дұрыс шешуді тексеру үшін пайдалы.

ГОСТ 28147-89 алгоритмі өте сенімді алгоритм болып табылады - қазіргі уақытта оны ашу үшін жоғарыда айтылған «қатал күш» әдісінен тиімдірек әдістер ұсынылмаған. Оның жоғары қауіпсіздігіне ең алдымен кілттің үлкен ұзындығы – 256 бит арқасында қол жеткізіледі. Құпия синхрондау хабарын пайдаланған кезде тиімді кілт ұзындығы 320 битке дейін артады, ал ауыстыру кестесін шифрлау қосымша биттерді қосады. Сонымен қатар, криптографиялық беріктік ГОСТ 28147-89 бойынша 32 болуы тиіс трансформация раундтарының санына байланысты (кіріс деректерінің дисперсиясының толық әсері 8 айналымнан кейін қол жеткізіледі).

AES шифрлау стандарты. 1997 жылы Американдық стандарттар институты NIST (Ұлттық стандарттар және технологиялар институты) AES (Advanced Encryption Standard) деп аталатын симметриялық криптографиялық алгоритм үшін жаңа стандартқа конкурс жариялады. Оны әзірлеуге дүние жүзіндегі ең ірі криптология орталықтары қатысты. Бұл байқаудың жеңімпазы іс жүзінде алдағы 10-20 жыл ішінде әлемдік криптографиялық стандартқа айналды.

Жаңа AES стандартына үміткерлер криптографиялық алгоритмдерге келесі талаптар қойылды:

  • алгоритм симметриялы болуы керек;
  • алгоритм блоктық шифр болуы керек;
  • алгоритм блоктың ұзындығы 128 бит болуы және үш кілт ұзындығын қолдауы керек: 128, 192 және 256 бит.

Сонымен қатар, криптографиялық алгоритм әзірлеушілеріне мыналар ұсынылды:

  • аппараттық құралдарда (микрочиптерде) және бағдарламалық қамтамасыз етуде (дербес компьютерлер мен серверлерде) оңай орындалатын операцияларды пайдалану;
  • 32-биттік процессорларға назар аудару;
  • барлық мүдделі тұлғалар алгоритмнің тәуелсіз криптоталдауын дербес жүргізе алатындай және оның құрамында ешқандай құжатсыз мүмкіндіктер жоқ екеніне көз жеткізу үшін шифрдың құрылымын қажетсіз қиындатпаңыз.

Байқау қорытындысы 2000 жылдың қазан айында шығарылды - Бельгияның екі криптографы Винсент Раймен және Джоан Даемен әзірлеген Рижндаэл алгоритмі жеңімпаз деп танылды. Rijndael алгоритмі деректерді шифрлаудың жаңа AES стандарты болды.

AES алгоритмі құрылымы «Фейстель желісі» деп аталатын және ресейлік ГОСТ 28147-89-ға ұқсас көптеген белгілі симметриялық шифрлау алгоритмдеріне ұқсас емес. Отандық шифрлау стандартынан айырмашылығы, AES алгоритмі өңделген деректердің әрбір блогын белгіленген блок ұзындығына байланысты 4x4, 4x6 немесе 4 x 8 өлшемді екі өлшемді байт массиві түрінде көрсетеді (бірнеше тіркелген өлшемдерді пайдалану). ақпараттың шифрланған блогына рұқсат етіледі). Әрі қарай, сәйкес кезеңдерде түрлендірулер тәуелсіз бағандарда немесе тәуелсіз жолдарда немесе тіпті жеке байттарда орындалады.

AES алгоритмі белгілі бір айналым санынан тұрады (10-нан 14-ке дейін – бұл блок өлшеміне және кілт ұзындығына байланысты) және төрт түрлендіруді орындайды:

BS (ByteSub) – массивтің әрбір байты кестені ауыстыру (6.5-сурет);

SR (ShiftRow) – массив жолдарын ауыстыру (6.6-сурет). Бұл әрекеттің көмегімен бірінші жол өзгеріссіз қалады, ал қалғандары массив өлшеміне байланысты бекітілген байт санымен циклдік түрде солға байт-байтқа жылжытылады. Мысалы, 4x4 массиві үшін 2, 3 және 4-жолдар сәйкесінше 1, 2 және 3 байтқа жылжиды;

MS (MixColumn) – массивтің тәуелсіз бағандарындағы операция (6.7-сурет), әрбір баған белгілі бір ереже бойынша бекітілген с(х) матрицасына көбейтіледі;

AK (AddRoundKey) – кілтті қосу. Массивтің әрбір битіне дөңгелек кілттің сәйкес биті бар модуль 2 қосылады, ол өз кезегінде шифрлау кілтінен белгілі бір жолмен есептеледі (6.8-сурет).


Күріш. 6.5.

күй массивінің әрбір байты өңдеу үшін

Күріш. 6.6. SR (ShiftRow) түрлендіруі соңғы үшеуін циклдік түрде ауыстырады

күй массивіндегі жолдар

г 2 j

унцияға дейін

үшін zz

Күріш. 6.8. AK түрлендіруі (AddRoundKey) әрқайсысының XOR қосуын орындайды

Кілттер жиынындағы сөзі бар күй массивінің бағаны

Бұл түрлендірулер «күй» көрсеткіші арқылы адрестелген Күй жиымына әсер етеді. AddRoundKey түрлендіруі дөңгелек кілтті шешу үшін қосымша көрсеткішті пайдаланады.

BS (ByteSub) түрлендіруі iS-box ауыстыру кестесін пайдалана отырып, Күй жиымының әрбір байтында тәуелсіз әрекет ететін сызықты емес байтты ауыстыру болып табылады.

Әрбір раундта (кейбір жағдайларды қоспағанда) шифрланған деректерде келесі әрекеттер кезекпен орындалады:

түрлендірулер (6.9-сурет). Ерекшеліктер бірінші және соңғы раундтарға қатысты: бірінші раундқа дейін АК операциясы қосымша орындалады, ал соңғы раундта МС жоқ.

Күріш. 6.9.

Нәтижесінде шифрлау кезіндегі әрекеттер тізбегі келесідей болады:

АК, (BS, SR, MC, AK) (қайталанады R- 1 рет), BS, SR, АК.

Шифрлау айналымдарының саны Р AES алгоритмінде айнымалы (10, 12 немесе 14 айналым) және блок өлшеміне және шифрлау кілтіне байланысты (кілттің бірнеше бекітілген өлшемдері де бар).

Шифрды шешу келесі кері операциялар арқылы орындалады. Кесте төңкеріліп, кесте кері кестемен ауыстырылады (шифрлау үшін қолданылатын кестеге қатысты). SR-ге кері операция жолдарды солға емес, оңға бұру болып табылады. MS үшін кері операция сол ережелерді пайдаланып басқа матрицаға көбейту болып табылады d(x), c(x) шартын қанағаттандыратын d(x) = 1. AK кілтін қосу өзіне кері болады, өйткені ол тек XOR операциясын пайдаланады. Бұл кері операциялар шифрлау кезінде қолданылатынға кері ретпен шифрды шешу кезінде қолданылады.

AES шифріндегі барлық түрлендірулер қатаң математикалық негізге ие. Құрылымның өзі және әрекеттер тізбегі бұл алгоритмді 8 және 32 биттік процессорларда тиімді орындауға мүмкіндік береді. Алгоритм құрылымына кейбір операцияларды параллель орындау мүмкіндігі кіреді, ол көппроцессорлық жұмыс станцияларында шифрлау жылдамдығын 4 есе арттыруға мүмкіндік береді.

AES алгоритмі басқа алгоритмдерге қарағанда бірқатар артықшылықтарға байланысты деректерді шифрлаудың жаңа стандартына айналды. Ең алдымен, ол барлық платформаларда шифрлаудың жоғары жылдамдығын қамтамасыз етеді: бағдарламалық және аппараттық қамтамасыз етуді іске асыру. Сонымен қатар, оның жұмысы үшін ресурс талаптары минималды, бұл есептеу мүмкіндіктері шектеулі құрылғыларда пайдаланылған кезде маңызды.

AES алгоритмінің жалғыз кемшілігі оның дәстүрлі емес дизайны болып табылады. «Feistel желісі» негізіндегі алгоритмдердің қасиеттері жақсы зерттелген, ал AES, керісінше, кең таралғаннан кейін біраз уақыт өткеннен кейін ғана ашылатын жасырын осалдықтарды қамтуы мүмкін.

Деректерді шифрлау үшін басқа симметриялық блоктық криптографиялық алгоритмдер де қолданылады.

Симметриялық блоктың негізгі жұмыс режимдері

алгоритм

Көптеген блоктық симметриялық криптографиялық алгоритмдер 64 биттік кіріс ашық мәтінді 64 биттік шығыс шифрлық мәтінге тікелей түрлендіреді, бірақ деректер сирек 64 битпен шектеледі.

Әртүрлі криптографиялық есептерді шешу үшін блоктық симметриялық алгоритмнің артықшылығын пайдалану үшін төрт жұмыс режимі әзірленді:

  • EU B электрондық код кітабы (Электрондық код кітабы);
  • CBC шифрлық блоктарын тізбектеу (Cipher Block Chaining);
  • CFB (Cipher Feed Back) шифрлық мәтіндік кері байланыс;
  • OFB (Output Feed Back) кері байланысы.

Бұл жұмыс режимдері бастапқыда DES блок алгоритміне арналған, бірақ басқа блоктық криптографиялық алгоритмдер осы режимдердің кез келгенінде жұмыс істей алады.