170 likes | 423 Views
Krüptograafiast läbi ajaloo. Ahto Buldas. Krüptograafia ajaloost Kuidas krüptograafiast sai teadus? Krüptograafia eesmärgid ja nende areng Nüüdisaegse teoreetilise krüptograafia maailmakäsitlus Teoreetiline ja praktiline krüptograafia Nüüdisaegse krüptograafia eesmärgid. Sisujuht.
E N D
Krüptograafiast läbi ajaloo Ahto Buldas
Krüptograafia ajaloost Kuidas krüptograafiast sai teadus? Krüptograafia eesmärgid ja nende areng Nüüdisaegse teoreetilise krüptograafia maailmakäsitlus Teoreetiline ja praktiline krüptograafia Nüüdisaegse krüptograafia eesmärgid Sisujuht
Sõna krüptograafia tuleneb kreekakeelsest sõnast - peitma. Krüptograafia tekkimise põhjus oli vajadus (vaenlasele/konkurendile vms.) varjatud teabe saatmise järele kasutades edastusviisi, mis ei tarvitsenud olla usaldatav (käskjalad jne.) Nüüdisaegse krüptograafia eesmärgid on oluliselt teisenenud ja avardunud. Tänapäeva krüptograafia on segu abstraktsest matemaatikast ja praktilisest arvutiteadusest. Teesid
Ladina tähestiku iga täht teisendatakse eraldi: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Näiteks sõna CAESAR teisendub sõnaks FDHVDU. Kui tähed asendada järjekorranumbriga tähestikus, siis on Caesari šiffer esitatav valemiga: E(x) = x 3 = x + 3 (mod 26). Näiteks 24 3 = 1. Caesari šiffer
Iga täht asendatakse mingi ühe kindla tähega. Asendusšifrid on lihtsalt rünnatavad, kui kasutada tähtede esinemissageduste analüüsi. Näiteks eesti keeles on kõige sagedamini esinev täht A, inglise keeles E. Küllalt pika šifreeritud teksti korral saab sagedustabeli abil efektiivselt taastada avateksti. Asendusšifrid
Avatekst X jaotatakse võrdseteks osadeks (nt tähtedeks) X=X1X2…Xn. Iga osa Xj teisendatakse sõltumatult mingi fikseeritud (ja salajase!!) teisenduse E abil krüptogrammi Y vastavaks osaks Yj, st Yj = E(Xj). Asendusšifrid on nüüdisaegsete plokkšifrite eelkäijad. Üldised asendusšifrid
1. Dilemma: Kui osad valida liiga väikesed, siis on võimalik efektiivne sagedusanalüüs. Kui osad valida suured, siis on teisendus E keeruline ja sobiliku salajase ja samas turvalise E koostamine “tavalisele inimesele” raske. 2. Üldine puudus: Iga plokki teisendatakse ühe ja sama teisendusega, mis ei välista sagedusanalüüsi. Asendusšifrite puudused
Iga osa Xj teisendatakse erineva salajase algoritmiga Ej: Yj = Ej(Xj). Näiteks kui Xj ja Yj on arvud {0,1}, võib võtta Yj = Ej(Xj) = Kj + Xj (mod 2). Kuni 1949-nda aastani ei osatud tõestada, et Vernami šiffer on turvaline. Ebapraktiline, sest nn võtmeK=K1K2…Kn maht võrdub edastatava sõnumi mahuga, st |X|=|K|. Kasutati: sõjaväes ja luures enne II maailmasõda. 1926: Vernami šiffer
Shannoni tööd 1945-1949 panid aluse informatsiooniteooriale. Shannon tõestas, et Vernami šiffer on turvaline: kui võti K on tundmatu, siis avatekst X ja krüptogramm Y on statistiliselt sõltumatud: H(X|Y) = H(X), suuruse Y teadasaamine ei anna lisateavet X kohta. Shannon tõestas, et |X|=|K| on tarvilik tingimus. 1949: Teadusliku krüptograafia teke
Seoses esimeste elektronarvutite loomisega tekkis arvutatavuse ja arvutuste keerukuse formaalne teooria. (Turingi masinad, Turingi tees jne.) Tekkis uus turvalisuse mõiste, mis eeldab piiratud arvutusvõimsusega “vastast” (adversary) -- ei ole vaja statistilist sõltumatust vaid pigem raskesti kättesaadavat infot. 1945-1975: Arvutiteaduse teke ja hoogne areng
Algoritm E on avalik, kuid sõltub võtmest K, mis pole ründajale teada (K vähemalt 128-bitti). Avatekst X jaotatakse piisavalt suurteks plokkideks X=X1X2…Xn. Praegu soovitavalt vähemalt 128-bitisteks (uus standard -- AES). Teisendus E käib plokikaupa, näiteks nn ECB-tööviisis: Yj = E(K,Xj). Nüüdisaegsed plokkšifrid
Ründajale A (tõenäosuslik algoritm!) antakse piiratud ajaks kätte (uurimiseks) “must kast”, mis realiseerib algortimi E koos õige võtmega K. Seejärel võetakse juhuslik krüptogramm Y ja antakse A-le, kes piiratud aja jooksul arvutab välja mingi avateksti X kasutades ka uurimise tulemusi. Rünne loetakse õnnestunuks, kui Y=E(K,X). Turvalisus: Ründe tõenäosus on “kaduvväike” iga algoritmi A korral, mille tööaeg on “mõistlik”. Nüüdisaegsete šifrite turvalisus
Seoses “arvutisliku turvalisuse” mõiste tekkega sai võimalikuks uute ja seni saavutamatuks peetud “turvaeesmärkide” uurimine. Formaalne turvaeesmärk (security goal) tekib kui: defineerida ründestsenaarium ja ründe edukuse kriteeriumid; anda ülempiir ründe edukuse tõenäosusele. Turvaeesmärki rahuldavat algoritmide kogumit nimetatakse krüptograafiliseks primitiiviks. Uued eesmärgid lisaks salastusele
Funktsioonide peret Fk:{0,1}k{0,1}p(k) nimetatakse ühesuunaliseks, kui: Leidub k suhtes polünomiaalses ajas töötav algoritm F, nii et F(k,X)=Fk(X). Iga k suhtes polünomiaalse algoritmi A(k,·) korral kahaneb tõenäosus Prob[ X{0,1}k, X’A(k,Fk(X)) : Fk(X) =Fk(X’) ] kiiremini kui 1/(k), iga polünoomi korral. 1976: Ühesuunalised funktsioonid
Tüüpilised tulemused: Näidatakse, et teatud turvaeesmärk on lahenduv eeldusel, et teatud ülesanne on “raske”, st teatud formaalne keel ei ole efektiivselt äratuntav. Näidatakse, et kui üks eesmärk on lahenduv, siis on lahenduv ka mingi teine eesmärk (reduktsioon). Näidatakse, et teatud turvaeesmärk ei ole lahenduv (st ei leidu primitiivi). Teoreetiline krüptograafia täna
Tüüpilised tulemused: Leitakse senisest efektiivsem primitiiv mingi turvaeesmärgi saavutamiseks. Pakutakse välja heuristikaid uute efektiivsete primitiivide loomiseks. Pakutakse välja praktilisi turvalahendusi kasutades olemasolevaid primitiive. Leitakse senistest efektiivsem rünne mingile turvalahendusele. Praktiline krüptograafia täna
Turvalahendus võib olla täiesti ebaturvaline hoolimata sellest, et ta koosneb turvalistest komponentidest. Kõik turvalisuse tõestused põhinevad kunstlikel ja tõestamata eeldustel (PNP, arvude tegurdamise raskus jne.) Tõestada osatakse tänapäeval ainult ebaturvalisust. “Mõistliku” arvutusaja mõiste võib tulevikus muutuda (kvantarvutite teke). Teooria ja praktika