您的位置首页百科知识

加密芯片SMEC98SP的使用方法

加密芯片SMEC98SP的使用方法

的有关信息介绍如下:

加密芯片SMEC98SP的使用方法

介绍了加密芯片SMEC98SP的使用方法,设计到方案中,防止被破解公司破解,窃取了自己的劳动果实

读取加密芯片ID号,这个ID号可用来做唯一ID身份识别,可以设计到加密方案中。

代川艳码如下:

unsigned char Read_UID(unsigned char * UID)

{

uchar ret;

uchar iic_addr;

uchar len;

iic_addr = 0x00;

iic_buff = 0x83;

iic_buff = 0x00;

iic_buff = 0x00;

iic_buff = 0x0c; //一共是0x0c个字节

len = iic_buff;

ret = IIC_WriteWithAddr(iic_addr & 0xFE, iic_buff, 4);

if(ret)//出错

{

return 1;

}

// delay_nms(1);

ret = IIC_ReadWithAddr(iic_addr | 0x1, UID, (len+2));

if(ret)

{

return 1;

}

return 0; //读取成功

}

读取随机数,随机数是参与密码运算的重要过程数据,每次都不一样的数据传输,破解者无法柱秤获得久恩巨规律。

//读8字节随机数,返回:90 00 data1 data2.....data8

unsigned char Read_random(unsigned char *random)

{

uchar ret;

uchar iic_addr;

uchar len;

iic_addr = 0x00;

iic_buff = 0x84;

iic_buff = 0x00;

iic_buff = 0x00;

iic_buff = 0x08; //一共是0x08个字节

len = iic_buff;

ret = IIC_WriteWithAddr(iic_addr & 0xFE, iic_buff, 4);

if(ret)//出错

{

return 1;

}

// delay_nms(5);

ret = IIC_ReadWithAddr(iic_addr | 0x1, random, (len+2));

if(ret)

{

return 1;

}

return 0; //读取成功

}

密码认证,密文传输。

unsigned char PIN_authentication(unsigned char *ret_data)

{

uchar ret;

uchar iic_addr;

iic_addr = 0x00;

iic_buff = 0x70;

iic_buff = 0x00;

iic_buff = 0x00;

iic_buff = 0x08; //

memcpy(&iic_buff,PinKey,8);

ret = IIC_WriteWithAddr(iic_addr & 0xFE, iic_buff, 4+8);

if(ret)//出错

{

return 1;

}

// delay_nms(5);

ret = IIC_ReadWithAddr(iic_addr | 0x1, ret_data, 2);

if(ret)

{

return 1;

}

return 0; //读取成功

}

添加一个算法

unsigned char circumference(unsigned char radius, unsigned char *ret_data)

{

uchar ret;

uchar iic_addr;

iic_addr = 0x00;

iic_buff = 0x72;

iic_buff = 0x00;

iic_buff = 0x00;

iic_buff = 1; //

iic_buff = radius;

ret = IIC_WriteWithAddr(iic_addr & 0xFE, iic_buff, 4+1);

if(ret)//出错

{

return 1;

}

// delay_nms(5);

ret = IIC_ReadWithAddr(iic_addr | 0x1, ret_data, 3);

if(ret)

{

return 1;

}

return 0; //读取成功

}