RSA

Aus ProgrammingWiki
Archivierte Version vom 2012-03-20T13:21:17+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.

Wir verschlüsseln Nachrichten gegenseitig

Beispiel

öffentlicher Schlüssel: N=2212356658925775797 e=2^16+1

verschlüsselte Nachricht=0154053610309353007 # 0414178728190804750 # 1697057945399357863 # 2070423477403309778 # 1073508525444459212 # 0381990340997203895 # 1748647492571070100 # 0323355113406576190 # 0471324455178646453 # 1739775672006346255 # 0855733748764982545 # 1461509390385958697

Francie

öffentlicher Schlüssel: N=3731025641594503419741568882036125135837845056174901063114772391450747468526864965794292224829891688137917429316289568460271299239065078112443623687838629568510542255492389063296175280669776877707334497193764513489277038692096195412993414900686944115768986159035694128952775007718968586809542667566421923196571262318520819230206433623217346183718867262047639367

e=2^16+1

verschlüsselte Nachricht=0417939609475754312 # 1060955068056772435 # 1258214308725367701 # 1389478806375584696 # 0346553690748376968 # 0570059529587367499 # 0733480071254248446 # 1261445539584838999 # 0039435362133118661 # 0912735714777767741

Richard

öffentlicher Schlüssel: N=

173207312716345347388228167089849158229323171875688189180524243919601277410144791544465289459957790317002541646794123746658335851669437800686755984353141198569869096505364467877464490320461721129036994279229771120412405822986461323095040596446169452324548441940247516071235592303813319426855251114722477604741686057975838269244139298976249487806543864904484539

e=2^16+1

verschlüsselte Nachricht=

Philipp H.

öffentlicher Schlüssel: N= 40462136585917579212629197045439538492413313611857142688963241293681293736732847745235727062248825655910471095971256868158435979680882227001006548418162349279127183764367549815533485911172923931599236691394243585460443637554602198544388733295952491668293506568601135474117538851950934808117765279271810843646942849656792401735283336468090391533038839588457081 e= 2^16+1

verschlüsselte Nachricht=

Philipp S.

öffentlicher Schlüssel: N=47365052785923405877749601542710450495290496153256556813096853784484624221642121422260794468131672417938012227781533752371191684340376706464554264808148924726247726713143549554493614456950606889979518146187810021018427728612455315511156959621246501195598384742021922323213196051166659731215569405906749044462872890103107232317961577804123434044411518082801060687400935397832368569542626605163458392115773356130127231653867 e=2^16+1

verschlüsselte Nachricht= 385487335992 # 403881225077 # 037642453666 # 067206062299 # 235606390310

Tobias

öffentlicher Schlüssel: N=1392591820228166155816688383886133939396497247225108937050742695863681846726864582644556591198341546200327317385519027717624983738017741013544440271594873087849099030320504915829915767387889361239137047141799130032511190188205166488858575753568542478783222560186344650236124822535703612524702239712828397167120792274198582504828575161412533920388062991850528297 e=2^16+1

verschlüsselte Nachricht= 2129297134567025589 # 2407104043446179026 # 0968784953113403636 # 1206301219419036940

Jessie

öffentlicher Schlüssel:

N= 13925918202281661558166883838861339393964972472251089370507426958636818467268645826445565911983415462003273173 85519027717624983738017741013544440271594873087849099030320504915829915767387889361239137047141799130032511190 18820516648885857575356854247878322256018634465023612482253570361252470223971282839716712079227419858250482857 5161412533920388062991850528297

e= 2^16+1

verschlüsselte Nachricht= 2833064651890972196 # 1207466354618744003

Felix

öffentlicher Schlüssel: N=2067500669502472369228111472592470862747493142585099535992808515150800589274468701699859352853365869030476044365363328820750758777023368085412623120390833844339066038217166530149962676455959868282361611790872645433423880635706042713638514225337059156062742620829740407904430750748323688708139105503819548995010150997549284551725238872657475890658436538649506271 e=2^16+1

verschlüsselte Nachricht=

Henri

öffentlicher Schlüssel: N=1573800593199814937 e=2^16+1

verschlüsselte Nachricht= 068323648144579065 # 0990084553871274927 # 1311280311930049458 # 0843323830638507610 # 1106220979580947313 # 0685672372419448786 # 1265585044974512265 # 1372958567399979422 # 0124366538256305897 # 1416334406985722316 # 0554230601006169976 # 0289824759239524350 # 1059336406429740812 # 1543618570264532185 # 0824900330332617813 # 1548264951443031537 # 0548021684665399878 # 0716876255052240635


RSA-Factoring-Challenge