Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Kleine Verschlüsselung (https://www.delphipraxis.net/64333-kleine-verschluesselung.html)

Sascha_OW 2. Mär 2006 10:19


Kleine Verschlüsselung
 
Delphi-Quellcode:
function verschüssel (Wort: string) : string;
var i,f,x:integer;
    test, test1, test2 : string;
begin
  test := '';
  For i := 1 to length(wort) do begin
       test := Test+  '#' + Inttostr(Ord(Wort[i])) + '#';
       test2 := Inttostr(Ord(Wort[i])) + '#';
       For f := Length(test2) to 9 do begin
             x := random (215) +36;
             test1 := Chr(x);
             test := test + test1;
       end;
  end;
  result := tesT;
end;

function entschüssel (Wort: string) : string;
var Buchstaben : TStringList;
   i,f : integer;
   test: string;
   Test1 : TStringList;
begin
    test := '';
    Test1 := TStringList.Create;
    Buchstaben := TStringList.Create;
    For i := 1 to length( wort) do begin
        If wort[i] = '#' then begin
            Buchstaben.add (InttoStr(i));
        end;
    end;
    For i := 1 to Buchstaben.count -1 do begin
        For f := StrtoInt(Buchstaben[i-1]) +1 to StrtoInt(Buchstaben[i])-1 do begin
            test := test + wort[f];
        end;
        try
        StrtoInt(test);
        If test <> '' then Test1.add (test);
        test := '';
        except
        test := '';
        end;
    end;
    test := '';
    For i:= 0 to Test1.Count -1 do begin
        test := test + chr (StrtoInt(Test1[i]));
    end;
    result := test;
end;
Das ist meine kleine Verschlüsslung ist nicht sehr hart zu knacken aber auch da muss man erstmal drauf kommen

freak4fun 2. Mär 2006 10:25

Re: Kleine Verschlüsselung
 
Ist das nicht eher was für die Code-Bibliothek? :gruebel:

MfG
freak

Daniel 2. Mär 2006 10:36

Re: Kleine Verschlüsselung
 
Hallo Sascha,

vielleicht kannst Du ja noch was zu Deinem Verfahren sagen. Wo liegen die Stärken, wo liegen die Schwächen - was grenzt es gegenüber den anderen Verfahren ab, die zu finden sind?

DP-Maintenance 2. Mär 2006 10:37

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Open-Source" nach "Neuen Beitrag zur Code-Library hinzufügen" verschoben.
Ich habe es mal hierhin verschoben, auch wenn ich denke, dass es für die CL nicht reichen würde, aber das sieht mann dann ja noch. :)

Sascha_OW 2. Mär 2006 11:15

Re: Kleine Verschlüsselung
 
also ich denke das die Schwächen auf der Hand liegen, wenn man die Wert in eine Datei speichert und sich dann an mal anguckt dann endeckt man das es viele verwirrende zeiche gibt aber auch Zufälltig gut lesbare zahlen und dann kommt man auch irgendwann drauf das es sich um ord() handelt.
Ich denke aber das das ganze für den "Einfachen gebraucht" geeignet ist

himitsu 2. Mär 2006 11:16

Re: Kleine Verschlüsselung
 
Ich würde sagen, die frißt ganz schön Speicher.
Hab's nicht getestet, aber der verschlüsselte String wird wohl 10 mal so groß sein, wie der Unverschlüsselte, außderem helfen zufällige Bytes darin überhaupt nüschts, wenn man vorher schon weiß, daß man einfach nur jeweils 10 Zeichen auslesen muß, sich die ersten Zahlen wischen den ersten beiden # vornehmen und diese per chr in ein Byte umwandeln muß ... die restelich "zufälligen" Zeichen sind also vollkommen sinnlos und jedem, der nur halbwegs was von Ent-/Verschlüsselung versteht, wird auffallen, daß diese Zeichen nicht zum Eingangsstring gehören können ... entweder sind's immer die Selbern, da di ja das Randomize vergessen hast, oder die sind immer anders, was bei 'nem unverändertem Eingansstring kaum mögich ist.
So, und jetzt darf der Hagen auch noch darüber herziehn ._.

[nachtrag]
wiedermal ein bissl langsam -.-''

@Sascha_OW noch einfach wird's, weil die zufällg gut lesbaren Zahlen schön eingepackt sind und immer gut positioniert :mrgreen:

Delphi-Quellcode:
#123#.....#12#......#123#.....#12#......

Sascha_OW 2. Mär 2006 11:29

Re: Kleine Verschlüsselung
 
ich werde jetzt noch mal 2..3 Sachen nach bessern

Sascha_OW 2. Mär 2006 13:49

Re: Kleine Verschlüsselung
 
so ich habe das denn noch mal überdacht:
Delphi-Quellcode:
function verschüssel (Wort: string) : string;
var i,f,x,v,ran:integer;
    test, test1, test2, ran_str, test3 : string;
begin
  test := '';
  ran_str := '';
  ran := 0;
  For i := 1 to length(wort) do begin
     ran := random(8)+1;
     test2 := Inttostr(Ord(Wort[i])*154) ;
     v := Ord(Wort[i]) * 154 * length(test2);
     test2 := InttoStr(v) + InttoStr(length(test2));
       test := Test+  InttoStr(ran);
       If length(test) <10 then ran_str := ran_str + '0' + inttostr(length(test)) else
       ran_str := ran_str + InttoStr(length(test));
       test := test + test2;
  end;
  If length(test)> 9 then ran_str := ran_str + inttostr(length(test)) else ran_str := ran_str + '0' + InttoStr(length(test));
  test3 := InttoStr(Length(ran_str));
  If strtoint(test3) < 9 then test3 := '0' + test3;
  result := test3 + ran_str + test;
end;

function entschüssel (Wort: string): string;
var i,f,x,y, test6, test7 : integer;
  test1,test2: TStringList;
  test, test3, test4, test5, test8,test10 : string;
begin
    x := 0;
    test := '';
    test3 := '';
    result := '';
    test10 := '';
    test4 := '';
    test6 := 0;
    test7 := 0;
    test8 := '';
    test1 := TStringList.Create;
    test2 := TStringList.Create;
    x := 2;
    For i := 2 to (StrToInt((Wort[1] + Wort[2]))+ 2) div 2 do begin
        x := x + 2;
        test := Wort[x -1]+ wort [x];
        If i = (StrToInt((Wort[1] + Wort[2]))+ 2) div 2 then test1.add (Inttostr(Strtoint(test) + 1)) else
        test1.add (test);
    end;
    For i := 3 + StrtoInt(Wort[1] + Wort[2]) to length (wort) do test4 := test4 + Wort[i];

    For i := 1 to (StrtoInt(Wort[1] + Wort[2]) div 2) -1 do begin
        For f := strtoint(test1[i - 1]) +1 to strtoInt(test1[i]) -1 do begin
            test3 := test3 + test4[f];
        end;
        test5 := test3[length(Test3)];
        test6 := StrtoInt(test5);
        For y := 1 to length(test3) - 1 do begin
             test10 := test10 + test3[y];
        end;
        test7 := Strtoint(test10) div strtoint(test5);
        test7 := test7 div 154;
        test8 := Test8 + chr(test7);
        test7 := 0;
        test3 := '';
        test10 := '';
    end;
    result := test8;
end;



Der string sieht dann so aus:
Zitat:

28010815222936435057647178859118932051777705788550 5289320537
77705688550538932052777705388550548932051777705488 55051893205

Jetzt könt ihr mir nicht sagen das das all zu schenll zu knacken ist

[edit=Admin]String umgebrochen, um Scrollbalken zu vermeiden. ;-) Mfg, Daniel[/edit]

JocalAreaNetwork 2. Mär 2006 14:43

Re: Kleine Verschlüsselung
 
Naja, das Problem würde ich aber definitiv darin sehen, dass du keinen Schlüssel verwendest. Sobald jemand deinen Code kennt hast du ein großes Problem.

Sascha_OW 2. Mär 2006 15:16

Re: Kleine Verschlüsselung
 
das ist schon war, aber ich kenne mich da nicht so gut aus und weiss nicht so recht wie das mit den Schlüüseln läuft und ich finde als einfache Verschlüüselung geht das doch durcvh

himitsu 2. Mär 2006 18:30

Re: Kleine Verschlüsselung
 
OK, jetzt sieht es schon schwerer aus, aber die "zufälligen" Werte da rauszufiltern sollte auch kein großes Problem darstellen und der Rest ist für 'nen halbwegs begabten CodeKnacker bestimmt auch keine große Angelegenheit mehr.

Diese "Zufallszahlen" bringen dir wie gesagt überhaupt nüschts, außer, daß sie den Verschlüsselten String nochmal vergrößern.
Ohne Randomize sieht man vorallem bei unterschiedlichen Eingabestrings sehr gut wo sich diese befinden und mit Randomize vorallem bei gleichem Eingabestring ... so oder so, die bringen garnüschts.

Sascha_OW 2. Mär 2006 18:43

Re: Kleine Verschlüsselung
 
ja das mag sein. Ich der anfang vom string könnte einen noch ein bisschen verwirren.... und da ist ja festgelegt wo die zufallszahlen sind.

Ist ja auch meiner aller erste verschlüsselung die ich jemals gemacht habe, ich werde mich da jetzt vlt wenn ich zeit haben mal ein bisschen reinlesen und mal schauen was ich denn da so auf die beine stelle, vieleicht ja "md6" ne scherz

phXql 2. Mär 2006 19:45

Re: Kleine Verschlüsselung
 
md5 is keine verschlüsselung...

Sharky 2. Mär 2006 19:52

Re: Kleine Verschlüsselung
 
Hai Sascha_OW,

ohne jetzt dein System für die "Verschlüsselung" bewerten zu wollen möchte ich Dir doch eines an dein Herz legen (doller Satz oder *G*)

Wenn Du einen Beitrag in die Code-Lib stellst (was ich grundsätzlich immer sehr gut finde!!!)
Wäre es doch gut wenn Du den Code auch etwas "erklären" würdest.

Nur so haben andere aus unserem schönen Forum die Möglichkeit deinen Code für sich zu verwenden.

Aber das ist nur so ein "Denkanstoss" von dem alten Hai :stupid:

Sascha_OW 2. Mär 2006 19:59

Re: Kleine Verschlüsselung
 
deswegen steht ja auch dahinter "ne scherz"

also ich wollte das ding ja nie in die CL stellen es wurde dahin verschoben

aber trotzdem für die die das programm noch nicht gelesen haben:

Die Verschlüsselung macht nicht viel aber für den Anfang reicht es:
als erstes wird der Asciiwert der einzelen Zeichen ausgelesen
dann werden die mit 154 Multipliziert und danach noch mit der eigenen länge
danach werden zwischen die einzelnen Zeichenwerte eine Zufallszahl hinzufegügt
die Position, besser gesagt die stelle im String wo die Zufallszahl steht wird an den Anfang des Verschlüsselten strings geschrieben
und davor kommt noch die anzahl der steller, des teilstring, der die Position der zufallszahlen festfällt.

Das war es schon ist nicht besonderes, aber ist mein, deswegen für mich was besonderes

Sascha_OW 3. Mär 2006 13:29

Re: Kleine Verschlüsselung
 
das war auch nicht zu einfach zu entschlüssln auch mit quelltext:
http://www.hackerboard.de/thread.php...866#post168866

DP-Maintenance 12. Mär 2006 18:16

DP-Maintenance
 
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.
Kommt nicht in die Code-Library. Darum unauffällig zurück...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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