aes: Adapt AES code to build for EC

Update header, C code, and tweak the assembly for ARMv7-M.

Rename aes_now_* functions to AES_* to avoid the need for a
separate wrapper.

Also add a test with FIPS-197 test vectors, and speed test.

BRANCH=none
BUG=b:111160949
TEST=make run-aes -j
TEST=make BOARD=nocturne_fp test-aes -j
     flash_fp_mcu aes.bin
     runtest => pass
     (C implementation speed: 11977 us for 1000 iterations)
     (ASM implementation speed: 5815 us for 1000 iterations)

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>

Change-Id: I2048aae73decccb893bc1724b2617b0b902dd992
Reviewed-on: https://chromium-review.googlesource.com/1120340
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
11 files changed