linksafe的个人空间 https://www.eechina.com/space-uid-39858.html [收藏] [复制] [分享] [RSS]

博客

加密芯片的摘要算法特点与应用注意事项

热度 7已有 951 次阅读2017-7-13 15:03 | 加密芯片, 摘要算法

Hash摘要算法是密码学算法中非常重要的一个分支,很多时候Hash也被称作散列算法。通俗来讲,它实现了如下功能:输入不同长度、不同内容的数据,经运算后生成长度固定内容唯一的数据。因其对输入长度无限制、摘要结果唯一且不可逆的特性,被广泛应用于数字签名、数据完整性校验等领域。起到防抵赖、防篡改的功能。

Hash只是摘要算法的统称,符合该特性的算法有多种,包括CRC32MD5SHA1等。CRC32算法出现时间较长,应用十分广泛虽然其运算速度快,但其摘要值为4字节(32位)在当今大数据时代略显不够,出现摘要结果碰撞的可能性变大。SHA-1MD5的最大区别在于其摘要比MD5摘要长32 比特。对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:SHA-1要高于MD5。产生具有相同摘要的两个报文的难度:SHA-1也是要高于MD5SHA-1的抗攻击性更强。因此虽然SHA-1的运行速度比MD5稍慢,但我们更推荐使用SHA-1进行数据摘要运算。

LKT绝大多数加密都自带SHA-1算法,我们并非一定要按照标准数字签名那样使用SHA-1算法,如果是版权保护防抄板的客户,可以利用SHA-1对线路传输数据做防篡改保护,举例证明:MCU和加密芯片分别预置8字节密钥KEYMCU端还需要移植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和其他摘要算法一样,它并不是加密算法,所以不要拿它与3DESAESRSA等算法横向对比。


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (8 个评论)

回复 小屁孩123 2017-7-14 17:07
按照楼主说的,Hash摘要算法不是加密算法,那他是单向运算的吗?
回复 Test_wf 2017-7-17 09:23
对啊。Hash摘要算法主要是防抵赖、防篡改的功能。
回复 wang0327 2017-7-21 16:38
摘要算法主要应用在哪里?
回复 kessy1 2017-7-22 20:13
主要适用于数字签名。数字签名内容较多,这里无法详细介绍,可以自己上网查,网上有很多。
回复 tyl2010 2017-7-26 20:29
怎么实现防抵赖、防篡改的功能?
回复 miniminimini 2017-7-27 10:30
摘要算法对于消息会产生一个固定长度的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。只有比对摘要,即可判断消息是否发生改变
回复 Mr.Wang 2017-7-28 09:39
楼主介绍了几种摘要算法,CRC32、MD5,SHA1,这是目前常用的吗?在这几种里,SHA1最好是吧?
回复 linksafe 2017-7-28 15:13
对,是常用的。现在还有SHA256,比SHA1更安全。

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部