加密芯片介绍 加密芯片选择(加密IC) 加密芯片原理

article/2025/9/22 2:27:10

原文链接:https://blog.csdn.net/chengjian815/article/details/107516575

前端时间有研究多款加密芯片,加密算法实现,以及破解可能,也有一些个人的观点,仅供参考;

一,加密芯片的来源及工作流程:

市面上的加密芯片,基本都是基于某款单片机,使用I2C或SPI等通讯,使用复杂加密算法加密来实现的,流程大致如下:

主控芯片生成随机码 --> 主控芯片给加密芯片发送明文 --> 加密芯片通过加密算法对明文进行加密生成密文 --> 加密芯片返回密文给主控芯片 --> 主控芯片对密文进行解密生成解密值 --> 主控芯片对解密值与之前明文进行对比, 比较值一致则认证通过(认证不通过可进行关机操作);

(用户一般需要集成加密芯片商提供的解密库文件,调用指定库文件接口,来实现解密)

目前市面上的加密芯片种类繁多,从几毛钱到十几块钱价格不等;

二,不同类型加密芯片主要区别:

1)加密算法实现不同:各种加密芯片都是厂家根据需求选择自己偏好的加密算法,进行更改适配,或者直接使用自己自定义的算法进行加密,常见算法介绍及比较详见附录1;

2)封装不同,常见的加密芯片封装有:SOT-23-3,SOT23-6,SOP-8、SOIC-8等;根据板段的设计可选择不同的封装对应的芯片;

3)其他区别:传输协议(I2C、SPI、UART、或者厂家自定义协议)不同,认证速率可靠性不同,开发适配难度差异等;

三,加密芯片的应用:

加密芯片一般广泛应用于给电子产品,防止抄板防止破解,部分常用产品(相机,监控摄像头,儿童数码玩具,行车记录仪,游戏机教育机,执法记录仪,安防设备,平板电脑,对讲机,会议系统,以及其他各种系统电子产品,行业工控机等产品);

四,加密芯片破解的基本操作:

加密芯片破解,一般破解公司会通过抓取明文以及密文内容,通过读取大量不同的明文和密文值,进行算法分析和破解,当耗费大量时间经历将加密算法分析出来后,另选一个相同封装尺寸的加密芯片,集成破解算法后替换原有加密芯片;

备注:特别需要注意的是,明文的发送,建议使用真正的不可预知的随机数进行发送(如果每次都发送固定的几组明文,破解人员只需将该明文对应密文抓取出来,收到明文返回对应密文即可完成破解),建议在代码多个地方进行加密认证;在明文真正做到随机数的情况下,破解难度就取决于加密算法的复杂程度了;当然也会有其他更安全的因素可以提高破解风险,在此就不过多论述了;

五,加密芯片的如何选择(仅个人认为):

1)价钱:在产品量大情况下,建议选择便宜的加密芯片,大批量产品价格能够在一元一下会比较合适(当然越便宜越好);

2)安全性:不同加密芯片,主要却别在于所选单片机不一样,加密芯片开发人员不一样,加密方式实现的差异;只要加密芯片实现方式上没有很大漏洞,以及加密算法不过于简单,所选加密芯片基本会有一定安全性, 大品牌加密方式复杂但破解者也更多,相比而言亦不占优势,小品牌不知名加密芯片加密算法复杂性可能欠缺但无人破解,相对也会有一定安全性;

3)其他:①加密芯片最好选择有私有密钥的(这样针对不同客户的加密芯片就会有区别);②如果可能可以与加密芯片提供方要求,在原有加密算法基础上,集成一部分自己的数学运算进入到加密芯片算法内,以提高加密性;③如果对认证速率有要求最好选择认证速率相对较快的芯片,这样不会影响到开机速度和系统运行; 

之前使用过淘宝“CC020加密芯片”性价比相对较高(另一篇文章有介绍如何适配),对于加密芯片如何选择不做具体推荐,选择哪款加密芯片视个人情况进行筛选;

这个亲测可用。

(备注:以上为原著个人观点,转摘请标明出处)

//-------------------------------------------------------------------------------------------------

附录1)常见算法介绍及比较:

(算法介绍部分原文链接:https://blog.csdn.net/baidu_22254181/article/details/82594072)

A)其中市面常见的加密算法如下:

①MD5算法:MD5 用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来说,MD5 不是一种 加密算法 而是 摘要算法。无论是多长的输入,MD5 都会输出长度为 128bits 的一个串 (通常用 16 进制 表示为 32 个字符)。

②SHA1算法:SHA1 是和 MD5 一样流行的 消息摘要算法,对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景;

③HMAC算法:HMAC 是密钥相关的 哈希运算消息认证码(Hash-based Message Authentication Code),HMAC 运算利用 哈希算法 (MD5、SHA1 等),以 一个密钥 和 一个消息 为输入,生成一个 消息摘要 作为 输出。

④DES算法:DES 加密算法是一种 分组密码,以 64 位为 分组对数据 加密,它的 密钥长度 是 56 位,加密解密 用 同一算法。DES 加密算法是对 密钥 进行保密,而 公开算法,包括加密和解密算法。这样,只有掌握了和发送方 相同密钥 的人才能解读由 DES加密算法加密的密文数据。因此,破译 DES 加密算法实际上就是 搜索密钥的编码。对于 56 位长度的 密钥 来说,如果用 穷举法 来进行搜索的话,其运算次数为 2 ^ 56 次。

⑤3DES算法:是基于 DES 的 对称算法,对 一块数据 用 三个不同的密钥 进行 三次加密,强度更高。

⑥AES 加密算法是密码学中的 高级加密标准,该加密算法采用 对称分组密码体制,密钥长度的最少支持为 128 位、 192 位、256 位,分组长度 128 位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的 区块加密标准。AES 本身就是为了取代 DES 的,AES 具有更好的 安全性、效率 和 灵活性。

⑦RSA算法:RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案 之一。RSA 是第一个能同时用于 加密 和 数字签名 的算法,它能够 抵抗 到目前为止已知的 所有密码攻击,已被 ISO 推荐为公钥数据加密标准。

⑧ECC算法:

ECC 也是一种 非对称加密算法,主要优势是在某些情况下,它比其他的方法使用 更小的密钥,比如 RSA 加密算法,提供 相当的或更高等级 的安全级别。不过一个缺点是 加密和解密操作 的实现比其他机制 时间长 (相比 RSA 算法,该算法对 CPU 消耗严重)。

附图1_1:散列算法比较 :

附图1_2:对称加密算法比较  :

 

附图1_3:非对称加密算法比较: 

 


http://chatgpt.dhexx.cn/article/74QL6Lqa.shtml

相关文章

tesseract-ocr中文识别

Tesseract-OCR 是一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎。与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本…

【PC工具】更新在线图片文字识别工具,OCR免费文字识别工具

微信关注 “DLGG创客DIY” 设为“星标”,重磅干货,第一时间送达。 之前分享过两个windows上的OCR文字识别工具: 【PC工具】更新!windows图片文字识别软件,OCR免费文字识别工具 我经常用其中的PandaOCR,带截…

怎么在线识别图片文字?说一个思路

图片中的文字怎么在线识别?很多小伙伴在接收到图片类型的文件时,不知道怎么处理其中记录的信息。打字整理嫌麻烦怕出错的话,可以借助识别软件来处理,下面给大家介绍三种比较好用的工具,希望能解决你的问题。 方法一、在…

一款免费在线文字识别(OCR)工具

你一定遇到过以下一些场景。 学习工作中需要处理一些纸质文件、电子文档或图片资料,想对这些文字进行编辑整理,但很多文字不能直接复制,苦于一个字一个字手动打出来。 发现一段不错的文字想要做书摘笔记,但又懒得去打字或是手抄…

图片字符识别

程序员玩生死时速打字游戏-图片文字识别_哔哩哔哩bilibili 我的这个程序是识别图片中的字符,并且用键盘自动输出出来,从而达到模拟人按键的效果,进而来完成生死时速这个打字游戏,直接放代码: import math import time import pya…

python--识别图片中的文字

本篇文章主要参考了 python图像处理之识别图像中的文字 这篇文章,在实现的过程中出现了些偏差,特此记录。因为此时笔者不是第一次安装,所展示的结果会和首次安装的结果有所差别。 1.安装PIL 以管理员的身份打开命令提示符,输入&…

图片中文字的识别

主要用到tesseract这个工具,以及pytesseract和pillow两个库。 首先下载tesseract这个工具,下载地址: Index of /tesseracthttps://digi.bib.uni-mannheim.de/tesseract/ 根据自己电脑系统进行下载,下载后安装,安装的…

文字识别:Tesseract OCR

一、安装并配置Tesseract 1、下载Tesseract-OCR (网上直接下载即可) 2、双击安装,选择所有人均可使用,避免权限问题 勾选最后一项添加语言包,但是全部勾选需要1.3G,可以点开加号,选择自己所需的…

如何识别图片中的文字

工具/原料 http://jingyan.baidu.com/article/ae97a64699f19dbbfc461d47.html WPS办公软件 AJViewer文字识别软件 准备工作 1 下载软件 ① 在“百度搜索”中输入这2款软件的软件名进行下载。 ② 在“百度网盘”下载,地址是:http://pan.baidu.com/share/l…

免费在线图片识别文字工具

在平时工作中,经常会遇到这样的场景:将图片转为文字。如果只需处理一两张图片或者PDF,用键盘敲文字占用的时间也不会很长。如果文件非常多,用电脑把这些文字全部敲出来,太浪费时间了?有没有一款工具&#x…

图像文字识别

图像文字识别 (结尾附样例展示) 以下为与图像通用识别的 Python示例代码* #!/usr/bin/env python #codingutf-8from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.…

OCR文字识别

OCR定义和起源 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计…

图片识别文字

浏览链接:http://116.62.147.89:8081/OCRUtil/index.html 最终结果图: 如果已经有access_token,请直接跳到第6步 1,注册并登录百度 2,选择管理控制台 3,选择文字识别 4,选择创建应用 按要求填写…

识别图片文字怎么弄?我来教大家怎么识别图片中的文字

有时,我们需要从图片中提取文本以进行编辑或搜索。虽然手动转录是一种选项,但这是费时费力的工作,而且容易出错。为了解决这个问题,出现了各种各样的技术和工具,可以帮助我们自动识别图片中的文字。在本文中&#xff0…

如何识别图片文字?这几个方法助你轻松搞定

你是否有遇到过这样的经历?收到了领导发来的一份资料,但是很多是图片格式,而我们需要用到图片中的文字内容,这时你会怎么解决呢?如果使用传统的方法,一字一句打出来的话,无疑会增加我们的工作。…

navicat12简体中文专业版免费使用教程

1、Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。本教程绝对可用,不像其他的都是大多数搬运别人的文章,也不试试能不能用,简直是浪费大家的…

实测可用 Navicat Premium 12破解解决方案

1.下载安装 64位简体中文版https://pan.baidu.com/share/init?surlk9dYays0z7EdOVNgDS_bQw 提取码:7w9a 2.安装上面版本 3.下载破解补丁https://pan.baidu.com/s/19ct4Afc3bTPdTa35Pldvqg 提取码:r2e5 开始破解: 一.选择补丁版本 简体…

工具篇:Navicat-12版本破解安装

Navicat 12 破解方式,亲测有效 方法如下: 先安装 navicat的exe包将简体中文63位里面的两个文件复制到navicat的安装根目录打开软件,开始会提示你试用到1899年,以后点击试用,就可以一直试用了。就是这么简单。 上面提…

Day15_08_Navicat for MySQ中文破解版(无需激活码)安装教程

Navicat for MySQ中文安装教程 一. 下载中文pojieban Navicat for MySQ 链接: https://pan.baidu.com/s/1DO8yJnvTfBndZJ6Hprr7Og 提取码: ik7d 二. 解压下载后的文件 文件中有两个.exe文件,点击navicat111_mysql_cs_x64.exe 进行安装 三. 点击PatchNavicat.exe选择安装Nav…

Navicat for MySQ中文破解版(无需激活码)

Navicat for MySQ中文破解版(无需激活码) 转载自:https://blog.csdn.net/a599174211/article/details/82795658 1、下载破解版Navicat for MySQ中文破解版 2、解压下载后的文件有两个.exe文件,点navicat111_mysql_cs_x64.exe 进行安装 3、安…