RSA-kryptering. Torbjörn Tambour



Relevanta dokument
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)

DEL I. Matematiska Institutionen KTH

Binomialtal. Olof Bergvall. Algebra och Kombinatorik Stockholms Universitet 1 / 13

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

Multiplikationsprincipen

IV. Ekvationslösning och inversa funktioner

L HOSPITALS REGEL OCH MACLAURINSERIER.

Offentlig kryptering

NÅGOT OM KRYPTERING. Kapitel 1

1 Jag själv lärde om detta av en kollega som, kanske, heter Joel Andersson

Kapitel 2: De hela talen

Några satser ur talteorin

RSA-kryptering och primalitetstest

Teori :: Diofantiska ekvationer v1.2

Primtal, faktorisering och RSA

a k . Serien, som formellt är följden av delsummor

ARITMETIK 3. Stockholms universitet Matematiska institutionen Avd matematik Torbjörn Tambour

1 Föreläsning IV; Stokastisk variabel

Hela tal LCB 1999/2000

Lösningar till utvalda uppgifter i kapitel 5

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på sammandragningarna.

Kursens mål är, förutom faktakunskaper om kursinnehållet, att ge:

Uppgifter övning I8: Uppgift nr 1 Sealine AB

Grupper och RSA-kryptering

Diofantiska ekvationer

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

Delbarhet och primtal

Tentamen SF1661 Perspektiv på matematik Lördagen 18 februari 2012, klockan Svar och lösningsförslag

INDUKTION OCH DEDUKTION

Matematik 5 Kap 1 Diskret matematik I

MA2047 Algebra och diskret matematik

12. Numeriska serier NUMERISKA SERIER

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Om användning av potensserier på kombinatorik och rekursionsekvationer

Inlämningsuppgift, LMN100

Diagnostiskt test 1 tid: 2 timmar

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

MA2047 Algebra och diskret matematik

Lösningsförslag, v0.4

Algebra och talteori MMGL31

6.4 Svängningsrörelse Ledningar

x(t) =A cos(!t) sin(!t)

Identification Label. Student ID: Student Name: Elevenkät Fysik. Skolverket Bo Palaszewski, Projektledare Stockholm

Kvalificeringstävling den 30 september 2008

DEL I. Matematiska Institutionen KTH

Inlämningsuppgifter i Funktionsteori, vt 2016

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

Högstadiets matematiktävling 2016/17 Finaltävling 21 januari 2017 Lösningsförslag

Kryptering och primtalsfaktorisering

Analys o linjär algebra. Fortsatt analys.. p.1/81

Föreläsning 9: Talteori

Prov i matematik Fristående kurs Analys MN1 distans UPPSALA UNIVERSITET Matematiska institutionen Anders Källström

Hur Keplers lagar för planetrörelser följer av Newtons allmänna fysikaliska lagar.

Inlämningsuppgifter i Funktionsteori, ht 2018

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Ylioppilastutkintolautakunta S tudentexamensnämnden

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012)

SF2715 Tillämpad kombinatorik Kompletterande material och övningsuppgifter Del I

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n = grad( P(

Lösningsförslag envariabelanalys

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

Högstadiets matematiktävling 2018/19 Finaltävling 19 januari 2019 Lösningsförslag

Följande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning det finns ett tal k så att A=kB

Översikt. Effektiva algoritmer. En telefonlista. Algoritm

Ett M/M/1 betjäningssystem har följande egenskaper: 1. Systemet har en betjänare. Betjäningstiderna är exponentialfördelade med medelvärde 1 μ

Lösningsförslag till tentamen MVE465, Linjär algebra och analys fortsättning K/Bt/Kf

Lite om räkning med rationella uttryck, 23/10

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

betecknas = ( ) Symmetriska egenskaper hos derivator av andra ordningen. (Schwarzs sats)

Algebra och kryptografi Facit till udda uppgifter

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

KOMBINATORIK. Multiplikationsprincipen

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

.I Minkowskis gitterpunktssats

dt = x 2 + 4y 1 typ(nod, sadelpunkt, spiral, centrum) och avgöra huruvida de är stabila eller instabila. Lösning.

PRIMTALEN, MULTIPLIKATION OCH DIOFANTISKA EKVATIONER

Matematisk kommunikation för Π Problemsamling

Motivering av högerledet i Maxwells 4:e ekvation

Kinesiska restsatsen

Inlämningsuppgifter i Funktionsteori, vt1 2012

Resträkning och ekvationer

Potensserier och potensserieutvecklingar av funktioner

Diskret matematik: Övningstentamen 1

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

Lösningsförslag till deltentamen i IM2601 Fasta tillståndets fysik. Teoridel

5 Klämkraft och monteringsmoment

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Lösningar till Algebra och kombinatorik

Ylioppilastutkintolautakunta S tudentexamensnämnden

TENTAMEN I KOTEORI 20 dec 07 Ten2 i kursen HF1001 ( Tidigare kn 6H3012), KÖTEORI OCH MATEMATISK STATISTIK,

KONTROLLSKRIVNING 2 Kurs: HF1012 Matematisk statistik Lärare: Armin Halilovic Datum: 14 apr 2014 Skrivtid: 13:15-15:00

Lösningsförslag TATA

Anteckningar propp SMT2

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

Vi börjar med en viktig definition som inte finns i avsnitt 3.4 i [EG], den formella definitionen av kongruens modulo n:

LABBA MED PRIMTAL OCH DELBARHET. Andreas Wannebo

1 Duala problem vid linjär optimering

Algebra I, 1MA004. Lektionsplanering

Transkript:

RSA-rytering Torbjörn Tambour RSA-metoden för rytering har den seciella och betydelsefulla egensaen att metoden för rytering är offentlig, medan metoden för derytering är hemlig. Detta an om man funderar lite vera märligt; om man vet hur man ryterar, så borde man v äl veta hur man går balänges, dvs deryterar, ocså, men så är det alltså inte. Den allmänna rincien för deryteringen är änd avalla, men den är beroende avvissa tal som hålls hemliga och som utomstående inte an räna ut eller åtminstone har synnerligen stora sv årigheter att räna ut. Metoden bygger å ett resultat i talteorin, nämligen Fermats lilla sats. Vi har således ett exemel å ett resultat i den mer abstrata delen avmatematien som oväntat får en onret och vitig tillämning. Aronymen RSA ommer avnamnen å ufinnarna, Ron Rivest, Adi Shamir och Len Adleman, och metoden ublicerades 979. Kongruenser Vi sall börja med att reetera ongruenser. Låt n vara ett fixt ositivt heltal. Tv åheltala och b säges vara ongruenta modulo n om a b är delbart med n. Man sriver detta a b mod n. Observera att a b är detsamma som att a = b+n för något heltal. Ett annat sätt att formulera detta är att tv å tal ongruenta modulo n om och endast om de ger samma rest vid division med n. Oma ger resten r, såär a r mod n och det följer att givet ett tal a så finns recis ett tal r sådant att 0 r n sådant att a r mod n, nämligen resten vid division med n (ty om r s <noch r s mod n, såmåste r = s). Sats Följande gäller för ongruenser: a) a a mod n för alla a b) om a b mod n, såär b a mod n c) om a b och b c mod n, såär a c mod n d) om a b och c d mod n, sågäller a±c b±d och ac bd mod n

e) om a b, såär a b mod n för alla heltal 0 f) om SGD(a, n) =,så finns ett heltal x sådant att ax mod n. Bevis. De tre första åståendena är mer eller mindre självlara. Om a b, c d, så an vi sriva a = b + n, c = d + ln för några heltal, l. Alltså är a ± c = b ± d +( ± l)n och första delen avd) följer. Multiliation ger istället ac = bd +(bl + d + ln)n, varav ac bd. Uread användning av d) ger e). Del f) är betydligt intressantare. Enligt Eulides algoritm finns heltal x, y sådana att ax + ny =. Modulo n betyder detta att ax. Talet x i e) bruar allas för inversen till a modulo n och en vanlig betecning är x = a (här måste det alltså vara underförstått vilet n som ligger i botten). Men definierar förstås a =(a ) när är ett ositivt heltal och det är lätt att visa att de vanliga otenslagarna gäller. Sats 2 (Fermats lilla sats) Om är ett rimtal och a ett heltal som inte är delbart med, sågäller att a mod. En evivalent formulering är att a a mod för alla a. I sista avsnittet finns inte mindre än tv åbevisför Fermats lilla sats. Vi ommer ocså att behöva Sats 3 Låt och q vara två olia rimtal och låt M vara ett tal som är delbart med både och q. Oma inte är delbart med q, sågäller att a M mod q. Bevis. Vi har a M =(a ) M/( ) M/( ) mod enligt Fermats lilla sats eftersom M är delbart med (lägg märe till att detta villor är väsentligt!). På samma sätt får vi a M mod q. Alltså är a M delbart med både och q. Men och q är olia rimtal och då måste q a M, dvs a M mod q. 2 RSA Vi an nu besriva RSA-metoden. Vi har alltså ett meddelande som vi vill rytera och först måste vi översätta det till ett tal. Exemelvis an vi låta A vara 0, B 02 osv. Antag att meddelandet är a översatt till ett tal. Vi låter och q vara två olia rimtal och antar till att börja med att a q. Låt M vara minsta gemensamma multieln till ochq. Tag ett tal sådant att SGD(, M) =ochlåt l vara sådant att l mod M. Vi har nu 2

Krytering: a a Derytering: b b l mod q mod q Här betyder a mod q resten av a vid division med q. Innan vi börjar reda ut varför detta fungerar sall vi ta ett enelt exemel. Låt =,q = 3. Då är M = MGM(0, 2) = 60. Tag t ex =7. Låt meddelandet vara a = 42. Det ryterade meddelandet får vi genom att reducera 42 7 modulo 43. En stunds ränande (med hjäl avreglerna i Sats ) ger att 42 7 8 mod 43. Det ryterade meddelandet är således b = 8. För att unna derytera detta måste vi finna ett tal l såatt7l mod 60. Vi sall alltså lösa den diofantisa evationen 7l + 60m = och som vanligt gör man det med hjäl aveulides algoritm. Man finner l = 43 som en möjlighet. Deryteringen innebär således att vi sall beräna 8 43 mod 43. Ytterligare en stunds ränande ger mycet ritigt att 8 43 42 mod 43. Låt oss såvisavarför metoden fungerar. Det ryterade meddelandet är alltså a mod q och deryteringen innebär att vi sall beräna (a ) l mod q. Menl =+cm för något heltal c eftersom l mod M, vilet ger (a ) l mod q a l a +cm a (a M ) c a c a mod q enligt Sats 3. Nu är både första och sista ledet q och då måste de vara lia. Men hur gör man om meddelandet a från början är >q? Jo, man delar u det i mindre bitar. Säerheten i RSA-metoden har att göra med sv årigheten att fatorisera stora tal. Detsomär offentligt änt i ryteringsalgoritmen är talen q och. För att derytera behöver man talet l. För att bestämma det behöver man lösa ongruensen l mod M och då behöver man förstås veta vad M = MGM(,q ) är. Den enda ända metoden att bestämma M är att ta reda å och q, dvs att fatorisera talet q. Att fatorisera stora tal är ett avde svåraste roblem man änner till och det är därför man betratar RSA som en mycet säer metod. I ratien måste naturligtvis och q vara stora rimtal, säg med minst 00 siffror. Det är lart att det an finnas snabba och effetiva fatoriseringsmetoder, eller att det finns en metod att bestämma M utan att fatorisera, men sådana änner man inte till idag. För att RSA sall fungera måste man alltså ha tillgång till stora rimtal. Sådana hittar man i ratien genom ett slags trial-and-error. Man tar ett slumvis utvalt tal med många siffror och testar om det är ett rimtal. Primtalstest är ett enlare roblem än fatorisering och ett sätt man ibland 3

använder bygger å Fermats lilla sats eller snarare å en omvändning till den: Låt a vara ett slumvis valt tal. Om a mod såär det stor sannolihet för att är ett rimtal (men det är inte alls säert!). Det ågår mycet forsning ring fatorisering avstora tal och rimtalstestning, både för att näca RSA och för att göra den särare. Den naivaste metoden att fatorisera ett tal N är väl att rova att dividera med alla tal N (om N är sammansatt, så har det minst en fator som är N; v arför?). Säg att N har 200 siffror, så att N har ungefär 00 siffror. Det finns då 0 00 tal att dividera med. Hur snabbt an en dator göra en räneoeration? Låt oss säga att den minsta möjliga tiden är den det tar för en ljusstråle att färdas sträcan 0 5 meter (räcvidden hos ärnrafterna). Detta blir 0 5 /3 0 9 0 25 seunder. Universum är ca 0 20 s gammalt och under denna tid hinner man alltså göra ungefär 0 45 oerationer, om man inte gör dem arallellt. Om alla väteatomer, ca 0 53 stycen, i solen vore involverade i ränandet, så sulle vi ha hunnit göra 0 98 oerationer sedan universum om till och vi måste vänta tills det blir 00 gånger så gammalt som nu för att vi sall bli lara... 3 Bevis för Fermats lilla sats Vi sall avslutningsvis ge inte mindre än tv å olia bevis för Fermats lilla sats, ett enelt och lättsmält med indution och ett lite mer rävande, men som bättre visar varför satsen är sann. Bevis. Vi ommer att behöva binomialsatsen n n (x + y) n = x n + x n y +...+ x n y +...+ y n då exonenten är v årt rimtal. Vi behöver ocså veta att binomialoefficenterna ( ) är delbara med om. Varför är det så? Jo, vi har ju ( )!! =!. Här är högerledet delbart med, så då måste vänsterledet vara det ocså. Alltså är någon avfatorerna till vänster delbar med, eftersom är ett rimtal. Men om! = 2... vore delbart med, såvorenågon av fatorerna till höger delbar med, vilet är omöjligt då de alla är <. På samma sätt ser man att ( )! inte an vara delbart med och det följer att ( ) är delbart med. 4

Vi sall nu använda indution över a för att visa att (a a). När a =såär a a =0ochåståendet är trivialt. Antag att det är sant för något visst a. Vi sall bevisa att det då är sant även för a +. Enligt binomialsatsen är (a +) = a + a + a 2 +...+ a +, 2 såatt (a +) (a +)=(a a)+ a + a 2 +...+ a. 2 Enligt indutionsantagandet är a a delbart med och enligt ovan är delbart med om. Alltså är hela högerledet delbart med och satsen följer med indution. Bevis 2. Låt a vara ett tal som inte är delbart med. Vi sall betrata de talen a,a 2,...,a ( ). Låt deras rester vid division med vara b,b 2,...,b.Noteraatt b i ochattai b i mod. Vi sall först visa att alla b i :na är olia. För antag att b i = b j.dåär ai aj mod och alltså harvi a(i j). Men delar inte a, så i j, varav följer i = j eftersom både i och j ligger mellan och. Dåtalenb i är stycen till antalet och är olia, så måste de utgöra alla tal, 2,..., fastförmodligen i en annan ordning. Hur som helst är b b 2... b = 2... ( ) = ( )!. Produten avalla ai är a ( )!, så avai b i mod följer a ( )! b... b ( )! mod. Alltsågäller att (a )( )!. Men an inte dela ( )!, för då sulle det dela någon avfatorerna, vila alla är <.Detföljer att a och med andra ord att a mod. Det andra beviset är möjligen lite mer abstrat än det första, men det har fördelen att ge information om varför Fermats lilla sats är sann och an dessutom generaliseras. 5