aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-12-11 14:40:28 +0100
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-12-11 14:40:28 +0100
commit462c86f8f897448e45fa8b2e21a25c04d5c7dafd (patch)
tree9bb21c4f6a3ebec95663d59c551beb9891b157be
parent4665dcca8381b60a34ae2f47a2949822b4fbbf09 (diff)
Zeroisation of wrapper key registers. Adding reset of key_loaded register.
-rw-r--r--src/rtl/keywrap.v6
-rw-r--r--src/rtl/keywrap_core.v2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/rtl/keywrap.v b/src/rtl/keywrap.v
index 02c20fc..36e95bf 100644
--- a/src/rtl/keywrap.v
+++ b/src/rtl/keywrap.v
@@ -270,6 +270,12 @@ module keywrap #(parameter ADDR_BITS = 13)
if (a1_we)
a1_reg <= write_data;
+ if (zeroise_reg)
+ begin
+ for (i = 0 ; i < 8 ; i = i + 1)
+ key_reg[i] <= 32'h0;
+ end
+
if (key_we)
key_reg[address[2 : 0]] <= write_data;
diff --git a/src/rtl/keywrap_core.v b/src/rtl/keywrap_core.v
index 41ad531..5d628e2 100644
--- a/src/rtl/keywrap_core.v
+++ b/src/rtl/keywrap_core.v
@@ -626,6 +626,8 @@ module keywrap_core #(parameter MEM_BITS = 11)
zero_key = 1'h1;
if (aes_ready)
begin
+ key_loaded_new = 1'h0;
+ key_loaded_we = 1'h1;
ready_new = 1'h1;
ready_we = 1'h1;
keywrap_core_ctrl_new = CTRL_IDLE;