Класични алгоритми замене Цезар (caesar)...

8
1/31 ЗАШТИТА ПОДАТАКА Симетрични алгоритми заштите увод у криптографију 2/31 Преглед Биће објашњено: класични криптографски алгоритми моноалфабетски алгоритми замене криптоанализа коришћењем фреквенције појављивања слова Playfair алгоритми полиалфабетски алгоритми транспозициони алгоритми продукциони алгоритми, ротор машине стеганографија 3/31 Класични алгоритми замене су они у којима се слова или обичан текст мењају другим словима, бројевима или симболима или, уколико обичан текст посматрамо као низ битова, онда су ово алгоритми у којима се шаблони битова обичног текста, мењају са шаблонима (pattern) битова шифрованог текста 4/31 Цезар (Caesar) алгоритам најранији алгоритам замене за који се зна направио га је Јулије Цезар прва употреба била је у војне сврхе свако слово се мења са словом које је 3 места испред пример: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB

Upload: hoangthuy

Post on 25-May-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

1/31

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

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

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

2/31

Преглед

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

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

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

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

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

– Playfair алгоритми

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

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

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

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

3/31

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

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

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

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

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

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

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

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

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

4/31

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

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

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

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

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

• пример:

meet me after the toga party

PHHW PH DIWHU WKH WRJD SDUWB

Page 2: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

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 у оригиналу)

6/31

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

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

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

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

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

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

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

7/31

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

8/31

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

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

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

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

Plain: abcdefghijklmnopqrstuvwxyz

Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN

Plaintext: ifwewishtoreplaceletters

Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA

Page 3: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

9/31

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

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

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

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

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

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

језика

10/31

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

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

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

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

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

11/31

Фреквенција коришћења

енглеских слова

12/31

Употреба у криптоанализи• кључни концепт је у томе што

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

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

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

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

Page 4: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

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

14/31

Playfair алгоритам

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

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

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

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

15/31

Playfair алгоритам

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

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

• остатак матрице попуњава се осталим словима• нпр. коришћењем кључне речи MONARCHY

16/31

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

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

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

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

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

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

Page 5: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

17/31

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

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

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

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

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

18/31

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

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

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

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

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

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

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

19/31

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

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

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

• кључ је дугачак неколико слова K = k1 k2 ... kd • i-то слово специфицира i-ту азбуку за

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

поруци

20/31

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

Page 6: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

21/31

Пример

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

key:

deceptivedeceptivedeceptive

plaintext:

wearediscoveredsaveyourself

ciphertext:ZICVTWQNGRZGVTWAVZHC

QYGLMGJ

22/31

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

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

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

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

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

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

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

кључној речи

23/31

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

порука

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

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

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

plaintext: wearediscoveredsaveyourself

ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA24/31

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

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

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

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

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

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

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

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

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

Page 7: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

25/31

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

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

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

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

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

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

порука

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

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

28/31

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

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

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

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

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

Page 8: Класични алгоритми замене Цезар (Caesar) алгоритамrti.etf.bg.ac.rs/rti/ir4zp/materijali/vezbe/arhiva/staro... · 2009-03-09 · • ефикасно

29/31

Ротор машине

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

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

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

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

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

30/31

Ротор машине

31/31

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

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

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

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

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

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

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

• има мане

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

бита