aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Musta <tommusta@gmail.com>2014-03-13 09:13:27 -0500
committerAlexander Graf <agraf@suse.de>2014-06-16 13:24:33 +0200
commitbfd8f5b754318a933e052374c3c17d314bd9927c (patch)
treeeab5205c3a51a93229839e3236e958cac844d480 /include
parent1c1a6d20e0bceef5b5ce68930bf255021c326cce (diff)
util: Add InvMixColumns
This patch adds the table implementation of the Advanced Encryption Standard (AES) InvMixColumns transformation. The patch is intentionally asymmetrical -- the MixColumns table is not added because there is no known use for it at this time. Signed-off-by: Tom Musta <tommusta@gmail.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include')
-rw-r--r--include/qemu/aes.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/qemu/aes.h b/include/qemu/aes.h
index c45bc57467..c10666059f 100644
--- a/include/qemu/aes.h
+++ b/include/qemu/aes.h
@@ -30,6 +30,13 @@ extern const uint8_t AES_isbox[256];
extern const uint8_t AES_shifts[16];
extern const uint8_t AES_ishifts[16];
+/* AES InvMixColumns */
+/* AES_imc[x][0] = [x].[0e, 09, 0d, 0b]; */
+/* AES_imc[x][1] = [x].[0b, 0e, 09, 0d]; */
+/* AES_imc[x][2] = [x].[0d, 0b, 0e, 09]; */
+/* AES_imc[x][3] = [x].[09, 0d, 0b, 0e]; */
+extern const uint32_t AES_imc[256][4];
+
/*
AES_Te0[x] = S [x].[02, 01, 01, 03];
AES_Te1[x] = S [x].[03, 02, 01, 01];