A method and an apparatus for generating encryption stream ciphers are based
on
a recurrence relation designed to operate over finite fields larger than GF(2).
A non-linear output can be obtained by using one or a combination of non-linear
processes to form an output function. The recurrence relation and the output function
can be selected to have distinct pair distances such that, as the shift register
is shifted, no identical pair of elements of the shift register are used twice
in either the recurrence relation or the output function. Under these conditions,
the recurrence relation and the output function also can be chosen to optimize
cryptographic security or computational efficiency.