1 / 21

Diskreetti matematiikka salausmenetelmien matematiikkaa

Diskreetti matematiikka salausmenetelmien matematiikkaa. Jouko Teeriaho syksy 2006. 21 kalvoa. Ryhmä ja Abelin ryhmä Fermat’n ja Eulerin lauseet Laskutoimitukset joukossa Z n (moduloaritmetiikka) Eulerin Phi funktio Nopea potenssilasku. Diffie - Hellman avaimesta sopiminen

toyah
Télécharger la présentation

Diskreetti matematiikka salausmenetelmien matematiikkaa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diskreetti matematiikkasalausmenetelmien matematiikkaa Jouko Teeriaho syksy 2006 21 kalvoa

  2. Ryhmä ja Abelin ryhmä Fermat’n ja Eulerin lauseet Laskutoimitukset joukossa Zn (moduloaritmetiikka) Eulerin Phi funktio Nopea potenssilasku Diffie - Hellman avaimesta sopiminen RSA - salausalgoritmi Sisältö

  3. Ryhmäaksioomat Olkoon G joukko, jossa on määritelty laskutoimitus * . Tällöin joukkoa G sanotaan ryhmäksi , mikäli seuraavat aksioomat toteutuvat: G1: a*b on ryhmän G alkio kaikilla a,b G G2: (a*b)*c = a*(b*c) kaikilla a,b,c  G G3: On olemassa e  G, jolle e*a=a*e=a kaikille a  G (ykkösalkio) G4: Jokaisella a  G on olemassa käänteisalkio a’, jolle a*a’ = a’ *a = e Lisäksi jos on voimassa G5: a*b = b*a kaikilla a,b  G, niin G:tä sanotaan Abelin ryhmäksinorjalaisen matemaatikko Abelin mukaan.

  4. Esimerkkejä • Onko kokonaislukujen joukko Z ryhmä ? • yhteenlaskun suhteen • kertolaskun suhteen • Onko reaalilukujen joukko R ryhmä kertolaskun suhteen? • Onko niiden 2x2 neliömatriisien joukko, joiden determinantti ≠ 0 matriisikertolaskun suhteen a) ryhmä b) Abelin ryhmä ? c) Mikä on neutraalialkio ?

  5. Äärelliset ryhmät • Jos ryhmän alkioita on äärellinen määrä, puhutaan äärellisestä ryhmästä. • Jos kerrotaan äärellisen ryhmän kaikki alkiot tietyllä ryhmän alkiolla, saadaan aina samat alkiot uudessa järjestyksessä eli tuloksena on ryhmän alkioiden permutaatio. • Tämä todistamiseksi riittää osoittaa, että saadussa joukossa ei voi olla samaa alkiota kahta kertaa: • Todistus: • Olkoot a ja b ryhmän G eri alkioita ja c ryhmän G alkio • Tehdään vastaoletus, että ca = cb. • Koska c:llä on ryhmän alkiona käänteisalkio c’ (G4), kertomalla yhtälö puolittain c’:lla saadaan • c’ca = c’cb  ea = e b  a = b. • Tuloksena on siis ristiriita, joten ca ≠ cb.

  6. Täydennä seuraava 4 alkion Abelin ryhmän {a,b,c,e} kertotaulu • e on neutraalialkio • Tarkista: • * Jokainen rivi ja sarake on alkioiden permutaatio. • Joka rivillä esiintyy e • Kertotaulu on peilikuva diagonaalinsa suhteen (kommutatiivisuus ab = ba) Totea ominaisuus: a*a*a*a = a4 = e b*b*b*b = b4 = e c*c*c*c = c4 = e

  7. Ryhmän ominaisuus Lause: Jos G on Abelin ryhmä, jossa on n alkiota, niin Kaikille sen alkioille a on voimassa an = 1 (1) Todistus: ryhmän alkioiden tulo g1*g2*…gn = x on jokin sen alkioista Jos jokainen alkio kerrotaan a:lla , on saatu joukko ryhmän permutaatio, joten edelleen tulo on x: x = (a*g1)*(a*g2)*…*(a*gn) = an(g1*g2*….*gn) = an x Siis x = an x | kerrotaan x:n käänteisalkiolla ja saadaan an = 1

  8. Lukujoukko Zn = {0,1,2,…,n-1} Kaikki kokonaisluvut voidaan kuvata joksikin tämän joukon alkioksi käyttäen kuvauksena jakojäännöstä mod 11. Esim. Luku 24 vastaa jakojäännös 2, lukua 100 vastaa jakojäännös 1, lukua -4 vastaa jakojäännös 11-4 = 7. Esim. Z11 0 1 10 2 9 3 8 7 4 Renkaassa Zn voidaan määritellä summa, erotus, kertolasku ja potenssilasku käyttäen jakojäännöksiä. 5 6

  9. Peruslaskutoimitukset • Summa 7 + 6 mod 11 = 13 mod 11 = 2 • Erotus 2 – 5 mod 11 = -3 mod 11 = 11- 3 = 8 • Tulo 5*8 mod 11 = 40 mod 11 = 7 • Potenssi 34 mod 11 = 81 mod 11 = 4 Voiko jakolaskua määritellä ? Esim. 3 / 5 mod 11 ? Nyt 3/5 tarkoittaa 3*5-1 , missä 5-1 on luvun 5 käänteisluku. Tämähän voidaan laskea, mikäli luvulla 5 on käänteisluku renkaassa Z11. Nyt tarvitaan joukon Z11 kertotaulua selvittämään onko käänteislukua olemassa.

  10. Lukujoukon Z11 kertotaulu Joka rivillä esiintyy luku 1, joten kaikilla luvuilla 1- 10 on käänteisluku. Joukko Z11* tarkoittaa kertolaskuryhmää, jossa on kaikki muuta Z11:n alkiot paitsi luku 0. Z11*= { 1, 2, … , 10}. Luvun 5 käänteisluku on 9 Siten 3/5 mod 11 = 3*9 mod 11 = 27 mod 11 = 5 Jakolasku voidaan siis hyvin määritellä joukossa Z11* = {1,2,…,10}. Huom! Potenssi a10 = 1 (mod 11) kaikille alkioille a (ks. kalvo 7)

  11. Generoiva alkio eli primitiivialkio Seuraavassa ryhmän Z11* alkioiden potenssitaulu: Ryhmää G sanotaan sykliseksiryhmäksi, mikäli on olemassa sellainen alkio g, jonka potenssit g1,…,gn-1 käyvät läpi kaikki ryhmän alkiot. Alkiota g sanotaan tällöin ryhmän G generoivaksi alkioksi tai primitiivialkioksi. Voidaan merkitä G = <g> Joukon Z11* generoivia alkioita on 2,6,7, ja 8

  12. Lukujoukon Z10 kertotaulu Tässä vain luvuilla 1,3,7 ja 9 on käänteisluku mod 10. Merkitään Z10* = {1,3,7,9}. Tämä osajoukko on ryhmä kertolaskun suhteen. Sen koko on 4 ja siinä on alkiot, joilla ei ole yhteisiä tekijöitä luvun 10 kanssa. Eulerin Phi- funktio (n) antaa niiden alkioiden x lukumäärän väliltä 1 – (n-1), joille, GCD(x,n) = 1. (10) = 4 Huom! Potenssi a4 = 1 (mod 10) kaikille a  Z10*

  13. Eulerin Phi – funktion ominaisuuksia (n) antaa kertolaskuryhmän Zn*:n alkioiden lukumäärän (p) = p – 1 , kun p on alkuluku (p*q) = (p –1)(q-1) , kun p ja q ovat alkulukuja Todistus: Luvuista 1,2, … , pq-1 tiputetaan pois kaikki ne, joilla on yhteisiä tekijöitä pq:n kanssa, eli p,2p,…, (q-1)p sekä q,2q,…, (p-1)q . Lukumääräisesti jäljelle jää siten pq - 1 - (q-1) – (p-1) eli pq – p – q + 1 eli (p-1)(q-1) m.o.t

  14. Fermat’n ja Eulerin lauseet Molemmat seuraavat lauseesta (1) kalvolla 7 a p-1 = 1 mod p , jos p on alkuluku ja a  { 1, 2, …, p-1) Fermat: 1601-1665 a (n) = 1 mod n , kaikille a  Zn* Euler: 1707-1783 Fermat’n lausetta voidaan käyttää negatiivisena alkulukutestinä. Luku n ei ole alkuluku, mikäli jollekin kantaluvulle a an-1≠ 1 mod n

  15. Sovelluksia kryptografiaan 1. Diffie- Hellman avaimesta sopiminen. Esim. pankkiliikenteen salauksessa käytetään symmetristä lohkosalausta, jossa salausavain on 128 bittinen kokonaisluku ( 38 numeroa 10-järjestelmässä). Avaimesta sovitaan kunkin istunnon aluksi esim. seuraavasti: Järjestelmässä on sovittu kertolaskuryhmästä Zp* ja generoivasta alkiosta g Alice: Alice generoi suuren satunnaisluvun a Bank Pankki generoi suuren satunnaisluvun b ya= g a mod p Alice: Bank: yb =g b mod p Alice laskee avaimen: Pankki laskee avaimen K = yba mod p K = yab mod p Molemmat saavat saman tuloksen K = gab mod p

  16. RSA – salaus Rivest – Shamir – Adlemann 1978. Käytössä mm. suom. HST –kortissa. Jokaisella henkilöllä on kaksi julkista avainta: n = p*q (kahden alkuluvun tulo) e = edellistä pienempi kok. luku, jolle GCD(e,(n)) oltava 1 Viesti, joka on koodattu suuriksi kokonaisluvuiksi m salataan potenssiin korotuksella: c = me mod n , missä c on viestin m salakirjoitus Koska Eulerin lauseen mukaan m(n) = 1 mod n, niin käyttämällä eksponenttia d, jolle ed = 1 mod (n) eli d = e:n käänteisluku mod (p-1)(q-1) salaus voidaan purkaa. m = cd mod n dekryptausalgoritmi Salainen dekryptausavain d = e-1 mod (p-1)(q-1)

  17. Miksi RSA on turvallinen Jokaisen käyttäjän julkiset avaimet n ja e ovat kaikkien tiedossa. Sen sijaan dekryptausavaimen d laskemiseksi on tiedettävä, mitkä ovat luvun n alkulukutekijät p ja q. Käytännössä luku n on 1024 – bittinen kokonaisluku ja sen tekijöiden p ja q löytäminen on mahdotonta nykytietämyksellä (se vie satoja vuosia). Käyttäjä siis laskettuaan dekryptausavaimen d pitää sen salassa ja hävittää tiedot luvun n tekijöistä p ja q. Esim. suomalaisessa HST – kortissa (sähköinen henkilökortti) on piinsirulle talletettuna dekryptausavain d. Koritn omistajan julkiset avaimet n ja e on tallennettuna väestörekisterikeskuksen ylläpitämälle avainpalvelimelle, josta jokainen tarvitseva voi ne tietoliikenneohjelmistojensa välityksellä noutaa.

  18. Mitä algoritmeja salausmenetelmät (esim. RSA) tarvitsevat? • Käänteisluvun laskeminen moduloaritmetiikassa • Nopea potenssiin korotus, jossa tietokoneessa ei tule ylivuotoa

  19. Nopea potenssiin korotus (powermod) Idea: järjestetään eksponentiksi parillinen luku ja puolitetaan se samanaikaisesti kun kantaluku neliöidään. 59 mod 11 = 5*58 mod 11 = 5*254 mod 11 = 5*34 mod 11 = 5*92 mod 11 = 5*81 mod 11 = 5*4 mod 11 = 20 mod 11 = 9 25 mod 11 => 3 81 mod 11 = 4 Mathematica

  20. Käänteisalkion laskeminen mod n Tapa1: Laajennettu GCD Tapa2: Potenssiin korotus *) Laske 6-1 mod 11 11 = 1*6 + 5 6 = 1*5 + 1 <- GCD = 1 5 = 5*1 + 0 • Koska Eulerin mukaan, • 6(11) = 1 mod 11 • 6*6 (11)-1 = 1 mod 11 Siten käänteisluku on 6 (11)-1 = 610-1 = 69 mod 11 = 2 Taaksepäin: 1 = 6 – 5 = 6 – (11 – 6) ts. 1 = 2*6 – 11 Nyt luvun 6 kerroin 2 on kysytty käänteisluku, koska 2*6 = 1 mod 11 Kaava a-1 mod n = a (11)-1 mod n on sovellettavissa vain, mikäli (n) osataan laskea (edellyttää luvun n tekijöiden tuntemista) *)

  21. Tehtäviä • Määritä seuraavien lukujen käänteisluvut mod 15 (mikäli ne ovat olemassa) • a) 7 b) 5 • 2. Montako alkiota on kertolaskuryhmässä Z21* ? (listaa alkiot) • Päättele ilman laskinta arvo potenssille 912 mod 21 • Suorita powermod algoritmilla (välivaiheet näkyviin) lasku • 411 mod 13 • 5. Pekka ja Eija sopivat yhteisestä istuntoavaimesta Diffie – Hellman menetelmällä. Laskut suoritetaan joukossa Z13 , generoiva alkio on 6. • Pekka valitsee salaiseksi eksponentikseen a luvun 3 ja Eija valitsee luvun b = 11. Mikä on Eijan ja Pekan istuntoavain K • Viesti on koodattu kokonaisluvuiksi, joista ensimmäinen on m = 14. • Liisan julkinen avainpari (n, e) = (91, 17). Miten Pekka salaa viestin m = 14 lähettäessään sen Liisalle. Mikä on Liisan dekryptausavain d?. Näytä, miten Liisa avaa salakirjoituksen.

More Related