26
ПРВА КРАГУЈЕВАЧКА ГИМНАЗИЈА МАТУРСКИ РАД ИЗ АНАЛИЗЕ СА АЛГЕБРОМ КРИПТОАНАЛИЗА Аутор:Милица Милутиновић, IV SM Професор:Јасмина Мицић

КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

  • Upload
    lehanh

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

ПРВА КРАГУЈЕВАЧКА ГИМНАЗИЈА

МАТУРСКИ РАД ИЗ АНАЛИЗЕ СА АЛГЕБРОМ

КРИПТОАНАЛИЗА

Аутор:Милица Милутиновић, IVSM

Професор:Јасмина Мицић

Крагујевац, јун 2015.године

Page 2: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

САДРЖАЈУВОД.........................................................................................................................................................3

ОСНОВНИ ПОЈМОВИ...........................................................................................................................3

КРИПТОАНАЛИЗА.................................................................................................................................4

КЛАСИЧНА КРИПТОАНАЛИЗА.........................................................................................................4

Рачун подударања.........................................................................................................................5

ЛИНЕАРНА КРИПТОАНАЛИЗА.........................................................................................................7

ДИФЕРЕНЦИЈАЛНА КРИПТОАНАЛИЗА.......................................................................................11

ПРИМЕРИ...............................................................................................................................................14

Рачун подударања.......................................................................................................................14

Линеарна криптоанализа.........................................................................................................16

Диференцијална криптоанализа........................................................................................................18

ЗАКЉУЧАК............................................................................................................................................20

ЛИТЕРАТУРА.........................................................................................................................................21

2

Page 3: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

УВОДЈедно од кључних средстава пословања, трговања и комуникације

у данашње време чине информације које се свакодневно измењују и обрађују путем интернета. Велики део тих информација представља врло важне или тајне податке неке фирме или организације. Како би се осигурала њихова безбедност развијају се разне методе скривања података пре њиховог слања путем мреже. Све методе које проучавају скривање информација спадају у групу поступака криптографије. Циљ криптоанализе је проналажење рањивости у криптографским шемама како би се открили тајни кључеви за дешифровање информација. Током развоја криптографских техника, а тиме и њиховог напретка, развијени су разни напади на криптографске системе. Једноставнији напади (нпр. анализа учесталости) односе се на анализирање шифрованих и/или нешифрованих текстова како би се уочила нека својства која је могуће искористити за дешифровање. Софистициранији напади (нпр. Диференцијална криптоанализа) често укључују провођење одређених сложених математичких рачуна. Готово сваки криптографски систем могуће је пробити с довољно напора употребом претраживања свих могућности (бруте форце напад). Ипак, споменути напад често захтева велике количине меморије и времена које у пракси нису расположиве нападачима.

KЉУЧНЕ РЕЧИ: криптоанализа,криптографија, криптовање, декриптовање, кључ, отворени текст.

ОСНОВНИ ПОЈМОВИШифровање је процес у коме се садржај изворног текста сакрива,

односно приказује на неразумљив начин за све оне којима није намењен, и који не познају кључ за обрнути поступак-дешифровање. Функција за дешифровање мора бити инверзна функцији за шифровање, док обрнуто не мора да важи. Криптосистем чини пар функција за шифровање и дешифровање. При шифровању и дешифровању може се користити један или више кључева, мада постоје и системи у којима се не користи кључ. У стварном животу кључ који откључава браву мора бити идентичан ономе који је закључава, али у криптографији то не мора да буде случај. Отворени текст је порука коју треба послати (нпр. ЗДРАВО.) Шифрат је шифрована

3

Page 4: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

порука (нпр. XQАБЕР.) Кодирање трансформише отворени текст у низ бројева или низ битова. На пример, ако А заменимо 0, Б-1,...З-25, речи ЗДРАВО би био придружен низ цифара 25 3 17 0 21 14.

КРИПТОАНАЛИЗАКриптоанализа је научна дисциплина која проучава методе

откривања значења криптираних информација без приступа тајним информацијама за декриптовање. Сама реч настала је од две грчке речи: kryptós – скривен и analýеin – одрешити. Израз криптоанализа понекад се односи на покушај заобилажења сигурности криптографских алгоритама или протокола, а не само криптографске заштите. Ипак, криптоанализа обично укључује методе напада које не циљају на рањивости попут социјалног инжењеринга или крађе и записивања лозинки унесених преко тастатуре. Иако имају исти циљ, методе и технике криптоанализе драстично су се промениле током историје (због раста сложености криптографије). Резултат криптоaнализе је такође измењен у смислу да више није могуће имати готово неограничен успех у пробијању кодова. Пробијање криптографског алгоритма означава да је познат поступак откривања тајних информација (кључева) које се могу искористити за дешифровање криптираног текста. Средином 70-их година 20. века уведена је нова класа криптографије, асиметрична криптографија. Методе пробијања таквих криптографских система су обично укључивале решавање математичких проблема, од којих је најпознатија факторизација целобројних бројева.

КЛАСИЧНА КРИПТОАНАЛИЗАИако је израз криптоанализа релативно нов (увео га је Вилиам

Фридмен, у делу ,,Војна криптоанализа” 1920.године [1][2]), прве методе пробијања кодова су пуно старије. Прво познато записано објашњење криптоанализе дао је у 9. веку арапски математичар Ал-Кинди (у Европи познат као Алкиндус) у делу „A Manuscript on Deciphering Cryptographic Messages“[3] („Рукопис о дешифровању криптографских порука“). Анализа учесталости је најбољи алат за пробијање већине класичних шифри. Уопштено, ради се о анализи учесталости појављивања одређених слова неког језика. На пример, у енглеском језику најчешће се појављује слово „Е“. Анализа учесталости ослања се на чињеницу да у шифрама обично не скривају такву статистику. На пример, у обичном криптираном тексту, слову које се

4

Page 5: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

најчешће појављује додељује се значење знака „Е“. Оваква анализа је поприлично једноставна ако је криптирани текст довољно дуг да се може провести анализа. У Европи, током 15. и 16. века, развијена је идеја о абецедној замени знакова(енг. polyalphabetic substitution cipher [4]), а један од покретача био је Вижнер. Следећа три века Вижнерова шифра, која користи кључ (произвољну реч) за одабир различитих криптирајућих слова (свако слово некриптираног текста замени се неким другим), сматрана је у потпуности сигурном. Међутим, Чарлс Бебаџ и касније Фридрих Касиски успели су пробити споменуту шифру. Током Првог светског рата, проналазачи у неколико држава развили су кружне механизме шифрирања (енг. rotor cipher machines [5]) у настојању да минимизирају понављање које је довело до пробоја Вижнерове шифре.

Класична криптоанализа представља најстарији облик анализе криптографских шифри, а укључује три методе. Прву од метода чини анализа учесталости (енг. frequency analysis), тј. проучавање учесталости појаве појединих слова или групе слова у шифрираном тексту. Заснива се на чињеници да се у сваком делу шифрованог текста одређена слова и комбинације слова појављују с провереном вероватноћом.

Слика 1. Вероватноћа појављивања слова енглеског алфабета.

5

Page 6: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

Друга метода је рачунање подударања, техника упоређивања два текста уз рачунање колико се пута исто слово појављује на истом месту у оба текста. Резултат, који се може показати као укупни број или добити дељењем с очекиваним резултатом, назива се индексом подударања. Последњу методу представља „Касиски испитивање“.Реч је о методи напада на шифру абецедне замене, попут Вижнерове шифре. Заснива се на одређивању дужине кључне речи па подели шифрираног текста у н ступњева (где н представља дужину кључне речи). Тада је сваки ступањ могуће посматрати засебно и применити анализу учесталости.

Рачун подударањаРачунање подударања заснива се на одређивању индекса

подударања приликом упоређивања два текста. Метода је једнако значајна у анализи нешифрираног и шифрираног текста, а даје добре резултате приликом анализе Вижнерове шифре. За абецедну шифру са понављајућим кључем распоређеним у матрици, учесталост подударности у сваком ступњу ће бити највећа када је ширина матрице делилац дужине кључа. Ова се чињеница користи за одређивање дужине кључа, што је први корак у пробијању система. Споменута метода рачунања подударности може помоћи у одређивању да ли су два текста писана у истом језику користећи исту абецеду. Рачунање подударности за такве текстове биће изразито различито од рачунања подударности за текстове писане у различитим језицима. На пример, ако се замисли абецеда која има само два слова: „А“ и „Б“ претпостави се да се у језику слово „А“ користи 75% времена, а слово „Б“ 25% времена. Ако се два текста упореде, могу се очекивати следећи парови:

пар вероватноћа

AA 56,25%ББ 6,25%AБ 18,75%БA 18,75%

Свеукупно, вероватноћа подударања је 62.5% (56.25% за „АА“ + 6.25% за „ББ“). Ако се посматра случај када су оба текста шифрована употребом шифре замене, где се слово „А“ приказује словом „Б“ и обрнуто вероватноћа појаве парова тада је следећа:

пар вероватноћ

6

Page 7: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

аAA 6,25%ББ 56,25%AБ 18,75%БA 18,75%

Целокупна вероватноћа подударања је 62.5% (6.25% за „АА“ + 56.25% за „ББ“), што је управо једнако у случају нешифрованог текста. Порука која је криптирана користећи замену (А,Б) → (Б,А) омогућује појаву следећих парова:

пар вероватноћа

AA 18,75%ББ 18,75%AБ 56,25%БA 6,25%

Вероватноћа подударања је 37.5% (18.75% за „АА“ + 18.75% за „ББ“). Исти принцип користи се у природним језицима (попут енглеског језика) где је могуће одредити који се симболи појављују чешће. Ако се упоређују два текста писана истим језиком, добиће се високо подударање. Такође, тешко је генерирати случајни текст који ће имати различиту вероватноћу од стварног текста. Упркос томе, ову методу могуће је користити за идентификацију текстова који би могли садржавати значајне информације, одређивање дужине кључева и сл. Иста идеја може се применити на један тест где се узорак упоређује сам са собом. Индекс подударања могуће је одредити математички као:

IC=∑i=1

c

ni(n i−1)

N (N−1)c

где је N дужина текста, n1 и n2 фреквенције слова c у абецеди (c=26 за енглески). Збир вредности ni мора бити N. Производ n(n-1) одређује број комбинација парова за n елемената, што је потребно поделити вредношћу c како би се добила вероватноћа појаве сваког пара. Очекивана средња вредност IC може се израчунати преко релативне фреквенције слова:

7

Page 8: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

ICsr=∑i=1

c

fi2

1c

При једноликој расподели слова, очекивана вредност индекса била би око 1.0, али у већини случајева расподела није једнолика па су очекиване вредности доста различите.

Језик Индекс ICЕнглески 1,73

Француски 2,02Немачки 2,05

Италијански 1,94Португалски 1,94

Руски 1,76Шпански 1,94

ЛИНЕАРНА КРИПТОАНАЛИЗАЛинеарна криптоанализа укључује поступке проналажења

сродних приближних вредности шифри, а састоји се од два корака. Први представља изградњу линеарних једначина повезаних с некриптованим текстом, шифрованим текстом и кључем чија је девијација „висока“ (тј. вероватноћа задржавања преко простора свих могућих вредности променљивих је што ближа нули или јединици). Други корак је употреба линеарних једначина у коњункцији с познатим паровима шифрированог и/или нешифрованог текста како би се одредио кључ. За потребе линеарне криптоанализе, линеарна једначина изражава једнакост двају израза који се састоје од бинарних променљивих комбинованих са „xоr“ операцијом. На пример, следећа једначина садржи „xоr“ суму првог и трећег бита нешифрованог текста те првог бита шифрованог текста што је управо једнако другом биту кључа:

У идеалним шифрама, свака линеарна једначина повезана с нешифрованим текстом, шифрованим текстом и кључем би била успешна с вероватноћом од 1/2. Будући да једначине у реалним линеарним системима варирају с вероватноћама, често се примењују

8

Page 9: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

линеарне апроксимације. Процедуре за конструкцију апроксимација су различите за сваку шифру. У основом типу блоковске шифре, мрежи супституција и пермутација, анализа је концентрирана на S-таблице као једином нелинеарном делу шифре. За довољно мале S-таблице могуће је одредити сваку могућу линеарну једначину повезану с улазима и излазима S-таблице па израчунати основне битове и одабрати најбоље. Линеарна апроксимација S-таблица мора бити комбинована с другим акцијама шифре, као што су пермутације и мешање кључа, како би се постигла линеарна апроксимација целе шифре. Постоје многе технике за побољшање линеарне апроксимације (нпр. „piling-up“ поступак). Након откривања линеарне апроксимације облика:

могуће је применити разне алгоритме који кориштењем познатих шифрованих/нешифрованих парова текста могу открити вредности битова кључева у апроксимацијама. За сваки скуп вредности кључа с десне стране потребно је одредити колико је пута апроксимација истинита преко свих познатих шифрованих/нешифрованих парова (вредност Т). Кључ који има највећу апсолутну разлику вредности Т од половине шифрованих/нешифрованих парова узима се као најверојатнији скуп вредности за битове кључа. Поступак је могуће поновити с другим линеарним апроксимацијама док се број непознатих битова кључа не смањи довољно да се може применити „brute force“ напад. Будући да се рукује S-таблицама, приказана је основна рањивост њиховог кориштења. Ако је задана S-таблица с улазом X = [ X1 X2 X3 X4] и одговарајућим излазом Y = [ Y1 Y2 Y3 Y4 ], могу се испитати све линеарне апроксимације тако да се израчунају девијације вероватноћа за сваку. Нека је за дату S-таблицу, линеарни израз следећи:

X2 xor X3 xor Y1 xor Y3 xor Y4 = 0

X2 xor X3 = Y1 xor Y3 xor Y4.

Применом свих 16 могућих вредности улаза X и испитивањем одговарајуће излазне вредности Y, може се видети да је за 12 од 16 случајева, горњи израз истинит. Дакле, девијација вероватноће је 12/16 – 1/2 = 1/4, а резултати су приказани у следећој таблици.

9

Page 10: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

Слично, за једначину X1 xоr X4 = Y2 девијација вероватноће је 0, а

за једначину X3 xоr X4 = Y1 xоr Y4, 2/16 – 1/2 = -3/8. У последњем случају, најбоља апроксимација је афина апроксимација, што се може видети по негативном предзнаку. Успешност напада се темељи на величини девијације, а афине апроксимације се могу користити еквивалентно линеарним апроксимацијама. Све линеарне апроксимације S-таблице за дати пример криптографског система су приказане:

Сваки елемент таблице представља број подударања између линеарне једначине представљене хексадецимално као “Збир улаза“ и

10

Page 11: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

збир битова излаза “Збир излаза“ умањен за осам. Дакле, дељењем вредности елемента са 16 добија се девијација вероватноће за одређену линеарну комбинацију битова улаза и излаза. Хексадецимална вредност која представља збир, када се прикаже као бинарна вредност, показује променљиве које су укључене у збир. За линеарну комбинацију улазних променљивих представљених као

где су аi Î{0, 1}, а хексадецимална вредност представља бинарну вредност а1а2а3а4 (а1 најзначајнији бит). Слично томе, за линеарну комбинацију излазних битова:

где су bi Î{0, 1}, а хексадецималне вредности представљају бинарни вектор b1b2b3b4. Дакле, девијација линеарне једначине X3 xоr X4 = Y1 xоr Y4 (hex улаз 3 и hex излаз 9) је -6/16 = -3/8, а вероватноћа да је линеарна једначина истинита је 1/2 – 3/8 = 1/8. У таблици линеарних апроксимација могу се уочити следећа својства:

1. Вероватноћа да је било који збир непразног скупа битова излаза једнак збиру који не укључује улазне битове је тачно 1/2,

2. Линеарна комбинација које не укључује битове излаза ће увек бити једнака линеарној комбинацији без битова улаза с коначном девијацијом од +1/2 и вредношћу таблице од +8 у горњем левом углу.

3. Сума било ког реда или колоне мора бити +8 ili -8.

ДИФЕРЕНЦИЈАЛНА КРИПТОАНАЛИЗАОткриће диференцијалне криптоанализе је приписано Елиу

Бихаму и Адиу Шамиру у касним 80-им годинама 20. века. Исти су аутори објавили опис теориских рањивости у DES алгоритму и могућност његовог пробоја путем диференцијалне криптоанализе. Године 1994. члан IBM DES тима - Дон Цопперсмитх објавио је како је диференцијална криптоанализа већ била позната њиховом тиму 1974. године као „TICKLE“ напад. Према извештају Стевена Лавyа

11

a1 and X1 xor a2 and X2 xor a3 and X3 xor a4 and X4

b1 and Y1 xor b2 and Y2 xor b3 and Y3 xor b4 and Y4

Page 12: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

организације IBM и NSA су одвојено откриле споменуту технику. Док је стандард DES дизајниран како би био отпоран на диференцијалну криптоанализу, многе друге шифре су рањиве. Један од првих циљева напада била је блоковска шифра FEAL. Овом техником могуће је пробити FEAL-4 (шифра која укључује четири рунде) уз употребу само осам одабраних некриптованих текстова, а чак и FEAL с 31 рундом показује рањивост на овај напад. Диференцијална криптоанализа обично спада под нападе уз одабране некриптоване текстове. Основна техника користи некриптовани текст повезан с константном разлике (енг. difference) између тог текста и задње рунде криптовања. Разлика се може дефинирати на неколико начина, али обично се користи XOR операција. Ако постоје улазни низови X' и X'' где је X=[X1,X2...Xн], и излазне вредности Y' и Y'', разлика између улаза је:

DX=X' xor X''DX = [DX1 DX2 ... DXn]

где je DXi = X'i xor X''i , X'i i X''i су i-ти битови od X' i X''.Слично је DY = Y' xor Y'' излазна разлика:

DY = [DY1 DY2 ... DYn] где је DYi = Y'i xor Y''i .

У криптографском систему са идеалним генератором случајних бројева, вероватноћа да се над датом разликом улаза DX појави одређена разлика излаза DY је 1/(2)n где је n број битова од X. Диференцијална криптоанализа тражи случај у којем се одређени DY над датим DX појављује са врло великом вероватноћом pd (пуно већом од 1/2n ). Пар (DX, DY) се назива диференција. За било коју шифру, разлика улазних података мора бити пажљиво изабрана (циљ је добити разлику DY која се појављује с великом вероватноћом) како би нападач успешно открио кључ. Стандардна метода укључује праћење пута највероватнијих разлика кроз различите кораке криптовања. Постоје три подврсте диференцијалне криптоанализе:

1. Диференцијална криптоанализа вишег реда (енг. higher-order differential cryptanalysis) – генерализација диференцијалне криптоанализе за напад на блоковске шифре, а темељи се на употреби разлика међу разликама.

2. Одрезана диференцијална криптоанализа (енг. truncated differential cryptanalysis) – генерализација диференцијалне криптоанализе за напад на блоковске шифре, а темељи се на употреби разлика које су само деломично одређене.

12

Page 13: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

3. Немогућа диференцијална криптоанализа (енг.impossible differential cryptanalysis) – генерализација диференцијалне криптоанализе за напад на блоковске шифре, а темељи се на искоришћавању разлика које су немогуће у неком унутрашњем стању алгоритма.

Диференцијална криптоанализа приказана је преко 4x4 S-таблице која има улаз X=[X1, X2, X3, X4] и излаз Y=[Y1, Y2, Y3, Y4]. Посматрају се сви парови разлика S-таблице (DX, DY), а вероватноћа за DY уз дати DX се може добити разматрајући парове (X', X'') такви да је DX = X' xоr X''. Потребно је рачунати са свих 16 вредности за X', док DX ограничава вредност X'' на X'' = X' xоr DX. Ако се погледају S-таблице овог примера криптосистема, за сваки пар улаза (X', X'' = X' xоr DX) могу се добити излази DY. Пример су бинарне вредности од X и Y за парове (X, X xоr DX) и одговарајуће вредности DY приказане у следећој таблици. Вредност разлике DX је 1011 (хексидецимално Б), 1000 (хексидецимално 8) и 0100 (хексадецимално 4). Задња три ступња представљају вредност DY за вредности X и одређени DX за сваки ступањ

.

У таблици се може видети да је број појављивања DY=0010 за DX=1011 8 од 16 могућих вредности (вероватноћа 1/2), затим број појављивања DY=1011 за DX=1000 4 од 16, те DY=1010 за DX=0100 је 0 од 16. Подаци за S-таблицу се могу приказати у таблици дистрибуције диференција у ком реду представљају вредности DX, а ступњи DY

13

Page 14: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

(наредна таблица). Сваки елемент таблице представља број појављивања одговарајуће излазне разлике DY уз дату улазну разлику DX. Осим посебног случаја где је DX=0 и DY=0, највећа вредност у таблици је 8, што одговара DX=Б и DY=2 (вероватноћа 8/16). Најмања вредност у таблици је 0, а појављује се за више парова. Из таблице диференцијала могу се извести следећа својства:

1. сума свих елемената у реду је 2n =16,

2. сума елемената у колони је 2n =16,

3. све вредности су парне,

4. улазна разлика DX=0 даје излазну диференцију DY=0 за пресликавање S-таблице један на један па елемент у горњем десном углу у таблици има вредност 2n =16, а све остале вредности у првом реду и првој колони су 0 и

5. када би било могуће конструисати идеалну S-таблицу, која не даје информације о разликама излаза уз дате улазе, сви би елементи у таблици били једнаки и вероватноћа појављивања одговарајуће вредности DY уз дати DX била би 1/2n =1/16.

14

Page 15: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

ПРИМЕРИ

Рачун подударањаКриптоанализа рачунањем подударања биће приказана на

примеру криптираног текста датог у наставку (групирање у скупове од 5 знакова није повезано с правом дужином речи).

QPWKA LVRXC QZIKG RBPFA EOMFL JMSDZ VDHXC XJYEB IMTRQ WNMEAIZRVK CVKVL XNEIC FZPZC ZZHKM LVZVZ IZRRQ WDKEC HOSNY XXLSPMYKVQ XJTDC IOMEE XDQVS RXLRL KZHOV

Претпоставља се да је текст писан енглеским језиком па криптиран Вижеровим кодом с нормалним А-Z компонентама и кратким кључем који се понавља. Могуће је шифрирани текст поделити у неколико ступња као што је приказано у наставку.

QPWKALVRXCQZIKGRBPFAEOMFLJMSDZVDHXCXJYEBIMTRQWN…

Ако се дужина кључа поклопи с претпостављеним бројем ступња, сва слова једног ступња могу се декриптирати употребом истих кључних слова (једноставна Цезарова шифра примењена на нешифрирани текст у енглеском језику). Одговарајући скуп шифрираних знакова требала би имати разлику вероватноћа сличну вредности одређеној за енглески језик. Рачунајући индекс IC за све ступње потребно је добити вредност око 1.73. Таблица вредности индекса IC за све претпостављене вредности кључа тј. од 1 до 10 приказана је у наставку

dužina Indeks IC

1 1,122 1,193 1,054 1,175 1,826 0,99

15

Page 16: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

7 1,008 1,059 1,1610 2,07

Израчуната вредност индекса IC показује да је одговарајућа дужина кључа 5 па је текст потребно поделити у 5 ступња.

QPWKALVRXCQZIKGRBPFAEOMFLJMSDZVDH…

Дужину кључа могуће је математички одредити применом Цезаровог дешифровања целог ступња за сваку од 26 могућности (А-Z). Затим је потребно изабрати кључно слово које дају највећу корелацију међу вероватноћама дешифрованог ступња и релативних вероватноћа слова за нормални текст у енглеском језику. Споменуту корелацију могуће је приказати као:

где је ni вероватноћа посматраног слова у ступњу, а fi релативна вероватноћа слова у енглеском језику. Након рачунања одређује се кључна реч као „ЕVЕRY“, што се користи за декриптирање па се добије текст („XX“ је ознака краја поруке):

MUST CHANGE MEETING LOCATION FROM BRIDGE TO UNDERPASS SINCE ENEMY AGENTS ARE BELIEVED TO HAVE BEEN ASSIGNED TO WATCH BRIDGE STOP MEETING TIME UNCHANGED XX

Линеарна криптоанализаРад линеарне криптоанализе приказан је нападом на

модификовану верзију алгоритма S-DЕS. Нека функција f прима улазне вредности x дуге 8 бита и подкључеве к дуге 8 бита па пружа излазне вредности y дуге 8 бита. Ово је могуће записати као:

16

Page 17: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

as y = f(x, k) (mod 2).

Проблем се јавља управо ако је алгоритам S-DЕS дизајниран тако да је функцију f могуће записати као линеарну комбинацију вредности x и к мод 2. Значи добије се следећи запис (где су М и D матрице величине 8x8):

y = f(x, k) = Mx + Dk (mod 2).

Функција f тада изгледа овако:

Све су пермутације и xor функције линеарне јер их је могуће записати као:

Функција SW је пермутација, тј.линеарна је па ју је могуће записати као:

17

Page 18: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

Да је S-таблица линеарна проналазак линеарне функције свео би се на y=f(x, к) (моd 2). Постоје два кориштења функције f за сваки од подкључева S1 и S2 с функцијом SW у средини. Ако је P некриптирани текст, а C криптирани текст па се игнорише иницијална и коначна пермутација, вреди:

C = f(g(f(P, K1)), K2)=M'g(f(P, K1)) + D'K2=E'M'f(P, K1) + D'K2=E'M'(M'P + D'K1) + D'K2=E'M2 'P + E'M'D'K1 + D'K2 (mod 2)

Дефинисање нове константне матрице:R= E´M2 , S= E´M´D, and T=D

За независне подкључеве вреди:C = R´P + S´K1 + T´K2 (mod 2)

Ако подкључеве нису генерисали из истог кључа:C = R´P + S´K1 + T´K2 + U´K3 + V´K4 (mod 2)

Сваки елемент у R, S, T, U и V je или 0 или 1 па вреди:C0 = P3 + P4 + P5 + K10 + K12 + K13 + K15 + … + K45 + K47

Ово показује да је бит 0 криптираног текста једнак xоr функцији битова некриптираног текста на месту 3, 4, 5 и кључа 1 на месту 1, 2, 3 итд. Слични изрази добију се за битове 1-7 шифрираног текста. Напад у којем се користи један шифрирани/нешифрирани пар даје 8 једначина с 32 непознаните чиме не можемо добити решење система. За 4 шифрирана/нешифрирана пара текстова добију се 32 једначине с 32 непознаните што је, уз употребу Гаусове елиминације, могуће решити

18

Page 19: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

кроз 32 рачуна. Нажалост, S-DЕS користи нелинеарне S-таблице што захтева много сложеније рачуне. Ипак, ово не значи да се линеарна једначина функције f неће одржати за неке парове улаза и излаза (у савршеном случају вероватноћа би била 50 %).

Диференцијална криптоанализаДиференцијална криптоанализа обавља се преко парова

некриптираних текстова (X' и X'') и припадних парова криптираних текстова (Y' и Y''). На пример задата су три пара некриптираних текстова и кључ:

K = 7c34b6e98f523854X1'= 3b92ade058430402X1'' = b0461a5858430402X2' = c8adf738ab761c20X2'' = d302e329ab761c20X3' = ef928525e61f62f1X3'' = d63da834e61f62f1

Задате некриптоване текстове потребно је прво криптирати чиме се добију следећи парови:

a84d9040984d336b5b1c15c8c66ab3c4aac1c1fb612511d2ee1a40982858724a90955c3e9e35d6f6b65a99409ea40565

Затим је потребно израчунати Ej и E*j низове дуге 6 бита и C'j низ дуг 4 бита:

E1 = 55025bca0201

19

Page 20: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

E*1 = 2f68f80abe50C'1 = b6f78be2E2 = d55603e03ff7E*2 = 75c0f42014f1C'2 = a3862df2E3 = 4a14aaaf81fdE*3 = 5ac2f54f2a01C'3 = 7904fb6b

Израчунати подаци се користе за рачунање три пута по осам испитиних скупова. Значи, за сваку од три групе улазних података рачунају се скупови тест1, тест2,... тест8 па се направи пресек скупова свих група података. Након рачунања добију се подаци:

20

Page 21: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

Декадске вредности 6-битних делова подкључа К3 су: 51, 18, 56, 21, 17, 63, 44 и 28. Да је постојао још један пар некриптираних текстова, четврти скуп података би садржавала дате бројеве. Овакве одсечке потребно је спојити у целовити подкључ што даје К3 = cd2е1547fb1c. Затим се покреће алгоритам за генерисање подкључева уназад. Добије се кључ:

01111100 00110100 10x10x10 1x101000 10001110 0101xx10 001x10x0 x1010100

21

24 27 26 5 4 6 51 4518 20 26 27 12 50 52 60 61 4219 18 22 57 56 6021 5451 54 63 60 33 17 3 6 15 1248 52 55 59 60 6310 29 17 18 44 32 35 5913 28 32 49

51 32 45 27 5 823 18 30 27 53 49 60 56 34 4328 29 6 7 56 60 35 3913 12 21 20 35 34 59 5861 55 44 33 28 17 13 73 1 19 17 63 6144 052 50 47 46 41 40 29 28 27 26

19 23 24 28 51 5534 47 48 61 2 15 16 18 29 3149 56 33 4046 32 63 49 10 8 3 4 27 28 23 2141 40 45 44 55 15 17 16 21 2063 53 9 33 4449 47 33 32 29 28 19 13

Page 22: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

Битови који не учествују у кључу К3 означени су знаком „x“, а сви паритетни битови (сваки осми бит) постављени су на нуле. Последњи корак укључује проверу свих вредности за битове који недостају преко парова некриптирани/криптирани текст. Коначни кључ је:

01111100 00110100 10110110 11101001 10001111 01010010 00111000 01010100

Значи, диференцијалном криптоанализом за DЕS са 3 рунде добије се кључ који гласи: К = 7c34b6е98f523854, што је управо вредност претпостављена на почетку. Тиме је показано да се датим алгоритмом проблем проналажења кључа може свести на претраживање простора кључева величине 256.

ЗАКЉУЧАКРазвојем технологије дошло је до побољшавања криптографских

метода како би се повећала сигурност система. Међутим, исти тај напредак довео је до усавршавања метода откривања недостатака у криптографским шемама. Током историје, методе су постајале све софистицираније и сложеније, а бивале су усмерене према новим криптографским алгоритмима. Велики број алгоритама пробијен је убрзо након представљања. Методе криптографије пружиле су сигурност и тајност информацијама који су често представљале кључне податке током историје. Њихово увођење и употреба осигурали су несметану размену података на велике удаљености јер је дешифровање таквих података било могуће само уз познавање тајних кључева. Ипак развијени су поступци који су, захваљујући одређеним недостацима у криптографским шемама, омогућили откривање тајних кључева за декриптирање. Споменути поступци чине методе криптоанализе која је усмерена ка пробијању криптографских алгоритма. Како напредак технологије траје и даље, може се очекивати развој нових метода и усавршавање старих поступака за провођење криптоанализе. Како су методе криптоанализе усмерене према системима који још нису пробијени, могуће је очекивати више напада на АЕS стандард. Исто тако, могуће је да ће повећање снаге и меморијског капацитета рачунара у будућности пружити довољне ресурсе за провођење „brute force“ напада на већину алгоритама. Тиме би се осигурао пробој готово свих шифри те довело до потребе стварања

22

Page 23: КРИПТОАНАЛИЗА - Web viewКриптоанализа је научна дисциплина која проучава методе откривања значења криптираних

КРИПТОАНАЛИЗА

нових које ће захтевати још веће меморијске и временске ресурсе приликом провођења таквих напада.

ЛИТЕРАТУРА

1. Friedman William F., “Military Cryptanalysis”, Part I, ISBN 0-89412-044-1

2. Friedman, William F., “Military Cryptanalysis”, Part II, ISBN 0-89412-064-6

3. http://www.history.mcs.st-andrews.ac.uk/history/Mathematicians/Al- Kindi.html

4. Churchhouse, Robert , “Codes and Ciphers: Julius Caesar, the Enigma and the Internet”, Cambridge, 2002.

5. Friedrich L. Bauer, "An error in the history of rotor encryption devices", Cryptologia 23(3), 1999.

6. Živković, Miodrag, “Kriptografija”, Beograd, 2012.7. Stevanović, Vesna, “Kriptologija nekad i sad”, Beograd.8. http://en.wikipedia.org/wiki/Index_of_coincidence 9. http://en.wikipedia.org/wiki/Differential_cryptanalysis 10. Howard M. Heys: “A Tutorial on Linear and Differential

Cryptanalysis”, http://www.engr.mun.ca/~howard/PAPERS/ldc_tutorial.pdf , 2009.

11. http://en.wikipedia.org/wiki/Linear_cryptanalysis 12. http://nsfsecurity.pr.erau.edu/crypto/lincrypt.html

23