1 / 33

Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES

Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES. 12. oktoober 2010 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2010. aasta sügissemestril. Krüptoalgoritmide peamised liigid.

yoshi
Download Presentation

Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Andmeturve ja krüptoloogia, VIISümmeetrilised krüptoalgoritmid. AES 12. oktoober 2010 Valdo Praust mois@mois.ee Loengukursus IT Kolledžis 2010. aasta sügissemestril

  2. Krüptoalgoritmide peamised liigid Sümmeetrilised ehk salajase võtmega krüptoalgoritmid (on traditsioonilised e ajaloolised) Asümmeetrilised ehk avaliku võtmega krüptoalgoritmid (levinud viimase 20 aasta jooksul) Krüptograafilised sõnumilühendid jms sellesarnased funktsioonid Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm

  3. Sümmeetriline ehk salajase võtmega krüptoalgoritm 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 • Et sümmeetriline krüptoalgoritm oleks praktikas turvaline, peab: • võti olema 128 bitti pikk (hädapäraselt 80 bitti pikk); vastasel korral on algoritmi võimalik murda ammendava otsinguga • ei tohi olla teada olulist efekti andvaid krüptoanalüütilisi võtteid

  4. Võtme osa šifreerimises ja dešifreerimises Krüpteerimine ehk šifreerimine (encryption, encipherment) nõuab salajase võtme (key) kasutamist Vastupidine tegevus on dešifreerimine (decryption, decipherment), mille käigus taastatakse sama salajase võtme kaasabil algsed andmed Ilma ühte sama võtit teadmata on mõlemad tegevused võimatud

  5. Salajase võtmega krüptoalgoritm

  6. Salajase võtmega krüptoalgoritm: kasutusalad Neid on kaks: • konfidentsiaalse teabe edastamiseks üle (mitte pealtkuulamiskindlate) võrkude • konfidentsiaalsete teabekogumite salvestamine avalikus keskkonnas sooviga teabe saajate hulka piirata

  7. Tuntuimad esindajad, I AES(võtmepikkus varieeruv; kas 128, 192 või 256 bitti). Alates 2001de facto rahvusvaheline standard, hinnanguliselt 70-80% kommertsvaldkonna sümmeetrilise krüptoalgoritmi kasutamisest on hetkel AES IDEA (128 bitine võti). Pärineb Šveitsist 1980te lõpust CAST5 ehk CAST-128 (40 kuni 128 bitine võti). Pärineb 1996. aastast Carlisle Adams’ilt ja Stafford Tavares’ilt.

  8. Tuntuimad esindajad, II Blowfish (varieeruva pikkusega võti, kuni 448 bitti). Pärineb Bruce Schreierilt 1990 ndatest RC4. Jadašiffer, võtmepikkus 40 kuni 256 bitti, pärineb 1987. aastast DES(56 bitine võti). On USA standard 1977. aastast ja oli laialt maailmas kasutusel. NB! Kaasajal on juba nõrgukene

  9. Plokk- ja jadašifrid Sümmeetrilised krüptoalgoritmid jagatakse plokk- ja jadašifriteks. Plokkšifrid on palju enam levinud kui jadašifrid • Plokkšifri (block cipher) korral jagatakse avatekst teatud pikkustega plokkideks, mis krüpteeritakse ükshaaval. Kas ja kuidas järgmise ploki tulemus eelmisest sõltub, määrab ära plokkšifri kasutusresiim • Jadašifri (stream cipher) korral leitakse salajasest võtmest teatud algoritmi alusel võtmejada (key sequence), mis liidetakse mooduliga (XOR) avatekstile

  10. Plokkšifrite tööresiimid • koodiraamatu resiim (Electronic Codebook Mode, ECM) • ahelresiim (Cipher Block Chaining Mode, CBC) • šifri tagasiside resiim (k-bit Cipher Feedback Mode, CFB) • väljundi tagasiside resiim (k-bit Output Feedback Mode, OFB)

  11. Koodiraamatu resiim Avateksti plokid krüpteeritakse üksteisest sõltumatult sama salajase võtmega: Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist

  12. Ahelresiim Enne järgmise ploki krüpteerimist liidetakse avatekstile XORiga eelmise ploki lõpptulemus, s.o. krüptogramm: Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist

  13. Šifri tagasiside ja väljundi tagasiside resiimid Šifri ja väljundi tagasiside resiimid kujutavad endast olukordi, kus on organiseeritud tagasiside • šifri tagasiside korral kuuluvad tagasisidega hõlmatavasse tsüklisse nii plokkšifri plokk kui ka avateksti ja krüpteeritud teksti mooduliga 2 liitmine • väljundi tagasiside korral kuulub tsüklisse ainult plokkšifri plokk, mis on rekurrentselt "käima lastud" mingilt algväärtuselt

  14. Väljundi tagasiside resiim

  15. Resiimide kasutamine • Mugavaim on koodiraamatu resiim, aga see on ebaturvalisim– krüptogrammi iga bitt sõltub ainult ühest avateksti plokist • Kasutatavaim on ahelresiim, mis annab ka piisava turvalisuse– krüptogrammi iga bitt sõltub kogu eelnevast avatekstist • Tagasiside resiimid on harvem pruugitavad. Nt väljundi tagasiside resiim võimaldab saada pseudojuhuslikku ehk nn heleroosat bitijada (väga vajalik nt andmete kustutamisel)

  16. Plokkšifri siseehitus • Plokkšifri plokk sisaldab endas tavaliselt mittut üksteisele järgnevat avateksti standardset teisendust, mida nimetatakse raundiks (round). Eelmise raundi lõpptulemus on järgmise raundi sisendiks • Kas ja kuidas raundid kasutavad salajast võtit või sellest tuletatud võtmeid, määrab ära võtmejaotusalgoritm (key sequence algorithm). Võtmejaotusalgoritm võib ka puududa, sel korral kasutab iga raund otse algvõtit • Kui võtmejaotusalgoritm eksisteerib, siis nimetatakse selle arvutatud võtmeid raundivõtmeteks (round keys)

  17. Plokkšifri ploki tüüpne siseehitus

  18. Plokkšifrit iseloomustavad parameetrid • Võtme pikkus • Ploki pikkus (vahel võrdub võtme pikkusega, aga ei pruugi) • Raundide arv (ja vahel raunditüüpide arv) • Võtmejaotusalgoritmi olemasolu • Raundivõtmete arv (võtmejaotusalgoritmi olemasolu korral) • Raundivõtme(te) pikkus (võtmejaotudsalhoritmi olemasolu korral) • Enne raunde tehtavate eeltegevuste ja pärast raunde tehtavate järeltegevuste olemasolu

  19. Krüptograafia kaks põhivõtet raundi “ehituskividena” • substitutsioon(substitution) – olemasolevate märkide asendamine teiste märkidega • transpositsioon ehk permutatsioon(transposition, permutation) – olemasolevate märkide järjekorra muutmine Valdav enamik plokkšifrite raundi sees tehtavaid teisendusi on nende kahe põhivõtte keerukas sümbioos

  20. AES: saamislugu, I • 1977. aastal võeti ametliku krüptostandardina kõikjal USAs kasutamiseks vastu DES. DES-i näol oli tegu maailma esimese krüptograafiastandardiga, mida kasutati paar aastakümmet väga suures ulatuses • DES oliplokkšiffer, ploki pikkusega 64 bitti ning võtmepikkusega 56 bitti • oli standarditud, kirjeldus oli saadaval FIPS PUB 46-s (viimane versioon pärines aastast 1999, kehtis aastani 2005)

  21. AES: saamislugu, II • 1990te aastate lõpul oli DES oli oma 56 biti pikkuse võtmega juba nõrgukene, seepärast käivitati uue standardi – AESi – konkurss • Uus süsteem pidi olema plokksiffer, ploki pikkuse 128 bitti ja mitmete võtmete pikkustega (128, 192 ja 256 bitti) • 2. jaanuaril 1997. aastal kuulutas USA Rahvuslik Standardibüroo NIST (National Insitute of Standards and Technology) välja AESi (Advanced Encryption Standard) konkursi

  22. AES: saamislugu, II • 20. augustil 1998 kuulutas NIST 15 kandidaat-algoritmi edasise uurimise vääriliseks • 1999. aasta augustiks sõeluti välja viis finalisti: MARS, RC6, Rijndael, Serpent ja Twofish 26. novembril 2001 kuulutati Rijndael ametlikuks konkursi võitjaks, misjärgselt sai ta laialt tuntuks AESi nime all ja kogu maailmas laia laviku osaliseks

  23. AES: 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; ploki pikkus võrdub võtmepikkusega • autorid on Joan Daemen ja Vincent Rijmen Belgiast • võitis 26. novembril 2001 AESi konkursi, enne võitmist kandis nime Rijndael • algoritm on publitseeritud stsandardi FIPS 197 all

  24. AES: tehniline üldkirjeldus 128 bitise võtme korral koosneb 10 raundist, 192 bitise võtme korral 12 raundist ja 256-bitise võtme korral 14 raundist Võtmejaotusalgoritm AESil puudub Iga raund koosneb neljast erilaadsest tehtest: • asendusbait (byte sub) • ridade nihutus (shift row) • tulpade segamine (mix column) • raundivõtme lisamine (add round key)

  25. AES: asendusbaidi faas Teksti iga bait asendatakse vastavalt ühele suurele substitutsioonile (S-boksile):

  26. AES: ridade nihutuse faas Teksti baidid vahetatakse omavahel ära, 128-bitise ploki puhul skeemiga: 192-bitise ploki puhul skeemiga:

  27. AES: ridade nihutuse faas 256-bitise ploki puhul skeemiga:

  28. AES: tulpade segamise faas Raundivõ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

  29. AES: toimimiskeem

  30. AES: 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)

  31. AES: krüptoanalüüs • 2002 oktoobris pakuti välja uudne, algebralise krüptoanalüüsi võte (Courtois, Piperszyk) mis võib-olla võimaldab AESi murda 287 sammuga • Seni ei ole oma keerukuse tõttu seda keegi realiseerinud • Senini on see jäänud teoreetiliseks konstruktsiooniks, st AES on endiselt turvaline • Veidi on saavutatud edu (2009) ka seotud võtmete ründe (related key attack) korral, kus eeldatakse mitme matemaatiliselt seotud võtme kasutamist. Praktikat see ei puuduta • Ka lisakanali ründe võtted (side-channel attack), kus saadakse teatud teavet ploki sees toimuvast, on andnud teatud teoreetilisi tulemusi, mis praktilist turvet ei puuduta

  32. AES: ammendava otsingu ”murdmismasin” • ”Murdmismasin” (keerukas ammendavat otsingut realiseeriv spetsiaalriistvaral põhinev paralleelarvuti), mis murraks DESi sekundiga, kulutaks AES-i lihtsamavariandi murdmisele sada tuhat miljonit aastat • säärase masina valmistamine maksaks hetkel (AD 2009) veidi alla miljoni euro (ca 12 miljonit krooni) Järeldus:AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2009) täiesti murdmatud

  33. AES: realisatsioonid • AES on koostatud nii, et teda oleks mugav (kiire) realiseerida nii riist- kui ka tarkvaras • Riistvararealisatsioonid on küll kümneid ja vahel ka sadu kordi kiiremad • Nii riist- kui tarkvaras saab AESi kaasajal realiseetrida ”taustana”, nt kettale lugemise ja/või kettalt kirjutamise kõrvaltegevusena Väga laialt levinud on nii AESi tark- kui ka riistvaraversioonid

More Related