1. Apparatus arranged to accept a serial input data stream, the apparatus comprising: (i) a sampler arranged to sample the input data stream to provide k samples thereof, wherein each of the samples is n bits long, (ii) a serial to parallel converter arranged to convert the serial input to a parallel signal; (iii) a string selector arranged to select m binary strings n bits long from at least a chosen subset of all random binary strings of a predetermined length, (iv) a logical operator arranged to perform a logical function for each of the k samples with each of the selected binary strings to provide a vector, (v) memory arranged to store a matrix of the vectors generated from k samples, (vi) an address generator, arranged to generate RAM address segments from the matrix wherein the apparatus further comprises an entropy conditioning unit arranged to condition the input stream to ensure that the generated addresses are substantially distributed throughout available address space provided by the RAM.