#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__*/