From ebdf59fa1ec26759a567cf93f35069992c9bc0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Mon, 4 May 2015 15:00:30 +0200 Subject: Adding API defines for the AES core. --- sw/cryptech.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'sw') diff --git a/sw/cryptech.h b/sw/cryptech.h index 99d76f7..83591eb 100644 --- a/sw/cryptech.h +++ b/sw/cryptech.h @@ -243,6 +243,52 @@ #define CSPRNG_VERSION "0.50" +// ----------------------------------------------------------------- +// CIPHERS segment. +// ----------------------------------------------------------------- +// aes core. +#define AES_ADDR_BASE SEGMENT_OFFSET_CIPHERS + (0 * CORE_SIZE) +#define AES_ADDR_NAME0 AES_ADDR_BASE + ADDR_NAME0 +#define AES_ADDR_NAME1 AES_ADDR_BASE + ADDR_NAME1 +#define AES_ADDR_VERSION AES_ADDR_BASE + ADDR_VERSION + +#define AES_ADDR_CTRL AES_ADDR_BASE + ADDR_CTRL +#define AES_CTRL_INIT_BIT CTRL_INIT_BIT +#define AES_CTRL_NEXT_BIT CTRL_INIT_BIT + +#define AES_ADDR_STATUS AES_ADDR_BASE + ADDR_STATUS +#define AES_STATUS_READY_BIT STATUS_READY_BIT +#define AES_STATUS_VALID_BIT STATUS_VALID_BIT + +#define AES_ADDR_CONFIG AES_ADDR_BASE + 0x0a +#define AES_CONFIG_ENCDEC_BIT 1 +#define AES_CONFIG_KEYLEN_BIT 2 + +#define AES_ADDR_KEY0 0x10 +#define AES_ADDR_KEY1 0x11 +#define AES_ADDR_KEY2 0x12 +#define AES_ADDR_KEY3 0x13 +#define AES_ADDR_KEY4 0x14 +#define AES_ADDR_KEY5 0x15 +#define AES_ADDR_KEY6 0x16 +#define AES_ADDR_KEY7 0x17 + +#define AES_ADDR_BLOCK0 0x20 +#define AES_ADDR_BLOCK1 0x21 +#define AES_ADDR_BLOCK2 0x22 +#define AES_ADDR_BLOCK3 0x23 + +#define AES_ADDR_RESULT0 0x30 +#define AES_ADDR_RESULT1 0x31 +#define AES_ADDR_RESULT2 0x32 +#define AES_ADDR_RESULT3 0x33 + +#define AES_CORE_NAME0 "aes " +#define AES_CORE_NAME1 " " +#define AES_CORE_VERSION "0.80" + + + // ----------------------------------------------------------------- // MATH segment. // ----------------------------------------------------------------- -- cgit v1.2.3