Kryptering och primtalsfaktorisering



Relevanta dokument
Primtal, faktorisering och RSA

RSA-kryptering och primalitetstest

Några satser ur talteorin

NÅGOT OM KRYPTERING. Kapitel 1

Offentlig kryptering

RSA-kryptografi för gymnasiet. Jonas Gustafsson & Isac Olofsson

Föreläsning 9: Talteori

Föreläsning 9: Talteori

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n)

Matematikens Element. Vad är matematik. Är detta matematik? Anders Fällström Institutionen för matematik och matematisk statistik Umeå universitet

Hjalpmedel: Inga hjalpmedel ar tillatna pa tentamensskrivningen. 1. (3p) Los ekvationen 13x + 18 = 13 i ringen Z 64.

Geometri, talteori och kombinatorik

Krypteringens historia och användningsområden

Den mest väsentliga skillnaden mellan

MA2047 Algebra och diskret matematik

Krypteringteknologier. Sidorna ( ) i boken

TALTEORI FÖR ALLA 1 Juliusz Brzezinski

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

4. Bestäm alla trippler n 2, n, n + 2 av heltal som samtliga är primtal. 5. Skriv upp additions- och multiplikationstabellen för räkning modulo 4.

Gaussiska heltal. Maja Wallén. U.U.D.M. Project Report 2014:38. Department of Mathematics Uppsala University

KTHs Matematiska Cirkel. Talteori. Andreas Enblom Alan Sola

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 22 augusti, 2001

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

, S(6, 2). = = = =

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1

Lösningar till utvalda uppgifter i kapitel 5

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Kapitel 2: De hela talen

A B A B A B S S S S S F F S F S F S F F F F

DEL I. Matematiska Institutionen KTH

Hemligheternas Matematik

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

INDUKTION OCH DEDUKTION

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

DEL I. Matematiska Institutionen KTH

DIVISION ISBN Till läraren

a = a a a a a a ± ± ± ±500

7 Använd siffrorna 0, 2, 4, 6, 7 och 9, och bilda ett sexsiffrigt tal som ligger så nära som möjligt.

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

3. Bestäm med hjälpa av Euklides algoritm största gemensamma delaren till

Svar och lösningar. Kängurutävlingen 2009 Cadet för gymnasiet

Grundläggande kryptering & chiffer

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander)

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Övningshäfte 3: Polynom och polynomekvationer

Lektion 2. Potenser. Valentina Chapovalova. vårterminen IT-Gymnasiet. Valentina Chapovalova Lektion 2

Finns det säkra kryptosystem?

RSA-kryptering. Torbjörn Tambour

Högstadiets matematiktävling 2017/18 Kvalificeringstävling 14 november 2017 Lösningsförslag och bedömningsmall

EXAMENSARBETEN I MATEMATIK

2 (6) k 0 2 (7) n 1 F k F n. k F k F n F k F n F n 1 2 (8)

DEL I. Matematiska Institutionen KTH

Bonusmaterial till Lära och undervisa matematik från förskoleklass till åk 6. Ledning för att lösa problemen i Övningar för kapitel 5, sid

Tal och polynom. Johan Wild

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

Hur man skriver matematik

Algebra och kryptografi Facit till udda uppgifter

LABBA MED PRIMTAL OCH DELBARHET. Andreas Wannebo

PRIMTALEN, MULTIPLIKATION OCH DIOFANTISKA EKVATIONER

Grundfrågor för kryptosystem

Hela tal LCB 1999/2000

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Kryptering & Chiffer Del 2

Likhetstecknets innebörd

Kap 1: Aritmetik - Positiva tal - " - " - " - " - - " - " - " - " -

Test av kryptobiblioteket

Resträkning och ekvationer

a) A = 3 B = 4 C = 9 D = b) A = 250 B = 500 C = a) Tvåhundrasjuttiotre b) Ettusenfemhundranittio

Diskret matematik: Övningstentamen 1

Grupper och RSA-kryptering

Arbetsblad 1:1. Tiondelar på tallinjen 0,1 0,5 0,9 0,2 0,8 0,3 0,8 1,1 1,5 1,6 2,1 2,4 1,1 1,4 2,6 3,2 3,8

Arbetsblad 1:1. Tiondelar på tallinjen 0,9 1,1 0,8. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4

Arbetsblad 1:1. Tiondelar på tallinjen. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4

Planering för matematik 2a OBS: Provdatumen är endast förslag, kontakta läraren innan du kommer och vill ha prov

Algebra II. Isac Hedén och Johan Björklund

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl

Delbarhet och primtal

x 23 + y 160 = 1, 2 23 = ,

Föreläsning 3: Ekvationer och olikheter

Likhetstecknets innebörd

Gaussiska primtal. Christer Kiselman. Institut Mittag-Leffler & Uppsala universitet

TALSYSTEM, DELBARHET OCH PRIMTAL

Tentamen består av 26 uppgifter fördelade på fem olika ämnesområden. Del 2 5 ger maximalt 11 poäng/del.

Matematik med lite logik

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

(A B) C = A C B C och (A B) C = A C B C. Bevis: (A B) C = A C B C : (A B) C = A C B C : B C (A B) C A C B C

Torskolan i Torsås Mars Matematik. Kriterier för betyget godkänd. Metoder: Arbetssätt. Muntligt. Problemlösning

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Bråk. Introduktion. Omvandlingar

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info:

Ansvarig lärare: Maria Lindström eller , Camilla Sjölander Nordin eller

Dra streck. Vilka är talen? Dra pil till tallinjen. Skriv på vanligt sätt. Sätt ut <, > eller =

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Pythagoreiska trianglar

Lösningsförslag Cadet 2014

Kravspecifikation Fredrik Berntsson Version 1.1

Transkript:

Institutionen för Numerisk analys och datalogi Kryptering och primtalsfaktorisering Johan Håstad Nada, KTH johanh@nada.kth.se

Ett Exempel N = 9324894190123791048152332319394135 4114125392348254384792348320134094 3019134151166139518510341256153023 2324525239230624210960123234120156 809104109501303498614012865123 Kan vi avgöra om N är sammansatt? Om så kan vi faktorisera N? Spelar det någon roll?

Fermatprimtal F i =2 2i +1. F 0 = 3 F 1 = 5 F 2 = 17 F 3 = 257 F 4 = 65537 F 5 = 4294967297 Pierre de Fermat noterade att det första 5 är primtal och påstods ha trott att alla F i är primtal.

Källkritik?! Vad gjorde Fermat? Enda bevis publicerat av Fermat var för satsen att varje primtal på formen4k +1 kan på ett unikt sätt skrivas som summan av två kvadrater. 29= 5 2 +2 2 41 = 6 2 +5 2 53 = 7 2 +2 2 113 = 8 2 +7 2

Fermat hade (helt) fel F 5 = 4294967297 = 641 6700417 och inga andra kända tal i serien är primtal. Borde Fermat insett att F 5 inte är primtal?

Fermats lilla sats Sats: Om1 a p 1såär resten av a p 1 vid division med p lika med 1. p betyder rest vid divison med p 1 6 = 1 7 1 2 6 = 64 7 1 3 6 = 729 7 1 4 6 = 4096 7 1 5 6 = 15625 7 1 6 6 = 46656 7 1 men 2 8 = 256 9 4och9är således inte primtal.

N = 257 3 256 = 139008452377144732764939786789661 303114218850808529137991604824430 036072629766435941001769154109609 521811665540548899435521 och ger rest 1 vid division med 256. Verkar som 257 är primtal...

Åter till F 5 3 4294967296 ger rest 3029026160 vid division med 4294967297 och vi kan med säkerhet säga att F 5 inte är primtal. Hur inser man detta? 3 4294967296 är ett tal med ett par miljarder siffror...

Bättre räkningar Vad är sista siffran i 1541 2312? Vad är sista siffran i 1543 2312?

Generalisering Sista siffran är resten vid division med 10. För att beräkna den behöver vi bara sista siffran i operanderna och kan slänga alla andra siffor. Allmänt: Vill vi veta resten av svaret av en beräkning vid division med N, kan vi kasta alla multipler av N påvägen.

Bättre räkningar för N = 257 3 256 = 9 128 = 81 64 = 6561 32 257 136 32 = 18496 16 257 249 16 = 62001 8 257 64 8 = 4096 4 257 241 4 = 58081 2 257 256 2 = 55536 257 1 Enbart 8 multiplikationer av tresiffriga tal.

Bättre beräkning F 5 Fermat kunde ha räknat ut resten av 3 4294967296 vid division med 4294967297 med 32 multiplikationer av 10 siffriga tal och 32 resttagningar. Tar högst någon timme för en van handräknare. Skulle dock inte ha gett faktoriseringen som kräver MYCKET jobb att få fram för hand.

Datorkörningar En dator klarar att göra ett Fermattest på 1000 siffriga tal på högst någon minut, en bra implementation på någon sekund. Slutsats antingen Definitivt inte primtal eller Kanske primtal.

Bättre upp Gary Miller och Michael Rabin visade 1976 att om vi utvidgar testet en aning och provar 50 slumpvis a såfås Definitivt inte primtal eller Troligen primtal. Sannolikhet att ha fel är 2 100.

Behövs slump? Felsannolikhet 2 100 gör detta till en akademisk fråga av litet praktiskt intresse. Stort filosofiskt och teoretiskt intresse. Finns det ett effektivt deterministiskt primtalstest?

Manindra Agarwal, 2002 Det finns ett deterministiskt primtalstest som påtalmedn siffor gör n 6 operationer. Mycket bättre än provdivision som går i tid N 10 n/2, men mycket sämre än Miller- Rabin som går i tid n 3.

Komplexitetsteoretisk slutsats Primtal ligger i klassen av effektivt beräkningsbara funktioner, kallad P. Detta är inte känt för faktorisering. Allmänt så tror man att faktorisering inte ligger i P men ingen är i närheten av att visa detta.

Relation till kryptering Vi har använt satser om rester vid division. Betrakta följande: a 21 och a ger samma rest vid divison med 11. Sätt b till resten av a 7 vid divison med 11. Då 21 = 7 3 ger resten av b 3 vid division med 11 tillbaka a. a = 2 ger a 7 = 128 11 7 = b och b 3 = 343 11 2. Detta är en krypteringsmetod!

Kryptering Välj stort tal N och e och d såatta ed och a alltid ger samma rest vid division med N. Ta ett medelande och koda som ett stort heltal M. Kryptotexten blir resten av M e vid division med N, kalla den C. Klartexten återskapas som resten av C d med division med N.

Exempel Meddelande HEJ JOHAN. A=1, B=2 etc ger M = 805101015080114 Vi kan ha N = 23942194232123139 och lämpliga e och d. Längre meddelanden delas upp i bitar, ett blockkrypto.

Egenskaper Dekrypteringen blir rätt på grund av matematisk sats. Kryptering och dekryptering är tämligen effektiva, ungefär som ett Miller-Rabin test. Att skapa nycklar N, e och d är lätt, följer av matematiska satser. Kan vi publicera N och e?

Kryptosystemet RSA Välj N som produkten av två stora(kanske 150 decimala siffror) primtal. Beräkna lämpliga e och d. Publicera N och e. Vi publicerar KRYPTERINGSNYCKELN, alla kan kryptera.

RSA egenskaper Lätt att skapa nycklar via primtalstest. Enda kända sättet att forcera är att faktorisera N, vilket i dag går trögt, bästa klarar runt 160 siffror. Lätt att se att N inte är primtal, svårt att faktorisera. Kan eventuellt använda e =3!

Slutord Inte svårt att skriva egen implementation av RSA, kräver bara aritmetik på storaheltal. Rimligt projekt att förstå talteorin bakom att RSA fungerar.