Encoders and decoders from and to strings and blocks.
Fold a list of integers to a specified size.
Actually XORs too-long pieces together to not lose any entropy.
Worth the effort? I don't know. Hashing probably does enough.
Decode UTF-8 bytes into a string.
Encode a string as UTF-8 bytes
How to encode/decode strings to/from Base64
The Int parameter is the line length for encoding to a string.
Convert bytes to Base64.
Convert a Base64 string to bytes. Sometimes the string is malformed.
TODO: This should return a Block, and the Chaining.remover should convert it into a list of Blocks.
How to encode/decode strings to/from hex.
Convert bytes to hex.
Convert a hex string to bytes. Sometimes the string is malformed.
Hash and fold a passphrase to turn it into a raw key array.