Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Chiffre (https://www.delphipraxis.net/195403-chiffre.html)

juelin 26. Feb 2018 09:32

Chiffre
 
Liste der Anhänge anzeigen (Anzahl: 2)
Habe mal ein Programm gemacht mit dem man Texte
Verschlüsseln und Entschlüsseln kann.
Den Code kann nicht mal der NSA knacken.
File Chiffre.pdf = Anleitung
File demo.txt = verschlüsselter Text.
Wer Lust hat kann ja mal versuchen den Code zu knacken.
Viel Spaß Jürgen

TiGü 26. Feb 2018 09:45

AW: Chiffre
 
Ist der Krypto-Chef wieder da? :-D
https://web.archive.org/web/20140517...ryptochef.net/

mkinzler 26. Feb 2018 09:48

AW: Chiffre
 
(Un-)Security by obscurity

Neutral General 26. Feb 2018 09:54

AW: Chiffre
 
Zitat:

Zitat von mkinzler (Beitrag 1394644)
(Un-)Security by obscurity

Und ohne viel Ahnung zu haben scheint selbst die Obscurity nicht besonders gut zu sein.
Die Datei besteht quasi aus 256-Byte Blöcken die wiederrum aus 128 2-Byte Paaren bestehen.
Einem "Prefix" was den ganzen 256-er Block gleich bleibt und dann die ASCII-Tabelle von 0-128 (00-7F) hoch.

Habs mir noch nicht ultra genau angeschaut aber sieht aus als wäre es nicht allzu schwer zu durchschauen.

himitsu 26. Feb 2018 10:03

AW: Chiffre
 
Nee, der heißt doch Detlef und da er keine Angst vor NSA/KGB/MI6/CIA/SS hat, würde er niemals hier einen anderen Namen nutzen. :stupid:

Das ist sicher:
Man kann es noch etwas abwandeln, aber sicherer geht es nicht. (außer man nutzt Random(x), womit die Sicherheit auf einen "32 Bit"-Schlüssel reduziert wird)
Delphi-Quellcode:
var
  S, D: TBytes;
  i: Integer;
begin
  D := TFile.ReadAllBytes('Daten.xyz');
  SetLength(S, Length(D));
  for i := High(S) downto 0 do begin
    S[i] := RealRandom(256); // oder Random(256) zum Testen, wer keinen "echten" Zufall bekommt
    D[i] := D[i] xor S[i];
  end;
  TFile.WriteAllBytes('Daten.xyz.Schlüssel', S);
  TFile.WriteAllBytes('Daten.xyz.verschlüsselt', D);


  D := TFile.ReadAllBytes('Daten.xyz.verschlüsselt');
  S := TFile.ReadAllBytes('Daten.xyz.Schlüssel');
  SetLength(S, Length(D));
  for i := High(S) downto 0 do
    D[i] := D[i] xor S[i];
  TFile.WriteAllBytes('Daten.xyz', D);
end;

himitsu 26. Feb 2018 10:10

AW: Chiffre
 
Um den General mal zu erleutern.

Zitat:

Security by Obscurity
* Du kannst nicht beweisen dass es sicher ist.
* Kein anderer kann (einfach) überprüfen dass es sicher ist, weil geheim.
* also ist es per se erstmal unsicher

Sicher Sicherer ist etwas, wenn jeder weiß wie es geht (der Algorithmuß ist bekannt),
es aber dennoch niemand "schnell" entschlüsseln kann, nach heutigem Stand der Technik.
Jeder kann so auch nach Schwachstellen suchen und somit schnellstmöglich auf Probleme hinweisen.

PS: https://de.wikipedia.org/wiki/One-Time-Pad


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