The Shœstring Foundation Weblog About The Shœstring Foundation Weblog, Miscellaneous Byproducts Matthias Bauer `bauerm (at) shoestringfoundation · org ` reop pubkey Vignettes by George Herriman and a small program Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS. Wed, 30 Jun 2004 Fascinated by the Auralizer, I started my own, simplified version, Netsound. The idea is to define sound events to be triggered by network events. In netsound, you can set `pcap(3)` filters together with bounds and the sound to play if the event occured that often. E.g.: ```filter: icmp and not src net 131.188 max: 10 soundfile: sounds/boing.au ``` You can define many of these events. Netsound uses `libesd` to play and mix the sounds. Ohmplatz, vor dem Simon-Ohm-Gymnasium: Sophora japonica. Bot. Garten, an der Mauer Richtung Bettenhaus: Kaukasische Flügelnuss. Schlossgarten, nähe Ausgang Krankenhausstrasse: Kanadischer Tulpenbaum. Fuss/Radweg hinter der Kopfklinik, an der Abzweigung zur Schwabach runter: Ailanthus altissima In einem Garten in der Jordanstrasse: Kanadischer Tulpenbaum In der Hindenburgstrasse 80: kastanienblättrige Eiche Wilhelminenstrasse: echte Akazien The Blum-Blum-Shub Pseudo Random Number Generator works basically as follows: Setup Generate two large primes such that they both equal 3 mod 4 Take the product N and forget the primes Fetch an initial state x_0 from a true RNG Operation per step compute next state: x_{i+1} = x_i^2 mod N output the least significant bit of x_{i+1} Blum, Blum and Shub show that predicting the next bit from the observed output is as hard as factoring N. In addition, after erasing the primes computing previous states from the current one is as hard as factorization. A problem exists with the expected cycle length of the produced random bits. As Terry Ritter pointed out, maximum cycles (near the size of N) can be assured by choosing the primes as “double--Germain”, i.e. p = p'*2 + 1, p' = p''*2 + 1, with p, p', p'' all prime. My implementation generates such primes. A possible application for BBS is generating strong randomness on embedded devices without physical sources of randomness. Upon initialization, a truely random seed could be stored on the device, which later is updated synchronously after each step of the algorithm.