substitucioni kurac

9
1 UVOD U OSNOVNE TEHNIKE KRIPTOGRAFIJE Tajnost poruke je osnov kriptografije. Moderne tehnike enkripcije su algoritmi predstavljeni pomoću matematičkih transformacija koje tretiraju poruku kao niz brojeva (algebarskih elemenata). Razumljiva (smislena - cleartext) poruka biva transformisana u nerazumljivu (unintelligible - ciphertext) poruku ili šifrat. U nekim slučajevima, matematičke transformacije se ne vrše na smislenim porukama (smislena poruka može prethodno biti enkriptovana). U tom slučaju poruke se zovu plaintext. Dakle, algoritam koji vrši enkripciju ne mora operisati nad smislenim porukama. Transformacija enkripcije mora imati osobinu reverzibilnosti: enkriptovan tekst mora biti vraćen u formu originalne poruke (cleartext ili plaintext). Inverzna transformacija enkripcije je dekripcija, takođe predstavljena algoritmom baziranim na matematičkim transformacijama. Konvencionalni pristup podrazumeva da su postupci enkripcije i dekripcije parametrizovani kriptografskim ključem. Sa ove tačke gledišta kriptosistem obuhvata: algoritam enkripcije, algoritam dekripcije, opis formata poruke i ključ (ili više ključeva). Kriptografija mora da obezbedi sledeće: Tajnost informacija (engl. Confidentiality) osigurava da je sadržaj informacije dostupan samo ovlašćenim osobama odnosno samo onim koji poseduju ključ. Postoje brojni načini zaštite tajnosti, počev od fizičke zaštite do matematičkih algoritama koji skrivaju podatke. Integritet informacija ili verodostojnost informacija koje se šifruju (engl. Data integrity) se brine o tome da ne dođe do neovlašćene promene informacija, kao što su menjanje informacije, brisanje informacije i zamena informacije. Da bi se osigurala verodostojnost, mora postojati način provere da li je informacija promenjena od strane neovlašćene osobe. Provera identiteta (engl. Authentication) omogućava identifikaciju pošiljaoca i primaoca tj. omogućava obema stranama proveru porekla poruke. Neporečivost poruke (engl: Non-repudiation) je nemogućnost negiranja slanja poruke i izbegavanja odgovornosti. Ovo je vrlo važna stavka, pogotovo u novije vreme kada se veliki deo novčanih transakcija obavlja putem interneta. Šenon (Shannon) je definisao karakterisike kriptosistema na sledeći način: 1. Definisao je šifarski prostor (prostor poruka message space)– to su sve moguće poruke. Unutar ovog prostora postoji potprostor smislenih poruka (po pravilu je u pitanju plaintext) koji je uobičajeno statistički jednostavan. 2. Dobar algoritam enkripcije je transformacija koja smislenu poruku ili plaintext (mali deo prostora poruka) uniformno distribuira preko celog prostora poruka. Šanon ovu karakteristiku izražava pomoću sledeće formule: = U n n n R F lim

Upload: milos-lukic

Post on 01-Oct-2015

226 views

Category:

Documents


0 download

DESCRIPTION

ku'ac

TRANSCRIPT

  • 1

    UVOD U OSNOVNE TEHNIKE KRIPTOGRAFIJE Tajnost poruke je osnov kriptografije. Moderne tehnike enkripcije su algoritmi predstavljeni pomou matematikih transformacija koje tretiraju poruku kao niz brojeva (algebarskih elemenata). Razumljiva (smislena - cleartext) poruka biva transformisana u nerazumljivu (unintelligible - ciphertext) poruku ili ifrat. U nekim sluajevima, matematike transformacije se ne vre na smislenim porukama (smislena poruka moe prethodno biti enkriptovana). U tom sluaju poruke se zovu plaintext. Dakle, algoritam koji vri enkripciju ne mora operisati nad smislenim porukama. Transformacija enkripcije mora imati osobinu reverzibilnosti: enkriptovan tekst mora biti vraen u formu originalne poruke (cleartext ili plaintext). Inverzna transformacija enkripcije je dekripcija, takoe predstavljena algoritmom baziranim na matematikim transformacijama. Konvencionalni pristup podrazumeva da su postupci enkripcije i dekripcije parametrizovani kriptografskim kljuem. Sa ove take gledita kriptosistem obuhvata: algoritam enkripcije, algoritam dekripcije, opis formata poruke i klju (ili vie kljueva). Kriptografija mora da obezbedi sledee:

    Tajnost informacija (engl. Confidentiality) osigurava da je sadraj informacije dostupan samo ovlaenim osobama odnosno samo onim koji poseduju klju. Postoje brojni naini zatite tajnosti, poev od fizike zatite do matematikih algoritama koji skrivaju podatke.

    Integritet informacija ili verodostojnost informacija koje se ifruju (engl. Data integrity) se brine o tome da ne doe do neovlaene promene informacija, kao to su menjanje informacije, brisanje informacije i zamena informacije. Da bi se osigurala verodostojnost, mora postojati nain provere da li je informacija promenjena od strane neovlaene osobe.

    Provera identiteta (engl. Authentication) omoguava identifikaciju poiljaoca i primaoca tj. omoguava obema stranama proveru porekla poruke.

    Neporeivost poruke (engl: Non-repudiation) je nemogunost negiranja slanja poruke i izbegavanja odgovornosti. Ovo je vrlo vana stavka, pogotovo u novije vreme kada se veliki deo novanih transakcija obavlja putem interneta.

    enon (Shannon) je definisao karakterisike kriptosistema na sledei nain: 1. Definisao je ifarski prostor (prostor poruka message space) to su sve mogue poruke. Unutar ovog prostora postoji potprostor smislenih poruka (po pravilu je u pitanju plaintext) koji je uobiajeno statistiki jednostavan. 2. Dobar algoritam enkripcije je transformacija koja smislenu poruku ili plaintext (mali deo prostora poruka) uniformno distribuira preko celog prostora poruka. anon ovu karakteristiku izraava pomou sledee formule:

    =Un

    n

    nRFlim

  • 2

    Ovde F oznaava funkciju (algoritam enkripcije) koja mapira poruku iz prostora u prostor (u samog sebe). Sa R je oznaena originalna poruka (plain text) odnosno mali deo prostora . Kriptosistem sadri: 1. Algoritam enkripcije E. 2. Algoritma dekripcije D. 3. Prostor Kljueva K. 3. Prostor smislenih poruka M (moe biti i plaintext) kao niz karaktera, odnosno niz stringova nad

    nekim alfabetom.

    4. Prostor ifrovanih poruka C. Enkripcija je definisana sa:

    )(mc Eke= , ovde Cc , Kke , Mm . Klju ke se naziva enkripcioni klju (encryption key). Dekripcija je definisana sa:

    )(cm Dkd= , ovde Cc , Kkd , Mm . Klju kd se naziva dekripcioni klju (decryption key). Mora biti zadovoljeno:

    ))(( mm ED kekd= .

    Kriptosistem

  • 3

    Substituciono ifrovanje (Substitution Cyphers) Algoritam enkripcije )(mEke vri supstituciju (zamenu) poruke Mm ifrovanom porukom

    Cc . Algoritam moe biti parametrizovan tajnim kljuem Kke . Dekripcija je definisana sa: )(cDkd , gde Kkd . U optem sluaju, supstitucija je mapiranje: CM : , reverzno

    mapiranje je takoe supstitucija definisana sa MC :1 . Primer: Neka je 26== CM . Ovim je definisano da su prostori poruke i ifrovane poruke definisani nad skupom od 26 karaktera; npr. A=0, B=1, ..., Z=25. Neka je tabela supstitucije za ifrovanje poruke: A B C D E F G H I J K L M N O P R S T U V X Y Z Q W 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 21 12 25 17 24 23 19 15 22 13 18 3 9 5 10 2 8 16 11 14 7 1 4 20 0 6

    Ovo znai da se kd 0 zamenjuje kdom 21, umesto kda 1 pie se kd 12, itd. Klju se ne koristi. Poruka: IT WILL HAPPEN AGAIN. ifrovana poruka: YL GYDD PXCCQF XUXYF (razmaci nisu ifrovani). Tabela supstitucije za deifrovanje poruke definisana je sa: A B C D E F G H I J K L M N O P R S T U V X Y Z Q W 21 12 25 17 24 23 19 15 22 13 18 3 9 5 10 2 8 16 11 14 7 1 4 20 0 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

    Deifrovana poruka je: IT WILL HAPPEN AGAIN Ovakav nain ifrovanja je lo, jer primena tehnike kriptoanalize pod nazivom analiza frekventnosti (frequency anlysis) koja koristi redundantnosti govornog jezika veoma lako generie originalnu poruku. Sigurniji nain ifrovanja poruke je korienje kljua. Primena funkcije XOR Funkcija XOR je esto koriena kao deo raznih algoritama ifrovanja koji koiriste klju. Primer: ASCII kdni raspored dat je tabelom: 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

    Neka poruka glasi: ASUSSUAL Neka je data ifra: GOLD

  • 4

    ASCII kd poruke je: 65 83 85 83 83 85 65 76 ASCII kd ifre je: 71 79 76 68 Binarni kd poruke je: A S U S S U A L 1000001 1010011 1010101 1010011 1010011 1010101 1000001 1001100 Binarni kd ifre je: G O L D 1000111 1001111 1001100 1000100 Pomou XOR funkcije binarni kdovi poruke i ifre daju ifrovanu poruku ifrat. Deifrovanje se vri takoe pomou XOR funkcije: Poruka : 10000011010011101010110100111010011101010110000011001100 ifra : 10001111001111100110010001001000111100111110011001000100 ifrovana poruka: 00001100011100001100100101110010100001101000011010001000 ifra : 10001111001111100110010001001000111100111110011001000100 Poruka : 10000011010011101010110100111010011101010110000011001100 Vegenre-ov postupak ifrovanja Upotrebljava se ifrovanje pomou kljua koristei operaciju celobrojnog deljenja. Primer: Neka je klju: ORANGE, odnosno prema sledeoj tabeli karakteri (simboli) kljua su zamenjeni kdovima: 14 16 0 13 6 4. A B C D E F G H I J K L M N O P R S T U V X Y Z Q W 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Poruka: IT WILL HAPPEN AGAIN je ifrovana na sledei nain (razmaci su zanemareni):

    Poruka I T W I L L H A P P E N A G A I N Kd poruke 8 18 25 8 11 11 7 0 15 15 4 13 0 6 0 8 13 Kd kljua 14 16 0 13 6 4 14 16 0 13 6 4 14 16 0 13 6 Klju O R A N G E O R A N G E O R A N G

    ifrovanje se vri na sledei nain: 8+14 = 22 (18 + 16) 26 = 8 25 + 0 = 25 8 + 13 = 21 11 + 6 = 17 11 + 4 = 15 7 + 14 = 21 0 + 16 = 16 15 + 0 = 15 (15 + 13) 26 = 2

  • 5

    4 + 6 = 10 13 + 4 = 17 0 + 14 = 14 6 + 16 = 22 0 + 0 = 0 8 + 3 = 21 13 + 6 = 19 Kd ifrovane poruke je: 22 8 25 21 17 15 21 16 15 2 10 17 14 22 0 21 19 A B C D E F G H I J K L M N O P R S T U V X Y Z Q W 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

    Prema prethodnoj tabeli, ifrovana poruka je: YI WXSP XRPCKS OYAXU. Deifrovanje poruke se vri analognim postupkom:

    ifrovana poruka

    Y I W X S P X R P C K S O Y A X U

    Kd ifrovane poruke

    22 8 25 21 17 15 21 16 15 2 10 17 14 22 0 21 19

    Kd ifre 14 16 0 13 6 4 14 16 0 13 6 4 14 16 0 13 6 ifra O R A N G E O R A N G E O R A N G

    Prema prethodnoj tabeli je: 22 14 = 8 (8 16) + 26 = 18 25 0 = 25 21 13 = 8 17 6 = 11 15 4 = 11 21 14 = 7 16 16 = 0 15 0 = 15 (2 13) + 26 = 15 10 6 = 4 17 4 = 13 14 14 = 0 22 16 = 6 0 0 = 0 21 13 = 8 19 6 = 13 Kd deifrovane poruke je 8 18 25 8 11 11 7 0 15 15 4 13 0 6 0 8 13. Originalna poruka IT WILL HAPPEN AGAIN formirana je na osnovu poetne tabele: A B C D E F G H I J K L M N O P R S T U V X Y Z Q W 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

  • 6

    Data Encription Standard (DES) Razvijen od strane IBMa kao unapreena verzija sistema Lucifer. Algoritam radi sa 64 bitnim blokovima podataka. Blok od 64 bita se deli na levu i desnu polovinu (svaka ima 32 bita). Rad algoritma odvija se u 16 identinih rundi.

    1= ii RL

    ),( 11 iiii KRfLR =

    Jedna runda DES algoritma Rad DES algoritma kratko je opisan pomou osam koraka: 1. Poetna permutacija Obavlja se pre prve runde i definisana je tabelom:

    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

  • 7

    Ovom tabelom je definisano da se 58. bit poruke premeta na mesto prvog bita, 50. bit poruke na mesto drugog bita, itd. 2. Transformacija kljua Klju od 64 bita je redukovan na 56 bita (svaki osmi bit je bit parnosti) pomou permutacije kljua. Za svaku od 16 rundi DES algoritma generie se potklju duine 48 bita na sledei nain: Klju duine 56 bita deli se na dve polovine duine 28 bita. Zatim se ove polovine cikliki pomeraju ulevo za 1 ili 2 bita zavisno od runde.

    Runda 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Pomeraj 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Vri se permutacija kompresije nad kljuem:

    14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 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 Bit na poziciji 14 biva premeten na poziciju jedan, bit na poziciji 17 biva premeten na poziciju dva, itd. Na ovaj nain, klju duine 56 bita transformisan je u klju duine 48 bita. 3. Permutacija proirenja Ova operacija, desnu stranu poruke ( 1iR ) koja je duine 32 bita proiruje na duinu od 48 bita. Koristi se sledea tabela:

    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 4. Primena XOR operatora Na proireni deo 1iR koji je sada duine 48 bita i na komprimovani klju koji je takoe duine 48 bita primenjuje se XOR operator. 5. Supstitucija pomou S kutija Rezultat XOR operatora duine 48 bita ulazi u supstitucione kutije, tako da svaka kutija prima 6 bitova (6*8 = 48), a kao rezultat daje 4 bita, odnosno ukupno 32 bita (4*8 = 32). Na sledeoj slici prikazan je sistem koji sadri osam supstitucionih kutija.

  • 8

    Sistem supstitucionih kutija Supstituciona kutija S1 definisana je na sledei nain:

    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 Na ulazu u S kutiju je 6 bitova: b1 b2 b3 b4 b5 b6. Bitovi b1 i b6 se kombinuju i formiraju 2 bitni broj (od 0 do 3) koji odreije vrstu tabele. Bitovi b2 b3 b4 b5 se kombijuju i formiraju 4 bitni broj (od 0 do 15) koji odreuje kolonu tabele. Broj koji se nalazi u izabranoj eliji se pretvara u binarni zapis i kao takav ini izlaz S kutije. Npr.

    b1 b2 b3 b4 b5 b6 1 1 0 0 1 1

    b1b6 = (11)2 = (3)10. Odabrana je vrsta 3 S1 kutije (vrste se broje od 0). b2b3b4b5 = (1001)2 = (9)10. Odabrana je kolona 9 S1 kutije (kolone se broje od 0). S1[3,9] = (11)10 =(1011)2. Na ulazu S1 kutije je: 110011, a na izlazu e biti: 1011. Na ovaj nain je ulaz u 8 S kutija, koji je duine 48 bita, transformisan u izlaz duine 32 bita. 6. Permutacija Ovim postupkom se 32 bita permutuju bez promene duine prema sledeoj tabeli.

    16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 102 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

  • 9

    7. Primena XOR operatora Predhodno formirana 32 bita kombinuju se pomou XOR operacije sa levom polovinom ( 1iL ) poetnog bloka podataka i formira se iR . 8. Zavrna permutacija Zavrni blok 1616LR se koristi kao ulaz u zavrnu permutaciju koja je inverzna poetnoj permutaciji. Ovim je jedna runda zavrena.