32
Мысалы, бастапқы мәтіннің бірінші «М» әріптің астында кілттің «В» әрпі
жазылған. Кодтау кестеде «М»-нан басталатын бағанды және «В»-нан басталатын жолды
табамыз. Олардың қиылысында «О» әрпі тұр. Бұл әріп шифрланған хабардың бірінші
символы болады (2.4 суретте бұл әріп төртбұрышпен белгіленген). Бастапқы хабардың
келесі әрпі – «Е», кілт символы – «Е». «Е» дан басталатын жол мен бағанның қиылысын
табамыз. Бұл әріп «Л» - шифрланған хабардың екінші символы.
Сурет 2.4. Көп алфавитты орнына қою шифрлаудың механизмы
Вижинер әдісі бойынша хабарды ашып оқу мысалын қарастырайық. ВЕСНА кілт
көмегімен шифрланған КЕКХТВОЭЦОТССВИЛ хабар болсын (шифрлау кезінде ақ
жерлері еске алынбаған). Мәтіннің дешифрлауы келесі ретпен орындалады (2.9 кесте):
шифрланған мәтін әріптерінің үстінен рет-ретімен кілттің әріптері жазылады және
қажетті
рет кілт қайталанады;
Вижинер кестесінің бағыныңқы матрица жолында әрбір кілт әрпі үшін шифрланған
мәтін белгісіне сәйкес әріп іздеп табылады. Оның үстінде тұратын бірінші жолдын
әрпі ашылған мәтіннің белгісі
болып табылады;
алынған мәтін мағынасы бойынша топтастырылады.
Кесте 2.9.
Дешифрлау механизмы
КІЛТ
ВЕСНАВЕСНАВЕСНАВ
ШИФРЛАНҒАН МӘТІН
КЕКХТВОЭЦОТССВИЛ
АШЫП АЛЫНҒАН МӘТІН ЗАЩИТАИНФОРМАЦИИ
БАСТАПҚЫ МӘТІН
ЗАЩИТА ИНФОРМАЦИИ
Бір алфавитты орнына қою әдісі сияқты Вижинер шифрын ашуға мүмкін емес,
өйткені ашық мәтіннің бірдей символдары шифрланған мәтіннің әртүрлі символдарымен
ауыстырылу мүмкін. Басқа жақтан, ашық мәтіннің әртүрлі әріптерінің орнына
шифрланған мәтіннің бірдей белгілері қойылу мүмкін.
Берілген көп алфавитты орнына қою әдістің ерекшелігі мұндай – кілт
символдарының әрбіреуі бастапқы хабардың бір символын шифрлау үшін пайдаланады.
Кілт символдарының барлығын пайдаланғаннан кейін, олар сол ретімен қайталанады.
Егер он әріптен тұратын кілт пайдаланса, онда хабардың әрбір
оныншы әрпі кілттің бірдей
символымен шифрланады. Осы параметр
шифр периоды деп аталады. Егер шифрлау кілті
бір символдан тұрса, онда шифрлау кезінде Вижинер кестесінің бір жолы пайдаланылады,
сондықтан бұл жағдайда біз моноалфавитты
орнына қоюды аламыз, яғни Цезарь шифрын.
Мәтін шифрлауның сенімділігін күшейту үшін екі немесе одан көп Вижинер әдісі
бойынша (әртүрлі кілтпен) қатар шифрлауды пайдалануға болады (Вижинер құрама
шифры).
33
Тәжірибеде Вижинер әдісінен басқа оның әртүрлі өзгертулері пайдаланған.
Мысалы, бір рет араластырылған Вижинер шифры. Бұл жағдайда хабарды ашып оқу үшін
алушы кілтті
білгеннен басқа, шифрлау кестедегі символдардың ретін білу қажет.
Көп алфавитты орнына қоюдың тағы бір мысалы –
жүгіру кілті бар шифр немесе
кітап шифры. Бұл әдісте мәтінді шифрлау үшін басқа мәтін кілт ретінде пайдаланады.
«Компьютерге» дейін заманда криптографияда жүгіру кілті бар шифры үшін жуан
кітапты таңдап алатын (осыдан шифрдың екінші атауы шықты). Осындай шифрлау әдістің
периоды - кілт ретінде таңдап алынған шығарманын ұзындығы болып табылады.
Көп алфавитты орнына қою әдістері, соның қатарында Вижинер әдісі, «қол»
криптоталдауға қиын беріледі. Көп алфавитты орнына қою әдістерді ашу үшін арнайы,
күрделі алгоритмдер жасалынған. Компьютердің пайдалануымен көп алфавитты орнына
қою әдістердің ашуын тез уақытта жүзеге асыруға болады.
ХХ ғасырдың бірінші жартысында көп алфавитты орнына қою процесті
автоматтандыру үшін роторлық шифрлау машиналарды кең қолдана бастады. Осындай
құрылғыдағы басты элементі роторлар – орнына қоюды орындау үшін пайдаланатын
механикалық дөңгелектер. Роторлық шифрлау машинада әдетте пернетақтасы мен ротор
жиынтығы болатын. Әрбір роторда символдар жиынтығы (алфавиттегі саны бойынша)
болатын, олар кез келген ретімен орналасатын және ротор қарапайым орнына қоюды
орындайтын. Бірінші ауыстыруды орындағаннан кейін хабар символдары екінші ротормен
өңделетін және әрі қарай. Роторларды ығыстырып шифрлау кілтті тапсыруға болатын.
Кейбір роторлық машиналар шифрлау барысында символдардың орнын да ауыстыра
алатын. Осындай типке жататын ең танымал құрылғы неміс шифрлау роторлық машина
Энигма (лат. enigma — жұмбақ), ол Екінші Дүниежүзілік соғыс кезінде пайдаланған еді.
Энигманың түрлі роторлар саны бар бірнеше моделі шығарылған болатын. Үш
роторы бар
Энигма шифрлау машинада 16900 әртүрлі алфавитты пайдалануға болатын.
Гаммалау әдісі
Көп алфавитты орнына қоюдың тағы бір жиі кездесетін жағдайы
гаммалау. Бұл
әдісте шифрлау бастапқы мәтіннің символдарын және модулі бойынша алфавиттың
әріптер санына тең кілтпен қосу арқылы орындалады. Егер бастапқы алфавитте, мысалы,
33 символ, онда қосы 33 модулі бойынша орындалады. Осындай бастапқы мәтіннің және
кілттің қосу процесі криптографияда
гамманы салу деп аталады.
Бастапқы алфавиттың символдарына 0 (А) ден 32 (Я) дейін сандар сәйкес болсын.
Егер бастапқы символға сәйкес санды
х деп, ал кілт символын -
k деп белгілесек, онда
гаммалау ережесін былай жазуға болады:
z =
x +
k (mod
N),
мұнда
z – кодталған символ;
N - алфавиттың әріптер саны, ал
N модулі бойынша қосу –
кәдімгі қосуға сәйкес операция (оның айырмашылығы – кәдімгі қосудың нәтижесі
N–ға
тең немесе одан артық, ал модулі бойынша қосудың нәтижесі
N–ға бөлудін қалдығы).
Мысалы, 33 модулі бойынша Г (3) мен Ю (31) символдарды қосайық:
3 + 31 (mod 33) = 1,
яғни нәтижесінде аламыз 1 санға сәйкес Б символын.
Тәжірибеде ең жиі кездеседі
екілік гаммалау. Мұнда екілік алфавит пайдаланады,
ал қосу 2 модулі бойынша орындалады. 2 модулі бойынша қосу операцияны көбінесе
деп белгілейді, сонда жазуға болады:
z =
x +
k (mod 2) =
x k.
Екі модулі бойынша қосу операциясы логика алгебрасында «шығарып тастайтын
ИЛИ» немесе ағылшынша XOR деп аталады.
Мысал қарастырайық. Бізге 14 ондық санды 12 кілтті пайдаланып гаммалау әдіспен
шифрлау керек. Ол үшін алдымен бастапқы санды және кілтті (гамманы) екілік түрге
түрлендіру керек:
14
(10)
= 1110
(2)
, 12
(10)
= 1100
(2)
.