The crypto::aes module provides an implementation of the Advanced Encryption
Standard per the [[crypto::cipher::block]] interface. Several implementations of
AES are provided which are optimized for different scenarios. To choose the most
appropriate one for your system, use [[aes]].

When combined with a block cipher mode from [[crypto::cipher::]], suitable
buffer lengths for static allocation are provided as constants such as
[[BLOCKSZ]], [[CTR_BUFSZ]], and [[CBC_BUFSZ]].

This is a low-level module which implements cryptographic primitives. Direct use
of cryptographic primitives is not recommended for non-experts, as incorrect use
of these primitives can easily lead to the introduction of security
vulnerabilities. Non-experts are advised to use the high-level operations
available in the top-level [[crypto::]] module.

Be advised that Hare's cryptography implementations have not been audited.
