Аппараттық және бағдарламалық қамтамасыз етуді орнату

Қазіргі заманғы шифрлау алгоритмдері. Деректерді шифрлау әдістері - веб-бағдарламашының блогы

Негізгі ұғымдар мен анықтамалар

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

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

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

Қазіргі криптография 4 негізгі бөлімді қамтиды:

1. Симметриялық криптожүйелер.

2. Ашық кілті бар криптожүйелер.

3. Жүйелер электрондық қолтаңба.

4. Негізгі басқару.

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

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

Әліпби- ақпаратты кодтау үшін қолданылатын таңбалардың шектеулі жиыны. Мысалдар:

ü Z33 алфавиті - орыс алфавитінің 32 әрпінен және бос орыннан тұрады;

ü Z256 алфавиті - стандартты ASCII және KOI-8 кодтарына енгізілген таңбалар;

ü Z2 екілік алфавиті - екі таңба (0 және 1);

ü сегіздік немесе он алтылық алфавит.

Мәтін- алфавит элементтерінің реттелген жиынтығы.

Шифрлау- бастапқы (қарапайым) мәтінді шифрлық мәтінмен ауыстырудың түрлендіру процесі.

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

Кілт- мәтіндерді кедергісіз шифрлау және дешифрлеу үшін қажетті ақпарат.

Криптографиялық жүйе T [T 1, T 2, ..., T to] ашық мәтін түрлендірулерінің отбасы болып табылады. Бұл отбасының мүшелері таңбамен индекстеледі немесе белгіленеді Кімге; параметр Кімгекілті болып табылады. K кілттік кеңістігі – мүмкін кілттік мәндердің жиыны. Әдетте, кілт әліпбилік таңбалардың дәйекті қатары болып табылады.

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

Шарттар кілтті бөлу және негізгі басқару мазмұны кілттерді құрастыру және оларды пайдаланушылар арасында тарату болып табылатын ақпаратты өңдеу процестеріне жатады.

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

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

барлық мүмкін кілттердің саны;

криптоталдау үшін қажетті орташа уақыт.

Криптожүйелерге қойылатын талаптар

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

Криптографиялық жүйелерге жалпы қабылданған талаптар:

· Шифрланған хабарлама кілт болған жағдайда ғана оқылатын болуы керек;

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

Ықтимал кілттерді санау арқылы ақпаратты шифрын шешуге қажетті операциялардың саны қатаң төменгі шекке ие болуы және мүмкіндіктерден асып кетуі керек. заманауи компьютерлер(желілік есептеулердің мүмкіндіктерін ескере отырып);

· Шифрлау алгоритмін білу қорғаныс сенімділігіне әсер етпеуі керек;

· Кілттің шамалы өзгеруі шифрланған хабарламаның түрінің айтарлықтай өзгеруіне әкелуі керек;

· Шифрлау алгоритмінің құрылымдық элементтері өзгеріссіз болуы керек;

· Шифрлау процесі кезінде хабарламаға енгізілген қосымша биттер шифр мәтінінде толық және сенімді түрде жасырылуы керек;

· Шифрланған мәтіннің ұзындығы түпнұсқа мәтіннің ұзындығына тең болуы керек;

· Шифрлау процесінде дәйекті түрде қолданылатын кілттер арасында қарапайым және оңай орнатылатын тәуелділіктер болмауы керек;

· Ықтимал кілттер жиынтығының кез келген кілті ақпаратты сенімді қорғауды қамтамасыз етуі керек;

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

Негізгі шифрлау алгоритмдері

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

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

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

Әдетте, шифрлау кілті файл немесе деректер массиві болып табылады және жеке кілт тасушыда сақталады (мысалы, USB флэш-дискісі немесе смарт-карта); жеке кілт тасушыға оның иесінен басқа ешкімнің қолы жетпейтінін қамтамасыз ету үшін шаралар қабылдау қажет.

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

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

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

Шифрланған деректермен алмасуды бастамас бұрын, барлық алушылармен құпия кілттермен алмасу қажет. Симметриялық криптожүйенің құпия кілтін беру жалпыға ортақ байланыс арналары арқылы жүзеге асырылмайды, құпия кілт жіберуші мен алушыға қорғалған арна арқылы (немесе курьер арқылы) берілуі керек. Желіде айналатын хабарламаларды тиімді қорғауды қамтамасыз ету үшін жиі өзгеретін кілттердің үлкен саны қажет (әр пайдаланушы жұбына бір кілт). Пайдаланушылардың көп санымен құпия кілттерді тарату мәселесі өте көп уақытты қажет ететін және күрделі жұмыс болып табылады. N пайдаланушыға арналған желіде N (N-1) / 2 құпия кілттерді тарату қажет.

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

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

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

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

Дайындық кезеңі :

· В абоненті кілттер жұбын жасайды: құпия кілт k in және ашық кілт K in;

· Ашық кілт K А абонентіне және басқа абоненттерге жіберіледі (немесе, мысалы, ортақ ресурста қолжетімді болады).

Қолданылуы (А және В арасындағы ақпарат алмасу ):

· А абоненті хабарламаны К ашық кілтімен В абонентіне шифрлайды және В абонентіне шифрлық мәтінді жібереді;

· B абоненті өзінің k B құпия кілтінің көмегімен хабарламаның шифрын шешеді; басқа ешкім бұл хабарламаның шифрын шеше алмайды, өйткені V абонентінің құпия кілті жоқ.

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

Артықшылықтарысимметриялық криптографиялық жүйелердің симметриялы емес криптографиялық жүйелері:

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

ü пайдаланушылар санына кілттер санының квадраттық тәуелділігі жойылады; асимметриялық криптожүйеде қолданылатын кілттер саны абоненттер санына симметриялы жүйелердегідей квадраттық емес, сызықтық қатынас бойынша (N пайдаланушылар жүйесінде 2N кілт пайдаланылады) байланысты;

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

Кемшіліктерасимметриялық криптожүйелер:

ü қосулы қазіргі уақыттаасимметриялық алгоритмдерде қолданылатын функциялардың қайтымсыздығы туралы математикалық дәлел жоқ;

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

ü ашық кілттерді ауыстырудан қорғау қажеттілігі.

Заманауи шифрлау-дешифрлеу алгоритмдері өте күрделі және оларды қолмен орындау мүмкін емес. Нақты криптографиялық алгоритмдер компьютерлер немесе арнайы аппараттық құрылғылармен пайдалануға арналған. Көптеген қолданбаларда криптография бағдарламалық жасақтамада жасалады және көптеген криптографиялық пакеттер қол жетімді.

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

Көптеген сапалы криптографиялық алгоритмдер кеңінен қол жетімді. Ең танымал симметриялық алгоритмдер - DES және IDEA; ең жақсы асимметриялық алгоритм - RSA. Ресейде шифрлау стандарты ретінде ГОСТ 28147-89 қабылданған.

1-кестеде криптографиялық ақпаратты жабу классификациясы көрсетілген.

1-кесте

Түрлендіру түрлері Түрлендіру әдістері Жолдың сорттары Іске асыру әдісі
Шифрлау Ауыстыру (алмастыру) Қарапайым (бір алфавиттік) Прог.
Көп алфавиттік бір жолды қарапайым Прог.
Көп алфавиттік бір жолды монаурал Прог.
Прог.
Орын ауыстыру Қарапайым Прог.
Кесте бойынша күрделі Прог.
Жолдар бойынша күрделі Прог.
Аналитикалық түрлендіру Матрицалық алгебра ережелері бойынша Прог.
Арнайы тәуелділіктер бойынша Прог.
Сағыздау Шекті қысқа диапазонмен Аппараттық-прог.
Шекті ұзақ диапазонмен Аппараттық-прог.
Шексіз гаммамен Аппараттық-прог.
Біріктірілген Ауыстыру + ауыстыру Аппараттық-прог.
Ауыстыру + сағыздау Аппараттық-прог.
Пермутация + ойын ойнау Аппараттық-прог.
Тегістеу + шайнау Аппараттық-прог.
Кодтау Семантикалық Арнайы кестелер (сөздіктер) бойынша Прог.
Символдық Кодтық алфавит бойынша Прог.
Басқа түрлер Жарылыс-жарылу Семантикалық Аппараттық-прог.
Механикалық Прог.
Қысу-кеңейту

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

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

Жолдың сорттары ауыстыру (ауыстыру ):

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

2) Көп алфавиттік алмастыру – бастапқы мәтіндегі таңбаларды азды-көпті күрделі ереже бойынша басқа әліпбилердің таңбаларымен ауыстырудан тұратын түрлендірудің ең қарапайым түрі. Жоғары криптографиялық күшті қамтамасыз ету үшін үлкен кілттерді пайдалану қажет.

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

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

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

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

Қарапайым ауыстыру шифрлауы келесідей орындалады:

· Қайталанбайтын символдары бар түйінді сөз таңдалады;

Шифрланған мәтін символдардың астына ретті жолдармен жазылады кілт сөз;

· Шифрлау мәтіні алфавиттегі перне әріптерінің орналасу ретімен (немесе цифрлық болса, натурал қатардағы сандардың ретімен) бағандарға жазылады.

Мысалы:

қарапайым мәтін: САҚ БОЛЫҢЫЗ

перне: 5 8 1 3 7 4 6 2

шифрлау схемасы:

B U D B T E q O (мұндағы q — кеңістік)

S T O R O W N S

2 таңба бойынша топтаңыз және шифрлық мәтінді алыңыз:

DOOOYREZHBSqNTOUT

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

Күрделі кесте ауыстырушифрланған мәтіннің таңбаларын жазу үшін пайдаланылады арнайы үстел, онда кейбір күрделі элементтер енгізілген. Кесте - өлшемдерін ерікті түрде таңдауға болатын матрица. Онда жай ауыстыру жағдайындағыдай шифрланған мәтіннің символдары жазылады. Күрделілігі кестедегі ұяшықтардың белгілі бір саны пайдаланылмайды. Саны және орналасуы пайдаланылмаған элементтерқосымша шифрлау кілті болып табылады. блоктардағы шифрланған мәтін ( м x nС) элементтер кестеге жазылады ( м x n -кесте өлшемдері, S -пайдаланылмаған элементтер саны). Әрі қарай, шифрлау процедурасы қарапайым қайта реттеуге ұқсас.

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

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

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

Сағыздау- бұл әдіс бастапқы мәтінге кілт негізінде құрылған псевдокездейсоқ тізбекті енгізуден тұрады. Түпнұсқа мәтінге гамма енгізу процедурасын екі жолмен жасауға болады. В бірінші жолбастапқы мәтіннің таңбалары және гамма сандық эквиваленттермен ауыстырылады, содан кейін модуль қосылады TO, мұндағы K - алфавиттегі таңбалар саны, яғни.

t c = (t p + t g) mod K, қайда т с, t б,t g -тиісінше шифрлық мәтіннің, бастапқы мәтіннің және гамманың символдары.

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

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

Гамуттың жақсы статистикалық қасиеттерімен шифрлау күші оның кезеңінің ұзақтығымен ғана анықталады. Оның үстіне, егер гамма-периодтың ұзақтығы шифрланған мәтіннің ұзындығынан асып кетсе, онда мұндай шифр теориялық тұрғыдан абсолютті қауіпсіз болып табылады. Кездейсоқ белгілердің кез келген тізбегі шексіз диапазон ретінде пайдаланылуы мүмкін, мысалы, PI санының цифрларының тізбегі. Компьютермен шифрлау кезінде псевдоның көмегімен гамма тізбегі қалыптасады кездейсоқ сандар.

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

Біріктірілген шифрдың типтік мысалы АҚШ-тың криптографиялық деректерді жабуға арналған ұлттық стандарты (DES) болып табылады.

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

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

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

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

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

Деректерді қысужиі кездесетін бірдей деректер жолын немесе бірдей таңбалар тізбегін кейбір алдын ала таңдалған таңбалармен ауыстыру болып табылады.

Хэш функциялары

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

Бастапқыда хэшинг функциялары олардың түпнұсқалығын анықтау және анықтау үшін ерікті ұзындықтағы ақпараттық тізбектердің бірегей бейнесін жасау функциялары ретінде пайдаланылды. Кескіннің өзі кішкентай, тұрақты ұзындықтағы бөлік болуы керек, әдетте 30, 60, 64, 128, 256 немесе 512 бит. Сондықтан іздеу операциялары, сұрыптау және басқалары үлкен массивтері немесе деректер базалары айтарлықтай жеңілдетілген, яғни. әлдеқайда аз уақыт алады. Қажетті қате ықтималдығын қамтамасыз ету үшін хэштеу функциясына қойылатын бірқатар талаптарды орындау қажет:

· Хэш-функция M мәтініндегі кірістірулер, шеткі мәндер, ауыстырулар сияқты өзгерістердің барлық түрлеріне сезімтал болуы керек;

· хэш-функция қайтымсыздық қасиетіне ие болуы керек, яғни хэш-функцияның қажетті мәніне ие болатын M құжатын таңдау тапсырмасы есептелмейтін болуы керек;

· Екі түрлі құжаттың хэш-функцияларының мәндерінің сәйкес келу ықтималдығы (ұзындықтарына қарамастан) шамалы болуы керек.

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

Көптеген хэш функциялары бір жақты функциядан құрастырылған f (), ол ұзындықтың шығыс мәнін құрайды nұзындығы бар екі кіріс мәнін көрсеткенде n... Бұл кірістер бастапқы блок болып табылады Мижәне хэш мәні Сәлем – 1мәтіннің алдыңғы блогы (1-сурет):

Сәлем = f (Ми, Сәлем – 1).

Мәтіннің соңғы блогын енгізген кезде есептелген хэш мәні бүкіл M хабарламасының хэш мәні болады.

1-сурет. Бір жақты хэш-функция диаграммасы

Нәтижесінде бір жақты хэш функциясы әрқашан n тұрақты ұзындықтағы шығысты шығарады (енгізілетін мәтіннің ұзындығына қарамастан). Хэштеу алгоритмі итеративті, сондықтан хэштеу функцияларын итеративті алгоритмдер деп те атайды. Хэштеу алгоритмінің мәні оның бір жақтылығында, яғни. функция бір бағытта жұмыс істеуі керек - сығыңыз, араластырыңыз және таратыңыз, бірақ ешқашан қалпына келтірмеңіз. Мұндай схемалар бастапқы кодтағы өзгерістерді бақылауға мүмкіндік береді, яғни деректер тұтастығын қамтамасыз ету үшін және алгоритмдер цифрлық қолтаңбадеректердің шынайылығын әлі де қамтамасыз етеді. Дегенмен, таза түрде бұл функцияларды тексеру мүмкін емес.


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

  1. Ешбір кілт пайдаланылмайтын кілтсіз.
  2. Бір кілт - олар кейбір қосымша кілт параметрін пайдаланады - әдетте құпия кілт.
  3. Екі кілтті, өз есептеулерінде екі кілтті пайдаланады: құпия және ашық.

Күріш. 1. Криптоалгоритмдер

Криптографиялық әдістерге шолу

Шифрлау негізгі қорғау әдісі болып табылады; төменде егжей-тегжейлі қарастырамыз.

Басқа криптографиялық әдістер туралы бірнеше сөз айтқан жөн:

  1. Электрондық қолтаңба деректердің тұтастығы мен авторлығын растау үшін қолданылады. Деректердің тұтастығы деректердің сақтау немесе беру кезінде кездейсоқ немесе әдейі өзгертілмегенін білдіреді.
    Электрондық қолтаңба алгоритмдері кілттердің екі түрін пайдаланады:
    • электрондық қолтаңбаны есептеу үшін құпия кілт пайдаланылады;
    • оны тексеру үшін ашық кілт пайдаланылады.
    Криптографиялық күшті электронды қолтаңба алгоритмін пайдаланған кезде және құпия кілтті дұрыс сақтау және пайдалану кезінде (яғни кілтті оның иесінен басқа ешкім пайдалана алмаса), басқа ешкім кез келген электрондық қолтаңбаның дұрыс электрондық қолтаңбасын есептей алмайды. құжат.
  2. Аутентификация пайдаланушының (немесе қашықтағы компьютер) шын мәнінде ол кім деп мәлімдейді. Ең қарапайым схемааутентификация құпия сөзге негізделген - құпия элемент ретінде ол пайдаланушы оны тексеру кезінде ұсынатын құпия сөзді пайдаланады. Мұндай схеманы күшейту үшін арнайы әкімшілік-техникалық шаралар қабылданбаса, әлсіз екені дәлелденді. Және шифрлау немесе хэштеу негізінде (төменде қараңыз) шынымен күшті пайдаланушы аутентификация схемаларын құра аласыз.
  3. Криптографиялық бақылау сомасының әртүрлі әдістері бар:
    • кілтті және кілтсіз хэштеу;
    • префикстерді есептеу;
    • хабарламаның аутентификация кодтарын пайдалану.
    Шындығында, бұл әдістердің барлығы әртүрлі жолдармен, ерікті өлшемді деректерден бастап, құпия кілтті пайдаланып немесе онсыз, бастапқы деректерге бірегей сәйкес келетін тіркелген өлшемнің белгілі бір бақылау сомасын есептейді.
    Бұл криптографиялық бақылау сомасы әртүрлі ақпаратты қорғау әдістерінде кеңінен қолданылады, мысалы:
    • электрондық қолтаңбаны пайдалану мүмкін болмаған (мысалы, ресурстарды көп тұтыну салдарынан) немесе шектен тыс жағдайларда кез келген деректердің тұтастығын растауға;
    • электрондық қолтаңба схемаларының өзінде деректер хэші әдетте «қол қойылады» және барлық деректер толығымен емес;
    • v әртүрлі схемаларпайдаланушы аутентификациясы.
  4. Кездейсоқ және псевдокездейсоқ сандар генераторлары криптографияда кеңінен қолданылатын кездейсоқ сандар тізбегін құруға мүмкіндік береді, атап айтқанда:
    • кездейсоқ сандар құпия кілттерді генерациялау үшін қажет, олар ең дұрысы толығымен кездейсоқ болуы керек;
    • кездейсоқ сандар көптеген электрондық қолтаңба алгоритмдерінде қолданылады;
    • кездейсоқ сандар көптеген аутентификация схемаларында қолданылады.
    Толық кездейсоқ сандарды алу әрқашан мүмкін емес - бұл жоғары сапалы аппараттық генераторларды қажет етеді. Дегенмен, симметриялық шифрлау алгоритмдеріне сүйене отырып, жоғары сапалы жалған кездейсоқ сандар генераторларын құруға болады.
Шифрлау

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

Сіз шифрлауды келесі формула түрінде елестете аласыз:

С = E k1 (M),

мұнда:
М(хабарлама) – ашық ақпарат,
МЕН(шифрлық мәтін) – шифрлау нәтижесінде алынған шифрлық мәтін,
Е(шифрлау) – криптографиялық түрлендірулерді орындайтын шифрлау функциясы М,
k1(кілт) - функция параметрі Ешақырды кілтшифрлау.

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

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

Шифрды шешу ұқсас жолмен ұсынылуы мүмкін:

M "= D k2 (C),

мұнда:
М "- шифрды шешу нәтижесінде алынған хабарлама;
D(дешифрлеу) – дешифрлеу функциясы; шифрлау функциясы сияқты, ол шифрлық мәтінде криптографиялық түрлендірулерді орындайды,
k2- шифрды шешу кілті.

Шифрды шешу нәтижесінде дұрыс ашық мәтінді (яғни, бұрын шифрланған: M "= M) алу үшін келесі шарттар бір уақытта орындалуы керек:

  1. Шифрды шешу функциясы шифрлау функциясына сәйкес келуі керек.
  2. Шифрды шешу кілті шифрлау кілтіне сәйкес келуі керек.

Дұрыс кілт болмаған жағдайда k2түпнұсқа хабарламаны алыңыз М " = Мдұрыс функцияны пайдалану Dмүмкін емес. Бұл жағдайда «мүмкін емес» сөзі әдетте есептеудің мүмкін еместігін білдіреді шынайы уақытбар есептеу ресурстарымен.

Шифрлау алгоритмдерін екі санатқа бөлуге болады (1-суретті қараңыз):

  1. Симметриялық шифрлау алгоритмдері.
  2. Асимметриялық шифрлау алгоритмдері.

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

В асимметриялық шифрлаушифрлау кілті k1кілттен оңай есептеледі k2кері есептеу мүмкін болмайтындай етіп. Мысалы, негізгі қатынас келесідей болуы мүмкін:

k1 = a k2 мод p,

мұндағы a және p – жеткілікті үлкен өлшемі бар шифрлау алгоритмінің параметрлері.

Бұл кілт қатынасы электронды қолтаңба алгоритмдерінде де қолданылады.

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

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

Симметриялық шифрлаудың екі түрі бар:

  • Шифрлауды блоктау- ақпарат бекітілген ұзындықтағы блоктарға бөлінеді (мысалы, 64 немесе 128 бит), содан кейін бұл блоктар бірінен соң бірі шифрланады. Сонымен қатар, әртүрлі шифрлау алгоритмдерінде немесе тіпті әртүрлі режимдербірдей алгоритм блоктарының жұмысы бір-бірінен тәуелсіз немесе «конкатенациямен» шифрлануы мүмкін - ағымдағы деректер блогының шифрлау нәтижесі алдыңғы блоктың мәніне немесе алдыңғы блоктың шифрлау нәтижесіне байланысты болғанда.
  • Ағынды шифрлау- бұл, ең алдымен, ақпаратты блоктарға бөлуге болмайтын жағдайларда қажет - айталық, белгілі бір деректер ағыны, оның әрбір символы шифрлануы және қалыптасу үшін жеткілікті деректердің қалған бөлігін күтпестен бір жерге жіберілуі керек. блок. Сондықтан ағынды шифрлау алгоритмдері деректерді бит бойынша немесе таңба бойынша шифрлайды. Кейбір классификациялар блок пен ағындық шифрлауды бөлмейтінін айту керек, ағынды шифрлау бір ұзындықтағы блоктарды шифрлау болып табылады.

Блоктық симметриялық шифрлау алгоритмдерінің ішкі жағынан қалай көрінетінін көрейік.

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

  1. Feistel желісіне негізделген алгоритмдер.

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

    Күріш. 2. Feistel желісі негізіндегі алгоритмдердің құрылымы.

    Қосымша функция аргументі f (), суретте көрсетілген. 2 қалай Киаталады дөңгелек кілт... Дөңгелек кілт – кілтті кеңейту процедурасы арқылы шифрлау кілтін өңдеудің нәтижесі, оның міндеті кілттердің қажетті санын алу Кисалыстырмалы түрде шағын өлшемді бастапқы шифрлау кілтінен (қазіргі уақытта симметриялық шифрлау кілті үшін 128 бит жеткілікті болып саналады). Ең қарапайым жағдайларда кілтті кеңейту процедурасы кілтті бірнеше фрагменттерге бөледі, олар шифрлау айналымдарында кезекпен пайдаланылады; Көбінесе кілтті кеңейту процедурасы өте күрделі және кілттер Кибастапқы шифрлау кілтінің биттерінің көпшілігінің мәндеріне байланысты.

    Өңделген ішкі блокты өңделмеген ішкі блокта қабаттастыру көбінесе эксклюзивті немесе XOR логикалық операциясы арқылы орындалады (2-суретте көрсетілгендей). Мұнда XOR орнына модульді қосу жиі қолданылады. 2 н, қайда n- биттегі қосалқы блоктың өлшемі. Орнатқаннан кейін ішкі блоктар ауыстырылады, яғни алгоритмнің келесі раундында деректердің басқа ішкі блогы өңделеді.

    Шифрлау алгоритмдерінің бұл құрылымы өз атын Люцифер шифрлау алгоритмін және оның негізінде жасалған DES (Деректерді шифрлау стандарты) алгоритмін жасаушылардың бірі – АҚШ-тың бұрынғы (бірақ әлі де кеңінен қолданылатын) шифрлау стандартын жасаушылардың бірі Хорст Фейстельден алды. Бұл алгоритмдердің екеуі де суретте көрсетілгенге ұқсас құрылымға ие. 2. Feistel желісіне негізделген басқа алгоритмдердің арасында мысал ретінде келтіруге болады отандық стандартшифрлау ГОСТ 28147-89, сондай-ақ басқа да өте танымал алгоритмдер: RC5, Blowfish, TEA, CAST-128 және т.б.

    Көптеген заманауи шифрлау алгоритмдері Feistel желісіне негізделген - мұндай құрылымның көптеген артықшылықтарының арқасында, олардың арасында мыналарды атап өткен жөн:

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

    Сондай-ақ Feistel желісінің күрделі құрылымы бар, оның мысалы суретте көрсетілген. 3.

    Күріш. 3. Feistel желісінің құрылымы.

    Бұл құрылым деп аталады жалпыланғаннемесе кеңейтілді Feistel желісі және әлдеқайда аз пайдаланылады дәстүрлі желіФейстель. Мұндай Feistel желісінің мысалы RC6 алгоритмі болып табылады.

  3. Алгоритмдерге негізделген ауыстыру желілері (SP желісі- алмастыру-орн ауыстыру желісі).

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

    Күріш. 4. Ауыстыру-орналастыру желісі.

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

    SP желілері Feistel желілеріне қарағанда әлдеқайда аз таралған; Serpent немесе SAFER + алгоритмдері SP желілерінің мысалдары болып табылады.

  4. Құрылымы бар алгоритмдер «шаршы»(Шаршы).

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

    Алгоритмнің құрылымы өз атауын 1996 жылы Винсент Рижмен мен Джоан Дамен әзірлеген Square алгоритмінен алады - Рижндаэл алгоритмінің болашақ авторлары, ол ашық конкурста жеңіске жеткеннен кейін АҚШ-тың AES шифрлаудың жаңа стандарты болды. Rijndael алгоритмі де шаршы тәрізді құрылымға ие; Сондай-ақ мысалдар - Шарк (Риджман мен Даменнің ертерек әзірлеген жобасы) және Криптон. «Квадрат» құрылымы бар алгоритмдердің кемшілігі олардың жеткіліксіз білімі болып табылады, бұл Rijndael алгоритмінің АҚШ-тың жаңа стандартына айналуына кедергі болмады.

    Күріш. 5. Rijndael алгоритмі.

    күріште. 5 Rijndael алгоритмімен орындалатын деректер блогындағы операцияның мысалын көрсетеді.

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

    Күріш. 6. Шифрланған мәліметтердің екі байт модификациясы.

    Жоғарыда сипатталған құрылымдар арасында қатаң шекаралар жоқ, сондықтан әртүрлі сарапшылар жиі қарастыратын алгоритмдер әртүрлі түрлеріқұрылымдар. Мысалы, CAST-256 алгоритмі оның авторы SP-желіге сілтеме жасайды, ал көптеген сарапшылар оны кеңейтілген Feistel желісі деп атайды. Тағы бір мысал HPC алгоритмі, оның авторы Feistel желісі деп атаған, бірақ мамандар стандартты емес құрылымы бар алгоритмдерге жатқызған.

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

Сіз білесіз бе?
Рим империясы тұсында Юлий Цезарь хаттар мен хабарламаларды жауға оқылмайтын етіп жасау үшін шифрлауды қолданған. Ол әсіресе соғыс кезінде әскери тактика ретінде маңызды рөл атқарды.

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

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

Шифрлау түрлері

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

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

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

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

Шектеулер

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

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

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

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

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

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

Диффи-Хеллман және RSA ашық кілтті шифрлауды қолданатын алгоритмдердің мысалдары болып табылады.

Шектеулер

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

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

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

Осылайша, Саша бұл хабарды алған кезде, оны Наташадан келген деп санайды және жалған ойыннан бейхабар болады.

Хэшинг

Хэштеу техникасы берілген деректерден хэш деп аталатын арнайы жолды жасау үшін хэш функциясы ретінде белгілі алгоритмді пайдаланады. Бұл хэштің келесі қасиеттері бар:

  • бірдей деректер әрқашан бірдей хэшті жасайды.
  • тек хэштен шикі деректерді жасау мүмкін емес.
  • Бірдей хэшті генерациялау үшін кірістердің әртүрлі комбинацияларын қолданып көру мүмкін емес.

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

Message Digest 5 (MD5) және Secure Hashing Algorithm (SHA) – кеңінен қолданылатын екі хэштеу алгоритмі.

Шектеулер

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

Шифрлау әдістерінің комбинациясы

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

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

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

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

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

Ақпараттың өмір сүру ұзақтығы

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

§ Ықтимал сөздердің болуы. Бұл ұсталған хабарламада пайда болуы күтілетін сөздер немесе өрнектер (мысалы, ағылшын мәтіні үшін – «және», «the», «are» және т.б.).

§ Шифрланған хабарларды іс жүзінде жарамсыз ету әдістері бар статистикалық талдаужәне ықтимал сөздер арқылы талдау. Оларға мыналар жатады.

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

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

хабарлар.

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

Сипатталған әдістердің мысалдары DES шифрлау стандарттары және ГОСТ 28147-89 болып табылады.

Шифрлау алгоритмдерінің екі негізгі түрі бар:

§ симметриялық шифрлау алгоритмдері;

§ асимметриялық шифрлау алгоритмдері.

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

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

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



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

Криптографияның артықшылықтарысимметриялық пернелермен:

· Жоғары өнімділік.

· Жоғары төзімділік.Барлық қалған нәрселер тең болса, криптографиялық алгоритмнің күші кілттің ұзындығымен анықталады. Кілт ұзындығы 256 бит болса, оны анықтау үшін 10 77 санауды орындау қажет.

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

§ Негізгі тарату мәселесі.Бір кілт шифрлау және дешифрлеу үшін қолданылатындықтан, оларды тарату (беру) үшін өте сенімді механизмдер қажет.

§ Масштабтау мүмкіндігі.Жіберуші де, алушы да бір кілтті пайдаланатындықтан, қажетті кілттер саны байланысқа қатысушылардың санына байланысты экспоненциалды түрде артады. 10 пайдаланушы арасында хабарлама алмасу үшін сізде 45 кілт болуы керек, ал 1000 пайдаланушы үшін - қазірдің өзінде 499 500.

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

бас тартпау.

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

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

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

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

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

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



Күріш. 2. Ассиметриялық шифрлау схемасы

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

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

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

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны бөлектеңіз, басыңыз Ctrl + Enterжәне біз бәрін түзетеміз!