random number erzeugen
Hallo an Alle: Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt? -- Regards, Walter Ulmke Ulmke Machine Tools, 48496 Hopsten, Germany Tel. ++49/5457/9300-0 Fax. ++49/5457/9300-39 eMail: ulw@ulmke.com
* Walter Ulmke
Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
echo $RANDOM Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht. ,----[ bash(1) ]- | RANDOM Each time this parameter is referenced, a random integer between 0 and | 32767 is generated. The sequence of random numbers may be initialized by | assigning a value to RANDOM. If RANDOM is unset, it loses its special | properties, even if it is subsequently reset. `---- Gruß, Bernhard -- "Wenn es morgens um sechs Uhr an meiner Tür läutet und ich kann sicher sein, daß es der Milchmann ist, dann weiß ich, dass ich in einer Demokratie lebe." -- Winston Churchill
On Wednesday 07 January 2004 22:11, Bernhard Walle wrote:
* Walter Ulmke
[2004-01-07 21:48]: Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
,----[ bash(1) ]-
| RANDOM Each time this parameter is referenced, a random | integer between 0 and 32767 is generated. The sequence of | random numbers may be initialized by assigning a value to | RANDOM. If RANDOM is unset, it loses its special properties, | even if it is subsequently reset.
`----
Gruß, Bernhard
allerbesten Dank, genau was ich brauchte. -- Regards, Walter Ulmke Ulmke Machine Tools, 48496 Hopsten, Germany Tel. ++49/5457/9300-0 Fax. ++49/5457/9300-39 eMail: ulw@ulmke.com
Hallo, Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
* Walter Ulmke
[2004-01-07 21:48]: Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
,----[ bash(1) ]- | RANDOM Each time this parameter is referenced, a random integer between 0 and [..]
Seit wann sind manpages breiter als 80 Zeichen??? Bei mir sieht das so aus: ==== RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated. The ==== Walter: wozu brauchst du die Zahlen? -dnh -- 279: Die fünf Sinne des C++-Programmierers Der Schwachsinn, der Blödsinn, der Wahnsinn, der Unsinn und der Stumpfsinn. (Holger Veit)
* David Haller
Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
* Walter Ulmke
[2004-01-07 21:48]: Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
Und wo steht da dass die Bash daher ihre Zufallszahlen nimmt? Und wo steht überhaupt, dass Walter die Bash verwendet? Verlassen würde ich mich auf sowas nicht, solange es nicht ganz klar dokumentiert ist.
,----[ bash(1) ]- | RANDOM Each time this parameter is referenced, a random integer between 0 and [..]
Seit wann sind manpages breiter als 80 Zeichen???
Hängt bei mir von der Terminalbreite ab. Und der *Eintrag* war auch nicht länger als 80 Zeichen. ;-) Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Beliebtheit sollte kein Maßstab für die Wahl von Politikern sein. Wenn es auf die Popularität ankäme, säßen Donald Duck und die Muppets längst im Senat. -- Orson Welles
Hallo, Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
* David Haller
[2004-01-07 22:59]: Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
Aeh, sorry, hab mich faslch ausgedrueckt: $RANDOM ist _nicht_ kryptologisch sicher. Fuer signaturen reichts aber z.B.
Und wo steht da dass die Bash daher ihre Zufallszahlen nimmt?
Tut sie nicht. Hab ich irgendwann man nachgeschaut (IIRC im Quellcode der bash). Auch 'rand(3)' und Konsorten sind nicht kryptologisch tauglich. Aber, und deswegen mein Hinweis auf man 4 random, /dev/random ist praktisch so gut, wie es in einem Rechner eben geht.
Und wo steht überhaupt, dass Walter die Bash verwendet? Verlassen würde ich mich auf sowas nicht, solange es nicht ganz klar dokumentiert ist.
Ack. /dev/random gibt's in jedem nicht uraltem Linux und auch bei verschiedenen Unixen (AFAIR auch bei MacOS X / Darwin), allerdings sind die nicht immer so gut wie das von Linux. Und 'dd' oder 'head -c' oder aehnliches sollte sich auch ueberall finden lassen. -dnh -- [..] dass man die Tastatur immer wieder mal saeubern sollte damit nicht irgendwelche froehlich vor sich hinrottenden Essensreste zu boesen Killeramoeben, mutieren die zwischen den Tasten hervorquellen und Plaene schmieden um die Weltherrschaft an sich zu reissen. -- J. Grassler
* David Haller
Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
* David Haller
[2004-01-07 22:59]: Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
Aeh, sorry, hab mich faslch ausgedrueckt: $RANDOM ist _nicht_ kryptologisch sicher. Fuer signaturen reichts aber z.B.
Und wo steht da dass die Bash daher ihre Zufallszahlen nimmt?
Tut sie nicht. Hab ich irgendwann man nachgeschaut (IIRC im Quellcode der bash).
Auch 'rand(3)' und Konsorten sind nicht kryptologisch tauglich.
Aber, und deswegen mein Hinweis auf man 4 random, /dev/random ist praktisch so gut, wie es in einem Rechner eben geht.
das war mir klar. Allerdings gibt es wohl kaum eine Gelegenheit, wo man sowas direkt braucht. Kryptologisch sichere Zufallszahlen braucht man in der Regel in einem Programm, wo man auch andere Kryptofunktionen braucht. Und da nimmt man eine Kryptobibliothek wie z. B. OpenSSL, welche dann wiederum selbständig /dev/random verwendet und auf einem Betriebssystem, das sowas nicht hat, vom Anwender mit Zufallszahlen (Mouse-/Key-Events) gefüttert werden muss. Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ The Internet is not a primary goal for PC usage -- Bill Gates (1995)
David Haller schrieb:
Auch 'rand(3)' und Konsorten sind nicht kryptologisch tauglich.
Aber, und deswegen mein Hinweis auf man 4 random, /dev/random ist praktisch so gut, wie es in einem Rechner eben geht.
Es geht sogar noch besser: Falls die Hardware das unterstützt und der Kernel etwas neueren Datums ist, kann dieser auch mit CONFIG_HW_RANDOM=y kompiliert werden. Dann sollte der Erzeugung des Geräts /dev/hwrandom nichts mehr im Wege stehen. Theoretisch lassen sich damit echte Zufallszahlen erzeugen. Neuerdings baut sie Intel nicht mehr ein[*]. Aber es gibt ja noch VIA und AMD[+]. [*] http://www.intel.com/design/security/rng/rng.htm [+] hw_random.c -- Viele Grüße, Alex
Hallo, Am Thu, 08 Jan 2004, Alexander Veit schrieb:
David Haller schrieb:
Auch 'rand(3)' und Konsorten sind nicht kryptologisch tauglich.
Aber, und deswegen mein Hinweis auf man 4 random, /dev/random ist praktisch so gut, wie es in einem Rechner eben geht.
Es geht sogar noch besser: Falls die Hardware das unterstützt und der Kernel etwas neueren Datums ist, kann dieser auch mit CONFIG_HW_RANDOM=y kompiliert werden. Dann sollte der Erzeugung des Geräts /dev/hwrandom nichts mehr im Wege stehen.
mknod /dev/hwrandom c 10 183 Nur der iP4 hat AFAIK bisher einen "echten" PRNG (man beachte das P!) eingebaut.
Theoretisch lassen sich damit echte Zufallszahlen erzeugen.
*ROTFL* Von wegen echt! Das sind _PSEUDO_ Zufallszahlen. Auch beim Intel HW-PRNG und /dev/random. Allerdings variiert die Qualitaet. Die von /dev/random ist unter Linux >= 2.2 erstens verfuegbar und zweitens auch fuer kryptographische Zwecke ausreichend. Ja ich hab random.c(2.4.16) komplett gelesen und weiss, _wie_ random.c die Zahlen generiert und zumindest ich persoenlich vertraue random.c. -dnh, der auch "Applied Cryptography" gelesen hat ;) -- "Ach was! Wir reden doch eh genug, das du schon so langsam wissen müsstest wie und mit was Ich antworte. Vieleicht habe Ich in letzter Zeit einfach zu viele Froschpillen gegessen, das Ich so viel quacke?" [Woko° in dag°]
Am Mit 07.01.04 um 22:59 CET schrieb David Haller
Hallo,
Am Wed, 07 Jan 2004, Bernhard Walle schrieb:
* Walter Ulmke
[2004-01-07 21:48]: Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
echo $RANDOM
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
,----[ bash(1) ]- | RANDOM Each time this parameter is referenced, a random integer between 0 and [..]
Seit wann sind manpages breiter als 80 Zeichen??? Bei mir sieht das so
aus:
==== RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated. The ====
Bei mir passt es sich immer der Größe des Terminals an. mfg stefan
Walter: wozu brauchst du die Zahlen?
-dnh
Am Don 08.01.04 um 01:32 CET schrieb Namik Dala
On Thu, Jan 08, 2004 at 12:02:46AM +0100, Stefan Heinrichsen wrote:
Bei mir passt es sich immer der Größe des Terminals an.
Du xterm-in-die-Breite-Zieher. Ein Terminal ist 80 Zeichen breit.
Du "Ich-hasse-Framebuffer-Minnischrift-und 21"-Bildschirme" Was sich in die Breite ziehen lässt zieht man auch in die Breite :-) Die ganze Zeit ein Terminal im Hintergrund zu haben das über den ganzen Bildschirm geht vereinfacht je nach Windowmanager das arbeiten enorm! (Bei mir ist das ein enlightenment (ohne Gnome drumherum)) mfg stefan
-Namik-
On Wed, 7 Jan 2004, David Haller wrote:
[...]
Kommt aber immer drauf an was Du damit machen willst, kryptologisch sicher sind die nicht.
Im Gegenteil. Siehe /usr/src/linux/drivers/char/random.c und auch 'man 4 random'.
Aha... Die Bash verwendet dafür "/dev/random"?
[...]
MfG Henning Hucke -- Keine Ahnung, was "KISS" oder "RTFM" heisst? Installiere das SuSE-Packet "bsdgames" und verwende den Befehl "wtf" (see "man wtf"). special suse-linux fortune
On Wed, 7 Jan 2004, Walter Ulmke wrote:
Hallo an Alle:
Gibt es ein Programm oder ein Shell-Befehl, der eine beliebige (=random) nummer erzeugt?
*Welche* shell!? Die tcsh kennt AFAIK keinen Zufallsgenerator, die bash schon. Paket "bsd-games", Programm "random". Nicht für kryptografische Zwecke zu gebrauchen aber ausreichend, um eine "zufällige" Zeile aus einem File auszuwählen. Ansonsten ein kleines Perl-Script schreiben, dass sich einen Wert aus "/dev/urandom" holt und mit "unpack" in eine brauchbare Zahl umwandelt... So naheliegend, dass ich noch nichtmal irgendwo besonders nachschauen mußte... MG Henning Hucke -- Zukunftstraechtiger Beruf? Geschichtenerzaehler! Damit kann man heute noch nicht das grosse Geld verdienen. Aber was denken Sie, werden Eltern ihnen in 20-30 Jahren bezahlen, damit ihre Kinder Ihnen an den Lippen haengen, wenn Sie Geschichten von Nashoernern, Schmetterlingen, Singvoegeln und Delphinen erzaehlen, "die einst die Erde bevoelkerten"!?
participants (7)
-
Alexander Veit
-
Bernhard Walle
-
David Haller
-
Henning Hucke
-
Namik Dala
-
Stefan Heinrichsen
-
Walter Ulmke