AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi RSA verschlüsselung funktioniert nicht...
Thema durchsuchen
Ansicht
Themen-Optionen

RSA verschlüsselung funktioniert nicht...

Ein Thema von Bblackhawk · begonnen am 14. Apr 2008 · letzter Beitrag vom 15. Apr 2008
Antwort Antwort
Seite 1 von 3  1 23      
Bblackhawk

Registriert seit: 14. Apr 2008
10 Beiträge
 
#1

RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 12:42
hi, ich habe ein programm für die verschlüsselung mit dem RSA verfahren gebastelt, bekkomme die entschlüsselung aber leider nicht hin...

ich gehe euch mal eben einen kleinen überblick über mein Programm...

Dies ist die grafische Oberfläche...
(jetzt im anhang (von admin so vorgeschrieben))
die Schlüssel haben wie ihr gleich im quelltext seht nichts zu sagen...

Delphi-Quellcode:
procedure tcodiermaschine.verschluesseln;
var i, acode : integer;
begin
  // Klartext zu ASCII
    for i := 1 to length (klartext) do
    begin
      // 1 ASCII- Code der i-ten Buchstaben ermitteln
      acode := ord(Klartext[i]);
      // 2 Durch formel ( C = M^e mod N ) verschlüsseln
      acode := (acode + round(exp(7*ln(5))) mod 187);
      // 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
      codetext[i] := chr(acode);
    end;
end;

procedure tcodiermaschine.entschluesseln;
var i : single;
var acode : extended;
begin
  // Klartext zu ASCII
    for i := 1 to length (klartext) do
    begin
      // 1 ASCII- Code der i-ten Buchstaben ermitteln
      acode := ord(codetext[i]);
      // 2 Durch formel ( M = C^d mod N ) verschlüsseln
      acode := (acode - round(exp(23*ln(146))) mod 187);
      // 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
      klartext[i] := chr(acode);
    end;
end;
Dies sind die procedure's für die ent- und verschlüsselung...
Die verschlüsselung funktioniert, aber bei der entschlüsselung haut delphi immer die Fehlermeldung raus, dass die Schleifenvariable falsch sei...
Dies habe ich schon versucht mit dem Datentypen integer versucht zu behen, aber dafür sind die Zahlen einfach zu groß (bei diesem Beispiel wäre die zahl mit der man mod rechnet bei etwa 3,6*10^46)

Ich hoffe ihr habt eine gute Lösung für mein Problem...
Vielen Dank schonmal im voraus...

greetz
Bblackhawk
Miniaturansicht angehängter Grafiken
grafische_oberfl_che_148.jpg  
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: RSA verschlüsselung funktioniert nicht... BITTE HELFT MI

  Alt 14. Apr 2008, 12:45
Delphi-Quellcode:
var i : single;
var acode : extended;
begin
  // Klartext zu ASCII
    for i := 1 to length (klartext) do
i sollte vom Typ Byte oder Integer (Ganzzahling) sein
Single ist hier nicht richtig.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#3

Re: RSA verschlüsselung funktioniert nicht... BITTE HELFT MI

  Alt 14. Apr 2008, 13:12
Das ist selbst im Ansatz kein RSA:

Delphi-Quellcode:
      // 2 Durch formel ( C = M^e mod N ) verschlüsseln
      acode := (acode + round(exp(7*ln(5))) mod 187);
Hier wird ja "nur" ein fester Wert drauf addiert im Gegensatz zur Formel. Wenn Du diese andere Art Verschlüsselung akzeptierst, ist die Entschlüsselung natürlich

       acode := (acode - round(exp(7*ln(5))) mod 187); .

Aber implementiere mal nach den Formel, benutzte Integerarithmetik und suche nach "Schnelle Modulare Exponentation" (im wesentlich ausmultiplizieren und nach jedem Schritt mod ausführen).


Gruß Gammatester
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#4

Re: RSA verschlüsselung funktioniert nicht... BITTE HELFT MI

  Alt 14. Apr 2008, 13:40
In diesem Sample hier wird ein RSA gemacht, bzw wenigstens mal gezeigt.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: RSA verschlüsselung funktioniert nicht... BITTE HELFT MI

  Alt 14. Apr 2008, 13:47
Hai Bblackwawk.

Ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS"

Eine "bitte" habe ich an Dich. Ändere den Titel deines Threads und nehme das "bitte helft mit!!!" heraus.

Hilfe sucht hier so ziemlich jeder

Wie das geht? Ganz einfach. Klicke bei deinem obersten Posting auf den "Edit-Button".

danke.

p.s. und hänhe bei der gelegenheit das Bild als Anhang an dein Posting.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Bblackhawk

Registriert seit: 14. Apr 2008
10 Beiträge
 
#6

Re: RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 14:24
zu #2 das problem ist, dass es dann, wenn ich den datentypen von i ändere, folgendes nicht mehr funktioniert...
klartext[i] := chr(acode); zu #3 es ist nur ein beispiel.. also sind das nur testzahlen, damit das überhaupt erstmal funktioniert...

zu #4 danke das bringt mich schon etwas weiter.. aber damit habe ich immernoch das problem, dass ich da nur zahlen verschlüsseln kann, was ich aber brauche sind texte... trotzdem vielen dank

Vielen dank nochmal für eure mühe...

habt ihr evtl noch vorschläge die funktionieren würden?

nice greetz
Bblackhawk
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 14:38
Zitat von Bblackhawk:
zu #2 das problem ist, dass es dann, wenn ich den datentypen von i ändere, folgendes nicht mehr funktioniert...
klartext[i] := chr(acode);
Mit Verlaub, aber das glaube ich nicht das dem so ist.
Wenn Klartext bei Dir ein String ist, dann sind die Indizes
des Strings vom Typ Integer (Ganzzahl) und kein realWert.

[edit]
Warum ist bei acode so definiert:
var acode : extended; Auch hier braucht es keinen Realwert sondern nur einen Ganzzahlwert
den Ord(...) liefert auch nur ein Integer zurück.

Delphi-Quellcode:
procedure tcodiermaschine.entschluesseln;
var
  i : Integer;
  acode : Integer;
begin
  // Klartext zu ASCII
    for i := 1 to length (klartext) do
    begin
      // 1 ASCII- Code der i-ten Buchstaben ermitteln
      acode := ord(codetext[i]);
      // 2 Durch formel ( M = C^d mod N ) verschlüsseln
      acode := (acode - round(exp(23*ln(146))) mod 187);
      // 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
      klartext[i] := chr(acode);
    end;
end;
[/edit]

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Bblackhawk

Registriert seit: 14. Apr 2008
10 Beiträge
 
#8

Re: RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 14:52
genau, dass hatte ich vorher auch so...
aber ich benutze extended, weil der wert von acode bei ca 3,6*10^46 liegt --> integer ist nicht ausreichend um dies darzustellen...

ich kopiere mal das, was delphi mir als fehlermeldung raushaut, vielleicht, bringt das weiter...

Dies wird von delphi ausgegeben...
[DCC Fehler] ukrypto.pas(70): E2032 FOR-Schleifenvariable muss von ordinalem Typ sein
[DCC Fehler] ukrypto.pas(73): E2010 Inkompatible Typen: 'Integer' und 'Single'
[DCC Fehler] ukrypto.pas(77): E2010 Inkompatible Typen: 'Integer' und 'Single'
[DCC Fehler] ukrypto.pas(77): E2008 Inkompatible Typen
[DCC Fehler] umain.pas(8): F2063 Verwendete Unit 'ukrypto.pas' kann nicht compiliert werden
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 14:57
Also das untere wird bei mir ohne Problem compiliert.

Delphi-Quellcode:
procedure entschluesseln(klarText:String;codetext:String);
var
  i : Integer;
  acode : int64; // auf int64 geändert
begin
  // Klartext zu ASCII
    for i := 1 to length (klartext) do
    begin
      // 1 ASCII- Code der i-ten Buchstaben ermitteln
      acode := ord(codetext[i]);
      // 2 Durch formel ( M = C^d mod N ) verschlüsseln
      acode := (acode - round(exp(23*ln(146))) mod 187);
      // 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
      klartext[i] := chr(acode);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  entschluesseln(edit1.Text,edit2.Text);
end;
Deine Fehler müssen woanders stecken.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#10

Re: RSA verschlüsselung funktioniert nicht...

  Alt 14. Apr 2008, 14:58
Dann verwendest du irgendwo noch Singles.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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