Einzelnen Beitrag anzeigen

Suppenhuhn

Registriert seit: 20. Apr 2004
2 Beiträge
 
#1

RSA- Ver- und Entschlüsselung: Problem mit großen Zahlen

  Alt 20. Apr 2004, 23:13
Hi,
Also ich habe vor kurzem meine Facharbeit in Informatik angefangen.
Die bezieht sich auf Kryptologie, spezialisiert auf das RSA-Verfahren.

Zugegeben, ich habe ein wenig spät angefangen und stehe jetzt etwas unter Zeitdruck ,
mein Problem ist folgendes:

Die Grundstruktur hab ich jetzt eigentlich schon fertig, nur habe ich noch ein paar Probleme mit den Potenzen.
Durch das Potenzieren in den Chiffrier-Funktion werden die ganzen Zahlen natürlich irre groß, selbst für 64Bit-Integer zu groß.

Jetzt habe ich mich an einer Funktion versucht, die die Potenzen zerlegt und einzeln berechnet, so dass ich sie erst nach dem Modula zusammenfüge.
Das sieht beispielsweise so aus:

M = 11^23 mod 187 = [11 mod 187 * 11² mod 187 * 11^4 mod 187 x 11^16 mod 187] mod 187
M = [11 * 121 * 55 * 154] mod 187 = 88

Das ganze habe ich mit Binärzahlen realisiert, also teilt er die Potenzen einfach nach einem binären System auf, das ganze sieht so aus:
Delphi-Quellcode:
Procedure TForm1.PotZerlegung(Exponent:integer;var Exponenten:TBinArray);
var sExpo:string; i:integer;
begin
 sExpo := DezToBin(2,Exponent);
 For i := length(sExpo) downto 1 do
  Exponenten[length(sExpo) - (i-1)] :=
   expo(2,(length(sExpo) - i)) * StrToInt(sExpo[i]);
end;
Nur bleiben da größere Exponenten wie 16,32 usw weiterhin bestehen,
also müsste ich das ganze noch weiter aufteilen.
Dabei dürfen sie allerdings auch nicht zu klein werden, weil sie mir sonst bei dem Modula nicht weiterhelfen.

Klingt jetzt vieleicht alles etwas verwirrend, vieleicht ist die Funktion, die ich brauche auch nicht so schwer zu realisieren.
Nur habe ich für sowas derzeit irgendwie absolut keinen Kopf, müsste aber bis Montag die Facharbeit fertig haben. ^^

Thx im vorraus!
  Mit Zitat antworten Zitat