3 зертханалық жұмыс. Зертханалы жмыс. Симметриялы криптожйелер
Скачать 79.79 Kb.
|
Мысалы, «ГДЕ АББА» хабарламасын шифрлейік. Нәтижесінде мынаны аламыз:
ХИЛЛ ЖҮЙЕСІ Шифрлеу математикалық түрлендіруді қолдану арқылы жүргізілетін Хиллдің криптографиялық жүйесін қарастырайық: есептеулер сызықты алгебра тәсілімен жүргізіледі. Жеке әріп үшін бұл шифрді көпалфавитті деп санауға болады. Бірақ әріптердің жұбы барлық кезде бірдей шифрленеді. Сондықтан, Хиллдің криптографиялық жүйесін бір алфавитті шифрге жатқызу керек [4]. Ашық текстті алмастыру әдісі арқылы сандардың жиынтығына түрлендіру қажет. Мысалы, 26 латын әріптерінен құралған текст шифрленеді делік. Әріптерді санға алмастыру алгаритмін таңдайық: А, В, С, D, …, Z әріптерін сәйкесінше сандармен 1, 2, 3, 4, …, 26 алмастырамыз. Бір сөзбен айтқанда әріптерді нөмірлеп, алмастыру кезінде олардың реттік номерлерін қолданамыз. Осы мысал үшін дәл осындай алгоритм таңдап алынды, бірақ басқа амалдар да бар. Неміс сөзі «ZEIT» шифрлеу қажет деп алып, әріптерді алфавиттте орналасуы бойынша реттік номерлері арқылы төрт санмен алмастырамыз: 26 – 5 – 9 – 20. Содан, d ? 2 сандарын таңдау қажет. Бұдан алынған сандарды топтарға бөлу реттілігін көруге болады (әр топта қанша әріп болатындығын анықтау). d=2 деп алайық. Бұл дегеніміз– 26 – 5 – 9 – 20 сандарын 2 саннан тұратын топтарға бөлу қажет және оларды вектор-баған ретінде жазу керек (барлық мысалдарда есептеулер MathCAD жүйесімен жүргізіледі). Бастапқы тексттің матрицасын жащу қажет: Шифрлеу келесі өрнектеулерді есептеу арқылы жүргізіледі: С1 = МР1 және С2 = МР2 Есептеу нәтижесінде мынаны аламыз: Вектор-баған элементтерін 26-ға толық санды бөлу арқылы шифрлшеудің соңғы нәтижелері алынады. Шифрлеу нәтижесінде байланыс каналы бойынша сандардың тізбегі жіберіледі: 19 – 22 – 24 – 3. Алдын-ала таңдалған кілт SVXC шифрограммасына сәйкес алмастырылады. Мұны мынадан көруге болады: шифрлеу жүйесі математикалық түрленулерге негізделген. Қарапайым орын ауыстыру n бағаннан, m жолақтан және сан қатарларынан 1,2,...,n құралатын өзекті тізбектен шифрлеу блогінің өлшемі таңдалады. Шифрлеу келесі реттілікпен жүргізіледі: Шифрленетін текст, өлшемі n*m шифрлеу блогін түзіп, өзекті тізбектердің сандары арқылы тізбекті жолдармен жазылады. Шифрленген текст, өзекті тізбекпен тағайындалған бағаналардың реттік номерінің артуы бойынша бағана түрінде жазылады. Жаңа блок толтырылады және т.б. Криптография әдісінің идеясы мынада: ашық тексттің жазылуы және шифррдің оқылуы қандайда бір геометриялық фигураның (мысалы, квадрат) ішінде әртүрлі жолдармен жүреді. Идеяны түсіндіру үшін өлшемі 8х8 квадратты кестені (матрица) алып, текстті жол бойынша жоғарыдан төмен қарай жазамыз, ал баған бойынша солдан оңға қарай оқимыз. Мысалы, мына хабарламаны шифрлейміз: НА ПЕРВОМ КУРСЕ ТЯЖЕЛО УЧИТЬСЯ ТОЛЬКО ПЕРВЫЕ ЧЕТЫРЕ ГОДА ДЕКАНАТ. Оның матрицасын жазамыз:
Матрицада «_» символымен бос орындар белгіленеді. Түрленудің нәтижесінде шифр алынады: НМТЧРЫ_А_ЯИЛВРД_КЖТЬЫЕЕПУЕЬКЕ_КЕРЛСО_ГАРСОЯ_ЧОНВЕ_ПЕДАО_УТЕТАТ. Бұл жағдайда матрицаның өлшемі, ашық тексттің жазылу реті және шифрограмманың оқылуы кілт болып табылады. Дегенмен, кілт басқа болуы да мүмкін. Мысалы, жолақ бойынша ашық тексттің жазылуы жол номерлерінің мынадай реттілігімен өтуі мүмкін: 48127653, ал криптограмманың оқылуы баған бойынша келесі тәртіпте оқылуы мүмкін: 81357642. Матрица жолақтарына жазылу реттілігін жазу кілті, ал баған бойынша шифрограмманы оқу реттілігін оқу кілті деп айтамыз. Өлшемі n x nматрицаның көмегімен алынған криптограмманы дешифрлеу үшін әр топта n символдар болатындай етіп криптограмманы бөлу қажет. Номері оқу кілтінің бірінші санымен сәйкес келетін бағанға жоғарыдан төмен қарай шеткі сол жақтағы топ жазылады. Номері оқу кілтінің екінші санымен сәйкес келетін бағанға символдардың кінші тобы жазылады және т.б. жазу кілтінің сандарымен сәйкес келетін бағандар бойынша матрицадан ашық текст оқылады. Орын ауыстыру әдісі бойынша алынған криптограммаларды дешифрлеудің мысалын қарастырайық. Шифрлеу кезінде 6х6 өлшемді матрицалар, 352146 жазу кілті және 425316 оқу кілті қолданылғаны белгілі. Шифрограмманың тексті мынадай: ДКАГЧЬОВА_РУААКОЕБЗЕРЕ_ДСОХТЕСЕ_Т_ЛУ Шифрограмманы 6 символдан тұратын топтарға бөлеміз: ДКАГЧЬ ОВА_РУ ААКОЕБ ЗЕРЕ_Д СОХТЕС Е_Т_ЛУ Бірінші топтың символдарын матрицаның 4 бағанына жазамыз, себебі, оқу кілтінің бірінші саны– 4. 6 символдан тұратын екінші топты 2 бағанға жазамыз, символдардың үшінші тобын– 5 бағанаға және т.б.
Жазу кілті бойынша ашық текстің оқылуы 3 жолдан басталады, содан 5 жол оқылады және т.б. дешифрлеу нәтижесінде ашық текст аламыз: ХАРАКТЕР ЧЕЛОВЕКА СОЗДАЕТ ЕГО СУДЬБУ Криптограмманы дешифрлеу процедурасын автоматты түрде компьютердің көмегімен арнайы жзаылған программа арқылы жүргізуге болады. Кесте бойынша күрделендірілген орын алмастыру 5 Жол және 6 бағаннан (өзекті сөздің ұзындығы бойынша) тұратын кестені қолдану арқылы хабарламаны шифрлеуге болады. Бастапқы текст бағандарға жазылып, кесте түзеді (сурет 1). Өзекті сөзден бағандардың орнын алмастыру ережесі туындайды. Егер өзекті сөзде бірдей әріптер кездессе, онда олар солдан оңға қарай ретпен нөмірленеді. Алынған екінші шифротекст біріншісіне мүлдем ұқсамайды (сурет 4).
1-ші сурет. Кестенің көмегімен шифрлеу. Бұл шифрдің кемшілігі төмен криптотұрақтылығы. Шифрленген тексті еселегішке енгізу арқылы шифрлеу кезінде қолданылған кодты сөздің ұзындығын оңай анықтуға болады. Жоғарыда келтірігне шифрленген текстің криптотұрақтылығын арттыру үшін оны тағы да шифрлеуге болады. Бұл шифрлеу әдісі екі еселі орын ауыстыру деп аталады. Әдістің мәнісі мынада: бірінші шифрлеу нәтижесінде алынған текст өлшемі басқа кестені (жол және бағанның ұзындығы басқаша тағайындалады) қолдану арқылы екінші рет шифрленеді. Сонымен қатар, бір кестеде жолдардың орнын ауыстыруға болады, ал екіншісінде– бағандарды. Кестені бастапқы текстпен әртүрлі әдістер арқылы толтыруға болады: зигзаг, жыланша, спираль және т.б. Шифрдің тұрақтылығын арттыру үшін кесте бойынша орын ауыстыру қиындаған кезде кестеге қосымша тор енгізіледі. Қолданылмайтын элементтердің саны және орналасуы шифрлеудің қосымша кілті болып табылады. Тексті шифрлеу кезінде қолданылмайтын элементтерге тексттің символдары енгізілмейді және олардан шифрленген текстке ешқандай символдар жазылмайды. Олар ескерілмейді. Шифрленген текстті ашқан кезде символдар қолданылмайтын элементтерге енгізілмейді. Күрделі орын ауыстыру шифрін қолданған кезде символдардың топтары жол бойынша ғана емес баған бойынша орын ауыстырады. Бастапқы ашық текст кестеге әртүрлі нұсқалар күйінде жазылуы мүмкін. Бұл жағдайда хабарлама текстін солдан оңға қарай әр жолаққа жазамыз. Кестенің екі шеті бойынша өзекті сөзді және оның сандық эквивалентін жазамыз. Осыған сәйкес сандардың өсу ретіне байланысты бағандардың орнын ауыстырамыз. Содан кейін, дәл сондай тәпртіп бойынша жолдардың орнын ауыстырылады. Алынған шифротекстіде мән-мағына жоқ. Екі рет орын ауыстыру нұсқасының саны көп және ол қолданылатын шифрлеу кестесінің өлшеміне байланысты (сурет 2). Дегенмен, өлшемі үлкен кесте қолданылғанымен оның криптотұрақтылығы артпайды. Ширленген текст ТЗРАВ АЕЗПА СААЮС СТЪСН ОИЕСТ ТСОИЯ
2 -сурет. Күрделі орынауыстыру шифрі Күрделендірілген маршрут бойынша орынауыстыру Маршрут бойынша күрделі орынауыстыру арқылы (гамильтондық сияқты) шифрлеудің тұрақтылығын ажоғарылатуға болады. Шифрленетін тексттің символдарын жазу үшін гиперкубтың шыңдары қолданылады, ал шифрленген тексттің белгілері Гамильтон маршруты бойынша оқылады, дегенмен бірнеше маршрут пайдаланылады. Мысал ретінде, n=3 болған кездегі Гамильтон маршруты бойынша шифрлеуді қарастырамыз. Блок құру кезінде шифрленетін тексттің символдарымен толтырылу реті куб шыңының номерлерімен анықталады. n-Өлшемді гиперкубта n2шыңы бар. Шифрленетін блоктарда символдардың орынауыстыру реттілігі бірінші схема үшін 5-6-2-1-3-4-8-7, ал екіншісі үшін 5-1-3-4-2-6-8-7. Осындай жолмен басқа да маршруттар үшін орынауыстырудың реттілігін алуға болады: 5-7-3-1-2-6-8-4, 5-6-8-7-3-1-2-4, 5-1-2-4-3-7-8-6 және т.б. Гиперкубтың өлшемі, Гамильтон маршрутының түрінің мөлшері әдістің құпия кілтін құрайды. Гаммирлеу әдісі бойынша шифрлеу Шифрлеудің жылдамдығын арттыру және есептеу машиналарын қолдану үшін текстіні сандық күйге ауыстыру қажет. Бұл кезде текст эквивалентті сандармен немесе екінші ретті кодпен алмастырылады. Нәтижесінде, шифрленетін тексттің символдары арнайы тізбектің символдарымен (гамма) бірігеді. Бастапқы текстке гамманы қосуды екі әдіспен жүргізуге боады: Бірінші әдіс кезінде эквивалент сандармен ауыстырылған тексттің символдары К модулі бойынша біріктірледі, мұндағы, К– гаммамен біріккен символдардың саны (Вижнер коды). Екінші әдіс кезінде бастапқы тексттің символдары және кілттері екінші ретті код ретінде ұсынылады. Одан кейін, 2 модулі бойынша бір-бірімен реттеліп қойылады. Кілт ретінде ондық сандар жүйесі, немесеетәрізді константаларболуы мүмкін. Онда масканың ұзындығы нақты тағайындалады. Модуль 2 бойынша қосу операциясы қайтымды болады, содықтан шифрленген хабарламаның маскасымен қосқан кезде бастапқы текстті алуға болады. Айтарлық «Крона» сөзін шифрлеу керек, оның әр әрпінің екінші ретті код түрінде эквиваленті бар. Мысалға, 1001 кілтін пайдаланып, модуль 2 бойынша оны әріптердің екінші ретті кодтарымен біріктіреміз. Нәтижесінде, 0 және 1 құралған тізбекті аламыз.
Гамманы қосуды бірнеше әдістермен жүзеге асыруға болады. Мысалы, формула бойынша tш = tо XOR tг, мұндағы, tш,tо,tг – шифрленген символдардың, бастапқы символ мен гамманың ASCII кодтары. XOR – бит бойынша операция. Шифрді ашу сол формула бойынша жүргізіледі: tо = tш XOR tг, Кездейсоқ сандар датчигінің көмегімен гамманың тізбегін құру оңай. Тапсырма нұсқалары: Төменде келтірілген екі әдістердің комбинациясы арқылы текстті шифрлеу және шифрін ашу. Программа құрылысы кездейсоқ бастапқы файлдардың (.exe, .txt) әр символы үшін бірінші әдісті қолданып, содан кейін екінщісін жүзеге асырып, алынған файлды жазады. Арнайы кілтті талап ететін әдістер үшін кілт қолданушының тағайындаған кілтінен құрылады. Кілттің үлгісі: фф12К52. Шифрленген және дешифрленген файлдардың өлшемі бастапқы файлдікіндей болуы қажет.
Бақылау сұрақтары Симметриялы криптоалгоритмдер дегеніміз не? Симметриялы криптоалгоритмдердің классификациясы. Шифрлеуде қолданылатын қандай алмастыру әдістерін білесіз? Шифрлеуде қолданылатын қандай орынауыстыру әдістерін білесіз? Гаммирлеу әдісімен ақпаратты шифрлеуді түсіндіріңіз. Криптожүйедегі кілт дегеніміз не? Қызғылт блокнот. Жүйенің криптотұрақтылығы дегеніміз не? Кілтті қолдану ережесі. |