SALAUSMENETELMÄT A, 4 op
|
|
- Heli Hakala
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Luentorunko SALAUSMENETELMÄT A, 4 op Pohjautuu Leena Leinosen, Marko Rinta-ahon, Tapani Matala-ahon ja Keijo Väänäsen luentoihin
2 Sisältö 1 Johdanto 2 2 Perinteisiä salakirjoitusmenetelmiä Caesar ja sen yleistyksiä Caesarin yhteenlaskumenetelmä Affiinikuvaus Sijoitusjärjestelmät Vigenéren järjestelmä Salakirjoitus matriiseilla Julkisen avaimen salakirjoitus (public key cryptography) Yleinen periaate/general principle Allekirjoitussopimus/Signature protocol Salattu allekirjoitus/encrypted signature RSA RSA-salaus/RSA-encrypting RSA-allekirjoitus/RSA-signature Tekstin esittäminen joukon Z n alkioina RSA-turvallisuus/security Neliöseula-hyökkäys/Quadratic sieve attack Kryptausfunktio-iteraatiot Diskreetti logaritmi Diskreetti logaritmi kertolaskuryhmässä Ryhmät Z n Primitiivijuuret Diskreetin logaritmin ongelma Diffie-Hellman avaimenvaihto Diffie-Hellman ongelma
3 7 ElGamal kryptausjärjestelmä 37 8 Huomautuksia 39 9 Lukuteoriaa Eräs kongruenssiryhmä Euler-Fermat Nopeaa potenssilaskentaa Nopeaa potenssilaskentaa/kertolaskuryhmässä Funktioista 42 3
4 HUOM: Ilmoittautukaa Web-oodiissa kurssille, jotta saisitta tietoja mahdollisista muutoksista ja peruutuksista. Luennot: Aloitetaan 14:10 Ke IT133 To IT138 LUENNOT LOPPUU VIIKOLLA 41. Loppukoe: , Linkkejä: Johdatus matemaattiseen päättelyyn Kirjallisuus: 1
5 1 Johdanto Tällä kurssilla tarkastellaan menetelmiä, jotka mahdollistavat tiedon siirtämisen tai tallentamisen niin, että ainoastaan tarkoitettu vastaanottaja saa viestin selville. Lähettäjän tehtävänä on salakirjoittaa (encrypt) selväkielinen teksti (plaintext) salakirjoitukseksi (cryptotext) ja vastaanottajan tehtävänä puolestaan avata (decrypt) salakirjoitus selväkieliseksi tekstiksi. Menettelyn tulee olla sellainen, että mahdollinen salakirjoituksen sieppaaja ei kykene murtamaan sitä eli selvittämään selväkielistä tekstiä, ainakaan nopeasti. Aikaisemmin salakirjoituksia tarvittiin lähinnä sotilaallisiin ja diplomaattisiin tarkoituksiin. Kuluneiden noin 30 vuoden aikana tietokoneisiin perustuvan tiedonvälityksen yleistyminen on merkinnyt sitä, että salausmenetelmiä tarvitaan päivittäin hyvin monilla muillakin yhteiskunnan alueilla kuten pankeissa ja yrityksissä. Selväkielinen teksti ja salakirjoitettu teksti kirjoitetaan käyttämällä jotakin aakkostoa (kirjaimet, numerot, muut merkit). Suomen- ja englanninkielisellä aakkostolla tarkoitetaan tällä kurssilla seuraavia aakkostoja: S) Suomenkielinen aakkosto, 29 kirjanta. E) Englanninkielinen aakkosto, 26 kirjainta. 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 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 Jotta matemaattisia menetelmiä voitaisiin käyttää, kirjaimet korvataan usein luvuilla. Selväkielinen teksti ja salakirjoitus jaetaan viestiyksiköihin ja salaaminen tehdään yksikkö kerrallaan. Viestiyksikkö voi olla kirjain (kuten yllä olevassa esimerkissä), kirjainpari tai tietyn pituinen kirjainjono. Salakirjoittamiseen käytetään yleensä bijektiivistä funktiota E : P C, missä P = {selväkieliset viestiyksiköt} = {m}, C = {salakirjoitetut viestiyksiköt} = {c}. 2
6 Avaaminen tapahtuu tällöin käänteisfunktion D = E 1 avulla. Salakirjoitusjärjestelmään kuuluvat siis: (i) P, (ii) C, (iii) avainjoukko K = {k}, missä kukin avain k määrää salausfunktion E k ja avausfunktion D k, joille D k (E k (m)) = m. Lähettäjä tuntee ennakolta funktion E k ja vastaanottaja funktion D k, jolloin järjestelmä toimii seuraavan kaavion mukaisesti. A B m E k (m) = c c D k (c) = m E (=salakuuntelija, eavesdropper, murtaja, breaker) Hyvältä salakirjoitusjärjestelmältä edellytetään: 1) E k (m) ja D k (c) voidaan laskea helposti. 2) Jollei tunneta funktiota D k, niin selväkielinen viesti m ei selviä salakirjoituksesta c, eli sieppaajalla on vaikea tehtävä. Kaikissa perinteisissä salakirjoitusjärjestelmissä D k saadaan välittömästi funktiosta E k, ei tosin aina niin helposti kuin äskeisessä esimerkissä. Näin ollen lähettäjän ja vastaanottajan tulee sopia jollakin tavalla avaimesta ja pitää tämä sopimuksensa salassa muilta. Tästä syystä näitä järjestelmiä kutsutaan yksityisen avaimen salakirjoituksiksi. Vuosina kehitettiin ensimmäiset julkisen avaimen järjestelmät, joille on ominaista se, että E k ei paljasta funktiota D k, ainakaan helposti. Nämä perustuvat ns. yksisuuntaisiin funktioihin (one-way function), joiden käänteisfunktiota on käytännössä mahdotonta tai ainakin hyvin vaikeaa määrittää. Useimmat käytössä olevat salakirjoitusmenetelmät perustuvat lukuteorian tuloksiin. Tästä syystä kurssi aloitetaan kertaamalla eräitä lukuteorian alkeiden tuloksia. Esimerkki 1.1. Esimerkkinä käy Caesarin yhteenlaskumenetelmä, jossa salakirjoitus tehdään siirtämällä kirjaimia k askelta eteenpäin. Esimerkiksi k = 17 antaa seuraavaa: selvä: sala: 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 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 3
7 Selväteksti: prime Salattu: GIZDV 2 Perinteisiä salakirjoitusmenetelmiä 2.1 Caesar ja sen yleistyksiä Caesarin yhteenlaskumenetelmä On yksinkertaista asettaa joukon Z n alkiot vastaamaan n-kirjaimisen aakkoston symboleja. Esimerkiksi englanninkielistä aakkostoa vastaa Z 26 eli 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 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 missä jäännösluokkien modulo n = 26 yläviivat on jätetty pois. Voidaan sopia, että selkoviesti kirjoitetaan pienillä kirjaimilla ja SALATTU VIESTI ISOILLA KIRJAIMILLA. Aikaisemmin tarkastellun Caesarin menetelmän salausfunktio E k ja avausfunktio D k ovat yllä olevin merkinnöin yksinkertaisesti E k (x) = x + k ja D k (x) = x k, missä laskutoimitukset tehdään joukossa Z N Affiinikuvaus Tarkastellaan nyt yleisempää järjestelmää, missä yhteenlasku korvataan affiinilla kuvauksella. Valitaan tätä varten a Z n ja b Z n. Avaimena on nyt pari (a, b) ja salausfunktio on E(x) = E a,b (x) = ax + b, E : Z n Z n. Avainten lukumäärä on tällöin φ(n) n. Erikoistapauksina 4
8 a = 1 antaa Caesarin yhteenlaskumenetelmän, E(x) = x + b b = 0 antaa ns. kertolasku-caesarin, E(x) = ax. Lause 2.1. Kuvaus E : Z n Z n on bijektio ja ja avausfunktioksi saadaan D(y) = D a,b (y) = a 1 y a 1 b. (1) Todistus: Edellä a Z n, joten a 1 Z n on olemassa. Asetetaan nyt E(x 1 ) = E(x 2 ) ax 1 + b = ax 2 + b ax 1 = ax 2 (2) a 1 ax 1 = a 1 ax 2 x 1 = x 2. (3) Siten E : Z n Z n on injektio ja edelleen bijektio Lauseen 11.1 nojalla. Asetetaan seuraavaksi E(x) = y ax + b = y x = a 1 (y b) = D(y). (4) Yhteenveto affiinista järjestelmästä: P = C = Z n K = {(a, b)}, missä a Z n ja b Z n salausfunktio E(x) = ax + b avausfunktio D(y) = a 1 y a 1 b. Affiini järjestelmä voidaan murtaa seuraavilla tavoilla: Brute de force. Kokeillaan kaikki avaimet. Frekvenssianalyysi. Käytetään hyväksi kirjainten esiintymistiheyksiä. Alla olevassa taulukossa on esitetty suomen ja englannin kielen kymmenen yleisintä kirjainta esiintymistiheyksineen. 5
9 suomi kirjain % kirjain % A 11,5 S 6,6 I 10,5 L 5,9 T 9,7 O 5,5 N 9,1 Ä 5,2 E 8,4 K 4,9 englanti kirjain % kirjain % e 13,11 r 6,83 t 10,47 i 6,35 a 8,15 s 6,10 o 8,00 h 5,26 n 7,10 d 3,79 Saksan kielen kymmenen yleisintä kirjainta ovat E, N, I, S, R, A, T, D, H, U ja ranskan kielen E, S, A, I, T, N, R, U, L, O. Tiheydet ovat suuntaa-antavia ja vaihtelevat hieman tekstistä riippuen. Yleisyysjärjestyskin voi poiketa hieman lähteestä riippuen. Esimerkki 2.2. Avaa Caesarin yhteenlaskumenetelmällä laadittu englanninkielinen salakirjoitus ALYUNYMNWIGGIHXCPCMIL. Mikä on ollut avain? 1. Ylläolevan nojalla englanninkielen Top-6 kirjainjoukko on E M := {e,t,a,o,n,r} = {4, 19, 0, 14, 13, 17}. (5) 2. Salatun tekstin Top-6 joukoksi saadaan C M := {I,Y,G,M,C,L} = {8, 24, 6, 12, 2, 11}. (6) 3. Tutkitaan miten joukko E M kuvautuu joukolle C M Caesar-salauksessa. On todennäköistä, että: 3a. Kirjain e kuvautuu kirjaimelle I; tai 3b. Kirjain e kuvautuu kirjaimelle Y; tai... 3a. Tässä salausfunktio on E 4 (e) = I, E 4 (E M ) = {8, 23, 4, 18, 17, 21}, (7) 6
10 joten E 4 (E M ) C M = {8}. (8) Tämä on epätodennäköistä! 3b. Tässä salausfunktio on E 20 (e) = Y, E 20 (E M ) = {24, 13, 20, 8, 7, 11}, (9) joten E 20 (E M ) C M = {24, 8, 11}. (10) Nyt jo puolet Top-joukoista täsmää, joten yritetään avausta dekryptausfunktiolla D 20 (y) = y 20 = y + 6, (11) jolloin aluksi saadaan D 20 (A) = g, D 20 (L) = r, D 20 (Y) = e, D 20 (U) = a, D 20 (N) = t. (12) Tämä on selkokieltä, joten jatketaan avausta. Siten selkoviesti on ollut greatestcommondivisor (13) ja kryptausavain k = 20. Esimerkki 2.3. Seuraava englanninkielestä salattu viesti VCLMPCAVESVFYDVOVIZHPCYXAXGBDATYZ on muodostettu affiinilla järjestelmällä. Mikä on selkokielinen teksti ja kryptausfunktio? 1. Ylläolevan nojalla englanninkielen Top-6 kirjainjoukko on E M := {e,t,a,o,n,r} = {4, 19, 0, 14, 13, 17}. (14) 2. Salatun tekstin Top-6 joukoksi saadaan C M := {V,C,A,Y,D,Z} = {21, 2, 0, 24, 3, 25}. (15) 7
11 3. Tutkitaan miten joukko E M kuvautuu joukolle C M affiinilla kuvauksella. On todennäköistä, että: 3a. Kirjain e kuvautuu kirjaimelle V; ja 4a. Kirjain t kuvautuu kirjaimelle C; tai 4b. Kirjain a kuvautuu kirjaimelle C; tai 4c. Kirjain o kuvautuu kirjaimelle C; tai 4d. Kirjain n kuvautuu kirjaimelle C; tai Olkoon salausfunktio E(x) = ax + b, a Z 26, b Z 26. (16) Tarvitaan siis yhtälöpari lukujen a ja b ratkaisemiseen. 3a+4a Sijoitusjärjestelmät Edellä mainitut järjestelmät ovat erikoistapauksia yksinkertaisesta sijoitusjärjestelmästä. Siinä on avainjoukkona joukon Z n permutaatioiden muodostama joukko S n, jonka alkiot σ kirjoitetaan usein muotoon ( ) n 1 σ =. σ(0) σ(1)... σ(n 1) Nämä ovat bijektioita, joten niillä on käänteiskuvaus σ 1. Yksinkertainen sijoitusjärjestelmä: P = C = Z n K = S n salausfunktio E σ (x) = σ(x) 8
12 avausfunktio D σ (y) = σ 1 (y). Joukon S n alkioiden lukumäärä on n!, joten avaimia on runsaasti. Yksinkertainen sijoitusjärjestelmä on murrettavissa kirjainten esiintymistiheyksiä tutkimalla, koska kirjaimen x kuva E(x) on sama koko ajan. Tästä johtuen on kehitetty myös moniaakkosjärjestelmiä, joista esimerkkinä tarkastellaan Vigenéren järjestelmää. 2.3 Vigenéren järjestelmä Vigenéren järjestelmän avain koostuu useasta Caesarin menetelmän avaimesta, joita sovelletaan jaksollisesti. Oletetaan, että k 1, k 2,..., k r Z n. Jaetaan selväkielinen teksti r:n pituisiin osiin x 1 x 2... x r. Kunkin osan i:s kirjain x i salakirjoitetaan Caesarin salausfunktion E ki avulla: selvä x i E ki (x i ) = x i + k i = y i sala. Vastaava avausfunktio on D ki (y i ) = y i k i. Avaimet k i annetaan usein avainsanan avulla. Vigenéren järjestelmässä sama kirjain kuvautuu eri kirjaimiksi paikasta riippuen, joten yksinkertainen kirjainten esiintymistiheyteen perustuva analyysi ei toimi. Kuitenkin, jos avaimen pituus r selviää, voidaan kukin k i murtaa erikseen kuten Caesarissa. Myös avaimen pituuden määrittämiseksi on olemassa menetelmiä. 2.4 Salakirjoitus matriiseilla Jos viestiyksikön pituus on r > 1 kirjainta, on luontevaa tarkastella viestiyksikköjä joukon Z r n vektoreina ja käyttää salauksessa r r-matriiseja. Rajoitutaan seuraavassa tapaukseen r = 2. Kerrataan lyhyesti matriisien laskusääntöjä: [ ] x Joukon Z 2 n alkiot ovat. y 9
13 [ ] a b 2 2-matriisit ovat M 2 (Z n ). c d Kaksi matriisia ovat identtiset, jos ja vain jos niissä samoilla paikoilla olevat alkiot ovat identtiset, ts. [ ] [ ] a11 a 12 b11 b 12 = a ij = b ij kaikilla i, j {1, 2}. a 21 a 22 b 21 b 22 Yhteenlasku on määritelty seuraavasti: [ ] [ ] [ ] [ ] [ ] [ ] x u x + u a b x u a + x b + u + =, + =. y v y + v c d y v c + y d + v Skalaarilla kertominen on määritelty seuraavasti: [ ] [ ] [ ] [ ] x ax a b ua ub a =, u =. y ay c d uc ud Kertolasku on määritelty seuraavasti: [ ] [ ] [ ] [ ] [ ] [ ] a b x ax + by a b x u ax + by au + bv =, =. c d y cx + dy c d y v cx + dy cu + dv Kertolasku ei ole vaihdannainen. [ ] 1 0 Yksikkömatriisi I = on kertolaskun neutraalialkio. 0 1 [ ] a b Matriisin A = käänteismatriisi on matriisi A 1, jolle AA 1 = c d A 1 A = I, mikäli tällainen matriisi on olemassa. Voidaan osoittaa, että A 1 on olemassa, jos ja vain jos D = det A = A = ad bc Z n. (17) Tällöin A 1 = D 1 [ d c ] b. a 10
14 Lause 2.4. Olkoon [ ] a b A = M 2 (Z n ), c d a, b, c, d Z n, det A = ad bc Z n (18) ja [ ] e B = Z 2 n. f Tällöin affiini kuvaus E : Z 2 n Z 2 n, E(X) = AX + B, (19) on bijektio, jonka käänteiskuvaus on D : Z 2 n Z 2 n, D(Y ) = A 1 (Y B). (20) Todistus: Edellä deta Z n, joten A 1 M 2 (Z n ) on olemassa. Asetetaan nyt E(X 1 ) = E(X 2 ) AX 1 + B = AX 2 + B AX 1 = AX 2 (21) A 1 AX 1 = A 1 AX 2 IX 1 = IX 2 X 1 = X 2. (22) Siten E : Z 2 n Z 2 n on injektio. Koska #Z 2 n = n 2 <, (23) niin Lauseen 11.1 nojalla E : Z 2 n Z 2 n on bijektio. Asetetaan seuraavaksi E(X) = Y AX+B = Y X = A 1 (Y B) = D(Y ). (24) Matriisisalakirjoitus: { [ ] x } P = C = Z 2 n = x, y Zn y 11
15 [ ] [ ] a b e avain {A, B}, A =, ad bc Z n, B = c d f salausfunktio E(X) = AX + B avausfunktio D(Y ) = A 1 Y A 1 B. Z 2 n Esimerkki 2.5. Olkoon [ ] 2 3 A = M 2 (Z 26 ). 7 8 Lasketaan determinantti det A = 5 Z 26, joten käänteismatriisi on olemassa ja [ ] A 1 = M 2 (Z 26 ) Kryptaus- ja dekryptausfuntiot E(X) = AX, D(Y ) = A 1 Y. Salataan selkoteksti seuraavasti P = [ ] [ ] [ ] [ ] E(P ) = AP = = := C Avataan kryptoteksti C seuraavasti [ ] [ ] [ ] D(C) = A 1 C = = = P Huomautus 2.6. Jos valitaan A = I = [ ], niin E(X) = X + B, joten kyseessä on Vigenéren järjestelmä, missä r = 2. Vastaavasti matriisisalakirjoituksen erikoistapauksena saadaan yleinen Vigenéren järjestelmä, jos tarkastellaan r r-matriiseja. 12
16 Tarkastellaan nyt matriisisalakirjoituksen murtamista. Oletetaan ensin, että B = [ ] 0 0 ja tunnetaan kaksi paria selväkielistä tekstiä ja vastaavat salakirjoitukset. Tämä on mahdollista esimerkiksi niin, että sieppaaja onnistuu jotenkin lähettämään tekstiä tarkasteltavan kanavan kautta. Olkoot tunnetut selväkieliset tekstit P 1 = [ p11 p 21 ] ] ja P 2 = [ p12 p 22 sekä vastaavat salakirjoitukset ] C 1 = [ c11 c 21 ja C 2 = [ c12 c 22 ]. Tällöin C 1 = AP 1 ja C 2 = AP 2 eli [ ] ] p11 p 12 C = AP, missä P = [P 1 P 2 = p 21 p 22 [ ] ] c11 c 12 C = [C 1 C 2 =. c 21 c 22 ja Jos nyt P 1 ja P 2 on valittu niin, että detp Z n, niin P 1 on olemassa. Tällöin saadaan A = CP 1, A 1 = P C 1 ja järjestelmä on murrettu. Tapauksessa B = [ ] 0 0 murtamiseen tarvitaan vielä kolmas pari P3 ja C 3 : C 1 = AP 1 + B, C 2 = AP 2 + B, C 3 = AP 3 + B. Tällöin päästään yllä olevan kaltaiseen tilanteeseen vähentämällä kolmas yhtälö kahdesta ensimmäisestä: C 1 C 3 = A(P 1 P 3 ), C 2 C 3 = A(P 2 P 3 ). Jos tästä saadaan A, niin sen jälkeen B = C 1 AP 1. 13
17 Esimerkki 2.7. Olkoot tunnetut selväkieliset tekstit [ ] [ ] 3 4 P 1 = ja P 2 = 4 7 sekä vastaavat salakirjoitukset [ ] 2 C 1 = 1 [ ] 1 ja C 2 =. 2 a) Murra järjestelmä eli määrää käytetty salausmatriisi ja sitä vastaava avausmatriisi. b) Dekryptaa salattu viesti [ ] 3 C 3 =. 2 3 Julkisen avaimen salakirjoitus (public key cryptography) 3.1 Yleinen periaate/general principle Nykyaikaisissa tiedonvälitysjärjestelmissä perinteisillä salakirjoitusmenetelmillä on esimerkiksi seuraavat ongelmat: Avaimista sopiminen ja niiden välittäminen. Jos verkossa on n käyttäjää, tarvitaan ( n 2) = n(n 1)/2 avainta. Jos joku käyttäjä haluaa vaihtaa avaimensa (tai uusi käyttäjä liittyy verkkoon), tarvitaan n 1 (tai n) sopimusta uusista avaimista. Allekirjoitusongelma, koska normaali allekirjoitus on korvattava jotenkin. Aikaisemmin, kun salausta käytettiin lähinnä sotilaallisissa tai diplomaattisissa tarkoituksissa, nämä seikat eivät tuottaneet suurta ongelmaa. Vuonna 1976 Diffie ja Hellman esittivät ajatuksen julkisen avaimen järjestelmistä, joissa yllä mainitut ongelmat on selvitetty. Tällaisessa järjestelmässä kukin 14
18 käyttäjä U muodostaa oman salausmenettelynsä E U D U, jotka toteuttavat ehdon ja avausmenettelynsä D U (E U (m)) = m kaikilla selväkielisillä viestiyksiköillä m. (25) Kukin käyttäjä U julkaisee salausmenettelynsä E U avainkirjassa, joka on kaikkien käytettävissä. Avausmenettelyn D U käyttäjä U pitää vain omana tietonaan. Jos A haluaa lähettää selväkielisen viestiyksikön m käyttäjälle B, hän etsii avainkirjasta käyttäjän B salakirjoitusmenettelyn E B ja salakirjoittaa viestinsä sen avulla, ts. c = E B (m). Kun B saa salakirjoitetun viestin c, hän saa ehdon (25) avulla viestin m selville käyttämällä (salaista) avausmenettelyään D B : D B (c) = D B (E B (m)) = m. Jotta menettely olisi toimiva ja salaisuus säilyisi, tarvitaan seuraavat ehdot, joiden tulee olla voimassa kaikille käyttäjille U: Menettelyt E U ja D U ovat nopeita eivätkä tarvitse liian paljon muistia. Menettelyn E U avulla on käytännössä mahdotonta määrittää menettelyä DU, jolle DU(E U (m)) = m kaikilla m P. (26) (27) Ominaisuus (27) säilyttää järjestelmän salaisena ja mahdollistaa salausmenettelyn julkaisemisen avainkirjassa. Jos joku käyttäjistä vaihtaa avaimensa, riittää vaihtaa uusi E U avainkirjaan. Uuden käyttäjän mukaantulo on yhtä yksinkertaista. Edellä mainittu menettely muodostetaan usein käyttämällä yksisuuntaista funktiota tai salaovifunktiota. Määritelmä 3.1. Funktiota f sanotaan yksisuuntaiseksi, one-way, jos sen arvot ovat helposti laskettavissa ja käänteisfunktion f 1 (joka on olemassa) määrääminen on hyvin vaikeaa. Yksisuuntaista funktiota sanotaan salaovifunktioksi, jos sen käänteisfunktio on helppoa määrätä jonkin lisätiedon (salaovi, trapdoor) avulla. 15
19 Funktiota ei yleensä onnistuta todistamaan yksisuuntaiseksi, joten joudutaan käyttämään funktioita, joiden uskotaan olevan yksisuuntaisia. Tällaisten funktioiden muodostaminen perustuu usein vaikeisiin ja paljon tutkittuihin lukuteorian ongelmiin, esimerkiksi RSA-järjestelmässä suurten lukujen tekijöihin jakamisen vaikeuteen. Jos käytössä on salaovifunktioita f U, niin voidaan muodostaa ehdot (25) (27) toteuttava järjestelmä valitsemalla E U = f U ja D U = f 1 U. Koska julkisen avaimen salakirjoitus vaatii yleensä paljon enemmän aikaa kuin perinteiset menetelmät, sitä käytetään usein perinteisen menetelmän ohella avainten vaihdossa eli käytettävän perinteisen menetelmän avaimet vaihdetaan julkisen avaimen menetelmällä. 3.2 Allekirjoitussopimus/Signature protocol Tarkastellaan nyt allekirjoitusongelmaa, jonka ratkaisemiseksi asetetaan kaksi uutta vaatimusta, joiden tulee olla voimassa kaikille käyttäjille U: E U (D U (j)) = j kaikilla viesteillä j. (28) Menettelyn E U avulla on käytännössä mahdotonta määrittää menettelyä D U, jolle E U (D U(j)) = j kaikilla j C. (29) Julkisen avaimen järjestelmässä on usein P = C sama kaikilla käyttäjillä. Jos A lähettää käyttäjälle B selväkielisen viestin, hän lähettää viestin j allekirjoituksen muodossa S = D A (J), jolloin B etsii avainkirjasta menettelyn E A ja laskee ehdon (28) avulla E A (s) = E A (D A (j)) = j. Allekirjoituksen (signature) muodostaa pari (j, s). Menettely edellyttää ehtoja (26), (28) ja (29), erityisesti ehto (29) varmistaa, että vain A voi toimia lähettäjänä. Käyttäjä A ei voi myöskään jälkikäteen kieltää viestiä. 16
20 A j j B D A (j) = s s E A (s) = j EA Avainkirja/Key book SIGNATURE PROTOCOL: A Public channel B Message j P Secret data E A A signs message j: D A (j) = s Message with a signature to B (j, s) B B verifies the signature: E A (s) = j Edellä oleva menettely voidaan toteuttaa salaovifunktiolla f valitsemalla E A = f, D A = f Salattu allekirjoitus/encrypted signature Jos halutaan suorittaa salakirjoitus ja allekirjoitus, tarvitaan ominaisuudet (25) (29). Tällöin A muodostaa salatun viestin c = E B (j) ja allekirjoitusosasta s tekstin r = E B (s) = E B (D A (j)). Käyttäjä B soveltaa tähän funktiota E A D B : E A (D B (r)) = E A (D B (E B (D A (j)))) = E A (D A (j)) = j. Menettely E A löytyy avainkirjasta, mutta vain B tuntee menettelyn D B ja voi varmistaa salatun allekirjoituksen (c, r). A j E B E B (D A (j)) = r r r B E A (D B (r)) = j EA Avainkirja 17
21 SIGNATURE PROTOCOL WITH ENCRYPTING: A Public channel B Secret data Secret data Message j P E A, E B A encrypts message j: E B (j) = c (c, r) B B decrypts c: D B (c) = j A signs message j: D A (j) = s A encrypts signature s: E B (s) = r B verifies the signature: E A (D B (r)) = j Huomaa, että jos allekirjoitusta s ei salata, niin se voidaan avata seuravasti. Koska E A on julkisesti tiedossa, niin E A (s) = E A (D A (j)) = j, (30) jolloin alkuperäinen viesti j paljastuu. 4 RSA 4.1 RSA-salaus/RSA-encrypting RSA-menetelmässä (Rivest, Shamir, Adleman 1978) salaovifunktion muodostus perustuu vuosisatoja tutkittuun lukuteorian ongelmaan: kuinka annettu (suuri) luku n jaetaan alkutekijöihin? Yksisuuntaisen funktion perusta on nyt se, että annettujen lukujen tulo on nopeasti laskettavissa, mutta tekijöiden löytäminen tulosta vaatii nopeiltakin koneilta liikaa aikaa. Olkoot p ja q kaksi eri alkulukua ja n = pq. Tällöin φ(n) = (p 1)(q 1). Valitaan sellainen luku e, 1 < e < φ(n), että syt(e, φ(n)) = 1 (mikä tahansa alkuluku 18
22 e väliltä max{p, q} < e < φ(n) käy). Eukleideen algoritmin avulla löydetään ehdon 1 < d < φ(n) toteuttava luku d, jolle ed 1 (mod φ(n)) (31) eli ed = 1 + lφ(n), l N. (32) Lause 4.1. Olkoon n = pq, missä p, q P, p = q. Tällöin a lφ(n)+1 a (mod n), a Z, l N. (33) Todistus: 1) Jos syt(a, n) = 1, niin Euler-Fermat n (160) nojalla a φ(n) 1 (mod n) a lφ(n) 1 (mod n) (34) a lφ(n)+1 a (mod n). (35) 2) Jos syt(a, n) = 1, niin meillä on kolme tapausta: a 0 (mod n); (36) a 0 (mod p), a 0 (mod q); (37) a 0 (mod p), a 0 (mod q). (38) Tapaus (36): a 0 (mod n) a lφ(n)+1 0 (mod n). (39) Tapaus (37): Nyt a 0 (mod p) a lφ(n)+1 0 (mod p) (40) a lφ(n)+1 a (mod p). (41) 19
23 Toisaalta Pikku Fermat n (163) nojalla a q 1 1 (mod q) a (q 1)(p 1) 1 (mod q). (42) Koska niin φ(n) = φ(pq) = (q 1)(p 1), (43) a lφ(n)+1 a (mod q). (44) Soveltamalla Lausetta 9.1 tuloksiin (41) ja (44) saadaan Tapaus (38) kuten (37). a lφ(n)+1 a (mod pq). (45) Lause 4.2. a ed = a a Z n. (46) Todistus: Tuloksien (32) ja (33) mukaan a ed a (mod n), a Z. (47) Lause 4.3. Funktiot E(x) = x e, D(y) = y d (48) ovat bijektioita : Z n Z n ja D = E 1. (49) Todistus: Asetetaan E(x 1 ) = E(x 2 ) D(E(x 1 )) = D(E(x 2 )) (50) x ed 1 = x ed 2 x 1 = x 2 (51) joten E : Z n Z n on injektio ja siten bijektio. Siten myös D : Z n Z n on bijektio. Edelleen joten D = E 1. D(E(x)) = x x Z n, (52) 20
24 Määritelmä 4.4. Funktio E(x) = x e, E : Z n Z n (53) on RSA-kryptausfunktio, missä e on kryptauseksponentti (julkinen avain) ja D(y) = y d, D : Z n Z n (54) on RSA-dekryptausfunktio, missä d on dekryptauseksponentti (salainen avain). Esimerkki 4.5. p = 7, q = 13, n = pq = 91, φ(n) = 72, e = 5, d = 29 (55) Selkoteksti ok = 1410 = m 1 m 2, (56) m 1 = 14, m 2 = 10 (57) Kryptoteksti c 1 c 2, c 1 = m e 1 = 14 5 = 14, c 2 = m e 2 = 10 5 = 82 (58) Dekryptataan c d 1 = = 14 = o, c d 2 = = 10 = k. (59) Esimerkki 4.6. p = 101, q = 107, n = pq, φ(n) = 10600, e = 3, d = (60) Funktioiden arvot ovat nopeasti laskettavissa potenssiinkorotuksella modulo n, kun e ja d tunnetaan. Jos n ja e tunnetaan, niin E(m) on laskettavissa, mutta luvun d laskeminen ei onnistu ilman lukua φ(n), jonka löytäminen edellyttää alkulukujen p ja q tuntemista eli luvun n tekijöihinjakoa. Luku d on siis salaovi (trapdoor), jota ilman D = E 1 ei löydy, ja E on salaovifunktio. 21
25 RSA-järjestelmässä kukin käyttäjä U valitsee yllä olevaan tapaan alkuluvut p U ja q U, laskee luvun n U = p U q U, valitsee sitten luvun e U, 1 < e U < φ(n U ), ja laskee luvun d U, jolle e U d U 1 (mod φ(n U )). Avainkirjassa kukin käyttäjä julkaisee avaimensa K U = (n U, e U ), mutta pitää omana tietonaan luvun d U (ja luvut p U, q U ), joka muodostaa salaoven. Kun käyttäjä A haluaa lähettää viestin käyttäjälle B, hän muuntaa viestinsä joukon Z nb alkioiksi esimerkiksi seuraavassa kappaleessa esitettävällä tavalla ja toimii edellä kuvatun yleisen periaatteen mukaisesti. Viestin m Z nb salakirjoitus on E B (m) = m e B = c Z nb. Vain B tietää luvun d B, joten hänen avausfunktionsa on D B (c) = c d B = m e Bd B = m. Secret data A Public channel B Secret data p, q P 3, p = q m P n = n B = pq Encrypting n = n B, e = e B n B to be published c = m e Z n φ(n) = (p 1)(q 1) Cryptotext sent to B c B c B e = e B Z φ(n) e = e B to be published d = e 1 Z φ(n) Decrypting c d = m 22
26 Esimerkki 4.7. A Public channel B Secret data Secret data p = 1223, q = P n = n B = Encrypting n = n B, e = e B n B to be published c = m e = φ(n) = = e B = Z φ(n) Z n e = e B to be published Cryptotext sent to B c = B d = e 1 = Z φ(n) Decrypting c = B c d = = RSA-allekirjoitus/RSA-signature Esimerkki 4.8. p = 7, q = 13, n = pq = 91, φ(n) = 72, e A = 5, d A = 29. (61) A Public channel B Message j = 82 Z 91 E A (x) = x e A = x 5 Secret data D A (x) = x d A = x 29 A signs message j = 82: D A (82) = = 10 = s Message with a signature to B (j, s) = (82, 10) B B verifies the signature: E A (s) = 10 5 = 82 = j 23
27 Esimerkki 4.9. n A = p A q A = 119, φ(n A ) = 96, e A = 5, d A = 77. (62) n B = p B q B = 143, φ(n B ) = 120, e B = 7, d B = 103. (63) SIGNATURE PROTOCOL WITH ENCRYPTING: Note that we need to have n A < n B!! A Public channel B Secret data Secret data Message j = 2 Z 119 E A (x) = x 5, E B (x) = x 7 A encrypts message j = 2: E B (j) = j e B = 2 7 = (c, r) = (128, 98) B B decrypts c = 128: 128 = c Z 143 D B (c) = c d B = A signs message j Z 119 : = 2 = j D A (j) = j d A = 2 77 = 32 = s A encrypts signature s Z 143 : E B (s) = s e B = 32 7 = B verifies the signature: 98 = r Z 143 E A (D B (r)) = E A (r d B ) = E A ( ) = E A (32) = 32 5 = 2 = j. :) 4.3 Tekstin esittäminen joukon Z n alkioina Esimerkki Olkoot p = 1223, q = 1987, n = pq = , e = , d = (64) Selkoteksti plaintext = = m 1 m 2 m 3, (65) kannattaa jakaa paloihin m 1 = , m 2 = , m 3 = , (66) 24
28 joiden pituus (tässä 6 bittiä) on pienempi kuin luvun n = (tässä 7 bittiä). Siten varmuudella 0 m 1, m 2,... n 1, (67) joten luvut (66) voidaan tulkita yksikäsitteisiksi joukon Z n alkioiksi eli m 1, m 2,... Z n. (68) Kryptaaminen tapahtuu joukossa Z n seuraavasti c 1 c 2 c 3, c 1 = m e 1, c 2 = m e 2,..., (69) missä c 1, c 2,... Z n. (70) 4.4 RSA-turvallisuus/security Turvallisuus perustuu dekryptauseksponentin d piilottamiseen. Vaikka kryptauseksponentti e tunnetaan, niin tarvittaisiin φ(n) luvun d laskemiseen ed 1 (mod φ(n)). (71) Jos murretaan: 1) tekijöihinjako n = pq, (72) niin saataisiin φ(n). Tämä on vaikeaa isoille luvuille Neliöseula-hyökkäys/Quadratic sieve attack Neliöseula-hyökkäys=Quadratic sieve attack. Olkoon n = pq, p < q, p, q P 3. (73) 25
29 Asetetaan ja p = a b, q = a + b a, b Z +, (74) n = pq = a 2 b 2 < a 2 A := n a. (75) ALGORITMI I: Lasketaan lukuja a 2 n, a = A + k, k = 0, 1,..., ( 2 1)A, (76) ja tutkitaan tuleeko neliö: = b 2, b Z + ; a 2 n = = b 2, b Z +. (77) ALGORITMI II: Lasketaan lukuja n + b 2, b = 1,..., A 1, (78) ja tutkitaan tuleeko neliö. Huomautus Käytännössä ylärajat ovat kokoluokkaa log A. Esimerkki Olkoon n = 1147, A = 34. ALGORITMI I: Lasketaan lukuja (34 + k) , k = 0, 1,... (79) Koska (34 + 0) = 3 2, (80) niin saadaan hajotelma 1147 = = (81) ALGORITMI II: Lasketaan lukuja b 2, b = 1, 2,... (82) 26
30 = 1148 = ; (83) = 1151 = ; (84) = 1156 = = = (85) Esimerkki Olkoon n = 1891, A = 44. ALGORITMI I: = ; (86) = ; (87) = 225 = =... (88) Esimerkki Olkoon n = 403. ALGORITMI II: = ; (89) = ; (90) = 484 = 22 2 ; 403 = (91) Siten, jos alkutekijät ovat kaukana toisistaan, niin algoritmista tulee pitkä. Voidaan kokeilla seuraavaa algoritmia. ALGORITMI III: Valitaan luvun k Z + arvoja k = 3, 4,... ja lasketaan lukuja kn + c 2, c = 0, 1,..., (92) 27
31 ja tutkitaan tuleeko neliö.? kn + c 2 =? (93) Huomautus Tapauksessa k = 2, saataisiin kn + c 2 = 2n + c 2 = c = 0, 1,... (94) Todistus: Vastaoletus Aluksi huomataan 2n + c 2 =. (95) 2n = 4k (mod 4) (96) ja Siten Ristiriita n + c 2 = (mod 4). (97) 0 = 1 (mod 4). (98) Esimerkki Olkoon n = 403 ja k = 3, jolloin kn = ALGORITMI III: = ; (99) = 1225 = 35 2 ; 3n = (100) Ehto tarkoittaa, että kn + c 2 = (101) kn = d 2 c 2 (102) 28
32 d 2 c 2 (mod n). (103) Kongruenssit (103) muodostavatkin neliöseula-menetelmien perustan. ALGORITMI IV: Lasketaan kongruensseja? (A ± k) 2? (mod n). (104) Esimerkki Olkoon n = 403, A = 21. ALGORITMI IV: (mod n) 3 = ; (105) (mod n) 38 = ; (106) (mod n)... (107) ALGORITMI V: Kongruenssi d 2 c 2 (mod n) (108) on yhtäpitävää yhtälön (d c)(d + c) = ln, l Z (109) kanssa. Kun luvut c = d ovat isoja, niin lasketaan syt(d ± c, n) = d ±. (110) Jos pätee niin 1; d ± = n, (111) d ± {p, q}. (112) 29
33 Esimerkki Olkoon n = 799, A = 29. ALGORITMI V: (mod n); (113) (mod n); (114) (mod n); (115) (mod n). (116) Oikealle puolelle ei tullut neliöita mutta kertomalla kongruenssit ( ) puolittain saadaan ( ) 2 ( ) 2 (mod 799) (117) (mod 799) (118) Nyt Eukleideen algoritmilla ALGORITMI VI: ( )( ) = l 799. (119) syt(799, 141) = 47 {p, q} p = 17, q = 47. (120) Edellisiä kongruensseja (mod n) kannattaa laskea myös lukujen A j := jn, j = 1, 2, 3,... (121) ympäristöissä. Esimerkki Olkoon n = 4841, A 1 = 70, A 2 = 99, A 3 = 121. ALGORITMI VI: (mod n);... (122) 30
34 (mod n);... (123) (mod n);... (124) Kryptausfunktio-iteraatiot Osa kryptotekstiä voidaan mahdollisesti murtaa kohdistamaalla siihen kryptausfunktion iteraatioita. Lause Jos niin E h+1 (c) = c, h = 0, 1,..., (125) m = E h (c). (126) Todistus. Esimerkki Olkoot n = 65, e = 5. (127) Murretaan kryptotekstit c 1 = 32, c 2 = 49. (128) Laskemalla E(c 1 ) = E(32) = 2, E 2 (c 1 ) = E(2) = 32 = c 1, m = E(c 1 ) = 2. (129) 5 Diskreetti logaritmi 5.1 Diskreetti logaritmi kertolaskuryhmässä Olkoon H äärellinen syklinen kertalukua h = #H oleva ryhmä eli H = β = {β j j = 0, 1,..., h 1} = 31
35 {1, β, β 2,..., β h 1 }. (130) Huomaa, että β 0 = β h = β 2h =... = 1. (131) Määritelmä 5.1. Alkion y H diskreetti logaritmi kannan β suhteen on eksponentti k {0, 1,..., h 1}, jolle pätee y = β k. Tällöin käytetään merkintää k = log β y. (132) Lause 5.2. log β 1 = 0; (133) log β xy log β x + log β y (mod h); (134) log β x k k log β x (mod h). (135) Esimerkki 5.3. H = Z 71 = 7 on syklinen ja h = φ(71) = 70. Lasketaan siis (mod 71) ja eksponentit (mod 70). 7 2 = 49 log 7 49 = = 59 log 7 59 = = 2. log 7 2 = 6 7? = 33 log 7 33 =? 7 35 = 70 = 1. log 7 70 = log 7 1 = = 61 log 7 61 = = 1 = 7 0 log 7 1 = 0 32
36 5.2 Ryhmät Z n Primitiivijuuret Määritelmä 5.4. Olkoon n Z 2. Luku b {1, 2,..., n 1} on primitiivijuuri (mod n), jos Z n = b eli b generoi ryhmän Z n. Käytetään myös merkintää ind b y = log b y. Lause 5.5. Z n on syklinen Todistus: Lukuteoria A Siten n = 2, 4, p l, 2p l, l Z +, p P 3. (136) Primitiivijuuri (mod n) n {2, 4} P Z+ 3 2P Z+ 3. Huomaa, että Lause 5.6. Z n = b ord b = φ(n). (137) 5.3 Diskreetin logaritmin ongelma D.L=Diskreetin logaritmin ongelma. Olkoon H = β, #H = h, missä β ja h tunnetaan. Valitaan y H vapaasti. Määritä tällöin log β y, kun h=iso. ESIM: Valitaan h , 1 r h 1. Tällöin r = e t 1 2 t e 0, t Potenssin a r laskemiseen tarvitaan ainoastaan 2000 laskutoimitusta (Lemma 10.1), kun taas diskreetin logaritmin log β y määrääminen vaatii jopa laskua H:ssa. Eli D.L sanoo sen, että käytännössä potenssiinkorotus on nopeaa ja logaritmin määrittäminen :n hidasta. Huomautus = 1024 = 10 3 log 2 3 = log = =
37 log = 10 log 10 = Huomautus 5.8. D.L ongelman vaikeus riippuu valitusta ryhmästä: (a) (H, ) = (Z n, +), missä Z n = β = {k1 k Z} = {0, 1, 2,..., n 1}. Tässä D.L on HELPPO. (b) (H, ) = (Z n, ), n = p l, 2p l, p P 3. Tässä D.L on yleensä VAIKEA. (c) (H, ) = (F q, ) eli äärellisen kunnan kertolaskuryhmä, missä D.L on yleensä VAIKEA. (d) (H, ) = (E, +) eli elliptisen käyrän yhteenlaskuryhmä, missä D.L on yleensä VAIKEA. 6 Diffie-Hellman avaimenvaihto Tarkastellaan järjestelmää yleisessä syklisessä ryhmässä H = β, h = #H. Siis ryhmä H sen generaattori β ja kertaluku h ovat kaikkien käyttäjien U = A, B, C,... tiedossa. Jokainen käyttäjä U = A, B, C,... valitsee salaisen avaimen m U =eksponentin, jonka avulla U laskee luvun k U = β m U, joka julkaistaan. Olkoot a = m A, b = m B,... (138) salaisia avaimia (secret keys) ja k A (= β a ), k B (= β b ),... (139) julkisia avaimia (public keys). Tällöin käyttäjä A laskee luvun k A,B = (k B ) a (140) ja vastaavasti käyttäjä B laskee luvun k B,A = (k A ) b. (141) 34
38 Nyt k A,B = (k B ) a = (β b ) a = (β a ) b = (k A ) b = k B,A (142) eli saadaan yhteinen avain. A Public channel B Secret data Secret data H = β, h = #H a = m A k A = β a b = m B k B = β b k A B k A B A k B A k B k A,B = (k B ) a k B,A = (k A ) b Esimerkki 6.1. Olkoon ryhmänä Z 71 = 7, (143) ja julkisina avaimina k A = 59, k B = 62. (144) A: Salainen eksponentti a = 3. Laskee k A,B = (k B ) a = 62 3 = 52. (145) Toisaalta B: Salainen eksponentti b = 17. Laskee k B,A = (k A ) 17 = = 52. (146) Siten saadaan yhteinen avain
39 A Public channel B Secret data Secret data H = Z 71 = 7, h = 70 a = 3 b = 17 k A = 7 3 = 59 k B = 7 17 = 62 k A = 59 B k A = 59 B A k B = 62 A k B = 62 k A,B = 62 3 = 52 k B,A = = 52 Useampi käyttäjä: U salainen avain= x julkinen k U (= β x ) A a k A B b k B C c k C.. U Yhteinen avain k U,Y = (k Y ) x A k A,B k A,C B k B,A k B,C C k C,A k C,B. missä k X,Y = k Y,X X, Y {A, B, C,...} ja käyttäjien X ja Y yhteinen avain on vain X:n ja Y :n tiedossa. Järjestelmän turvallisuus perustuu Diffie-Hellman ongelmaan. 6.1 Diffie-Hellman ongelma D.H=Diffie-Hellman ongelma. Määrää β ab luvuista β, β a, β b, h (a, b salaisia). 36
40 Yleisesti oletetaan, että D.H D.L. Perustelua: Olkoot y = β a, z = β b. Tehdään yritelmiä: 1) a = log β y, b = log β z ab β ab, mutta pitäisi laskea logaritmit. yz = β a+b a + b = log β (yz) 2) a, b ab, mutta jälleen tarvitaan logaritmit. y = z βa b a b = log β ( y ) z 3) Jotain muuta...? Siten, vaikka käyttäjä C tietää luvut k A ja k B, niin C = A, B ei voi päätellä ilman logaritmeja A:n ja B:n yhteistä avainta k A,B. 7 ElGamal kryptausjärjestelmä Nyt R = H, S = H H ja E : H H H. Tässäkin jokainen käyttäjä U = A, B, C,... valitsee salaisen avaimen m U =eksponentin, jonka avulla U laskee luvun k U = β m U, joka julkaistaan. Seurataan miten käyttäjä A kryptaa viestin m ja lähettää sen käyttäjälle B. Julkiset avaimet k A = β a, k B = β b. (147) A: Määrittää yhteisen avaimen k A,B = k B a (148) ja laskee luvun v A = mk B a = mk A,B. (149) 37
41 salaisia julkisia A a m k A E A (m) = (k A, v A ) v A = mk A,B B b k B Nyt käyttäjä B dekryptaa saadun sanoman: B: Laskee aluksi yhteisen avaimen eli ja jakaa k B,A = k A b = k A,B (150) v A k B,A = mk A,B k A,B = m. (151) TURVALLISUUDESTA: 1. Avain a on vaihdettava jokaisen käyttökerran jälkeen, sillä jos C on saanut tiedon aikaisemmasta viestistä m 1, niin v 1 = m 1 k B,A m 2 = v 2 m 1. (152) v 2 = m 2 k v 1 B,A 2. Muutoin järjestelmän turvallisuus perustuu D.H. ongelmaan. Esimerkki 7.1. Jatketaan Esimerkin 6.1 parametreilla. Olkoon lähetettävä viesti m = 41. Nyt A kryptaa: B dekryptaa v A = mk A,B = = 2. (153) v A k A,B = 2 52 = 41. (154) Esimerkki 7.2. Jatketaan Esimerkkien 6.1 ja 7.1 parametreilla. Merkitään m 1 = 41 ja v 1 = 2 ja olkoon uusi viesti m 2 = 3, jolloin v 2 = 14. Jos C tietää aikaisemman viestin m 1 = 41, niin laskemalla käyttäjä C saa selville uuden viestin m 2 = 3. m 1 v 2 v 1 = = 3 (155) 38
42 8 Huomautuksia Edellä ei ole käsitelty esiteltyjen julkisen avaimen järjestelmien heikkouksia, kuten murtamismahdollisuuksia. RSA:ta pidetään varsin turvallisena, kun p ja q ovat riittävän suuria sekä niiden valinnassa otetaan huomioon eräitä rajoituksia. Vuonna 2010 turvallisena avainpituutena pidetään 1024 bittiä (reilut 300 numeroa 10-kanteisena). Myös 512-bittiset avaimet antavat melko hyvän suojan, vaikkeivat ne järeitä hyökkäyksiä kestäkään. On arvioitu, että parin vuosikymmenen kuluttua RSA-avaimen olisi oltava 3072-bittinen (3072 = , ) ollakseen turvallinen. Myös diskreetti logaritmi lienee luotettava, kun kunta Z p (tai yleisempi äärellinen kunta) on riittävän suuri. Voidaan myös kysyä täsmällisempää tietoa eri menetelmien vaatimien laskutoimitusten määristä eli tarvittavasta laskenta-ajasta. Luonnollisesti tulee esille myös kysymys siitä, miten esimerkiksi RSA:n tarvitsemia suuria alkulukuja on löydettävissä. Syventävien opintojen kurssilla Kryptografia tarkastellaan lähemmin näitä kysymyksiä sekä esitellään menetelmiä, jotka vaativat syvällisempiä matematiikan tietoja. 9 Lukuteoriaa 9.1 Eräs kongruenssiryhmä Lause 9.1. A) Olkoot p, q P ja p = q. Näytä, että yhtälöistä a b (mod p) (156) a b (mod q) seuraa a b (mod pq). (157) B) Olkoot m i Z ja m i m j kaikilla i = j. Näytä, että yhtälöistä a b (mod m i ) i = 1,..., r (158) seuraa a b (mod m 1 m r ). (159) 39
43 9.2 Euler-Fermat Lause 9.2. EULER-FERMAT: Olkoot a Z, n Z 2 annettu ja a n. Tällöin a φ(n) 1 (mod n). (160) Lause 9.2 voidaan lausua myös muodossa: a φ(n) = 1, a Z n. (161) Tästä käy ilmi, että a 1 = a φ(n) 1, (162) joten käänteisalkio a 1 saadaan potenssiinkorotuksella laskemalla a φ(n) 1. Lause 9.3. FERMAT N PIKKULAUSE: Olkoon p P annettu. Tällöin a p 1 1 (mod p), jos p a Z; (163) a p a (mod p), a Z. (164) Olettaen (163) todistetaan (164): Jos syt(a, p) = 1, niin Pikku Fermat n (163) nojalla a p a (mod p). (165) Jos p a, niin a 0 (mod p) a p 0 (mod p) (166) a p a (mod p). (167) 40
44 10 Nopeaa potenssilaskentaa 10.1 Nopeaa potenssilaskentaa/kertolaskuryhmässä Lasketaan ryhmässä H alkion a H potenssi: a r, r Z +, r h = #H, r = e t 1 2 t e 0, e i {0, 1}, e t 1 = 1. (168) Aluksi: a 1 = a a 2 = a 2 1 = a 21 a 3 = a 2 2 = a 22 (169) Yhteensä t 1 kertolaskua. Seuraavaksi:. a t = a 2 t 1 = a 2t 1. a r = a e t 1 t missä korkeintaan t 1 kertolaskua. Siten a e t 2 t 1... a e 0 1, (170) Lause Olkoon 1 r h = #H. Tällöin potenssin a r laskemiseen tarvitaan ryhmän H laskutoimitusta. 2t 2 2 log 2 r 2 log 2 h (171) Esimerkki a Z p, #Z p = p 1 = h. (172) r p t (173) 41
45 11 Funktioista Kurssilta Johdatus matemaattiseen päättelyyn löytyy peruskäsitteet, kuten injektio, surjektio ja bijektio. Lause Olkoon ja #A = #B (174) f : A B (175) injektio. Tällöin f : A B on bijektio. 42
SALAUSMENETELMÄT 801346A, 4 op
Luentorunko ja harjoitustehtävät SALAUSMENETELMÄT 801346A, 4 op Pohjautuu Leena Leinosen, Marko Rinta-ahon, Tapani Matala-ahon ja Keijo Väänäsen luentoihin Sisältö 1 Johdanto 2 2 Lukuteoriaa 4 2.1 Jakoyhtälö
LisätiedotSalausmenetelmät 2015/Harjoitustehtävät
Salausmenetelmät 2015/Harjoitustehtävät 1. Ystäväsi K lähettää sinulle Caesarin yhteenlaskumenetelmällä kirjoitetun viestin ÖHXHHTTLOHUPSSHSSH R. Avaa viesti. 2. Avaa Caesarin yhteenlaskumenetelmällä laadittu
LisätiedotHarjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138
Harjoitustehtävät Laskarit: Ti 12 14 KO148 Ke 12 14 KO148 Tehtävät viikko 37 : 3, 4, 5, 9a, 10, 11 38 : 18a, b, 20, 21, 23a, b, 26, 28b 39 : 17, 29, 31, 32, 33, 35 40 : 8, 16, 34, 37, 38a, b 41 : 40, 42,
LisätiedotLuentorunko ja harjoitustehtävät. SALAUSMENETELMÄT (801346A) 4 op, 2 ov
Luentorunko ja harjoitustehtävät SALAUSMENETELMÄT (801346A) 4 op, 2 ov Keijo Väänänen I JOHDANTO Salakirjoitukset kurssilla tarkastelemme menetelmiä, jotka mahdollistavat tiedon siirtämisen tai tallentamisen
LisätiedotRSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017
RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro. 1976269 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017 Sisältö Johdanto 2 1 Salausmenetelmien yleisiä periaatteita 3 2 Määritelmiä ja
LisätiedotSalakirjoitusmenetelmiä
Salakirjoitusmenetelmiä LUKUTEORIA JA LOGIIKKA, MAA 11 Salakirjoitusten historia on tuhansia vuosia pitkä. On ollut tarve lähettää viestejä, joiden sisältö ei asianomaisen mielestä saanut tulla ulkopuolisten
Lisätiedotpdfmark=/pages, Raw=/Rotate 90 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN Lukujoukot Sekalaisia merkintöjä...
pdfmark=/pages, Raw=/Rotate 90 Sisältö 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN 0-2 2 Merkintöjä 0-3 2.1 Lukujoukot................... 0-3 2.2 Sekalaisia merkintöjä.............. 0-4 2.3 Tärkeitä kaavoja................
LisätiedotLukuteorian kertausta
Lukuteorian kertausta Jakoalgoritmi Jos a, b Z ja b 0, niin on olemassa sellaiset yksikäsitteiset kokonaisluvut q ja r, että a = qb+r, missä 0 r < b. Esimerkki 1: Jos a = 60 ja b = 11, niin 60 = 5 11 +
Lisätiedoton Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään
5. Primitiivinen alkio 5.1. Täydennystä lukuteoriaan. Olkoon n Z, n 2. Palautettakoon mieleen, että kokonaislukujen jäännösluokkarenkaan kääntyvien alkioiden muodostama osajoukko Z n := {x Z n x on kääntyvä}
LisätiedotMS-A0402 Diskreetin matematiikan perusteet
MS-A0402 Diskreetin matematiikan perusteet Osa 4: Modulaariaritmetiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Modulaariaritmetiikka Jakoyhtälö Määritelmä 1 Luku
LisätiedotRSA-salakirjoitus. Simo K. Kivelä, Apufunktioita
Simo K. Kivelä, 25.1.2005 RSA-salakirjoitus Ron Rivest, Adi Shamir ja Leonard Adleman esittivät vuonna 1978 salakirjoitusmenettelyn, jossa tietylle henkilölle osoitetut viestit voidaan salakirjoittaa hänen
Lisätiedot2017 = = = = = = 26 1
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu
LisätiedotLukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)
Lukuteoria Lukuteoria on eräs vanhimmista matematiikan aloista. On sanottu, että siinä missä matematiikka on tieteiden kuningatar, on lukuteoria matematiikan kuningatar. Perehdymme seuraavassa luonnollisten
Lisätiedota ord 13 (a)
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 4, MALLIRATKAISUT Tehtävä 1. Etsi asteet ord p (a) luvuille a 1, 2,..., p 1 kun p = 13 ja kun p = 17. (ii) Mitkä jäännösluokat ovat primitiivisiä juuria (mod
LisätiedotNimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla
6. Digitaalinen allekirjoitus Digitaalinen allekirjoitus palvelee samaa tarkoitusta kuin perinteinen käsin kirjotettu allekirjoitus, t.s. Liisa allekirjoittaessaan Pentille lähettämän viestin, hän antaa
LisätiedotLUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että
LUKUTEORIA A Harjoitustehtäviä, kevät 2013 1. Olkoot a, b, c Z, p P ja k, n Z +. (a) Osoita, että jos niin Osoita, että jos niin (c) Osoita, että jos niin (d) Osoita, että (e) Osoita, että a bc ja a c,
LisätiedotOngelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?
Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa? 2012-2013 Lasse Lensu 2 Ongelma 2: Miten tietoa voidaan (uudelleen)koodata tehokkaasti? 2012-2013 Lasse Lensu
Lisätiedot802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita
802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 25 Lukujoukkoja N = {0, 1, 2,..., GOOGOL 10,...} = {ei-negatiiviset
LisätiedotMatriisien tulo. Matriisit ja lineaarinen yhtälöryhmä
Matriisien tulo Lause Olkoot A, B ja C matriiseja ja R Tällöin (a) A(B + C) =AB + AC, (b) (A + B)C = AC + BC, (c) A(BC) =(AB)C, (d) ( A)B = A( B) = (AB), aina, kun kyseiset laskutoimitukset on määritelty
Lisätiedot1 Lineaariavaruus eli Vektoriavaruus
1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus
LisätiedotFermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma
Fermat n pieni lause Heikki Pitkänen Matematiikan kandidaatintutkielma Jyväskylän yliopisto Matematiikan ja tilastotieteen laitos Kevät 2009 Sisältö Johdanto 3 1. Fermat n pieni lause 3 2. Pseudoalkuluvut
Lisätiedot802320A LINEAARIALGEBRA OSA I
802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä
LisätiedotEsko Turunen Luku 3. Ryhmät
3. Ryhmät Monoidia rikkaampi algebrallinen struktuuri on ryhmä: Määritelmä (3.1) Olkoon joukon G laskutoimitus. Joukko G varustettuna tällä laskutoimituksella on ryhmä, jos laskutoimitus on assosiatiivinen,
LisätiedotLineaariset kongruenssiyhtälöryhmät
Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................
Lisätiedota b 1 c b n c n
Algebra Syksy 2007 Harjoitukset 1. Olkoon a Z. Totea, että aina a 0, 1 a, a a ja a a. 2. Olkoot a, b, c, d Z. Todista implikaatiot: a) a b ja c d ac bd, b) a b ja b c a c. 3. Olkoon a b i kaikilla i =
LisätiedotMatriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A =
1 / 21 Määritelmä 1 Reaaliluvuista a ij, missä i 1,..., k ja j 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A... a k1 a k2 a kn sanotaan k n matriisiksi. Usein merkitään A [a ij ]. Lukuja
LisätiedotSalausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä
Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.4 Kongruenssien laskusääntöjä Seuraavassa lauseessa saamme kongruensseille mukavia laskusääntöjä.
LisätiedotAlgebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) OT. 1. a) Määritä seuraavat summat:
Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) 21.2.-25.2.2011 OT 1. a) Määritä seuraavat summat: [2] 4 + [3] 4, [2] 5 + [3] 5, [2] 6 + [2] 6 + [2] 6, 7 [3]
LisätiedotR : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on
0. Kertausta ja täydennystä Kurssille Äärelliset kunnat tarvittavat esitiedot löytyvät Algebran kurssista [Alg]. Hyödyksi voivat myös olla (vaikka eivät välttämättömiä) Lukuteorian alkeet [LTA] ja Salakirjoitukset
Lisätiedot1 Lukujen jaollisuudesta
Matematiikan mestariluokka, syksy 2009 1 1 Lukujen jaollisuudesta Lukujoukoille käytetään seuraavia merkintöjä: N = {1, 2, 3, 4,... } Luonnolliset luvut Z = {..., 2, 1, 0, 1, 2,... } Kokonaisluvut Kun
LisätiedotJOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT Tehtävä 1. (i) Olkoot n, d 1 ja d n. Osoita, että (k, n) d jos ja vain jos k ad, missä (a, n/d) 1. (ii) Osoita, että jos (m j, m k ) 1 kun
LisätiedotEsimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.
Jaetaan ryhmä G = Z 17 n H = 4 sivuluokkiin. Ratkaisu: Koska 17 on alkuluku, #G = 16, alkiona jäännösluokat a, a = 1, 2,..., 16. Määrätään ensin n H alkiot: H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4
Lisätiedotn (n 1) avainten vaihtoa. Miljoonalle käyttäjälle avainten vaihtoja tarvittaisiin
3. RSA Salausjärjestelmien käytön perusongelma oli pitkään seuraava: Kun Liisa ja Pentti haluavat vaihtaa salakirjoitettuja viestejä keskenään ja jos heidän käyttämänsä salausmenetelmä on symmetrinen,
Lisätiedotkaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja
Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi binääristä assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme muuten samat ominaisuudet kuin kokonaisluvuilta,
LisätiedotSALAUSMENETELMÄT. Osa 2. Etätehtävät
SALAUSMENETELMÄT Osa 2 Etätehtävät A. Kysymyksiä, jotka perustuvat luentomateriaaliin 1. Määrittele, mitä tarkoitetaan tiedon eheydellä tieoturvan yhteydessä. 2. Määrittele, mitä tarkoittaa kiistämättömyys
LisätiedotEnnakkotehtävän ratkaisu
Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb
LisätiedotKuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara
Kuvauksista ja relaatioista Jonna Makkonen Ilari Vallivaara 20. lokakuuta 2004 Sisältö 1 Esipuhe 2 2 Kuvauksista 3 3 Relaatioista 8 Lähdeluettelo 12 1 1 Esipuhe Joukot ja relaatiot ovat periaatteessa äärimmäisen
Lisätiedotd Z + 17 Viimeksi muutettu
5. Diffien ja Hellmanin avaintenvaihto Miten on mahdollista välittää salatun viestin avaamiseen tarkoitettu avain Internetin kaltaisen avoimen liikennöintiväylän kautta? Kuka tahansahan voi (ainakin periaatteessa)
Lisätiedot9 Matriisit. 9.1 Matriisien laskutoimituksia
9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä
LisätiedotEulerin lauseen merkitys kryptauksen kannalta
Eulerin lauseen merkitys kryptauksen kannalta Pro gradu -tutkielma Juho Parviainen 180911 Fysiikan ja matematiikan laitos Itä-Suomen yliopisto 13.11.2015 Sisältö 1 Johdanto 3 2 Lukuteoria 4 2.1 Jaollisuus.............................
LisätiedotSalausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)
Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai
Lisätiedot802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä
802354A Algebran perusteet Luentorunko Kevät 2018 Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä Sisältö 1 Lukuteoriaa 3 1.1 Jakoalgoritmi ja alkuluvut.................... 3 1.2 Suurin yhteinen tekijä......................
LisätiedotApprobatur 3, demo 5, ratkaisut
Approbatur 3, demo 5, ratkaisut 51 Tehtävänä on luetella kaikki joukon S 4 alkiot eli neljän alkion permutaatiot Tämä tarkoittaa kaikkia eri tapoja kuvata joukko {1, 2, 3, 4} bijektiivisesti itselleen
LisätiedotMS-A0402 Diskreetin matematiikan perusteet
MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A
Lisätiedot(2) C on joukko, jonka alkioita kutsutaan sala(kirjoite)tuiksi viesteiksi (engl. ciphertext);
2. Salausjärjestelmä Salausjärjestelmien kuvaamisessa käytetään usein apuna kolmea henkilöä : Liisa (engl. Alice), Pentti (engl. Bob) ja Erkki (eng. Eve eavesdrop 10 ). Salausjärjestelmillä pyritään viestin
LisätiedotLUKUTEORIA johdantoa
LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,
LisätiedotKäänteismatriisi 1 / 14
1 / 14 Jokaisella nollasta eroavalla reaaliluvulla on käänteisluku, jolla kerrottaessa tuloksena on 1. Seuraavaksi tarkastellaan vastaavaa ominaisuutta matriiseille ja määritellään käänteismatriisi. Jokaisella
LisätiedotMikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen
Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen anton.mallasto@aalto.fi. 1. 2. Muista. Ryhmän G aliryhmä H on normaali aliryhmä, jos ah = Ha kaikilla a G. Toisin
LisätiedotAlgebra I, harjoitus 5,
Algebra I, harjoitus 5, 7.-8.10.2014. 1. 2 Osoita väitteet oikeiksi tai vääriksi. a) (R, ) on ryhmä, kun asetetaan a b = 2(a + b) aina, kun a, b R. (Tässä + on reaalilukujen tavallinen yhteenlasku.) b)
LisätiedotRSA-salaus ja sen lukuteoreettinen pohja
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Pekka Larja RSA-salaus ja sen lukuteoreettinen pohja Informaatiotieteiden yksikkö Matematiikka Toukokuu 2011 Tampereen yliopisto Informaatiotieteiden yksikkö LARJA,
LisätiedotLineaarialgebra ja matriisilaskenta II. LM2, Kesä /141
Lineaarialgebra ja matriisilaskenta II LM2, Kesä 2012 1/141 Kertausta: avaruuden R n vektorit Määritelmä Oletetaan, että n {1, 2, 3,...}. Avaruuden R n alkiot ovat jonoja, joissa on n kappaletta reaalilukuja.
LisätiedotJohdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
LisätiedotKoodausteoria, Kesä 2014
Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 4.7 Syklisen koodin jälkiesitys Olkoon F = F q ja K = F q m kunnan F laajennuskunta. Määritelmä 4.7.1. Kuntalaajennuksen K/F jälkifunktioksi
Lisätiedot802118P Lineaarialgebra I (4 op)
802118P Lineaarialgebra I (4 op) Tero Vedenjuoksu Oulun yliopisto Matemaattisten tieteiden laitos 2012 Lineaarialgebra I Yhteystiedot: Tero Vedenjuoksu tero.vedenjuoksu@oulu.fi Työhuone M206 Kurssin kotisivu
LisätiedotShorin algoritmin matematiikkaa Edvard Fagerholm
Edvard Fagerholm 1 Määritelmiä Määritelmä 1 Ryhmä G on syklinen, jos a G s.e. G = a. Määritelmä 2 Olkoon G ryhmä. Tällöin alkion a G kertaluku ord(a) on pienin luku n N \ {0}, jolla a n = 1. Jos lukua
Lisätiedot3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset
31 MS-A0004/A0006 Matriisilaskenta 3 Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2292015 Lineaariset yhtälöt ovat vektoreille luonnollisia yhtälöitä, joita
LisätiedotALKULUKUJA JA MELKEIN ALKULUKUJA
ALKULUKUJA JA MELKEIN ALKULUKUJA MINNA TUONONEN Versio: 12. heinäkuuta 2011. 1 2 MINNA TUONONEN Sisältö 1. Johdanto 3 2. Tutkielmassa tarvittavia määritelmiä ja apulauseita 4 3. Mersennen alkuluvut ja
LisätiedotJohdatus matematiikkaan
Johdatus matematiikkaan Luento 7 Mikko Salo 11.9.2017 Sisältö 1. Funktioista 2. Joukkojen mahtavuus Funktioista Lukiomatematiikassa on käsitelty reaalimuuttujan funktioita (polynomi / trigonometriset /
LisätiedotAlgebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT
Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.
Lisätiedot1 Algebralliset perusteet
1 Algebralliset perusteet 1.1 Renkaat Tämän luvun jälkeen opiskelijoiden odotetaan muistavan, mitä ovat renkaat, vaihdannaiset renkaat, alirenkaat, homomorfismit, ideaalit, tekijärenkaat, maksimaaliset
Lisätiedot802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä
802354A Algebran perusteet Luentorunko Kevät 2017 Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä Sisältö 1 Lukuteoriaa 3 1.1 Jakoalgoritmi ja alkuluvut.................... 3 1.2 Suurin yhteinen tekijä......................
Lisätiedot802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO
8038A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 016 Sisältö 1 Irrationaaliluvuista Antiikin lukuja 6.1 Kolmio- neliö- ja tetraedriluvut...................
Lisätiedot(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)
1. Pätevätkö seuraavat kongruenssiyhtälöt? (a) 40 13 (mod 9) (b) 211 12 (mod 2) (c) 126 46 (mod 3) Ratkaisu. (a) Kyllä, sillä 40 = 4 9+4 ja 13 = 9+4. (b) Ei, sillä 211 on pariton ja 12 parillinen. (c)
Lisätiedotrm + sn = d. Siispä Proposition 9.5(4) nojalla e d.
9. Renkaat Z ja Z/qZ Tarkastelemme tässä luvussa jaollisuutta kokonaislukujen renkaassa Z ja todistamme tuloksia, joita käytetään jäännösluokkarenkaan Z/qZ ominaisuuksien tarkastelussa. Jos a, b, c Z ovat
LisätiedotEsitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:
MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön
LisätiedotLiite 2. Ryhmien ja kuntien perusteet
Liite 2. Ryhmien ja kuntien perusteet 1. Ryhmät 1.1 Johdanto Erilaisissa matematiikan probleemoissa törmätään usein muotoa a + x = b tai a x = b oleviin yhtälöihin, joissa tuntematon muuttuja on x. Lukujoukkoja
Lisätiedot6. Tekijäryhmät ja aliryhmät
6. Tekijäryhmät ja aliryhmät Tämän luvun tavoitteena on esitellä konstruktio, jota kutsutaan tekijäryhmän muodostamiseksi. Konstruktiossa lähdetään liikkeelle jostakin isosta ryhmästä, samastetaan alkioita,
Lisätiedot802328A LUKUTEORIAN PERUSTEET OSA II BASICS OF NUMBER THEORY PART II
802328A LUKUTEORIAN PERUSTEET OSA II BASICS OF NUMBER THEORY PART II Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 94 KERTOMAT, BINOMIKERTOIMET Kertoma/Factorial Määritellään
LisätiedotJohdatus matematiikkaan
Johdatus matematiikkaan Luento 6 Mikko Salo 6.9.2017 Sisältö 1. Kompleksitaso 2. Joukko-oppia Kompleksiluvut Edellisellä luennolla huomattiin, että toisen asteen yhtälö ratkeaa aina, jos ratkaisujen annetaan
LisätiedotEsko Turunen MAT Algebra1(s)
Määritelmä (4.1) Olkoon G ryhmä. Olkoon H G, H. Jos joukko H varustettuna indusoidulla laskutoimituksella on ryhmä, se on ryhmän G aliryhmä. Jos H G on ryhmän G aliryhmä, merkitään usein H G, ja jos H
Lisätiedot5. Julkisen avaimen salaus
Osa3: Matematiikkaa julkisen avaimen salausten taustalla 5. Julkisen avaimen salaus Public key cryptography 5. 1 Julkisen avaimen salausmenetelmät - Diffien ja Hellmannin periaate v. 1977 - RSA:n perusteet
LisätiedotDiskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
LisätiedotAlgebran perusteet. 44 ϕ(105) = (105). Näin ollen
Algebran perusteet Harjoitus 4, ratkaisut kevät 2016 1 a) Koska 105 = 5 21 = 3 5 7 ja 44 = 2 2 11, niin syt(44, 105) = 1 Lisäksi ϕ(105) = ϕ(3 5 7) = (3 1)(5 1)(7 1) = 2 4 6 = 48, joten Eulerin teoreeman
LisätiedotTietoturva P 5 op
811168P 5 op 5. Oulun yliopisto Tietojenkäsittelytieteiden laitos Oppimisavoitteet tunnistaa kryptografian asema tietoturvassa: missä käytetään; mitä salaus pystyy takamaan määritellä kryptografian peruskäsitteistöä
LisätiedotTalousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi
Talousmatematiikan perusteet: Luento 11 Lineaarikuvaus Matriisin aste Käänteismatriisi Viime luennolla Käsittelimme matriisien peruskäsitteitä ja laskutoimituksia Vakiolla kertominen, yhteenlasku ja vähennyslasku
LisätiedotKuvaus. Määritelmä. LM2, Kesä /160
Kuvaus Määritelmä Oletetaan, että X ja Y ovat joukkoja. Kuvaus eli funktio joukosta X joukkoon Y on sääntö, joka liittää jokaiseen joukon X alkioon täsmälleen yhden alkion, joka kuuluu joukkoon Y. Merkintä
Lisätiedot1. Esitä rekursiivinen määritelmä lukujonolle
Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)
LisätiedotMatematiikan mestariluokka, syksy 2009 7
Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty
LisätiedotEräitä RSA-salauksen haavoittuvuuksia
Eräitä RSA-salauksen haavoittuvuuksia Helinä Anttila Matematiikan pro gradu Jyväskylän yliopisto Matematiikan ja tilastotieteen laitos Kevät 206 Tiivistelmä: Helinä Anttila, Eräitä RSA-salauksen haavoittuvuuksia,
LisätiedotRationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Liisa Lampinen Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta Informaatiotieteiden yksikkö Matematiikka Kesäkuu 2016 Tampereen
Lisätiedot802320A LINEAARIALGEBRA OSA III
802320A LINEAARIALGEBRA OSA III Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 56 Määritelmä Määritelmä 1 Olkoot V ja W lineaariavaruuksia kunnan K yli. Kuvaus L : V
Lisätiedotrenkaissa. 0 R x + x =(0 R +1 R )x =1 R x = x
8. Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme näiltä kahdella laskutoimituksella varustetuilta
Lisätiedot= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120
Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen
LisätiedotAlgebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 9 (6 sivua) OT
Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 9 (6 sivua) 28.3.-1.4.2011 OT 1. a) Osoita, että rengas R = {[0] 10, [2] 10, [4] 10, [6] 10, [8] 10 } on kokonaisalue. Mikä
LisätiedotMääritelmä 1. Olkoot V ja W lineaariavaruuksia kunnan K yli. Kuvaus L : V. Termejä: Lineaarikuvaus, Lineaarinen kuvaus.
1 Lineaarikuvaus 1.1 Määritelmä Määritelmä 1. Olkoot V ja W lineaariavaruuksia kunnan K yli. Kuvaus L : V W on lineaarinen, jos (a) L(v + w) = L(v) + L(w); (b) L(λv) = λl(v) aina, kun v, w V ja λ K. Termejä:
LisätiedotTekijäryhmät ja homomorsmit
Tekijäryhmät ja homomorsmit LuK-tutkielma Henna Isokääntä 1953004 henna.isokaanta@gmail.com Matemaattiset tieteet Oulun yliopisto Kevät 2019 Sisältö Johdanto 1 1 Tekijäryhmät 1 2 Homomorsmit 3 Lähdeluettelo
LisätiedotBM20A0700, Matematiikka KoTiB2
BM20A0700, Matematiikka KoTiB2 Luennot: Matti Alatalo, Harjoitukset: Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luku 7. 1 Kurssin sisältö Matriiseihin
LisätiedotLineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44
Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44 Tehtävät 1-3 lasketaan alkuviikon harjoituksissa, verkkotehtävien dl on lauantaina aamuyöllä. Tehtävät 4 ja 5 lasketaan loppuviikon harjoituksissa.
LisätiedotLineaarialgebra ja matriisilaskenta I
Lineaarialgebra ja matriisilaskenta I 29.5.2013 HY / Avoin yliopisto Jokke Häsä, 1/26 Kertausta: Kanta Määritelmä Oletetaan, että w 1, w 2,..., w k W. Vektorijono ( w 1, w 2,..., w k ) on aliavaruuden
LisätiedotJohdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 3 Joukko-oppia 4 Funktioista Funktio eli kuvaus on matematiikan
Lisätiedot110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3
4 Matriisit ja vektorit 4 Matriisin käsite 42 Matriisialgebra 0 2 2 0, B = 2 2 4 6 2 Laske A + B, 2 A + B, AB ja BA A + B = 2 4 6 5, 2 A + B = 5 9 6 5 4 9, 4 7 6 AB = 0 0 0 6 0 0 0, B 22 2 2 0 0 0 6 5
LisätiedotInsinöörimatematiikka D
Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi A. Lepistö alepisto@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2016 M. Hirvensalo V. Junnila A. Lepistö
LisätiedotÄärellisesti generoitujen Abelin ryhmien peruslause
Tero Harju (2008/2010) Äärellisesti generoitujen Abelin ryhmien peruslause Merkintä X on joukon koko ( eli #X). Vapaat Abelin ryhmät Tässä kappaleessa käytetään Abelin ryhmille additiivista merkintää.
Lisätiedot802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III
802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 77 Irrationaaliluvuista Määritelmä 1 Luku α C \ Q on
LisätiedotJohdatus tekoälyn taustalla olevaan matematiikkaan
Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27 Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti
LisätiedotVille Turunen: Mat Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007
Ville Turunen: Mat-1.1410 Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007 Materiaali: kirjat [Adams R. A. Adams: Calculus, a complete course (6th edition), [Lay D. C. Lay: Linear
LisätiedotH = : a, b C M. joten jokainen A H {0} on kääntyvä matriisi. Itse asiassa kaikki nollasta poikkeavat alkiot ovat yksiköitä, koska. a b.
10. Kunnat ja kokonaisalueet Määritelmä 10.1. Olkoon K rengas, jossa on ainakin kaksi alkiota. Jos kaikki renkaan K nollasta poikkeavat alkiot ovat yksiköitä, niin K on jakorengas. Kommutatiivinen jakorengas
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 6. Alkeislukuteoria 6.1 Jaollisuus Käsitellään kokonaislukujen perusominaisuuksia: erityisesti jaollisuutta Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,...
LisätiedotMatikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81
Matikkapaja keskiviikkoisin klo 14-16 Lineaarialgebra (muut ko) p. 1/81 Lineaarialgebra (muut ko) p. 2/81 Operaatiot Vektoreille u = (u 1,u 2 ) ja v = (v 1,v 2 ) Yhteenlasku: u+v = (u 1 +v 1,u 2 +v 2 )
LisätiedotJohdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin
Lisätiedot