Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Epäsymmetrinen salaus

Samankaltaiset esitykset


Esitys aiheesta: "Epäsymmetrinen salaus"— Esityksen transkriptio:

1 Epäsymmetrinen salaus
Tässä salaukseen käytettävä avain voi olla julkinen, kunhan purkuavain pidetään salassa. Koska avaimet ovat erilaisia, tekniikkaa kutsutaan epäsymmetriseksi salaukseksi. Englanninkielisten termien ”private key” ja ”public key” käännöksinä käytetään sanoja ”yksityinen avain” ja ”julkinen avain”. Epäsymmetrinen salaustekniikka pohjautuu tiivistefunktioiden tavoin yksisuuntaisiin funktioihin. Modulaatio ja koodaus Timo Mynttinen

2 Tätä keinoa kutsutaan salaluukuksi (trapdoor).
Yksisuuntainen funktio riitti tiivisteen laskemiseen, mutta salaustekniikaksi siitä ei ole. Tarvitaan jokin tapa, jolla funktio saadaan toimimaan myös toiseen suuntaan. Tätä keinoa kutsutaan salaluukuksi (trapdoor). Henkilö, joka tietää salaluukun, pystyy sittenkin ajamaan funktion toiseen suuntaan, vaikka se muiden silmissä näyttää yksisuuntaiselta. Salaluukun on oltava niin piilossa, ettei sitä pysty löytämään pelkästään kokeilemalla. Modulaatio ja koodaus Timo Mynttinen

3 Julkisen avaimen järjestelmässä käytetään kahta avainta: toisella salataan ja toisella puretaan.
Avaimet liittyvät toisiinsa matemaattisella tavalla, jota ulkopuolisen on käytännössä mahdotonta keksiä. Koska julkisella avaimella voidaan vain salata, sen paljastumista ei tarvitse pelätä. Päinvastoin, avaimen löytäminen tehdään mahdollisimman helpoksi ilmoittamalla se esim. henkilökohtaisella www-sivulla. Julkiseen avaimeen liittyvä yksityinen avain pidetään sitä vastoin visusti omana tietona. Modulaatio ja koodaus Timo Mynttinen

4 Toisella avaimella lukko suljetaan ja toisella avataan.
Se, mitä julkisella avaimella on salattu, voidaan purkaa vain vastaavalla yksityisellä avaimella. Lähetettäessä salaista tietoa se enkoodataan vastaanottajan julkisella avaimella. Tämän jälkeen edes lähettäjä itse ei pysty enää purkamaan tekemäänsä salausta. Salatun version voi avata vain henkilö, jolla on hallussaan julkista avainta vastaava yksityinen avain. Julkisen avaimen järjestelmä on kuin lukittu laatikko, jonka lukossa on paikka kahdelle avaimelle. Toisella avaimella lukko suljetaan ja toisella avataan. Modulaatio ja koodaus Timo Mynttinen

5 Henkilön, jonka talon edessä tällainen laatikko on, kannattaa tehdä lukitusavaimesta mahdollisimman monta kopiota ja jakaa niitä kaikille halukkaille. Sen jälkeen tällaisen avaimen haltija voi jättää viestejä laatikkoon ja lukita laatikon perässään. Oleellista on, että vain yksityisen avaimen haltija pystyy avaamaan laatikon ja saamaan haltuunsa sen, mitä muut ovat laatikkoon laittaneet. Koska yhteistä salaisuutta ei ole, julkisen avaimen sopiminen on pelkkä ilmoitusasia. Modulaatio ja koodaus Timo Mynttinen

6 Aina kun Henri haluaa vaihtaa käyttämäänsä avainta, hän luo uuden avainparin (toisiinsa liittyvät julkisen ja yksityisen avaimen). Henri tallentaa yksityisen avaimensa turvalliseen paikkaan, mutta lähettää julkisen avaimen Elsille täysin avoimella sähköpostilla. Koska avaimet toimivat itsenäisesti, molempien osapuolien ei tarvitse vaihtaa avainpariaan yhtä aikaa. Modulaatio ja koodaus Timo Mynttinen

7 Pelkässä julkisen avaimen tekniikassa on kuitenkin omat varjopuolensa:
Julkisen avaimen käyttö ratkaisee toisenkin ongelman: kun se voidaan panna näytille esim. omalle www-sivulle, niin kenenkään ei tarvitse muistella mikä oli kulloinkin Henrin kanssa voimassa oleva salausavain. Pelkässä julkisen avaimen tekniikassa on kuitenkin omat varjopuolensa: Modulaatio ja koodaus Timo Mynttinen

8 Epäsymmetrisen avaimen tekniikka tarvitsee huomattavasti pidemmät avaimet kuin symmetrisen avaimen tekniikka, koska järjestelmällisen kokeilun sijaan niiden murto perustuu salaimen matemaattisiin ominaisuuksiin. Jopa useisiin tuhansiin bitteihin venyvä avain on tallennettava levylle (jolloin sen tiedosto suojataan yleensä symmetrisellä salauksella ja lyhyemmällä, ulkoa muistettavalla salasanalla). Epäsymmetriset menetelmät pohjautuvat matematiikkaan, niistä RSA lukujen jakamiseen tekijöihinsä. Riittävän nopeaa tekijöihin jakoa ei tällä hetkellä tunneta, mutta ei voida myöskään todistaa, etteikö sellaista olisi… Modulaatio ja koodaus Timo Mynttinen

9 Niin sanottu Forward search –hyökkäys voi paljastaa salauksen.
Epäsymmetriset salaukset ovat hitaita, koska niissä lasketaan suurilla luvuilla. Ohjelmallisena toteutuksena RSA-menetelmä on noin 100 kertaa hitaampi kuin vastaavan datamäärän salaaminen DES:llä… laitteistotasolla ero nousee 1000…10000 –kertaiseksi. Niin sanottu Forward search –hyökkäys voi paljastaa salauksen. Julkisen avaimen järjestelmä ei synnytä luottamusta. Se ei takaa sitä, että Henri on Henri. Modulaatio ja koodaus Timo Mynttinen

10 Elsin on varmistuttava Henrin henkilöllisyydestä esim
Elsin on varmistuttava Henrin henkilöllisyydestä esim. tapaamalla Henri henkilökohtaisesti ja vaihtamalla julkisia avaimia ensimmäisen kerran. Sen jälkeen Henri voi digitaalisella allekirjoituksellaan siirtää Elsin hankkimaa luottamusta ajassa eteenpäin. Kun uudet avaimet tulevat Henrin yksityisellä avaimella allekirjoitettuna, Elsi voi olla varma niiden aitoudesta. Sen sijaan, että Elsi itse tarkistaisi Henrin henkilöllisyyden, hän voi uskoa tehtävän vaikkapa viranomaisen tehtäväksi. Modulaatio ja koodaus Timo Mynttinen

11 Digitaalinen allekirjoitus, viestien salaaminen ja kiistämättömyysperiaate toteutuvat vain, jos niissä käytettävä yksityinen avain on ainoastaan oikean henkilön tiedossa. Jos yksityinen avain paljastuu, epäsymmetrisestä tekniikasta ei ole yhtään sen enemmän hyötyä kuin symmetrisestäkään. Modulaatio ja koodaus Timo Mynttinen

12 1. Henri arpoo satunnaisen 128-bittisen avaimen K.
Yhdistämällä symmetrisen salauksen nopeus ja epäsymmetrisen salauksen edut luodaan seuraava menetelmä: 1. Henri arpoo satunnaisen 128-bittisen avaimen K. 2. Tiedostoliite salataan jollakin symmetrisellä menetelmällä käyttäen avainta K. 3. Itse avain K salataan Elsin julkisella avaimella ja lähetetään sähköpostilla Elsille. 4. Salattu tiedostoliite lähetetään Elsille. Modulaatio ja koodaus Timo Mynttinen

13 Elsi purkaa saamansa viestin yksityisellä avaimellaan ja saa avaimen K
Elsi purkaa saamansa viestin yksityisellä avaimellaan ja saa avaimen K. Sen jälkeen hän purkaa varsinaisen liitteen tällä avaimella ja tuhoaa lopuksi avaimen K. Sähköpostin tapauksessa avain K on kertakäyttöinen, ja sitä kutsutaan istuntoavaimeksi (session key). Modulaatio ja koodaus Timo Mynttinen

14 RSA:n idea (Ronald Rivest, Adi Shamir, Leonard Adleman)
Alkulukuja (primes) ovat luvut, jotka voidaan jakaa tasan vain ykkösellä ja itsellään. Lukujen sanotaan olevan jaottomia, eikä niillä ole tekijöitä. Alkulukuja on rajaton määrä, mutta mitä suurempiin lukuihin mennään, sitä harvemmaksi alkuluvut käyvät, sillä mitä suurempi luku on, sitä useampia jakajia sillä voi olla. Modulaatio ja koodaus Timo Mynttinen

15 Pienten alkulukujen jaottomuuden tutkiminen on helppoa.
Ei kuitenkaan ole mitään kaavaa, jolla voitaisiin helposti laskea mikä on järjestyksessä n:s alkuluku. Isoilla luvuilla toimittaessa jo pelkkä jaottomuuden selvittäminen on hankalaa. Pienten alkulukujen jaottomuuden tutkiminen on helppoa. Otetaan luku n ja testataan nousevassa suuruusjärjestyksessä, jakaako jokin pienempi luku sen tasan. Neliöjuuri n on suurin mahdollinen jakaja: jos jakajaa ei ole siihen mennessä löytynyt, sitä ei löydy tämänkään jälkeen. Modulaatio ja koodaus Timo Mynttinen

16 N:ää pienempien alkulukujen lkm 25 1229 78498 5761455 455052511
Modulaatio ja koodaus Timo Mynttinen

17 Lisäksi mahdollisina jakajina kannattaa kokeilla vain alkulukuja, koska muut luvut voidaan edelleen jakaa tekijöihin ja silloin ne jakavat myös luvun n. Lukujen ominaisuuksia (alkulukuja, jaollisuutta, ym) tutkivaa matematiikan haaraa kutsutaan lukuteoriaksi (number theory). Tunnetun matemaatikon Karl Friedrich Gaussin ( ) mielestä matematiikka on tieteiden kuningatar ja lukuteoria on matematiikan kuningatar. Modulaatio ja koodaus Timo Mynttinen

18 RSA-menetelmään tarvitaan kaksi isoa alkulukua, joita perinteisesti merkitään kirjaimilla p ja q.
Jotta salaus säilyisi turvallisena, lukujen on oltava suunnilleen yhtä pitkiä ja niillä on oltava eräitä lisäominaisuuksia. Lasketaan tulo n=p*q. Kertolaskun jälkeen n:n pituus on kaksinkertainen p:hen ja q:hun nähden, jos p ja q ovat 512-bittisiä, niin n on 1024-bittinen. Lisäksi tarvitaan kaksi lukua, joiden osoittamiin potensseihin sala- ja selväteksti korotetaan. Modulaatio ja koodaus Timo Mynttinen

19 Näitä lukuja merkitään kirjaimilla e (encryption, salaus) ja d (decryption, purku).
Nämä luvut e ja d on valittava siten, että ne täyttävät ehdon e*d=1 mod t, missä t=(p-1)*(q-1), eli toisin sanoen löytyy jokin k:n arvo, jolle on voimassa e*d=k*t+1. Matemaattisessa esityksessä luvun t paikalla käytetään pientä kreikkalaista kirjainta Phi, φ, jolloin kyseessä on Eulerin kertymäfunktio (totient function). Kertymäfunktio ilmoittaa, kuinka monta on lukua n pienempiä lukuja (positiivisia lukuja, 1 mukaan lukien), joilla ei ole yhteisiä tekijöitä (relatively prime) n:n kanssa. Modulaatio ja koodaus Timo Mynttinen

20 Silloin kun n on alkuluku, kertymäfunktion arvo on aina n-1, eli silloin φ(n)=(p-1)*(q-1).
Koska luku t saadaan kertomalla keskenään kaksi alkulukua, joista molemmista on vähennetty yksi, tulos ei itse ole alkuluku. Valittavan luvun e tulee olla pienempi kuin t, eikä sillä saa olla yhteisiä tekijöitä t:n kanssa (muita kuin ykkönen). Tämä ilmaistaan kirjoittamalla s.y.t(t, e)=1 (suurin yhteinen tekijä) eli englanniksi gcd(t, e) =1 (greatest common factor). Lopuksi tarvitaan vielä luku d, jonka täytyy olla e:n käänteisluku modulo t. Modulaatio ja koodaus Timo Mynttinen

21 Myös luvut p, q ja t ovat luottamuksellisia.
Modulaariaritmetiikassa käänteisluku määritellään toisin kuin perinteisessä aritmetiikassa. Modulaariaritmetiikassa kaksi lukua ovat toistensa käänteislukuja, jos niiden tulo annetun moduluksen suhteen on yksi. Esimerkiksi 3 ja 7 ovat toistensa käänteislukuja modulo 10, sillä 7*3 mod 10=21 mod 10=1. Luku e ja modulus n muodostavat yhdessä julkisen avaimen, joka voidaan kertoa kaikille. Luku d ja modulus n muodostavat yksityisen avaimen, joka pidetään vain omana tietona. Myös luvut p, q ja t ovat luottamuksellisia. Modulaatio ja koodaus Timo Mynttinen

22 Luvut p, q ja t tuhotaan, kun avainpari on luotu.
Olkoot salattava selväteksti P ja salateksti C. Salaus tehdään korottamalla selväteksti P potenssiin e ja ottamalla siitä modulo n:n suhteen: . Salateksti puretaan tekemällä korotus toisella eksponentilla d ja ottamalla taas modulo: Modulaatio ja koodaus Timo Mynttinen

23 Kokeillaan äskeistä luvuilla:
1. Valitaan aluksi kaksi suunnilleen yhtä pitkää alkulukua, luvut p=7 ja q=17. 2. Lasketaan n=p*q=7*17=119. 3. Lasketaan t=(p-1)(q-1)=6*16=96. 4. Valitaan luku e, joka on pienempi kuin 96 ja jolla ei ole yhteisiä tekijöitä 96:n kanssa. Valitaan arvoksi e=5. 5. Etsitään d:n arvo, joka täyttää ehdon d*e=1 mod 96 ja on pienempi kuin t. Pitäisi siis löytää luku, joka kerrottuna 5:llä (e) ja jaettuna 96:lla antaa jakojäännökseksi ykkösen. Modulaatio ja koodaus Timo Mynttinen

24 Koska 96+1=97, kokeillaan arvoja seuraavasti: ((1*96)+1)/5=97/5=19,4
((2*96)+1)/5=193/5=38,8 ((3*96)+1)/5=289/5=58,2 ((4*96)+1)/5=385/5=77 ((5*96)+1)/5=485/5=96,2 Luku 4 kerrottuna 96:lla ja lisättynä yhdellä on 385, johon viisi menee tasan. Valitaan siis d=77. Tarkastetaan vielä, että d*e=77*5=385 ja 385 mod 96=1, joten d täyttää vaaditun ehdon. Modulaatio ja koodaus Timo Mynttinen

25 Arvo d voidaan etsiä myös ns. laajennetulla Euklideen algoritmilla.
Julkinen avain on siis lukupari e ja n eli luvut 5 ja 119 sekä yksityinen avain lukupari d ja n eli luvut 77 ja 119. ASCII-järjestelmässä isot aakkoset alkavat vasta numeron 65 kohdalta, mutta sovitaan nyt, että aloitetaan ykkösestä: A=1, B=2, jne. Olkoot salattavana tekstinä yksi kirjain, R=18. Silloin salaus tapahtuu korottamalla 18 potenssiin e (5) ja otetaan moduuli 119 suhteen: = mod 119=86. Modulaatio ja koodaus Timo Mynttinen

26 Modulaatio ja koodaus Timo Mynttinen

27 Vastaanottajalle lähetettävä salateksti on siis 86.
Vastaanottaja purkaa viestin käyttämällä omaa yksityistä avaintaan eli paria 77 ja 119: Laskutoimitus ei ilman aputyökaluja onnistune… Modulaatio ja koodaus Timo Mynttinen

28 Modulaatio ja koodaus Timo Mynttinen

29 Modulaatio ja koodaus Timo Mynttinen

30 Yleisillä RSA:n avainpituuksilla n on 1024 tai 2048 bittiä, eli kyse on pisimmillään 299 tai 617 numeroa pitkistä kymmenkantaluvuista. Nopeimmatkin tunnetut algoritmit ja tietokoneet ovat liian hitaita jakamaan näin pitkiä lukuja tekijöihin (eli löytämään luvut p ja q järkevässä ajassa). Modulaatio ja koodaus Timo Mynttinen

31 Modulaatio ja koodaus Timo Mynttinen

32 Modulaatio ja koodaus Timo Mynttinen

33 Modulaatio ja koodaus Timo Mynttinen

34 Modulaatio ja koodaus Timo Mynttinen

35 RSA-menetelmässä julkinen ja yksityinen avain ovat symmetrisiä eli ne toimivat molempiin suuntiin.
Lähettäjän yksityisellä avaimellaan enkoodaama viesti on kenen tahansa purettavissa, jolla on hallussaan (joka vaivautuu etsimään) lähettäjän julkisen avaimen. Jos viesti purkautuu ymmärrettävään muotoon, voidaan olla varmoja siitä, että se tulee ilmoitetulta lähettäjältä (koska vain hän tuntee yksityisen avaimen, jolla viesti on täytynyt enkoodata). Modulaatio ja koodaus Timo Mynttinen

36 Esimerkiksi sopimusteksti voidaan allekirjoittaa digitaalisesti siten, että molemmat osapuolet enkoodaavat siitä lasketun tiivisteen, jotka sitten lisätään asiakirjan liitteeksi. Jos joku haluaa tarkistaa allekirjoitukset, hän etsii vastaavat julkiset avaimet, ja katsoo, purkaako koodaus oikein. Käytännössä allekirjoitus tehdään salaamalla ainoastaan asiakirjasta laskettu tiiviste yksityisellä avaimella. Koska ulkopuolisen on mahdotonta laatia toista tekstiä, joka tuottaisi saman tiivistearvon, tiivistettä ja tekstiä voidaan pitää samanarvoisina. Modulaatio ja koodaus Timo Mynttinen

37 Sähköinen allekirjoitus turvaa sekä aitouden että eheyden.
Digitaalisessa allekirjoituksessa tekstin peukalointi jälkikäteen on mahdotonta. Sähköinen allekirjoitus turvaa sekä aitouden että eheyden. Viestin, joka on allekirjoitettu digitaalisesti, on pakko tulla ilmoitetulta henkilöltä, koska kukaan toinen ei pysty laatimaan samanlaista allekirjoitusta. Digitaalinen allekirjoitus siis toteuttaa kiistämättömyyden periaatteen. Käytetyin puhdas allekirjoitusalgoritmi on DSA, Digital Signature Algorithm. Modulaatio ja koodaus Timo Mynttinen


Lataa ppt "Epäsymmetrinen salaus"

Samankaltaiset esitykset


Iklan oleh Google