Diskret matematik-MAB726 Hans Frisk, MSI 3/2 2002 RSA kryptosystemet Kryptering ar studiet av sk kryptosystem for saker kommunikation. Avsandaren, S, transformerar, krypterar, meddelandet innan hon sander ivag det s a att forhoppningsvis endast godkanda mottagare, M, kan rekonstruera, dechirera, det. Har skall jag beskriva det s a kallade RSA-kryptosytemet (efter Rivest, Shamir och Adleman som utvecklade det). I detta system gor varje deltagare en krypteringsnyckel oentlig och en dechireringsnyckel hemlig. Sandaren behover bara kolla upp mottagarens krypteringsnyckel i den oentliga tabellen och kryptera efter den. M dechirerar sedan med hjalp av sin hemliga nyckel. Alla ord representeras i RSA med siror. T ex SEND MONEY blir 20061505011416150626 S ar 20:e siran i alfabetet, E den 6:e och s a lagger man till en nolla for att alltid f a tv asiriga tal osv. Blanktecken utelamnas vanligtvis. Har foljer hur det g ar till mer i detalj. Alla M vajer forst tv a primtal, vanligtvis med ca 100 siror vardera. Kalla dem p och q . Sedan beraknar M z = p q och = (p 1) (q 1) : Sedan valjs ett heltal n s adant att gcd(n; ) = 1. Man valjer oftast n som ett primtal. Sedan gor M de tv a talen z; n oentliga. Slutligen beraknar M det UNIKA talet s, 0 < s < ; som uppfyller n s mod = 1: Talet s h alls hemligt och anvands for dechireringen. Om nu S vill sanda ivag heltalet a; 0 a z 1; till M med nycklarna z och n sa beraknar hon c = an mod z och skickar c. M dechirerar genom att berakna cs mod z SOM VISAR SIG VARA LIKA MED a !!!!!!!! Ovning. G a igenom proceduren ovan genom att valja tv a mindre primtal p och q: Om det skall vara sakert s a skall p och q vara minst 100-siriga och for att forenkla rakningarna mod z for stora tal s a ar foljande samband anvandbart a b mod z = (a mod z ) (b mod z ) mod z: Visa! Att krypteringen-dechireringen verkligen fungerar beror p a foljande sats som vi inte bevisar har au mod z = a for alla 0 a < z och u mod = 1: Med hjalp av dessa tv a samband f ar vi cs mod z = (an mod z )s mod z = (an )s mod z = ans mod z = a eftersom ns mod = 1: 1 Sakerheten for RSA-systemet beror p a att man agon algoritm som kan inte kanner till n faktorisera d-siriga tal p a polynom tid, O dk ; k 2 Z + : 1977 utlyste Martin Gardner i Scientic American ett pris p a $100 till den som kunde knacka en kod med ett 64-sirigt och ett 65-sirigt primtal och n = 9007: Detta lyckades n agra hollandare med 1994. Arbetet koordinerades via Internet och 600 frivillga fr an 25 lander deltog. Sammanlagt 1600 datorer ingick i faktoriseringen. Jag har avandt mig av Johnsonbaughs bok Discrete Mathematics (5:e upplagan). Beviset som utelamnats ovan hittar man i Introduction to Algorithms av T.H.Cormen m , MIT press 1990. 2