Newer
Older
AESLearning / utility.h
#ifndef __SECURE_UTIL__
#define __SECURE_UTIL__

#include "secure_types.h"

// blocking functions
void sb_b_sw_rst();
uint sb_b_start_prng(uint);
//-
ODAT sb_b_resume_prng();
ODAT sb_b_md5(IDAT seed);
ODAT sb_b_aes_enc(KEY, IDAT);
ODAT sb_b_aes_dec(KEY, IDAT);
ODAT sb_b_read_md5();
ODAT sb_b_read_aes_enc();
u128 sb_b_gen_uid();
void sb_b_modify_uid();
IV   sb_b_gen_iv();
uint  sb_b_gen_secret_key();
void sb_b_modify_secrete_key(KEY);
u128 sb_b_gen_key();
void sb_b_clear_key_flg(KEY_ID, uint8);
uint sb_b_read_key_flg(KEY_ID);
uint32 sb_b_read_error_reg();
uint sb_b_read_counter(KEY_ID);
ODAT sb_b_set_rand_seed(uint32 seed);
void sb_b_kdf(KEY, IDAT);
void sb_b_cmac(uint32, IDAT, IDAT);
u128 sb_b_create_M1(u128, KEY_ID, AUTHKEY_ID);
u256 sb_b_create_M2(uint32, uint, KEY, KEY_ID);
u128 sb_b_create_M3(u128, u256);
u128 sb_b_create_M4(u128, KEY_ID, AUTHKEY_ID, uint32);
u128 sb_b_create_M5(u128, u128);
void sb_b_import_plain_key(uint32, uint, KEY);
u256 sb_b_export_plain_key();
void sb_b_import_each_plain_key(KEY_ID, uint32, uint, KEY);
u256 sb_b_export_each_plain_key(KEY_ID);
u256 sb_b_export_plain_ram_key();

// non-blocking functions
void sb_nb_sw_rst();
void sb_nb_start_prng();
void sb_nb_stop_prng();
void sb_nb_resume_prng();
void sb_nb_md5();
void sb_nb_aes_enc();
//-
//-
//-
//-
//-
//-
//-
//-
//-
//-
//-
//-
//-
void sb_nb_set_rand_seed();
void sb_nb_kdf();
void sb_nb_cmac();
//-
void sb_nb_create_M2();
void sb_nb_create_M3();
//-
void sb_nb_create_M5();
//-
//-
//-
//-
//-

#endif/*__SECURE_UTIL__*/