1. Apparatus arranged to accept an 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 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, (iii) 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, (iv) memory arranged to store a matrix of the vectors generated from k samples, (v) an address generator, arranged to generate RAM address segments from the matrix.