This page contains some additional Maple code which is not included in the book and will be updated when new material is available. We will also include links to related code that may be of interest to readers of the book. For example, the following is a Maple implementation of AES similar to to one included in the book but including more modes of operation and more statistical tests:
The Advanced Encryption Standard and its Modes of Operation
SHA-3, SHAKE, and HMAC-SHA-3:
The file SHA-3.zip below contains Maple worksheets (named SHA-3.mw and SHA-3out.mw, with the latter being the version of the former that includes its output) with a Maple implementation of the Secure Hash Algorithm-3 (SHA-3) family of functions wich have been standardized by the US National Institute of Standards and Technology (NIST) in August 2015, as specified in [FIPS PUB 202]. The SHA-3 family consists of four cryptographic hash functions, called SHA3-224, SHA3-256, SHA3-384, and SHA3-512, and two extendable-output functions (XOFs), called SHAKE128 and SHAKE256. These functions are based on the Keccak sponge function, designed by G. Bertoni, J. Daemen, M. Peeters, G. Van Assche and the Maple worksheets contain also a SHA-3-based implementation of the Message Authentication Code HMAC. The worksheet SHA-3.mw can be used to check the SHA-3 512-bit hash of the file SHA-3.zip, which should be equal to:
"4ddc840fc9c984db970e156b3b5ec0f48756d0edaa00035e90ebf37e704f9d91
b60b6dc128da118de3def46a84528a9563e75d3195243ae6c47321539ee57bd7"
The file SHA-3out.pdf contains a pdf version of SHA-3out.mw.