Einzelnen Beitrag anzeigen

Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#14

Re: Fehler bei function (c=m^e mod N)

  Alt 28. Feb 2007, 13:29
also um nochmal zu meinem problem zurückzukommen
ich hab es jetzt folgendermaßen gelöst:
Delphi-Quellcode:
procedure TForm1.Button9Click(Sender: TObject);

var
  I,e,m,n: Integer;
  s:String;
  b:char;

begin
 ListBox1.Clear;
 ListBox2.Clear;
e:= StrToInt(edit10.text);
n:= StrToInt(edit5.text)*StrToInt(edit4.Text);
i:=1;
s:=Richedit1.Text;
repeat

b:= s[i];
ListBox1.Items.Add(IntToStr(Ord(b)));
m:=Ord(b);
ListBox2.Items.Add(IntToStr(discreteExponent(m,e,n))); {anwendung der funktion c=m^e mod N}
i:=i+1;


until i=Length(RichEdit1.Text);



end;
so jetzt gibt es allerdings folgendes problem:
wenn ich zum Beispiel folgende werte zum testen ver schlüsselung nehme (siehe Attachment), dann kommen auch die gewünschten zahlen raus. nehme ich allerdings größere werte (siehe attachment 2) so erhalte ich falsche ergebnisse für den geheimtext (siehe attachment 3).
kann mir da jemand helfen ? es ist schon recht komisch, dass das ganze bei kleinen werten funktioniert, bei großen jedoch nicht
ich erhalte dann auch negative werte als geheimtext(siehe attachment 3), was ja nicht sein kann
Miniaturansicht angehängter Grafiken
rsa3_210.jpg   rsa1_104.jpg  
Angehängte Grafiken
Dateityp: jpg rsa2_133.jpg (1,25 MB, 6x aufgerufen)
  Mit Zitat antworten Zitat