RSA

Aus ProgrammingWiki
< EGE
Archivierte Version vom 2019-11-13T09:11:25+00:00. Aktuelle Version

Inhaltsverzeichnis

schema_rsa.png

Entwurf öffentlicher Schlüssel (e, N)

Lege zwei (große) Primzahlen p und q fest mit p \neq q.

Bilde das Produkt N = p \cdot q.

Suche eine weitere Zahl e, für die gilt:

  • e ist Primzahl und größer als p und q oder
  • e ist teilerfremd zu (p-1) \cdot (q-1).

Die Zahlen e und N bilden den öffentlichen Schlüssel.

Entwurf privater Schlüssel (d)

  • d \le (p-1) \cdot (q-1) und
  • (d \cdot e) \bmod [(p-1) \cdot (q-1)] = 1

Bob verschlüsselt die Nachricht M

Voraussetzung: öffentlicher Schlüssel (e, N) Ein Klartext-Zeichen mit dem Code M wird mit

M^e \bmod N = C

zu C verschlüsselt.

Alice entschlüsselt die Nachricht C

Voraussetzung: privater Schlüssel d, öffentlicher Schlüssel N, Code C Der verschlüsselte Code C wird mit

C^d \bmod N = M

zum Code M des Klartext-Zeichens entschlüsselt.

RSA-Faktoring-Challenge

Warum ist das RSA-Verfahren mit kleinen Primzahlen immer noch unsicher? (Wozu benötigt man möglichst große Primzahlen?)

Je kleiner D ist, desto einfacher sind die Primzahlen zu berechnen. Je größer die Primzahlen, desto schwieriger sind sie zu berechnen.

Was bedeutet 205 Bit?

Wie groß sollten zwei sichere Primzahlen sein?


Die Primzahlen sollten um die 1000 Stellen beinhalten.

Wir verschlüsseln uns Nachrichten gegenseitig

Ruben

N=2290688290035092561 e=2^16+1

Geheimtext: C=0212462476451503813 # 0279022256428772954 # 0726293796104265093 # 2114811903790655993 # 1906335504232360310

Leonie

N=1842409465748009713 e=2^16+1

Geheimtext: 1168545598385321835 # 0036148981711874247 # 0586194511655934941 # 1542393816097386545 # 0128534568308589811 # 0747839941646094815 # 0694638595198958223 # 1379050199896526745 # 0706773945999946229

An Leonie von Philip: 0697673231366207881 # 1208374688665456941 # 1543382662282259903 # 0941826729310981749

Jan-Niklas

N= 3309019631962708007 e= 2^16+1


Geheimtext: 1914015104544774280 # 0036113690470850931 # 1825425302363606094 # 1848016099996873123 # 0051200623084067679 # 0551406544958756924 # 0241765583180759526 # 1543993545553785700 # 0278303469076891331 # 1823376381807561391 # 0977433526029579769 # 2178622118281208195 # 2165958113226190575 # 2009867642660396772 # 0478196083564867201 # 0299784635874717821 # 0298578127907452904 # 0418962187348818955 # 2541547431346270569 # 2475389964927491292 # 1567844731340249973 # 1041951082461066510 # 0856137878660897242 # 0288424509494031188 # 2293564936763893194 # 0552243076539978507 # 0599766257310047306 # 0609099107251874084 # 2619503438561745221 # 1330019863132126576 # 1057874459921951620 # 1896866491894649448 # 1192048924374843048 # 2496457168663939101 # 2521106948523856344 # 1123366733019931036 # 1487648329472786255 # 0860758396814990478 # 0801302431135626333 # 1351495023137725678 # 1403039762047628813 # 1335155860119522280 # 2494230495659964750 # 2726334050947999279 # 0927308040938273492 # 2583723444355681462 # 1623319584435442094 # 0145484810078557816 # 2290522950202233335 # 2401212265040826825 # 0558309210333318637 # 0796720229355254049 # 1202962077810465831 # 1118783701724099571 # 2090495585653198425 # 1510229106606903617 # 1776619924664447448 # 1401501130504123361 # 1563818568650875106 # 0271163217206601919 # 1985726545793521740 # 0851900714282186130 # 0862466400798624123 # 0709843161315564812 # 1398256373777854267 # 2597780099004202887 # 1211450578055534032 # 0917953628707397495 # 1912314193774309652 # 0098015191266359824 # 1554027165121681157 # 1088333704258717377 # 2698039500123505105

Luis

N=2795965616980517393

e=2^16+1


C= 1333233286463615700 # 0708527331786119064 # 2163227009381983473 # 2411244037288682174 # 1212846559725028710 # 1308111605561231331 # 0875129857703868159 # 0686044196831477305 # 2307490620937485971 # 0491184812172321734 # 1045741775702889969 # 1882831420888612690 # 2037756380541617532 # 2171578416014337757 # 1100326950715651735 # 2404432962787207845 # 1516328171955516563 # 0194425482949772980 # 2098648635157794873 # 0851314707264195693 # 2220297434633114101 # 1396605374493508458 # 0345895868714776013 # 0212674872662452393 # 1577261496737528986 # 1302862516368554164 # 0592030642502312243 # 1882203461957851486 # 0196750972909396965 # 0674166861351593621 # 2728620239068851958 # 1291888193692865571 # 1558384027931238804 # 1014357105794701016 # 2733919787642090632 # 2410635504270598780 # 2459835622552720818 # 0777281217025424678 # 2588883817717013114 # 0234847078567215625 # 0912805560890878612 # 1025824763877794156 # 0836212576150668600 # 1505736909441015864 # 0478326768009647474 # 0692006511144136312 # 1063146662938393489 # 2322282841270258932 # 2171130895046335404 # 1160483363925337022 # 0843956826059151944 # 0194718076111614810 # 0008902751985266667 # 0631317865204689562 # 2339164678082255037 # 1109799858490269083 # 1152508097274500745 # 2538343925450617470 # 0048550476277388532 # 1976277295982023844 # 1947772415970867064 # 1552684370308459041 # 2023528764694776687 # 0212674872662452393 # 2752204238113798364 # 0773573159900051333 # 2292787681850181778

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 = 1795709734003242829 e = 2^16+1 Text: 0333378004246563002 # 1136093563807890709 # 0620991995616976189 # 1789808277132306342 # 1748717074485970508 # 0322120309615070086 # 0072878267165740422 # 0253255900752465152 # 1713660336361021332

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