加密芯片SMEC98SP_加密芯片SMEC98SP的使用方法_中巨供
- 产品价格:
- 请联系咨询
- 更新时间:
- 2018-06-05
- 点击关注:
- 94
- 产品型号:
- SMEC98SP
- 产品品牌:
- 中巨
- 供应商:
- 深圳市中巨伟业信息科技有限公司
- 联系人:
- 顾先生
- 手机:
- 13825220330
- 在线咨询:
- 47583353
- 传真:
- 518000-86636121
- 所在地区:
- 广东 深圳
- 地址:
- 太子路18号海景广场10E
详细信息
加密芯片SMEC98SP的使用方法1加密芯片SMEC98SP的使用方法2加密芯片SMEC98SP的使用方法3
分步阅读
介绍了加密芯片SMEC98SP的使用方法,设计到方案中,防止被破解公司破解,窃取了自己的劳动果实
加密芯片SMEC98SP的使用方法
工具/原料
SMEC98SP加密芯片一颗
SMEC98SP加密芯片开发板编程器一个
方法/步骤
1
读取加密芯片ID号,这个ID号可用来做身份识别,可以设计到加密方案中。
代码如下:
unsigned char Read_UID(unsigned char * UID)
{
uchar ret;
uchar iic_addr;
uchar len;
iic_addr = 0x00;
iic_buff[0] = 0x83;
iic_buff[1] = 0x00;
iic_buff[2] = 0x00;
iic_buff[3] = 0x0c; //一共是0x0c个字节
len = iic_buff[3];
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; //读取成功
}
2
读取随机数,随机数是参与密码运算的重要过程数据,每次都不一样的数据传输,破解者无法获得规律。
//读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[0] = 0x84;
iic_buff[1] = 0x00;
iic_buff[2] = 0x00;
iic_buff[3] = 0x08; //一共是0x08个字节
len = iic_buff[3];
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; //读取成功
}
3
密码认证,密文传输。
unsigned char PIN_authentication(unsigned char *ret_data)
{
uchar ret;
uchar iic_addr;
iic_addr = 0x00;
iic_buff[0] = 0x70;
iic_buff[1] = 0x00;
iic_buff[2] = 0x00;
iic_buff[3] = 0x08; //
memcpy(&iic_buff[4],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; //读取成功
}
4
添加一个算法
unsigned char circumference(unsigned char radius, unsigned char *ret_data)
{
uchar ret;
uchar iic_addr;
iic_addr = 0x00;
iic_buff[0] = 0x72;
iic_buff[1] = 0x00;
iic_buff[2] = 0x00;
iic_buff[3] = 1; //
iic_buff[4] = 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; //读取成功
}
深圳市中巨伟业信息科技有限公司
地址:深圳市南山区蛇口太子路18号海景广场10楼E单元
邮编:518067
电话:0755-86636183
传真:0755-86636121