WE ARE LEANING CRIPTOGRAPHY
сөйлемді алты жолы, төрт бағанасы бар кесте түрінде жазайық
-
W
|
E
|
A
|
R
|
E
|
L
|
E
|
A
|
N
|
I
|
N
|
G
|
C
|
R
|
Y
|
P
|
T
|
O
|
G
|
R
|
A
|
P
|
H
|
Y
|
Шифрмәтін алу үшін кестедегі символдарды бағана бойымен (жоғарыдан төменге) оқып мысалға бес-бестен топқа бөліп жазамыз. Сонда келесі шифрмәтін аламыз: wesge arran yarip penth lgoy
Шифрлау үшін әдейілеп жасалған трафареттер, палеткалар да қолданылады. 4‑суретінде Кардано тәсілінде қолданылатын трафарет көрсетілген. Квадрат кестенің кейбір ұяшықтары кестені 4 рет айналдырғанда кестені толық толтыратындай етіп қиылған. (4‑суретін қара).
4-сурет. Кардано тәсілі
Мысал. WE ARE LEANING CRIPTOGRAPHY ашық мәтіннің 4-суретте көрсетілген трафарет көмегімен шифрлайық. Трафаретті таза қағаздың бетіне салып, ашық ұяшықтарға біртіндеп символдарды жаза бастаймыз (5-суреті). Трафаретті толтырғаннан кейін оны сағат тілімен 900 бұрамыз трафареттің бетін ауыстырып бұрамыз. Процедураны қайталаймыз т.с.с. Толтырылмай қалған ұяшықтарға кездейсоқ символдарды жазуға болады. Соңынан трафаретті алып тастап, кестедегі тексті жол бойымен оқып шығамыз.
Шифртекст келесідей болады: nwese rilya lnapg ratabo cdpeg hfyker
................ 5-сурет. Кардано тәсілін қолдану.
Құрастырма шифрлар. Бұл шифрдың негізінде, сенімді криптожүйе құрастыру үшін ауыстыру және орын алмастыру сияқты қарапайым шифрларды алма – кезек бірнеше рет қолдану идеясы жатыр.
DES, AES және басқа көптеген алгоритмдер шифрдің осы түріне жатады. DES, AES криптоалгоритмдерін 3-ші бөлімде қарастырамыз.
Ағындық шифрлар. Егер блоктық шифрлау алгоритмдері мәтінді блоктарға бөліп оларды бір бірден ретімен шифрлайтын болса, ағынды шифрлау алгоритмі мәтінді бөліктемей әр элементін шифрлап ағынды күйде жіберіледі. Шифрлау және дешифрлау негізінен 2 модулі бойынша ашық және кездейсоқ кілт тізбегін қосу операциясын қолданады. Тарихи бірінші ағынды шифр Вернам шифры (6-суреті). Вернам шифрының ерекшелігі оның кілт тізбегінің шифрлауында. Бұл шифрдың практикалық қолданылуы өте ұзын кілт тізбектерінің жасалуына байланысты қолайсыз деп есептелінеді.
6-сурет. Вернам шифрының сүлбесі
Синхрондық шифр. Синхрондық шифрда кілт тізбегі ақпарат ағынына байланыссыз. Хабар алушы және хабар жіберуші жағында кілт тізбегі генераторының жұмысы синхрондалған болу керек. Әйтпесе бір бит мәліметтің жоғалып кетуі қалған символдардың қате дешифрлануына әкеледі.
Өзіндік синхронданатын шифр. Шифрдің бұл түрінде ашық мәтін символдары алдыңғы n символға байланысты шифрланады. Ол алдыңғы n символ кілт тізбегінің жасалуына қатысады. Синхрондау режимі әр n шифрмәтін символынан кейін автоматты түрде орындалады.
Құрама шифрлар. Құрама шифр алгоритмінде блоктық және ағындық шифрлау тәсілдері бірге қолданылады. Практикада құрастырма шифр DES алгоритмінің әр түрлі режимдерінде пайдаланылады.
Идеал шифр талабы. Клод Шеннон егер:
Біркелкі таралу заңдылығымен шын мәнінде кездейсоқ екілік тізбек болып табылатын кілт қолданса;
Кілт ұзындығы бастапқы хабардың ұзындығына тең болса;
Кілт бір ғана рет қолданса шифр абсолют сенімді болады деп дәлелдеді.
Бұл үш талаптың бірден орындалуы әрине қиынға түседі. Дегенмен абсолют сенімді шифр бар және ол бір жолғы блокнот деп аталады. (onetime pad). Шифрді 1917 жылы Мэйджер Джозеф Мобори және Гильберт Вернам ойлап тапқан. Кілттің кездейсоқ символдарының тізбегі блокнот беттеріне жазылады. Хабар жіберуші шифрлау үшін кілтті осы блокноттаналып шифрлау процедурасын аяқтағаннан кейін қолданған бетті жояды. Хабар жіберушінің де тура сондай блокты болуы тиіс. Шифрмәтінді дешифрланғаннан кейін ол да қолданған бетті жояды.
ОТР тәсілінің қызықты қасиетіне тоқталайық. Келесі сөйлемді
WE HOLD THEZE TRUTHS TO BE SELF-EVIDENT
Вижинер кестесін қолданып шифрлайық. Кілт төмендегідей кездейсоқ символдардан тұрады:
Al lstu dents includ in gp ostg-raduate
Сонда мынадай шифрмәтіналамыз:
Wp sgex wlrlw bewebv bb ht gwel-vvlxegx
Енді басқа кілт тізбегін таңдап алайық:
Qr pglx jhnie pakqkx bj zo fuxh-vkdrrcu
Шифрмәтін былай дешифрланады:
MY DATA NEEDS MEMORY AS IF BYTE-ALIGNED
Демек, сіздің таңдап алған кілтіңіздің мағынасы бар мәтін беретіндігі, сіз нағыз кілт немесе нағыз мәтін тапты дегенге кепіл бола алмайды.
Теоретикалық тұрғыдан алгоритм сенімді, бірақ оны практикада қолдану қолайсыз. Кілттің ұзындығымен тең болуы керек. Бұл талаптардың қазіргі ақпараттық жүйелерде орындалуы қиын әрі қымбатқа түседі. Бұл тәсілді шын мәнінде өте құпия хабарлар үшін қолдануға болады.
Бекіту сұрақтары:
Симметриялық криптографиялық жүйесінің шифрлау тәсілдерін атаңыз.
Блоктық шифрлар дегеніміз не?
Ағындық шифрлар дегеніміз не?
Құрама шифрлар дегеніміз не?
Дәріс 5. Шабуыл. Криптографиялық протоколдар. Симметриялық криптожүйелер. DES (Data Encryption Standard)
Мақсаты: Шабуыл түрлерімен және криптографиялық протоколдармен танысу.
Жоспар:
Шабуыл;
Криптографиялық протоколдар;
Симметриялық криптожүйелер;
DES (Data Encryption Standard).
Төменде шабуылдың негізгі түрлерін келтірейік.
Тек шифрмәтін қолданып бұзу (a ciphertext-only attack). Криптоаналитик тек қана бір алгоритммен шифрланған бірнеше шифрмәтінге қатынай алады. Бұзғыштың себебі – кілт ашу немесе бастапқы мәтінді ашу. Шабуылдың бұл түрі ең қиын болып саналады.
Ашық мәтін қолданып бұзу(a known plaintext attack). Криптоаналитик шифрмәтінмен ашық мәтінге қатынай алады. Мақсаты кілт табу. Осы орайда мынадай сауал пайда болуы мүмкін: Мұндай жағдай өмірде туындай алады ма? Шын мәнінде сіз ашық мәтінге қатынай алатындай жағдай көп. Мысалы, сізді қызықтырып отырған адам мәтіні бірдей хабарларды бірнеше адамға жіберу мүмкін (көп адамның бірі – сіз). Шифрмәтіннің бастапқы мәтіні сізге алдын-ала белгілі болуы мүмкін, мысалы, ол абонент резюмесі. Егер дегенмен бастапқы мәтін сізге түгелдей белгілі болмаса, онда сіз әрқашан оның кейбір бөліктері жайында болжау жасай аласыз. Мысалы, хаттың бастамасы, соңы т.б.
Таңдалған ашық мәтін қолданып бұзу (а known plaintext attak). Алдыңғы шабуыл түріне қарағанда бұл шабуыл күштірек. Криптоаналитик ашық мәтіндерді таңдап қана қоймай олардың сәйкес шифрмәтініне де қатынай алады. Мысалы, сіз құжатты бұзғышқа тәуелді адамнан алып, оны шифрланған күйде басқа біреуге жіберуіңіз мүмкін.
Таңдалған шифрмәтін қолданып бұзу (a chosen ciphertext attack). Толығырақ аты: таңдалған ашық мәтін мен шифрмәтін қолданып бұзу. Криптоаналитик таңдап алған мәтіннің әрқайсысына сәйкес шифрмәтіннің әрқайсысына сәйкес мәтін ала алады. Кілт табуы керек.
Таңдалған кілт қолданып бұзу (a chosen key attack). Практикада крипожүйелер бірнеше шифрлау алгоритмдерін қолданады. Шифрлау үшін керекті кілттер бастапқы кілттен есептелінеді. Шабуылдың аты негізінде қорректі емес. Әрине бұзғыш, кілтті білмейді және таңдай алмайды. Ол алгоритмде қоллданылатын бірнеше кілттің арасындағы байланысты зерттейді. Шабуылдың бұл түрі блоктық шифр бұзу үшін пайдалы болуы мүмкін.
«Туған күндер» шабуылы (Birthday attack). Математикалық статистикада стандартты «туған күндер» парадоксы белгілі. Егер бөлмеде 23 адам болса, онда олардың ішінде туған күні бірдей екі адамның табылуы ықтималдығы 50 % артық. «Туған күндер» шабуылы мәндері бірдей элементтерді табуға негізделген. Мұндай элементтер «коллизия» деп аталады. Әр элемент N мән қабылдай алсын. Алғашқы коллизияны сіз шамамен √ N кездейсоқ мәндерді қарастырғаннан кейін күтуіңізге болады. Расында, егер N мүмкін элементтің ішінен m элемент таңдалса, олар m(m-1)/2 жұп құрайды. Коллизия табу ықтималдығы m(m-1)/2N санына жақын. m≈√N деп таңдасақ бұл ықтималдық шамамен 50% құрайтынын көреміз.
Мысал. Қаржылық транзакция кезінде аутентификация үшін тұтынушы 64 биттік кілт қолдансын. Онда 264 мүмкін кілт бар, алайда бұзғыш алғашқы коллизиясын 232 транзакциясын қарастырғаннан кейін табуы ықтимал. Аутентификация мезетінде бұзғыш кілт мәндерін емес, h(k, m) мәндерін алады, мұндағы k – кілт, m – хабар, h – хэш функция. Әр транзакция үшін m белгілі болсын. h(k, m) мәнін MAC (message authentication code) деп атайды.
«Ортада кездесу» шабуылы (Meet-in-th-Middle attack). Бұл шабуыл «Туған күндер» шабуылының модификациясы болып табылады. Алдындағы мысалға оралайық. Бұзғыш алдын ала кездейсоқ 232 64 битті кілттер таңдайды. Әрбір кілт үшін олардың МАС мәндерін есептеп, кілт мәндерімен бірге сақтап қояды. Енді 232 транзакциясын жасырын тыңдап, олардың МАС мәндерін салыстырады. Өзінің мәліметтер базасындағы МАС мәні кездескен мезетте ол әрекетін тоқтатады. Мәліметтер базасында МАС мәніне сәйкес кілт мәні жазылғандықтан енді ол жалған кілтпен аутентификация процесін өтеді. Жұмыс көлемі 232, мұндағы 232 – алдын-ала орындалатын есептеулер үшін және 232 жасырын таңдау үшін. «Туған күндер шабуылы» мен «Ортада кездесу» шабуылдарының айырмашылығы «Туған күндер» шабуылында бұзғыш таңдап алынған жалғыз мән үшін қайталануды күтеді, ал «рота кездесу» шабуылында бұзғыш екі жиынның қиылысу нүктесін іздейді. Бірінші жиын – бұзғыш таңдап алған кездейсоқ кілттер, екіншісі – жасырын таңдау кезіндегі табылған мәндер. «Ортада кездесу» шабуылы «туған күндер» шабуылына қарағанда күштірек.
Криптографиялық протоколдар. Мысалға сіздің алдыңызда электрондық құпия дауыс беру есебі тұрсын. Алдымен сіз сайлауға қатысатындар және ұйымдастырушылар үшін жалпы ереже ойлап табуыңыз керек. Төмендегідей ережені алса да болады:
Сайлауға тек дауыс беру құқығы бар адамдар қатысады.
Әр сайлаушы бір рет қана дауыс береді.
Сайлаушының қалай дауыс бергенін ешкім анықтай алмайды.
Сайлаушының бюллетенінің көшірмесін ешкім жасай алмайды.
Сайлаушының дауыс бергендегі нәтижесін ешкім өзгерте алмайды.
Әр сайлаушы берген даусының есептелгеніне көз жеткізе алады.
Енді сайлаудың орындалуының ережелерін анықтайық:
Сайлаушы бюллетенін Орталық Сайлау Комиссиясының (ОСК) ашық кілтімен шифрлайды.
Сайлаушы бюллетенін ОСК-ға жібереді.
ОСК бюллетендерді дешифрлап, сайлау нәтижесін жариялайды.
Алдыңғы үш қадам протокол болып табылады. Яғни протокол бірнеше жақпен орындалатын іс-әрекет тізбегі. Протокол орындаушылар ашық каналмен қатынасып отырған абоненттер. Жалпы жағдайда протокол орындаушылар бір біріне сенбейді деп ұйғарылады. Протоколда криптография қолданылса, онда ол криптографиялық протокол деп атайды.
Жоғарыдағы мысалға қайта оралсақ, оның әбден пайдасыз екенін аңғарған боларсыз. ОСК кімнің бюллетень жібергенін, ол дауыс беруге құқығы барма білмейді. Тағы да бір протокол келтірейік:
Сайлаушы бюллетеніне өзінің жабық кілтімен қол қояды.
Сайлаушы бюллетенін ОСК-ның ашық кілтімен шифрлайды.
Сайлаушы бюллетендерді ОСК-ға жібереді.
ОСК бюллетендерді дешифрлап, қол қою шынайылығын тексереді.
Нәтижені жариялайды.
Енді дауысты тек құқығы бар адамдар бере алады. Бюллетенге қойылған қол арқылы ОСК иесінің құқығын тексере алады. Сонымен қатар ол берілген дауыстарды бақылап, дауыс беру рәсімін қайталауға жол бермейді. Бұл протоколдың кемшілігі бар: ОСК кімнің қалай дауыс бергенін анықтай алады.
Кемшілікті жою үшін сайлауға екі комиссия қатыстыруға болады. Мысалы, Орталық тіркелу комиссиясы (ОТК) және ОСК.
Сайлаушы тіркеу номерін сұрап, ОТК-ға хат жібереді.
ОСК сайлаушыға кездейсоқ тіркеу номерін жіберіп, оны өзінің мәліметтер базасынеда сақтайды.
ОТК тіркеу номірлерін ОСК-ға жібереді.
Сайлаушы кездейсоқ идентификациялық нөмір таңдайды. Ол нөмір, тіркеу нөмірі және бюллетеннен тұратын хабарды ОСК-ға жібереді.
ОСК тіркеу нөмірін ОТК жіберген құжаттағы мәліметпен салыстырады. Егер тіркеу нөмірі тізбекте бар болса оны сызып тастайды. Содан кейін идентификациялық нөмірін сайлаушылар тізбегіне енгізіп, дауысын ескереді.
ОСК сайлау нәтижесін идентификациялық нөмірімен қоса жариялайды.
Протокол орындалу кезінде барлық хабарлар шифрланған және қол қойылған деп санаймыз. Барлық шараларға қарамастан ОТК сенімді ұйым болуы тиіс, өйткені ол дауыс беруге құқығы жоқ адамдарды тіркеу мүмкін. Бірақ егер ОТК тіркелген сайлаушылар тізімін жарияласа (тіркеу нөмірінсіз), онда тіркелген адамдардың саны саналған дауыс санынан кем болған жағдайда оны сенімсіз деп жариялауға болады.
Протоколдың кемшілігі ОТК және ОСК бірігіп алуы мүмкін.
Симметриялық криптожүйелер. Симметриялық алгоритмдер криптографияның классикалық алгоритмдеріне жатады. Мұнда құпия кілт беру ғана немесе шифрлау кілті дешифрлау кілтінің көмегімен я керісінше табылады. Бұл алгоритмдерді бір кілтті алгоритм деп те атайды. Симметриялық алгоритмдердің қауіпсіздігі кілттің құпиялылығына байланысты. Егер қаскүнем кілтті анықтай алса, онда ол барлық құжаттарды шифрлай және дешифрлай алады. Бұл бөлімде біз шифрлаудың жаңа және ескі стандарттарын қарастырамыз.
DES (Data Encryption Standard). 1972 жылы NBS (National Bureau of Standards, АҚШ) стандартты криптографиялық алгоритм құрастыруға сынақ жариялады. Бірақ келіп түскен бір де бір ұсыныс қойылып отырған талаптарға сай келмеді. Тек 1974 жылы Lucifer атты алгоритм IBM корпорациясында жұмыс істеуші крипографтар атынан ұсынылды. Олар – Рой Адлер, Дон Копперсмит, Хорст Файстель, Эдна Кроссман және басқалары. NBS бюросы NSA ұйымынан алгоритмді бағалауда көмек сұрады. 1976 жылы DES федералдық стандарт ретінде бекітілді.
Енді DES сипаттауға көшейік. DES блоктық алгоритм болып табылады. Ашық мәтін ұзындығы – 64 бит. Кілт ұзындығы – 56 бит. Алгоритмде 16 раунд орындалады, яғни бірдей тәсілдердің комбинациясы ашық мәтінге 16 рет қолданылады. Алгоритмнің негізгі қадамдарын қарастырайық. 1 және 2 суреттердегі кілт түрлендіру алгоритмі және шифрлану алгоритмінің сүлбелері келтірілген.
Бастапқы орын алмастыру.
Алгоритм басталмас бұрын ашық текст биттері үшін орын алмастыру процедурасы орындалады. Рk деп k-ші жаңа позицияға орналасатын ашық текст битінің нөмірін белгілейік. Р0 = 0, Р1 = 58 болсын. Алдыңғы төрт байттың құрамындағы бірінші бит позицисына келесі бит орналастырылады.
P8i+1= P1 + P8i , i = 0.3 (1)
Бесінші байттың бірінші битінің позициясы былай есептеледі:
P8i+1 = P1 - 1 , i = 4
i = 5,6,7 болғандағы 8i+1 позицияларына орналасар бит нөмірлері (1) формуласы арқылы есептеледі. Қалған позицияларға келесі нөмірлі биттер орналасады:
P8i+j+1 = P8i+1 – 8j , i = 0.7 , j = 1.8
Ақыры мынадай орын алмастыру кестесін аламыз.
1-кесте. Бастапқы орыналамастыру
58
|
50
|
42
|
34
|
26
|
18
|
10
|
2
|
60
|
52
|
44
|
36
|
28
|
20
|
12
|
4
|
62
|
54
|
46
|
38
|
30
|
22
|
14
|
6
|
64
|
56
|
48
|
40
|
32
|
24
|
16
|
8
|
57
|
49
|
41
|
33
|
25
|
17
|
9
|
1
|
59
|
51
|
43
|
35
|
27
|
19
|
11
|
3
|
61
|
53
|
45
|
37
|
29
|
21
|
13
|
5
|
63
|
55
|
47
|
39
|
31
|
23
|
15
|
7
|
Кілт түрлендіру
64-биттік кілттің әрбір сегізінші биті ескерілмейді. Олар тақтық қасиетін тексеру үшін қолданылады. Кілттің биттері алдыңғы пункте сипатталған тәсілмен орын алмастырылады.
56 биттік кілт екі тең бөлікке бөлінеді. Раунд нөміріне байланысты кілт бөліктері бір немесе екі битке солға жылжытылады. 1,2,9,16-шы раундтарда кілт бір битке жылжиды. Қалған жағдайларда 2 бита жылжиды.
56 биттің 48 таңдап алынады. Бит орналасу реті де өзгертіледі. Бұл операция сығылатын орын алмастыру деп аталады (2-кестеге қараңыз).
1-сурет. Шифрлау алгоритмінің сүлбесі
Сонымен әрқайсысының ұзындығы 48 бит 16 раундтық кілт жасалады.
2-кесте. Сығылатын орын алмастыру
14
|
17
|
11
|
24
|
1
|
5
|
3
|
28
|
15
|
6
|
21
|
10
|
23
|
19
|
12
|
4
|
16
|
8
|
16
|
7
|
27
|
20
|
13
|
2
|
41
|
52
|
31
|
37
|
47
|
55
|
30
|
40
|
51
|
45
|
33
|
48
|
44
|
49
|
39
|
56
|
34
|
53
|
46
|
42
|
50
|
36
|
29
|
32
|
2-сурет. Кілт түрлендіру алгоритмі
Хабарды шифрлау
Демек біз ұзындығы 64 бит бастапқы мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы хабар кілт іспеттес тең екі бөлікке бөлінеді. Оң бөлік кілт ұзындығына дейін кеңейтіледі. Биттердің орын алу реті де өзгереді (4.3 кестесін қара). Бұл қадамның негізгі мақсаты - әр шифрмәтін битінің әрбір шифрмәтін және кілт биттеріне тәуелділігін арттыру.
3-кесте. Кеңейтетін орын алмастыру.
32
|
1
|
2
|
3
|
4
|
5
|
4
|
5
|
6
|
7
|
8
|
9
|
8
|
9
|
10
|
11
|
12
|
13
|
12
|
13
|
14
|
15
|
16
|
17
|
16
|
17
|
18
|
19
|
20
|
21
|
20
|
21
|
22
|
23
|
24
|
25
|
24
|
25
|
26
|
27
|
28
|
29
|
28
|
29
|
30
|
31
|
32
|
1
|
Деректердің оң жағы Ri және раундтық Ki үшін қосу операциясы орындалады, яғни Ri Ki мәні есептелінеді.
48 бит сегіз 6 биттік блокшаға бөлінеді. Әрқайсысына S-блок деп аталатын кестелердің көмегімен ауыстыру операциясы қолданылады. DES алгоритмінде S-блоктардың атқаратын маңызы зор. Алгоритмнің сенімділігін арттыратын осы блоктар. Барлығы 8 S-қолданылады (4.4-кестесінде көрсетілген). Бастапқы блоктың бірінші және алтыншы битінің конкатенциясы 0-ден 3-ке шейінгі сан құрайды, ол сан кесте жолын анықтайды. Ортасындағы төрт бит конкатенцияланып 0-ден 15-ке шейінгі сан құрайды, ол сан кесте бағанасын анықтайды. Яғни, 4-биттік нәтиже сәйкес жолмен бағананың қиылысуында орналасады.
4-кестесі. S-блоктар.
1-ші S-блок:
-
14
|
4
|
13
|
1
|
2
|
15
|
11
|
8
|
3
|
10
|
6
|
12
|
5
|
9
|
0
|
7
|
0
|
15
|
7
|
4
|
14
|
2
|
13
|
1
|
10
|
6
|
12
|
11
|
9
|
5
|
3
|
8
|
4
|
1
|
14
|
8
|
13
|
6
|
2
|
11
|
15
|
12
|
9
|
7
|
3
|
10
|
5
|
0
|
15
|
12
|
8
|
2
|
4
|
9
|
1
|
7
|
5
|
11
|
3
|
14
|
10
|
0
|
6
|
13
|
2-ші S-блок:
-
15
|
1
|
8
|
14
|
6
|
11
|
3
|
4
|
9
|
7
|
2
|
13
|
12
|
0
|
5
|
10
|
3
|
13
|
4
|
7
|
15
|
2
|
8
|
14
|
12
|
0
|
1
|
10
|
6
|
9
|
11
|
5
|
0
|
14
|
7
|
11
|
10
|
4
|
13
|
1
|
5
|
8
|
12
|
6
|
9
|
3
|
2
|
15
|
13
|
8
|
10
|
1
|
3
|
15
|
4
|
2
|
11
|
6
|
7
|
12
|
0
|
5
|
14
|
9
|
3-ші S-блок:
-
10
|
0
|
9
|
14
|
6
|
3
|
15
|
5
|
1
|
13
|
12
|
7
|
11
|
4
|
2
|
8
|
13
|
7
|
0
|
9
|
3
|
4
|
6
|
10
|
2
|
8
|
5
|
14
|
12
|
11
|
15
|
1
|
13
|
6
|
4
|
9
|
8
|
15
|
3
|
0
|
11
|
1
|
2
|
12
|
5
|
10
|
14
|
7
|
1
|
10
|
13
|
0
|
6
|
9
|
8
|
7
|
4
|
15
|
14
|
3
|
11
|
5
|
2
|
12
|
4-ші S-блок:
-
7
|
13
|
14
|
3
|
0
|
6
|
9
|
10
|
1
|
2
|
8
|
5
|
11
|
12
|
4
|
15
|
13
|
8
|
11
|
5
|
6
|
15
|
0
|
3
|
4
|
7
|
2
|
12
|
1
|
10
|
14
|
9
|
10
|
6
|
9
|
0
|
12
|
11
|
7
|
13
|
15
|
1
|
3
|
14
|
5
|
2
|
8
|
4
|
3
|
15
|
0
|
6
|
10
|
1
|
13
|
8
|
9
|
4
|
5
|
11
|
12
|
7
|
2
|
14
|
5-ші S-блок:
-
2
|
12
|
4
|
1
|
7
|
10
|
11
|
6
|
8
|
5
|
3
|
15
|
13
|
0
|
14
|
9
|
14
|
11
|
2
|
12
|
4
|
7
|
13
|
1
|
5
|
0
|
15
|
10
|
3
|
9
|
8
|
6
|
4
|
2
|
1
|
11
|
10
|
13
|
7
|
8
|
15
|
9
|
12
|
5
|
6
|
3
|
0
|
14
|
11
|
8
|
12
|
7
|
1
|
14
|
2
|
13
|
6
|
15
|
0
|
9
|
10
|
4
|
5
|
3
|
6-ші S-блок:
-
12
|
1
|
10
|
15
|
9
|
2
|
6
|
8
|
0
|
13
|
3
|
4
|
14
|
7
|
5
|
11
|
10
|
15
|
4
|
2
|
7
|
12
|
9
|
5
|
6
|
1
|
13
|
14
|
0
|
11
|
3
|
8
|
9
|
14
|
15
|
5
|
2
|
8
|
12
|
3
|
7
|
0
|
4
|
10
|
1
|
13
|
11
|
6
|
4
|
3
|
2
|
12
|
9
|
5
|
15
|
10
|
11
|
14
|
1
|
7
|
6
|
0
|
8
|
13
|
7-ші S-блок:
-
4
|
11
|
2
|
14
|
15
|
0
|
8
|
13
|
3
|
12
|
9
|
7
|
5
|
10
|
6
|
1
|
13
|
0
|
11
|
7
|
4
|
9
|
1
|
10
|
14
|
3
|
5
|
12
|
2
|
15
|
8
|
6
|
1
|
4
|
11
|
13
|
12
|
3
|
7
|
14
|
10
|
15
|
6
|
8
|
0
|
5
|
9
|
2
|
6
|
11
|
13
|
8
|
1
|
4
|
10
|
7
|
9
|
5
|
0
|
15
|
14
|
2
|
3
|
12
|
8-ші S-блок:
-
13
|
2
|
8
|
4
|
6
|
15
|
11
|
1
|
10
|
9
|
3
|
14
|
5
|
0
|
12
|
7
|
1
|
15
|
13
|
8
|
10
|
3
|
7
|
4
|
12
|
5
|
6
|
11
|
0
|
14
|
9
|
2
|
7
|
11
|
4
|
1
|
9
|
12
|
14
|
2
|
0
|
6
|
10
|
13
|
15
|
3
|
5
|
8
|
2
|
1
|
14
|
7
|
4
|
10
|
8
|
13
|
15
|
12
|
9
|
0
|
3
|
5
|
6
|
11
|
Енді 32 биттік блок үшін Р блогінің көмегімен тікелей орын алмастыру орындалады. Блок биттері қай позицияға жылжитыны 4.5-кестесінде көрсетіледі.
5-кесте. Р блок.
-
16
|
7
|
20
|
21
|
29
|
12
|
28
|
17
|
1
|
15
|
23
|
26
|
5
|
18
|
31
|
10
|
2
|
8
|
24
|
14
|
32
|
27
|
3
|
9
|
19
|
13
|
30
|
6
|
22
|
11
|
4
|
25
|
Алынған нәтиже блоктың сол бөлігімен қосылады.
Оң және сол бөліктер орын алмастырып, келесі раунд басталады.
Соңғы орын ауыстыру. Соңғы орын ауыстыру бастапқы орын ауыстыру операциясына кері операция болып табылады. (4.6-кестесін қара). Соңғы раундтың алдыңғы раундтардан айырмашылығы одан кейін блоктың сол және оң жақтары орын алмастырмайды.
6-кесте. Соңғы орын алмастыру.
-
40
|
8
|
48
|
16
|
56
|
24
|
64
|
32
|
39
|
7
|
47
|
15
|
55
|
23
|
63
|
31
|
38
|
6
|
46
|
14
|
54
|
22
|
62
|
30
|
37
|
5
|
45
|
13
|
53
|
21
|
61
|
29
|
36
|
4
|
44
|
12
|
52
|
20
|
60
|
28
|
35
|
3
|
43
|
11
|
51
|
19
|
59
|
27
|
34
|
2
|
42
|
10
|
50
|
18
|
58
|
26
|
33
|
1
|
41
|
9
|
49
|
17
|
57
|
25
|
Дешифрлау
Бұл алгоритмде шифрлау және дешифрлау процедуралары бірдей. Дешифрлау кілттері болып К16, К15,...К1 табылады.
Ескерту. Алгоритмнің сипатталуын оқи отырып сіз бит деген сөзге қарағанда жиірек кездескенін байқаған шығарсыз. Сондықтан алгоритм қолдануға қолайсыз болып көрінуі мүмкін. Алайда егер компьютерді ұмытып, алгоритм құрастырылған мезгілдегі сым мен контактілерд і еске түсірсек бәрі де түсінікті болады.
Диффи мен Хеллман 1976-1977 жылдары DES алгоритмінің кілтін бір күннің ішінде анықтап бере алатын арнайы параллель есептеулерге негіздеген компьютер құрастыруға болады және ол 20 миллион доллар тұрады деп айтқан еді.
Electronic Frontier Foundation (EFF) ұйымы 1998 жылы осындай есептеуіш машинаны ойлап тапты. Оның бағасы $250.000 еді. Кілт анықтау үшін 3 күн керек болды.
Бүгін DES стандарты келесі есептерге байланысты қолдануға қолайсыз деп табылады: 1) кілттің ұзындығы – 56 бит бүгін қауіпсіздік үшін тым аз, 2) алгоритм құрастырылғанда ол программалық емес, аппаратық қолдану үшін жасалған, сондықтан микропроцессорда оның кейбір операциялары тым көп уақыт алады.
Қазір DES-пен қатар 3DES алгоритмі көп қолданады. Ол DES негізінде жасалған алгоритм. Шифрлаудың сенімділігін арттыру үшін мұнда шифрлау операциясы үш рет қайта орындалады. Алгоритмде 256 биттік кілт қолданылады, яғни кілттің толық ұзындығы 112 бит.
Достарыңызбен бөлісу: |