Tietoturva P 5 op

Samankaltaiset tiedostot
Salakirjoitusmenetelmiä

Tietoturva P 5 op

Lukuteorian kertausta

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017

SALAUSMENETELMÄT. Osa 2. Etätehtävät

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

MS-A0402 Diskreetin matematiikan perusteet

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

1 Lukujen jaollisuudesta

811120P Diskreetit rakenteet

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Salausmenetelmät 2015/Harjoitustehtävät

SALAUSMENETELMÄT A, 4 op

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

Osa1: Peruskäsitteitä, klassiset salakirjoitukset. Salausmenetelmät. Jouko Teeriaho LapinAMK

Kryptologia Esitelmä

a b 1 c b n c n

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

A TIETORAKENTEET JA ALGORITMIT

Algebra I, harjoitus 5,

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

5. Julkisen avaimen salaus

Luentorunko ja harjoitustehtävät. SALAUSMENETELMÄT (801346A) 4 op, 2 ov

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

2017 = = = = = = 26 1

LUKUTEORIA johdantoa

(2) C on joukko, jonka alkioita kutsutaan sala(kirjoite)tuiksi viesteiksi (engl. ciphertext);

rm + sn = d. Siispä Proposition 9.5(4) nojalla e d.

Vigenéren salaus ja sen murtaminen

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

n (n 1) avainten vaihtoa. Miljoonalle käyttäjälle avainten vaihtoja tarvittaisiin

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on

ja jäännösluokkien joukkoa

d Z + 17 Viimeksi muutettu

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) OT. 1. a) Määritä seuraavat summat:

5. SALAUS. Salakirjoituksen historiaa

Diofantoksen yhtälön ratkaisut

H = : 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.

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

4.3. Matemaattinen induktio

Approbatur 3, demo 5, ratkaisut

811120P Diskreetit rakenteet

Esko Turunen Luku 3. Ryhmät

Tietoturvatekniikka Ursula Holmström

IDENTITEETTIIN PERUSTUVISTA JULKISEN AVAIMEN KRYPTOSYSTEEMEISTÄ

a ord 13 (a)

Algebran perusteet. 44 ϕ(105) = (105). Näin ollen

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

1 Algebralliset perusteet

Modernin kryptografian RSA-salausmenetelmä ja sen lukuteoreettinen tausta. Terhi Korhonen

1. Esitä rekursiivinen määritelmä lukujonolle

Valitse kuusi tehtävää! Kaikki tehtävät ovat 6 pisteen arvoisia.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

SALAUSMENETELMÄT A, 4 op

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

Modernien salausalgoritmien aikajana

Salaustekniikat. Kirja sivut: ( )

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

2 j =

kaikille 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

Latinalaiset neliöt ja taikaneliöt

811120P Diskreetit rakenteet

Jäännösluokat. Alkupala Aiemmin on tullut sana jäännösluokka vastaan. Tarkastellaan

Johdatus matemaattiseen päättelyyn

Eulerin lauseen merkitys kryptauksen kannalta

Kryptovaluuttoista ja lohkoketjuista osa 3. Jyväskylä Henri Heinonen

Lineaariset kongruenssiyhtälöryhmät

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Osa4: Julkisen avaimen salaukset: RSA ja Elliptisten käyrien salaus. Tiivistefunktiot ja HMAC, Digitaalinen allekirjoitus RSA

2. Eukleideen algoritmi

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä

LUONNOLLISTEN LUKUJEN JAOLLISUUS

Tietoliikenteen perusteet

7.4 Sormenjälkitekniikka

Äärellisten mallien teoria

NÄIN TOIMII. alakirjoituksen historia ulottuu tuhansien

Testaa taitosi 1: Lauseen totuusarvo

Eräitä RSA-salauksen haavoittuvuuksia

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

Reaalifunktioista 1 / 17. Reaalifunktioista

Vektoreiden virittämä aliavaruus

pdfmark=/pages, Raw=/Rotate 90 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN Lukujoukot Sekalaisia merkintöjä...

Tietoturvan perusteet - Syksy SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

Luento 11: Tiedonsiirron turvallisuus: kryptografiaa ja salausavaimia. Syksy 2014, Tiina Niklander

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle = Luvussa ei esiinny missään kohtaa numeroa 0.

Johdatus matemaattiseen päättelyyn

Diskreetin matematiikan perusteet Laskuharjoitus 5 / vko 41

Transkriptio:

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öä 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 2

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ä on myös ketju; se muodostuu useasta toisiinsa liittyvästä osasta; kokonaisuuden turvallisuus = heikoimman lenkin turvallisuus 3

Kommunikointi salausta käyttäen avainpalvelu turvallinen kanava Alice salaus E k e (m)=c turvaton kanava avaus D k d (c)=m Bob vastapuoli Eve 4

Taustaa n ymmärtämiseksi täytyy ymmärtää kryptografiaa; mitä sillä voidaan taata ja mitä ei. 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 5

Mitä se on? - piilotettu, salainen - kirjoitus Terminologiaa kryptografia salakirjoitustiede kryptata salata dekryptata avata selkoteksti selväkielinen (salaamaton) teksti kryptoteksti kryptattu (salattu) teksti kryptologia: kryptografia ja kryptoanalyysi 6

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 { E k k K } ; jokaista k K kohti on olemassa yksikäsitteinen bijektio E k : M C 7

Käsitteitä (2) avausfunktioiden (dekryptausfunktioiden) joukko { D k k K } ; jokaista k K kohti on olemassa yksikäsitteinen bijektio D k : C M ; aina, kun k K voidaan löytää sellainen yksikäsitteinen k K, että jokaisella m M on voimassa D k (E k (m)) = m salausjärjestelmä (kryptausjärjestelmä) on viisikko ( M, C, K, { E k k K }, { D k k K } ) 8

Käsitteitä (3) salausjärjestelmä on symmetrinen mikäli aina, kun k K, on avausfunktion D k määrittäminen salausfunktiosta E k (ja vastaavasti E k :n mää-rittäminen D k :sta) algoritmisesti helppoa salausjärjestelmä on epäsymmetrinen mikäli aina, kun k K, on avausfunktion D k määrittä-minen salausfunktiosta E k (ja vastaavasti E k :n määritäminen D k :sta) algoritmisesti vaikeaa 9

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ä ennaltamäärätyllä laskentakapasiteetilla ja laadulla todistettavasti varma, jos sen murtaminen on yhtä vaikeaa kuin jonkin vaikeana pidetyn matemaattisen ongelman ratkaiseminen 10

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. 11

Murtaminen (2) Valittu selkoteksti Hyökkääjällä käytössään valitsemansa 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 12

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. 13

Salaisen avaimen kryptografia (2) osapuolet jakavat yhteisen salaisuuden, taval-lisesti salaisen avaimen k avaimen k avulla voidaan määrittää sekä salausfunktio E k että vastaava avausfunktio D k usein samaa avainta k käytetään sekä avaa-miseen että salaamiseen; tällöin k = k ja tietysti D k = D k Huom! Olet. seur., että k = k eli, että salaus- ja vastaava avausavain ovat aina samat 14

Salaus symmetrisellä menetelmällä salainen avain k salainen avain k selkoteksti selkoteksti kryptausalgoritmi kryptoteksti dekryptausalgoritmi 15

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öä 16

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 17

Lohkosalaajat salaaminen ja avaaminen lohkoina standardimenetelmää 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 kryptotekstilohko 18

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 19

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 20

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. 21

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 22

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 x 1 ja x 2 poikkeavat toisistaan yhdessä bitissä) aiheuttaa mahdollisimman monen (> 50 %) bitin muuttumisen tulostussanassa (funktioarvot f(x 1 ) ja f(x 2 ) poikkeavat toisistaan yli 50 % bittejä) 23

Täydellisyysominaisuus (completeness) bijektiolla f : {0,1} n {0,1} n on hyvä täydellisyysominaisuus, jos jokaista i {1,2,,n } ja jokaista j {1,2,,n } kohti voidaan löytää syöttösanat m 1 ja m 2, jotka poikkeavat toisistaan vain i. symbolissa (bitissä), mutta f(m 1 ) ja f(m 2 ) poikkeavat toisistaan j. symbolissa (bitissä) 24

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 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 Yksiaakkostosalaaja 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 25

Yksiaakkostosalaajan murtaminen (1) Caesar on siirtosalaaja, yksiaakkostosalaajan erikoistapaus aakkosto {a 0, a 1,, a n-1 } a i 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. 26

Yksiaakkostosalaajan murtaminen (2) Yleinen yksiaakkostosalaaja aakkosto {a 0, a 2,, a n-1 } a i a r(i) missä r : {a 0, a 1,, a n-1 } {a 0, a 1,, a n-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. 27

Esimerkkejä salaajista: Vigenère aakkoston symbolit a 0,a 1,, a n -1 samaistetaan lukujen 0,1,, n -1 kanssa avain k = k 0 k 1 k m -1 valitaan; kukin k i kuuluu joukkoon A = {a 0,a 1,, a n -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 28

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 k A), saadaan Caesar salaaja 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 29

Vigenère - taulukko 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 Å Ä 30

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ä 31

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 32

Esimerkkejä salaajista: Vernam aakkoston {0,1} viesteille m 1 ja m 2 määritetään bittikohtainen yhteenlasku (yhteenlasku (mod 2)) yhtälöillä 0 0 = 1 1 = 0, 0 1 = 1 0 = 1 esim. m 1 = 1100 ja m 2 =1010; m 1 m 2 = 1100 1010 = 0110. Vernam salaaja on jonosalaaja, jonka aakkosto on A = {0,1}; avaimet ovat aakkoston A sanoja viesti m salataan samanpituisella avaimella yksinkertaisesti: E k (m) = m k. 33

Esimerkkejä salaajista: Vernam (2) kryptoviestin c = m k avaaminen: D k (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ä 34

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 25 25 = 625 kpl, joten frekvenssianalyysi vaikeutuu Playfair - algoritmi perustuu 5 5 - kirjainmatriisiin, joka konstruoidaan avainsanan avulla 35

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 ä ö 36

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) 37

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. 38

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. 39

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) 40

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} 41

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 ä ö 42

Kirjainfrekvenssit englannin kielessä 43

Kirjainten esiintymisfrekvenssi 44

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 45

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 46

Feistelin tikapuut: salaaminen m=m 0 m 1 m 0 m 1 f k 1 m 1 m 2 =m 0 f k 1(m 1 ) f k 2 m r m r+1 c=m r +1 m r 47

Feistelin tikapuut: avaaminen Bob (vastaanottaja) tuntee osa avaimet k 1,k 2,...,k r sekä kryptoviestin c = m r+1 m r Bob asettaa y r = m r m r+1 ; tietysti m r -1 = m r Bob laskee arvon f k r (m r -1) nyt m r+1 = m r-1 f k r (m r), joten m r+1 f k r (m r-1) = m r-1 f k r (m r) f k r (m r -1) = m r -1 Bobilla on nyt tiedossa y r-1 = m r -1 m r osa avaimen k r -1 avulla Bob saa määritettyä luvun y r -1 = m r -1 m r -2 näin jatkamalla (ylöspäin) Bob saa lopulta lasketuksi luvun m = y 0 = m 0 m 1 48

49

Yksi DES kierros 50

Lohkosalaajamoodi: Electronic Code Book (ECB) olkoon salainen avain k ja oletetaan, että selkokielinen viesti on jaettu lohkoihin m 0, m 1, m 2, m 3,... tällöin salaaminen ECB-moodissa tapahtuu seuraavasti: c i = E k (m i ), kun i = 0,1,2,... salattu viesti muodostuu lohkoista c 0, c 1, c 2, c 3,... avaaminen ECB-moodissa: m i = D k (c i ), kun i = 0,1,2,... edellä tietysti E k on lohkosalaajan salausfunktio avaimella k ja D k on vastaava avausfunktio 51

Alice ja DES:n ECB-moodi 52

Lohkosalaajamoodi: Cipher Block Chaining (CBC) olkoon salainen avain k, selkokielilohkojen jono m 0, m 1, m 2, m 3,... ja IV etukäteen annettu aloitusvektori alotusvektori on lohkonpituinen symbolijono tällöin salaaminen CBC-moodissa tapahtuu seuraavasti: c 0 = E k (m 0 IV) ja c i = E k (m i c i -1 ), kun i = 1,2,3,... salattu viesti muodostuu lohkoista c 0, c 1, c 2, c 3,... avaaminen CBC-moodissa m 0 = D k (c 0 ) IV ja m i = D k (c i ) c i -1, kun i = 1,2,3,... 53

Alice ja DES:n CBC-moodi 54

C. Julkisen avaimen kryptografia Julkisen avaimen kryptografia epäsymmetrinen kryptografia PKC salausjärjestelmä on epäsymmetrinen mikäli aina, kun k K, on avausfunktion D k määrittäminen salausfunktiosta E k (ja vastaavasti E k :n määritäminen D k :sta) algoritmisesti vaikeaa kaksi avainta, julkinen ja yksityinen; merkitään X:n julkista avainta ku x ja yksityistä avainta kr x julkisella avaimella salataan ja varmennetaan digitaalinen allekirjoitus; c = E ku x (m), y = D kux (z) 55

Julkisen avaimen kryptografia (2) yksityisellä avaimella avataan ja suoritetaan digitaalinen allekirjoitus; m = D kr x (c), z = E krx (y) tietysti m = D kr x (E kux (m)) ; yleensä myös c = E kux (D krx (c)) usein salaus- ja avausalgoritmit ovat samat, vain avain vaihtuu; tällöin E k = D k aina, kun k {ku x,kr x } 56

PKC: luottamuksellisuus A B m E E (m) ku D m b ku b kr b 57

PKC: autentikointi ja digitaalinen allekirjoitus A B m E E (m) kr D m a kr a ku a 58

PKC: luottamuksellisuus, autentikointi ja digitaalinen allekirjoitus A m E E E kra (m) E (E ku b kra (m)) kr a ku b D E kr a (m) D m B kr b ku a 59

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 60

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). 61

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. 62

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, q 0 q 1,..., q k+1, r 0, r 1,..., r k N +, missä k N, että a = q 0 b + r 0 0 < r 0 < b b = q 1 r 0 + r 1 0 < r 1 < r 0 r 0 = q 2 r 1 + r 2 0 < r 2 < r 1... r k-2 = q k r k-1 + r k 0 < r k < r k-1 r k-1 = q k+1 r k 63

Eukliden algoritmi (2) Väitämme, että syt(a,b) = r k. Miksi? Jos c a ja c b niin c r 0. Tästä seuraa, että c r 1 c r 2... c r k. Toisaalta r k r k-1 r k r k-2... r k b r k a. Siispä syt(a,b) = r k. 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. 64

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 p 1 < p 2 <... < p n ja yksikäsitteiset i 1, i 2,..., i n N +, joille m = p 1 i 1 p 2 i 2... p n i n. Edellä luvun m esitys muodossa m = p i 1 1 p i 2 2... on m:n tekijöihinjako. p n i n 65

Jakojäännöksistä 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 kanssa. n b a (eli n jakaa tasan luvun b a) 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 66

Jakojäännöksistä (2) Edelleen, jos ja c ovat sellaisia kokonaislukuja, että on voimassa (a c) mod n = (b c) mod n, 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 67

Jäännösluokkalaskentaa Olkoon n {2,3,4,... } ja Z n = {0,1,2,..., n -1}. Määritellään joukossa Z n 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. 68

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 69

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 70

Jäännösluokkalaskentaa (2) Joukon Z n = {0,1,2,..., n -1} alkioita voidaan ajatella tavanomaisina kokonaislukuina, kuitenkin yo laskutoimituksilla varustettuna. Alkion a Z n vasta-alkio (käänteisalkio yhteenlaskun suhteen) on se yksikäsitteinen y Z n, jolle a + n y = 0. Merkitään y = a. Esim. Alkion 7 Z 14 vasta-alkio on 7, koska 7 + 14 7 = 0. Alkion a Z n käänteisalkio (kertolaskun suhteen), jos se on olemassa, on se yksikäsitteinen z Z n, jolle a n z = 1. 71

Jäännösluokkalaskentaa (3) Esim. Alkion 3 Z 14 käänteisalkio on 5, koska 3 14 5 = 1. Alkiolla 7 Z 14 ei ole käänteisalkiota. Väite: Alkiolla a Z n, 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 Z n (miksi?) Nyt selvästi x n a = 1. Oletetaan sitten, että x n a = 1, missä x Z n. 72

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). 73

Jäännösluokkalaskentaa (5) Olkoon Z n kaikkien sellaisten alkioiden x Z n että x ja n ovat keskenään jaottomia. Ilmeisesti joukossa Z n 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 Z n käänteisalkio kertolaskun suhteen. Siten ( Z n, 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 a p-1 mod n = 1. 74

Jäännösluokkalaskentaa (6) Voidaan osoittaa, että jokaista alkulukua p kohti on olemassa sellainen a Z p että Z p = {a i i = 0, 1, 2,, p 1} Sanomme tällöin, että a virittää (eli generoi) ryhmän Z p. 75

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 76

RSA (2) salaaminen ja avaaminen perustuvat jäännösluokkaeksponenttien määrittämiseen (myös Euklideen algoritmiin) murtamisen vaikeus perustuu oletukseen kokonaislukujen tekijöihinjaon vaikeudesta 77

RSA algoritmi 1. Avaimen generointi valitaan kaksi suurta alkulukua p ja q (molemmat ainakin 256-bittisiä) lasketaan n = p q lasketaan ( p q ) = ( 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 (d e ) mod (n) = 1 julkinen avain on ku = {e, n} yksityinen avain on kr = {d, n} 78

RSA algoritmi (2) 2. Salaaminen selkoteksti m Z n kryptoteksti c = m e mod n 3. Avaaminen kryptoteksti c Z n selkoteksti m = c d mod n Luvun n pituuden tulisi nykyään olla välillä (1024, 2048). 79

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 80

Diffie-Hellman algoritmi 1. Julkiset parametrit valitaan suuri alkuluku p (ainakin 1024 bittiä) ja (jokin) kertolaskuryhmän Z p * generaattori 2. Alice generoi omat parametrinsa avaimeen Alice valitsee yksityisen luvun x a Alice laskee y a = x a mod p ( = p x a ) 3. Alice lähettää luvun y a Bobille Alice valitsee yksityisen luvun x a Alice laskee y a = x a mod p ( = p x a ) 4. Bob generoi omat parametrinsa avaimeen Bob valitsee yksityisen luvun x b Bob laskee y b = x b mod p ( = p x b ) 5. Bob lähettää luvun y b Alicelle 81

Diffie-Hellman algoritmi (2) 6. Alice generoi salaisen avaimen Alice laskee k = y b xa mod p (= y b p x a ) 7. Bob generoi salaisen avaimen Bob laskee k = y a xb mod p (= y a p x b ) 82

Diffie-Hellman -avaimenvaihto Vaikka vastapuoli Eve tuntisi parameetrit p,, y a ja y b, 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 Z p * 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). 83

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, y a ja. 2. Eve keskeyttää viestin, valitsee oman lukunsa x e ja laskee arvon y e sekä salasen avaimen k ae = y a p x e. 3. Eve naamioituu Alicen suuntaan Bobiksi ja lähettää Alicelle parametrin y e. 4. Alice laskee salaisen avaimen k ae = y e p x a. 84

Diffie-Hellman avaimenvaihto (3) Välimieshyökkäys (jatkuu... ): 5. Eve naamioituu Bobin suuntaan Aliceksi ja lähettää Bobille parametrit p, y e and. 6. Bob valitsee oman lukunsa x b ja laskeee aron y b sekä salaisen avaimen k be = y e p x b. 7. Uskoen, että Eve on Alice, Bob lähettää parametrin y b to Eve. 8. Eve laskee salasien avaimen k be = y b p x e. 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. 85

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 modulaarilaskentaan. 86

Mittayksiköiden kerrannaisia osoittavat etuliitteet, lyhenteet ja koot eksa E 10 18 peta P 10 15 tera T 10 12 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 87