Skip to content

Commit

Permalink
added zeroize to mldsa_top regs
Browse files Browse the repository at this point in the history
  • Loading branch information
Mojtaba Bisheh Niasar committed Dec 16, 2024
1 parent 3fcdbb7 commit 0f2120b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 4 deletions.
25 changes: 21 additions & 4 deletions src/mldsa_top/rtl/mldsa_ctrl.sv
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,11 @@ module mldsa_ctrl
);

always_ff @(posedge clk or negedge rst_b) begin : mldsa_kv_reg
if (!rst_b) begin
if (!rst_b)
kv_seed_data_present <= '0;
else (zeroize)
kv_seed_data_present <= '0;
end else begin
else begin
kv_seed_data_present <= kv_seed_data_present_set ? '1 :
kv_seed_data_present_reset ? '0 : kv_seed_data_present;
end
Expand Down Expand Up @@ -329,6 +331,7 @@ always_comb mldsa_privkey_lock = '0;

always_comb mldsa_ready = (prim_prog_cntr == MLDSA_RESET);

//without zeroize to make it more complex
always_ff @(posedge clk or negedge rst_b) begin
if (!rst_b)
counter_reg <= '0;
Expand Down Expand Up @@ -586,6 +589,11 @@ always_comb mldsa_privkey_lock = '0;
signature_rd_ack <= 0;
pubkey_rd_ack <= 0;
end
else if (zeroize) begin
privkey_out_rd_ack <= 0;
signature_rd_ack <= 0;
pubkey_rd_ack <= 0;
end
else begin
privkey_out_rd_ack <= mldsa_reg_hwif_out.MLDSA_PRIVKEY_OUT.req & ~mldsa_reg_hwif_out.MLDSA_PRIVKEY_OUT.req_is_wr;
signature_rd_ack <= mldsa_reg_hwif_out.MLDSA_SIGNATURE.req & ~mldsa_reg_hwif_out.MLDSA_SIGNATURE.req_is_wr;
Expand Down Expand Up @@ -613,9 +621,11 @@ always_comb mldsa_privkey_lock = '0;


always_ff @(posedge clk or negedge rst_b) begin
if (!rst_b) begin
if (!rst_b)
api_sig_z_re_f <= '0;
end else begin
else if (zeroize)
api_sig_z_re_f <= '0;
else begin
api_sig_z_re_f <= api_sig_z_re;
end
end
Expand Down Expand Up @@ -740,6 +750,11 @@ always_comb mldsa_privkey_lock = '0;
sampler_pk_rd_en_f <= '0;
sampler_src_offset_f <= '0;
pkdecode_rd_offset_f <= '0;
end else if (zerozie) begin
api_pubkey_re_f <= '0;
sampler_pk_rd_en_f <= '0;
sampler_src_offset_f <= '0;
pkdecode_rd_offset_f <= '0;
end else begin
api_pubkey_re_f <= api_pubkey_re;
sampler_pk_rd_en_f <= msg_hold ? sampler_pk_rd_en_f : sampler_pk_rd_en;
Expand Down Expand Up @@ -851,6 +866,8 @@ always_comb mldsa_privkey_lock = '0;
always_ff @(posedge clk or negedge rst_b) begin
if (!rst_b) begin
msg_data <= '0;
end else if (zeroize) begin
msg_data <= '0;
end else begin
if (msg_hold) begin
msg_data <= msg_data;
Expand Down
13 changes: 13 additions & 0 deletions src/mldsa_top/rtl/mldsa_top.sv
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,19 @@ always_ff @(posedge clk or negedge rst_b) begin : read_mux_flops
normcheck_mem_re0_bank_f <= 0;
sib_mem_re_f <= 0;
end
else if (zeroize) begin
ntt_mem_re_f <= 0;
pwo_a_mem_re_f <= 0;
pwo_b_mem_re_f <= 0;
decomp_mem_re_f <= 0;
normcheck_mem_re_f <= 0;
ntt_mem_re0_bank_f <= 0;
pwo_a_mem_re0_bank_f <= 0;
pwo_b_mem_re0_bank_f <= 0;
decomp_mem_re0_bank_f <= 0;
normcheck_mem_re0_bank_f <= 0;
sib_mem_re_f <= 0;
end
else begin
ntt_mem_re_f <= ntt_mem_re;
pwo_a_mem_re_f<= pwo_a_mem_re;
Expand Down

0 comments on commit 0f2120b

Please sign in to comment.