Presentation is loading. Please wait.

Presentation is loading. Please wait.

Blok algoritmi i DES Jelena Ignjatović.

Similar presentations


Presentation on theme: "Blok algoritmi i DES Jelena Ignjatović."— Presentation transcript:

1 Blok algoritmi i DES Jelena Ignjatović

2 Transpoziciona šifra MESSAGE FROM MARY STUART KILL THE QUEEN
Transpoziciona šifra je šifra koja permutuje simbole poruke prema datom šablonu. MESSAGE FROM MARY STUART KILL THE QUEEN Ključ = 9 kolona K I L L Q U E E N T H E F R O M M E S S A G E M A R Y S T U A R T Plaintext ulaz Prošireni ključ: raspored kolona 9! Ciphertext izlaz MOAEE MRQSM TUSAK EARIE GYLN FTT RUH MOAEE MRQSM TUSAK EARIE GYLNE SL MOAEE MRQSM TUSAK EARIE MOAEE MRQ MOAEE MRQSM TUSAK E MOAE MOAEE MRQSM TU SMTUE SLGYL NMOAE ARIER UHSAK EFTTE MRQ

3 Dijagram Rešetkaste transpozicione šifre.
Transpoziciona šifra Fleissnerova rešetka – 1881 Girolamo Cardano ( ) Dijagram Rešetkaste transpozicione šifre. Ovaj diagram pokazuje šifrovanje poruke "JIM ATTACKS AT DAWN" korišćenjem 4x4 rešetkaste transpozicione šifre. Grille Another type of transpositional cipher uses a grille. This is a square piece of cardboard with holes in it such that each cell in the square appears in no more than one position when the grille is rotated to each of its four positions. Only grilles with an even number of character positions in the square can satisfy this requirement. As much message as will fit in the grille is written, then it is turned to another position and more message is written. Removing the cardboard reveals the cyphertext. The following diagram shows the message "JIM ATTACKS AT DAWN" encoded using a 4x4 grille. The top row shows the cardboard grille and the bottom row shows the paper underneath the grille at five stages of encoding: blank grille on the paper. first four letters written in the blanks. grille rotated one position, second set of letters written. grille rotated two positions, third set of letters written. grille rotated three positions, fourth set of letters written. After the letters in the message have all been written out, the ciphertext can be read from the paper: "JKDT STAA AIWM NCAT". The sender and receiver must agree on the initial orientation of the grille, the direction to rotate the grille, the order in which to use the spaces on the grille, and the order in which to read the ciphertext characters from the paper. transpozicione (ili permutacione) šifre skrivaju sadržaj poruke preuredjivanjem redosleda slova.

4 BLOK ŠIFRE Blok šifrovanja se koriste za šifrovanje kratkih poruka kao što su ključevi, lozinke, potpisi ili autentifikacije korisnika. Kod ovog načina šifrovanja, izvorni podatak se deli u blokove simbola određene veličine koji se individualno i nezavisno kodiraju u cilju formiranja šifrovanog bloka podataka. Blok šifrovanje odlikuju sledeće osobine: - Svaki blok simbola se šifruje uvek na isti način, nezavisno od mesta koje zauzima u poruci. - Jednake poruke, šifrovane sa istim ključem, uvek daju jednake šifrovane poruke. - Da bi se dešifrovao deo poruke, nije neophodno dešifrovati je od početka, dovoljno je dešifrovati blok koji nas interesuje.

5 Kriptosistemi sa simetričnim ključem Blok šifre
n bits Blokovi otvorenog teksta n bitova n bitova Moguće osobine blokova: n = 64, 128, 256 bitova k bitova Ključ Blok šifra Moguće veličine ključeva: k = 40, 56, 64, 80, 128, , 192, 256 bitova Block Ciphers • A block cipher cuts up a plaintext of arbitrary length into a series of blocks having a constant size of n bits. It then encrypts a single block of plaintext at a time and converts it into a block of ciphertext. In a good block cipher each of the n bits of the ciphertext block is a function of all n bits of the plaintext block and the k bits of the secret key. Common Block Sizes • Most block sizes currently are 64 bits but the trend is clearly going towards larger block sizes e.g. with the Advanced Encryption Standard (AES) Common Key Sizes • Key sizes with 40, 56 and 64 bits are clearly unsecure and should not be used anymore. To be on the safe side use a key size of 128 bits or more. n bitova blokovi hiperteksta n bitova

6 Primer blok šifre Kod primene algoritama sa simetričnim ključem na računarima, kodiranje slova poruke i ključa tj. njihovo pretvaranje u binarni oblik se podrazumeva. Jedan od najviše korišćenih algoritama sa simetričnim ključem je ASCII kod koji se između ostalog koristi i za pretvaranje električnog signala sa tastature u binarni kod koji predstavlja odgovarajući simbol. Ovako izgleda tabela sa ASCII kodom alfabeta:

7 Primer blok šifre 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 Da bi se neko slovo kodiralo u binarni niz znakova (od 8 bita), potrebno je brojeve iz tabele iz dekadnog brojevnog sistema prevesti u binarni brojevni sistem. Za ključ se može odabrati neka reč iz određenog jezika, ali iako je takav ključ lak za pamćenje on je podložniji napadima kriptoanalitičara. Bezbedniji način generacije ključa je korišćenje nekog generatora pseudoslučajnih brojeva. U tom slučaju strane koje učestvuju u komunikaciji treba da dogovore samo početno stanje koje će ključ koristiti.

8 Primer blok šifre Postupak šifrovanja je sledeći:
Prvo se kodira otvoreni tekst i dobija se binarni niz dužine n. Nakon toga je potrebno kodirati ključ (ako je ključ zadat slovima) ili generisati ključ. Ključ ne mora biti iste dužine kao i otvoreni tekst, jer se može produžiti periodičnim ponavljanjem binarnog niza ključa do dužine n. Šifrovanje se vrši primenom operacije XOR nad parovima odgovarajućih bita otvorenog teksta i ključa, kako bi se dobio niz bita (ponovo dužine n) koji predstavlja šifrat. Ako je pi i-ti bit otvorenog teksta, ki i-ti bit ključa, a ci i-ti bit šifrata tada je ci=pi⊕ki.

9 Primer blok šifre Dešifrovanje se vrši na isti način kao i šifrovanje, samo se sada XOR primenjuje nad bitovima šifrata i ključa pi=ci⊕ki. Kao primer možemo uzeti da je ključ reč "GOLD", a poruka koju želimo da pošaljemo "ASUSSUAL". ASCII kod poruke je: , a ASCII kod šifre je: Kako je dužina otvorenog teksta 8 znakova, a ključa 4, ključ se ponavlja dva puta kako bi imao istu dužinu kao i otvoreni tekst. Binarni kodovi poruke i ključa su:

10 Primer blok šifre A S U L G O D Korišćenjem XOR funkcije binarni kodovi poruke i šifre daju šifrat. Dešifrovanje se vrši pomoću XOR funkcije nad šifratom i ključem: Poruka: Ključ: Šifrat:

11 Claude Shannon i Supstituciono-permutacione šifre
1949. god. Claude Shannon je predstavio ideju supstituciono- permutacionih (S-P) mreža Moderno, to su sustituciono-transpozicione proizvod šifre One predstavljaju osnovu modernih blok šifara S-P mreže se zasnivaju na operacijama: supstitucije (S-box) permutacija (P-box) Obezbeđuje konfuziju i difuziju poruke difuzija – rastura statističku strukturu plaintexta do obima hipertexta konfuzija – čini vezu između hipertexta i ključa što jemoguće složenijom Ove tehnike još uvek su korisne za razumevanje kriptografije kao i za rad sa kompleksnijim modernim šiframa.

12 Blok algoritmi Poznati simetrčni blok algoritmi su:
DES (Data Encription Standard) – ključ je dužine 56 bitova; Triple DES, DESX, GDES,RDES – ključ je dužine 168 bitova; (Rivest) RC2, RC4, RC5, RC6 – ključ je promenljive dužine do 2048 bitova; IDEA – ključ je dužine 128 bitova; Blowfish – ključ je promenljive dužine do 448 bitova; AES (Advanced Encription standard) – radi sa blokovima dužine 128 bitova i koristi ključeve dužine 128, 192, 256 bitova;

13 Data Encryption Standard (DES)
Pojavom prvih računara otvorile su se nove mogućnosti za kriptografiju. Računari su vremenom postajali sve brži, radeći i po nekoliko miliona operacija u sekundi. Nova brzina rada je omogućila brže razbijanje šifri. Ovakav razvoj situacije je uslovio i potrebu za pravljenjem novih, sigurnijih i komplikovanijih algoritama za šifrovanje.  Početak ovog perioda je označen sa razvojem blokovskih šifri počevši sa LUCIFEROM, razvijenim oko 1970, projektom IBM-a. Razvojem računarskih sistema i kriptografije javila se potreba za pravljenjem jedinstvenog standarda za šifrovanje podataka.

14 Data Encryption Standard (DES)
Na drugom konkursu za razvoj DES-a (Data Encryption Standard), pošto se na prvom nije pojavio nijedan ozbiljniji kandidat, javio se IBM sa algoritmom zasnovanim na Lucifer-u. Iako komplikovan, predloženi algoritam se sastoji samo od jednostavnih logičkih operacija sa malim grupama bitova, pa se dosta efikasno može realizovati kako hardverski tako i programski. Algoritam je usvojen za standard dostupan svima, bez obzira na činjenicu da je prethodno bio patentiran. U usvajanju konačnog rešenja za DES je učestvovala i NSA (National Security Agency) američka vladina ustanova koja se između ostalog bavi i kriptoanalizom.

15 Data Encryption Standard (DES)
Ovaj projekat okončan je 1971 godine i Lucifer je bio prvi šifrat Algoritam je radio sa blokovima veličine 64 bita i koristio ključ od 128 bita. Kompanija se kasnije komercijalizovala. ovaj način kodiranja i nazvala ga DES (eng. Data Encryption Standard) godine DES je prihvaćen kao federalni standard za enkripciju podataka i korišćen je u komunikacijama Američke vlade. DES je narednih dvadesetak godina bio najviše korišćeni standard na svetu. To je kod nekih autora izazvalo sumnju da je algoritam Lucifer u stvari oslabljen. Primedba koja ide u prilog toj tvrdnji je da je veličina ključa 128 bitova za Lucifer, a samo 56 bita za DES. Nesigurnost DES-a je dokazana 1998 godine, tako što je specijalizovani računar koji je tada vredeo dolara, za 56 sati odredio ključ za DES.

16 Data Encryption Standard (DES)
Blok plaintexta (64 bitova) Ključ (64 bitova) Inicijalna permutacija Upotrebno parče (56 bitova) Ciklus 1 Ciklus 2 Ciklus 16 Description of th Data Encrytion Standard (DES) • The key length is 56 bits. (The key is usually written as a 64-bit number, but every eigth bit is used for parity checking and is discarded when the key is loaded into the DES algorithm. • Broken down into its building blocks, the algorithm is nothing more than a combination of the two basic techniques of encryption: confusion and diffusion. The fundamental building block of DES is a single combination of these techniques (a substitution followed by a permutation) on the plaintext and based on the key. This is known as a round. DES has 16 rounds; it applies the same combination of techniques on the plaintext block 16 times. Any round less would make DES vulnerable to differential cryptanalysis! • At the very beginning of the DES algorithm the 64 bit plaintext block is subjected to an initial permutation which does not depend on the key, whereas the inverse of this permutation finishes off the algorithm and delivers the ciphertext. These permutations do not affect the security of the DES algorithm and their purpose is not quite known. Reverzna permutacija Blok hipetexta (64 bitova)

17 Data Encryption Standard (DES)
Kao ulaz u algoritam se koristi blok od 64-bita izvornog teksta i 56- bitni ključ. Izlaz iz algoritma je 64-bitni kriptovan tekst koji se dobija nakon 16 iteracija koje se sastoje od identičnih operacija. Ključ od 56 bita se formira od inicijalnog 64-bitnog ključa informacije ignorisanjem svakog 8 bita, tj. odsecanjem ukupno 8 bitova. Kriptovanje pomoću DES algoritma se sprovodi u nekoliko koraka. Prvo se bitovi ulaznog bloka dužine 64 bita permutuju početnom permutacijom. Radi se o permutaciji koja jednostavno vrši zamenu mesta bitova. Permutovan ulazni blok deli na dva dela od po 32 bita, levi L0 i desni R0 deo. Nad desnim delom bloka se obavlja funkcija f(R0,K1), gde je R0 desnih 32 bita, a K1 je 48-bitni ključ. Ova funkcija generiše 32-bitni rezultat. Nad dobijenim rezultatom funkcije f i L0 vrši se operacija XOR.

18

19

20 Jedan ciklus u DES algoritmu
56 32 Keyi-1 Ri-1 Li-1 Keyi Ri Li Shift 48 Kompresiona Permutacija Ekspanziona permutacija 48 S-Box Supstitucija 32 P-Box Permutacija Feistel Networks • At the heart of each DES round is a Feistel network, named after the IBM scientist Horst Feistel. The 64 bit block of incoming plaintext is split into a right and a left half of 32 bits each. The right half becomes the left half of the output text block at the end of the round, but it also enters a black box where it is first expanded to 48 bits by an expansion permutation and then XOR-ed with a 48-bit wide key. The resulting sum then enters an array of eight S-boxes with 6 input lines and 4 output lines each, producing a 32 bit wide output which then gets permuted by a P-box. The resulting output the black box is XOR-ed with the left half of the input text block and becomes the right half of the output text block. • Each of the 16 DES rounds has a 48 bit key of its own, derived by continually shifting and permuting the full 56 bit key from round to round. DES danas NIJE dovoljno siguran

21 Data Encryption Standard (DES)
Prilikom šifrovanja/dešifrovanja u svakoj iteraciji se koriste različiti ključevi K1, ..., K16 veličine 48-bita. Za generisanje ovih ključeva se koristi poseban algoritam. Postupak generisanja šesnaest 48-bitnih delova ključeva (K1,K2,…,K16) od zadatog tajnog ključa sprovodi se u nekoliko koraka. Prvo se iz 64-bitnog ključa odstrane bitovi parnosti tj. 8-, 16-, 24-, 32-,40-, 48-, 56- i 64-bit, zatim se pomoću zadate tabele permutacije PC-1 iz ključa generišu dva bloka po 28 bita (Ci i Di). Blokovi se formiraju tako što svaki bit sa pozicije i ide na poziciju koja se čita iz i-te stavke ove tabele. Nakon toga, sledi 16 koraka u okviru kojih se svaki blok rotira ulevo za određeni broj bita (Ls(i) zavisi o kom koraku se radi). Nastali blokovi se spajaju, a onda se pomoću permutacije koja je definisana tabelom PC-2 generše odgovarajući deo ključa Ki, gde je i redni broj koraka.

22 Data Encryption Standard (DES)
Tabela PC-1 Tabela PC-2

23 Data Encryption Standard (DES)
Suštinski, a ujedno i najkritičniji deo algoritma predstavlja funkcija kriptovanja f tj. Feistel funkcija. Zbog njene kompleksnosti pretpostavljalo se da ne postoji način napada na DES-a. Funkcija f se formira u nekoliko koraka. Od ulaznih 32-bitnih Ri se proširenjem, na osnovu tabele E, dobija podatak dužine 48 bita. Dobijena vrednost se bit po bit “sabira“ sa ključem Ki (operator “ ⊕ ” predstavlja XOR logičku operaciju). Rezultat je 48-bitna vrednost koja se deli na osam delova od po šest bita. Tako dobijene vrednosti se vode u osam blokova za supstituciju S-box (S1,S2, …,S8). Svaki S-box ulaznih 6 bita zamenjuje sa 4 bita na izlazu. Prvi i zadnji bit svakog 6-bitnog dela informacije na ulazu u S-box predstavljaju adresu reda, a srednja četiri adresu kolone u tabeli supstitucije.

24 Data Encryption Standard (DES)
DES stuktura iteracije

25 Data Encryption Standard (DES)
Istim postupkom nad svakom šestorkom od ulaznih 48 bita substitucijom se dobija ukupno 32 bita. Tako formiranih 32 bita dodatno se permutuje zadatom tabelom P(Xi) te se dobija konačna vrednost funkcije f. Budući da je algoritam za kriptovanje identičan algoritmu za dekriptovanje, postupak dekriptovanja se može sprovesti tako što se operacije korišćene u postupku kriptovanja obavljaju obrnutim redosedom. Zbog simetričnosti algoritma to se postiže tako što se kriptovani blok pusti kroz isti algoritam s tom razlikom da se umesto ključa Ki u i-tom koraku upotrijebi ključ K16 − i + 1. Zanimljivo je da se napomene jedna slabost vezana za DES algoritam. Naime, zbog samog načina kreiranja delova ključeva, postoje četiri ključa za koje je dekripcija jednaka enkripciji. To znači, ako se kriptuje neka poruka dva puta i to sa baš jednim od ta 4 ključa, kao rezultat se dobija originalna poruka. Kako je verovatnoća da se od svih mogućih ključeva odabere baš neki od tih mala, to ne utiče na sigurnost algoritma.

26 Data Encryption Standard (DES)
DES algoritam koristi 56-bitni ključ za kriptovanje što znači ukupno mogućnosti za osobu koja hoće da probije tkz. brutalnim napadom tekst kriptovan sa DES-om. 1999. god. objedinjene grupe EFF i Distributed.net kao DES Cracker uz pomoć PC računara na Internetu, probili su DES za vreme 22 sata i 15 minuta. Pritom je brzina pretraživanja bila 245 biliona ključeva/sekundi. Kako je problem sa DES-om bila veličina ključa od samo 56 bitova, predloženo je rešenje trostrukim šifrovanjem DES-om, sa tri nezavisna ključa.

27 3DES Postoji više metoda Triple DES algoritma:
Prvi metod: Podaci se šifruju tri puta sa tri odvojena ključa. Drugi metod: Podaci se šifruju jednim, dešifruju drugim, pa se ponovo šifruju trećim ključem. Treći metod: Sličan je kao prethodna dva metoda, sa tim što se isti ključ koristi u prvoj i trećoj operaciji.

28 3DES

29 3DES Prvi ključ K1 se koristi za kriptovanje bloka podataka izvorne poruke P pomoću standardnog DES algoritma. Tako kriptovana poruka se dekriptuje drugim ključem K2. Dekriptovanjem poruke sa ovim ključem se dobija nova šifrovana poruka. Na kraju se razultat dekriptovanja opet kriptuje, ovaj put ili trećim ključem K3 ili opet prvim K1. Tako je konačno formirana kriptovana poruka C. Naizmeničnim korišćenjem različitih ključeva povećava se efektivna dužina ključa na ukupno 168 bita, a tako i broj kombinacija koje bi eventualni napadač morao probati da bi došao do izvorne poruke. Broj kombinacija za dva različita ključa je 2112, dok za 3 različita ključa ima čak 2168 kombinacija. 3-DES algoritam, kako ga još nazivaju, rešava problem dužine ključa običnog DES-a, a sa druge strane nedostatak mu je to što je mnogo sporiji od standardnog DES-a

30 Triple–DES (3DES) P DES EK3 C DES EK1 DES DK2 Ključ K3 Ključ K1
64 bits 168 bits DES EK3 Ključ K3 56 bits C 64 bits DES EK1 Ključ K1 56 bits DES DK2 Ključ K2 56 bits Triple DES (3DES) • Because 56 bit keys can now be broken by brute-force within seconds to hours, depending on the cracking hardware available, an interim data encryption standard offering a larger keyspace had to be found. Double DES encryption using two different 56 bit keys does not increase the cryptographic strength, because an attack can be started both from the plaintext and ciphertext side of the combined algorithm, looking for a common intermediate result in the middle. This is the reason that Triple DES encryption is used, with a first encryption stage followed by a decryption block in the middle and a second encryption stage added at the end. Although a different 56 bit key is normally used for each of the three stages (a variant of 3DES works with two keys K1 = K3 and K2, only), the cryptographic strength of the overall standard is actually 112 bits, since an attack can be mounted from both sides of the combined algorithm. Stvarna kriptografska snaga 3DES ključa je 2x56 bitova = bitova

31 3DES Dekriptovanje poruke koja je kriptovana pomoću 3-DES algoritma se, kao i kod klasičnog DES-a, obavlja inverznim funkcijama u odnosu na kodiranje. Prvo se obavlja dekriptovanje pomoću trećeg ključa, sledi kriptovanje pomoću ključa K2 i na kraju se izvorna poruka P dobija postupkom dekriptovanja pomoću ključa K1.

32 Advanced Encryption Standard (AES)
Kako DES nije bio projektovan sa namerom da se koristi njegova trostruka verzija, došlo se do zaključka da sigurno postoji efikasniji algoritam koji je po sigurnosti ekvivalentan trostrukom DES-u. Iz tog razloga je 1997 godine raspisan konkurs za novi algoritam. Za novi standard AES (Advanced Encryption Standard) je g. izabran algoritam Rajndol (Rijndael) sa blokom veličine 128 bita i ključem veličine 128, 192 ili 256 bita.

33 Advanced Encryption Standard (AES)
Razvoj Advanced Encryption Standarda The National Institute of Standards and Technology (NIST) počeo je sa izdavanjem sadržaja za AES i odabrao Rijndael oktobra 2000. , AES je javno prihvaćen kao U.S. Federal Information Processing Standard FIPS PUBS 197 Zahtevi za AES AES treba da bude javno definisan. AES treba da bude simetrična blok šifra. AES treba da ima mogućnost da se lako implementira i u hardver i u softver. AES treba da ima blokove dužine n = 128 bitova AES treba da ima fleksibilan ključ veličine k = 128, 192, i 256 bitova.

34 Neke popularne blok šifre
Veličina bloka Naziv algoritma Veličina ključa DES (Data Encryption Standard, IBM) 64 56 3DES (Triple DES) 64 168 IDEA (Lai / Massey, ETH Zürich) 64 128 CAST (Canada) 64 128 Blowfish (Bruce Schneier) 64 RC2 (Ron Rivest, RSA) 64 RC5 (Ron Rivest, RSA) AES (Advanced Encryption Standard) 128


Download ppt "Blok algoritmi i DES Jelena Ignjatović."

Similar presentations


Ads by Google