Simetrinio rakto kriptografija Simetrinio rakto kriptografija paprastai yra greitesnė ir paprastesnė (tam tikru atžvilgiu) nei viešojo rakto kriptografija, tačiau turi ir trūkumų, vienas iš akivaizdžiausių - rakto perdavimas duomenų gavėjui turi būti saugus. Raktų perdavimas nėra triviali problema. Nors viešosios kriptografijos viešas raktas gali būti perduotas atvirai per nesaugų ryšio kanalą, tačiau toks būdas negarantuoja saugumo. Kriptoanalitikas, kontroliuojantis ryšio kanalą, gali perimti viešąjį raktą, o gavėjui perduoti savo raktą. Ši ataka vadinama "man in the middle" ataka. Nors šios atakos esmė yra labai paprasta, tačiau sugalvoti apsaugą nuo šios atakos pasirodė nėra taip paprasta.. Algoritmai, naudojami simetrinio rakto kriptografijoje, skirstomi į srauto ir blokinius: • Srauto algoritmai duomenis šifruoja po vieną bitą. Labiausiai paplitusios RC4, RC5 simetrinio rakto kriptografija. • Blokiniai šifruoja įvairaus dydžio blokais. Vieni žinomiausių yra DES, IDEA, AES, RC2. Saugiausiu blokiniu algoritmu yra vadinamas AES standarto algoritmas RC2 RC2 - blokinis simetrinis algoritmas, sukurtas Ron`o Rivest`o 1987 m. Raidės RC reiškia „Ron`o kodas“ arba „Rivest`o šifras“. RC2 kūrimą rėmė kompanija Lotus Software. RC2 turi kintamo dydžio raktą, blokų ilgis yra 64 bitai. Rc2 buvo sukurtas pakeisti DES algoritmą. Pasak kompanijos, RC2 įgyvendinimas programinėje įrangoje yra tris kart greitesnis už DES. RC2 algoritmas priima įvairaus dydžio raktus: nuo 0 baitų iki maksimalaus eilutės dydžio ,kuria palaiko kompiuterinė sistema. Nuo rakto dydžio nepriklauso užšifravimo laikas. Naudojamos „mix“ ir „mash “operacijos. Miksavimo ciklas susideda iš 4 „mix“ pasikeitimų, kaip parodyta diagramoje: „mix“ pakeitimas, 4 tokie sudaro miksavimo ciklą. RC2 algoritmas: Šifravimo algoritme vyksta 18 ciklai: 1) Inicijuoti žodžius R[0], ..., R[3] taip, kad būtu sudaryti blokai iš 64 bitų blokų paprasto teksto 2) Išplėsti raktą, kad žodžiai K[0], ..., K[63] butu aiškūs. 3) Nustatyti j = 0 4) Atliekami 5 ciklai „mix“ operacijos 5) Atliekamas 1 ciklas „mash“ operacijos 6) Atliekami 6 ciklai „mix“ operacijos 7) Atliekamas 1 ciklas „mash“ operacijos 8) Atliekami 5 ciklai „mix“ operacijos 9)Šifruotas tekstas yra R[0], ..., R[3] Dešifruojant naudojamos operacijos kurios anuliuoja „mix“ ir „mash“ operacijas, naudotas užšifravimo algoritme. Pavadinsime jas „r-mix “ ir „r-mash“. Dešifravimo algoritme taip pat vyksta 18 ciklų: 1) Inicijuoti žodžius R[0], ..., R[3] taip, kad būtu sudaryti blokai iš 64 bitų blokų šifruoto teksto 2) Išplėsti raktą, kad žodžiai K[0], ..., K[63] butu aiškūs. 3)Nustatyti j = 0 4) Atliekami 5 ciklai „r-mix“ operacijos 5) Atliekamas 1 ciklas „r-mash“ operacijos 6) Atliekami 6 ciklai „r-mix“ operacijos 7) Atliekamas 1 ciklas „r-mash“ operacijos 8) Atliekami 5 ciklai „r-mix“ operacijos Testavimo pavyzdys: Rakto dydis (baitais) = 16 Naudingas rakto dydis (bitais) = 64 Raktas = 88bca90e 90875a7f 0f79c384 627bafb2 Paprastas tekstas = 00000000 00000000 Šifruotas tekstas = 1a807d27 2bbe5db1 RC4 RC4 – srautinis simetrinis algoritmas, sukurtas Ron`o Rivest`o 1987 m RSA Data Security bendrovei. RC4 algoritmas yra pagrįstas OFB(Output feedback ). OFB modelis pakeičia blokinį šriftą simetriniu srauto šriftu. Jis generuoja rakto srauto blokus, kurie yra XOR`inti su paprasto teksto (plaintext) blokais, kad gauti šifruotą tekstą (ciphertext). Dėl XOR operacijos simetriškumo, šifravimo ir dešifravimo operacijos yra visiškai vienodos: RC4 algoritmas: Rakto srautas nepriklauso nuo paprasto teksto, Jis turi 8*8 S-box`us (substitution box)- keitinių lenteles.: S0, S1 , ..., S255. Dar yra du kintamieji i ir j priskirti 0. Norint sugeneruoti atsitiktinius baitus atliekami tokie veiksmai: i = (i + 1) mod 256 j = (j + Si) mod 256 swap Si and Sj K = (Si + Sj) mod 256 K baitas yra XOR`inamas su paprastu tekstu, kad gauti šifruota tekstą, ir šifruotas tekstas XOR`inamas su K baitu, kad gauti paprastą tekstą. Šifravimas yra greitas, maždaug ą0 kartų greitesnis už DES algoritmo. Užpildyti S-box`us taip pat nesudėtinga, iš pradžių reikia surašyti skaičiai nuo 0 iki 255: S0=0, S1=1, ..., S255=255. Tuomet kitą komplektą iš 256 baitų reik pripildyti raktu, kartoti raktą tol kol prisipildys visas komplektas: K0, K1, ... , K255. Nustatome indeksą j į 0, ir tuomet: for i = 0 to 255: j = (j + Si + Ki) mod 256 swap Si and Sj Ir viskas.S-box naudojant lėtai vystosi: i garantuoja, kad kiekvienas elementas kinta, o j garantuoja, kad elementai kinta atsitiktinai. Algoritmas yra pakankamai nesudėtingas, kad daugelis programuotojų gali greit jį parašyti iš atminties. RC4 Testavimas ( šifruotas tekstas yra 16-ainėje ): RC4( "Key", "Plaintext" ) == BBF316E8D940AF0AD3 RC4 ir RC2 turi specialų eksporto statusą, jei jo rakto dydis yra ne didesnis už 40 bitų. Šis statusas visai nesusijęs su algoritmo slaptumu, nors RSA ilgus metus slėpė kaip šis algoritmas veikia. Taigi RC4 ir RC2 yra nebe paslaptis, taigi kiekvienas rašantis programos kodą, gali naudotis šiuo algoritmu, tačiau rašant komercines programas, patartina gauti licenziją. RC5 RC5 yra greitas, simetriškas, blokinis kodavimo algoritmas, tinkantis tiek programinei, tiek techninei įrangai.Nauja galimybė RC5 algoritme yra dažnas duomenų priklausomybės kaitaliojimas. RC5 turi kintamo dydžio slaptą raktą, suteikiantį lankstumą saugumo lygmenyje. RC5 yra algoritmas turintis parametrus, ir dažnai RC5 yra vadinamas RC5-w/r/b. Parametrai yra tokie: • w yra žodžio dydis bitais. Standartinė reikšmė yra 32 bitai, leistinos reikšmės yra 16, 32 ir 64. RC5 koduoja dviejų-žodžių blokus: paprasto teksto ir šifruoto teksto blokai būna 2w bitų ilgio. • r yra ciklų skaičius. Leistinos reikšmės yra 0,1, ..., 255. • b yra baitų skaičius slaptame rakte K. Leistinos reikšmės yra 0,1, ..., 255. RC5 naudoja „išplėstinio rakto“ lentelę S, kuri gaunama iš vartotojo pateikto slapto rakto K. Lentelės S dydis t priklauso nuo ciklų skaičiaus r. Lentelėje yra t = 2 (r+1) žodžiai. RC5 nėra numatytas būti saugus su visais galimais parametrais. Tačiau naudoti maksimalias parametrų reikšmes būtų perviršimas taikomosioms programoms. Kompanija suteikia įvairius parametrų nustatymus, kad vartotojai galėtų pasirinkti optimaliausią pagal greitį ir saugumą algoritmą savo programoms. Pvz., RC5- 32/16/7 yra toks pats ciklų skaičius ir rakto dydis, kaip ir DES algoritme, tačiau RC5 vartotojai gali padidinti savo rakto dydį iki 80 bitų pakeisdami į RC5-32/16/10. RC5 Algoritmas: RC5 sudarytas iš trijų algoritmų, vienas yra rakto išplėtimui, kitas yra šifravimui, trečias yra dešifravimui. Šie trys algoritmai naudoja tris operacijas: • Dvejeto komplektas prideda žodžius, žymimas „+“ . Tai yra modulinė 2w sudėtis. Atgalinė operacija yra „-“ • bito būdas – XOR (išskirtinis arba) žodžių, žymimas • Žodžio postūmis į kairę, postūmis į kairę per y bitų žymimas x>>y. Rakto plėtimo šablonas išplečia vartotojo raktą K, kad šis užpildytų „išplėstinio rakto“ lentelę S. Ir kad S sukurtų lentelę iš t atsitiktinių dvejetainių žodžių nustatytų pagal vartotojo slaptą kodą K. Tada S yra sumaišoma su slaptu kodu K, trimis abiejų „+“ ir „>> A) A; A = ((A – S[2*i] ) >>> B) B; B = B - S[1]; A = A – S[0]; RC5 Testavimas ( RC5-32/12/16 ): Raktas = 915F4619BE41B2516355A50110A9CE91 Paprastas tekstas = 21A5DBEE154B8F6D Šifruotas tekstas = F7C013AC5B2B8952 Šifravimo algoritmas yra labai paprastas ir gali būti įrašytas į asemblerio kalbą daugelyje procesorių. Lentelė S yra pasiekiama nuosekliai, todėl atsarginės atminties (catch) dydžio problemos sumažėja iki minimumo. 5 KLAUSIMAI 1. Į kokias grupes skirstomi algoritmai, naudojami simetrinio rakto kriptografijoje? Srauto ir blokinius 2. Kuris iš RC algoritmų yra srautinis? RC4 3. Kokios operacijos naudojamos RC2 algoritme? MIX ir MASH 4. Kokius parametrus turi RC5 algoritmas? Žodžio dydis, ciklų skaičius, baitų skaičius rakte K 5. Kiek kartų RC2 algoritmas greitesnis už DES algoritmą? 3 kartus Naudota literatūra Bruce Schneier “Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C” Ronald L. Rivest „The RC5 Encryption Algorithm“ http://theory.lcs.mit.edu/~rivest/Rivest-rc5rev.pdf Lars R. Knudsen, Vincent Rijmen, Ronald L. Rivest and M.J.B. Robshaw „On the Design and Security of RC2“ http://theory.lcs.mit.edu/~rivest/rc2-fse.pdf Ronald L. Rivest „The RC5 Encryption Algorithm“ straipsnis žurnale „Dr. Dobb`s journal“ http://theory.lcs.mit.edu/~rivest/Rivest-TheRC5EncryptionAlgorithm http://www.rsasecurity.com/rsalabs/node.asp?id=2152 http://en.wikipedia.org/ http://www.faqs.org/rfcs/rfc2268.html
Šį darbą sudaro 1379 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Kiti darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!