Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verschlüsselungs-algo (https://www.delphipraxis.net/38769-verschluesselungs-algo.html)

glkgereon 23. Jan 2005 21:46


Verschlüsselungs-algo
 
hi

könntet ihr mal bitte versuchen folgenden algo zu knacken?

hier der verschlüsselte Text:

Zitat:

DaS KrIeGt IhR Eh NiChT RaUs!
->
GfZ%NsHbBmFgS#Jo%QjBeOM^Tt$
kann mir einer sagen was bei dem text "DP Rulez!" rauskommt?

nur so um zu gucken wie gut der algo ist?

also ich erwarte nichts dolles, da der algo zum ent und verschlüsseln jeweils nur 9 zeilen brauch (da drin sind inits, begin, end ;) )

yankee 23. Jan 2005 22:21

Re: Verschlüsselungs-algo
 
Etwa so:
Delphi-Quellcode:
old, new:string;
new[0] :=chr(ord(old[0]+3));
new[1] :=chr(ord(old[1]+5));
for i:=2 to length(old)-1 do new[i] :=chr(ord(old[i]+i+5-i*2));
also nur vom Prinzip her. Ich weiß nicht mehr, weie das Gegenstück von chr ist, deswegen habe ich mal achr genommen. Und ich hoffe, ich habe mich bei der Berechnung in der for-Schleife nicht vertan.
Aber mal so vom Grundatz her, müsste das hinkommen. Habe leider im Moment kein Delphi installiert (windoofs sit gaanz frich installiert), deswegen ungetestet. Eben nur so vom Prinzip her konstruiert...

EDIT: achr nach Kommentar von jfheins korrigiert und achr durch ord ersetzt.
Bei meinem Beitrag weiter unten habe ich ausversehen auf zitat statt auf edit geklickt (*mit-der-hand-vor-den-kopf-schlag*)

jfheins 23. Jan 2005 22:39

Re: Verschlüsselungs-algo
 
chr gibt dir aus ner zahl den Buchstaben, ord aus nem Buchstaben die Zahl ...

yankee 24. Jan 2005 05:42

Re: Verschlüsselungs-algo
 
Zitat:

Zitat von yankee
Etwa so:
Delphi-Quellcode:
old, new:string;
new[0] :=chr(ord(old[0]+3));
new[1] :=chr(ord(old[1]+5));
for i:=2 to length(old)-1 do new[i] :=chr(ord(old[i]+i+5-i*2));
also nur vom Prinzip her. Ich weiß nicht mehr, weie das Gegenstück von chr ist, deswegen habe ich mal achr genommen. Und ich hoffe, ich habe mich bei der Berechnung in der for-Schleife nicht vertan.
Aber mal so vom Grundatz her, müsste das hinkommen. Habe leider im Moment kein Delphi installiert (windoofs sit gaanz frich installiert), deswegen ungetestet. Eben nur so vom Prinzip her konstruiert...

EDIT: achr nach Kommentar von jfheins korrigiert und achr durch ord ersetzt.

glkgereon 24. Jan 2005 11:46

Re: Verschlüsselungs-algo
 
Nein, es ist KEINE for-schleife
Ja, es wird jede stelle des strings einzeln "verschlüsselt"
Ja, es werden zahlen zum Ascii-wert hinzuaddiert
Nein, so simpel wie bei dir ist es nicht (bzw es ist anders)

ich werd den gleich zu hause ein bisschen weitermachen, mal sehen

ibp 24. Jan 2005 13:54

Re: Verschlüsselungs-algo
 
Code:
DP Rulez!
GU'Wxmdw
...du hast ein problem mit nicht darstellbaren zeichen!

glkgereon 24. Jan 2005 14:04

Re: Verschlüsselungs-algo
 
das ist kein problem, da es trotzdem ordungsgemäß rückverwandelt wird.

*Ätsch* :mrgreen:

kann mir denn einer von euch ein funktionierenden code schreiben, der genauso verschlüsselt wie meiner?

ibp 24. Jan 2005 14:09

Re: Verschlüsselungs-algo
 
ist es nun richtig oder nicht!
und die frage ist doch, wie gibt man einen text ein, der nicht darstellbare zeichen enthält?

malo 24. Jan 2005 14:12

Re: Verschlüsselungs-algo
 
Zitat:

Zitat von glkgereon
Nein, es ist KEINE for-schleife
Ja, es wird jede stelle des strings einzeln "verschlüsselt"
Ja, es werden zahlen zum Ascii-wert hinzuaddiert
Nein, so simpel wie bei dir ist es nicht (bzw es ist anders)

ich werd den gleich zu hause ein bisschen weitermachen, mal sehen

Keine For-Schleife? Wie kann man anständig verschlüsseln, ohne Schleife? :wall:

Naja, ich hab gestern ein ähnliches Verschlüsselungsprogramm geschrieben, das mir jedoch nur den veränderten ASCII-Code liefert (also ich hab es nicht wieder in Zeichen zurückverwandelt).

glkgereon 24. Jan 2005 14:12

Re: Verschlüsselungs-algo
 
ja, richtig ist es.

hmm, ist doch noch besser wenn der potenzielle "hacker" schon mühe hat die buchstaben/zeichen überhaupt einzugeben!

ibp 24. Jan 2005 14:15

Re: Verschlüsselungs-algo
 
Zitat:

Zitat von glkgereon
hmm, ist doch noch besser wenn der potenzielle "hacker" schon mühe hat die buchstaben/zeichen überhaupt einzugeben!

und was ist mit denen, die damit arbeiten müssen?

glkgereon 24. Jan 2005 14:16

Re: Verschlüsselungs-algo
 
Oooopppsss, ich habe gesagt Keine For-Schleife????

hmm, in der schule hatte ich im kopf ich würde es mit while machen *ggg*
na gut, is doch for

hier mal der code:
verschlüsseln
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, adder, toggle:integer;
begin
  toggle:=SpinEdit1.Value;
  adder:=SpinEdit2.Value;
  Memo2.Clear;
  for i:=1 to length(Memo1.Text) do
    begin
    Memo2.Text:=Memo2.Text+ Chr((Ord(Memo1.Text[i])+adder) mod 256);
    adder:=adder+toggle;
    if abs(adder)>SpinEdit3.Value then toggle:=toggle*(-1);
    end;
end;
entschlüsseln
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i, adder, toggle:integer;
begin
  toggle:=SpinEdit4.Value;
  adder:=SpinEdit5.Value;
  Memo1.Clear;
  for i:=1 to length(Memo2.Text) do
    begin
    Memo1.Text:=Memo1.Text+ Chr((Ord(Memo2.Text[i])-adder) mod 256);
    adder:=adder+toggle;
    if abs(adder)>SpinEdit6.Value then toggle:=toggle*(-1);
    end;
end;
aber keine sorge, ich habe den code bereits modifiziert und verbessert.... :mrgreen:
der hier ist von gestern

glkgereon 24. Jan 2005 14:17

Re: Verschlüsselungs-algo
 
die, die damit arbeiten, die können text per copy&paste einfügen ;)

jfheins 24. Jan 2005 14:20

Re: Verschlüsselungs-algo
 
Oben der Klartext, darunter der Codetext, 3. zeile ist die Differenz ...
Code:
 68 97  83 32 75 114 73 101 71 116 32 73 104 82 32 69 104 32 78 105 67 104 84 32 82 97 85 115 33
 71 102 90 37 78 115 72 98  66 109 27 70 103 83 35 74 111 37 81 106 66 101 79 25 77 94 84 116 36
 +3 +5  +7 +5 +3 +1  -1 -3  -5 -7  -5 -3 -1  +1 +3 +5 +7  +5 +3  +1 -1  -3 -5 -7 -5 -3 -1  +1 +3
Bin zu faul, delphi aufzumachen, müsste aber so in der Art gehen:
Delphi-Quellcode:
zahl := 1;
increment := TRUE;

for i := 1 to length (KlarText) do
begin
  if increment then inc (zahl, 2);
  else dec (zahl, 2);

  Codetext := Codetext + chr (ord (Klartext[i]) + zahl);

  if abs (zahl) = 7 then increment := not increment;
end;

Binärbaum 24. Jan 2005 17:42

Re: Verschlüsselungs-algo
 
Zur Problematik des Text eingebens mit Sonder-/Steuerzeichen:

Wer sagt denn, dass man (=Benutzer) den verschlüsselten Text eingeben muss?
Am Anfang hat man doch erstmal einen Text im "Originalzustand", den man dann verschlüsseln und in einer Datei abspeichern kann. Um den Text dann wieder zu entschlüsseln, muss man ihn nur aus der datei ins Memo (oder was auch immer) einlesen und dann durch die Entschlüsselungsprozedur jagen. Somit müssen sich die Benutzer auch nicht mit Sonderzeichen rumquälen. :-D

MfG
Binärbaum


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.

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