06.04.2015 Views

SALAUSMENETELM¨AT (801346A) 4 op, 2 ov

SALAUSMENETELM¨AT (801346A) 4 op, 2 ov

SALAUSMENETELM¨AT (801346A) 4 op, 2 ov

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

niin kaikki käyttäjät voivat valita<br />

P = {k−kirjaimiset sanat} ⊂Z nU<br />

C = Z nU ⊂{l-kirjaimiset sanat}.<br />

Esimerkki.<br />

4. Diskreetti logaritmi<br />

Reaalilukujen joukossa lukujen b x ja log b x laskeminen tietyllä tarkkuudella on yhtä<br />

helppoa. Tarkastelemme nyt vastaavaa tilannetta joukossa Z ∗ n. Jos b ∈ Z ∗ n, niin b x on<br />

laskettavissa n<strong>op</strong>easti suurillakin x ∈ N. Oletamme nyt, että tiedämme alkion y ∈ Z ∗ n<br />

olevan muotoa y = b x . Kuinka x = log b y saadaan selville (tässä logaritmi on ns.<br />

diskreetti logaritmi, ei R:n logaritmifunktio)? Tälle ns. ”diskreetin logaritmin ongelmalle”<br />

ei tunneta n<strong>op</strong>eaa ratkaisua yleisessä tapauksessa, joten voimme jälleen rakentaa<br />

yksisuuntaisen funktio.<br />

Määritelmä. Luku g, 1≤ g ≤ n − 1, on primitiivijuuri (mod n), jos<br />

Z ∗ n = {ḡk |k =0, 1, ..., ϕ(n) − 1} = {¯1, ḡ, ḡ 2 , ..., ḡ ϕ(n)−1 }.<br />

Esimerkki.<br />

Lause 2. Primitiivijuuri (mod n) on olemassa jos ja vain jos n on<br />

2, 4,p l , 2p l ,l=1, 2, ..., missä p>2 on alkuluku.<br />

Jos g on primitiivijuuri (mod n) (n on L2:n muotoa), niin sen määräämää jäännösluokkaa<br />

sanotaan Z ∗ n:n primitiiviseksi alkioksi.<br />

Määritelmä. Olkoon g ∈ Z ∗ n primitiivinen. Alkion y ∈ Z∗ n diskreetti logaritmi kannan<br />

g suhteen on sellainen luku k ∈{0, 1, ..., ϕ(n) − 1}, jolle y = g k . Tällöin merkitsemme<br />

k = log g y.<br />

Usein valitsemme edellä n = p (alkuluku), jolloin Z p on äärellinen kunta.<br />

5. Diffie-Hellman avaimenvaihto<br />

Oletamme tässä, että joukossa Z ∗ n on primitiivinen alkio g. Tiedonsiirtojärjestelmän<br />

avaimen vaihtomenettely voidaan hoitaa seuraavasti:<br />

Kaikki käyttäjät tuntevat luvun n ja primitiivialkion g. Kukin käyttäjä U valitsee luvun<br />

m U ∈{1, ..., ϕ(n)−1} ja laskee g m U<br />

, jonka hän julkaisee. Käyttäjien A ja B keskinäisen<br />

yhteydenpidon avaimen määrää g m Am B<br />

.<br />

Käyttäjä A saa avaimen potenssiinkorotuksella (g m B<br />

) m A<br />

= g m Am B<br />

ja käyttäjä B vastaavasti<br />

(g m A<br />

) m B<br />

= g m Am B<br />

.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!