  The paper develops a novel approach to stream cipher design: Both the state
update function and the output function of the corresponding pseudorandom
generators are compositions of arithmetic and bitwise logical operations, which
are standard instructions of modern microprocessors. Moreover, both the state
update function and the output function are being modified dynamically during
the encryption. Also, these compositions could be keyed, so the only
information available to an attacker is that these functions belong to some
exponentially large class.
  The paper shows that under rather loose conditions the output sequence is
uniformly distributed, achieves maximum period length and has high linear
complexity and high $\ell$-error linear complexity. Ciphers of this kind are
flexible: One could choose a suitable combination of instructions to obtain due
performance without affecting the quality of the output sequence. Finally, some
evidence is given that a key recovery problem for (reasonably designed) stream
ciphers of this kind is intractable up to plausible conjectures.
