31
1/31 ЗАШТИТА ПОДАТАКА Симетрични алгоритми заштите увод у криптографију

01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

Embed Size (px)

Citation preview

Page 1: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

1/31

ЗАШТИТА ПОДАТАКА

Симетрични алгоритми заштите

увод у криптографију

Page 2: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

2/31

Преглед

• Биће објашњено:

– класични криптографски алгоритми

– моноалфабетски алгоритми замене

– криптоанализа коришћењем фреквенције

појављивања слова

– Playfair алгоритми

– полиалфабетски алгоритми

– транспозициони алгоритми

– продукциони алгоритми, ротор машине

– стеганографија

Page 3: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

3/31

Класични алгоритми замене

• су они у којима се слова или обичан

текст мењају другим словима,

бројевима или симболима

• или, уколико обичан текст посматрамо

као низ битова, онда су ово алгоритми у

којима се шаблони битова обичног

текста, мењају са шаблонима (pattern)

битова шифрованог текста

Page 4: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

4/31

Цезар (Caesar) алгоритам

• најранији алгоритам замене за који се зна

• направио га је Јулије Цезар

• прва употреба била је у војне сврхе

• свако слово се мења са словом које је 3 места испред

• пример:meet me after the toga party

PHHW PH DIWHU WKH WRJD SDUWB

Page 5: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

5/31

Цезар (Caesar) алгоритам

• алгоритам трансформације се дефинише као:a b c d e f g h i j k l m n o p q r s t u v w x y z

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

• математички, ако сваком слову доделимо одговарајући бројa b c d e f g h i j k l m

0 1 2 3 4 5 6 7 8 9 10 11 12

n o p q r s t u v w x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

• тада уопштени Цезаров алгоритам добијамо као:C = E(к,p) = (p + k) mod (26),

p = D(к,C) = (C – k) mod (26),

где је C-шифровани знак, p-оригинални знак, а к-померај (3 у оригиналу)

Page 6: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

6/31

Криптоанализа Цезар алгоритма

• постоји само 26 могућности пресликавања слова– A се мапира у A,B,C,...,Z

• могуће је разбити алгоритам заменом свих могућности

• дакле коришћењем brute force добије се решење

• за задати шифровани текст, само се испробају све замене које постоје

• потребно је препознати када се дошло до оригиналне поруке

• нпр. покушајте са "PHHW PH DIWHU WKH WRJD SDUWB "

Page 7: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

7/31

Криптоанализа Цезар алгоритма

Page 8: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

8/31

Моноалфабетски алгоритам

• уместо да само померамо слова, можемо да их измешамо насумично

• сада свако слово обичног текста, води до неког различитог насумично изабраног слова шифрованог текста

• самим тим имамо кључ дужине 26, односно 26! могућих кључева

Plain: abcdefghijklmnopqrstuvwxyz

Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN

Plaintext: ifwewishtoreplaceletters

Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA

Page 9: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

9/31

Моноалфабетски алгоритам

• дакле, имамо 26! = 4 x 1026 кључева

• сада бисмо могли рећи да имамо

прилично сигуран алгоритам

• то би било погрешно. Зашто?

• проблем настаје у карактеристикама

језика

Page 10: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

10/31

Редудантности језика и криптоанализа

• у људским језицима има доста редудантности

• слова се не користе са једнаком вероватноћом

• у Енглеском језику e је убедљиво најчешће коришћено слово, а th најчешћи пар слова

• затим T,R,N,I,O,A,S • нека друга слово, међутим, користе се ретко• као Z,J,K,Q,X • могуће је направити табелу фреквенције коришћења слова

Page 11: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

11/31

Фреквенција коришћења енглеских слова

Page 12: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

12/31

Употреба у криптоанализи

• кључни концепт је у томе што моноалфабетски алгоритми замене не мењају релативну фреквенцију употребе слова

• израчунавање фреквенције слова у шифрованом тексту

• поређење добијених вредности са познатим вредностима

• добијање одређених делова кључа на основу упоређивања

Page 13: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

13/31

Пример криптоанализе

• неки шифровани текст:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ

VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX

EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

• израчунавамо релативне фреквенције (броји се појава сваког слова и дели са укупним бројем слова)

• претпостављамо да су P & Z заправо e и t

• затим да је ZW заправо th и добијамо да је ZWP заправо the

• настављајући са упоређивањем добићемо:it was disclosed yesterday that several informal but

direct contacts have been made with political

representatives of the viet cong in moscow

Page 14: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

14/31

Playfair алгоритам

• чак ни велики број кључева у моноалфабетском алгоритму не пружа довољну сигурност

• један приступ у побољшању безбедности, био је да се шифрира више слова заједно

• Playfair алгоритам је пример таквог приступа

• измишљен је 1854. године

Page 15: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

15/31

Playfair алгоритам

• користи се 5X5 матрица слова базирана на кључној речи

• матрица се прво попуњава словима из кључа (без дупликата)

• остатак матрице попуњава се осталим словима

• нпр. коришћењем кључне речи MONARCHY

Page 16: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

16/31

Шифровање и дешифровање

• шифрују се по 2 слова обичног текста:1. ако се у пару налазе иста слова убацује се

додатно слово да их раздвоји, нпр. "balloon" као"ba lx lo on"

2. ако се обадва слова налазе у истом реду у матрици, свако се замењује са следећим у реду (слово са краја реда замењује се оним са почетка), нпр. “ar" као "RM"

3. ако се обадва слова налазе у истој колони у матрици, свако се замењује са словом које се налази испод њега (слово са дна матрице замењује се оним из те колоне са врха матрице), нпр. “mu" као "CM"

4. у супротном свако слово се замењује са словом из истог реда и из колоне у којој се налази његов парњак, нпр. “hs" као "BP", “ea" као "IM" или "JM"

Page 17: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

17/31

Сигурност Playfair алгоритма

• много побољшана у односу на

моноалфабетски алгоритам

• може се дешифровати, јер још увек

садржи доста велик део обичног текста

Page 18: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

18/31

Полиалфабетски алгоритми

• други приступ за побољшање сигурности је да се користе вишеструко шифрирани алфабети

• метод је назван полиалфабетски алгоритми замене

• чини криптоанализу тежом, јер има више азбука за дешифровање и фреквенција појављивања слова је изједначенија

• користи се кључ да се одабере који алфабет се користи за шифрирање ког слова

• користи се сваки алфабет по реду

• понавља се од почетка када се стигне до краја кључа

Page 19: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

19/31

Vigenère алгоритам

• најједноставнији полиалфабетски алгоритам замене је Vigenère алгоритам

• ефикасно примењује вишеструко caesar алгоритам

• кључ је дугачак неколико слова K = k1 k2 ... kd

• i-то слово специфицира i-ту азбуку за коришчење

• алфабети се користе наизменично• понавља се од почетка након d слова у поруци

Page 20: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

20/31

Vigenère алгоритам

Page 21: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

21/31

Пример

• ако је кључна реч deceptive

key:

deceptivedeceptivedeceptive

plaintext:

wearediscoveredsaveyourself

ciphertext:ZICVTWQNGRZGVTWAVZHCQYGL

MGJ

Page 22: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

22/31

Сигурност Vigenère алгоритма

• постоји више могућности замене за

једно слово обичног текста

• самим тим фреквенције појављивања

слова су поремећене

• али не и начисто изгубљене

• проблем је и периодично понављање у

кључној речи

Page 23: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

23/31

Autokey алгоритам

• идеално је имати кључ исте дужине као порука

• Vigenère је предложио autokeyалгоритам

• користи се део поруке да се надовеже на основу кључне речи како би се избегло понављање

• нпр. за кључ deceptivekey: deceptivewearediscoveredsav

plaintext: wearediscoveredsaveyourself

ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA

Page 24: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

24/31

One-Time Pad алгоритам

• уколико се користи заиста случајан

кључ, дужине као порука, тада је

алгоритам сигуран

• назива се One-Time pad алгоритам

• немогуће га је открити с обзиром да

шифрирана порука не носи никакве

статистичке податке у себи

• проблем је сигурна дистрибуција кључа

Page 25: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

25/31

Транспозициони алгоритми

• сакривају поруку тако што испремештају

редослед слова

• без мењања слова

• имају идентичну фреквенцију

коришћења слова као и оригинална

порука

Page 26: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

26/31

Rail Fence алгоритам

• исписује се порука дијагонално у

неколико редова

• крајња шифра се пише ред по ред

• нпр. за:m e m a t r h t g p r y

e t e f e t e o a a t

• добијемо шифруMEMATRHTGPRYETEFETEOAAT

Page 27: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

27/31

Row Transposition алгоритам

• комплекснији од претходног

• исписује се порука у неколико редова

• колоне се реорганизују по неком кључу и добија се шифраKey: 4 3 1 2 5 6 7

Plaintext: a t t a c k p

o s t p o n e

d u n t i l t

w o a m x y z

Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ

Page 28: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

28/31

Продукциони алгоритми

• алгоритми базирани на замени или транспозицији нису довољно сигурни због језичких карактеристика

• зато се користи више алгоритама узастопно да би се учинили сигурнијим, али: – два алгоритма замене, чине комплекснију замену

– два транспозиције, комплекснију транспозицију

– али алгоритам замене, праћен алгоритмом транспозиције чини нову, много компликованију шифру

• ово је мост између класичних и модерних шифри

Page 29: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

29/31

Ротор машине

• пре модерних шифара, ротор машине су биле најпопуларније продукционе шифре

• коришћене у Другом светском рату– German Enigma, Allied Hagelin, Japanese Purple

• правиле су јако комплексне шифре базиране на алгоритму замене

• коришћен је низ цилиндара од којих је сваки давао по једну замену, и они су ротирали након енкрипције сваког слова

• са 3 цилиндра било је 263=17576 могућности

Page 30: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

30/31

Ротор машине

Page 31: 01 Uvod u kriptografiju.pptrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/01... · 2011-03-02 · 4/31 Цезар (Caesar) алгоритам • најранији алгоритам

31/31

Стеганографија

• алтернатива за шифрирање

• сакрива постојање поруке

– користи се само подскуп слова/речи у дужој

поруци на неки начин означеној

– користи се невидљиво мастило

– сакривање поруке у некој сличици или звуку

• има мане

– велика порука да се сакрије релативно мали број

бита