硬件加密芯片的使用及适配(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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • COleVariant在多字节字符集下的坑

    COleVariant在多字节字符集下的坑以下代码(多字节字符集下):COleVariantvar=CStringA("123开始唱");CStringAstr=V_BSTRT(&var);你会发现,str=="123",中文呢?看下COleVariant的构造函数发现:constCOleVariant&COleVariant::operator=(constLPCTSTRlpszSrc){ …

    2022年7月18日
    16
  • JWT详解「建议收藏」

    JWT详解「建议收藏」本文从本人博客搬运,原文格式更加美观,可以移步原文阅读:JWT详解JWT简介1.什么是JWT在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程:客户端使用用户名和密码请求登录服务端收到请求,验证用户名和密码验证成功后,服务端会签发一个token,再把这个token返回给客户端客户端收到token后可以把它存储起来,比如放到cookie中客户端每次向服务端请求资源时需要携带服务端签发的token,可以在cookie或者header中携带服务端收到请求,然后去验证客户端请

    2022年5月11日
    40
  • 2048 Puzzle游戏攻略

    2048 Puzzle游戏攻略

    2022年1月2日
    63
  • elf格式分析

    elf格式分析

    2021年12月10日
    44
  • C++单向链表_C语言定义链表

    C++单向链表_C语言定义链表(C/C++)初识单向链表第一次写博客,如果写得不好请谅解,欢迎大佬们一起交流讨论。在我初学链表的时候,会觉得书上讲解十分抽象,理解到头炸,在通过做题的方式后,对链表又产生了新的认识和看法,使用链表的方式更加灵活了,通过这篇文章与大家分享一下单向链表的一些知识。本文章主要讲单向链表:-创建-输出-排序-插入-删除-清空

    2025年7月9日
    0
  • CountDownTimer_countdowntimer暂停

    CountDownTimer_countdowntimer暂停一,概述在项目开发中经常会用到倒计时这个功能,而Android也帮我们封装好了一个类CountDownTimer,给我们的开发带来了很大的方便;二,APICountDownTimer(longmillisInFuture,longcountDownInterval)参数1,设置倒计时的总时间(毫秒)参数2,设置每次减去多少毫秒123三,基本用法以App中获短信取验证码为例:pr…

    2022年9月18日
    2

发表回复

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

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