大家好,又见面了,我是你们的朋友全栈君。
加密芯片之路,折腾了我不少时间,下面分享一下”CC020加密芯片”的使用及适配:
寻找加密芯片左右对比寻找了很久,因为该款加密芯片相对市面来说比较便宜(特别是后期起量后,价格更实惠),有基础加密算法密钥和明文处理安全性相对可行,供应商会提供I2C实现驱动易于开发,还可以基于原有算法进行定制,所以选用;
我的加密芯片使用在海思视频芯片”hi35xx”(基于Linux C系统开发),用于硬件加密防抄板防激活成功教程;
一,加密芯片使用项目情况:
1)供电电压:3.3V
2)协议传输方式:I2C串口协议(使用2个GPIO模拟的I2C,供应商有提供demo程序);
3)封装类型:SOT23-6 60mil
4)加密芯片管脚及原理图走线(参考供应商提供方式):
二,代码适配集成:
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)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152859.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...