加密芯片的摘要算法特点与应用注意事项 点击:606 | 回复:9



xiaoxiaosafe

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 6回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2016年1月08日
发表于:2017-07-13 15:12:52
楼主

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等算法横向对比。



楼主最近还看过



Nic_浩

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2016年8月25日
发表于:2017-07-14 17:13:50
1楼

按照楼主说的,Hash摘要算法不是加密算法,那他是单向运算的吗?

grayly

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 51回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2016年1月27日
发表于:2017-07-17 09:14:38
2楼

回复内容:

对:Nic_浩 按照楼主说的,Hash摘要算法不是加密算法,那他是单向运算的吗?     内容的回复:

对啊。Hash摘要算法主要是防抵赖、防篡改的功能。

114W1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 36回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2016年8月29日
发表于:2017-07-21 16:40:20
3楼

摘要算法主要应用在哪里?

邓女士

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2017年3月17日
发表于:2017-07-22 20:16:24
4楼

回复内容:

对:114W1 摘要算法主要应用在哪里?     内容的回复:

主要适用于数字签名。数字签名内容较多,这里无法详细介绍,可以自己上网查,网上有很多。

淡淡烟草味

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2017年7月26日
发表于:2017-07-26 20:51:10
5楼

怎么实现防抵赖、防篡改的功能?

淡淡烟草味

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2017年7月26日
发表于:2017-07-26 20:51:38
6楼

怎么实现防抵赖、防篡改的功能?

miniminimini

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2016年7月25日
发表于:2017-07-27 10:32:21
7楼

摘要算法对于消息会产生一个固定长度的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。只有比对摘要,即可判断消息是否发生改变。


MrWwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2016年8月05日
发表于:2017-07-28 09:27:30
8楼

回复内容:

对:miniminimini 摘要算法对于消息会产生一个固定长度的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。只有比对摘要,即可判断消息是否发生改变。     内容的回复:

楼主介绍了几种摘要算法,CRC32,MD5,SHA1,在这几种里,SHA1最好是吧?

xiaoxiaosafe

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 6回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2016年1月08日
发表于:2017-07-28 15:14:16
9楼

对,是常用的。现在还有SHA256,比SHA1更安全。


热门招聘
相关主题

官方公众号

智造工程师