RSA Julkisen avaimen salakirjoitusmenetelmä



Samankaltaiset tiedostot
Matematiikan mestariluokka, syksy

Lukuteorian kertausta

ALKULUKUJA JA MELKEIN ALKULUKUJA

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

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

Salakirjoitusmenetelmiä

MS-A0402 Diskreetin matematiikan perusteet

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

811120P Diskreetit rakenteet

1 Lukujen jaollisuudesta

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

LUKUTEORIAN ALKEET HELI TUOMINEN

Diofantoksen yhtälön ratkaisut

Testaa taitosi 1: Lauseen totuusarvo

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Lukuteorian sovelluksia tiedon salauksessa

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

2. Eukleideen algoritmi

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

R 1 = Q 2 R 2 + R 3,. (2.1) R l 2 = Q l 1 R l 1 + R l,

Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki

5. Julkisen avaimen salaus

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

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

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

2017 = = = = = = 26 1

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

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

4. Eulerin ja Fermat'n lauseet

Primitiiviset juuret: teoriaa ja sovelluksia

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

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

Neljän alkion kunta, solitaire-peli ja

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Liisa Ilonen. Primitiiviset juuret

41 s. Neljännessä luvussa käsitellään erikseen parillisia täydellisiä lukuja. Luvussa osoitetaan Eukleides Euler teoreema,

d Z + 17 Viimeksi muutettu

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

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

Jokainen kokonaisluku n voidaan esittää muodossa (missä d on positiivinen kok.luku) Tässä q ja r ovat kokonaislukuja ja 0 r < d.

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

Salausmenetelmät 2015/Harjoitustehtävät

LUKUTEORIA johdantoa

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

2 j =

ALKULUVUISTA (mod 6)

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

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

RSA-salaus ja sen lukuteoreettinen pohja

Lukuteorian kurssi lukioon

RSA-salausalgoritmi ja alkuluvut Jussi Palola

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

SALAUSMENETELMÄT A, 4 op

a ord 13 (a)

Eräitä RSA-salauksen haavoittuvuuksia

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jussi Tervaniemi. Primitiiviset juuret

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

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

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

a b 1 c b n c n

Lineaariset kongruenssiyhtälöryhmät

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

Kokonaisluvun kertaluvun sovelluksia

Epälineaarisia Diofantoksen yhtälöitä

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

Alkulukujen teoriaa ja Goldbachin otaksuma

Alkulukutesteistä. Lauri Sormunen. Matematiikan pro gradu

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

10. Satunnaisalgoritmit

Palmikkoryhmät kryptografiassa

TOOLS. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO TOOLS 1 / 28

Lukuteoriaa ja salakirjoitusta, osa 1

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

Yhtäpitävyys. Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite).

MATEMAATTINEN KRYPTOLOGIA. Keijo Ruohonen

Merkitse kertolasku potenssin avulla ja laske sen arvo.

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

1. Mikä on lukujen 10, 9, 8,..., 9, 10 summa? 2. Mikä on lukujen 10, 9, 8,..., 9, 10 tulo? =?

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

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu , tehtävien ratkaisut

Julkisten avainten salausmenetelmät

LUKUTEORIAN ALKEET KL 2007

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.)

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

Kryptologia Esitelmä

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

Miljoonan dollarin palkkio odottaa matemaattisen väittämän todistajaa

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

a b c d

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

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

. Silloin 1 c. Toisaalta, koska c on lukujen a d ja b d. (a 1,a 2,..., a n )

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

802354A Lukuteoria ja ryhmät Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä, Antti Torvikoski, Topi Törmä

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO

Multiplikatiivisista funktioista

Abc-konjektuuri. Pro gradu -tutkielma Marko Lamminsalo Itä-Suomen yliopisto 5. maaliskuuta 2014

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III

Lyhyt johdatus alkeelliseen lukuteoriaan. Esa V. Vesalainen

Transkriptio:

RSA Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL

Alkuluvut Alkuluvuilla tarkoitetaan lukua 1 suurempia kokonaislukuja, jotka eivät ole tasan jaollisia millään muulla nollaa suuremmalla kokonaisluvulla, kuin luvulla 1 ja itsellään. Pienimmät alkuluvut ovat 2, 3, 5, 7, 11, 13, 17, 19, Alkuluvut ovat lukuja, jotka eivät esiinny kertotaulussa ensimmäistä riviä ja ensimmäistä saraketta lukuunottamatta. Yksinkertaisin tapa todeta luku alkuluvuksi, on kokeilujako. Kokeilujaossa lukua yritetään jakaa kokonaisluvuilla, jotka ovat suurempia kuin 1 mutta pienempiä kuin tutkitun luvun neliöjuuri. Kokeilujako on hyvin tehoton menetelmä suuria lukuja käsiteltäessä. Alkulukuja merkitään yleisesti kirjaimilla p ja q.

Aritmetiikan peruslause Aritmetiikalla tarkoitetaan luvuilla laskemista. Alkulukujen merkitys aritmetiikassa perustuu aritmetiikan peruslauseeseen, jonka mukaan jokainen ykköstä suurempi kokonaisluku voidaan tekijöiden järjestystä vaille yksikäsitteisesti esittää alkulukujen tulona. Alkulukuja, joilla jokin luku on tasan jaollinen, sanotaan ko. luvun alkutekijöiksi. Esim. 360=2 3 3 2 5 Jos luvun alkutekijät tunnetaan, ne voidaan helposti kertoa keskenään. Suuren kokonaisluvun alkutekijöiden etsiminen, luvun tekijöihinjako eli faktorointi, on yleisesti laskennallisesti vaativa tehtävä. Tähän yksisuuntaisuuteen perustuu RSA-järjestelmän tarjoama tietoturva.

Eulerin funktio Eulerin funktiolla positiivisesta kokonaisluvusta n tarkoitetaan niiden positiivisten kokonaislukujen, jotka ovat pienempiä kuin n ja joilla ei ole yhteisiä tekijöitä luvun n kanssa, lukumäärää. Siis φ(n) = #{k 0<k<n ja syt(k,n)=1}. Jos p on alkuluku ja k positiivinen kokonaisluku, niin φ(p k ) = p k-1 (p- 1). Erityisesti φ(p) = p-1. Jos syt(m,n) = 1, niin φ(mn) = φ(m)φ(n). Erityisesti, jos p ja q ovat erisuuria alkulukuja, niin φ(pq)= φ(p) φ(q) = (p-1)(q-1). Tätä tulosta hyödynnetään RSA-menetelmässä. Eulerin funktion arvon laskeminen on laskennallisesti yhtä vaikea tehtävä kuin ko. luvun tekijöihinjako.

Jakojäännösaritmetiikka Jakojäännösaritmetiikalla l. modulaariaritmetiikalla tarkoitetaan tietyn kokonaisluvun, modulin, jakojäännöksillä laskemista. Jakojäännösaritmetiikan keskeinen työkalu on kongruenssirelaatio. Kokonaislukujen a ja b sanotaan olevan kongruentteja modulo n, jos niiden jakojäännökset luvulla n jaettaessa ovat yhtäsuuret. Tällöin merkitään a b (mod n). Kongruenssirelaation käyttö muistuttaa hyvin pitkälti yhtäsuuruusmerkin = käyttöä matematiikassa. Kongruensseilla laskettaessa kokonaisluku voidaan tyypillisesti korvata sen kanssa kongruentilla toisella kokonaisluvulla. Jakojäännösaritmetiikan peruslaskusäännöt ovat yksinkertaisia, mutta niiden sujuva käyttö vaatii rutinoitumista.

Jakojäännösaritmetiikan käänteisluku Olkoon n jokin positiivinen kokonaisluku. Jos kokonaisluvut a ja b toteuttavat ehdon ab 1 (mod n), niin sanomme, että luvut a ja b ovat toistensa käänteislukuja modulo n. Lukujen a ja b tulo antaa siis luvulla n jaettaessa jakojäännökseksi luvun 1. Esim. luvut 3 ja 7 ovat toistensa käänteislukuja modulo 10, koska 3*7=21 1 (mod 10). Jakojäännösaritmetiikan käänteisluku voidaan laskea: Fermat n pientä lausetta ja potenssiinkorotusalgoritmia käyttäen, jos n on alkuluku. Eulerin lausetta ja potenssiinkorotusalgoritmia käyttäen, jos luvun n tekijöihinjako tunnetaan. Yleisesti laajennettua Eukleideen algoritmia käyttäen. Viimeksi mainittu menetelmä on tehokkain, sillä se ei edellytä alkulukutodistusten ja tekijöihinjakomenetelmien käyttöä.

RSA-järjestelmän avainten valinta Valitaan kaksi isoa alkulukua, merk. p ja q Kerrotaan luvut keskenään, merk. n = pq Lasketaan Eulerin funktion arvo luvusta n: φ(n) = (p-1)(q-1) Valitaan julkinen salakirjoitusavain (kryptausavain) e väliltä 1 φ(n)-1 Lasketaan luvun e käänteisluku modulo φ(n), merk. d Nyt ed 1 (mod φ(n) ) Luku d on salainen purkuavain l. dekryptausavain

Järjestelmän käyttö Olkoon m välillä 0 n-1 oleva kokonaisluku (salattava viesti). Viestin lähettäjä laskee luvun m e jakojäännöksen luvun n suhteen. Näin saatu luku, merk. c muodostaa kryptatun viestin. Vastaanottaja laskee luvun c d jakojäännöksen luvun n suhteen. Nyt c d (m e ) d = m ed m 1 = m (mod n).

Potenssiinkorotusalgoritmi Potenssiinkorotusalgoritmi on yksi keskeisimmistä RSA-menetelmän käyttämistä algoritmeista. Sitä käytetään sekä viestin salaamiseen (kryptaukseen), että sen avaamiseen (dekryptaukseen). Potenssiinkorotusalgoritmi perustuu eksponentin toistuvaan puolittamiseen ja neliöönkorotukseen (kertolaskuun). Esim. Laskettava y = a b, missä a ja b ovat kokonaislukuja. Jos b on parillinen, niin y = (a b/2 ) 2 Jos b on pariton, niin y = a(a (b-1)/2 ) 2

Laajennettu Eukleideen algoritmi Laajennetun Eukleideen algoritmin (extended euclidean algorithm) avulla voidaan löytää sellaiset kokonaisluvut a ja b, että am + bn = syt(m,n) Luvut m ja n ovat ns. keskenään jaottomia, jos syt(m,n) = 1. Ts. luvut m ja n ovat keskenään jaottomia, jos niillä ei ole yhteisiä alkulukutekijöitä. Laajennetun Eukleideen algoritmin tärkein käytännön sovellus on jakojäännösaritmetiikan käänteislukujen laskeminen. Jos nimittäin am+bn = 1, niin am 1 (mod n) ts. Luku a on luvun m käänteisluku modulo n. Laajennettu Eukleideen algoritmi on tehokas. Sen avulla voidaan käsitellä lukuja, joissa on jopa kymmeniä tuhansia numeroita.

Fermat n pieni lause Tehokkaimmat nykyisin tunnetut alkulukutestit perustuvat tavalla tai toisella Fermat n pieneen lauseeseen. Fermat n pieni lause sanoo, että jos a on jokin kokonaisluku ja p on sellainen alkuluku, että p ei ole a:n tekijä, niin a p-1 1 (mod p). Kääntäen, jos n on jokin nollaa suurempi kokonaisluku ja a sellainen kokonaisluku, että syt(a,n)=1 ja luvun a n-1 jakojäännös luvulla n jaettaessa on jokin muu kuin 1, niin voimme olla varmoja siitä, että n ei ole alkuluku. Luvun toteamiseen alkuluvuksi Fermat n pieni lause ei suoraan sellaisenaan sovellu. On nimittäin olemassa sellaisia yhdistettyjä lukuja, jotka toteuttavat Fermat n pienen lauseen kaikilla luvun a valinnoilla. Näitä lukuja sanotaan Carmichaelin luvuiksi.

Fermat n pieni lause (jatk.) Lukuja n, jotka toteuttavat Fermat n pienen lauseen kantaluvulla a (ts. a n-1 1 (mod n)), sanotaan kannan a pseudoalkuluvuiksi. Lukuja, jotka toteuttavat Fermat n pienen lauseen useilla eri kantaluvun a arvoilla, sanotaan todennäköisiksi alkuluvuiksi ja vastaavaa testiä heikoksi alkulukutestiksi. Heikko alkulukutesti ei siis takaa sataprosenttisella varmuudella sitä, että tutkittu luku on alkuluku. Ns. vahvalla alkulukutestillä voidaan määrätä sataprosenttisella varmuudella se, onko tutkittu luku alkuluku vai ei.

Eulerin lause Eulerin lause on yksi tärkeimmistä RSA:n pohjalla olevista matemaattisista perustuloksista. Jos n on jokin positiivinen kokonaisluku ja a sellainen kokonaisluku, että syt(a,n)=1, niin Eulerin lauseen mukaan a φ(n) 1 (mod n). Eulerin lause on Fermat n pienen lauseen yleistys.

Alkulukutestien polynomiaikaisuus Algoritmia sanotaan polynomiaikaiseksi, mikäli sen suoritusajan voidaan todeta olevan verrannollinen syötteen pituuden johonkin kokonaislukupotenssiin. Alkulukutesti on polynomiaikainen, jos on olemassa sellainen positiivinen kokonaisluku k, että testin suoritusaika t toteuttaa ehdon t = O((log(n)) k ) jokaisella testattavalla kokonaisluvulla n. (Huom. luku log(n) kuvaa tässä syötteen pituutta.) Avoin kysymys oli vielä äskettäin, onko polynomiaikaista vahvaa alkulukutestiä mahdollista muodostaa. Intialaiset tutkijat ovat äskettäin esittäneet ns. AKS-testin (Agrawal, Kayal, Saxena), jonka on todettu olevan polynomiaikainen. Sellaisenaan testi on kuitenkin epäkäytännöllinen, sillä sen suoritusaikaa rajoittavan polynomin aste on luokkaa 8.

Tekijöihinjakomenetelmät Systeemin varsinainen käyttäjä ei yleensä tarvitse tekijöihinjakomenetelmiä. Tekijöihinjakomenetelmien käyttäminen liittyy lähinnä systeemin murtoyrityksiin. Järjestelmän turvallisuus perustuu luvun n alkutekijöiden p ja q salassapitoon. Henkilö, joka tuntee luvun n alkutekijät, saa systeemin vaivattomasti murrettua. Nykyisillä tekijöihinjakomenetelmillä voidaan rutiininomaisesti jakaa tekijöihin lähes satanumeroisia lukuja.

RSA Challenge Turva-alan yritys RSA SECURITY pitää Internetissä listaa yhdistetyistä luvuista, joiden faktoroinnista yritys lupaa erisuuruisia palkkioita. Yrityksen tarkoituksena on luonnollisesti seurata (siviilipuolella käytettävien) tekijöihinjakomenetelmien kehitystasoa ja testata siten omien tuotteidensa turvallisuutta. RSA:n haasteluvut löytyvät internetistä osoitteesta http://www.rsasecurity.com/rsalabs/challenges/factoring/numbers.html Tällä hetkellä näistä luvuista pienin on 174 numeroinen luku 18819881292060796383869723946165043980716356337941 73827007633564229888597152346654853190606065047430 45317388011303396716199692321205734031879550656996 221305168759307650257059 Palkkio tämän luvun tekijöihin jakajalle on 10000 dollaria.

RSA-160 Date: Tue, 1 Apr 2003 Subject: RSA-160 We have factored RSA160 by gnfs. The prime factors are: p=45427892858481394071686190649738831\ 656137145778469793250959984709250004157335359 q=47388090603832016196633832303788951\ 973268922921040957944741354648812028493909367 The prime factors of p-1 are 2 37 41 43 61 541 13951723 7268655850686072522262146377121494569334513 and 104046987091804241291. The prime factors of p+1 are 2^8 5 3 3 13 98104939 25019146414499357 3837489523921 and 128817892337379461014736577801538358843. The prime factors of q-1 are 2 9973 165833 11356507337369007109137638293561 369456908150299181 and 3414553020359960488907. The prime factors of q+1 are 2^3 3 3 13 82811 31715129 7996901997270235141 and 2410555174495514785843863322472689176530759197. The computations for the factorization of RSA160 took place at the Bundesamt für Sicherheit in der Informationstechnik (BSI) in Bonn. Lattice sieving took place between Dec. 20, 2002 and Jan. 6, 2003, using 32 R12000 and 72 Alpha EV67. The total yield of lattice sieving was 323778082. Uniqueness checks reduced the number of sieve reports to 289145711. After the filtering step, we obtained an almost square matrix of size with 5037191 columns. Block Lanczos for this matrix took 148 hours on 25 R12000 CPUs. The square root steps took an average of 1.5 hours on a 1.8 GHz P4 CPU, giving the factors of RSA160 after processing the 6-th lanczos solution. F. Bahr J. Franke T. Kleinjung M. Lochter M. Böhm

Fermat n tekijöihinjakomenetelmä Fermat n tekijöihinjakomenetelmässä etsitään sellaiset kokonaisluvut x ja y, että x 2 y 2 (mod n). Nyt y 2 - x 2 0 (mod n) ts. (y-x)(y+x) 0 (mod n) ts. luku n jakaa tulon (y-x)(y+x). Jos n=pq, missä p ja q ovat erisuuria alkulukuja, kuten RSA:ssa, niin on mahdollista, että luku p jakaa luvun y-x ja q jakaa luvun y+x (tai päinvastoin). Jos p jakaa luvun y-x, mutta q ei jaa sitä, niin syt(n, y-x) = p. Toisin sanoen luvun n ei-triviaali tekijä p löydetään Eukleideen algoritmilla tehokkaasti. Vaikeutena Fermat n menetelmässä on lukujen x ja y löytäminen. Fermat n menetelmä on kuitenkin perustana monille muille tehokkaammille menetelmille (Esim. Neliöseulamenetelmä).

Muita tekijöihinjakomenetelmiä Pollard p-1 menetelmä Pollardin rho menetelmä Luokkaryhmämenetelmä (Class Group Factorization Method) Ketjumurtolukumenetelmä (Continued Fraction Factorization Algorithm), Elliptisten käyrien menetelmä (Elliptic Curve Factorization Method) Eulerin tekijöihinjakomenetelmä Lukukuntaseula (Number Field Sieve) Neliöseulamenetelmä (Quadratic Sieve) Williamsin p+1 menetelmä

Protokollat Protokollalla tarkoitetaan säännöstöä, jota noudattamalla käyttäjä voi varmistua järjestelmän turvallisuudesta käyttösovellusten yhteydessä. Protokolla kuvaa yksityiskohtaisesti, miten avainten käsittelyssä, viestin kryptauksessa ja dekryptauksessa jne. menetellään. Protokolla laaditaan teoreettisen tietämyksen perusteella. Sen noudattaminen ei kuitenkaan välttämättä vaadi yksityiskohtaista taustalla olevien kryptografisten primitiivien teoreettista tuntemusta. Protokollasta poikkeaminen (inhimillinen tekijä) muodostaa yhden merkittävimmistä tietoturvariskeistä. Julkisen avaimen infrastruktuurin (PKI) järjestelmät pyritäänkin suunnittelemaan siten, että protokollasta poikkeaminen ei ole mahdollista.

Esimerkki protokollavirheestä Järjestelmän laatija käyttää samaa alkulukua p kahden eri kryptosysteemin muodostamiseen. Siis n 1 = pq 1 ja n 2 =pq 2, missä p, q 1 ja q 2 ovat erisuuria alkulukuja. Tunkeutuja (intruder) laskee julkisten moduulilukujen n 1 ja n 2 suurimman yhteisen tekijän: syt(n 1,n 2 )=syt(pq 1,pq 2 )=p*syt(q 1,q 2 )=p*1=p. Näin hän saa molemmat moduuliluvut jaettua tekijöihin, jonka seurauksena molemmat järjestelmät murretaan.

Valitun salakielitekstin hyökkäys Oheinen valitun salakielitekstin hyökkäys on kuvattu Bruce Schneierin kirjassa Applied Cryptography s. 471. (Ks. viitteet). A, joka kuuntelee B:n tietoliikennettä, onnistuu sieppaamaan B:n julkisella avaimella salatun viestin c. A valitsee satunnaisluvun r, joka on pienempi kuin n. A laskee luvut x r e (mod n), y xc (mod n) ja t r -1 (mod n), missä e on B:n julkinen avain. Koska x r e (mod n), niin x d = (r e ) d = r ed r 1 = r (mod n). A pyytää B:tä allekirjoittamaan viestin y salaisella avaimellaan. B lähettää A:lle viestin u y d (mod n). A laskee tu ty d tx d c d trc d c d m (mod n).

Lähteitä W. Diffie, M. Hellman: New directions in cryptography, IEEE Transactions of Information Theory IT-22, 6 (Nov. 1976), 644-654. R. L. Rivest, A. Shamir, L. Adleman: A Method for Obtaining Digital Signatures and Public Key Cryptosystems, Communications of the ACM, Vol 21, No 2, 1978, 120-126. Bruce Schneier: Applied Cryptography Protocols, Algorithms and Source Code in C, 2 nd ed., John Wiley & Sons, 1996. Matti K. Sinisalo: Suurten kokonaislukujen tekijöihinjaosta ja alkulukutesteistä, Lisensiaatintyö, Oulun Yliopisto, 1994.