In cryptography, keystreams are sequences of bytes that can be
XORed with a plaintext to create a ciphertext or XORed with a
ciphertext to recover the plaintext. A good keystream is
nearly impossible to distinguish from random stream of bytes,
which makes the ciphertext appear similarly random.
This crate contains traits that that encapsulate the behavior
of keystreams, which allows cryptographic operations that
depend on keystreams be generic over which particular keystream
they use.