加密方案不可避免要用到随机数,一般的加密都需要随机数参与运算。
先在加密芯片SMEC98SP中实现以下程序;
//-----------------------------
//取随机数 CMD = 84 00 00 P3
//-----------------------------
case 0x84:
if(I2C_P1 || I2C_P2)
{
I2C_Buf[0] = 0x6A;
I2C_Buf[1] = 0x86;
return;
}
Tmp_I2C_send_bytes=I2C_P3;
Random_Number_Generator_Get(&I2C_Buf[2], I2C_P3);
memcpy(Random_Number,&I2C_Buf[2],8);