tietoturva - noppa · tietoturva 811168p 5 op 5. kryptografia oulun yliopisto...

87
Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Upload: doannguyet

Post on 01-Mar-2019

273 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Tietoturva 811168P 5 op 5. Kryptografia

Oulun yliopisto Tietojenkäsittelytieteiden laitos

Periodi 4 2014 / 2015

Page 2: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Oppimisavoitteet

• tunnistaa kryptografian asema tietoturvassa: missä

käytetään; mitä salaus pystyy takamaan

• määritellä kryptografian peruskäsitteistöä

• analysoida kryptografian keskeisiä periaatteita

• soveltaa yksinkertaisia salausmenetelmiä

• luokitella menetelmiä, joilla salausta vastaan hyökätään

• selittää yleisellä tasolla tekniikoita, joilla nykyai-kaisen

salausmenetelmän turvallisuus pyritään takaamaan

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 2

Page 3: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

A. Salaus

Salausta (kuten tietoturvaa yleensäkin) voidaan tarkastella

useasta näkökulmasta; esim. • verkon rakenne: sovellus- (käyttäjä), kuljetus- (istunto), verkko-

(isäntäkone yli verkon), yhteyskerros (solmujen välinen )

• toteutustaso: ohjelmistot, turvaprotokollat, turva-algo-ritmit,

kryptografiset menetelmät, matemaattinen teoria

• organisaatio: johto, IT – asiantuntija, tietoturva-ammattilainen,

ylläpitäjä, loppukäyttäjä

Tietoturva on myös ketju; se muodostuu useasta toisiinsa

liittyvästä osasta; kokonaisuuden turvallisuus = heikoimman

lenkin turvallisuus

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 3

Page 4: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kommunikointi salausta käyttäen

turvaton kanava

avainpalvelu

vastapuoli

Eve

avaus

Dkd(c)=m

salaus

Eke(m)=c

Alice Bob

turvallinen kanava

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 4

Page 5: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Taustaa

Tietoturvan ymmärtämiseksi täytyy ymmärtää kryptografiaa; mitä sillä voidaan taata ja mitä ei. Kryptografia ei yksin ratkaise tietoturvaongelmaa, mutta se voi olla tärkeä osa ratkaisua. Kryptografisia menetelmiä sovelletaan verkon eri kerroksissa

• SET (turvallinen sähköisen kaupan maksujärjestelmä), S/MIME ja PGP (sähköposti) sovelluskeroksesa

• SSL/TLS, SSL, VPN ja SSH kuljetuskerroksessa • IPSec, VPN verkkokerroksessa • L2TP yhteyskerroksessa

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 5

Page 6: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Terminologiaa

Mitä se on?

- piilotettu, salainen

- kirjoitus

kryptografia – salakirjoitustiede

kryptata – salata

dekryptata – avata

selkoteksti – selväkielinen (salaamaton) teksti

kryptoteksti – kryptattu (salattu) teksti

kryptologia: kryptografia ja kryptoanalyysi

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 6

Page 7: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Käsitteitä

• aakkosto A : äärellinen joukko (abstrakteja) symboleja

• (selko)viestiavaruus M : aakkoston A jokin sanajoukko

• kryptoviestiavaruus C : aakkoston A jokin sanajoukko

• avainavaruus K : parametrijoukko, josta avaimet

valitaan

• salausfunktioiden (kryptausfunktioiden) joukko { Ek | k

K } ; jokaista k K kohti on olemassa yksikäsitteinen

bijektio Ek : M → C

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 7

Page 8: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Käsitteitä (2)

• avausfunktioiden (dekryptausfunktioiden) joukko { Dk |

k K } ; jokaista k K kohti on olemassa

yksikäsitteinen bijektio Dk : C → M ; aina, kun k K

voidaan löytää sellainen yksikäsitteinen k’ K, että

jokaisella m M on voimassa Dk’ (Ek (m)) = m

• salausjärjestelmä (kryptausjärjestelmä) on viisikko

( M, C, K, { Ek | k K }, { Dk | k K } )

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 8

Page 9: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Käsitteitä (3)

• salausjärjestelmä on symmetrinen mikäli aina, kun k

K, on avausfunktion Dk’ määrittäminen salausfunktiosta

Ek (ja vastaavasti Ek:n mää-rittäminen Dk’ :sta)

algoritmisesti helppoa

• salausjärjestelmä on epäsymmetrinen mikäli aina, kun k

K , on avausfunktion Dk’ määrittä-minen

salausfunktiosta Ek (ja vastaavasti Ek:n määritäminen

Dk’ :sta) algoritmisesti vaikeaa

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 9

Page 10: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Salausjärjestelmän varmuus

Salausjärjestelmä on

• ehdottomasti varma, jos vastapuoli ei saa (viestin

pituuden lisäksi) mitään tietoa selkotekstistä huolimatta

siitä kuinka paljon hänellä on käy-tettävissä kryptotekstiä

ja laskentaresursseja

• laskennallisesti varma, jos sen murtaminen ei ole

laskennallisesti toimeenpantavissa tietyllä ennal-

tamäärätyllä laskentakapasiteetilla ja –laadulla

• todistettavasti varma, jos sen murtaminen on yhtä

vaikeaa kuin jonkin vaikeana pidetyn matemaattisen

ongelman ratkaiseminen

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 10

Page 11: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Salauksen murtaminen

Neljä vaihtoehtoa murtamisen suorittamiseksi

• pelkästään kryptoteksti • tunnettu selkoteksti • valittu selkoteksti • valittu kryptoteksti

Pelkästään kryptoteksti Hyökkääjällä käytössään vain kryptotekstiä. Miten erottaa kryptoteksti selkotekstistä? Kryptotekstiä oltava riittävästi. Tunnettu selkoteksti Hyökkääjällä käytössään kryptoteksti ja sitä vastaava selkoteksti.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 11

Page 12: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Murtaminen (2)

Valittu selkoteksti Hyökkääjällä käytössään valit-semansa selkoteksti ja sitä vastaava kryptoteksti. Valittu kryptoteksti Hyökkääjällä käytössä valit-semansa kryptoteksti ja sitä vastaava selkoteksti. Muita murtamisen menetelmiä

• raaka voima • tilastolliset menetelmät • salasanan kaappaaminen • sosiaaliseen manipuloini • kiristys ja lahjonta

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 12

Page 13: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

B. Salaisen avaimen kryptografia

Salaisen avaimen kryptografia – klassinen kryptografia

– symmetrinen kryptografia – SKC

• yhtä vanha kuin kirjoitustaito

Kiina 3000 vuotta e.a.a: ainoastaan yläluokka

osasi lukea ja kirjoittaa

Egypti 1900 vuotta e.a.a.

Mesopotamia 1500 vuotta e.a.a.

Palestiina (Juudea) 500 vuotta e.a.a.

Kreikka 500 vuotta e.a.a.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 13

Page 14: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Salaisen avaimen kryptografia (2)

• osapuolet jakavat yhteisen salaisuuden, taval-lisesti

salaisen avaimen k

• avaimen k avulla voidaan määrittää sekä salausfunktio

Ek että vastaava avausfunktio Dk’ • usein samaa avainta k käytetään sekä avaa-miseen että

salaamiseen; tällöin k = k’ ja tietysti Dk’ = Dk

Huom! Olet. seur., että k = k’ eli, että salaus- ja

vastaava avausavain ovat aina samat

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 14

Page 15: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

selko-

teksti

kryptaus-

algoritmi

dekryptaus-

algoritmi selko-

teksti

krypto-

teksti

salainen

avain k

salainen

avain k

Salaus symmetrisellä menetelmällä

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 15

Page 16: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kerckhoffsin salausjärjestelmiä koskevat periaatteet

Auguste Kerckhoffs, 1883

• järjestelmän tulee olla käytännössä, ellei matemaattisesti,

murtamaton

• järjestelmä ei saa olla salainen, sen on voitava joutua

vihollisen käsiin

• avaimen tulee olla välitettävissä ja säilytettävissä ilman

muistiinpanovälineitä ja vaihdettavissa tai muutettavissa

aina tarvittaessa

• salattu viesti tulee voida lähettää sähkösanomana

• salaukseen käytetyn teknillisen välineistön tulee olla

helposti kuljetettavissa, sen käyttö ei saa vaatia useaa

henkilöä

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 16

Page 17: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kerckhoffsin salausjärjestelmiä koskevat periaatteet (2)

Auguste Kerckhoffs, 1883 (jatkoa ...)

• salausjärjestelmän tulee olla helppokäyttöinen; sen käyttö

ei saa vaatia henkistä ponnistusta tai vaikeasti

muistettavia ohjeita

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 17

Page 18: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Lohkosalaajat

• salaaminen ja avaaminen lohkoina standardi-

menetelmää käyttäen; identtiset selkokielen lohkot

kuvautuvat identtisiksi kryptolohkoiksi

• jos lohkokoko on liian pieni ja vastapuolella on käytössä

useita pareja <selkoteksti,kryptoteksti>, voidaan laatia

taulukko, ja yrittää murtamista

• liian suuri lohkokoko on hankala käyttää ja voi aiheuttaa

implementointiongelmia

• DES ja AES ovat lohkosalaajia

• selkotekstilohko on samanpituinen kuin kryptoteksti-

lohko

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 18

Page 19: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jonosalaajat

• salaaminen selkotekstivirrassa, mikä tahansa määrä

dataa voidaan salata välittömästi; gene-roidaan

avainvirta; selkotekstivirta ja avainvirta yhdistetään;

symbolijonon salaus riippuu sen paikasta selkotekstissä;

avaaminen vastaavasti

• eivät välttämättä yhtä joustavia käyttää kuin

lohkosalaajat; useimmat verkkopohjaiset klas-siset

salaussovellukset käyttävät lohkosalaajia

• Vigenère ja Vernam voidaan katsoa esimerkeiksi

jonosalaajista

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 19

Page 20: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Symmetrisen salaajan suunnittelu

• salaajan tulee olla tarpeeksi kompleksinen, jotta sitä ei ole helppo murtaa

riittävän yksinkertainen, jotta sen implementointi ei käy

ylivoimaiseksi ja salaus/avaus on nopeaa

• nykyiset symmetriset salaajat käyttävät yksinktaisia

sekoitus- ja hajautusfunktioita; näitä sovelletaan usealla

kierroksella, jotta salaamisen kompleksisuus lisääntyisi,

mutta laskemisen vaatimat resurssit pysyisivät

kohtuullisina

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 20

Page 21: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Sekottaminen (confusion)

• vaikeuttaa selkotekstin, avaimen ja kryptotekstin

yhteyden havaitsemista

• suoritetaan esim. korvaamalla selkotekstilohko

kryptotekstilohkolla

• korvauksen mekanismi ei ole bittikohtainen

• tilastollinen analyysi ja säännöllisyyksien etsiminen

vaikeutuu

• jokainen avaimen bitti vaikuttaa jokaiseen kryptotekstin

bittiin.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 21

Page 22: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Hajauttaminen (diffusion)

• levittää selkotekstin rakenteen kryptotekstiin siten, että

kryptotekstibitti riippuu useasta selkotekstibitistä

• suoritetaan esim. järjestämällä uudelleen selkotekstin

kirjaimet (siirrolla tai permutoimalla muuten)

• jokainen selkotekstin bitti vaikuttaa jokaiseen

kryptotekstin bittiin

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 22

Page 23: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Lumivyöryominaisuus (avalanche)

• liittyy sekottamiseen ja hajauttamiseen

• olkoon f : {0,1}n {0,1}n bijektiivinen funktio; siten f on

joukon {0,1}n permutaatio

• funktiolla f on hyvä lumivyöryominaisuus jos yhden

symbolin (bitin) muutos syöttösanassa (argumenttien

arvot x1 ja x2 poikkeavat toisistaan yhdessä bitissä)

aiheuttaa mahdollisimman monen (> 50 %) bitin

muuttumisen tulostussanassa (funktioarvot f(x1) ja f(x2)

poikkeavat toisistaan yli 50 % bittejä)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 23

Page 24: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Täydellisyysominaisuus (completeness)

• bijektiolla f : {0,1}n {0,1}n on hyvä täydelli-

syysominaisuus, jos jokaista i {1,2, … ,n } ja jokaista j

{1,2, … ,n } kohti voidaan löytää syöttösanat m1 ja m2,

jotka poikkeavat toisistaan vain i. symbolissa (bitissä),

mutta f(m1) ja f(m2) poikkeavat toisistaan j. symbolissa

(bitissä)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 24

Page 25: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

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

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

Esimerkkejä salaajista

Caesar - salaaja

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

k l p d e f g h i j x a b t u v c q r s m n o y z w

Yksiaakkostosalaaja

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 25

Page 26: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Caesar on siirtosalaaja, yksiaakkostosalaajan

erikoistapaus

aakkosto {a0, a1 , …, an-1}

ai a(i+k) mod n , k = 0,1, …, n-1

Avain k voidaan valita n eri tavalla, joten Caesar on

helppo murtaa.

Siirtosalaajat ovat täysin turvattomia valittu selkoteksti

–hyökkäystä vastaan.

Yksiaakkostosalaajan murtaminen (1)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 26

Page 27: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Yleinen yksiaakkostosalaaja

aakkosto {a0, a2 , …, an-1}

ai a r(i)

missä r : {a0, a1 , …, an-1} {a0, a1 , …, an-1} on bijektiivinen

funktio.

On n! mahdollisuutta valita avain r, joten salaaja on turvallinen

raa'an voiman murtoa vastaan jopa jos aakkosto ei ole kovin

suuri.

Yksiaakkostosalaaja voidaan murtaa frekvenssianalyysia

käytttäen, jos lähdetekstin ominaisuuksia tunnetaan.

Yksiaakkostosalaajan murtaminen (2)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 27

Page 28: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Esimerkkejä salaajista: Vigenère

• aakkoston symbolit a0,a1, …, an -1 samaistetaan lukujen

0,1, …, n -1 kanssa

• avain k = k0k1 … km -1 valitaan; kukin ki kuuluu joukkoon

A = {a0,a1, …, an -1}

• kirjoitetaan avain peräkkäin niin monta kertaa, että

muodostuu selkoviestin m pituinen merkkijono k’

• salaaminen: asetetaan m ja k’ allekkain; laske-taan

jokainen selkoviestin symboli yhteen (mod n) avainjonon k’

vastaavan symbolin kanssa; saa-daan kryptoviesti c

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 28

Page 29: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Esimerkkejä salaajista: Vigenère (2)

• avaaminen: asetetaan c ja k’ allekkain; vähennetään

jokaisesta kryptoviestin symbolista (mod n) avainjonon k’

vastaava symboli; saa-daan m

• salaa Vigenère – menetelmällä teksti 'alussa oli suo,

kuokka ja jussi', kun avain on 'akseli'

• kun Vigenère – salaajassa avaimen k pituus on yksi (eli

kA), saadaan Caesar – salaaja

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 29

a l u s s a o l i s u o k u o k k a j a j u s s i

A K S E L I A K S E L I A K S E L I A K S E L I A

A V K X B I O V Ä X D X K O E O V I J K Ö Z B Ä I

Page 30: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 30

a b c d e f g h i j k l m n o p q r s t u v 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 X Y Z Å Ä Ö

B C D E F G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A

C D E F G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B

D E F G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C

E F G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D

F G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E

G H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F

H I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G

I J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H

J K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I

K L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J

L M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K

M N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L

N O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M

O P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N

P Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O

Q R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P

R S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q

S T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R

T U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S

U V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T

V X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U

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

Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V X

Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V X Y

Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V 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 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 X Y Z Å Ä

Vigenère - taulukko

Page 31: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kasiskin testi: Vigenère murtuu

• oletetaan, että englanninkielistä selkotekstiä kryptataan Vigenère – salaajalla ja avaimen pituus on m

• Kasiski huomasi vuonna 1863 että kaksi identtistä selkokielistä tekstisegmenttiä salautuu samaksi kryptotekstiksi, jos niiden sijainti selkotekstissä on x aakkoston symbolia erillään ja m jakaa tasan luvun x

• kääntäen: jos löydetään kaksi identtistä, vähin-tään kolmen symbolin pituista kryptotestiseg-menttiä, on kohtalaisen suuri mahdollisuus, että ne vastaavat samaa selkokielitekstiä

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 31

Page 32: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kasiskin testi: Vigenère murtuu (2)

• siispä etsitään kryptotekstistä identtisiä vähintään kolmen

pituisia merkkijonoja ja kirjataan niiden etäisyydet

toisistaan. On todennäköistä, että m jakaa etäisyyksien

suurimman yhteisen tekijän

• sovelletaan frekvenssianalyysia pituuden m

määrittämiseksi kokeilemalla kaikkia mahdollisia arvoja

luvuksi m

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 32

Page 33: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Esimerkkejä salaajista: Vernam

• aakkoston {0,1} viesteille m1 ja m2 määritetään

bittikohtainen yhteenlasku (yhteenlasku (mod 2))

yhtälöillä 0 0 = 1 1 = 0 , 0 1 = 1 0 = 1 esim. m1 = 1100 ja m2 =1010; m1 m2 = 1100 1010 = 0110.

• Vernam – salaaja on jonosalaaja, jonka aakkosto on A =

{0,1}; avaimet ovat aakkoston A sanoja

• viesti m salataan samanpituisella avaimella

yksinkertaisesti: Ek(m) = m k.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 33

Page 34: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Esimerkkejä salaajista: Vernam (2)

• kryptoviestin c = m k avaaminen:

• Dk(c) = c k = ( m k) k = m ( k k) = m

• jos Vernam – salaajassa avaimen bitit saadaan riippumattomilla Bernoulli – kokeilla, missä molempien bittien todennäköisyys on ½ (esim. harhatonta rahaa heittämällä) ja kutakin kokees-sa saatua bittiä käytetään salaaamiseen vain kerran, on kyseessä one-time pad – salaaja, joka on (ainoa tunnettu) ehdottoman varma salausmenetelmä

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 34

Page 35: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair - salaaja

• Charles Wheatstone, 1854

• symmetrinen salausmenetelmä

• käsikäyttöinen monikirjainsalaaja

• käsittelee selkotekstin kahden kirjaimen lohkoja (eli

digrammeja) yksikköinä ja muuntaa nämä yksiköt (kirjain

kerrallaan) kryptotekstin digrammeiksi

• digrammeja on 2525 = 625 kpl, joten frekvenssianalyysi

vaikeutuu

• Playfair - algoritmi perustuu 55 - kirjainmatriisiin, joka

konstruoidaan avainsanan avulla

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 35

Page 36: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair – kirjainmatriisi; avainsana 'kryptaus'

k/q r y p t

a u s/z b c

d e f g h

i j l m n

o/å v x ä ö

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 36

Page 37: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kirjainmatriisin konstruointi

• Playfair kirjainmatriisi konstruoidaan sijoittamalla avainsana (jossa sama kirjain voi esiin-tyä

korkeintaan kerran) symboli kerralaan matriisiin paikkoihin

vasemmalta oikealle ja ylhäältä alas; ja

täyttämällä jäljelle jääneet vapaat matriisin paikat lopuilla

(avainsanaan kuulumattomilla) kirjaimilla aakkosjärjestyksessä

• suomalaisessa aakkostossa 28 kirjainta kolme

kirjainta jakaa matriisin paikan jonkin muun kirjaimen

kanssa (parit {k,q}, {s,z} ja {o,å} muodostavat kukin

yhden kirjaimen)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 37

Page 38: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair - salausalgoritmi

1. Jos selkokielisessä tekstissä kaksi samaa kirjainta on

joutumassa samaan digrammiin, käytetään

täyttösymbolina kirjainta x; esim. halla salataan

merkkijonona ha lx la. 2. Jos selkokielidigrammin kirjaimet sijaitsevat matriisissa

samalla rivillä, kumpikin kirjain kryptataan matriisissa

kirjaimen oikealla puolella olevaksi symboliksi; rivin

viimeinen kirjain koodataan saman rivin ensimmäiseksi

symboliksi.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 38

Page 39: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair - salausalgoritmi (2)

3. Jos selkokielidigrammin kirjaimet sijaitsevat matriisissa samalla sarakkeella, ne kryptataan matriisissa kirjaimen alapuolella olevaksi symboliksi; sarakkeen viimeinen (alin) kirjain koodataan saman sarakkeen ensimmäiseksi (ylimmäksi) symboliksi.

4. Muussa tapauksessa (eli kirjaimet sijaitsevat eri rivillä ja eri sarakkeilla) digrammin kirjain kryp-tataan symboliksi, joka sijaitsee kirjaimen (sijainti)rivin ja digrammin toisen kirjaimen (sijainti)sarakkeen leikkauksessa.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 39

Page 40: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair - avausalgoritmi

• jos digrammin kirjaimet sijaitsevat matriisin samalla rivillä

(vast. sarakkeella), ne säilyvät salauksessa samalla

rivillä (vast. sarakkeella)

• jos digrammin kirjaimet sijaitsevat matriisin eri rivillä ja

eri sarakkeella, ne säilyvät salauksessa eri rivillä ja eri

sarakkeella

• avausalgoritmin operaatiot saadaan salausal-goritmin

operaatioista käänteisillä toimenpiteillä kryptataan seuraavaksi symboliksi - dekryptataan edelliseksi

symboliksi (kohdat 2 ja 3)

kryptataan siirtymällä samalla rivillä, dekryptataan siirtymällä

takaisin (kohta 4)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 40

Page 41: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair - salaaja: esimerkki

Teht. salaa teksti 'alussa oli suo, kuokka ja jussi', kun

avaisana on 'akseli'

Ratk. Selkotekstidiagrammit

{al}{us}{sa}{ol}{is}{uo}{ku}{ok}{ka}{ja}{ju}{sx}{si}

Kryptotekstidiagrammit

{ka}{rl}{ek}{ua}{ca}{op}{lp}{pa}{sk}{gs}{nr}{qy}{ac}

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 41

Page 42: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Playfair – kirjainmatriisi; avainsana ’akseli’

a k/q s/z e l

i b c d f

g h j m n

o/å p r t u

v x y ä ö

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 42

Page 43: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kirjainfrekvenssit englannin kielessä

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 43

Page 44: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Kirjainten esiintymisfrekvenssi

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 44

Page 45: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Figure 2.7:n selityksiä

• käyrä plaintext kuvaa Encyclopedia Britannica –

sanakirjan kryptologiaa kuvaavan artikkelin (jos-sa on yli

70 000 kirjainta) kirjainten suhteellisia frekvenssejä siten,

että jokaisen kirjaimen esiintymislukumäärä ko artikkelissa jaettiin

kirjaimen e esiintymislukumäärällä kyseisessä artikkelissa

saatu desimaaliluku kerrottiin sadalla

• Encyclopedia Britannica – artikkeli salattiin sitten sekä

Playfair- että Vigenère-salaajalla

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 45

Page 46: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Figure 2.7:n selityksiä (2)

• salaamisen jälkeen kunkin kirjaimen esiintymislukumäärä kryptotekstissä jaettiin

kirjaimen e lukumäärällä selkotekstissä; ja

saatu desimaaliluku kerrottiin sadalla

• tulos: Playfair cipher –käyrä ja Vigenère –käyrä

• Random polyalphabetic cipher –käyrä kuvaa tilannetta,

jossa teksti on salattu satunnaisella

moniaakkostosalaajalla, jossa kukin selkotekstin symboli

korvataan täysin satunnaisesti valitulla latinalaisen

aakkoston symbolilla

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 46

Page 47: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Feistelin tikapuut: salaaminen

f

m2=m0fk1(m1) m1

mr+1 mr

c=mr +1mr

k2

k1

f

m=m0m1

m1 m0

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 47

Page 48: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Feistelin tikapuut: avaaminen

• Bob (vastaanottaja) tuntee osa – avaimet k1,k2,...,kr sekä

kryptoviestin c = mr+1 mr

• Bob asettaa yr = mr mr+1; tietysti mr -1 = mr

• Bob laskee arvon fkr(mr -1)

• nyt mr+1 = mr-1 fkr(mr), joten

mr+1 fkr(mr-1) = mr-1 fkr

(mr) fkr(mr -1) = mr -1

• Bobilla on nyt tiedossa yr-1 = mr -1 mr

• osa – avaimen kr -1 avulla Bob saa määritettyä luvun yr -1

= mr -1 mr -2

• näin jatkamalla (ylöspäin) Bob saa lopulta lasketuksi

luvun m = y0 = m0m1

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 48

Page 49: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 49

Page 50: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Yksi DES – kierros

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 50

Page 51: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Lohkosalaajamoodi: Electronic Code Book (ECB)

• olkoon salainen avain k ja oletetaan, että selkokielinen

viesti on jaettu lohkoihin m0, m1, m2, m3, . . .

• tällöin salaaminen ECB-moodissa tapahtuu seuraavasti:

ci = Ek(mi ), kun i = 0,1,2, . . .

• salattu viesti muodostuu lohkoista c0, c1, c2, c3, . . .

• avaaminen ECB-moodissa: mi = Dk(ci ), kun i = 0,1,2,...

• edellä tietysti Ek on lohkosalaajan salausfunktio

avaimella k ja Dk on vastaava avausfunktio

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 51

Page 52: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Alice ja DES:n ECB-moodi

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 52

Page 53: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Lohkosalaajamoodi: Cipher Block Chaining (CBC)

• olkoon salainen avain k, selkokielilohkojen jono m0, m1,

m2, m3, . . . ja IV etukäteen annettu aloitusvektori

• alotusvektori on lohkonpituinen symbolijono

• tällöin salaaminen CBC-moodissa tapahtuu seuraavasti:

c0 = Ek(m0 IV) ja ci = Ek(mi ci -1), kun i = 1,2,3, . . .

• salattu viesti muodostuu lohkoista c0, c1, c2, c3, . . .

• avaaminen CBC-moodissa m0 = Dk(c0) IV ja mi =

Dk(ci) ci -1, kun i = 1,2,3, . . .

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 53

Page 54: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Alice ja DES:n CBC-moodi

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 54

Page 55: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

C. Julkisen avaimen kryptografia

Julkisen avaimen kryptografia – epäsymmetrinen

kryptografia – PKC

• salausjärjestelmä on epäsymmetrinen mikäli aina, kun k

K, on avausfunktion Dk’ määrittäminen salausfunktiosta

Ek (ja vastaavasti Ek:n määritäminen Dk’ :sta) algoritmi-

sesti vaikeaa

• kaksi avainta, julkinen ja yksityinen; merkitään X:n

julkista avainta kux ja yksityistä avainta krx

• julkisella avaimella salataan ja varmennetaan digitaalinen

allekirjoitus; c = Ekux(m) , y = Dkux(z)

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 55

Page 56: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Julkisen avaimen kryptografia (2)

• yksityisellä avaimella avataan ja suoritetaan digitaalinen

allekirjoitus; m = Dkrx(c), z = Ekrx(y)

• tietysti m = Dkrx(Ekux(m)) ; yleensä myös c = Ekux(Dkrx(c))

• usein salaus- ja avausalgoritmit ovat samat, vain avain

vaihtuu; tällöin Ek = Dk aina, kun k{kux,krx}

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 56

Page 57: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

PKC: luottamuksellisuus

m E m Ekub(m) D

kub krb

A B

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 57

Page 58: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

PKC: autentikointi ja digitaalinen allekirjoitus

m E m Ekra(m) D

kra

A B

kua

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 58

Page 59: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

PKC: luottamuksellisuus, autentikointi ja digitaalinen allekirjoitus

m E Ekub(Ekra

(m)) Ekra(m) E

kra kub

A

D m Ekra(m) D

krb kua

B

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 59

Page 60: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jaollisuudesta

Merkintöjä

Z = { . . . , -2 , -1 , 0 , 1 , 2 , 3 , . . . }

kokonaisluvut

N = { 0 , 1 , 2 , . . . } luonnolliset luvut

N+ = Z+ = { 1 , 2 , 3 , . . . } positiiviset

kokonaisluvut

Olkoon m Z ja n N+ . On olemassa yksikäsitteiset q

Z and r {0 , 1 , 2 , . . ., n -1}, joille m = q n + r

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 60

Page 61: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jaollisuudesta (2)

Edellä r on jakojäännös kun m jaetaan luvulla n.

Jakojäännöstä, joka saadaan, kun m jaetaan n:llä,

merkitään m mod n.

Jos m mod n = 0 sanomme, että n jakaa tasan luvun m,

merkitään n | m. Jos n | m, niin m on jaollinen luvulla n ja

n on luvun m tekijä.

Nollasta poikkeavien kokonaislukujen a ja b suurin

yhteinen tekijä syt(a,b) on suurin sellainen positiivinen

luku, joka jakaa sekä a:n että b:n (siis c | a ja c | b).

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 61

Page 62: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jaollisuudesta (3)

Kokonaislukujen ominaisuuksien nojalla voidaan

osoittaa, että kahden luvun suurin yhteinen tekijä on

olemassa ja yksikäsitteinen.

Lukujen suurin yhteinen tekijä voidaan määrittää

Eukliden algoritmin avulla.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 62

Page 63: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Eukliden algoritmi

Olkoot a,b Z \ {0}. Koska syt(a,b) = syt(|a|,|b|), voimme

rajoituksetta olettaa, että a b > 0 Jos b jakaa tasan a:n

, niin syt(a,b) = b . Oletetaan, että b ei jaa tasan lukua a .

Tällöin voidaan löytää sellaiset , q0 q1 ,..., qk+1 , r0 , r1 ,...,

rk N+, missä k N , että

a = q0b + r0 0 < r0 < b

b = q1r0 + r1 0 < r1 < r0

r0 = q2r1 + r2 0 < r2 < r1

. . .

rk-2 = qk rk-1 + rk 0 < rk < rk-1

rk-1 = qk+1 rk

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 63

Page 64: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Eukliden algoritmi (2)

Väitämme, että syt(a,b) = rk .

Miksi? Jos c | a ja c | b niin c | r0 . Tästä seuraa, että

c | r1 c | r2 ... c | rk . Toisaalta rk | rk-1 rk | rk-2 . . .

rk | b rk | a . Siispä syt(a,b) = rk .

Ilmeisesti voidaan löytää sellaiset kokonaisluvut x ja y,

että syt(a,b) = x a + y b .

Jos syt(a,b) = 1 , sanomme, että a ja b ovat keskenään

jaottomia tai suhteellisia alkulukuja.

Asetaetaan syt(a,0) = syt(0,a) = a aina, kun a on nollasta

poikkeava kokonaisluku.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 64

Page 65: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Luvun alkulukuesitys

Kokonaisluku p > 1 on alkuluku, jos 1 and p ovat p:n

ainoat positiiviset tekijät.

Olkoon m > 1 kokonaisluku. On olemassa yksikäsitteinen

n N+, yksikäsitteiset alkuluvut p1 < p2 < . . . < pn ja

yksikäsitteiset i1 , i2 , . . . , in N+, joille

m = p1 i1 p2

i2 . . . pn in .

Edellä luvun m esitys muodossa m = p1 i1 p2

i2 . . . pn in

on m:n tekijöihinjako.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 65

Page 66: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Olkoon n > 1 kokonaisluku. Tarkastellaan kokonailukujen a ja

b jakojäännöksiä luvulla n jaettaessa. Selvästi ehto

a mod n = b mod n (eli jakojäännökset ovat samat)

on yhtäpitävä ehdon

n | b – a (eli n jakaa tasan luvun b – a)

kanssa.

Aina, kun a, b, c, d ovat sellaisia kokonaislukuja, että

a mod n = b mod n ja c mod n d mod n, on (a + c) mod n = (b + d ) mod n

(a – c) mod n = (b – d ) mod n

(a c) mod n = (b d ) mod n

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 66

Jakojäännöksistä

Page 67: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Edelleen, jos ja c ovat sellaisia kokonaislukuja, että

(a c) mod n = (b c) mod n ,

on voimassa

a mod [ n / syt (n , c )] = b mod [ n / syt (n , c )] .

Edellisen kalvon tulosten nojalla

(a + b) mod n = (a mod n + b mod n) mod n

(a – b) mod n = (a mod n – b mod n) mod n

(a b) mod n = (a mod n b mod n) mod n

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 67

Jakojäännöksistä (2)

Page 68: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa

Olkoon n {2,3,4, ... } ja Zn = {0,1,2, . . . , n -1}. Määritellään joukossa Zn operaatiot +n (yhteenlasku modulo n), -n (vähennyslasku modulo n), n (kertolasku modulo n), ja n potenssiinkorotus modulo n), yhtälöillä

x +n y = (x + y) mod n x n y = (x y) mod n x -n y = (x – y) mod n x n y = x y mod n Edellä yhtälöiden oikealla puolella olevat operaatiot ovat tavallisia kokonaislukujen laskutoimituksia. Operaatiot +n

ja n vastaavat jäännösluokkien yhteen- ja kertolaskua.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 68

Page 69: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa modulo 10: yhteenlasku

+10 0 1 2 3 4 5 6 7 8 9

0 0 1 2 3 4 5 6 7 8 9

1 1 2 3 4 5 6 7 8 9 0

2 2 3 4 5 6 7 8 9 0 1

3 3 4 5 6 7 8 9 0 1 2

4 4 5 6 7 8 9 0 1 2 3

5 5 6 7 8 9 0 1 2 3 4

6 6 7 8 9 0 1 2 3 4 5

7 7 8 9 0 1 2 3 4 5 6

8 8 9 0 1 2 3 4 5 6 7

9 9 0 1 2 3 4 5 6 7 8

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 69

Page 70: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa modulo 10: kertolasku

10 0 1 2 3 4 5 6 7 8 9

0 0 0 0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6 7 8 9

2 0 2 4 6 8 0 2 4 6 8

3 0 3 6 9 2 5 8 1 4 7

4 0 4 8 2 6 0 4 8 2 6

5 0 5 0 5 0 5 0 5 0 5

6 0 6 2 8 4 0 6 8 2 4

7 0 7 4 1 8 5 2 9 6 3

8 0 8 6 4 2 0 8 6 4 2

9 0 9 8 7 6 5 4 3 2 1

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 70

Page 71: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa (2)

Joukon Zn = {0,1,2, . . . , n -1} alkioita voidaan ajatella tavanomaisina kokonaislukuina, kuitenkin yo lasku-toimituksilla varustettuna.

Alkion a Zn vasta-alkio (käänteisalkio yhteenlaskun suhteen) on se yksikäsitteinen y Zn , jolle a +n y = 0 . Merkitään y = – a .

Esim. Alkion 7 Z14 vasta-alkio on 7 , koska

7 +14 7 = 0.

Alkion a Zn käänteisalkio (kertolaskun suhteen), jos se on olemassa, on se yksikäsitteinen z Zn , jolle

a n z = 1.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 71

Page 72: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa (3)

Esim. Alkion 3 Z14 käänteisalkio on 5, koska 3 14 5 = 1.

Alkiolla 7 Z14 ei ole käänteisalkiota.

Väite: Alkiolla a Zn , a 0, on käänteisalkio

(kertolaskun suhteen) jos ja vain jos syt(a,n) = 1 .

Miksi? Oletetaan aluksi, että syt(a,n) = 1. Tällöin

(yleistettyä Eukleideen algoritmia käyttäen) voidaan löytää

sellaiset kokonaisluvut x ja y että x a + y n = 1.

Rajoituksetta voidaan olettaa, että x Zn (miksi?) Nyt

selvästi x n a = 1 . Oletetaan sitten, että x n a = 1 ,

missä x Zn.

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 72

Page 73: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa (4)

Määritelmän nojalla x a = 1 + k n jollak k Z . Näemme, että x a – k n = 1 , josta seuraa, että syt(a,n) = 1 . mot

Eulerin (totient-) funktio . Jokaisella n N+ , olkoon (n) niiden alkioiden j {1,2,…,n} lukumäärä, joille n ja j ovat jaottomia.

On selvää, että (p) = p – 1 jos p on alkuluku. Jos sekä p että q ovat alkulukuja, saadaan

(p q) = (p – 1)(q – 1) .

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 73

Page 74: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa (5)

Olkoon Zn kaikkien sellaisten alkioiden x Zn että x ja

n ovat keskenään jaottomia. Ilmeisesti joukossa Zn on

(n) alkiota. Se on myös suljettu kertolaskun n suhteen: kahden n:n kanssa jaottoman luvun tulo on jaoton n:n kanssa. Jokaisella alkiolla x Zn

käänteisalkio kertolaskun suhteen. Siten ( Zn

, n ) on ryhmä.

Eulerin lause. Olkoot a , n N+ sellaisia, että syt(a , n) = 1 . Tällöin a(n) mod n = 1 .

Fermat'n pieni lause. Olkoon a N+ ja p alkuluku, joka ei jaa tasan lukua a. Tällöin ap-1 mod n = 1 .

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 74

Page 75: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Jäännösluokkalaskentaa (6)

Voidaan osoittaa, että jokaista alkulukua p kohti on olemassa sellainen a Zp

että

Zp = {a i | i = 0, 1, 2, … , p –1}

Sanomme tällöin, että a virittää (eli generoi) ryhmän Zp .

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 75

Page 76: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

RSA

• Ron Rivest, Adi Shamir ja Len Adleman keksivät RSA:n vuonna 1977

• suosituin PKC-algoritmi, ainoa laajalle levinnyt ja yleisesti hyväksytty julkisen avaimen monikäyttötekniikka

• salaa, avaa, tuottaa digitaalisen allekirjoituksen ja todentaa sen

• muuttuvanpituinen avain (1024 bittiä ja 2048 bittiä tällä hetkellä suosituimmat)

• lohkokoko vaihtelee, selkotekstiblokki lyhempi kuin avain

• kryptotekstiblokki avaimen pituinen

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 76

Page 77: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

RSA (2)

• salaaminen ja avaaminen perustuvat jäännösluokkaeksponenttien määrittämiseen (myös Euklideen algoritmiin)

• murtamisen vaikeus perustuu oletukseen kokonaislukujen tekijöihinjaon vaikeudesta

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 77

Page 78: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

RSA – algoritmi

1. Avaimen generointi • valitaan kaksi suurta alkulukua p ja q (molemmat

ainakin 256-bittisiä)

• lasketaan n = pq

• lasketaan ( pq ) = ( p - 1 ) ( q - 1 )

• valitaan salauseksponentti, sellainen kokonaisluku

e joukosta {2,3, … , (n) –1}, että syt(e, (n) ) = 1

• määritetään (Euklideen algoritmi) se luku d {2,3,

… , (n)-1}, jolle (de ) mod (n) = 1

• julkinen avain on ku = {e, n}

• yksityinen avain on kr = {d, n}

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 78

Page 79: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

RSA – algoritmi (2)

2. Salaaminen • selkoteksti m Zn

• kryptoteksti c = me mod n

3. Avaaminen • kryptoteksti c Zn

• selkoteksti m = cd mod n

Luvun n pituuden tulisi nykyään olla välillä (1024 ,

2048).

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 79

Page 80: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

RSA: esimerkki

• alkulukuja p = 53 ja q = 59 käyttäen generoi itsellesi RSA

– avainpari • kryptaa teksti 'olipaker'omalla julkisella avaimellasi

• avaa kryptoteksti yksityisellä avaimellasi

• ratkaisu kotona

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 80

Page 81: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Diffie-Hellman –algoritmi

1. Julkiset parametrit • valitaan suuri alkuluku p (ainakin 1024 bittiä) ja (jokin)

kertolaskuryhmän Zp* generaattori

2. Alice generoi omat parametrinsa avaimeen • Alice valitsee yksityisen luvun xa

• Alice laskee ya = xa mod p ( = p xa )

3. Alice lähettää luvun ya Bobille • Alice valitsee yksityisen luvun xa

• Alice laskee ya = xa mod p ( = p xa )

4. Bob generoi omat parametrinsa avaimeen • Bob valitsee yksityisen luvun xb

• Bob laskee yb = xb mod p ( = p xb )

5. Bob lähettää luvun yb Alicelle

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 81

Page 82: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Diffie-Hellman –algoritmi (2)

6. Alice generoi salaisen avaimen • Alice laskee k = yb

xa mod p (= yb p xa )

7. Bob generoi salaisen avaimen • Bob laskee k = ya

xb mod p (= ya p xb )

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 82

Page 83: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 83

Diffie-Hellman -avaimenvaihto

Vaikka vastapuoli Eve tuntisi parameetrit p , , ya ja yb ,

hänen on (todennäköisesti) vaikeaa määrittää salainen

avain k ; Even pitäisi kyetä ratkaisemaan niin kutsuttu

Diffie-Hellman –ongelma

Diffie-Hellman –ongelma (DHP) Olkoon annettu alkuluku

p, kertolaskuryhmän Zp* generaattori ja parametrit

x mod p ( = p x ) ja y mod p ( = p y ). Määritä

luku x y mod p ( = p xy ).

DHP on ainakin yhtä vaikea kuin diskreetin logaritmin

ongelma (DLP).

Page 84: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 84

Diffie-Hellman –avaimenvaihto (2)

Diffie-Hellman –algoritmissa on heikkouksia:

authentikointia ei suoriteta

se on haavoittuva välimieshyökkäykselle

se on haavoittuvs clogging -hyökkäykselle

Välimieshyökkäys (Man-in-the-Middle attack, MiM): 1. Alice lähettää Bobille viestin, joka sisältää parametrit p , ya ja .

2. Eve keskeyttää viestin , valitsee oman lukunsa xe ja laskee arvon

ye sekä salasen avaimen kae = ya p xe .

3. Eve naamioituu Alicen suuntaan Bobiksi ja lähettää Alicelle

parametrin ye .

4. Alice laskee salaisen avaimen kae = ye p xa .

Page 85: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 85

Diffie-Hellman –avaimenvaihto (3)

Välimieshyökkäys (jatkuu . . . ): 5. Eve naamioituu Bobin suuntaan Aliceksi ja lähettää Bobille

parametrit p , ye and .

6. Bob valitsee oman lukunsa xb ja laskeee aron yb sekä salaisen

avaimen kbe = ye p xb .

7. Uskoen, että Eve on Alice, Bob lähettää parametrin yb to Eve.

8. Eve laskee salasien avaimen kbe = yb p xe .

Eve kykenee nyt välitttämään viestejä Alicen ja Bobin välillä

ja sopivasti salausta vaihtamalla huijaamaan kumpaakin

osapuolta. Alice ja Bob eivät tiedä, että he jakavat viestinsä

Even kanssa.

Page 86: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Periodi 4

2014 / 2015

Tietoturva

Kryptografia 86

Diffie-Hellman –avaimenvaihto (4)

Diffie-Hellman –algoritmi on laskennallisesti intensiivinen

(se vaatii paljon laskentaa). Se on haavoittuva clogging –

hyökkäystä vastaan, jossa vastapuoli hyökkää pyytämällä

suurta määrää avaimia. Uhri kuluttaa huomattavan mää-

rän laskentaresursseja hyödyttömään modulaarilasken-

taan.

Page 87: Tietoturva - Noppa · Tietoturva 811168P 5 op 5. Kryptografia Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 4 2014 / 2015

Mittayksiköiden kerrannaisia osoittavat etuliitteet, lyhenteet ja koot

eksa E 1018

peta P 1015

tera T 1012

giga G 10 9

mega M 10 6

kilo k 10 3

hehto h 10 2

deka da 10

desi d 10-1

sentti c 10-2

milli m 10-3

mikro 10-6

nano n 10-9

piko p 10-12

femto f 10-15

alto a 10-18

Periodi 4

2014 / 2015

Tietoturva Kryptografia 87