Autor Beitrag
LexXis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 170
Erhaltene Danke: 3



BeitragVerfasst: Di 31.01.06 13:54 
Hallo DF :)

Nachdem ich schon öffters mal was von der Erzeugung von absolut zufälligen Zahlen per Mausbewegung gehört hab, hab ich mir überlegt sowas mal auszuprobieren. Dabei rausgekommen ist das hier (is übrigens nur schnell hin geklatscht ;) )

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Timer1Timer(Sender: TObject);
var randomzahl: integer;
begin
  if i = 100 then begin Timer1.Enabled := false; Animate1.Active := false; end;
  inc(i);
  Edit1.Text := floattostr(abs(round(strtoint(Edit1.Text)*Mouse.CursorPos.X+Mouse.CursorPos.Y)));
end;


Der Timer hat nen Interval von 100ms, Animate1 is ne "copy-file"-animation und der Benutzer soll einfach mit der Maus dem rumfliegenden Blatt folgen.
Würd mich um Rückmeldung freuen.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 31.01.06 14:01 
user profile iconLexXis hat folgendes geschrieben:
Würd mich um Rückmeldung freuen.

Welche Art von Rückmeldungen? ;-)

_________________
Ein Nutzer der Ecke ;-)
LexXis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 170
Erhaltene Danke: 3



BeitragVerfasst: Di 31.01.06 14:06 
user profile iconMartin1966 hat folgendes geschrieben:
user profile iconLexXis hat folgendes geschrieben:
Würd mich um Rückmeldung freuen.

Welche Art von Rückmeldungen? ;-)


Zum Bleistift ob ich auf diese Weise wirklich auf ne zufällige Zahl komme ^^

Ich denke schon: Wie wahrscheinlich ist es wohl, dass jemand genau den gleichen Weg mit seinem Cursor auch ein zweites Mal nimmt? Wohl sehr unwarscheinlich.. o_O
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 31.01.06 14:12 
Ich glaube ich würde da mehr auf die Funktion Randomize setzen als auf Deine Funktion. ;-)

_________________
Ein Nutzer der Ecke ;-)
LexXis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 170
Erhaltene Danke: 3



BeitragVerfasst: Di 31.01.06 14:18 
OK, das war hart :(

Is wenigstens die Grundidee zu gebrauchen?
Ich mein, Randomize kann man zurückrechnen, aber die Mausbewegungen von 10 Sekunden?

Im übrigen hab ich mir hier drin wenigstens ein Stück weit konstruktive Kritik erwaret..
Die scheint aber auszubleiben.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 31.01.06 14:23 
user profile iconLexXis hat folgendes geschrieben:
Ich mein, Randomize kann man zurückrechnen

Wie würdest du da vorgehen.

user profile iconLexXis hat folgendes geschrieben:
Im übrigen hab ich mir hier drin wenigstens ein Stück weit konstruktive Kritik erwaret..
Die scheint aber auszubleiben.

Nicht jeder muss sich hier für Deine Frage interessieren. Also einfach mal etwas abwarten. ;-)

_________________
Ein Nutzer der Ecke ;-)
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 31.01.06 14:27 
user profile iconLexXis hat folgendes geschrieben:
OK, das war hart :(

Programmierung ist hart.
user profile iconLexXis hat folgendes geschrieben:
Is wenigstens die Grundidee zu gebrauchen?
Ich mein, Randomize kann man zurückrechnen, aber die Mausbewegungen von 10 Sekunden?

Ja, aber du solltest nicht vorgeben, wohin sich die Maus bewegen soll (Habe ich zumindest so verstanden). Sammel einfach eine Anzahl an Mauskoordinaten, bis du genug hast. Das ganze noch mit einer Fortschritt-Anzeige, damit der Anwender weiß, dass du noch mehr benötigst.
user profile iconLexXis hat folgendes geschrieben:
Im übrigen hab ich mir hier drin wenigstens ein Stück weit konstruktive Kritik erwaret..
Die scheint aber auszubleiben.

Was erwartest du? Eine Frage stellen und alle reißen sich darum,dir umgehend antworten zu dürfen? Nicht jeder beschäftigt sich mit allen Themen und außerdem darf wohl jeder selbst entscheiden, womit er sich beschäftigen möchte, oder?
Ich will dir mit dieser Antwort nicht vor den Kopf stoßen, sondern nur deutlich machen, dass so ein Forum auf Freiwilligkeit basiert. Du kannst eine Atwort nicht einfordern. Schon gar nicht "schnell".
Sirke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 208
Erhaltene Danke: 2



BeitragVerfasst: Di 31.01.06 14:31 
Die Grundidee ist schon mal nicht schlecht, doch würde ich nicht nur die Position der Maus für eine Zufallszahl benutzen, sondern vllt noch eine Richtung oder Geschwindigkeit! D.h. ich würde mit den beien Werten noch ein wenig mehr anstellen!

Und zwei Sachen würde ich auf keinen Fall mit verwenden:
1. Die Rekursion, denn dadurch hängen zwei Zufallszahlen oder noch schlimmer alle in irgend einer Weise von einander ab!
2. Lass die Maus nicht einem Ball folgen, der fliegt zwar "zufällig" ehrum, doch wenn man die Flugrichtung des Balles hat, dann kann man auch ungefähr die Mausspur berechnen!
LexXis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 170
Erhaltene Danke: 3



BeitragVerfasst: Di 31.01.06 14:38 
Ich hab nie einen Anspruch auf eine schnelle Lösung gefordert. Ich hab nur lediglich was dagegen als erstes mal mit blöden Kommentaren beworfen zu werden ^^

An die anderen 2: Danke für die Vorschläge, werd mir das morgen mal in Ruhe durch ´n Kopf gehen lassen.
Schon toll wenn man so nen Tag frei hat ;)


so long...
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 31.01.06 14:59 
user profile iconLexXis hat folgendes geschrieben:
Ich hab nie einen Anspruch auf eine schnelle Lösung gefordert. Ich hab nur lediglich was dagegen als erstes mal mit blöden Kommentaren beworfen zu werden ^^

Welcher blöde Kommentar?

_________________
Ein Nutzer der Ecke ;-)
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.02.06 19:53 
hallo lexxis,

jetzt mal eine frage, was willst du denn mit einer zufallszahl anfangen, die du nicht rekonstruieren kannst? gibts denn dafür überhaupt ein sinnvolles einsatzgebiet?

grüsse
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 02.02.06 08:09 
user profile iconGrenzgaenger hat folgendes geschrieben:
jetzt mal eine frage, was willst du denn mit einer zufallszahl anfangen, die du nicht rekonstruieren kannst? gibts denn dafür überhaupt ein sinnvolles einsatzgebiet?

Das war jetzt kein blöder Kommentar, sondern eine blöde Frage (Dass es sowas wirklich gibt? :gruebel:). Wenn eine Zufallszahl rekonstruiert werden kann, kann man von Zufälligkeit wohl kaum noch reden, oder?

BTW:
Habe gestern festgestellt, wie schlecht Randomize/Random ist. Mein kleines Passwort-Programm hat es tatsächlich geschafft, ein Passwort zu erzeugen, dass ich schonmal hatte (8 Buchstaben, Case-Sensitive, mind. 2 Buchtaben und zwei Zahlen). Und das bei ca. 30 Passwörtern in 2 Jahren. Ob das noch Zufall ist? :lol:
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 02.02.06 09:20 
@jasocul:Blöd ist die Frage nicht, denn Du kannst auch Randomize nicht einfach so "zurückverfolgen" oder Random. Das sind zwar Pseudozufallszahlen, und mathematisch kann man die 'knacken', aber das macht sie für uns Normalos nicht zu schlechten Zufallszahlen. Dessenungeachtet ist unter dem Aspekt der Determinierbarkeit das Random genausogut/schlecht wie das hier gezeigte Verfahren: Ich kann ja die Maus programmgesteuert und deterministisch einfach hin und her wackeln lassen, sodaß immer das Gleiche rauskommt (oder sie einfach in Ruhe lassen).

Deinem 'BTW' könnte man, wenn man sich auf das Niveau begibt, das Prädikat:"1.Semester Anfänger" geben, sofern es nicht doch nur ein Versuch war, lustig zu sein.
Randomize/Random ist gleichverteilt und hinreichend 'zufällig'. Und da Randomize nicht deterministisch ist (weil Du nicht weisst, wann es aufgerufen wurde), ist das doch genauso gut oder noch besser (und viel einfacher), als dieser Mausgestenrandomgenerator. Und wem die Periode des Borland-Randomgenerators nicht reicht, nimmt sich einen Mersenne Twister und dann ist Ruhe im Karton. Bei dem Generator beisst man sich ja bekanntermaßen die Zähne aus.

Die hier diskutiert Idee ist genau dann etwas langweilig, wenn grad keiner vor dem PC sitzt, was häufiger vorkommt, als hier viele glauben. Da es damit nicht allgemeingültig ist, sondern nur dann funktioniert, wenn ein eratischer Geek vor dem PC sitzt und mit der Maus umherfuchtelt (was ich als eratischer Geek gerade gar nicht mache, weil ich tippe).

Diskussionen über Zufallszahlen und Zufälle lassen mich immer wieder verwundert den Kopf schütteln, weil hier viel behauptet, aber eigentlich nie etwas nachgeprüft wird.

_________________
Na denn, dann. Bis dann, denn.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 02.02.06 09:43 
@alzaimar:
Sorry, falls ich jemanden vor den Kopf gestoßen haben sollte. Die Frage war ja, was man mit einer Zufallszahl will, die nicht rückverfolgbar ist. Deshalb meine Aussage dazu. Dass Zufallszahlen i.d.R. nicht rückverfolgbar sind, ist doch eigentlich normal. Wäre es anders, würde ich nicht mehr von Zufall reden.

Bei meinem btw, wollte ich nur mal zeigen, dass es per Zufall passieren kann, dass Zufallszahlenfolgen (wie bei Randomize/Random) gleich sein können. Übrigens ist bei mir tatsächlich so passiert. Ich sollte unregelmäßiger arbeiten, damit ich das beim nächsten mal nicht wieder zum exakt den selben Zeitpunkt starte. :lol: Ich wollte dabei nicht die beiden Methoden vergleichen. Auch nicht die eine oder andere Version als besser oder schlechter bezeichnen. Daher habe ich auch nichts behauptet, ohne es zu prüfen. :wink:

Die Diskussionen über Zufallszahlen, finde ich immer wieder sehr interessant. Bei deinen Argumenten zu dieser Methode kann ich dir nur zustimmen. Bei mir hat bisher Randomize/Random immer ausgereicht. Ich war beim letzten mal einfach nur verblüfft, weil mir das bisher nicht passiert ist. Daraus solltest du nicht auf mein Niveau schließen. Da ich keine Informatik studiert habe (sondern Mathe), habe ich dieses Problem im ersten Semester auch nie gehabt. :wink:

Also, locker bleiben.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 02.02.06 19:31 
user profile iconjasocul hat folgendes geschrieben:
Also, locker bleiben.

So etwa? :rofl:

Kein Problem. Die Wortwahl war nur etwas komisch.

_________________
Na denn, dann. Bis dann, denn.
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 04.02.06 18:54 
tja, meine frage bezog sich nicht auf random/randomize oder alle anderen selbstgeschriebenen zufallszahlengeneratoren. sondern darauf, was eine zufallszahl bringt, die man nicht mehr rekonstruieren kann? die also wirklich zufällig ist? nach meinem wissen, sind solche zufallszahlen zwar zufällig (reicht ja schon, wenn man nur die systemzeit/datum verwendet... aber ansonsten vollkommen wertlos.

deshalb fragte ich nach dem anwendungsbereich. vielleicht gibts ja doch was vernünftiges wo man zufällige zahlen benötigen kann... die man nicht mehr nachvollziehen kann?

beim passwortgeneriern jedenfalls nicht... weil man sonst nicht mehr in das system kämm!

grüsse
Wolf
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Sa 04.02.06 19:11 
Zufallszahlen *sind* dich nicht vorhersehbar, das ist doch gerade die Definition. Ich verstehe deine Frage nicht ganz. Da Randomize die Systemzeit verwendet, sind die Random-Zufallszahlen also nicht deterministisch (auch wenn Sie auf einer Formel basieren und -natürlich- knackbar sind, wenn man denn nur genug davon hat).

Dein Ansatz der Mausbewegung ist, mathematisch gesehen, nicht sicher, einfach weil es nicht beweisbar sicher ist. Ich würde mal annehmen, das man dein System sehr leicht dadurch austricksen kann, indem man aufgezeichnete Mausbewegungen abspielt.

Echte Zufallszahlen gibt es meines Wissen nach nur über elektrisch-physikalische Phänomene (Heisenbergsche Unschärferelation und damit verbundenes Rauschen). Es gibt externe Geräte, die basierend auf diesen Geschichten echte Zufallszahlen erzeugen. Die sind aber auch nicht mathematisch beweisbar unknackbar, sondern nur im Rahmen der heute gültigen und für richtig befundenen Physik. Wenn morgen Heinz Kassupke den LaPlacsche Dämon doch widerlegt, ist dieser Zufallszahlengenerator (der im Übrigen vom Militär verwendet wird) fürn *popo*.

Andere Quellen für echte Zufallszahlen: Würfel, Münzen, Roulette. In einem Computer kann es echte Zufallszahlen eigentlich nicht geben, sofern sie auf Formeln beruhen.

_________________
Na denn, dann. Bis dann, denn.
LLCoolDave
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win XP
Delphi 2005
BeitragVerfasst: Sa 04.02.06 19:15 
z.B. zur erstellung von OneTimePads für Verschlüsselung. Der Schlüssel muss nämlich zufällig sein (und zwar absolut zufällig und nicht rekonstruierbar) damit die Verschlüsselung nicht geknackt werden kann. Da reicht Random nicht aus, da es da "nur" 2^32 verschiedene ausgangswerte gibt, aus denen dann der OneTimePad generiert wird. Damit sind nicht alle möglichen Schlüssel gleichberechtigt und somit die Verschlüsselung nicht unknackbar.
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 04.02.06 19:31 
sorry, kann es sein, dass wir aneinander vorbeireden?

wenn ich von zufälligen zufallszahlen rede, dann sind das solche für denen die startwerte zufällig sind, und die nicht rekonstruiert werden können.

auch geht es dann weiter, dass wenn die gleichen startwerte gesetzt werden, unterschiedliche zeichen-/zahlenfolgen daraus entstehen.

ich kann mir nicht vorstellen für was man so etwas braucht!? wenn man mit pseudozufallszahlen verschlüsselt, muss die folge rekonstruierbar sein, da man sonst nicht mehr auf den ursprünglichen inhalt schliessen kann.

daher sind pseudezufallszahlen nach meiner meinung die einzigen brauchbaren zufallszahlen.

wie diese erzeugt werden, ist dabei absolut senkundär. ob über funktionen aus der mitgelieferten/gekauften libary oder selbstgeschrieben. spielt absolut keine rolle.

daher meine frage, für was kann man zufallszahlen brauchen, die nicht rekonstruierbar sind?


[EDIT] ich rede jetzt nicht davon, dass ein startwert zufällig gesetzt werden kann.
LLCoolDave
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win XP
Delphi 2005
BeitragVerfasst: Sa 04.02.06 19:46 
Auch wenn du es nicht glauben willst: zur Verschlüsselung.

Die Sicherheit beim Verschlüsseln mit Onetimepads besteht darin, dass man im nachhinein nicht nachvollziehen kann, welcher Schlüssel zum Verschlüsseln verwendet wurde. Dazu müssen alle möglichen Schlüssel gleichberechtigt sein. Diesen Schlüssel nimmt man dann zum Verschlüsseln und benötigt ihn auch zum entschlüsseln. Er lässt sich NICHT wieder herstellen, darum auch ONETIMEpad.

Würde man dafür z.B. Random nehmen, gäbe es nur 2^32 ausgangswerte für Randseed. Wollen wir z.B. einen 50 Zeichen Langen Schlüssel verwenden, so gibts für diesen Schlüssel, selbst wenn wir nur Buchstaben verwenden, 26^50 möglichkeiten. Diese Zahl ist offensichtlich größer als die Bandbreite von Randseed. Somit können nicht alle möglichen Schlüssel erreicht werden, sondern nur maximal 2^32 verschiedene.

Natürlich eignen sich für solche Verschlüsselungsmethoden die Datentypen in Delphi nicht, da braucht man deutlich größere Zahlen für.