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

硬件加密芯片的使用及适配(CC020加密芯片)加密芯片之路,折腾了我不少时间,下面分享一下”CC020加密芯片”的使用及适配:寻找加密芯片左右对比寻找了很久,因为该款加密芯片相对市面来说比较便宜(特别是后期起量后,价格更实惠),有基础加密算法密钥和明文处理安全性相对可行,供应商会提供I2C实现驱动易于开发,还可以基于原有算法进行定制,所以选用;我的加密芯片使用在海思视频芯片”hi35xx”(基于LinuxC系统开发),用于硬件加密防抄板防激活成功教程;一,加密芯片使用项目情况:1)供电电压:3.3V2)协议传输方式:I2C串口..

大家好,又见面了,我是你们的朋友全栈君。

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

 

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

我的加密芯片使用在海思视频芯片”hi35xx”(基于Linux C系统开发),用于硬件加密防抄板防激活成功教程;

 

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

1)供电电压:3.3V

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

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

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

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

 

 

二,代码适配集成:

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

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

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

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

3)代码集成适配:

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

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

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

4)验证功能:

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

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

 

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

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

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152859.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pythoncharm如何改字体大小_怎么把python的字体调大

    pythoncharm如何改字体大小_怎么把python的字体调大一、pycharm字体放大的设置File—>setting—>Keymap—>在搜寻框中输入increase—>IncreaseFontSize(双击)—>在弹出的对话框中选择AddMouseShortcut在弹出的对话框中同时按住ctrl键和鼠标滚轮向上滑。二、Pycharm字体缩小的设置File—>setting—>Keymap—>在搜寻框中输入decrease—…

    2022年8月25日
    7
  • 如何通过eclipse导入web项目「建议收藏」

    如何通过eclipse导入web项目「建议收藏」如何通过eclipse导入web项目通过eclipse导入web项目的相关流程。【1】打开eclipse,单击左上角的File,File–>Import【2】打开General–>ExistingprojectsintoWorkspace–>Browse(选择需要打开的项目)注意:记得勾选下方【copyprojectintoproject】【3】所有不是在自己电脑上开发的web项目,都需要重新配置一下,单击项目右键,打开Projects【4】打开JavaBul

    2022年4月20日
    153
  • word2vec原理总结

    word2vec原理总结CBOW与Skip-Gram模型基础:https://www.cnblogs.com/pinard/p/7160330.htmlHierarchicalSoftmax的模型:https://www.cnblogs.com/pinard/p/7243513.htmlNegativeSampling的模型:https://www.cnblogs.com/pinard/p/7249903.h…

    2022年5月17日
    41
  • 数论基础——群环域

    数论基础——群环域文章目录一、群环域基本概念1.群2.环常见环3.域与椭圆曲线椭圆FpF_pFp​PointadditionAlgebraicsum椭圆曲线群的阶数ScalarmultiplicationandcyclicsubgroupsSubgrouporder子群的阶FindingabasepointDomainparametersECC(EllipticCurveCryptography)EncryptionwithECDHSigningwithECDSA一、群环域基本概念1.群

    2022年6月18日
    42
  • 【工具使用】应用层DNS协议工具—iodine

    【工具使用】应用层DNS协议工具—iodine0x01iodine 工具介绍 iodine 工具是基于 C 语言开发的 分为服务端程序 iodined 和客户端 iodine iodine 支持 EDNS base32 base64 base128 等多种编码规范 iodine 支持转发模式和中继模式 iodine 原理 通过 TAP 虚拟网卡 在服务端建立一个局域网 在客户端 通过 TAP 建立一个虚拟网卡 两者通过 DNS 隧道连接 处于同一局域网 可以通过 ping 命令通信 在客户端和服务端之间建立连接后 客户机上会多出一块 dns0 的虚拟网卡 DNS 隧道

    2025年6月21日
    3
  • c++windows内核编程笔记day12 硬盘逻辑分区管理、文件管理、内存管理[通俗易懂]

    c++windows内核编程笔记day12 硬盘逻辑分区管理、文件管理、内存管理

    2022年1月22日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号