Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   OTP-Programm (https://www.delphipraxis.net/3774-otp-programm.html)

LaRzarus 29. Mär 2003 12:34


OTP-Programm
 
Ich brauche ganz dringend eure Hilfe!
Ich suche ein Delphi Programm mit Source, dass nach dem One Time Pad - Verfahren ver- und entschlüsselt. Ich habe schon ewig gegoogelt und sonstwie gesucht aber ohne Erfolg! Jedenfalls bin ich dadurch irgendwie auf diese Seite gekommen, habe hier aber auch nichts gefunden.
Kann mir vielleicht jemand nen Link geben zu einem derartigen Programm oder hat sogar jemand von euch mal sowas programmiert?

Darty 29. Mär 2003 16:32

Zitat:

Vernam-Codierung / -Verschlüsselung
Der Vernam-Code (one-time pad) ist die einzige Verschlüsselungsart, bei der eine 100% abhörsichere Datenübertragung möglich ist. Die Vernam-Codierung ist sehr einfach und durchsichtig: Je ein Datenbit wird über die XOR-Funktion (exklusives logisches ODER) mit einem Zufallsbit verknüpft. Dabei wird mit genau 50%iger Wahrscheinlichkeit das Datenbit "umgeklappt" (aus 1 wird 0, aus 0 wird 1). Es werden also genauso viele Zufallsbits wie Datenbits benötigt. Bei richtiger Anwendung kann ein unbefugter Empfänger die verschlüsselte Datei auch mit beliebig großem rechnerischem Aufwand nicht decodieren. Dies ist der entscheidende Unterschied zu Verfahren mit einem limitierten Schlüssel (z.B. PGP). Absolute Sicherheit ist genau dann gewährleistet, wenn echte (physikalisch generierte) Zufallsbits verwendet werden und nur der Absender und der befugte Empfänger die Zufallsbitdatei besitzen. Absender und Empfänger können die Zufallsbitdateien beispielsweise bei einem persönlichen Treffen via CD austauschen. Eine CD (650 MB) reicht zur Verschlüsselung von etwa 100.000 dicht beschriebenen DIA4-Seiten. (Literatur: Elektronik 7/1998, S. 48).
Vielleicht findest DU da etwas für Dich: http://www.speakfreely.org/

LaRzarus 29. Mär 2003 19:11

Dieses SpeakFreely ist wohl ein Programm zum Verschlüsseln von Sprache über das Netz. Ich such ein Programm, dass eingegebenen Text mithilfe eines ebenfalls einzugebenden Schlüssels nach dem OTP-Verfahren verschlüsselt. Und eben mit Sourcecode.

Daniel 29. Mär 2003 19:27

Hallo Larzarus,

wenn Du sowohl den Schlüssel, als auch die zu verschlüsselnden Daten hast, dann ist's doch recht einfach. Du musst ja nur noch jeweils die Bytes verXORen.

Dazu hatten wir hier im Forum schon einiges an Beiträge, die Foren-Suche dürfte Dir da weiterhelfen.

Bleihct noch, die fertigen daten in eine Datei zu schreiben. Dazu brauchst Dunur den Datei-Dialog und der Rest geht vermutlich per Blockwrite / Blockread. (Zu diesen beiden Befehlen gibt es ein schönes Beispiel in der Delphi-Hilfe).

LaRzarus 29. Mär 2003 21:34

Danke, werde mal nachschauen.

MatrixStormProgrammierer 30. Mai 2003 11:12

One Time Pad (unter 3 Bed. unknackbar...)
 
naja, um OTP (was relativ leicht umsetzbar ist) zu proggen kann ich euch eine Seite empfehlen:

http://cryptolounge.de.vu/

ps: schaut einfach bei OTP vorbei, da wird meiner Meinung nach, genau die Funktionabfolge beschrieben...

cu sagt MatrixStormprogrammierer

Motzi 30. Mai 2003 11:56

Wichtig ist aber vor allem, dass ein echter Zufall verwendet wird! Pseudo-Zufalls-Generatoren die Randomize/Random von Delphi können innerhalb kürzester Zeit geknackt werden!

flomei 30. Mai 2003 12:42

Zitat:

Zitat von Motzi
Wichtig ist aber vor allem, dass ein echter Zufall verwendet wird!

:| [OT] Wir sind in der Matrix! Gibt es Zufälle? [/OT]
Was sind echte Zufälle? Wie programmiert man die? Wo ist der Unterschied zu einem "Delphi-Zufall"?

MfG Florian :hi:

MatrixStormProgrammierer 30. Mai 2003 12:57

Was sind Zufälle...
 
Zufall bschreibt eine Zahlenfolge komplexer Zahlen, deren Auftrittswahrscheinlichkeit in ihrer Kathegorie größer ist, als bei den übrigen *g*. Für Kryptografie interressant ist auch die Tatsache, das keiner die Zahlenfolge kennen sollte *g*

Naja...
Ich glaube ich habe es heute schonmal irgendwo hingeschrieben, aber echten Zufall könnt ziemlich gut über die Zeitbegrente Auswertung der Mauszeigerposition bestimmen...
(wenn ihr nähere Infos dazu braucht, dann informiert mich *g* )

cu, der MatrixStormProgrammierer...

Motzi 30. Mai 2003 12:59

[quote="flomeiWas sind echte Zufälle? Wie programmiert man die? Wo ist der Unterschied zu einem "Delphi-Zufall"?[/quote]
Echte Zufälle gibt es nur in der Realität (wobei diese Zufälle auch keine Zufälle sind sondern auch berechenbar, allerdings von so hoher Komplexität und von so vielen Faktoren abhängig, dass wir sie nicht berechnen können). Pseudo-Zufalls-Generatoren erzeugen auf Basis einer mathematischen Formel Zufallszahlen, wobei die Zufallsfolge von einem bestimmten Wert abhängt. In Delphi ist das die Variable RandSeed (eine 32-Bit Integer Variable). Ausgehend von diesem Wert werden nun Zufallszahlen berechnet. D.h. allerdings: gleiche Initialisation von RandSeed -> gleiche Zufallsfolge! Und da RandSeed nur 32Bit hat gibt es daher auch nur 2^32 verschiede Zufallsfolgen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr.
Seite 1 von 3  1 23      

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