andmeturve ja krüptoloogia, viii moodsaid sümmeetrilisi krüptoalgoritme
DESCRIPTION
Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme. 22. oktoober 2001 Valdo Praust [email protected] Loengukursus IT Kolled ž is 2002. aasta sügissemestril. S ümmeetriline ehk s alajase võtmega krüpto algoritm. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/1.jpg)
Andmeturve ja krüptoloogia, VIIIAndmeturve ja krüptoloogia, VIII
Moodsaid sümmeetrilisi Moodsaid sümmeetrilisi krüptoalgoritmekrüptoalgoritme
Andmeturve ja krüptoloogia, VIIIAndmeturve ja krüptoloogia, VIII
Moodsaid sümmeetrilisi Moodsaid sümmeetrilisi krüptoalgoritmekrüptoalgoritme
22. oktoober 2001
Valdo Praust
Loengukursus IT Kolledžis2002. aasta sügissemestril
![Page 2: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/2.jpg)
SSümmeetriline ehk sümmeetriline ehk salajase alajase võtmega krüptovõtmega krüptoalgoritmalgoritm
Et sümmeetriline krüptoalgoritm oleks praktikas turvaline, peab:
• võti olema vähemalt 80 bitti pikk; vastasel korral on algoritmi võimalik murda ammendava otsinguga
• ei tohi olla teada olulist efekti andvaid krüptoanalüütilisi võtteid
Salajase võtmega krüptoalgoritm (secret key cryptoalgorithm) ehk sümmeetriline krüptoalgoritm (symmetric cryptoalgorithm), on selline, kus nii šifreerimisel kui ka dešifreerimisel kasutatakse sama (salajast) võtit
Salajase võtmega krüptoalgoritm (secret key cryptoalgorithm) ehk sümmeetriline krüptoalgoritm (symmetric cryptoalgorithm), on selline, kus nii šifreerimisel kui ka dešifreerimisel kasutatakse sama (salajast) võtit
![Page 3: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/3.jpg)
Salajase võtmega krüptoSalajase võtmega krüptoalgoritmalgoritm
![Page 4: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/4.jpg)
Kasutatavamaid algoritme, IKasutatavamaid algoritme, I
1. IDEA.128 bitine võti. Pärineb Šveitsist 1980te lõpust
2. Skipjack. 80 bitine võti. Pärineb 1990te algusest NSAlt, oli kaua aega (kuni 1998. aastani) salastatud
3. Blowfish. Varieeruva pikkusega võti, võib olla pikk 78 baiti, s.o 624 bitti. Pärineb Bruce Schreierilt 1990ndatest
![Page 5: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/5.jpg)
Kasutatavamaid algoritme, IIKasutatavamaid algoritme, II
4. AES (Rijndael). Võtme pikkus varieeruv, võib olla 128,198 või 256 bitti. On koostatud Belgias J. Daemeni ja V.Rjimeni poolt AESi konkursi jaoks 1990te lõpul, mille ta äsja võitis
5. MARS. Võtme pikkus varieeruv, võib olla 128 kuni 448 bitti, saab suurendada 32 biti kaupa. On koostatud IBMi poolt uue krüptoalgoritmi (AES) konkursile 1990te lõpul
![Page 6: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/6.jpg)
Kasutatavamaid algoritme, IIIKasutatavamaid algoritme, III
6. RC6. Võtme pikkus varieeruv, võib olla 1 kuni 255 baiti ehk siis 2040 bitti. Autorid: R. Rivest, M. Robshaw, R. Sidney, Y.Lin. On koostatud AES konkursi jaoks 1990te lõpul
7. Serpent. Võtme pikkus varieeruv, võib olla 128, 198 või 255 bitti. Autorid: R. Anderson, E. Biham, L. Knudsen. On koostatud AES konkursi jaoks 1990te lõpul
![Page 7: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/7.jpg)
Kasutatavamaid algoritme, IVKasutatavamaid algoritme, IV
8. Twofish. Võtme pikkus varieeruv, võib olla 128,198 või 256 bitti. Autorid: B. Schneier J. Kelsey, D. Whitning, D. Wagner, C. Hall, N. Feguson. Koostatud 1998. aastal AESi konkursi jaoks.
![Page 8: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/8.jpg)
IDEA: fakteIDEA: fakte• on plokkšiffer ploki pikkusega 64 bitti (8
baiti)
• kasutab 128-bitist (16-baidist) võtit
• on koostatud Šveitsis 1980te aastate lõpul
• on patenteeritud Šveitsi firma Ascom poolt, mitteärilistel eesmärkidel võib vabalt kasutada
![Page 9: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/9.jpg)
IDEA: tehniline üldkirjeldusIDEA: tehniline üldkirjeldus• On projekteeritud selliselt, et oleks võimalik kiire
realiseerimine tarkvaras (vastukaaluks nt DESile, kus pearõhk oli pandud riistvarale)
• On huvitav selle poolest, et plokkšifritele traditsiooniliste S-bokside asemel pruugib ta pööramatuid räsifunktsioone
• IDEA genereerib 128 bitilisest üldvõtmest 52 16-bitist alamvõtit
• IDEA koosneb kaheksast raundist• 64 bitise avateksti jagab IDEA neljaks 16-bitiseks
osaks• Iga raund kasutab 6 alamvõtit, peale raunde
kasutatakse veel 4 võtit
![Page 10: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/10.jpg)
IDEA: raundi kirjeldusIDEA: raundi kirjeldus
Raundi vältel tehakse hulga tehteid 16-bitiste plokkide ning alamvõtmetega
Raundis kasutatavad tehted on:• tavaline liitmine (mooduliga 216 ehk 65536)• XOR • korrutamine mooduliga 216+1 (65537)
Nimetatud tehete kogusumma annab piisava mittelineaarse funktsiooni; üks põhjusi selleks on, et 65537 on algarv
Nimetatud tehete kogusumma annab piisava mittelineaarse funktsiooni; üks põhjusi selleks on, et 65537 on algarv
![Page 11: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/11.jpg)
IDEA: raundi skeemIDEA: raundi skeem
![Page 12: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/12.jpg)
IDEA: IDEA: üldskeemüldskeem
![Page 13: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/13.jpg)
IDEA: võtmejaotusalgoritmIDEA: võtmejaotusalgoritm• esimesed 8 alamvõtit saadakse üldvõtme
tükeldamisest 8 osaks
• seejärel tehakse üldvõtme bititinihe 25 biti ulatuses ja leitakse nii järgmised 8 alamvõtit
• seda protseduuri korratakse 7 korda, kuni leitakse 52 alamvõtit (viimased kaks jäetakse kasutamata 7 x 8 = 56)
Seega on alamvõtmed iga 8 tagant omavahel seotudSeega on alamvõtmed iga 8 tagant omavahel seotud
![Page 14: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/14.jpg)
IDEA: krüptoanalüüsIDEA: krüptoanalüüs• ammendav otsing nõuab 2128 variandi
läbivaatamist
• olulist võitu andvaid krüptoanalüütilisi võtteid ei ole teada – seega on algoritm praktikas murdmatu
• arvestades algoritmi vanust, on see tähelepanuväärne tulemus
Järeldus: IDEA on praktiliseks kasutamiseks turvaline algoritmJäreldus: IDEA on praktiliseks kasutamiseks turvaline algoritm
![Page 15: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/15.jpg)
IDEA: eelised ja puudusedIDEA: eelised ja puudused
Eelised:• IDEAt on hea tarkvaras realiseerida, kuna ta
sisaldab tuntuid bitioperatsioone
• IDEA C-keelne lähtetekst on ca paar KB suur ja koosneb veidi rohkemast kui 100 reast
• On kasutatav paljudes programmides (sh vabavarana levitatavas PGPs)
Ainus puudus: oli patenteeritud, kuid patendi tähtaeg on saanud otsa
![Page 16: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/16.jpg)
Skipjack: fakteSkipjack: fakte
• on plokkšiffer ploki pikkusega 64 bitti (8 baiti)
• kasutab 80-bitist (10-baidist) võtit
• on koostatud USAs NSA (National Security Agency) poolt 1990te algul
• kasutatakse Clipperi kiibis
• kirjeldus oli kuni 1999. aasta juunini salastatud
![Page 17: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/17.jpg)
Skipjack: tehniline üldkirjeldusSkipjack: tehniline üldkirjeldus• on projekteeritud selliselt, et oleks võimalik kiire
realiseerimine tarkvaras (ei sisalda erikujulisi bititehteid)
• avatekst jagatakse neljaks 16-bitiseks neljandikuks
• Skipjack koosneb 32 raundist
• iga raund muudab vaid ühte neljandikku (16 bitti) teabest)
• kasutatakse kahte tüüpi raunde, A ja B: kaheksale A raundile järgneb 8 B raundi kasutamine
• 80bitine võti jagatakse kümneks kaheksabitiliseks alamvõtmeks lihtsa jagamise teel
![Page 18: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/18.jpg)
Skipjack: raundide kirjeldusSkipjack: raundide kirjeldus
• B tüüpi raund erineb A tüüpi raundist väikeste tehniliste üksikasjade poolest XORimisel
• Iga raund sisaldab põhimõtteliselt sama krüpteemisfunktsiooni G ehk nn Feisteli struktuuri, kus 16 bitise teksti teisendamiseks kasutatakse nelja alamvõtit ja permutatsiooni F
• funktsioonile G eelneb raundi järjenumbri ja eelmise neljandiku XORimine
![Page 19: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/19.jpg)
Skipjack: funktsiooni G skeemSkipjack: funktsiooni G skeem
![Page 20: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/20.jpg)
Skipjack: permutatsioon F Skipjack: permutatsioon F (Feisteli struktuur)(Feisteli struktuur)
![Page 21: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/21.jpg)
Skipjack: esimesed 8 raundi Skipjack: esimesed 8 raundi (tüüp A)(tüüp A)
![Page 22: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/22.jpg)
Skipjack: raundid 8-16 Skipjack: raundid 8-16 (tüüp B)(tüüp B)
![Page 23: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/23.jpg)
Skipjack: rakendatavusSkipjack: rakendatavus
• ammendav otsing nõuab 280 variandi läbivaatamist, mis ei ole kaasaja arvutitele jõukohane
• ei ole teada erilisi võitu andvaid krüptoanalüütilisi võtteid
Järeldus: Skipjacki võib pidada turvaliseks algoritmiks ning ta on IDEAst veidi kiirem
Järeldus: Skipjacki võib pidada turvaliseks algoritmiks ning ta on IDEAst veidi kiirem
Skipjack’i kasutatakse Clipperi kiibis ning ka paljudes muudes paikades
![Page 24: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/24.jpg)
• on plokkšiffer ploki pikkusega 64 bitti (8 baiti)
• kasutab varieeruva pikkusega võtit, max võtmepikkus on 448 bitti
• on koostatud Bruce Schreieri poolt 1993
Blowfish: fakteBlowfish: fakte
![Page 25: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/25.jpg)
Blowfish: tehniline üldkirjeldusBlowfish: tehniline üldkirjeldus
• koosneb 16 raundist
• kasutab 18 32-bitist alamvõtit, mis genereeritakse algvõtmest
• kasutab nelja 32-bitist S-boksi, mida kasutatakse võtmejaotusalgoritmi juures
• sarnaselt DESiga jagatakse 64-bitine plokk kaheks pooleks, millest iga raundi jooksul teisendatakse ühte poolt
![Page 26: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/26.jpg)
Blowfish: raundi kirjeldusBlowfish: raundi kirjeldusDivide x into two 32-bit halves: xL, xR
For i = 1 to 16:
xL = xL XOR Pi
xR = F(xL) XOR xR
Swap xL and xR
Swap xL and xR (Undo the last swap.)
xR = xR XOR P17
xL = xL XOR P18
Recombine xL and xR
Function F:
Divide xL into four eight-bit quarters: a, b, c, and d
F(xL) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232
![Page 27: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/27.jpg)
Blowfish: võtmejaotusalgoritmBlowfish: võtmejaotusalgoritm
Algoritmi põhijooned:
• väärtustatakse S massiiv, mis on võtmega samapikkune, transtsendentse arvu π (3,1415926...) tüvenumbritega 16nd-süsteemis
• XORitakse võtmeväärtus S väärtustega
• asendatakse pool arvust π saadud väärtustest XORimise lõppväärtustega ja korratakse XORimise protseduuri
• 521 iteratsiooni tulemusena leitakse 18 16-bitist alamvõtit
![Page 28: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/28.jpg)
AES ehk Rijndael: fakteAES ehk Rijndael: fakte
• on plokkšiffer ploki pikkusega 128, 192 või 256 bitti
• kasutab varieeruva pikkusega võtit, mis võib olla samuti 128, 192 või 256 bitti
• autorid on Joan Daemen ja Vincent Rijmen Belgiast
• võitis 2. oktoobril 2000 AESi konkursi
![Page 29: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/29.jpg)
AES ehk Rijndael: tehniline AES ehk Rijndael: tehniline üldkirjeldusüldkirjeldus
128 bitise võtme korral koosneb 9 raundist, 192 bitise võtme korral 11 raundist ja 256-bitise võtme korral 13 raundist
Iga raund koosneb neljast erilaadsest tehtest:• asendusbait (byte sub)• ridade nihutus (shift row)• tulpade segamine (mix column)• raundivõtme lisamine (add round key)
![Page 30: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/30.jpg)
Teksti iga bait asendatakse vastavalt ühele suurele S-boksile:
AES eh Rjindael: asendusbaidi AES eh Rjindael: asendusbaidi faasfaas
![Page 31: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/31.jpg)
Teksti baidid vahetatakse omavahel ära, 128-bitise ploki puhul skeemiga:
192-bitise ploki puhul skeemiga:
AES ehk Rjindael: ridade AES ehk Rjindael: ridade nihutuse faasnihutuse faas
![Page 32: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/32.jpg)
256-bitise ploki puhul skeemiga:
AES ehk Rjindael: ridade AES ehk Rjindael: ridade nihutuse faasnihutuse faas
![Page 33: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/33.jpg)
Raundivõtme lisamise faasRaundivõtme lisamise faas
Iga 4 baidist koosnev tulp (vt eelnev) korrutatakse järgmise 4 x 4 maatriksiga modulo 28 = 256
Igale teksti bitile XORitakse vastava osavõtme bitt
AES ehk Rjindael: tulpade AES ehk Rjindael: tulpade segamise faassegamise faas
![Page 34: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/34.jpg)
AES ehk Rjindael: toimimiskeemAES ehk Rjindael: toimimiskeem
![Page 35: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/35.jpg)
AES ehk Rjindael: AES ehk Rjindael: võtmejaotusalgoritmvõtmejaotusalgoritm
Võtmejaotusalgoritmi põhjal leitakse algsest võtmest N baidi pikkust raundi võtit ( N = raudi arv x ploki pikkus)
Raundi võtmed saadakse algsest võtmest mitmete teisenduste teel, mis sisaldavad:• bitikaupa nihutamist• XORimist võtmeosade vahel• XORimist spetsiaalsete raundikondtantidega
![Page 36: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/36.jpg)
AES ehk Rjindael: AES ehk Rjindael: võtmejaotusalgoritmi koodijuppvõtmejaotusalgoritmi koodijupp
![Page 37: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/37.jpg)
AES ehk Rjindael: krüptoanalüüsAES ehk Rjindael: krüptoanalüüs• ammendav otsing nõuab 2128 kuni 2256
variandi läbivaatamist
• algoritmi autorid ise on tõestanud seda suure osa teadaolevate krüptoanalüütiliste võtete korral
• olulist võitu andvaid krüptoanalüütilisi võtteid ei olnud kuni hiljutise ajani teada (seega arvati algoritm praktikas olevat murdmatu)
![Page 38: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/38.jpg)
AES ehk Rjindael: AES ehk Rjindael: algebraline krüptoanalüüsalgebraline krüptoanalüüs
• 2002 oktoobris pakuti välja uudne, algebralise krüptoanalüüsi võte, mis võib-olla võimaldab AESi murda 287 sammuga
• Seni ei ole oma keerukuse tõttu seda keegi realiseerinud
• Samas ei ole selle kasutamist AESi murdmisel ka keegi ümber lükanud
Lähikuud ja –aastad näitavad, kas tegemist on pelgalt teoreetilise konstruktsiooniga või on sel ka praktiline väärtus, st kas AES on endiselt turvaline
Lähikuud ja –aastad näitavad, kas tegemist on pelgalt teoreetilise konstruktsiooniga või on sel ka praktiline väärtus, st kas AES on endiselt turvaline
![Page 39: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/39.jpg)
• on plokkšiffer ploki pikkusega 128 bitti (16 baiti)
• kasutab kas 128-bitist, 192-bitist või 256-bitist võtit
• on koostanud IBM AESi konkursi jaoks
MARS: fakteMARS: fakte
![Page 40: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/40.jpg)
MARS: tehniline üldkirjeldusMARS: tehniline üldkirjeldus
• 128 bitist plokki vaadeldakse nelja neljast baidist koosneva osana
• Kõigepealt XORitakse võtmematerjaliga kogu plokk• Seejärel rakendatakse 8 DESi sarnast raundi, mis
sisaldab S-bokse• Nende järel rakendatakse 16 Skipjacki sarnast raundi• Lõpuks rakendatakse jälle 8 algse raundiga sarnast
raundi• Sellele järgneb XOR võtmematerjaliga• Algoritmil 40 32-bitist alamvõtit, mille genereerib
võtmejaotusalgoritm (sarnane pajude teistega)
![Page 41: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/41.jpg)
MARS: esimest tüüpi raundi MARS: esimest tüüpi raundi skeemskeem
![Page 42: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/42.jpg)
MARS: osa esimest tüüpi raundi MARS: osa esimest tüüpi raundi S-boksistS-boksist
![Page 43: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/43.jpg)
MARS: teist tüüpi raundi skeemMARS: teist tüüpi raundi skeem
![Page 44: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/44.jpg)
• on plokkšiffer, kus ploki pikkus on 128 bitti
• nii võtme pikkus kui ka raundide arv on reguleeritav
• autorid: Ron Rivest (põhiidee ja –teostus), M. Robshaw, R. Sidney, Y.Lin.
• an koostatud AES konkursi jaoks 1990te lõpul
RC6: fakteRC6: fakte
![Page 45: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/45.jpg)
RC6: tehniline üldkirjeldusRC6: tehniline üldkirjeldus
• 128 bitist plokki vaadeldakse raundides nelja 32-bitise osana
• Kasutab 44 32bitist alamvõtit, mis leitakse võtmsjaotusalgoritmiga
• Igas raundis kasutatakse kahte alamvõtit
Raundis kasutatavad tehted:• artitmeetika modulo 232
• bitikaupa nihe (lg)• ringnihe paremale/vasakule nii nii mitu
kohta, kui mingi arv näitab
![Page 46: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/46.jpg)
RC6: raundi algoritmi näideRC6: raundi algoritmi näide
![Page 47: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/47.jpg)
RC6: krüptoanalüüsRC6: krüptoanalüüs
On leitud mõningaid krüptoanalüütilisi võtteid, kuid suurest võtmepikkusest tingituna ei tee need algoritmi ebaturvaliseks
On leitud mõningaid krüptoanalüütilisi võtteid, kuid suurest võtmepikkusest tingituna ei tee need algoritmi ebaturvaliseks
Wenling, Dengguo, Sihan (Hiina) 2000:
• 256 bitise võtme korral on algoritm murtav 2212 katsega
• 192 bitise võtme korral on algoritm murtav 2172 katsega
![Page 48: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/48.jpg)
on plokkšiffer ploki pikkusega 128 bitti
võtmepikkus on 256 bitti; on olemas algoritmid, mis laiendavad 128- ja 192-bitised võtmed 256-bitiseks
autorid on Eli Biham (kaasaja ühe moodsaima krüptoanalüüsi, erinevuste krüptoanalüüsi, loojaid), R. Anderson ja L. Knudsen
on koostatud AESi konkursi jaoks
Serpent: fakteSerpent: fakte
![Page 49: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/49.jpg)
Serpent: tehniline üldkirjeldusSerpent: tehniline üldkirjeldus• koosneb 32 raundist• enne ja pärast raunde tehakse
algpermutatsioon ja selle pöördpermutatsioon• raundi sees vaadeldakse 128 bitist plokki nelja
32-bitise veeranditena• võtmejaotusalgoritm leiab 128 32-bitilist
alamvõtit olemasolevate 32bitiste osade XORimise teel
Igas raundis tehakse• XOR vastavate alamvõtmetega• teisendamine S-bokside abil• osade veerandite ringnihked• Teatud XORid osade veerandite vahel
![Page 50: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/50.jpg)
Serpent: toimimisskeemSerpent: toimimisskeem
![Page 51: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/51.jpg)
• on plokkšiffer ploki pikkusega 128 bitti (8 baiti)
• võtme pikkus varieeruv: 128,198 või 256 bitti.
• autorid: B. Schneier J. Kelsey, D. Whitning, D. Wagner, C. Hall, N. Feguson.
• on koostatud 1998. aastal AESi konkursi jaoks
• on Blowfishi edasiarendus
Twofish: fakteTwofish: fakte
![Page 52: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/52.jpg)
Twofish: tehniline üldkirjeldusTwofish: tehniline üldkirjeldus
• 128 bitist plokki vaadeldakse neljast 32-bitisest osast koosnevana
• kasutab 40 32-bitist alamvõtit, mis leitakse võtmevahetusalgoritmi abil
• 32 alamvõtit kasutatakse raundides, 8 ülejäänud alamvõtmete XORimisel enne esimest ja pärast viimast raundi (whitening)
• koosneb 16 raundist, iga raund pruugib kahte alamvõtit
![Page 53: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/53.jpg)
Kasutab oma põhielemendina 8-baidise jupi korrutamist järgmise maatriksiga, mida kasutatakse iteratiivselt teatud seaduspärasuse kohaselt:
Twofish: võtmejaotusalgoritmTwofish: võtmejaotusalgoritm
![Page 54: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/54.jpg)
Raundis toimub:• osade ringnihked• osade korrutamine järgmise maatriksiga
• alamvõtmete lisamine• tulemustele ringnihete tegemine ja
osade omavahel vahetamine
Twofish: raundi kirjeldusTwofish: raundi kirjeldus
![Page 55: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/55.jpg)
Twofish: üldskeemTwofish: üldskeem
![Page 56: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/56.jpg)
Twofish: raundi skeemTwofish: raundi skeem
![Page 57: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/57.jpg)
Twofish: S-bokside näitedTwofish: S-bokside näited
![Page 58: Andmeturve ja krüptoloogia, VIII Moodsaid sümmeetrilisi krüptoalgoritme](https://reader035.vdocuments.mx/reader035/viewer/2022081721/568150aa550346895dbebf97/html5/thumbnails/58.jpg)
KokkuvõteKokkuvõte
Lähitulevikus muutub kasutatavaimaks arvatavasti AES (Rijndael), sest AESi konkursi eesmärgiks oli leida nõrgaks jäänud DESile asendaja
Lähitulevikus muutub kasutatavaimaks arvatavasti AES (Rijndael), sest AESi konkursi eesmärgiks oli leida nõrgaks jäänud DESile asendaja
• Kõiki siintoodud 8 algoritmi võib praktikas kasutada ja nad on turvalised (Blowfishil leitud nõrgad võtmed ei muuda olukorda)
• Praegu on neist kasutatavaim IDEA