AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte OTP-Gen (One Time Pad Key Generator)
Thema durchsuchen
Ansicht
Themen-Optionen

OTP-Gen (One Time Pad Key Generator)

Ein Thema von sakura · begonnen am 5. Jul 2004 · letzter Beitrag vom 7. Jul 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von sakura
sakura
Registriert seit: 10. Jun 2002
Hi DPler,

da ich gerade ein paar Randomdaten benötigte, möchte ich Euch diese Kreation nicht vorenthalten

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.

......

P.S.: Das Proggie nutzt die Mausbewegungen als Grundlage. Einfach laufen lassen und den Datenmüll sammeln
Angehängte Dateien
Dateityp: zip otp_gen_source_159.zip (9,3 KB, 64x aufgerufen)
Dateityp: zip otp_gen_bin_only_971.zip (223,3 KB, 88x aufgerufen)
Ich bin nicht zurück, ich tue nur so
 
Benutzerbild von Ultimator
Ultimator

 
FreePascal / Lazarus
 
#11
  Alt 6. Jul 2004, 13:38
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.
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

 
Turbo Delphi für Win32
 
#12
  Alt 6. Jul 2004, 13:39
Zitat von Ultimator:
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.

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.
Günter
  Mit Zitat antworten Zitat
Alexander

 
Turbo Delphi für .NET
 
#13
  Alt 6. Jul 2004, 13:59
Man kann auch für zu kleine Mausbewegungen einfach mit einem Faktor mutliplizieren o.ä.
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 11 Alexandria
 
#14
  Alt 6. Jul 2004, 14:00
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ß.

......
Daniel W.
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#15
  Alt 6. Jul 2004, 15:10
Zitat von sakura:
Gravierender Nachteil bleibt der Fakt, daß die Maus nur recht wenig bewegt wird und somit nur wenige Daten anfallen
Man könnte die Daten mit den untersten 8 Bits des CPU Taktzyklenzählers anreichern.
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;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 11 Alexandria
 
#16
  Alt 6. Jul 2004, 17:13
@Shmia: Einen Vorteil kann ich daraus nicht erkennen

Aber Deine Funktion liefert Delphi/Windows bereits ohne den Assemblerteil: Hier im Forum suchenQueryPerformanceCounter

Vergleiche mal die Werte, Du wirst sehen, daß die immer sehr ähnlich sind - halt nur ein paar CPU-Ticks auseinander

......
Daniel W.
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#17
  Alt 6. Jul 2004, 17:46
Zitat von sakura:
@Shmia: Einen Vorteil kann ich daraus nicht erkennen
Die doppelte Datenmenge kann produziert werden:
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));
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g
 
#18
  Alt 6. Jul 2004, 19:11
Zitat von GuenterS:
Die Idee mit dem weißen Rauschen ist nicht schlecht, aber nicht jeder hat eine Radio Karte.
Die ist auch nciht unbedingt nötig. Zwei Kupferdrähte, zwei 3,5mm-Klinken, ein Lötgerät, ein Radio mit Kopfhörer- oder Line-Ausgang und eine billige Soundkarte tun's auch. Die ersteren drei Punkte sind auch durch einen Besuch im Elektronikladen deiner Wahl austauschbar.

Zitat von sakura:
Einerseits dieses, andererseits speichere ich ja auch nicht die Koordinaten, das wäre wohl wirklich zu hirnlos, sondern den Wert aus
SpeicherByte := (MouseX + MouseY * BildschirmHoehe) mod 256; Damit sollte das logische Nachverfolgen wirklich unmöglich sein - hoffe ich.
Wenn der Angreifer die Bildschirmhöhe errät/ausprobiert, ändert das nichts. Die Problemgröße wird um einen konstanten Faktor erhöht, die Problemkomplexität aber gar nicht.
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

 
Delphi 7 Personal
 
#19
  Alt 6. Jul 2004, 20:39
Boah keinen Plan worum es hier geht! Kann mich mal jemand aufklären was das Programm macht?!

THX
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g
 
#20
  Alt 6. Jul 2004, 21:12
Zufallszahlen erzeugen. Und zwar möglichst wirklich zufällige und nicht vorhersehbare (wie z.B. aus einem Pseudozufallszahlgenerator wie Random()).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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