Package prim_cipher_pkg
Functions
- perm_16bit(logic[15:0] state_in, logic[15:0][3:0] perm)
- Parameters:
state_in (logic[15:0])
perm (logic[15:0][3:0])
- perm_32bit(logic[31:0] state_in, logic[31:0][4:0] perm)
- Parameters:
state_in (logic[31:0])
perm (logic[31:0][4:0])
- perm_64bit(logic[63:0] state_in, logic[63:0][5:0] perm)
- Parameters:
state_in (logic[63:0])
perm (logic[63:0][5:0])
- perm_8bit(logic[7:0] state_in, logic[7:0][2:0] perm)
- Parameters:
state_in (logic[7:0])
perm (logic[7:0][2:0])
- present_get_dec_key128(logic[127:0] key_in, logic[4:0] round_cnt)
- Parameters:
key_in (logic[127:0])
round_cnt (logic[4:0]) --
- present_get_dec_key64(logic[63:0] key_in, logic[4:0] round_cnt)
these functions can be used to derive the DEC key from the ENC key by stepping the key by the correct number of rounds using the keyschedule functions above.
- Parameters:
key_in (logic[63:0])
round_cnt (logic[4:0]) --
total number of rounds employed
- present_get_dec_key80(logic[79:0] key_in, logic[4:0] round_cnt)
- Parameters:
key_in (logic[79:0])
round_cnt (logic[4:0]) --
total number of rounds employed
- present_inv_update_key128(logic[127:0] key_in, logic[4:0] round_idx)
- Parameters:
key_in (logic[127:0])
round_idx (logic[4:0])
- present_inv_update_key64(logic[63:0] key_in, logic[4:0] round_idx)
inverse key schedule
- Parameters:
key_in (logic[63:0])
round_idx (logic[4:0])
- present_inv_update_key80(logic[79:0] key_in, logic[4:0] round_idx)
- Parameters:
key_in (logic[79:0])
round_idx (logic[4:0])
- present_update_key128(logic[127:0] key_in, logic[4:0] round_idx)
- Parameters:
key_in (logic[127:0])
round_idx (logic[4:0])
- present_update_key64(logic[63:0] key_in, logic[4:0] round_idx)
forward key schedule
- Parameters:
key_in (logic[63:0])
round_idx (logic[4:0])
- present_update_key80(logic[79:0] key_in, logic[4:0] round_idx)
- Parameters:
key_in (logic[79:0])
round_idx (logic[4:0])
- prince_mult_prime_32bit(logic[31:0] state_in)
M prime multiplication
- Parameters:
state_in (logic[31:0])
- prince_mult_prime_64bit(logic[63:0] state_in)
M prime multiplication
- Parameters:
state_in (logic[63:0])
- prince_nibble_red16(logic[15:0] vect)
XOR reduction of four nibbles in a 16bit subvector
- Parameters:
vect (logic[15:0])
- prince_shiftrows_32bit(logic[31:0] state_in, logic[15:0][3:0] shifts)
nibble shifts
- Parameters:
state_in (logic[31:0])
shifts (logic[15:0][3:0])
- prince_shiftrows_64bit(logic[63:0] state_in, logic[15:0][3:0] shifts)
- Parameters:
state_in (logic[63:0])
shifts (logic[15:0][3:0])
- sbox4_16bit(logic[15:0] state_in, logic[15:0][3:0] sbox4)
- Parameters:
state_in (logic[15:0])
sbox4 (logic[15:0][3:0])
- sbox4_32bit(logic[31:0] state_in, logic[15:0][3:0] sbox4)
- Parameters:
state_in (logic[31:0])
sbox4 (logic[15:0][3:0])
- sbox4_64bit(logic[63:0] state_in, logic[15:0][3:0] sbox4)
- Parameters:
state_in (logic[63:0])
sbox4 (logic[15:0][3:0])
- sbox4_8bit(logic[7:0] state_in, logic[15:0][3:0] sbox4)
/////////////////////// Common Subfunctions // ///////////////////////
- Parameters:
state_in (logic[7:0])
sbox4 (logic[15:0][3:0])
total number of rounds employed