SALAUSMENETELM¨AT (801346A) 4 op, 2 ov
SALAUSMENETELM¨AT (801346A) 4 op, 2 ov
SALAUSMENETELM¨AT (801346A) 4 op, 2 ov
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 />
.