一种分组密码防攻击的加解密方法和装置的制造方法

文档序号:9615101阅读:310来源:国知局
一种分组密码防攻击的加解密方法和装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域中信息安全技术领域,具体地,涉及分组密码防攻击的加解 密的方法和装置。
【背景技术】
[0002] 随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的 需求越来越强烈。特别地,随着Internet的广泛应用,信息安全问题显得越来越重要。解决 上述问题的有效手段之一是使用现代密码技术,各种密码算法不断出现。分组密码算法是 一种最常用的加密手段,分组密码算法具有速度快、易于标准化和便于软硬件实现等特点, 通常是信息安全中实现数据加密、消息鉴别和认证的核心密码算法。目前,比较流行的分组 密码算法包括DES算法、AES算法等。
[0003] 随着信息安全问题日益受到人们的关注,对密码算法的各种分析和攻击方法也不 断出现。故障攻击是近年来出现的一种强有力的攻击方法。它的基本原理是将密码芯片置 于强磁场中,或者改变芯片的电源电压、工作频率、温度等,使密码芯片中的寄存器、存储器 在加解密过程中产生随机错误,某些输出比特从原来的〇变成1或1变成0。通过对正确密 码输出和错误密码输出的差分比较,经过理论分析,就可得出芯片内部的密码数据信息。
[0004] 分组密码常见的防故障攻击的方法包括:对同一数据进行多次运算,比较多次运 算的结果是否一致;对某数据进行正常运算后,对运算结果进行逆运算,比较逆运算结果与 原始输入数据是否一致。
[0005] 如图1所示,如果攻击者在对明文P进行第一次正常运算时注入故障,那么该第一 次正常运算输出的结果C即为错误的结果,对明文P进行第二次正常运算时输出的结果C' 为正确的结果,此时C古C' ;然后将结果C与结果C'进行比较,即判定C与C'是否相等, 并在该结果比较时再次注入故障,由于故障的注入,存在将"C古C'"攻击成"C = C'"的可 能。如果注入故障将"C古C' "攻击成"C = C' ",则比较结果输出为错误结果C (或C')。 攻击者获得该错误结果C (或C'),加上另外之前已获得的正确结果C',就能够获得有用的 故障信息,从而获得敏感信息。
[0006] 同理,如果攻击者在对明文P进行第一次正常运算时未注入故障,对明文P进行第 二次正常运算时注入故障,与上述情况类似,攻击者仍就能够获得错误结果C'(或C),加上 另外之前已获得的正确结果C,就能够获得有用的故障信息,从而获得敏感信息。

【发明内容】

[0007] 本发明是为了克服现有技术中分组密码在防止攻击时安全性较低的缺陷,根据本 发明的一个方面,提出一种分组密码防攻击的加密方法。
[0008] 根据本发明实施例的分组密码防攻击的加密方法,包括:
[0009] 接收需加密的明文P,对明文P进行两次正常加密运算,输出正确加密结果;
[0010] 在进行正常加密运算时,正常加密运算过程被一次或两次注入故障,输出错误加 ?结果;
[0011] 正确加密结果和错误加密结果输入F函数后,输出攻击者无法利用的无效结果。
[0012] 本发明是为了克服现有技术中分组密码在防止攻击时安全性较低的缺陷,根据本 发明的另一个方面,提出一种分组密码防攻击的加密装置。
[0013] 根据本发明实施例的分组密码防攻击的加密装置,包括:
[0014] 加密运算模块,用于接收需加密的明文P,对明文P进行两次正常加密运算,输出 正确加密结果;
[0015] 故障接收模块,用于在进行正常加密运算时,接收正常加密运算过程被一次或两 次注入的故障,输出错误加密结果;
[0016] 结果输出模块,用于正确加密结果和错误加密结果输入F函数后,输出攻击者无 法利用的无效结果。
[0017] 本发明实施例公开了一种分组密码防攻击的加密方法和装置,在进行第一次和/ 或第二次正常加密运算时被注入故障,并将第一次正常加密运算输出的加密结果与第二次 正常加密运算输出的加密结果输入到F函数中,减少了将两次正常加密运算结果进行比较 的步骤,最后由F函数输出攻击者无法利用的无效结果,有效的抵抗了对分组密码算法的 双点攻击,提高了分组密码算法加密过程的安全性。
[0018] 本发明是为了克服现有技术中分组密码在防止攻击时安全性较低的缺陷,根据本 发明的一个方面,提出一种分组密码防攻击的解密方法。
[0019] 根据本发明实施例的分组密码防攻击的解密方法,包括:
[0020] 接收需解密的密文P,对密文P进行两次正常解密运算,输出正确解密结果;
[0021] 在进行正常解密运算时,正常加密运算过程被一次或两次注入故障,输出错误解 ?结果;
[0022] 正确解密结果和错误解密结果输入F函数后,输出攻击者无法利用的无效结果。
[0023] 本发明是为了克服现有技术中分组密码在防止攻击时安全性较低的缺陷,根据本 发明的一个方面,提出一种分组密码防攻击的解密装置。
[0024] 根据本发明实施例的分组密码防攻击的解密装置,包括:
[0025] 解密运算模块,用于接收需解密的密文Ρ,对密文Ρ进行两次正常解密运算,输出 正确解密结果;
[0026] 故障接收模块,用于在进行正常解密运算时,接收正常加密运算过程被一次或两 次注入的故障,输出错误解密结果;
[0027] 结果输出模块,用于正确解密结果和错误解密结果输入F函数后,输出攻击者无 法利用的无效结果。
[0028] 本发明实施例公开了一种分组密码防攻击的解密方法和装置,在进行第一次和/ 或第二次正常解密运算时被注入故障,并将第一次正常解密运算输出的解密结果与第二次 正常解密运算输出的解密结果输入到F函数中,减少了将两次正常解密运算结果进行比较 的步骤,最后由F函数输出攻击者无法利用的无效结果,有效的抵抗了对分组密码算法的 双点攻击,提高了分组密码算法解密过程的安全性。
[0029] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0030] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0031] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0032] 图1为现有技术中对分组密码进行故障攻击的流程故障攻击的流程示意图;
[0033] 图2为本发明分组密码防攻击的加密方法实施例1的流程图;
[0034] 图3为本发明分组密码防攻击的加密方法实施例2的流程图;
[0035] 图4为本发明分组密码防攻击的加密方法实施例3的流程图;
[0036] 图5为本发明分组密码防攻击的加密方法实施例4的流程图;
[0037] 图6为本发明分组密码防攻击的解密方法实施例1的流程图;
[0038] 图7为本发明分组密码防攻击的解密方法实施例2的流程图;
[0039] 图8为本发明分组密码防攻击的解密方法实施例3的流程图;
[0040] 图9为本发明分组密码防攻击的解密方法实施例4的流程图;
[0041] 图10为本发明分组密码防攻击的加密装置实施例的结构图;
[0042] 图11为本发明分组密码防攻击的解密装置实施例的结构图。
【具体实施方式】
[0043] 下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保 护范围并不受【具体实施方式】的限制。
[0044] 本发明的发明人在分析和研究上述现有技术中发现,在运行分组密码算法进行加 密或解密运算过程中,如果检测到有故障注入,芯片不宜输出错误的运算结果,否则攻击者 就可以利用错误的运算结果进行差分故障攻击。本发明实施例提供了一种分组密码防攻击 的方法,当运算过程中有故障注入时不输出错误运算结果,而是输出对于攻击者来说无法 利用的无效结果。
[0045] 如果第一次正常运算未被注入故障,第二次正常运算被注入故障,该无效结果是 正确的第一次正常运算结果C与错误的第二次正常运算结果C'经过某个F函数处理后的 运算结果。
[0046] 如果第一次正常运算被注入故障,第二次正常运算未被注入故障,该无效结果是 错误的第一次正常运算结果C与正确的第二次正常运算结果C'经过某个F函数处理后的 运算结果。
[0047] 如果第一次正常运算被注入故障,第二次正常运算也被注入故障,该无效结果是 错误的第一次正常运算结果C与错误的第二次正常运算结果C'经过某个F函数处理后的 运算结果。
[0048] 如图2所示,本发明实施例公开了一种分组密码防攻击的加密方法,包括:
[0049
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1