Kur jie moko kriptografijos? Kriptografija ir mašininis mokymasis

Leono 2017 m. balandžio 23 d., 15.17 val

Įvadas į kriptografiją ir šifravimą, pirmoji dalis. Paskaita Yandex

  • „Yandex“ įmonės tinklaraštis,
  • Algoritmai,
  • Informacijos saugumas,
  • Kriptografija

Norėdami iš karto suprasti medžiagą apie viešojo rakto infrastruktūrą, tinklo saugumą ir HTTPS, turite žinoti kriptografijos teorijos pagrindus. Vienas iš labiausiai greiti būdai studijuoti juos – žiūrėti ar skaityti Vladimiro Ivanovo paskaitą. Vladimiras yra žinomas tinklų ir jų apsaugos sistemų specialistas. Jis ilgą laiką dirbo „Yandex“, buvo vienas iš mūsų operacijų skyriaus vadovų.


Pirmą kartą publikuojame šią paskaitą kartu su stenograma. Pradėkime nuo pirmosios dalies. Po pjūviu rasite tekstą ir dalį skaidrių.


Kartą skaičiau paskaitas apie kriptografiją Maskvos valstybiniame universitete, jos man užtruko šešis mėnesius. Pasistengsiu tau viską papasakoti per dvi su puse valandos. Aš niekada to nedariau. Taigi pabandykime.

Kas supranta, kas yra DES? AES? TLS? Dvejetainis žemėlapis?

Bandysime kalbėti apibendrintai, nes sunku ir giliai analizuoti nepavyks: mažai laiko ir bazinis mokymas turėtų būti gana didelis. Veiksime bendromis sąvokomis, gana paviršutiniškai.

Pakalbėsime apie tai, kas yra kriptografiniai primityvai, paprasti dalykai, iš kurių vėliau galima sukurti sudėtingesnius dalykus, protokolus.

Kalbėsime apie tris primityvus: simetrinį šifravimą, pranešimų autentifikavimą ir asimetrinį šifravimą. Iš jų išauga daug protokolų.

Šiandien pabandysime šiek tiek pakalbėti apie tai, kaip generuojami raktai. IN bendras vaizdas Pakalbėkime apie tai, kaip išsiųsti saugų pranešimą naudojant kriptovaliutų primityvus, kuriuos turime vienas vartotojas kitam.

Kai žmonės kalba apie kriptovaliutą apskritai, yra keletas pagrindinių principų. Vienas iš jų – Kerkhoffs principas, teigiantis, kad atvirasis šaltinis kriptografijoje yra labai svarbus. Tiksliau – duoda bendros žinios apie protokolų rengimą. Reikšmė labai paprasta: kriptografiniai algoritmai, kurie naudojami konkrečioje sistemoje, neturėtų būti paslaptis, užtikrinanti jos stabilumą. Idealiu atveju būtina sukurti sistemas taip, kad jų kriptografinė pusė būtų visiškai žinoma užpuolikui ir vienintelė paslaptis būtų kriptografinis raktas, kuris naudojamas šioje sistemoje.

Šiuolaikinės ir komerciškai prieinamos šifravimo sistemos – visos arba dauguma arba geriausios iš jų – yra sukurtos iš komponentų, kurių konstrukcija ir veikimo principai yra gerai žinomi. Vienintelis slaptas dalykas apie juos yra šifravimo raktas. Yra tik viena reikšminga man žinoma išimtis – slaptų kriptografinių protokolų rinkinys įvairioms vyriausybinėms organizacijoms. JAV tai vadinama NSA suite B, bet Rusijoje tai visokie keisti slapti šifravimo algoritmai, kuriuos tam tikru mastu naudoja karinės ir vyriausybinės agentūros.

Nepasakyčiau, kad tokie algoritmai jiems duoda daug naudos, išskyrus tai, kad tai panašu į atomų fiziką. Galite pabandyti suprasti protokolo dizainą, kad suprastumėte jį sukūrusių žmonių minties kryptį ir tam tikru būdu aplenktumėte kitą pusę. Nežinau, kiek šis principas yra aktualus pagal šiandienos standartus, bet žmonės, kurie apie tai žino daugiau nei aš, tai daro.

Kiekviename komerciniame protokole, su kuriuo susiduriate, situacija yra skirtinga. Ten visur naudojama atvira sistema, visi laikosi šio principo.

Pirmasis kriptografinis primityvas yra simetriniai šifrai.


Jie labai paprasti. Turime tam tikrą algoritmą, kurio įvestis yra paprastas tekstas ir kažkas vadinama raktu, tam tikra reikšmė. Išvestis yra užšifruotas pranešimas. Kai norime jį iššifruoti, svarbu, kad paimtume tą patį šifravimo raktą. Ir taikydami jį kitam algoritmui, iššifravimo algoritmui, iš šifruoto teksto gauname paprastą tekstą.


Kurie čia yra? svarbius niuansus? Daugumoje sutinkamų simetrinio šifravimo algoritmų šifruoto teksto dydis visada yra lygus paprasto teksto dydžiui. Šiuolaikiniai šifravimo algoritmai veikia pagal raktų dydį. Raktų dydis matuojamas bitais. Modernaus dydžio- nuo 128 iki 256 bitų simetriniams šifravimo algoritmams. Apie visa kita, įskaitant bloko dydį, kalbėsime vėliau.


Istoriškai, tariamame IV amžiuje prieš Kristų, buvo du šifrų kūrimo būdai: pakeitimo ir permutacijos šifrai. Pakaitiniai šifrai – tai algoritmas, kai tais laikais pagal kažkokį principą viena pranešimo raidė buvo pakeista kita. Paprastas pakeitimo šifras yra pagrįstas lentele: paimame lentelę, kurioje parašyta, kad keičiame A į Z, B į S ir tt Tada šifruojame naudodami šią lentelę ir iššifruojame naudodami ją.

Kalbant apie rakto dydį, koks, jūsų nuomone, šis algoritmas yra sudėtingas? Kiek yra pagrindinių variantų? Faktorinė abėcėlės ilgio tvarka. Mes paimame stalą. Kaip mes jį statome? Tarkime, kad yra 26 simbolių lentelė. Raidę A galime pakeisti bet kuria iš jų, raidę B bet kuriuo iš likusių 25, C bet kuriuo iš likusių 24... Gauname 26*25*24*... - tai yra faktorialas iš 26 Abėcėlės matmenų faktorius.

Jei imsime žurnalą 2 26!, tai bus daug. Manau, kad jūs tikrai gausite apie 100 bitų rakto ilgio ar net daugiau. Paaiškėjo, kad formalaus pasipriešinimo vaizdavimo požiūriu nurodytą algoritmąšifravimas yra gana geras. 100 bitų yra priimtina. Tuo pačiu metu visi, tikriausiai vaikystėje ar jaunystėje, susidūrę su kodavimu, pamatė, kad tokius algoritmus iššifruoti buvo nereikšminga. Su iššifravimu problemų nėra.

Ilgą laiką įvairiose konstrukcijose buvo įvairiausių pakeitimo algoritmų. Vienas iš jų, dar primityvesnis, yra Cezario šifras, kur lentelė formuojama ne atsitiktine simbolių permutacija, o trijų simbolių poslinkiu: A keičiasi į D, B į E ir tt Akivaizdu, kad Cezario šifrą kartu su visais jo variantais galima surūšiuoti labai paprastai: skirtingai nei lentelės pakeitimas, Cezario raktas turi tik 25 parinktis su 26 raidėmis abėcėlėje - neskaitant trivialaus šifravimo į save. Ir tai gali būti tiesiog sutvarkyta žiauria jėga. Čia yra tam tikras sudėtingumas.

Kodėl lentelės pakeitimo šifras toks paprastas? Kur iškyla problema, kai galime lengvai, net nieko nežinodami apie kriptografiją, iššifruoti lentelės pakeitimą? Tai dažnių analizės reikalas. Yra dažniausiai pasitaikančios raidės - kai kurios I arba E. Jų paplitimas yra didelis, balsės yra daug dažnesnės nei priebalsiai, ir yra neigiamų porų, kurių natūraliose kalbose niekada nėra - kažkas panašaus į bb. Aš netgi daviau studentams užduotį sukurti automatinį pakaitinį šifro dekoderį, ir iš esmės daugeliui tai pavyko.

kame problema? Reikia iškraipyti raidžių pasiskirstymo statistiką, kad šifruotame tekste dažnos raidės taip ryškiai nešviestų. Akivaizdus būdas: užšifruokime dažniausiai pasitaikančias raides ne į vieną simbolį, o, pavyzdžiui, į penkis skirtingus. Jei raidė pasitaiko vidutiniškai penkis kartus dažniau, tada eikime pakaitomis – iš pradžių šifruosime pirmą simbolį, po to antrą, trečią ir tt Toliau gausime raidžių susiejimą ne nuo 1 iki 1, o sąlyginai , 26 k 50. Taip bus pažeista statistika. Štai pirmasis poliabėcėlės šifro pavyzdys, kuris kažkaip veikė. Tačiau su juo yra nemažai problemų, o svarbiausia – labai nepatogu dirbti su stalu.

Kaip raktą laikome žodį VASYA. Mes priimame pranešimą MASHA. Naudokime Cezario šifrą, bet skaičiuokime nuo šių raidžių. Pavyzdžiui, B yra trečioji abėcėlės raidė. Turime pakeisti atitinkamą raidę grynajame tekste trimis raidėmis. M pasislenka į P. A į A. Ш - iki 16, peršokime per raidę A, gauname sąlyginai D. Perkelsiu A į Y. PADDYA.

Kuo patogus gautas šifras? Buvo dvi vienodos raidės, bet dėl ​​to jos buvo užšifruotos į skirtingas. Tai puiku, nes sumaišo statistiką. Metodas veikė gerai, kol kažkur XIX amžiuje, visai neseniai kriptografijos istorijos fone, jie suprato, kaip jį sulaužyti. Jei žiūrite į kelių dešimčių žodžių pranešimą, o raktas yra gana trumpas, visa struktūra atrodo kaip keli Cezario šifrai. Sakome: gerai, kas ketvirtą raidę – pirmą, penktą, devintą – laikykime Cezario šifru. Ir paieškokime tarp jų statistinių modelių. Tikrai juos rasime. Tada imame antrą, šeštą, dešimtą ir pan. Surasime dar kartą. Tai atkurs raktą. Vienintelė problema yra išsiaiškinti, kiek tai trunka. Tai nėra labai sunku, bet kiek tai gali trukti? Na, 4, gerai, 10 simbolių. Pereiti 6 variantus nuo 4 iki 10 nėra labai sunku. Paprasta ataka – buvo galima be kompiuterių, tik su rašikliu ir popieriaus lapu.

Kaip iš šio daikto padaryti nepalaužiamą šifrą? Paimkite teksto dydžio klavišą. Personažas, vardu Claude'as Shannonas, XX amžiuje, 1946 m., parašė pirmąjį klasikinį darbą apie kriptografiją kaip matematikos šaką, kur suformulavo teoremą. Rakto ilgis yra lygus pranešimo ilgiui – jis naudojo XOR, o ne pridėjo modulo, lygaus abėcėlės ilgiui, tačiau šioje situacijoje tai nėra labai svarbu. Raktas generuojamas atsitiktinai, yra atsitiktinių bitų seka, o išvestis taip pat bus atsitiktinė bitų seka. Teorema: jei turime tokį raktą, tada toks dizainas yra visiškai stabilus. Įrodymas nėra labai sudėtingas, bet dabar apie tai nekalbėsiu.

Svarbu tai, kad įmanoma sukurti nepalaužiamą šifrą, tačiau jis turi trūkumų. Pirma, raktas turi būti visiškai atsitiktinis. Antra, jo niekada negalima naudoti pakartotinai. Trečia, rakto ilgis turi būti lygus pranešimo ilgiui. Kodėl negalite naudoti to paties rakto skirtingiems pranešimams užšifruoti? Nes kitą kartą perėmus šį raktą bus galima iššifruoti visus pranešimus? Nr. Ar Cezario šifras bus matomas pirmuosiuose simboliuose? nelabai suprantu. Atrodo, kad ne.

Paimkime dvi žinutes: MASHA, užšifruotą raktu VASYA, ir kitą žodį, kurio raktas taip pat buvo VASYA – VERA. Gauname kažką panašaus į tai: ZESHA. Pridėkime du gautus pranešimus ir taip, kad abu klavišai būtų ištrinti. Dėl to gauname tik skirtumą tarp prasmingo šifruoto teksto ir prasmingo šifruoto teksto. Tai daroma patogiau naudojant XOR, nei pridedant išilgai abėcėlės, tačiau skirtumo praktiškai nėra.

Jei gauname skirtumą tarp dviejų prasmingų šifruotų tekstų, tai paprastai tampa daug lengviau, nes tekstai turi natūrali kalba didelis perteklius. Dažnai mes galime atspėti, kas vyksta, darydami įvairias prielaidas ir hipotezes. Ir svarbiausia, kad kiekviena teisinga hipotezė atskleis mums rakto gabalėlį, taigi ir dviejų šifruotų tekstų fragmentus. Kažkas panašaus. Dėl to ir blogai.

Be pakaitinių šifrų, buvo ir permutacijos šifrų. Su jais viskas taip pat gana paprasta. Mes paimame VASYAI pranešimą, įrašome jį į tam tikro ilgio bloką, pavyzdžiui, DIDOM ir taip pat perskaitome rezultatą.

Ne Dievas žino, koks dalykas. Kaip ją sulaužyti irgi aišku – pereikime visas įmanomas permutacijas. Čia jų nėra labai daug. Mes paimame bloko ilgį, pasirenkame jį ir atkuriame.

Kitai iteracijai buvo pasirinktas toks būdas: imkime viską taip pat, o viršuje užrašykime kokį nors raktą – SIMON. Pertvarkykime stulpelius taip, kad raidės būtų viduje abėcėlės tvarka. Dėl to mes gauname naują permutaciją pagal raktą. Jis jau yra daug geresnis nei senasis, nes permutacijų skaičius yra daug didesnis ir jį pasirinkti ne visada lengva.

Kiekvienas šiuolaikinis šifras vienaip ar kitaip remiasi šiais dviem principais – pakeitimu ir permutacija. Šiais laikais jų naudojimas yra daug sudėtingesnis, tačiau pagrindiniai principai išlieka tie patys.


Jei kalbėsime apie šiuolaikinius šifrus, jie skirstomi į dvi kategorijas: srautą ir bloką. Srauto šifras sukurtas taip, kad iš tikrųjų yra atsitiktinių skaičių generatorius, kurio išvestį pridedame modulo 2, „xorim“, su savo šifruotu tekstu, kaip matote mano skaidrėje. Anksčiau sakiau: jei gauto rakto srauto ilgis – taip pat žinomas kaip raktas – yra visiškai atsitiktinis, niekada nenaudojamas pakartotinai, o jo ilgis yra lygus pranešimo ilgiui, tada mes turime absoliučiai stiprų, nepalaužiamą šifrą.

Kyla klausimas: kaip tokiam šifrui sugeneruoti atsitiktinį, ilgą ir amžiną Raktą? Kaip iš tikrųjų veikia srauto šifrai? Iš esmės jie yra atsitiktinių skaičių generatorius, pagrįstas kai kuriais pradinė vertė. Pradinė reikšmė yra šifro raktas, atsakymas.

Šioje istorijoje yra viena įdomi išimtis – šifravimo blokeliai. Tai tikra šnipo istorija apie tikrą šnipinėjimą. Kai kurie žmonės, kuriems reikia absoliučiai stabilaus bendravimo, generuoja atsitiktinius skaičius – pavyzdžiui, tiesiogine prasme mesdami kauliuką arba tiesiog ištraukdami kamuoliukus iš būgno, kaip loterijoje. Sukurkite du lapus, kuriuose būtų atspausdinti šie atsitiktiniai skaičiai. Vienas lapas atiduodamas gavėjui, o antrasis paliekamas siuntėjui. Kai jie nori bendrauti, jie naudoja šį atsitiktinių skaičių srautą kaip pagrindinį srautą. Ne, istorija nėra paimta iš labai tolimos praeities. Turiu tikrą radijo pasiklausymą nuo 2014 m. spalio 15 d.: 7 2 6, 7 2 6, 7 2 6. Tai yra šaukinys. 4 8 3, 4 8 3, 4 8 3. Tai yra kodų klaviatūros numeris. 5 0, 5 0, 5 0. Tai žodžių skaičius. 8 4 4 7 9 8 4 4 7 9 2 0 5 1 4 2 0 5 1 4 ir tt 50 tokių skaičių grupių. Nežinau, kur kažkur ne Rusijoje kažkas sėdėjo su rašikliu ir pieštuku prie paprasto radijo ir užsirašė šiuos skaičius. Jas užsirašęs, išėmė panašų daiktą, pridėjo modulo 10 ir gavo savo žinutę. Kitaip tariant, tai iš tikrųjų veikia, ir į tokią žinią nulaužti negalima. Jei iš tikrųjų buvo sugeneruoti geri atsitiktiniai skaičiai ir jis vėliau sudegino popieriaus lapą raktu, tada jokiu būdu nėra galimybės į jį nulaužti.

Tačiau čia yra nemažai problemų. Pirma, kaip sukurti tikrai gerus atsitiktinius skaičius. Mus supantis pasaulis yra deterministinis, o jei kalbame apie kompiuterius, jie yra visiškai deterministiniai.

Antra, pristatyti tokio dydžio raktus... jei kalbame apie pranešimų siuntimą iš 55 skaitmeninių grupių, tai padaryti tai nėra labai sunku, tačiau kelių gigabaitų teksto perdavimas jau yra rimta problema. Todėl reikia kai kurių algoritmų, kurie iš esmės generuoja pseudoatsitiktinius skaičius, pagrįstus tam tikra maža sėkla, ir kuriuos būtų galima naudoti kaip tokius srautinio perdavimo algoritmus.


Istoriškai labiausiai paplitęs tokio tipo algoritmas vadinamas RC4. Jis buvo sukurtas Rono Rivesto maždaug prieš 25 metus ir buvo aktyviai naudojamas labai ilgą laiką, tai buvo labiausiai paplitęs TLS algoritmas, visi skirtingi jo variantai, įskaitant HTTPS. Bet į pastaruoju metu RC4 pradėjo rodyti savo amžių. Jo atžvilgiu yra nemažai išpuolių. Jis aktyviai naudojamas WEP. Buvo viena gera Antono paskaita, kuri parodo: prastai naudojant net ir pagal šiandienos standartus padorų šifravimo algoritmą, kyla pavojus visai sistemai.

RC4 nėra sudėtingas. Skaidrėje pilnai aprašomas jo darbas. Yra vidinė 256 baitų būsena. Kiekviename šios būsenos žingsnyje yra du skaičiai, du rodyklės į skirtingus būsenos baitus. Ir kiekviename žingsnyje tarp šių skaičių atsiranda priedas – jie dedami į tam tikrą valstybės vietą. Iš ten gautas baitas yra kitas baitas skaičių seka. Taip sukdami šią rankenėlę, kiekviename žingsnyje atlikdami panašų veiksmą, gauname kiekvieną kitą baitą. Kitą skaitinės sekos baitą galime gauti amžinai, sraute.

Didelis RC4 privalumas yra tai, kad jis yra visiškai baitas, o tai reiškia, kad jo programinė įranga veikia gana greitai – daug greičiau, kelis kartus, o gal net dešimtis kartų greičiau nei panašus DES šifras, kuris egzistavo maždaug tuo pačiu metu. Štai kodėl RC4 taip plačiai paplito. Ilgą laiką tai buvo komercinė RSA paslaptis, bet tada, maždaug 90-aisiais, kai kurie žmonės anonimiškai paskelbė jo įrenginio šaltinio kodą cypherpunks adresų sąraše. Dėl to buvo daug dramų, buvo verksmų, kaip čia nepadorūs žmonės pavogė RSA intelektinę nuosavybę ir ją paskelbė. RSA pradėjo grasinti visiems patentais ir visokiu teisiniu persekiojimu. Norint jų išvengti, visi atvirojo kodo algoritmo diegimai vadinami ne RC4, o ARC4 arba ARCFOUR. A – tariamas. Mes kalbame apie šifrą, kuris visais bandymo atvejais atitinka RC4, bet techniškai tai neatrodo.

Jei sukonfigūruosite kokį nors SSH ar OpenSSL, nerasite jame jokio paminėjimo apie RC4, bet rasite ARC4 ar kažką panašaus. Tai paprastas dizainas, jis jau senas, dabar yra atakų, ir tai tikrai nerekomenduojama naudoti.


Buvo keli bandymai jį pakeisti. Tikriausiai, mano šališka nuomone, sėkmingiausias šifras buvo Salsa20 ir keli jo pasekėjai iš veikėjo Dano Bursteino, plačiai žinomo siauruose sluoksniuose. „Linux“ vartotojams jis paprastai žinomas kaip „qmail“ autorius.

„Salsa20“ yra sudėtingesnė nei DES. Jo blokinė schema yra sudėtinga, tačiau ji turi keletą įdomių ir šaunių savybių. Iš pradžių jis visada įeina pabaigos laikas, kiekvienas raundas, kuris yra svarbus apsaugai nuo laiko atakų. Tai atakos, kai užpuolikas stebi šifravimo sistemos elgesį, pateikdamas jai skirtingus šifravimo tekstus arba skirtingus raktus už šios juodosios dėžės. Suprasdamas reakcijos laiko ar sistemos energijos suvartojimo pokyčius, jis gali padaryti išvadas apie tai, kas tiksliai įvyko viduje. Jei manote, kad ataka yra labai toli, taip nėra. Tokio tipo atakos prieš intelektualiąsias korteles yra labai paplitusios – labai patogu, nes užpuolikas turi visišką prieigą prie dėžutės. Vienintelis dalykas, kurį jis, kaip taisyklė, negali padaryti, yra perskaityti patį raktą. Tai sunku, bet jis gali padaryti visa kita – įdėti skirtingus pranešimus ir bandyti juos iššifruoti.

„Salsa20“ sukurta taip, kad ji visada veiktų tą patį pastovų laiką. Viduje jis susideda tik iš trijų primityvų: pastovaus laiko poslinkio, taip pat modulo 2 ir modulo 32, 32 bitų žodžių. Salsa20 greitis yra net didesnis nei RC4. Jis dar nebuvo taip plačiai pritaikytas pagrindinėje kriptografijoje – mes neturime TLS šifravimo rinkinio, kuriame būtų naudojamas Salsa20, bet vis tiek pamažu tampa įprasta. Nurodytas šifras tapo vienu iš eSTREAM konkurso geriausio srauto šifro rinkimo nugalėtojų. Jų buvo keturi, o Salsa buvo viena iš jų. Jis pamažu pradeda pasirodyti visuose atvirojo kodo produktuose. Galbūt netrukus – galbūt po poros metų – TLS su Salsa20 atsiras net šifravimo rinkinys. Man jis labai patinka.

Jame yra tam tikra kriptoanalizė, netgi yra atakų. Iš išorės jis atrodo kaip siūlas, generuojantis beveik savavališko ilgio seką pagal raktą 2 64 . Tačiau viduje jis veikia kaip blokas. Algoritme yra vieta, kur galite pakeisti bloko numerį, ir jis sukurs nurodytą bloką.

Kokia yra srauto šifrų problema? Jei tinkle siunčiamas duomenų srautas, srauto šifras yra naudingas. Prie jūsų durų atkeliavo paketas, jūs jį užšifravote ir perdavėte. Atskrido kitas – pritaikė šią skalę ir perdavė. Pirmasis baitas, antrasis, trečiasis eina per tinklą. Patogus.

Jei duomenys, pavyzdžiui, visas gigabaito failas, yra užšifruoti diske naudojant srauto šifrą, tada, norėdami nuskaityti paskutinius 10 baitų, pirmiausia turėsite sugeneruoti 1 gigabaito šifro srauto gamas, o tada paimti paskutinius 10 baitų. nuo jo. Labai nepatogu.

Salsoje nurodyta problema yra išspręstas, nes taip pat gauna bloko, kurį reikia sugeneruoti, įvesties numerį. Tada algoritmas bloko numeriui taikomas 20 kartų. 20 raundų – ir gauname 512 bitų išvesties srauto.

Sėkmingiausia ataka – 8 raundai. Jis pats yra 256 bitų, o atakos sudėtingumas per 8 raundus yra 250 arba 251 bitas. Manoma, kad jis yra labai stabilus ir geras. Tam yra vieša kriptovaliuta. Nepaisant viso Bersteino asmenybės nepadorumo šiuo aspektu, man atrodo, kad dalykas yra geras ir turi didelę ateitį.

Istoriškai buvo daug srautinių šifrų. Jie yra pirmieji ne tik komerciniame, bet ir kariniame šifravime. Jame buvo naudojami vadinamieji linijinio poslinkio registrai.

Kokios čia problemos? Pirma: klasikiniuose srauto šifruose, o ne Salsa, norėdami iššifruoti paskutinę gigabaito failo reikšmę, paskutinį baitą, pirmiausia turite sugeneruoti gigabaito seką. Iš jo naudojate tik paskutinį baitą. Labai nepatogu.

Srautiniai šifrai yra prastai pritaikyti nenuoseklios prieigos sistemoms, kurių labiausiai paplitęs pavyzdys yra kietasis diskas.

Yra dar viena problema, apie ją kalbėsime toliau. Tai labai aiškiai pasireiškia srauto šifruose. Dvi problemos kartu lėmė tai, kad būtų puiku naudoti kokį nors kitą mechanizmą.

Kitas simetrinio šifravimo mechanizmas vadinamas blokiniu šifru. Tai šiek tiek kitokia struktūra. Jis negeneruoja šio rakto srauto, kuris turi būti sumaišytas su mūsų šifruotu tekstu, bet veikia panašiai – kaip pakeitimo lentelė. Paima fiksuoto ilgio teksto bloką, išveda tokio pat ilgio teksto bloką ir viskas.

Šiuolaikiniuose šifruose bloko dydis paprastai yra 128 bitai. Yra įvairių variantų, tačiau paprastai mes kalbame apie apie 128 arba 256 bitus, nei daugiau, nei mažiau. Rakto dydis yra lygiai toks pat kaip ir srauto algoritmų: 128 arba 256 bitai šiuolaikiniuose diegimuose, viduje ir išorėje.

Iš visų plačiai naudojamų blokinių šifrų dabar galima pavadinti du – DES ir AES. DES yra labai senas šifras, tokio pat amžiaus kaip RC4. Šiuo metu DES bloko dydis yra 64 bitai, o rakto dydis - 56 bitai. Jį sukūrė IBM pavadinimu Luciferis. Kai Horstas Feistelis kūrė jį IBM, jie pasiūlė pasirinkti 128 bitus kaip bloko dydį. Ir rakto dydis buvo keičiamas – nuo ​​124 iki 192 bitų.

Kai DES buvo pradėtas standartizuoti, jis buvo pateiktas patikrinti, taip pat ir NSA. Iš ten jis grįžo sumažinęs bloko dydį iki 64 bitų, o rakto dydį sumažinęs iki 56 bitų.


Prieš 20 metų visa ši istorija sukėlė daug triukšmo. Visi sakė - tikriausiai jie ten pastatė žymę, tai baisu, jie pasirinko bloko dydį, kad galėtų pulti. Tačiau didelis DES privalumas yra tas, kad tai buvo pirmasis šifras, kuris buvo standartizuotas ir vėliau tapo komercinės kriptografijos pagrindu.

Jis buvo daug puolamas ir daug tyrinėjamas. Valgyk didelis skaičius visokių išpuolių. Tačiau vis dar nėra nė vieno praktiškai įmanomo išpuolio, nepaisant gana garbingo amžiaus. Vienintelis dalykas yra tai, kad 56 bitų rakto dydis dabar yra tiesiog nepriimtinas ir gali būti užpultas žiauria jėga.

Kaip veikia DES? Feistel sukūrė puikų dalyką, vadinamą Feistel tinklu. Ji veikia blokuose. Kiekvienas blokas, patenkantis į įvestį, yra padalintas į dvi dalis: kairę ir dešinę. Kairė pusė be pakeitimų tampa dešine. Dešinė pusė sumaišoma su tam tikros funkcijos, kurios įvestis pateikiama, skaičiavimo rezultatu kairėje pusėje ir raktas. Po šios transformacijos dešinė pusė tampa kairiąja.


Jis turi keletą įdomių privalumų. Pirmas svarbus privalumas: funkcija F gali būti bet kokia. Jis neturėtų turėti grįžtamumo savybių, jis negali būti tiesinis arba netiesinis. Vis dėlto šifras išlieka simetriškas.

Antra labai patogi savybė: iššifravimas veikia taip pat, kaip ir šifravimas. Jei reikia iššifruoti tam tikrą tinklą, į ankstesnį mechanizmą įdėkite šifruotą tekstą, o ne į paprastą tekstą ir vėl pašalinkite paprastą tekstą.

Kodėl tai patogu? Prieš 30 metų patogumą lėmė tai, kad šifruotojai buvo aparatinė įranga, todėl reikėjo daug darbo, kad būtų sukurtas atskiras lustų rinkinys šifravimui ir iššifravimui. Ir šiame dizaine viskas yra labai šaunu, mes galime naudoti vieną bloką skirtingoms užduotims.

IN reali situacijaŠis dizainas yra vienas blokinio šifro turas, tai yra, tikrame šifre jis vykdomas 16 kartų su skirtingais raktais. Kiekviename 16 raunde sugeneruojamas atskiras raktas ir 16 raundo dalinių raktų, kurių kiekvienas naudojamas kiekviename etape F funkcijai.

Raundas taip pat atrodo gana paprastas – jis susideda tik iš dviejų ar trijų operacijų. Pirma operacija: aptikto pusbloko dydis tampa 32 bitai, pusė bloko pereina išplėtimo funkciją, o kaip įvestis gaunami 32 bitai. Toliau, naudodami specialią neklasifikuotą lentelę, šiek tiek pridedame prie 32 bitų, paverčiant juos 48: kai kurie bitai yra dubliuojami ir pertvarkomi, tokia šukos.

Tada suderiname jį su apvaliu raktu, kurio dydis taip pat yra 48 bitai, ir gauname 48 bitų reikšmę.
Tada jis patenka į funkcijų rinkinį, vadinamą S dėžėmis, kurios kiekvieną įvesties bitą paverčia keturiais išvesties bitais. Todėl išvestyje vėl gauname 32 bitus iš 48 bitų.

Ir galiausiai, paskutinė permutacija P. Ji vėl sumaišo 32 bitus. Viskas labai paprasta, apvali funkcija kuo paprastesnė.

Įdomiausia jo savybė slypi nurodytose S dėžutėse: sukurta labai sudėtinga 6 bitų transformacija į 4, jei pažvelgsite į visą dizainą, pamatysite, kad jis susideda iš XOR ir kelių permutacijų. Jei S dėžės būtų paprastos, visas DES iš tikrųjų būtų tam tikras tiesinių transformacijų rinkinys. Tai gali būti laikoma matrica, pagal kurią padauginame savo paprastą tekstą, kad gautume šifruotą tekstą. Ir tada ataka prieš DES būtų nereikšminga: tiesiog reikėtų pasirinkti matricą.

Visas netiesiškumas sutelktas į S-dėžutes, parinktas ypatingu būdu. Apie tai, kaip tiksliai jie buvo atrinkti, sklando įvairūs anekdotai. Tiksliau, praėjus maždaug 10 metų po DES paskelbimo ir standartizavimo, kriptografai rado naujo tipo atakos – diferencinė kriptoanalizė. Atakos esmė labai paprasta: atliekame nedidelius grynojo teksto pakeitimus – pakeičiame, pavyzdžiui, vieno bito reikšmę nuo 0 iki 1 – ir žiūrime, kas atsitiks su šifruotu tekstu. Paaiškėjo, kad idealiame šifre, pakeitus vieną bitą nuo 0 iki 1, turėtų pasikeisti lygiai pusė šifruoto teksto bitų. Paaiškėjo, kad DES, nors ir buvo sukurtas prieš atrandant diferencinę kriptoanalizę, buvo atsparus tokio tipo atakoms. Dėl to vienu metu kilo kita paranojos banga: sakoma, kad NSA apie diferencinės kriptoanalizės egzistavimą žinojo 10 metų anksčiau nei atvirieji kriptografai, ir galite įsivaizduoti, ką ji gali žinoti dabar.

Šimtai straipsnių buvo skirti S-dėžių dizaino analizei. Yra šaunių straipsnių, vadinamų maždaug taip: statistinio išvesties bitų paskirstymo ypatybės ketvirtajame S langelyje. Kadangi šifras yra daug metų senas, jis buvo nuodugniai ištirtas įvairiose vietose ir net pagal šiandienos standartus išlieka gana stabilus.

Dabar 56 bitus galima tiesiog surūšiuoti bendrosios paskirties mašinų grupėje – galbūt net viename. Ir tai yra blogai. Ką tu gali padaryti?

Negalite tiesiog perkelti rakto dydžio: visa struktūra yra susieta su jo ilgiu. Trigubas DES. Akivaizdus atsakymas buvo toks: kelis kartus užšifruokime savo bloką, sutvarkykime kelis nuoseklius šifravimus. Ir čia viskas nėra per daug banalu.

Tarkime, paimame ir du kartus užšifruojame. Pirmiausia turite įrodyti, kad šifruojant k1 ir k2 dviem skirtingais raktais nėra tokio šifravimo raktu k3, kad dviejų nurodytų funkcijų atlikimas būtų toks pat. Čia atsiranda savybė, kad DES nėra grupė. Tam yra įrodymų, nors ir nelabai menkų.

Gerai, 56 bitai. Paimkime du – k1 ir k2. 56 + 56 = 112 bitų. 112 bitų, net pagal šiandienos standartus, yra visiškai priimtinas rakto ilgis. Viskas, kas viršija 100 bitų, gali būti laikoma normalia. Taigi kodėl negalite naudoti dviejų šifravimo būdų, 112 bitų?

Vienas DES šifravimas susideda iš 16 raundų. Tinklas pritaikytas 16 kartų. Pakeitimai iš kairės į dešinę vyksta 16 kartų. Ir jis nėra grupė. Yra įrodymų, kad tokio rakto k3, kuriuo galėtume iššifruoti tekstą, nuosekliai užšifruotą mūsų pasirinktais raktais k1 ir k2, nėra.

Yra ataka. Užšifruokime visus galimus tekstus naudodami kokį nors raktą, paimkime šifruotą tekstą ir pabandykime jį iššifruoti naudodami visus savavališkus raktus. Ir čia, ir čia gauname 2 56 variantus. Ir kažkur jie susitiks. Tai reiškia, kad du kartus 2 56 parinktys - plius atmintis, skirta saugoti visus iššifravimus - rasime tokį k1 ir k2 derinį, kad ataka būtų įmanoma.

Efektyvus algoritmo stiprumas yra ne 112 bitų, o 57, jei turime pakankamai atminties. Jums reikia gana daug atminties, bet vis tiek. Todėl nusprendėme, kad taip dirbti negalime, šifruokime tris kartus: k1, k2, k3. Dizainas vadinamas Triple DES. Techniškai jis gali būti išdėstytas įvairiais būdais. Kadangi šifravimas ir iššifravimas yra tas pats dalykas DES, tikrieji algoritmai kartais atrodo taip: užšifruoti, iššifruoti ir dar kartą iššifruoti, kad būtų lengviau atlikti aparatinės įrangos diegimo operacijas.

Mūsų atvirkštinis Triple DES įgyvendinimas pavirs į aparatinę DES diegimą. Tai gali būti labai patogu įvairiose situacijose atgalinio suderinamumo tikslais.

Kur buvo naudojamas DES? Tiesą sakant, visur. Tai vis dar kartais galima pamatyti TLS, yra TLS šifrų rinkinių, naudojančių Triple DES ir DES. Tačiau ten ji aktyviai nyksta, nes kalbame apie programinę įrangą. Programinę įrangą lengva atnaujinti.

Bet bankomatuose jis užgeso labai ilgam, ir nesu tikras, kad visiškai mirė. Nežinau, ar reikia atskiros paskaitos, kaip ši konstrukcija veikia bankomatuose. Trumpai tariant, klaviatūra, kurioje įvedate PIN kodą, yra savarankiškas dalykas. Į jį įkeliami raktai ir išvedamas ne PIN kodas, o PIN bloko dizainas. Dizainas yra užšifruotas - pavyzdžiui, per DES. Kadangi bankomatų yra labai daug, daugelis jų yra seni ir vis dar galite rasti bankomatą, kuriame dėžutės viduje yra net ne Triple DES, o įprastas DES.

Vieną dieną DES pradėjo rodyti savo amžių, tapo sunku jį naudoti ir žmonės nusprendė sugalvoti ką nors naujo. Amerikos standartizacijos biuras, vadinamas NIST, pasakė: surengkime konkursą ir išsirinkime naują šaunų šifrą. Tai tapo AES.

DES reiškia skaitmeninį šifruotą standartą. AES – pažangus šifruotas standartas. AES bloko dydis yra 128 bitai, o ne 64. Tai svarbu kriptografiniu požiūriu. AES rakto dydis yra 128, 192 arba 256 bitai. AES nenaudoja Feistel tinklo, tačiau jis taip pat yra kelių ratų, o palyginti primityvios operacijos kartojasi keletą kartų. 128 bitams naudojama 10 raundų, 256 - 14.

Dabar aš jums parodysiu, kaip veikia kiekvienas raundas. Pirmasis ir paskutinis raundas šiek tiek skiriasi nuo standartinės schemos – tam yra priežasčių.

Kaip ir DES, kiekvienas AES raundas turi savo apvalius klavišus. Jie visi generuojami iš algoritmo šifravimo rakto. Šiuo metu AES veikia taip pat kaip DES. Paimamas 128 bitų raktas ir iš jo sugeneruojama 10 dalinių raktų 10 raundų. Kiekvienas dalinis raktas, kaip ir DES, naudojamas kiekviename konkrečiame raunde.

Kiekvieną raundą sudaro keturios gana paprastos operacijos. Pirmasis turas yra keitimas naudojant specialią lentelę.

AES mes sukuriame 4 x 4 baitų matricą. Kiekvienas matricos elementas yra baitas. Iš viso yra 16 baitų arba 128 bitai. Jie sudaro visą AES bloką.

Antroji operacija yra baitų poslinkis.

Jo struktūra paprasta ir primityvi. Paimame 4 x 4 matricą. Pirmoji eilutė lieka nepakitusi, antroji eilutė perkeliama 1 baitu į kairę, trečioji - 2 baitais, ketvirta - 3 cikliškai.

Toliau atliekame maišymą stulpelių viduje. Tai taip pat labai paprasta operacija. Jis iš tikrųjų pertvarko bitus kiekviename stulpelyje, daugiau nieko neįvyksta. Galite manyti, kad tai dauginama iš specialios funkcijos.

Ketvirta, vėlgi labai paprasta operacija – XOR kiekviename stulpelyje esantį baitą su atitinkamu rakto baitu. Tai yra rezultatas.

Pirmajame rate klavišai tik pridedami, o kitos trys operacijos nenaudojamos. Paskutiniame ture tokio stulpelių maišymo nevyksta:

Pakartojame 4 aprašytus veiksmus 10 kartų, o 128 bitų bloko išvestis vėl yra 128 bitų blokas.

Kokie AES pranašumai? Jis veikia baitais, o ne bitais, kaip DES. AES yra daug greitesnis įdiegiant programinę įrangą. Jei palyginsime AES ir DES vykdymo greitį šiuolaikiniame kompiuteryje, AES bus daug kartų greitesnis, net jei kalbėsime apie įgyvendinimą tik programos kode.

Šiuolaikinių procesorių gamintojai „Intel“ ir „AMD“ jau yra parengę surinkimo instrukcijas, kaip įdiegti AES mikroschemoje, nes standartas yra gana paprastas. Dėl to AES yra dar greitesnis. Jei galime užšifruoti, pavyzdžiui, 1-2 gigabitus naudodami DES šiuolaikiniame įrenginyje, tai 10 gigabitų AES šifratorius yra šalia ir komerciškai prieinamas paprastoms įmonėms.

Blokų algoritmas užšifruoja bloką į bloką. Jis paima 128 arba 64 bitų bloką ir paverčia jį 128 arba 64 bitų bloku.

Ką darysime, jei mums reikės daugiau nei 16 baitų?

Pirmas dalykas, kuris ateina į galvą, yra pabandyti suskaidyti pradinį pranešimą į blokus, o bloką, kuris lieka neužbaigtas, papildyti standartine, žinoma ir fiksuota duomenų seka.

Taip, aišku, viską suskaidysime į 16 baitų blokus ir užšifruosime. Šis šifravimas vadinamas ECB – elektroninio kodo įkrova, kai kiekvienas iš 16 baitų AES atveju arba 8 baitų DES atveju yra užšifruojamas atskirai.


Užšifruojame kiekvieną bloką, gauname šifruotą tekstą, pridedame šifruotus tekstus ir gauname visą rezultatą.


Taip atrodo vaizdas, užšifruotas ECB režimu. Net jei įsivaizduotume, kad šifras yra visiškai saugus, rezultatas atrodo mažiau nei patenkinamas. kame problema? Faktas yra tas, kad tai yra bijektyvus žemėlapis. Dėl tos pačios įvesties visada bus gaunama ta pati išvestis, ir atvirkščiai – už tą patį šifruotą tekstą visada bus gaunamas tas pats paprastas tekstas.

Reikėtų kažkaip sugalvoti ir įsitikinti, kad išvesties rezultatas visą laiką būtų skirtingas, priklausomai nuo bloko vietos – nepaisant to, kad į įvestį tiekiami tie patys šifruoto teksto blokai. Pirmasis sprendimas buvo CBC režimas.


Mes ne tik paimame raktą ir paprastą tekstą, bet ir sugeneruojame atsitiktinį skaičių, kuris nėra slaptas. Tai yra bloko dydis. Jis vadinamas inicijavimo vektoriumi.

Šifruodami pirmąjį bloką, paimame inicijavimo vektorių ir pridedame jį modulo 2 su aiškiu tekstu ir užšifruoti. Išvestis yra šifruotas tekstas. Tada pridedame gautą šifruotą tekstą modulo 2 su antruoju bloku ir užšifruojame. Išvestis yra antrasis šifruoto teksto blokas. Pridedame jį modulo 2 su trečiuoju paprasto teksto bloku ir užšifruojame. Išvestis yra trečiasis šifruoto teksto blokas. Čia galite pamatyti sąsają: kiekvieną kitą bloką susiejame su ankstesniu.

Rezultatas yra paveikslėlis, kuriame viskas, pradedant nuo antrojo bloko, yra tolygiai ištepta, o pirmasis blokas kaskart priklauso nuo inicijavimo vektoriaus. Ir jis bus visiškai sumaišytas. Viskas čia gerai.

Tačiau CBC turi keletą problemų.

Apie bloko dydį. Įsivaizduokite: pradėjome šifruoti ir, tarkime, turime DES. Jei DES būtų tobulas šifravimo algoritmas, DES išvestis atrodytų kaip tolygiai paskirstyti atsitiktiniai 64 bitų ilgio skaičiai. Kokia tikimybė, kad tolygiai paskirstytų atsitiktinių skaičių, kurių ilgis 64 bitai, imtyje vienai operacijai sutaps du skaičiai? 1/(2 64). O kas, jei palygintume tris skaičius? Kol kas pailsėkime.

Kodas – fr. chiffre - skaičius; iš arabų kalbos ifr – nulis. Profesija tinka tiems, kurie domisi matematika ir informatika (žr. Profesijos pasirinkimas pagal domėjimąsi mokykliniais dalykais).

Kriptografija yra slaptas rašymas. iš graikų kalbos Kryptos – slaptas ir grafo – rašymas) slaptas rašymas.

Profesijos bruožai

Kodėl informacija šifruojama? Kad nepatektų priešui. Žinoma, tai galioja ne visai informacijai, o tik tikrai svarbiai ir slaptai informacijai. Šifras naudojamas, kai informaciją reikia perduoti savo žmonėms, tačiau yra didelė tikimybė, kad ji pateks į netinkamas rankas. Ji turi būti apsaugota, pavyzdžiui, perduodama radijo ryšiu arba el. paštu. Kitas variantas: informacija saugoma slaptoje duomenų bazėje, tačiau ji vis tiek yra užšifruota, jei įsilaužėliai įsilaužtų. Šifro „raktas“ yra prieinamas tik tiems, kurie yra inicijuoti paslaptyje. Informacija gali būti karinė arba diplomatinė ir susijusi su vyriausybės žvalgybos duomenimis. Arba jis gali priklausyti bet kuriai komercinei struktūrai.

SU karine informacija karinių kodų laužytojų darbas, jei tai susiję su tarptautine žvalgyba ir kontržvalgyba, tai yra FSB pareigūnų reikalas. Komercinėse struktūrose tuo užsiima informacijos saugos skyrių darbuotojai.

Kartais šifravimas yra gana paprastas: naudodami simbolį, žodį ar frazę galite įspėti apie kokį nors įvykį. Visi prisimena garsųjį Štirlico kontakto nesėkmę saugiame name. Tada profesorius Pleischneris nekreipė dėmesio į lange rodomą gėlių vazoną – perspėjimą, kad nepasisekė ir nereikia ten eiti.

Tačiau tikras, profesionalus šifravimas neapsiriboja tik vienu sutartinis ženklas. Tai ženklų sistema, kuri priklauso tiek siunčiančiajai, tiek priimančiajai pusei. "Alex to Eustace..." - iš to paties filmo apie Štirlicą daugelis prisimena, kaip gali atrodyti šifravimas.

Paprastas kriptografas, kaip taisyklė, pats nesukuria šifro, bet žino, kaip juo naudotis. Iš esmės jis atlieka operatoriaus vaidmenį: jis gauna šifruotą tekstą ir, naudodamas „raktą“, jį iššifruoja. Arba atvirkščiai, jis užšifruojamas tolesniam perdavimui. Kiekvieną kartą, kai perduodamas pranešimas, naudojamas naujas šifras. Paprastas kriptografas jį paima iš specialaus šifravimo padėklo, kuris yra kruopščiai apsaugotas nuo pašalinių asmenų.

Kriptografai užsiima šifravimo sistemų ir šifravimo programų kūrimu. Šis darbas reikalauja aukštos kvalifikacijos. Tas pats pasakytina ir apie kriptoanalitiko, kodų laužymo specialisto, darbą. Kai kurių kriptografų ir saugos programinės įrangos kūrėjų vardai yra plačiai žinomi. Tarp jų yra Jevgenijus Kasperskis, kažkada baigęs KGB Aukštosios Raudonosios vėliavos mokyklos (dabar Rusijos FSB akademijos Kriptografijos, ryšių ir informatikos institutas) techninį skyrių.

Kriptografo trūkumai apima didesnį slaptumą. Jei kriptografas yra įleistas į rimtas nacionalinės svarbos paslaptis, jis neturi teisės niekam kalbėti apie savo darbą, net apie savo specialybės pavadinimą ir kokioje struktūroje jis dirba. Žvalgybos tarnybų sėkmė (arba nesėkmė) gali priklausyti nuo jo sugebėjimo tylėti, taip pat nuo jo kvalifikacijos lygio. Jei kriptografas tarnauja armijoje, tai kelerius metus po tarnybos jis negali keliauti į užsienį.

Komercinė informacija taip pat labai slapta. Komercinėse struktūrose šis minusas virsta pliusu: net paprasti kriptografai informacijos saugumo skyriuje turi labai didelius atlyginimus.

Darbo vieta

Kriptografas gali dirbti IT paslaugų ar įmonių informacijos saugumo skyriuose. Kariniai kriptografai ir sistemų kriptografai federalinis saugumas- tai signalininkai. Jie tarnauja atitinkamoms Gynybos ministerijos arba FSB struktūroms.

Svarbios savybės

Sėkmingas darbas reikalauja užsispyrimo, gebėjimo susikaupti, matematinių gebėjimų.

Žinios ir įgūdžiai

Kriptografas turi mokėti naudoti šifrus informacijai iššifruoti ir iššifruoti. Norint sukurti informacijos šifravimo metodus, reikalingos rimtos matematikos ir programavimo srities žinios.

Kur jie moko

Kriptografo specialybę galima įgyti kariuomenėje. Pavyzdžiui, per karinę tarnybą, jei jums pasiseks, galite patekti į šifravimo mokyklą karo mokykloje. Tikimybė padidėja, jei turite komunikacijų kolegijos diplomą.

Galite eiti mokytis savarankiškai.

Universitetai

Krasnodaro aukštoji karo mokykla, pavadinta armijos generolo S. M. Shtemenko vardu (KVVU pavadinta Štemenko vardu)

Specialybė: „Išsami informacinių objektų apsauga“.

Kvalifikacija „Informacijos saugos specialistas“.

Rusijos FSB akademijos Kriptografijos, ryšių ir informatikos institutas (ICSI)

Specialybė "Kriptografija"

Norint dirbti versle reikia aukštasis išsilavinimas IT srityje.

Tarp geriausių civilinių universitetų:

Maskvos valstybinis technikos universitetas pavadintas. N.E. Bauman (MSTU pavadintas Baumano vardu)

Cryptoy – kriptografija pradedantiesiems

Britų žvalgybos agentūra GCHQ (jei nežinote, tai yra Amerikos žvalgybos agentūros CŽV analogas) sukūrė mobilioji programa Kriptoy for Android, skirta mokyti paauglius, universiteto studentus ir visus, kurie domisi kriptografijos, žvalgybos ir šnipinėjimo temomis.


Jei domitės kriptografija, patariu perskaityti Sergejaus Barychevo knygą.

Kriptojus – skautų ir šnipų mokykla

Su šia programa Didžiosios Britanijos žvalgybos tarnyba tikisi padidinti jaunosios kartos kriptografinio raštingumo lygį, o ateityje į personalą pritraukti naujų, talentingų specialiųjų agentų.

Programa turi paprastą ir spalvingą sąsają. Joje mokoma pagrindinių kriptografijos metodų, tokių kaip pirmasis pasaulyje Cezario šifras (shift šifras), pakaitinis šifras, Vigenère šifras ir garsusis Enigma karinis šifras. Vartotojai gali naudoti šiuos šifrus savo žinutėms užšifruoti ir siųsti juos draugams iššifruoti.


Kriptojų programa

Privatumas programoje Cryptoy

Dabar apie privatumą. Kai kuriant aplikaciją dalyvauja kokia nors žvalgybos agentūra, galima manyti, kad aplikacija bus prikimšta visokių žymių ir šnipinėjimo modulių. Tačiau noriu jus nuraminti, kad programoje nėra šnipinėjimo programų. Diegimo proceso metu programai nereikia prieigos prie kontaktų, fotoaparato ir kitų svarbių asmeninių duomenų. Ir apskritai, jei jie norėtų ką nors sukurti sau su kenkėjiška programa, jie to nedarytų savo vardu.


Visas knygas ir vadovus galite atsisiųsti visiškai nemokamai ir be registracijos.

NAUJIENA Alferovas, Zubovas, Kuzminas, Čeremuškinas. Kriptografijos pagrindai. 2005 m 480 psl. djvu. 19,2 MB.
Parašė pirmaujantys kriptografijos srities ekspertai, turintys ilgametę patirtį kuriant kriptografinės saugos priemones ir dėstant kriptografijos disciplinas pirmaujančiuose šalies universitetuose. Pateikiamos pagrindinės sąvokos ir skyriai, leidžiantys susidaryti supratimą apie šiuolaikinės kriptografijos užduotis ir problemas. Vadovas apima tiek tradicinius šifrų klasifikavimo ir patikimumo įvertinimo klausimus, tiek sisteminius kriptografinių informacijos apsaugos metodų naudojimo klausimus.
Studentams, magistrantams, studijuojantiems kriptografijos ir kompiuterių saugumo disciplinas, dėstytojams, taip pat platus asortimentas specialistai, kurių uždaviniai yra kvalifikuotas kriptografinės informacijos saugos priemonių parinkimas ir naudojimo organizavimas.

Parsisiųsti .

NAUJIENA N. Ferguson, B. Schneier. Praktinė kriptografija. 2005 m 416 psl. pdf. 16,9 MB.
Šiuolaikiniame verslo pasaulyje kompiuterinių sistemų saugumo problema tampa vis aktualesnė lemiamas. Ignoruodami jį atimate galimybę užsidirbti pinigų, plėsti savo verslą ir dėl to kyla pavojus pačiai savo įmonės egzistavimui. Viena iš perspektyviausių technologijų, užtikrinančių saugumą kibernetinėje erdvėje, yra kriptografija.
Ši knyga, kurią parašė visame pasaulyje žinomi kriptografijos ekspertai, yra unikalus praktinio kriptografinės sistemos projektavimo vadovas, taip sumažinant varginantį atotrūkį tarp teorinių kriptografijos pagrindų ir realių kriptografinių programų.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

A.A. Bolotovas ir kt. Įvadas į elipsinę kriptografiją. Elipsinės kreivės kriptografijos protokolai.. 2006 m. 274 psl. djvu. 12,7 MB.
Šioje knygoje yra aprašymas ir lyginamoji analizė elipsinių kreivių algoritmai. Mes tiriame elipsinės kriptografijos protokolus, kurie turi analogus – protokolus, pagrįstus baigtinio lauko multiplikacinės grupės algebrinėmis savybėmis, ir protokolus, kuriems tokių analogų nėra – protokolus, pagrįstus Weyl ir Tate poravimu. Šiuo atžvilgiu aprašomi Weil ir Tate poravimo algoritmai ir jų modifikacijos. Teorijos pristatymas lydimas didelis skaičius pavyzdžiai ir pratimai.

Ši knyga yra anksčiau išleistų tų pačių autorių knygos „Elementary Introduction to Elipstic Cryptography. Algebric and Algorithmic Fundamentals“ leidimų tęsinys.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

A.A. Bolotovas ir kt. Įvadas į elipsinę kriptografiją. Algebriniai ir algoritminiai pagrindai. 2006 m 324 psl. djvu. 15,0 MB.
Ši knyga skirta daug žadančiai krypčiai informacijos saugumo srityje, kurios matematinis pagrindas yra elipsinių kreivių teorija. Knygoje pateikiama informacija, reikalinga elipsinės kriptografijos studijoms baigtinio lauko teorijos ir pagrindinės sąvokos elipsinių kreivių teorija. Jame išdėstytos naudojamos algebrinės sąvokos ir efektyvaus pagrindinių algebrinių operacijų įgyvendinimo metodai, kurių pagalba galima sukurti ir žinomas, ir perspektyvias kriptografines sistemas, pagrįstas elipsinės kreivės taškų grupės panaudojimu. Pristatymą lydi daugybė pavyzdžių ir pratimų.
Skirta studentams, universitetų dėstytojams ir informacijos saugos, taikomosios matematikos, kompiuterių technologijų ir informatikos sričių specialistams. Leidinys domina žmones, susijusius su informacijos ir skaitmeninių technologijų kodavimu ir perdavimu, taip pat taikomosios matematikos specialistus, besidominčius kompiuterine algebra.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

A.V. Babash. Kriptografija. 2007 m 511 psl. djvu. 9,7 MB.
Knyga parašyta kaip vadovas, skirtas studijuoti „klasikinius“ šifrus, tai yra, šifrus su simetriniu raktu. Po trumpos istorinės apybraižos nagrinėjami paprasčiausių šifrų iššifravimo klausimai, kriptografinių schemų kriptografinės analizės ir sintezės metodai, kriptografinio stiprumo, atsparumo triukšmui ir šifravimo sistemų atsparumo imitacijai klausimai. Vadovo architektūra yra dviejų lygių. Pirmasis lygis skirtas studentams, studijuojantiems kriptografijos ir kompiuterių saugos disciplinas, skaitytojams, pirmą kartą susipažįstantiems su kriptografijos mokomąja medžiaga. Antrasis lygis skirtas magistrantams, atitinkamo profilio universitetų dėstytojams, specialistų ratui, kurių užduotis yra naudotis kriptografinėmis informacijos saugumo priemonėmis, skaitytojams, norintiems susipažinti su teorine kriptografija. Vadovas sulaukė teigiamų atsiliepimų iš specialistų ir organizacijų.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

Baričevas S.G., Serovas R.E. Šiuolaikinės kriptografijos pagrindai. 60 puslapių djvu 740 Kb.
Ši knyga apims tik kriptografijos pagrindus. Šiuolaikinė kriptografija apima keturias pagrindines dalis:
Simetrinės kriptosistemos.
Viešojo rakto kriptosistemos.
Elektroninio parašo sistemos.
Raktų valdymas.
Pagrindinės kriptografinių metodų naudojimo sritys yra konfidencialios informacijos perdavimas ryšio kanalais (pvz. paštu), autentifikavimas perduotus pranešimus, informacijos (dokumentų, duomenų bazių) saugojimas laikmenose šifruota forma.

Parsisiųsti .

Vasilenko O.N. Skaičių teoriniai algoritmai kriptografijoje. 2003, 328 p. PDF. 1,8 MB.
Monografijoje pristatoma dabartinė algoritminės skaičių teorijos būklė, kuri turi svarbių pritaikymų kriptografijoje.
Skirta bakalauro ir magistrantūros studentams matematikos fakultetai universitetams, taip pat specialistams, norintiems susipažinti su naujausiais šios srities pasiekimais.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

Grusho A.A., Primenko E.A., Timonina E.E. Kriptografinių algoritmų analizė ir sintezė. PASKAITŲ KURSAS. 2000 m 110 psl. PDF. 1,4 MB.
Kriptoalgoritmai yra duomenų transformavimo algoritmai, naudojantys „paslaptį“. Pagrindinis kriptovaliutų algoritmo kokybės parametras yra jo atsparumas priešo bandymams atskleisti „paslaptį“. Toks stabilumas kriptografijoje vadinamas stiprumu. Kriptografinis stiprumas turi būti pagrįstas, nes saugant svarbią informaciją logika: „Aš negaliu atskleisti „paslapties“, todėl niekas negali“ – netaikytina. Kriptografinio stiprumo pagrindimo metodai yra pagrįsti sukaupta patirtimi atskleidžiant kriptovaliutų „paslaptis“.
Pagal šiuolaikinės kriptografijos tradiciją paskaitų eigoje aprašomi žinomiausi universalūs kriptoanalizės metodai, blokinių ir srautinių šifrų analizės metodai, maišos funkcijų analizės metodai ir algoritmai su asimetriniais raktais. Skaitytojui susipažįstant su analizės metodais, siūlomi skyriai, kuriuose pateikiami kriptoalgoritmų sintezės metodai.

Atsisiųsti

N. Koblitz. SKAIČIŲ TEORIJOS IR KRIPTOGRAFIJOS KURSAS. 2001, 254 p. djvu. 3,0 MB.
Šios knygos tikslas – supažindinti skaitytoją su tomis klasikinės ir modernios aritmetikos sritimis, kurios yra skaičių teorijos, ypač kriptografijos, taikymo dėmesio centre. Daroma prielaida, kad aukštesnės algebros ir skaičių teorijos žinios apsiriboja daugiausia kukli įžanga su savo pagrindais; Dėl šios priežasties taip pat pateikiama reikiama informacija iš šių matematikos sričių. Autoriai pasirinko algoritminį metodą ir ypatingas dėmesys orientuojasi į teorijos siūlomų metodų efektyvumo vertinimą.
Ypatinga knygos ypatybė – visai neseniai sukurtų elipsinių kreivių teorijos pritaikymų pristatymas. Vertimas į rusų kalbą atliktas iš antrojo leidimo originalo, gerokai pataisyto, palyginti su pirmuoju, ir pateiktas atnaujintu literatūros sąrašu. Kiekviename skyriuje yra kruopščiai sudarytas problemų pasirinkimas, paprastai kartu su išsamiomis instrukcijomis ir sprendimais.
Visa tai leidžia rekomenduoti knygą ne tik kaip vertingą vadovą bendram teoriniam informacijos saugos specialistų mokymui, bet ir kaip naudingas šaltinis daugelio abstrakčių matematikos ir kibernetikos šakų praktinio pritaikymo pavyzdžiai. Knyga puikiai tinka ir savišvietai.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

S. Coutinho. Įvadas į skaičių teoriją. RSA algoritmas. 2001 m 328 psl. djvu. 2,8 MB.
Kriptografija! Daugelis žmonių nuo vaikystės domisi šiuo procesu. Kam nepatiks Conano Doyle'o „šokantys vyrai“? Tačiau tikroji šifravimo schema yra ir paprastesnė, ir sudėtingesnė, nei aprašyta garsiojoje klasikinėje istorijoje.
Praleidę pavadinime matematinę teoriją, kai kuriems iš jūsų knyga atrodys nuobodi ir neįdomi. Tu klysti! Vadovas parašytas gyvai, įdomiai ir labai prieinamai. Norint suprasti esmę, pakanka vidurinės mokyklos žinių. Tačiau nepaisant paprasto pateikimo stiliaus, visi teiginiai yra įrengti griežti įrodymai arba nuorodos į literatūrą.
Skaitytojų spektras labai platus: nuo moksleivių, besidominčių skaičių teorija ar šifravimu, iki bankininkystės ir įmonių programuotojų, norinčių labiau įsigilinti į savo veiklos pagrindus.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Atsisiųsti

Osipyanas V.O. Osipjanas. K.V. Kriptografija užduotyse ir pratybose. 2004 m 146 psl. djvu. 1,7 MB.
Pateikta daugiau nei 450 įvairios užduotys ir pratybos, sugrupuotos pagal pagrindines informacijos saugumo didinimo kriptografinių metodų kūrimo kryptis automatizuotos sistemos duomenų apdorojimas. Prieš kiekvieną skyrių pateikiamas trumpas įvadas, kurį sudaro atitinkamos mokslo srities apibrėžimai ir pagrindinės sąvokos. Pateikiamos užduotys ir pratybos apima tiek klasikinius kriptografinės informacijos apsaugos metodus, tiek šiuolaikinius konfidencialumo ir duomenų vientisumo užtikrinimo metodus, orientuotus į kompiuterinių technologijų panaudojimą.
Studentams, studijuojantiems pagal grupės specialybes " Informacijos saugumas“, taip pat gali būti naudingas visiems, norintiems pakelti savo žinių lygį saugaus informacijos perdavimo ir apdorojimo srityje.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

N. Pticynas. DETERMINISTINIO CHAOSO TEORIJOS TAIKYMAS KRIPTOGRAFIJOJE. 2002, 80 p. PDF. 1,6 MB.
Šis darbas skirtas deterministinio chaoso (netiesinės dinamikos) teorijos taikymui kompiuterinėje kriptografijoje. Santykis tarp chaotiškų ir kriptografinių sistemų nagrinėjamas konceptualiu ir praktiniu lygmenimis. Teorinis šio ryšio pagrindas apima tokių sąvokų kaip eksponentinis jautrumas pradinėms sąlygoms, ergodiškumas, maišymas, sudėtingumas, atsitiktinumas ir nenuspėjamumas, aptarimą. Nagrinėjami du požiūriai į praktinį netiesinių sistemų pritaikymą kriptografijoje: (1) ištisinių sistemų aproksimacija naudojant slankiojo kablelio matematiką ir (2) dvejetainis chaosas su ribotu būsenų skaičiumi. Pateikiama publikacijų, aprašančių chaotiškus šifrus ir chaotiškus pseudoatsitiktinius generatorius, apžvalga. Nagrinėjamas netiesinių sistemų su tiksliu sprendimu ir dviprasmiška transformacija taikymas pseudoatsitiktinių generatorių konstravimui.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

A.G. Rostovcevas, E.B. Makhovenko. Teorinė kriptografija. 2005 m 479 psl. djvu. 9,3 MB.
Šiame leidinyje pateikta medžiaga iš knygų „Algebriniai kriptografijos pagrindai“, „Viešojo rakto kriptografijos įvadas“, „Iteruotų šifrų teorijos įvadas“, išleistų leidyklos „Ramybė ir šeima“ 2000-2003 m. Knyga susideda iš trijų dalių. Pirmoje dalyje pateikiama informacija iš algebros, skaičių teorijos ir algebrinės geometrijos. Antroji dalis skirta viešojo rakto kriptografijos algoritmams, ypatingą dėmesį skiriant elipsinėms kreivėms. Trečioje dalyje yra pagrindinė informacija apie pakartotinius šifrus ir maišos funkcijas. Priede pateiktos elipsinės kreivės, skirtos skaitmeninio parašo standartui GOST R 34.10-2001.
Knyga gali būti naudojama kaip vadovėlis nuodugniam kriptografijos tyrimui. Skirtingai nuo daugelio publikacijų apie kriptografiją, pagrindinis dėmesys skiriamas kriptoanalizės metodams.
Skirta studentams, mokytojams, matematikams ir inžinieriams, kurių specializacija yra kriptografinių metodų ir informacijos saugos priemonių kūrimas ir tyrimas.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

B.Ya. Ryabko, A. N. Fionovas. Kriptografiniai informacijos apsaugos metodai. 2005 m 229 psl. djvu. 9,3 MB.
Pamoka universitetams; Rusijos Federacijos UMO gynybos ministerijos klasifikacija; Studijų vadovas; Universitetas; Nurodomi pagrindiniai šiuolaikinės kriptografijos būdai ir metodai sprendžiant problemas, kylančias informacijos apdorojimo, saugojimo ir perdavimo metu. Didžiausias dėmesys skiriamas naujoms kriptografijos sritims, susijusioms su kompiuterių vartotojų ir kompiuterių tinklų sąveikos konfidencialumo užtikrinimu. Aptariami pagrindiniai viešojo rakto šifrai, skaitmeninio parašo metodai, pagrindiniai kriptografiniai protokolai, blokiniai ir srautiniai šifrai, kriptografinės maišos funkcijos, taip pat retai literatūroje sutinkami klausimai apie įrodinėjamų nepalaužiamų kriptosistemų projektavimą ir elipsinės kreivės kriptografiją. Teorinė medžiaga pateikiama gana griežtai, tačiau naudojant elementarų matematinį aparatą. Išsamiai aprašyti algoritmai, kuriais grindžiami vietiniai ir tarptautiniai kriptografiniai standartai. Vykdant reikalingos užduotys ir pratimai praktiniai užsiėmimai ir laboratoriniai darbai.
Studentams, studijuojantiems Telekomunikacijų srityje, tai gali būti naudinga specialistams.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

N. Smart. Kriptografija. 2005 m 526 psl. pdf. 8,3 MB.
Vienas geriausių kursų pasaulyje. Skirta informacijos saugos srityje dirbantiems specialistams ir programinės įrangos kūrėjams. Simetriniai šifrai, viešojo rakto kriptosistemos, skaitmeninio parašo standartai ir kriptosistemų atakų atmušimas yra aprašyti itin išsamiai. Pateikiami pavyzdžiai Java, daug originalių problemų, atspindinčių naujausius kriptografijos teorijos ir praktikos pokyčius.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

H.K.A.van Tilborgas. Profesionalus vadovavimas ir interaktyvi pamoka. 2006 m 471 psl. djvu. 22,1 MB.
Olandų kriptologo knyga skirta šiuolaikiniai aspektai kriptografija ir kriptoanalizė. Tarp jų galima išskirti tris pagrindines kryptis: tradicines (simetriškas) kriptosistemas, sistemas su viešieji raktai ir kriptografinius protokolus. Pagrindiniai rezultatai yra patvirtinti įrodymais. Pagrindinis bruožas yra daugybė pavyzdžių, sukurtų remiantis gerai žinomu „Mathematica“ kompiuterinės algebros paketu. Knygoje yra kompaktinis diskas, leidžiantis (jei turite „Mathematica“ paketą) modifikuoti pavyzdžius, ypač padidinant parametrų reikšmes. Tai pirmoji tokia įvairiapusė mokomoji knyga apie kriptografiją rusų kalba. Pridedama šios knygos versija anglų kalba su pavyzdžiais.
Knyga pirmiausia skirta matematikams, inžinieriams ir studentams, besispecializuojantiems informacijos saugumo srityje. Tačiau tai bus įdomu ir platesniam skaitytojų ratui, kurį ypač gali palengvinti išsamios skaičių teorijai ir baigtiniams laukams skirtos programos, todėl knyga tampa gana savarankiška.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

Fomichevas V.M. Diskretioji matematika ir kriptologija. Paskaitų kursas. 2003 m 397 psl. djvu. 12,9 MB.
Knygą parašė pirmaujantis kriptologijos srities ekspertas, turintis ilgametę dėstymo patirtį MEPhI. Aprašyti pagrindiniai kriptologijos klausimai ir jiems tirti būtino matematinio aparato pagrindai. Siekiant įtvirtinti medžiagą, pateikiamos užduotys ir pratimai.
Rekomenduojamas bakalauro ir magistrantūros studentams, studijuojantiems kriptologiją ir kompiuterių saugą, dėstytojams, taip pat praktikams, užsiimantiems kriptografiniais informacijos saugos metodais.

Čeremuškinas A.V. Paskaitos apie aritmetinės kriptografijos algoritmus. 2002, 100 p. PDF. 585 KB.
Paskaitos buvo skaitomos Ryšių ir informatikos kriptografijos institute Kursas yra kompaktiškas ir paprastas, nors parašytas griežta matematine kalba. Rekomenduojama visiems, kurie domisi kriptografija.

. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Jaščenka, redaktorius. 270 psl. PDF.
Turinys:
1. Pagrindinės kriptografijos sąvokos.

2. Kriptografija ir sudėtingumo teorija.

3. Kriptografiniai protokolai.
4. Skaičių teorijos algoritminiai uždaviniai.
1. Pagrindinės sveikųjų skaičių savybės. 2. Sutapimai. 3. Skaičiavimas su dideliais sveikaisiais skaičiais. 4. Euklido algoritmas. 5. Pirminių skaičių skirstinys. 6. Baigtinių ir diskrečiųjų tikimybių skirstiniai. 7. Tikimybiniai algoritmai. 8. Abelių grupės. 9. Žiedai. 10. Tikimybinio pirmumo tikrinimas. 11 Generatorių ir diskrečiųjų logaritmų radimas Z. 12, Kvadratinės liekanos ir kvadratinis abipusiškumas. 13 Skaičiavimo problemos, susijusios su kvadratinėmis liekanomis. 14. Moduliai ir vektorinės erdvės. 15. Matricos. 16. Subeksponentinio laiko diskretieji logaritmai ir faktoringas. 17 Daugiau žiedų. 18. Polinominė aritmetika ir taikymai. 19. Tiesiškai generuojamos sekos ir programos. 20 baigtinių laukų. 21. Algoritmai ?nite laukams. 22. Deterministinis pirmumo testavimas.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

R. F. Bažnyčios namas. Kodai ir šifrai. Julijus Cezaris, mįslė ir internetas. 2004, 240 p. PDF. 1,1 MB.
4. Skaičių teorijos algoritminiai uždaviniai.
1. Įvadas. 2. Iš Julius Caesarto simples keitimas. 3. Daugiaabėcėlės sistemos. 4.Jigsaw šifrai. 5. Dviejų raidžių šifrai. 6.Kodai. 7. Šifruotieji šnipai. 8. Sukurkite senelių skaičius ir raides. 9. Enigma šifravimo mašina. 10. Hagelin šifravimo mašina. 11. Anapus mįslės. 12. Viešojo rakto kriptografija. 13. Šifravimas ir internetas.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

J. Talbotas, D. VELŠAS. Sudėtingumas ir kriptografija. 2006, 290 p. PDF. 1,1 MB.
4. Skaičių teorijos algoritminiai uždaviniai.
1. Kriptografijos pagrindai. 2. Sudėtingumo teorija. 3. Nedeterministinis skaičiavimas. 5. Simetrinės kriptosistemos. 6. Vienpusės funkcijos.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

7. Viešojo rakto kriptografija. 8. Skaitmeniniai parašai. 9. Pagrindiniai steigimo protokolai. 10. Saugus šifravimas. 11. Identifikavimo schemos. Daug programų.
4. Skaičių teorijos algoritminiai uždaviniai.
I. F. Blake'as, G. Seroussi, N. P. Išmanieji redaktoriai. Elipsinės kreivės kriptografijos pažanga. 2005, 280 p. PDF. 1,9 MB.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

I. Elipsine kreive pagrįsti protokolai. II. Dėl įrodomo ECDSA saugumo. III. ECIES saugumo įrodymai. IV. Šoninio kanalo analizė.
4. Skaičių teorijos algoritminiai uždaviniai.
V. Apsauga prieš šoninio kanalo analizę. VI. Taškų skaičiavimo pažanga. VII. Hiperelipsinės kreivės ir HCDLP. VIII. Weil nusileidimo atakos. IX. Poros. X. Kriptografija iš porų.

. . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parsisiųsti .

Jeroenas Mathiasas Doumenas. Kai kurie kodavimo teorijos taikymai kriptografijoje. 2003, 80 p. PDF. 415 KB.
4. Skaičių teorijos algoritminiai uždaviniai.
1. Įvadas. 2. Graži idėja. 3. Technologiniai iššūkiai. 4. Eksperimentinė kvantinė kriptografija su silpnais lazerio impulsais. 5 Eksperimentinė kvantinė kriptografija su fotonų poromis. 6. Pasiklausymas

Terminas: 2010 m. sausio 8 d

Iki nurodyto termino kiti projekto dalyviai neturėtų redaguoti straipsnio svetainę. Užpildęs, bet kuris dalyvis turi teisę savo nuožiūra pataisyti šį straipsnį ir pašalinti šį įspėjimą, rodomą naudojant šabloną ((Užduotis)).

Jei kriptoanalitikas turi paprasto teksto/šifruoto teksto porų rinkinį, tai jis turi nežinomos funkcijos f įvesties/išvesties porų rinkinį. Mokymosi algoritmas, galintis atkurti nurodytą funkciją iš įvesties / išvesties, gali būti naudojamas kaip kriptoanalizės įrankis. Papildomų galimybių mokymosi algoritmui suteikia pasirinkta šifruoto teksto ataka.

Atkreipkite dėmesį, kad šioje situacijoje tinka ir „apytikslio“ mokymosi sąvoka. Jei algoritmas grąžins teisingą reikšmę, pavyzdžiui, 99% atvejų, tada kriptoanalitikas galės iššifruoti 99% teksto blokų.

Pirmiausia darykime prielaidą, kad naudojame žinomą paprastojo teksto ataką. Kriptografijos principai rodo, kad šiuo atveju tikimybė gauti 1 išvestyje sutampa su tikimybe gauti 0. Tai dažniausiai lemia galimybę poslinkio rezultatą laikyti atsitiktinai ir tolygiai parinktu vektoriumi iš . Ši sąlyga yra nerealu ir riboja mokymosi teoriją, tačiau puikiai tinka kriptografijos tikslams.

Shapira gavo daugybę rezultatų įvairioms funkcijoms f. Visų pirma, jis parodė, kad funkcija f, sudaryta tik iš operacijų AND, OR ir NOT, gali būti efektyviai atkurta per daugianario laiką atsitiktiniai pavyzdžiaiįvesties duomenis.

Linial, Mansor ir Nisan parodė, kaip naudoti spektrinį (pagrįstą Furjė transformacija) metodą, norint iš atsitiktinių įvesties duomenų pavyzdžių išmokti funkcijas, vaizduojamas kaip fiksuoto ilgio grandinės su AND, OR ir NOT blokais su savavališku įėjimų skaičiumi. Šį rezultatą Kušelevičius ir Mansoras, o vėliau Furstas, Jacksonas ir Smithas išplėtė į platesnes funkcijų klases.

Hancockas ir Monsoras parodė, kad funkcijos, vaizduojamos kaip monotoniniai k-DNF (ty DNF, kuriose kiekvienas kintamasis pasirodo ne daugiau kaip k kartų), gali būti išmoktos iš atsitiktinių pavyzdžių. Tačiau funkcijos, vaizduojamos kaip monotoniniai DNF, naudojamos retai.

Šifruoto teksto pasirinkimo atakos naudojimas leidžia dar labiau išplėsti funkcijų, kurių reikia vengti kuriant kriptosistemą, klasę.

Kiti variantai

Tačiau kitos mašininio mokymosi teorijai ir kriptografijai būdingos sritys gali būti duomenų glaudinimas šiuo metu Publikacijose šiai temai ir neurokriptografijai, kuri yra ankstesniame skyriuje aptarto požiūrio išplėtimas, praktiškai nekreipiamas dėmesys.

Nuorodos

  • Ronald L. Rivest kriptografija ir mašininis mokymasis, Proceedings ASIACRYPT "91 (Springer 1993), 427–439


Ar jums patiko straipsnis? Pasidalinkite su draugais!