![]() |
OTP-Gen (One Time Pad Key Generator)
Liste der Anhänge anzeigen (Anzahl: 2)
Hi DPler,
da ich gerade ein paar Randomdaten benötigte, möchte ich Euch diese Kreation nicht vorenthalten :mrgreen: Wers benötigt mag es nutzen, wer es nicht braucht möge schweigen ;) Der Code ist weder schön noch auf Fehler (volle Festplatte) hin gesichert. Und die Nach- und Vorteile von OTP-Cipher wurden in der DP schon zu genüge diskutiert. Na ja, es ist alle Male besser als ein einfacher Random-Generator. Das Proggie benötigt das "LMD Tray Icon" in der vorliegenden Version, aber das kann umgangen werden ;) Die OTP Datei wird mit der aktuellen Zeit als Namen im Startverzeichnis hinterlegt. ...:cat:... P.S.: Das Proggie nutzt die Mausbewegungen als Grundlage. Einfach laufen lassen und den Datenmüll sammeln ;) |
Re: OTP-Gen (One Time Pad Key Generator)
Update
...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Bist du dir eigentlich sicher, dass Mausbewegungen für einen OTP-Schlüssel ausreichend sind? Ich kenn mich mit der Materie jetzt nicht so sonderlich aus, aber sind Mausbewegungen nicht zu vorhersehbar, zumindest Stellenweise, sodass man zumindest Teile der verschlüsselten Nachricht entschlüsseln kann? Ich würde einfach weißes Rauschen vom Radio über die Soundkarte aufnehmen, das ist doch sicher zufälliger und bringt mehr Daten in kürzerer Zeit.
|
Re: OTP-Gen (One Time Pad Key Generator)
Wirklich ausreichend wohl nicht, aber besser als jeder Pseudo-Generator und für den Zweck, welchen ich brauche ausreichend. ;)
Wer will kann damit tun und lassen was er will. ...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Zitat:
|
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Strg-Alt-Del oder Strg-Esc gedrueckt werden. Lösung: ![]() |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Naja sind nicht ganz vorhersehbar, wenn man sie zum Beispiel alle 1 oder 2 Sekunden abfragt und der User nicht ausgerechnet eine Gerade zieht *g* Die Idee mit dem weißen Rauschen ist nicht schlecht, aber nicht jeder hat eine Radio Karte. |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Delphi-Quellcode:
Damit sollte das logische Nachverfolgen wirklich unmöglich sein - hoffe ich.
SpeicherByte := (MouseX + MouseY * BildschirmHoehe) mod 256;
Gravierender Nachteil bleibt der Fakt, daß die Maus nur recht wenig bewegt wird und somit nur wenige Daten anfallen :wall: ...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Naja dann forder den User doch auf mal die Maus kräftigst zu bewegen. Man könnte ja in den empfangen Daten prüfen in welchem Bereich sich die Maus bewegt hat und wenn dieser zu klein ist eine Warnung bzw. Fehlermeldung ausgeben.
|
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
|
Re: OTP-Gen (One Time Pad Key Generator)
Stimmt.
Es kommt vllt ein bisschen blöd, wenn plötzlich ein Programm zu einem sagt, man soll doch bitte die Maus in größeren Zügen bewegen. ;-) |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Naja wenn genau daraus die Zufallszahlen berechnet werden, ist das schon eine legitime Warnung an den Benutzer. Eventuell könnte man ja eine kleine Erklärung dazu abgeben um nicht in die Analen der sonderbarsten Fehlermeldungen einzugehen. |
Re: OTP-Gen (One Time Pad Key Generator)
Man kann auch für zu kleine Mausbewegungen einfach mit einem Faktor mutliplizieren o.ä.
|
Re: OTP-Gen (One Time Pad Key Generator)
Auch zu kleine Mausbewegungen sind i.A. kein Problem, da immer noch ein Produkt aus mehreren Faktoren gebildet wird.
Das Programm, wie es hier ist wird auch nicht weiter entwickelt, also lohnt sich die Diskussion eh nicht, es dient lediglich als Denkanstoß. ...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Dies funktioniert allerdings nur beim Pentium Prozessor.
Delphi-Quellcode:
{**************************************************************************
* NAME: GetCPUTick * DESC: * Processors Intel Pentium have a powerful command RDTSC. * This is an extraction from Intel documentation on this command: * "Loads the current value of the processor's time-stamp counter into the * EDX:EAX registers. * The time-stamp counter is contained in a 64-bit MSR. * The high-order 32 bits of the MSR are loaded into the EDX register, * and the low-order 32 bits are loaded into the EAX register. * The processor increments the time-stamp counter MSR every clock cycle and * resets it to 0 whenever the processor is reset." * Note that RDTSC command returns the values in Int64 format used in Delphi. *************************************************************************} function GetCPUTick: Int64; asm DB $0F,$31 // this is RDTSC command. // it is not supported by the Delphi inline assembler end; |
Re: OTP-Gen (One Time Pad Key Generator)
@Shmia: Einen Vorteil kann ich daraus nicht erkennen :?
Aber Deine Funktion liefert Delphi/Windows bereits ohne den Assemblerteil: ![]() Vergleiche mal die Werte, Du wirst sehen, daß die immer sehr ähnlich sind - halt nur ein paar CPU-Ticks auseinander :zwinker: ...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Delphi-Quellcode:
var
B : Word; .... // Mauskoodinaten & Zeitanteil zusammenfügen B := ((Value and 256) shl 8) or (GetCPUTicks and 256); // oder QueryPerformanceCounter OutFile.Write(B, SizeOf(B)); |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Zitat:
|
Re: OTP-Gen (One Time Pad Key Generator)
Boah keinen Plan worum es hier geht! Kann mich mal jemand aufklären was das Programm macht?!
THX :) |
Re: OTP-Gen (One Time Pad Key Generator)
Zufallszahlen erzeugen. Und zwar möglichst wirklich zufällige und nicht vorhersehbare (wie z.B. aus einem Pseudozufallszahlgenerator wie Random()).
|
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Ihr könnt ja folgendes machen:
100 mal 100 Zufallszahlen von 1 bis 100 generieren, und zwar einmal mit Random(), und einmal mit Sakuras Programm. Anschließend vergleicht ihr für jeden Block von 100 Zahlen den Mittelwert, Median, Varianz, etc. Wenn nun bei den Blöcken sehr häufig gleiche Varianz und Mittelwert bzw. Median rauskommen, dann ist es wahrscheinlich ein Pseudozufallsgenerator. Ich wünsche viel Spaß noch mit Statistik ;) :mrgreen: Greetz alcaeus |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Zitat:
|
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
...:cat:... |
Re: OTP-Gen (One Time Pad Key Generator)
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 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