加密芯片——摘要算法特点与应用注意事项
来源:互联网 发布:皇室战争数据 编辑:程序博客网 时间:2024/06/06 05:39
Hash摘要算法是密码学算法中非常重要的一个分支,很多时候Hash也被称作散列算法。通俗来讲,它实现了如下功能:输入不同长度、不同内容的数据,经运算后生成长度固定内容唯一的数据。因其对输入长度无限制、摘要结果唯一且不可逆的特性,被广泛应用于数字签名、数据完整性校验等领域。起到防抵赖、防篡改的功能。
Hash只是摘要算法的统称,符合该特性的算法有多种,包括CRC32、MD5,SHA1等。CRC32算法出现时间较长,应用十分广泛,虽然其运算速度快,但其摘要值为4字节(32位),在当今大数据时代略显不够,出现摘要结果碰撞的可能性变大。SHA-1与MD5的最大区别在于其摘要比MD5摘要长32比特。对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:SHA-1要高于MD5。产生具有相同摘要的两个报文的难度:SHA-1也是要高于MD5。即SHA-1的抗攻击性更强。因此虽然SHA-1的运行速度比MD5稍慢,但我们更推荐使用SHA-1进行数据摘要运算。
LKT绝大多数加密都自带SHA-1算法,我们并非一定要按照标准数字签名那样使用SHA-1算法,如果是版权保护防抄板的客户,可以利用SHA-1对线路传输数据做防篡改保护,举例证明:MCU和加密芯片分别预置8字节密钥KEY,MCU端还需要移植SHA-1算法(凌科芯安可提供源码)。当MCU要发送指令112233给加密芯片。发送前先对112233 + KEY进行SHA-1运算生成20字节数据A,然后将112233+A(注意不包含KEY)发送给加密芯片。后者接收到数据后,使用内部自带的SHA-1接口对接收到的112233+KEY进行摘要获得20字节数据B,如果A等于B,则证明MCU发来的112233为原始值,没有被篡改。然后再对112233进行解析并应用到程序下一步运行中。加密芯片返回数据的时候,也可以做同样操作,这样MCU也可对接收到的数据做防篡改判断。
如果数据加解密需求的客户要应用SHA-1算法就更为简单了,我们COS指令类的加密芯片,同样支持SHA-1算法,受加密芯片通讯协议的限制,用户每次最多能传输255字节数据,因此大于255字节的数据要分次传入加密芯片中,后者实时计算临时摘要结果并丢弃输入数据,因此不必担心芯片内存溢出的问题。
还有最后一点要提醒大家,SHA-1和其他摘要算法一样,它并不是加密算法,所以不要拿它与3DES、AES、RSA等算法横向对比。
- 加密芯片——摘要算法特点与应用注意事项
- 加密芯片——摘要算法特点与应用注意事项
- 加密芯片——AES算法特点与应用注意事项
- 加密芯片——RSA算法特点与应用注意事项
- 加密芯片——3DES算法特点与应用注意事项
- Imooc_Java实现消息摘要算法加密_4-1 消息摘要算法MAC实现与应用
- 单向加密——JAVA消息摘要算法使用
- 数据加密、摘要算法
- 消息摘要算法加密
- 消息摘要算法MAC实现与应用
- Java加密与解密的艺术-消息摘要算法
- Java加密与解密学习记录03-消息摘要算法
- java消息摘要算法加密
- MD5Util (MD5加密摘要算法)。
- AES加密、MD5摘要算法
- java消息摘要算法加密
- java消息摘要算法加密
- Java消息摘要算法加密
- Apache笔记
- 通过腾讯shuffle部署对shuffle过程进行详解
- Listener学习笔记-- day01 监听器的使用
- 怎么转载CSDN博客
- Caffe tutorial 之 前向与反向传播
- 加密芯片——摘要算法特点与应用注意事项
- pyhon 打包命令 笔记
- ItemDecoration解析(一) getItemOffsets
- Round 2 C
- cocoapods找不到第三方库Unable to find a pod with name, author, summary, or descriptionmatching
- 水题 第四站 HDU 1003 Max Sum
- Python爬虫实战——签名软件设计(一)python POST模拟网页按钮点击
- 用 Doc2Vec 得到文档/段落/句子的向量表达
- ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)