This commit is contained in:
Nicholas Ward 2022-11-09 14:41:41 -08:00
parent 5fab01b952
commit 0cfe790210
3 changed files with 22 additions and 17 deletions

View File

@ -1,3 +1,18 @@
%macro blake_initial_state
%blake_iv(7)
%blake_iv(6)
%blake_iv(5)
%blake_iv(4)
%blake_iv(3)
%blake_iv(2)
%blake_iv(1)
// stack: IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7
PUSH 0x01010040 // params: key = 00, digest_size = 64 = 0x40
%blake_iv(0)
XOR
// stack: IV_0 ^ params, IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7
%endmacro
%macro blake_internal_state_addr
PUSH 0
// stack: 0
@ -13,6 +28,12 @@
%endmacro
global blake_compression:
%blake_initial_state
// stack: t_0, t_1, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7
%stack: () -> (0, 0, 0)
// stack: cur_block = 0, t_0 = 0, t_1 = 0, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7
// stack: h_0, ..., h_7, t_0, t_1, f_0, f_1, m_0, ..., m_15
%blake_internal_state_addr
// stack: start, h_0, ..., h_7, t_0, t_1, f_0, f_1, m_0, ..., m_15

View File

@ -1,16 +0,0 @@
%macro blake_initial_state
%blake_iv(7)
%blake_iv(6)
%blake_iv(5)
%blake_iv(4)
%blake_iv(3)
%blake_iv(2)
%blake_iv(1)
// stack: IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7
PUSH 0x01010040 // params: key = 00, digest_size = 64 = 0x40
%blake_iv(0)
XOR
// stack: IV_0 ^ params, IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7
%stack () -> (0, 0)
// stack: c_0 = 0, c_1 = 0, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7
%endmacro

View File

@ -36,4 +36,4 @@ store_end:
// stack: addr, counter, retdest
%pop2
// stack: retdest
%jump(blake_pad)
%jump(blake_compression)