硬件加密芯片的使用及适配(CC020加密芯片)

加密芯片之路,折腾了我不少时间,下面分享一下"CC020加密芯片"的使用及适配:

寻找加密芯片左右对比寻找了很久,因为该款加密芯片相对市面来说比较便宜(特别是后期起量后,价格更实惠),有基础加密算法密钥和明文处理安全性相对可行,供应商会提供I2C实现驱动易于开发,还可以基于原有算法进行定制,所以选用;

我的加密芯片使用在海思视频芯片"hi35xx"(基于Linux C系统开发),用于硬件加密防抄板防破解;

一,加密芯片使用项目情况:

1)供电电压:3.3V

2)协议传输方式:I2C串口协议(使用2个GPIO模拟的I2C,供应商有提供demo程序);

3)封装类型:SOT23-6 60mil

4)加密芯片管脚及原理图走线(参考供应商提供方式):

       

扫描二维码关注公众号,回复: 11421935 查看本文章

二,代码适配集成:

1)索要资料: 购买CC020加密芯片后,需要提供给供应商当前使用的交叉工具编译链,供应商会根据交叉编译链编译生成一个 “.a“ 的静态库文件,以及调用接口的头文件; 另外还有提供一个 GPIO模拟I2C的demo驱动程序;

2)链接文件:将库文件和头文件添加到自己的编译环境链接代码中去(libcj_enc_decryp.a,EnDe_crypt.h);

     下面是头文件内容,主要的解码接口为"cj_decrypt_date";

3)代码集成适配:

①适配GPIO模拟I2C的通信:I2C的实现过程步骤,在供应商给到的开发程序里面已有提供,copy过来就好,只需要将两个GPIO口和 I2C的SDA/SCL对应就好了;

②加密步骤调用根据参考代码进行更改,大概步骤如下:

4)验证功能:

我是在开机和系统运行到指定位置时,调用的加解密认证接口,认证通过了就继续往下运行,认证失败就关机;

在集成玩上述代码收就可以验证加密功能了,如果GPIO配置正确基本每次认证都可以通过,认证耗时也很少(如果认证不通过或者部分地方没有适配到位,建议添加打印信息定位具体的地方,有不明白的也可以和供应商联系)

到这里硬件加密基本就完成了,代码集成适配相对简单,有基本算法和密钥双重加密相对可靠安全(供应商针对不同的客户会提供不同的密钥还是不错的方式);

(淘宝链接:https://shop57120002.taobao.com/index.htm?spm=a1z10.3-c.w5002-919049084.2.606e504aTqqBKP

猜你喜欢

转载自blog.csdn.net/chengjian815/article/details/107518302
今日推荐