Upload
brian-barker
View
99
Download
0
Embed Size (px)
DESCRIPTION
Andmeturve ja krüptoloogia, V Sümmeetrilised krüptoalgoritmid. 19. veebruar 2014 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2014. aasta kevadsemestril õhtustele tudengitele. Krüptograafia ajalooline olemus. - PowerPoint PPT Presentation
Citation preview
Andmeturve ja krüptoloogia, VAndmeturve ja krüptoloogia, V
Sümmeetrilised krüptoalgoritmidSümmeetrilised krüptoalgoritmid
Andmeturve ja krüptoloogia, VAndmeturve ja krüptoloogia, V
Sümmeetrilised krüptoalgoritmidSümmeetrilised krüptoalgoritmid
18. veebruar 2015
Valdo Praust
Loengukursus IT Kolledžis2015. aasta kevadsemestril õhtustele tudengitele
18. veebruar 2015
Valdo Praust
Loengukursus IT Kolledžis2015. aasta kevadsemestril õhtustele tudengitele
Krüptograafia ajalooline Krüptograafia ajalooline olemusolemus
Krüptograafia (cryptography) oli ajaloolises plaanis teadus, mis tegeles teabe (andmete sisu) peitmisega võõraste pilkude eest selle ”kentsaka” üleskirjutamise teel
Krüptograafia (cryptography) oli ajaloolises plaanis teadus, mis tegeles teabe (andmete sisu) peitmisega võõraste pilkude eest selle ”kentsaka” üleskirjutamise teel
Distsipliini nimetus pärineb kreeka keelest (nagu enamik klassikaliste teaduste nimetusi):• κρνπτος (kryptos) – peidetud• γραπηο (graphō) – kirjutan
Krüptograafia tähendab kreeka keeles peidetud sõna
Üleminek käsitsi krüpteerimiselt arvutipõhisele ei muutnud esialgu krüptograafia kasutusvaldkonda
Üleminek käsitsi krüpteerimiselt arvutipõhisele ei muutnud esialgu krüptograafia kasutusvaldkonda
Diplomaatide ja sõjardite Diplomaatide ja sõjardite käsutuseskäsutuses
Traditsioonlise krüptograafia (kuni 1940ndad) ajastul oli sellel väga kitsas kasutusvaldkond: diplomaatia ja sõjandus
Paljudes riikides olid kuni 1970-80teni krüptoalgoritmid ja –seadmed oma käitumisreeglitelt võrdsustatud relvadega
Krüptograafia levik sõjardite ja diplomaatide mängumaast masspruukimisse algas seoses teabe liikumisega ülemaailmses arvutivõrgus – Internetis – ja selle kaitse vajadustega. See sai alguse 1980te lõpul ja 1990te algul
Krüptograafia levik sõjardite ja diplomaatide mängumaast masspruukimisse algas seoses teabe liikumisega ülemaailmses arvutivõrgus – Internetis – ja selle kaitse vajadustega. See sai alguse 1980te lõpul ja 1990te algul
1980ndad 1980ndad –– sõjardite sõjardite pärusmaalt masskasutusse pärusmaalt masskasutusse
Täiendava tõuke andsid siin krüptoalgoritmid ja võtted, mida ei kasutatus enam teabe konfidentsiaalsuse, vaid tervikluse kaitseks
Krüptograafia olemus Krüptograafia olemus ja roll ja roll kaasajalkaasajal
Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks volitamata muutmise ärahoidmisega (tervikluse tagamisega), mida võib lugeda isegi tema põhifunktsiooniks
Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks volitamata muutmise ärahoidmisega (tervikluse tagamisega), mida võib lugeda isegi tema põhifunktsiooniks
Nimetus krüptograafia (peidetud sõna) on traditsioonide tõttu jäänud küll alles ja kasutusse, kuigi tihti pole salastusega selle rakendamisel mingit tegemist
Kaasaja krüptograafia teabe Kaasaja krüptograafia teabe teisenduse tüüpvõttena teisenduse tüüpvõttena
Kaasajal on krüptograafial põhinevad võtted muutunud (Internetis) teabe kaitsmise tüüpvõteteks, ilma milleta ei ole teavet võimalik töödelda
Selle vaatlemine erivahendina on lõplikult ja jäädavalt ajalugu
Selle vaatlemine erivahendina on lõplikult ja jäädavalt ajalugu
Konfidentsiaalsuse lisandub Konfidentsiaalsuse lisandub terviklusterviklus
Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks tervikluse tagamisega, mida võib lugeda tema põhifunktsiooniks
Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks tervikluse tagamisega, mida võib lugeda tema põhifunktsiooniks
Nimetus krüptograafia (peidetud sõna) on traditsioonide tõttu jäänud küll alles ja kasutusse, kuigi tihti pole salastusega selle rakendamisel mingit tegemist
Krüptograafia põhimõisteidKrüptograafia põhimõisteid• Krüpteeritavat (loetamatule või muutmatule
kujule teisendatavat) teksti nimetatakse avatekstiks (plaintext)
• Krüpteeritud ehk loetamatule kujule viidud teksti nimetatakse krüptogrammiks (ciphertext)
• Avateksti teisendamist loetamatul kujul olevaks krüptogrammiks nimetatakse krüpteerimiseks ehk šifreerimiseks (encryption, enciphering)
• Krüptogrammi teisendamist avatekstiks normaalolukorras nimetatakse dešifreerimiseks (deciphering, decryption)
Krüptograafia põhimõisteid (järg)Krüptograafia põhimõisteid (järg)
• Nii šifreerimise kui ka dešifreerimise juures kasutatakse salajast võtit ((secret) key), ilma milleta on need tegevused praktikas võimatud
• Dešifreerimine on krüptogrammi teisendamine avatekstiks võtme kaasabil
• Krüptogrammist avateksti leidmist ilma salajast võtit teadmata nimetatakse krüptosüsteemi (krüptoalgoritmi) murdmiseks, millega tegeleb krüptoanalüüs
Krüptograafia ja krüptoanalüüsKrüptograafia ja krüptoanalüüs• Krüptograafia (cryptography) tegeleb
teabe teisendusmeetodite väljatöötamisega, mis kaitsekid teabe konfidentsiaalsust või terviklust
• Krüptoanalüüs (cryptanalysis) tegeleb vastupidisega – nende meetodite ehk olemasolevate krüptosüsteemide või krüpteerimisvõtete murdmisega
• Krüptograafia ja krüptoanalüüs koos koos moodustavad krüptoloogia (cryptology)
Krüptograafia Krüptograafia erijooni, Ierijooni, I
Säärane võte lubab sõltumatutel ekspertidel süsteemide turvalisust abstraktselt hinnata, pääsemata ligi kaitsmist vajavatele andmetele
Praktikas tegelevad sellega küll kitsa eriharidusega inimesed – krüptoloogid –, kes on reeglina eriteadmistega matemaatikud
Tänapäeval on krüpteerimisalgoritmid (andmete teisendusreeglid) reeglina avalikud, kogu salastus põhineb turvalisus kasutataval salajasel võtmel (mis on lühike digitaalteabekogum)
Tänapäeval on krüpteerimisalgoritmid (andmete teisendusreeglid) reeglina avalikud, kogu salastus põhineb turvalisus kasutataval salajasel võtmel (mis on lühike digitaalteabekogum)
Krüptograafia Krüptograafia erijooni, IIerijooni, II
Nende algoritmide koostamine krüptograafia (matemaatika) alaseid eriteadmisi
Mida kauem on krüptoalgoritm avalikus kasutuses olnud, seda väiksem on tõenäosus, et tal leidub efektiivseid murdrmisvõtteid
Kaasaja krüptograafia kasutab eranditult matemaatikute (krüptograafide) poolt koostatud tüüpalgoritme, ise oma kasutamiseks välja töötatatavad unikaalsed algoritmid on ajalugu
Kaasaja krüptograafia kasutab eranditult matemaatikute (krüptograafide) poolt koostatud tüüpalgoritme, ise oma kasutamiseks välja töötatatavad unikaalsed algoritmid on ajalugu
Krüptograafia Krüptograafia erijooni, IIIerijooni, III
Krüptoanalüüsil on oluline tehete kiirus: arvuti taktsagedus on GHZ-des, käsitsi arvutamisel heal juhul mõni Hz
Krüptograafia (tegelikult kogu krüptoloogia) on praktilise poole pealt informaatika üks rakendusi
Kaasaja krüptograafia kasutab eranditult arvutustehnikat, käsitsi paberil arvutamine on jäädavalt ajalugu
Kaasaja krüptograafia kasutab eranditult arvutustehnikat, käsitsi paberil arvutamine on jäädavalt ajalugu
Krüptograafia Krüptograafia erijooni, IVerijooni, IV
Standardid on nagu ikka vabatahtlikud, kuid sünergeetilisel efektil põhinevas koostoimivas maailmas on mõistlik neid järgida
Ilma ühtsete standarditeta ei teki ühtset infrastruktuuri, mille eri osad saaksid koos toimida
Kaasaja krüptograafia kasutab suurt hulka standardeid, mida järgib kogu (virtuaal)maailm
Kaasaja krüptograafia kasutab suurt hulka standardeid, mida järgib kogu (virtuaal)maailm
Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid
Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid
1. Sümmeetrilised ehk salajase võtmega krüptoalgoritmid (on traditsioonilised e ajaloolised)
2. Asümmeetrilised ehk avaliku võtmega krüptoalgoritmid (levinud viimase 20 aasta jooksul)
3. Krüptograafilised sõnumilühendid jms sellesarnased funktsioonid
4. Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm
Krüpteerimine ehk šifreerimine (encryption, encipherment) nõuab salajase võtme (key) kasutamist, mis peab olema vähemalt 80 (kõrgendatud turbenõuete korral 128) bitti pikk
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
Ilma ühte sama võtit teadmata on mõlemad tegevused võimatud
Võtme osa Võtme osa ššifreerimises ja ifreerimises ja dedeššifreerimisesifreerimises
Võtme osa Võtme osa ššifreerimises ja ifreerimises ja dedeššifreerimisesifreerimises
Salajase võtmega Salajase võtmega krüptokrüptoalgoritm: kasutusaladalgoritm: kasutusalad
Neid on kaks:
• konfidentsiaalse teabe edastamiseks üle (mitte pealtkuulamiskindlate) võrkude
• konfidentsiaalsete teabekogumite salvestamine avalikus keskkonnas sooviga teabe saajate hulka piirata
Salajase võtmega Salajase võtmega krüptokrüptoalgoritm: turvalisusalgoritm: turvalisus
Kaasajal loetakse piisavalt tugevaks vähemalt 80 biti pikkuse salajase võtmega algoritme. See välistab ammendava otsingu võimaluse
Kaasajal loetakse piisavalt tugevaks vähemalt 80 biti pikkuse salajase võtmega algoritme. See välistab ammendava otsingu võimaluse
Järjest enam (pikaajalist turvet nõudvates vüi kõrgendatud turbeomadustega keskkondades) nõutakse 80 biti asemel koguni 128 biti pikkust võtit
Lisaks võtmepikkusele ei tohi algoritmil olla tuntavaid efekte andvaid krüptoanalüütilisi ehk murdmisvõtteid
Tuntuimad esindajad, ITuntuimad esindajad, I1. AES (võtmepikkus varieeruv; kas 128, 192 või
256 bitti). Alates 2001 de facto rahvusvaheline standard, hinnanguliselt vähemalt 80% kommertsvaldkonna sümmeetrilise krüptoalgoritmi kasutamisest on hetkel AES
2. IDEA (128 bitine võti). Pärineb Šveitsist 1980te lõpust
3. CAST5 ehk CAST-128 (40 kuni 128 bitine võti). Pärineb 1996. aastast Carlisle Adams’ilt ja Stafford Tavares’ilt.
Tuntuimad esindajad, IITuntuimad esindajad, II
4. Blowfish (varieeruva pikkusega võti, kuni 448 bitti). Pärineb Bruce Schreierilt 1990 ndatest
5. RC4. Jadašiffer, võtmepikkus 40 kuni 256 bitti, pärineb 1987. aastast
6. DES (56 bitine võti). On USA standard 1977. aastast ja oli laialt maailmas kasutusel. NB! Kaasajal on juba nõrgukene
Plokk- ja jadaPlokk- ja jadaššifridifrid
Sümmeetrilised krüptoalgoritmid jagatakse plokk- ja jadašifriteks. Plokkšifrid on palju enam levinud kui 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
PlokkPlokkššifrite tööresiimidifrite 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)
Koodiraamatu resiimKoodiraamatu resiim
Avateksti plokid krüpteeritakse üksteisest sõltumatult sama salajase võtmega:
Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist
Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist
Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist
Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist
AhelresiimAhelresiimEnne järgmise ploki krüpteerimist liidetakse avatekstile XORiga eelmise ploki lõpptulemus, s.o. krüptogramm:
ŠŠifri tagasiside ja väljundi ifri tagasiside ja väljundi tagasiside resiimidtagasiside resiimid
Šifri ja väljundi tagasiside resiimid kujutavad endast olukordi, kus on organiseeritud tagasiside
Š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
• 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)
Resiimide kasutamineResiimide kasutamine
• 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)
Plokkšifri siseehitusPlokkšifri siseehitus
• 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
Plokkšifrit iseloomustavad Plokkšifrit iseloomustavad parameetridparameetrid
KrKrüptograafia kaks põhivõtet üptograafia kaks põhivõtet raundi “raundi “ehituskividena”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
Valdav enamik plokkšifrite raundi sees tehtavaid teisendusi on nende kahe põhivõtte keerukas sümbioos
• 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 oli plokkš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)
AES: saamislugu, IAES: saamislugu, I
AES: AES: saamislugu, saamislugu, IIII
• 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
AES: AES: saamislugu, IIsaamislugu, II
• 20. augustil 1998 kuulutas NIST 15 kandidaat-algoritmi edasise uurimise vääriliseks
• 2001 kuulutati Rijndael ametlikuks konkursi võitjaks, misjärgselt sai ta laialt tuntuks AESi nime all ja kogu maailmas laia laviku osaliseks
AES: fakteAES: 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
AES: tehniline üldkirjeldusAES: tehniline üldkirjeldus128 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)
Teksti iga bait asendatakse vastavalt ühele suurele substitutsioonile (S-boksile):
AES: asendusbaidi faasAES: asendusbaidi faas
Teksti baidid vahetatakse omavahel ära, 128-bitise ploki puhul skeemiga:
192-bitise ploki puhul skeemiga:
AES: ridade nihutuse faasAES: ridade nihutuse faas
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: tulpade segamise faasAES: tulpade segamise faas
AES: krüptoanalüüsAES: 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)
AES: krüptoanalüüsAES: 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
AES: ammendava otsinguAES: ammendava otsingu ”murdmismasin””murdmismasin”
• ”Murdmismasin” (keerukas ammendavat otsingut realiseeriv spetsiaalriistvaral põhinev paralleelarvuti), mis murraks DESi sekundiga, kulutaks AES-i lihtsama variandi murdmisele sada tuhat miljonit aastat
• säärase masina valmistamine maksaks hetkel (AD 2014) ca 100 000 EUR
Järeldus: AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2014) täiesti murdmatud ja jäävad vast veel 10-15 aastaks
Järeldus: AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2014) täiesti murdmatud ja jäävad vast veel 10-15 aastaks
AES: AES: realisatsioonidrealisatsioonid• 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
Väga laialt levinud on nii AESi tark- kui ka riistvaraversioonid
IDEA: fakteIDEA: fakte• on plokkšiffer ploki pikkusega 64 bitti (8 baiti)
• kasutab 128-bitist (16-baidist) võtit
• on koostatud Šveitsis, publitseeriti 1991
• on patenteeritud Šveitsi firma MediaCrypt poolt, patent aegus aga 2010-11 aastail
• 2005 publitseeriti IDEA järglane IDEA NXT (FOX), mis ei ole vana IDEA polulaarsust saavutanud
IDEA: tehniline üldkirjeldusIDEA: tehniline üldkirjeldus• On projekteeritud omal ajal vastukaaluks DESile, et
oleks võimalik kiire realiseerimine tarkvaras• 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
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
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 neli jäetakse kasutamata 7 x 8 = 56)
Seega on alamvõtmed iga kaheksa tagant omavahel seotudSeega on alamvõtmed iga kaheksa tagant omavahel seotud
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
• parim tulemus on 5-raundise algoritmi mõningane murdmine valitud avateksti kollisioonründega (DeMirci 2003)
Järeldus: IDEA on praktiliseks kasutamiseks turvaline algoritm (eripära: väga kaua ”turul” olnud)
Järeldus: IDEA on praktiliseks kasutamiseks turvaline algoritm (eripära: väga kaua ”turul” olnud)
IDEA: eelised ja puudusedIDEA: eelised ja puudusedEelised:• 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 PGPs)
Puudused: • on patenteeritud, kuid isiklikuks (mitteäriliseks)
kasutamiseks on vabalt pruugitav. Jaosvara (shareware) jaoks on litsensitingimused soodsad
• AES on selgelt parem
• Paralleelnimetused ARC4, ARCFOUR
• on jadašiffer (maailmas tuntuim jadašiffer)
• kasutab varieeruva pikkusega võtit, mis on olla pikkuses 40 kuni 128 bitti
• on koostatud Bruce Schneieri poolt 1987
• On saanud ülilaiat tuntuks WiFiga seotud protokollides WEP ja WPA
• On olemas terve RC-perekond (RC-2, RC-5, RC-6)
RC4: fakteRC4: fakte
• Kujutab (nagu kõik jadašifrit) endast pseudojuhuslikku bitijada generaatorit (samm 256 bitti)
• Siseehituses sisaldab ta kaks faasi:
A. 256 bitise pikkusega bitipermutatsiooni
S moodustamine
B. Kahe 8-bitise indeksviida moodustamine
Permutatsiooni S määrab ära võtmejaotusalgoritm algvõtmest, mis näeb välja järgmine:
RC4: siseehitusRC4: siseehitus
Leiab 256 järgmist bitiväärtust alljärgneva algoritmi ehk PRGA (pseudo-random generation algoritm) järgi:
RC4 juhuarvugeneraatori sammRC4 juhuarvugeneraatori samm
• Jadašifrite krüptoanalüütiliste võtete efektiivsust ei saa tavaliselt väljendada kujul 2N nagu plokkšifrite oma
• Flucher’i Martin’i ja Shamir’i rünne (2001): võtmejada esimesed bitid (kas 768 või 3072) pole usaldusväärsed ja seega ei tohiks neid kasutada
• Klein’i rünne: 104-bitine RC4 murtakse minutiga (128ne on väidetavalt veel murdmatu)
RC4 praktikas ja krüptoanalüüsRC4 praktikas ja krüptoanalüüs
Eeltoodu tõttu ollakse RC4 kasutamisel kaasajal tihti väga skeptilised ja kiputakse eelistama muid algoritme (nt AESi)
Eeltoodu tõttu ollakse RC4 kasutamisel kaasajal tihti väga skeptilised ja kiputakse eelistama muid algoritme (nt AESi)
• võtmejaotusarvutusest (key schedule calculation), mis teisendab 56-bitise võtme 16-ks 48-bitiseks alamvõtmeks (subkey), mis kasutatakse raundides
• algpermutatsioonist (initial permutation)• 16 raundist (round);• lõpp-permutatsioonist (final permutation)
Retrospektiivne Retrospektiivne tagasivaade tagasivaade — — DESDES
DES on, nagu teisedki plokkšifrid, iteratiivsel põhimõttel konstrueeritud algoritm, koosnedes järgmistest protseduuridest:
DES: alamvõtmete leidmineDES: alamvõtmete leidmine
56 biti pikkusest võtmest leitakse 16 pikkust raundi võtit (igaüks 48 bitti pikk) spetsiaalse võtmejaotusalgoritmi alusel. Igat raundi võtit kasutatakse täpselt ühes raundis
56 biti pikkusest võtmest leitakse 16 pikkust raundi võtit (igaüks 48 bitti pikk) spetsiaalse võtmejaotusalgoritmi alusel. Igat raundi võtit kasutatakse täpselt ühes raundis
Algoritmi põhilised koostisosad on standardsed:
• substitutsioon (bitikombinatsioonide asendamine teiste kombinatsioonidega)
• permutatsioon (bittide järjekorra muutus bitijadas)
• 64-bitine plokk jagatakse kaheks 32-bitiseks pooleks
• üht 32-bitist poolt teisendatakse krüpteeriva funktsiooniga (round function), kasutades vastavat 48-bitist alamvõtit
• teise poolega ei tehta midagi
• saadud tulemus XORitakse teise poolega
• pooled vahetatakse omavahel ära
DES: raundide sisuDES: raundide sisu
• laiendatatakse 32-bitine tekst kõigepealt 48-bitiseks
• XORitakse sellele talle vastav 48-bitine osavõti • teisendatakse tulemus tagasi 32-bitiseks
48 biti pikkuse teabekogumi 32 bitisteks teisendamise tabeleid nimetatakse S-boksideks (S-box). Need moodustavad turvalisuse (matemaatilises) mõttes DES-i olulisima osa
48 biti pikkuse teabekogumi 32 bitisteks teisendamise tabeleid nimetatakse S-boksideks (S-box). Need moodustavad turvalisuse (matemaatilises) mõttes DES-i olulisima osa
DES: raundis kasutatav DES: raundis kasutatav krüpteeriv funktsioonkrüpteeriv funktsioon
Krüpteeriv funktsioon kujutab endast bititehteid, mille käigus:
On algpermutatsiooni pöördpermutatsioon (inverse initial permutation):
DES: arvutuste DES: arvutuste lõpp-permutatsioonlõpp-permutatsioon
• Keerukatest bitipermutatsioonidest tingituna on DESi tarkvararealisatsioonid tunduvalt aeglasemad kui tarkvararealisatsioonid (moodsamad algoritmid on sellest puudusest vabad)
• Kiiruste vahe riist- ja tarkvararealisatsioonide vahel on tuhandeid kordi ja enam
• Tarkvararealisatsioonid töötavad juba 10 aastakest kaasajal kettale kirjutamise/sealt lugemise kiirusega
• On tihti integreeritud (arhailisematesse) standarditesse/seadmetesse ja tehtud seeläbi “sunniviisiliseks”
DES: realisatsioonid DES: realisatsioonid
• Ammendav otsing on teostatav 256 operatsiooniga – arvestades kaasaja arvutstehnika arengut on see juba täiesti reaalne maht (suur)arvuti jaoks
• On võimalik ehitada spetsiaalne paralleelsetest kiipidest koosnev murdmismasinmasin, mis maksaks hetkel (AD 2014) ca 100 000 EUR ja murraks ammendava otsingu teel algoritmi ca sekundiga
• Teiste hindadega murdmismasinad vastavalt kiiremad või aeglasemad
DESi ammendav otsingDESi ammendav otsing
• on teada märgatavat võitu andvaid krüptoanalüütilisi võtteid
• adaptiivselt valitud avateksti ründe korral piisab algoritmi murdmiseks erinevuste krüptoanalüüsiga 247 variandi läbivaatamisest 256
asemel (Biham, Shamir, 1991)
• lineaarne krüptoanalüüs võimaldab piirduda vaid 243 variandiga (Junod 2001)
Kurb järeldus: DES ei ole kaasajal enam turvaline praktikas kasutamiseks (juba ca 15 aastat)
Kurb järeldus: DES ei ole kaasajal enam turvaline praktikas kasutamiseks (juba ca 15 aastat)
DESi krüptoanalüüsDESi krüptoanalüüs
• Alternatiiv 1 (soovitav): pruukida teisi sümmeetrilisi krüprtoalgoritme, kus võti on pikem ja mille korral ei ole teada krüptoanalüütilisi võtteid
• Alternatiiv 2 (vaid siis, kui kammitsevad arhailised süsteemid): pruukida tavalise DESi asemel kolmekordset DESi (triple DES), kus võtmepikkus on 168 bitti ja mis on seni turvaline
DES: kuidas ja kas üldse DES: kuidas ja kas üldse praktikas rakendadapraktikas rakendada
Standardi viimane versioon FIPS PUB 46-3 (25. oktoober 1999) sätestaski vaid kolmekordse DESi kasutamise, standard tühistus ametlikult 2005
Standardi viimane versioon FIPS PUB 46-3 (25. oktoober 1999) sätestaski vaid kolmekordse DESi kasutamise, standard tühistus ametlikult 2005
• DESi võib erandjuhul (kolmekordsena) pruukida üksnes seal, kus algoritm on arhailise muutmatu süsteemi poolt rangelt ette antud. Kindlalt tuleks vältida tuleks DESi kasutamist koodiraamatu resiimis
• Kui arhailine seade/standard ei võimalda DESi kolmekordses resiimis pruukida, tuleb tõsiselt kaaluda sellise seadme kasutamise lõpetamist
DES: praktilisi soovitusi DES: praktilisi soovitusi
Mitmed vanemaid standardid ja tehnilised süsteemid nõuavad aga jätkuvalt DESi kasutamist
Mitmed vanemaid standardid ja tehnilised süsteemid nõuavad aga jätkuvalt DESi kasutamist
KokkuvõteKokkuvõte
Alates 2001. aastast on AES teistest mäekõrguselt üle ning lähiaastad seda vahet vast veelgi suurendavad
Alates 2001. aastast on AES teistest mäekõrguselt üle ning lähiaastad seda vahet vast veelgi suurendavad
Kõiki siintoodud algoritme (v.a. DES) võib praktikas kasutada ja nad on turvalised (Blowfishil leitud nõrgad võtmed ei muuda olukorda)
Väga palju on muid sümmeetrilisi krüptoalgoritme, mida käibes ringleb ja mida on teoreetikud vahel turvaliseks pidanudNende korral tasub eelistada alati mõnda eeltoodud algoritmidest, kui seda ei piira mingi jäid tehniline standard vms
Ülejäänud algoritmid?Ülejäänud algoritmid?
Rusikareeglid teiste algoritmide jaoks:• vaja võrgutsi veenduda, et ei ole
murdmidsvõtteid• vähemalt mõned aastad peab olema
olnud avalikkusele ”uurida”
Rusikareeglid teiste algoritmide jaoks:• vaja võrgutsi veenduda, et ei ole
murdmidsvõtteid• vähemalt mõned aastad peab olema
olnud avalikkusele ”uurida”