![]() |
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? |
Zitat:
![]() |
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.
|
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). |
Danke, werde mal nachschauen.
|
One Time Pad (unter 3 Bed. unknackbar...)
naja, um OTP (was relativ leicht umsetzbar ist) zu proggen kann ich euch eine Seite empfehlen:
![]() ps: schaut einfach bei OTP vorbei, da wird meiner Meinung nach, genau die Funktionabfolge beschrieben... cu sagt MatrixStormprogrammierer |
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!
|
Zitat:
Was sind echte Zufälle? Wie programmiert man die? Wo ist der Unterschied zu einem "Delphi-Zufall"? MfG Florian :hi: |
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... |
[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 11:36 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