Қазақстан Республикасының Білім және ғылым министрлігі
Әл-Фараби атындағы Казақ Ұлттық Университеті
Факультеті: «Ақпараттық технологиялар»
Кафедрасы: «Ақпараттық жүйелер»
Мамандығы: «Ақпараттық қауіпсіздік жүйелері»
СРС
Тақырыптары:
«СОӨЖ 4. «Блоктық шифрларды қолдану режимі.
Орындаған: Амантаев Ахмет
Тексерген: Хомпыш А.
Тобы: Сиб 18-1а
Алматы 2018ж.
Блоктық шифрларды қолдану режимі.
Блоктық шифрлеу кезінде бастапқы мəтін ұзындығы тұрақты бекітілген блоктарға бөлінеді. Блок мəтіндері бір-біріне қатыссыз бөлек шифрленеді. Шифрлеу үшін барлық блоктарға бір ғана кілт қолданылады. Шифрлеу тəсілдері ауыстыру, алмастыру, құрастырма шифрлар болып бөлінеді.
Ауыстыру шифрі белгілі бір ереженің көмегімен бастапқы мəтін символдарын басқа символдармен ауыстыру арқылы анықталады. Егер шифрлеу үшін бір əліпби қолданылса, онда шифр бір əліпбилі немесе моноəліпбилік деп аталады. Егер бірнеше əліпби қолданылса, онда ол көп əлипбилі немесе полиəліпбилі деп аталады. Бір əліпбилі шифрдің ең қарапайым мысалы Цезарь шифры.
Қазақ алфавитіне пробел символын қосып, сəйкес келетін ретпен жазып шығайық.
“ А Ə Б В Г Ғ Д Е Е Ж З И Й К Қ Л М Н Ң О Ө П Р С Т У Ұ
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Ү Ф Х Һ Ц Ч Ш Щ Ъ Ы І Ь Э Ю Я
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
Цезарь хаттарды келесі формуланың көмегімен шифрлеген:
(əріп)= ((əріп)+N) mod 43 Мұндағы 1<=N<43
N – шифрлеу кілті
Цезарь шифрімен түрлендірілген хабарламаға мысал:
Б М С Б Т Б Ұ Ə Б Н Ң Б У Ү N=0,2
А Қ П А Р А Т А Л М А С У
Əйгілі Вижинер шифры да көп əліпбилі ауыстыру шифріне жатады. Шифрлеу өлшемі n*n матрицасының көмегімен жүргізіледі. Кестенің бірінші жолында əліпбидің символдары түгелдей жазылады. Келесі жолдары алдыңғы жолды бір символға солға жылжыту арқылы табылады.
Хабарды шифрлеу үшін:
1) Түйінді сөз таңдайды. Мысалға «ақпарат» сөзін таңдайық.
2) Ашық мəтін символдарының астына кілт символдарын жазады. Егер кілт хабардан қысқа болса, оны бірнеше рет қайталайды.
О Р Ы Н А Л М А С Т Ы Р У Ш И Ф Р І (*)
А қ п а р а т а қ п а р а т а қ п а (**)
3) Шифрмəтін символы Вижинер кестесі көмегімен ізделінеді. Ол үшін (*) тізбегіндегі символды кесте жолынан, ал (**) тізбегіндегі символды кесте бағанынан іздейсіз. Шифрланған символ сол бағана мен жолдың қиылысында орналасқан.
Сонда келесі шифрмəтін аламыз:
Кесте 1 Вижинер кестесі
Мəтінді шифрлеуде сенімділік жоғары болуы үшін Вижинердің жетілдірілген кесте түрі ұсынылады, ол келесіде :
1) Алфавит əріптері барлық (біріншісінен басқа) кесте жолдарында өз еркімен орналасады;
2) 0-ден 9-ға дейінгі натурал сандармен нөмірленген он (біріншісін есептемегенде) жол таңдалады;
3) Кілт ретінде шамалар қолданылады. Ақпаратты сенімді шифрлеуді қамтамасыз ететін ауыстыру əдісінің жеке жағдайы матрицалардың алгебрада (мысалы, векторға матрицаны көбейту) қолдануы болып табылады:
Осы ережеге сəйкес A={aij} матрицасын шифрлеуге арналған негіз ретінде пайдалануға болады, B={bi} вектор белгілері шифрленген мəтін символдары бола алады, ал вектор белгілерінің нəтижесі C={сi} шифрланген мəтін символдары болып табылады.
Əріптік ақпаратты шифрлеу үшін ең алдымен алфавитте əріптің реттік нөмірі бола алатын цифрлік эквиваленттерін алфавит белгілеріне ауыстыру керек.
Дешифрлеу үшін векторға матрицаны көбейту ережесі қолданылады, тек қана негіз ретінде кері матрица алынады, ал көбейткішті вектор ретінде шифрленген мəтіннің лайықты сандар жиынынан алады.
Шифрлау жəне шифрді ашу процедуралары қатал формализацияланған, бұл автоматты орындаулар үшін салыстырмалы жеңіл бағдарламмалауға рұқсат етеді. Осы əдістің кемшілігі əрбір əріпті шифрлау жəне шифрді ашу үшін бірнеше арифметикалық əрекеттер орындау керек, бұл ақпаратты өңдеу уақытын үлкейтеді.
Орын алмастыру шифрлері символдардың орналасу позицияларын ған өзгертеді. Ең қарапайым шифр – жай бағаналық орын алмастыру шифрын келтірейік.
Шифрдің бұл түрінде мәтін ұзындығы біркелкі блоктарға алдын ала бөлініп горизантал бағытта бірнеше рет жазылады. Шифрмәтінді алу үшін мәтінді вертикал бағытта оқу керек. Дешифрлеу үшін шифрмәтін вертикал бағытта жазылып, ашық мәтін горизонтал бағытта оқылады.
Мысал. Ашық мəтін ретінде келесі сөйлемді алайық:
СИММЕТРИЯЛЫ ЖҮЙЕНІ ШИФРЛЕУ
Сөйлемді алты жолы, төрт бағанасы бар кесте түрінде жазайық:
С И М М Е Т
Р И Я Л Ы Ж
Ү Й Е Н І Ш
И Ф Р Л Е У
Шифрмəтін алу үшін кестедегі символдарды бағана бойымен (жоғарыдан төменге) оқып мысалға бес-бестен топқа бөліп жазамыз.
Сонда шифрмəтін аламыз: срүии ийфмя ермлн леыіе тжшу.
Орын алмастыру шифры хабарлаудың шифрлауына арналған символдардың n ұзындығымен өзгеруін қарастырамыз.
Оны кесте көмегімен көрсетуге болады
мұндағы i1 – шифрмəтінінің нөмірі, i2 – екінші əріп үшін орын нөмірі жəне т.с.с. Кестенің жоғарғы жолында 1-ден nге дейінгі сандар ретпен жазылған, ал төменгі жолында сол сандар, тек сандар өз бетінше орналасқан. Осындай кесте n дəрежесінің ауыстырылуы деп аталады.
Келесі бағдарлама кодының (Object Pascal тілінде) үзіндісі негізгі хабарлауды шифрлеу жəне шифрді ашуда оның орын алмастыру шифрын қолдануды демонстрациялайды:
const Lmax=100;
type TArr=array[1..Lmax] of integer;
{процедура-мəтінді шифрлеу функциясы
Кіру параметрі: txt — негізгі мəтін, password — кілт
Функцияның нəтижесі – шифрленген мəтіннің жолы}
function SH_TO(txt:string;password:TArr):string;
var i,l:integer;
shifr:array[1..Lmax] of char;
s:string;
begin
l:=length(txt);
for i:=1 to l do
shifr[password[i]]:=txt[i];
for i:=1 to l do
s:=s+shifr[i];
result:=s;
end;
{процедура-шифрді ашу функциясы
Кіру параметрі: txt – шифрленген текст, password – кілт
Функцияның нəтижесі – шифрі бұзылған мəтіннің жолы }
function SH_FROM(txt:string;password:TArr):string;
var i,l:integer;
s:string;
begin
l:=length(txt);
for i:=1 to l do
s:=s+txt[Password[i]];
result:=s;
end.
Құрастырма шифрлар.Бұл шифрдің негізінде, сенімді криптожүйе құрастыру үшін ауыстыру жəне орын алмастыру сияқты қарапайым шифрларды алма – кезек бірнеше рет қолдану идеясы жатыр. DES (Data Encryption Standard, АҚШ), FEAL-1 (Fast Enciphering Algoritm, Жапония), IDEA/IPES (International Data Encryption Algorithm/Improved Proposed Encryption Standard, Ascom-Tech AG фирмасы, Швейцария), B-Crypt (British Telecom фирмасы, Ұлыбритания), АES (АҚШ), ГОСТ 28147-89, Skipjack (АҚШ) жəне басқа көптеген алгоритмдер шифрдің осы түріне жатады.
Құрастырма шифрларына мінездеме 2-кестеде көрсетілген.
Кесте 2 Құрастырма алгоритмдері
Алгоритмдердің аты
|
Кілттің өлшемі, бит
|
Блоктың өлшемі, бит
|
Инициализация векторының өлшемі, бит
|
Шифрлеу циклінің саны
|
Lucipher
|
128
|
128
|
|
|
DES
|
56
|
64
|
64
|
16
|
FEAL-1
|
64
|
64
|
4
|
|
B-Crypt
|
56
|
64
|
64
|
|
IDEA
|
128
|
64
|
|
|
ГОСТ 28147-89
|
256
|
64
|
64
|
32
|
Достарыңызбен бөлісу: |