EGE/RSA
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
[[Bild:schema_rsa.png]] == Entwurf öffentlicher Schlüssel (e, N) == Lege zwei (große) Primzahlen <math>p</math> und <math>q</math> fest mit <math>p \neq q</math>. Bilde das Produkt <math>N = p \cdot q</math>. Suche eine weitere Zahl <math>e</math>, für die gilt: * <math>e</math> ist Primzahl und größer als <math>p</math> und <math>q</math> <u>oder</u> * <math>e</math> ist teilerfremd zu <math>(p-1) \cdot (q-1)</math>. Die Zahlen <math>e</math> und <math>N</math> bilden den ''öffentlichen Schlüssel''. == Entwurf privater Schlüssel (d) == * <math>d \le (p-1) \cdot (q-1)</math> <u>und</u> * <math>(d \cdot e) \bmod [(p-1) \cdot (q-1)] = 1</math> == Bob verschlüsselt die Nachricht M == Voraussetzung: öffentlicher Schlüssel (e, N) Ein Klartext-Zeichen mit dem Code <math>M</math> wird mit <blockquote><math>M^e \bmod N = C</math></blockquote> zu <math>C</math> ''verschlüsselt''. == Alice entschlüsselt die Nachricht C == Voraussetzung: privater Schlüssel d, öffentlicher Schlüssel N, Code C Der verschlüsselte Code <math>C</math> wird mit <blockquote><math>C^d \bmod N = M</math></blockquote> zum Code <math>M</math> des Klartext-Zeichens ''entschlüsselt''. <!--== Hausaufgabe == RSA-Faktoring-Chalenge (Wikipedia) lesen * Warum ist das RSA-Verfahren mit kleinen Primzahlen immer noch unsicher? (Wozu benötigt man möglichst große Primzahlen?) * Was bedeutet 205 Bit? * Wie groß sollten zwei sichere Primzahlen sein?--> <!--[https://vimeo.com/114048258 RSA mit dem Android-Handy] ansehen und versuchen, umzusetzen.--> == Wir verschlüsseln uns Nachrichten gegenseitig == === Ruben === N=2290688290035092561 e=2^16+1 Geheimtext: M=0212462476451503813 # 0279022256428772954 # 0726293796104265093 # 2114811903790655993 # 1906335504232360310 Antwort= 1036538274769095502 # 2688643036551580215 # 4114731921799591722 # 0060417646924888954 # 3695063731045895706 # 2129609844388256918 # 3407060636421371618 # 2052437072746925273 # 3627779857464992632 # 1478078793264857548 # 3556861091916887533 # 0609436847264307119 # 1736027967330321388 === Leonie === N=1842409465748009713 e=2^16+1 Geheimtext: 0814089072012453105 # 1533869689869904266 # 0416067695399524254 # 2019472324377567463 # 0201473562513874468 # 2108113293249298989 # 0481600702481382099 # 1913735014728369168 # 0646535810652861332 === Jan-Niklas === N= 2403979145974083079 e= 2^16+1 Geheimtext: 1144574168890581819 # 1378985832584241735 # 0481305006718517056 # 1219019799248668483 # 2045659868233517824 # 2095097454166360338 # 1428907095981739790 # 1888276514260170453 # 2388039495620387395 # 1829966771082925091 # 0201663210683833497 # 1750427224501664221 # 0013047686796964166 === Luis === N=3688524632749527271 e=2^16+1 === Clemens === N= 75294756853 e= 2^16+1 59928078434 # 72589273530 # 16173716565 # 44713393784 # 52737605255 # 17184688515 # 46789022858 # 73855319516 # 59825312824 # 27680072701 # 49113742458 # 34690376144 # 35898905995 # 20022963209 # 51298474478 # 40307260494 # 37964653703 # 03980169672 # 02123950179 # 16710337180 # 04049797956 === Maximilian === N = 3038043574127449361 e = 2^16+1 C= 1191945890916496238 # 0749104075417921294 # 2050920325587402138 # 2033322791783987871 # 2179912618785326176 # 2153547974032296128 # 0956406643232635675 # 1790666851702612133 === Janine === N=2852579451223911293 e=2^16+1 Geheimtext: 1616028400802717015 # 2497530724502264956 # 0608263158308991269 # 0070416642992101753 # 1866989425014299148 # 1729590572269052699 # 1269877043949650330 === Simon === N=2634640713694040663 e=2^16+1 1034836196066802899 # 2163387804459873831 # 2239945373948065010 # 1716904572690322764 # 2061974359428766560 # 2040847074043526100 === Ben === N = 1445314283009703157 e = 2^16+1 Text: 0573590867707652411 # 0770343393383693214 # 0626073835735478278 # 0021886460913468891 === Conrad === === Fhüllybpe === N=4125102652534801589 e=2^16+1 Geheimtext: 1815024155428420827 # 3284010809428653411 # 0367427517137291942 # 0504627377733545442 # 1745829803632146976 # 2786027334438664711 # 2352481224462571264 # 2211490466078446646 # 0542925682235426235 # 0291033818027795791 # 2770160186396651385 # 3539585172582904096 # 2716069200541142812 # 1120922036507121308 # 3242417184077934468 c¹: 2861100816995380767 # 1588060076981043803 # 1715334948567646853 # 3197898792589795440 # 2218660437173957464 # 1493760890519279434 # 0597472692900133456 # 2300766234407201140