cryptol-2.10.0: Cryptol: The Language of Cryptography
Copyright (c) Levent Erkok BSD3 erkokl@gmail.com experimental Safe-Inferred Haskell2010

Cryptol.AES

Description

A TBox-based implementation of AES primitives, based on the AES example code from SBV. Here we've stripped out everything except the basic primitives needed, which essentially boil down to table table lookups in most cases.

Synopsis

# Documentation

type State = [Word32] Source #

AES state. The state consists of four 32-bit words, each of which is in turn treated as four GF28's, i.e., 4 bytes. The T-Box implementation keeps the four-bytes together for efficient representation.

type Key = [Word32] Source #

The key, which can be 128, 192, or 256 bits. Represented as a sequence of 32-bit words.

The InvMixColumns transformation, as described in Section 5.3.3 of the standard. Note that this transformation is only used explicitly during key-expansion in the T-Box implementation of AES.