Shadowgraphy implements FF1 specified in NIST SP 800-38G Rev. 1. AES-128 is the only supported block cipher at the moment. The implementation is heavily optimized, inspired by the research work below.