| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| ALWIM 
 
  
 Anmeldungsdatum: 08.08.2006
 Beiträge: 1048
 Wohnort: Niederbayern
 
 | 
			
				|  Verfasst am: 10.01.2013, 15:53    Titel: Zufallszahlen so zufällig wie möglich |   |  
				| 
 |  
				| Ich kann mit Freebasic ja Zufallszahlen generieren. Diese sind mir nicht "zufällig" genug. 
 Ich will Zufallszahlen erstellen, die so zufällig wie möglich sind. Im Moment ist der Zufall noch nicht so, wie ich ihn haben will.
 
 Welche Möglichkeiten gibt es Zufallszahlen so zufällig wie möglich zu erstellen? Am besten so, als wenn ein Mensch mit einem Würfel würfelt. Oder am besten noch zufälliger.
 Es sollte der perfekte Würfel sein!
 
 Gruß
 ALWIM
 _________________
 SHELL SHUTDOWN -s -t 05
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| volta 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 1876
 Wohnort: D59192
 
 | 
			
				|  Verfasst am: 10.01.2013, 16:39    Titel: |   |  
				| 
 |  
				| Hi, hast du dir schon mal alle Algorithmen angesehen, die du mit RANDOMIZE auswählen kannst?
 http://www.freebasic-portal.de/befehlsreferenz/randomize-539.html
 _________________
 Warnung an Choleriker:
 Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nemored 
 
  
 Anmeldungsdatum: 22.02.2007
 Beiträge: 4710
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 10.01.2013, 17:12    Titel: Re: Zufallszahlen so zufällig wie möglich |   |  
				| 
 |  
				|  	  | ALWIM hat Folgendes geschrieben: |  	  | Im Moment ist der Zufall noch nicht so, wie ich ihn haben will. | 
 Das ist beim Zufall völlig normal.
   
 Der verwendete Generator ist schon wirklich sehr gut. Auftretende Häufungen sind normal und ebenfalls zufallsbedingt - anders ausgedrückt: die Wahrscheinlichkeit, dass bei 60 Würfelwürfen genau 10 mal die Sechs fällt, ist ziemlich gering (kleiner als 14%), obwohl man ja im Schnitt genau 10 Sechser erwarten würde. Aber das, was wir vom Zufall "erwarten", ist eben sehr oft gerade kein Zufall mehr.
 _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ALWIM 
 
  
 Anmeldungsdatum: 08.08.2006
 Beiträge: 1048
 Wohnort: Niederbayern
 
 | 
			
				|  Verfasst am: 10.01.2013, 20:22    Titel: |   |  
				| 
 |  
				|  	  | Zitat: |  	  | Zunächst sollte man sich darüber im Klaren sein, dass die in FreeBASIC verfügbare Methode keine echten Zufallszahlen erzeugt. Computer können aus gegebenen Daten neue Daten errechnen, sich aber keine zufälligen Werte "ausdenken". Genau das passiert beim "Zufallsgenerator" eines Computers: Anhand eines bestimmten Algorithmus errechnet sich der Computer aus einer gegebenen Zahl die nächste "Zufallszahl". Allerdings ist der verwendete Algorithmus so ausgetüftelt, dass die Ergebnisse sehr zufällig erscheinen. Solange Sie keine sicherheitsrelevanten Dinge implementieren wollen, wird der eingebaute Pseudozufallsgenerator ausreichend gute Dienste leisten. | 
 _________________
 SHELL SHUTDOWN -s -t 05
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 10.01.2013, 20:54    Titel: |   |  
				| 
 |  
				| Damit beantwortest du dir die Frage selbst, warum der Zufall nicht zufällig genug ist. Der neue Algorithmus 5 verwendet zur "Zufallsberechnung" noch Nutzereingaben. Die lassen sich eher schwierig vorhersagen, sind also sehr "zufällig". Was besseres wirst du nicht kriegen können. |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ALWIM 
 
  
 Anmeldungsdatum: 08.08.2006
 Beiträge: 1048
 Wohnort: Niederbayern
 
 | 
			
				|  Verfasst am: 10.01.2013, 21:07    Titel: |   |  
				| 
 |  
				|  	  | MOD hat Folgendes geschrieben: |  	  | Damit beantwortest du dir die Frage selbst, warum der Zufall nicht zufällig genug ist. Der neue Algorithmus 5 verwendet zur "Zufallsberechnung" noch Nutzereingaben. Die lassen sich eher schwierig vorhersagen, sind also sehr "zufällig". Was besseres wirst du nicht kriegen können. | 
 
 Das ist blöd! Da kann man nichts machen. Auf jeden Fall danke für die zahlreichen Antworten!
 
 Gruß
 ALWIM
 _________________
 SHELL SHUTDOWN -s -t 05
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Flo aka kleiner_hacker
 
 
 Anmeldungsdatum: 23.06.2006
 Beiträge: 1210
 
 
 | 
			
				|  Verfasst am: 11.01.2013, 05:04    Titel: |   |  
				| 
 |  
				|  	  | ALWIM hat Folgendes geschrieben: |  	  |  	  | MOD hat Folgendes geschrieben: |  	  | Damit beantwortest du dir die Frage selbst, warum der Zufall nicht zufällig genug ist. Der neue Algorithmus 5 verwendet zur "Zufallsberechnung" noch Nutzereingaben. Die lassen sich eher schwierig vorhersagen, sind also sehr "zufällig". Was besseres wirst du nicht kriegen können. | 
 
 Das ist blöd! Da kann man nichts machen. Auf jeden Fall danke für die zahlreichen Antworten!
 
 Gruß
 ALWIM
 | 
 
 najaaaa, es gibt schon was besseres, jedenfalls unter Unixen:
 /dev/random (im Gegensatz zu /dev/urandom):
 
 /dev/random ist vergleichsweise langsam, bezieht aber statistische daten wie deine tipprate, was so an die netzwerkkarte kommt und saemtliche aeusseren einfluesse auf deinen computer mit ein, und gewinnt dadurch immer neue entropie.
 
 d.h. die zufallszahlen sind immernoch berechnet, und wenn du volle kontrolle ueber die umgebung deines pcs hast kannst du sie immernoch vorhersagen.
 
 sie sind aber ein ganzes stueck besser als RND
 _________________
 MFG
 Flo
 
 Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
 
 zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 11.01.2013, 12:12    Titel: |   |  
				| 
 |  
				|  	  | Flo hat Folgendes geschrieben: |  	  |  	  | ALWIM hat Folgendes geschrieben: |  	  |  	  | MOD hat Folgendes geschrieben: |  	  | Damit beantwortest du dir die Frage selbst, warum der Zufall nicht zufällig genug ist. Der neue Algorithmus 5 verwendet zur "Zufallsberechnung" noch Nutzereingaben. Die lassen sich eher schwierig vorhersagen, sind also sehr "zufällig". Was besseres wirst du nicht kriegen können. | 
 
 Das ist blöd! Da kann man nichts machen. Auf jeden Fall danke für die zahlreichen Antworten!
 
 Gruß
 ALWIM
 | 
 
 najaaaa, es gibt schon was besseres, jedenfalls unter Unixen:
 /dev/random (im Gegensatz zu /dev/urandom):
 
 /dev/random ist vergleichsweise langsam, bezieht aber statistische daten wie deine tipprate, was so an die netzwerkkarte kommt und saemtliche aeusseren einfluesse auf deinen computer mit ein, und gewinnt dadurch immer neue entropie.
 
 d.h. die zufallszahlen sind immernoch berechnet, und wenn du volle kontrolle ueber die umgebung deines pcs hast kannst du sie immernoch vorhersagen.
 
 sie sind aber ein ganzes stueck besser als RND
 | 
 
 Und /dev/random blockt, wenn der entropy-pool leer ist. Und wird eigentlich nur für kryptographische Zwecke befragt…
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 11.01.2013, 18:08    Titel: |   |  
				| 
 |  
				| Das Blockierverhalten ist der Hauptgrund, warum der Algorithmus 5 unter Linux /dev/urandom nutzt. |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| dreael Administrator
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 2530
 Wohnort: Hofen SH (Schweiz)
 
 | 
			
				|  Verfasst am: 11.01.2013, 19:48    Titel: |   |  
				| 
 |  
				| Es muss halt immer unterschieden werden zwischen "alltäglichen" (general usage) Anwendungen und kryptografischen Anwendungen wie z.B. ein Sitzungsschlüssel generieren. 
 Für die alltäglichen Anwendungen sollte ein RND() mit RANDOMIZE TIMER (vermutlich in FB nicht einmal mehr nötig - nicht getestet) genügen. Für Kryptografie-Anwendungen wird es entsprechend anspruchsvoller und erheblich rechenzeit-intensiver. Nötigenfalls auch Benutzereingabe vorsehen, z.B. Anweisung "Bitte Maus jetzt beliebig im Fenster bewegen" anzeigen mit unten einem Balken "% fertig".
 
 Beispiel eines Wireless LAN-PSK-Generators von mir:
 
 http://beilagen.dreael.ch/QB/WPA_GEN.BAS
 
 => Hier fordere ich auch den Benutzer auf, völlig chaotisch beliebige Tasten zu drücken, so dass ich deren INKEY$-ASCII-Wert als auch den Zeitpunkt (TIMER) des Drückens in den Zufall einfliessen lasse, so dass garantiert nicht Sachen wie unter
 
 http://www.heise.de/security/meldung/Schwache-Krypto-Schluessel-unter-Debian-Ubuntu-und-Co-207332.html
 
 beschrieben passieren können.
 _________________
 Teste die PC-Sicherheit mit www.sec-check.net
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 | 
			
				|  Verfasst am: 11.01.2013, 19:54    Titel: |   |  
				| 
 |  
				| Da fällt mir noch ne alternative möglichkeit ein. 
 Einfach in einen stock dunklen raum setzen. Dabei die augen offen lassen, und wenn man im linken auge einen lichtblitz sieht, dann schreibt man ne 1, und beim rechten auge entsprechend ne 0 auf.
 
 Ich glaube, das is nicht vorhersagbar
   
 
 MfG
 TPM
 _________________
 [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nemored 
 
  
 Anmeldungsdatum: 22.02.2007
 Beiträge: 4710
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 11.01.2013, 20:14    Titel: |   |  
				| 
 |  
				| Ob es gleichverteilt ist, ist aber nochmal eine andere Frage.   
 RANDOMIZE ist in FB noch notwendig, wobei nicht notwendigerweise ein Initialwert angegeben werden muss - während RANDOMIZE TIMER nur sekundengenau arbeitet, ist RANDOMIZE ohne Initialwert zwar ebenfalls von TIMER abhängig, aber mit wesentlich höherer zeitlichen Auflösung.
 _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 | 
			
				|  Verfasst am: 11.01.2013, 20:16    Titel: |   |  
				| 
 |  
				| ach, @nemored .. das is ja das tolle an einem zufall. man weist vorher nicht, ob es gleichverteilt ist, oder nicht. Gleichverteilung bezieht sich immer auf eine zeiteinheit. für "uns" mag es sinvoll erscheinen, wenn die gleichverteilung schon bei geringen wiederholraten gegeben ist. 
 warum sollte aber nicht auch mal die möglichkeit gegeben sein, erst nach 1000 eine änderung zu erhalten, und danach gleich wieder zurück .. das ist ja immer alles subjektiv, beim zusalle.
 
 
 MfG
 TPM
 _________________
 [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Flo aka kleiner_hacker
 
 
 Anmeldungsdatum: 23.06.2006
 Beiträge: 1210
 
 
 | 
			
				|  Verfasst am: 12.01.2013, 14:18    Titel: |   |  
				| 
 |  
				|  	  | Code: |  	  | function getRandomNumber() as integer ' returns a random number between 0 and 255 return 61; ' this number has been found in a laplace experiment, throwjng a perfectly symmetrical coin 8 times, and is perfectly random
 end function
 | 
 _________________
 MFG
 Flo
 
 Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
 
 zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nemored 
 
  
 Anmeldungsdatum: 22.02.2007
 Beiträge: 4710
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 12.01.2013, 14:42    Titel: |   |  
				| 
 |  
				|  	  | ThePuppetMaster hat Folgendes geschrieben: |  	  | ach, @nemored .. das is ja das tolle an einem zufall. man weist vorher nicht, ob es gleichverteilt ist, oder nicht. Gleichverteilung bezieht sich immer auf eine zeiteinheit. für "uns" mag es sinvoll erscheinen, wenn die gleichverteilung schon bei geringen wiederholraten gegeben ist. | 
 Gleichverteilt war das falsche Wort - gleich wahrscheinlich meinte ich. Ich halte es für durchaus möglich, dass jemand z. B. mit dem linken Auge generell mehr Blitze sieht als mit dem rechten. Von einer Gleichverteilung kann man hier vermutlich schon ausgehen.
 
 
 Flo, dein Code compiliert in meinem fbc leider nicht.
   
 (scnr
  ) _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 12.01.2013, 19:08    Titel: |   |  
				| 
 |  
				| Tatsächlich kann man mit Webcams sehr billig recht gute Hardware-RNGs bauen. Einfach das Objektiv mit schwarzem Isoband lichtdicht abkleben und die Belichtungszeit auf ausreichend kurze Werte fixieren. Der Dunkelstrom des Bildsensors ist nahezu perfekter Zufall, sofern keine Hotspots existieren. Da es die aber meistens gibt, empfiehlt es sich, einfach einen guten PRNG mit diesen "Rohzufall" permanent zu füttern. |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| dreael Administrator
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 2530
 Wohnort: Hofen SH (Schweiz)
 
 | 
			
				|  Verfasst am: 12.01.2013, 21:55    Titel: |   |  
				| 
 |  
				| Inzwischen ein kleiner Code zum Ganzen: 
 http://beilagen.dreael.ch/QB/MausStarkZufall.bas
 
 Für die Zweifler: Ruhig einmal das Rnd und Randomize ganz herausnehmen - Zufällige Mausbewegungen alleine sind praktisch immer Unikate, so dass es unmöglich ist, die genau gleiche Würfelung zu wiederholen.
 
 Selbstverständlich ist ein Mikrofon und entsprechender Soundeingang auch geeignet -> Hintergrundrauschen ist auch hinreichend zufällig. Ebenso das Rauschen im Bild einer aktiven Notebook-Webcam.
 _________________
 Teste die PC-Sicherheit mit www.sec-check.net
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Flo aka kleiner_hacker
 
 
 Anmeldungsdatum: 23.06.2006
 Beiträge: 1210
 
 
 | 
			
				|  Verfasst am: 13.01.2013, 00:57    Titel: |   |  
				| 
 |  
				|  	  | nemored hat Folgendes geschrieben: |  	  | Flo, dein Code compiliert in meinem fbc leider nicht.  | 
 
 verdammt, da kam wohl der c++ler in mir durch. fuer alle anfaenger die superzufallszahlen wollen, einfach das ';' entfernen
  _________________
 MFG
 Flo
 
 Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
 
 zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |