Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fehler bei RSA-Verschlüsselung... (https://www.delphipraxis.net/11842-fehler-bei-rsa-verschluesselung.html)

Meisterschmied 14. Nov 2003 19:05


Fehler bei RSA-Verschlüsselung...
 
Herzlich Abend,

Hab da gerad ein Problem mit der RSA-Verschlüsselung, wie schon so oft in den letzten Tagen! Es klappt eigentlich schon alles, bedeutet er verschlüsselt und entschlüsselt alles korrekt. Nur etwa jedes 7 - 8 mal (nicht periodisch, total zufällig) wird falsch ver- oder entschlüsselt. Dabei scheint der Schlüssel, bestehend aus den beiden Primzahlen p und q, dem Verschlüsselungsexponenten e und dem Entschlüsselungsexponenten in Ordnung zu sein (zumindest innerhalb der Grenzen, die ich kenne).
Ich hab mal ein Exemplar rausgegriffen und alle Werte dokumentiert:

p = 227
q = 251
n = p*q = 56977
e = 3
d = 37667
k (Blocklänge: Log28(n)) = 3
Zeichen im Alphabet (N)= 28

Verschlüsselt werden sollte der Text:
Klartext: adadada

Aufgeteilt in Blöcke der Länge k ergeben sich drei Blöcke zu
1) ada
2) dad
3) a00

wobei die Nullen am Schluss als Rest des letzten Blocks korrekt eingefügt wurde. Die Blöcke werden dann in numerische Zeichen umgewandelt zu (m1*N^2+m2*N^1+ m3*N^0), wobei die Zeichen a=1, d=4, 0=0
1) 897
2) 3168
3) 784

Diese Blöcke werden verschlüsselt zu (m^e mod n)
1) 6614
2) 53253
3) 35815

und entschlüsselt zu (c^d mod n)
1) 40612
2) 15587
3) 6730

Bei der Erzeugung des Schlüssels wurden folgende Vorgaben beachtet:

p und q sind Primzahlen
n ist das Produkt aus p und q
1 < e < (p-1)(q-1)
gcd(e,(p-1)(q-1)) = 1
de = 1 mod n <=> (de-1) mod n = 0
k wird immer abgerundet

So, eigentlich müsste alles gehen, aber es funktioniert trotzdem nicht. Hat jemand eine Idee, wo es hacken könnte? Wäre euch echt :wink: dankbar.

Thanks,

Meisterschmied

d3g 14. Nov 2003 19:11

Re: Fehler bei RSA-Verschlüsselung...
 
Zitat:

Zitat von Meisterschmied
wobei die Nullen am Schluss als Rest des letzten Blocks korrekt eingefügt wurde. Die Blöcke werden dann in numerische Zeichen umgewandelt zu (m1*N^2+m2*N^1+ m3^0),

Ist das ein Tippfehler? Wenn nicht, dann erschließt sich mir die Art deiner Umwandlung auch nicht.

Meisterschmied 14. Nov 2003 19:16

Re: Fehler bei RSA-Verschlüsselung...
 
Danke, ist ein Tippfehler! Wird sofort verbessert!

Thanks,

Meisterschmied


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz