Pingsweeps go BOING

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.

*Wed, 30 Jun 2004 [/projects]
permanent link*

Blum-Blum-Shubb-Niggurath

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.

*Wed, 30 Jun 2004 [/projects]
permanent link*