请选择 进入手机版|继续访问电脑版
返回列表 发新帖回复

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

[复制链接] 【【【进入图片模式】】】
  • TA的每日心情
    开心
    2017-5-24 10:40
  • 1

    主题

    1

    帖子

    20

    积分

    学徒

    Rank: 1

    积分
    20
    发表在  2017-8-10 13:53:41  | 显示全部楼层 | 阅读模式
    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等算法横向对比。

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

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


    回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    发表新帖 客服
    微信

    微信公众号

    微信二维码
    最优秀的创意分享平台

    客户端

    移动端

    手机端二维码
    扫码立即穿越至手机

    回到顶部
    快速回复 返回顶部 返回列表