329
13-тақырып. ШИФРЛЕУ АЛГОРИТМДЕРІН
БАҒДАРЛАМАЛЫҚ ЖҮЗЕГЕ АСЫРУ
Дəрістің мəн-мəтіні
Мақсаты: Шифрлеу алгоритмінің бағдарламалық таратылу-
ымен танысу
Дəріс жоспары:
1. Шифрға қойылатын долбарлық талаптар жəне шифрлар са-
пасын бағалау
2. Криптографиялық талдау есептерінің əртүрлілігі. Абсо лют-
тік тұрақтылық жəне амалдардағы тұрақтылық
3. Сапалы шифрлар синтезі. Блоктік шифрлар. Жалғанкездейсоқ
тізбектердің қиындауы
4. Қорғаулық түрлендіру əдістеріне қойылатын негізгі талап-
тар
Негізгі түсініктер: Шифр, априорлық талап, шифр сапасы.
Тақырыптың мазмұны: Шеткі өрістерге бірыңғай сызықтық
рекурентті тізбектердің ақпаратын қорғау алгоритмдерін
бағдарламалауға Т кезеңінде жетуге болады:
Т = Р
к
– 1, мұнда:
Р - өріс элементтерінің саны,
k -көпмүшені сипаттау дəрежесі.
Мысалы, өріс элементтерінің саны Р=2 болып, дəреже к=4
болса, онда ең үлкен мүмкіндік кезеңі Т=15 болады.
Шифрдің сапасы мына формуламен бағаланады:
А={I,S,O,X(I,S)-S,Y(S,I)-O}, мұнда:
А- шекті автомат;
I- енгізілген сөздер жиыны;
O- шығатын сөздер жиыны;
S- жағдайлар жиыны;
22–1525
330
X- S автомат ауысу функциясындағы декарттық көбейтінді;
Y- O автомат шығу функциясындағы декарттық көбейтінді.
Е шифрлау кескінінің сапасын бағалағанда нақты бір шарттар
берілуі керек. Бұл жағдайда шифрды анықтау шартының орында-
луына жеткен дұрыс болады, нақтылағанда у шифрмəтіні немесе
у жəне х шифрланған жəне ашық мəтіні бойынша k түрлендіру
параметрін табу көп еңбекті қажет етеді.
Есептердің бірнеше типтік сыныптарын тұжырымдауға бола-
ды:
• шифрмəтін бойынша кілтті табу, шифрлау кілтін таппай
шифрмəтін бойынша ашық мəтінді табу;
• у=Е(k,х) арақатынасымен немесе бірнеше жұптармен байла-
нысқан х жəне у жұбы бойынша к кілтін табу;
• у=Е(k,х) болатын, яғни бір кілтте шифрланған (х,у) белгілі
жұптар жиыны үшін кейбір х табу. Қисындалған есептерді мы-
салдармен түсіндіріп көреміз.
Неғұрлым түсініксіздеуі 3-есеп болып саналады. у=Е(k,х)
үшін х қайдан алынуы мүмкін?
Бірақ, х мəтіні жалпыға бірдей белгілі деп ұйғарайық – мы-
салы, бір кілтпен шифрланған файлдардың ішінде, барлығында
(ашық мəтін белгілі) болатын, DOS утилиті бар, демек, бұл
жағдайда біз кілтті тауып, бүкіл файлдарды қалпына келтіреміз.
Байланыс арналары бойынша деректерді беру кезінде, мəтіннің
үлкен бөлігі, сондай-ақ белгілі болатын – толық анықталған құ-
рылымның төлем ведомосінде «Сіздің шығыс жедел хатқа –
біздің кіріс жедел хат» түріндегі сұрау берілетін жағдай туындауы
мүмкін.
Коммутативтік топтық операциялар («модуль 2 бойынша со-
масы») көмегі жағдайында кілтті салу əдісімен бір кілтте шифр-
ланған екі жеделхат (телеграмма) үшін ашық мəтінді табу. Осы
жəне одан кейінгі мысалдарда ASCII-кодтау пайдаланылады.
Енді түрлендіру параметрін табу есептеріне қатысты Е түр-
лендіруінің күрделілігін сипаттайтын, шифрдың беріктік ин-
туитивті анық ұғымын енгіземіз. Сонымен, шифрланатын түр-
лендірудің беріктігі – бұл k кілтін түрлендіру параметрін, не
қандай да бір жағдайларда (мысалы, жоғарыда тұжырымдалған)
х мəтінін табу міндеттерінің көп еңбекті қажет ететіндігі.
331
Көп еңбекті қажет ететіндік ұғымы алгоритм ұғымымен бай-
ланысты, яғни k кілтін табу үшін кейбір алгоритм құрылады деп
ұйғарылады жəне беріктік оның көп еңбекті қажет ететіндігімен
бағаланады. Екіншіден, төменде біз, кейбір уақытта кілтті табу
немесе бастапқы мəтінді табу алгоритмі бірнеше кілтті немесе
бірнеше ой елегінен өткізген мəтіндерді туғызатынын көреміз.
Шифр абсолют тұрақты болатын, яғни х мəтінді ешқашанда
табу мүмкін болмайтын жағдайды қарастырамыз. Клод Шеннон
осындай шифрға арналған шартты тұжырымдады. Бұл шарт,
жалпы түрде айтқанда, қарсыластың кейбір мəтінін ұстап алған
кезде берілген х туралы ешқандай ақпарат алмауға тиіс екендігі
тұрғысынан аса қисынды саналады.
Мына белгілеулерді енгіземіз:
р(х/у) – у мəтінді ұстап алу кезінде х мəтіннің шифрлану
ықтималдығы,
р(х/у) – х-ны шифрлау жағдайы кезінде атап айтқанда у
алынғандық ықтималдығы немесе х-ны у-ға ауыстыратын бүкіл
кілттерді пайдаланудың жиын ықтималдығы,
р(у) – у криптограммасын алу ықтималдығы,
р(х) – х мəтінді шифрлау үшін мүмкін жиынынан х-ны алу
ықтималдығы.
Кілт туралы немесе ашық мəтін туралы қарсылас ешқандай
ақпарат алмау үшін:
р(х)=р(х/у)
жеткілікті жəне қажет, яғни мүмкін мəтіндердің жиынынан
шифрлау үшін аталған мəтінге сəйкес келетін криптограмманы
алу кезінде өзгермейтіндей мəтінді таңдау ықтималдығы.
Байес формуласы бойынша: р(х)р(у/х)
р(х/у)--------
Р(У)fo) =p(x/y) теңдіктен р(у) =р(у/х) шығады, яғни х-ны у-ға
ауыстыратын бүкіл кілттердің жиын ықтималдығы у криптограм-
масын алу ықтималдығына тең болуы тиіс жəне х-ға тəуелді емес
болуы қажет.
Осы теңдіктен сондай-ақ екі маңызды салдар туындайды:
- бүкіл мүмкін кілттер саны хабарлар санынан аз болмауы тиіс,
əрбір у үшін k кілті табылуы тиіс, ол кез келген х-ны аталған у-ға
(транзитивтік шарты деп аталатын) ауыстырады, оған керісінше,
332
жағдайда, у нақты шифрмəтінін алып, қараудан кейбір кілтті не-
месе ашық мəтіндерді алып тастауға болады.
Бұл шарт қажет болып саналады, яғни олардың ең болмағанда,
біреуін орындамау шифрды абсолют тұрақсыз етеді.
х ., у., k . {0,1}-ге жатады деп алайық.
y=x+k(mod 2) - шифрлау,
x=y+k(mod 2) – шифрын (мағынасын) ашу.
Ұзындығы 1 хабар қарастырылады деп алайық, хабар ұзындық
1-ге дейін барған сайын аз ретсіз ақпараттармен толықтырылады.
k кілті – ұзындық L-дың екілік векторы жəне ол ұзындық
L-дің мүмкін векторлар жиынынан теңықтималдықпен кездейсоқ
таңдалады.
Шифрлаудың осындай жүйесі Шеннон бойынша абсолют
тұрақты болады.
Ал, қарсылас болса, егер мен ұзындығы 1 бүкіл кілтті теріп ал-
сам, онда өзіме қажетті хабарды аламын ғой деген қарсы пікірін
білдіреді.
Жаңа кілттерді салып көрген сайын, олар барған сайын одан да
жаңа жəне жаңа сөз тіркестерін, мақалдарды, өлең шумақтарын,
ұлы жаңалықтарды, бір сөзбен айтқанда, берілген ұзындықта бү-
кілмүмкін мəтіндерді көретін болады. Шеннон шартын талдай
отырып, берілетін мəтінге тең көлемдегі кілт шифрлары үшін
ғана олардың қатаң орындалуы мүмкін екенін көруге болады.
Жалғанкездейсоқ тізбектерді жасауға пайдаланылатын кілттің
шектеулі көлемімен қолданылатын шифрлау сызбалары шеннон
бойынша (оған өз бетімен көз жеткізуге болады) абсолют тұрақты
емес болады.
1. Коммутатитвтік топтық операциялардың көмегі жағдайын-
да жалғанкездейсоқ тізбектілік шифрлары үшін бір кілтті бір
рет жəне одан көп əртүрлі мəтіндер үшін пайдалануға рұқсат
етілмейді.
2. Жалғанкездейсоқ тізбектілік үлкен кезеңге ие болуы тиіс.
3. Тізбектілікте белгілердің кездесушілік ықтималдығы шама-
мен бірдей болуы тиіс.
4. Жалғанкездейсоқ тізбектілік, кез келген кескіні бойынша
оны алдын ала болжауға (ұйғаруға) жəне кері анықтауға қиын бо-
луы тиіс.
333
Жалпы түрде айтқанда, қорытындылай келе, егер қарсылас,
бүкіл мүмкін жиыннан шифрмəтінді шамамен тең ықтималдық-
та алатын болса, онда Шеннон шарты жоғары дəлдік дəрежесі-
мен орындалады деп айтуға болады. Шеннон шартын сандық
тұрғыдан бағалау аса қиын екенін көру оңай, екіншіден дешиф-
рлау үшін, негізінен, шифрланатын түрлендіруге өте тəуелді, нақ -
ты алгоритм пайдаланылады. Осымен байланысты, нақты алго-
ритм үшін ашық мəтінді немесе кілтті табудың қандай да бір
міндеттерін шешу үшін қажет операциялардағы тұрақтылығын
бағалау қисынды болар еді.
Бұл үшін:
- алгоритм тұжырымдау (бұл ретте, статистикалық гипотеза
құру қателермен кілтті өткізумен, не жалған кілттерді табумен
байланысты екенін естен шығармау керек, нақты шын кілтті табу
ықтималдығын қою жəне бұл ықтималдық аса аздық ететін бүкіл
алгоритмдерді алып тастау керек), осы алгоритмнің (төмендегіге
қараңыз) қарапайым операцияларының ұғымын тұжырымдау,
кілтті табу үшін осы операциялар санын анықтау, алгоритм үшін
қажетті жадты анықтау (өте үлкен жады бар алгоритмдер жа-
рамсызға шығарылуы тиіс) қажет.
Сонымен, аталған шифрлайтын түрлендіру үшін бүкіл белгілі
кілтті немесе ашық мəтінді табудың алгоритмдеріне барынша аз
еңбек жұмсаушылықты операциялардағы тұрақтылық деп атай-
тын боламыз.
Шифрлайтын түрлендірудің тұрақтылығы - бұл k кілтін
түрлендіру параметрін немесе кез келген шарт бойынша х
мəтінін табу есебінің еңбек сиымдылығы. Еңбек сиымдылығы
түсінігі алгоритм түсінігімен байланысты, яғни k кілтін табу үшін
белгілі бір алгоритм құрылады жəне тұрақтылық оның еңбек
сиымдылығымен бағаланады. Егер X мəтінін табу ешқашан мүм-
кін болмаса, онда шифр абсолюттік тұрақты болады.
Сенімді, тұрақты шифрды құру мəселесін қарастырайық. Біз-
дің айналамыздағы барлық күрделілер қарапайым құрауыштар-
дан тұрады, міне, осы қағиданы криптографияда қолдануға бо-
лады. Мысалы, бірнеше қарапайым түрлендіруді бірнеше рет
қайталайық, сонда нəтижесі жеткілікті бола ма?. Мəтіннің əр
əріпін шифрлау үшін екі рет бірдей дəрежелі екі түрлі ауыстыру-
334
ды қолданайық. Сонда, əр əріпке барлығы бір ауыстырумен əрекет
жасадық, бұл шифрлауға қолданғандардың бəрінің көбейтіндісі
болады. Екінші жағынан, ауыстыру əртүрлі болады жəне мүмкін
болатын көбейтінділер барлық мүмкіндіктерден белгілі бір жиын-
ды береді, бұл жақсы емес, өйткені шифрмəтінде кейбір əріптер
кездеспеуі мүмкін.
Оларды құру тəсілдері мен желіде қолдану криптографиялық
əдістерді сыныптау негізіне алынады. Аталған сыныптау 33-су-
ретте берілген.
Достарыңызбен бөлісу: |