1. A method of operating a computer implemented pseudorandom number generator, the method comprising the steps of: a) establishing a state array s having a fixed number of memory cells, such as s 0 to s 255 arranged in a series, with each memory cell having a fixed word length; b) establishing a number array t comprising a fixed number of memory cells such as t 0 to t 255 arranged in a series, with each memory cell having a fixed word length; c) establishing an accumulator memory cell a; d) establishing a memory cell i to be used as an index, with i being an unsigned eight bit integer; e) establishing a memory cell j to be used as an index with j being an unsigned eight bit integer; f) establishing a memory cell k; g) establishing an output memory cell m; h) extracting a value held within the state array s, using the value held at memory cell i as an index to the state array s, said element known as s i , using said value s i to overwrite the contents of memory cell j; i) extracting a value held within the state array s, using the value held at memory cell j as an index to the state array s, said element known as s j , using said value s j to overwrite the contents of memory cell k; j) extracting a value held within the number array t, using the lowest eight bits of the value held at memory cell k as an index to the number array t, said element known as t k , adding said extracted value at t k to the accumulator memory cell a; k) setting the contents of memory cell m to the sum derived by adding the contents of the accumulator memory cell a and the contents of memory cell k ; l) overwriting the value held at state array element s j with the value held at memory cell m, m being a pseudorandom number generated; and encrypting data with the pseudorandom number.