![]() |
Gute Algorithmen?
Hallo,
ich habe gerade angefangen ein Verschlüsselungsprogramm zum Verschlüsseln von Dateien und Texten zu schreiben. Ich habe im Internet u.a. folgende Routinen gefunden. Meine Frage ist nun, ob mir jemand von euch sagen kann, wie diese Algorithmen heißen bzw. wie sicher diese sind. Routine zur Datei-Verschlüsselung:
Delphi-Quellcode:
Routine zur Text-Verschlüsselung:
procedure FileEncrypt(FileName : string; Key : string);
var I : Integer; Zeichen : Byte; mem : TFileStream; keylen : Integer; keypos : Integer; begin mem := TFileStream.Create(Filename,fmOpenReadWrite or fmShareExclusive); keylen := length(key)-1; keypos := 0; form2.ProgressBar1.Max:= mem.Size ; for I := 1 to mem.Size do begin if i mod 1000 = 0 then form2.ProgressBar1.position := i; mem.Position := I; mem.Read(Zeichen,1); if keypos = keylen then begin Zeichen := Zeichen-ord(key[keypos]); keypos := 0; end else begin Zeichen := Zeichen-ord(key[keypos]); inc(keypos); end; Mem.Position := I; mem.Write(Zeichen,1); end; mem.free; end;
Delphi-Quellcode:
function InternalEncrypt(const S: AnsiString; Key: Word): AnsiString;
var I: Word; Seed: Word; begin Result := S; Seed := Key; form2.ProgressBar1.Max:= Length(Result) ; for I := 1 to Length(Result) do begin form2.ProgressBar1.position := i; Result[I] := Char(Byte(Result[I]) xor (Seed shr 8)); Seed := (Byte(Result[I]) + Seed) * Word(C1) + Word(C2) end end; |
Re: Gute Algorithmen?
Naja, der erste algorithmus ist einer der simpelsten die es gibt. ist nur sicher wenn der key lang genug ist.
der zweite algorithmus ist glaube ich wesentlich besser, das hängt aber auch von C1 und C2 ab. Lies doch mal das Buch von Simon Singh zu dem Thema... sehr unterhaltsam und nebenbei erfährt man viel über Stärken und Schwächen solcher Algorithmen. |
Re: Gute Algorithmen?
Letzteres sieht aus wie ein Pseudo-Zufallsgenerator, der Dank bekanntem Startwert immer die gleiche 'Zufallsfolge' liefert.
Wenn C1, C2 und Key bekannt sind, gibt es nur noch 255 Möglickeiten ;) |
Re: Gute Algorithmen?
und fall 1 sieht mir nach cäsar/vigniere aus
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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