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

文档序号:9615101阅读:来源:国知局
] 步骤201 :明文P输入到加密模块中,进行第一次正常加密运算,同时,本步骤被注 入故障,故输出的是错误加密结果C ;
[0050] 步骤203 :同一明文P再次输入到加密模块中,进行第二次正常加密运算,输出的 是正确加密结果c' ;
[0051] 步骤205 :将步骤201中的错误加密结果C和步骤203中的正确加密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C古C',故输出运算结果为攻击者无法利 用的无效结果;
[0052] 对于不同的分组算法,F函数的表达式不同,本说明书以下列表达式进行实施例说 明,但F函数的表达式应不限于下列表达式。
[0053] 以DES算法为例,加密结果C由L和R两部分组成,加密结果C'由L'和R'两部 分组成,即C = L||R,C' =L' ||R',则F函数可以定义为:
[0055] 在步骤205中,F函数既可以被注入故障,也可以不被注入故障。由于上述F函数 的存在,故无论是否被注入故障,上述F函数输出的运算结果都为攻击者无法利用的无效 结果。
[0056] 步骤207 :对明文P进行加密运算,输出攻击者无法利用的无效结果Y。
[0057] 图2实施例公开了一种分组密码防攻击的加密方法,在进行第一次正常加密运算 时被注入故障,并将被注入故障的第一次正常加密运算输出的错误加密结果与第二次正常 加密运算输出的正确加密结果输入到F函数中,减少了将两次正常加密运算结果进行比较 的步骤,最后由F函数输出攻击者无法利用的无效结果,有效的抵抗了对分组密码算法的 双点攻击,提高了分组密码算法加密过程的安全性。
[0058] 如图3所示,本发明实施例公开了另一种分组密码防攻击的加密方法,包括:
[0059] 步骤301 :明文P输入到加密模块中,进行第一次正常加密运算,输出的是正确加 ?结果C ;
[0060] 步骤303 :同一明文Ρ再次输入到加密模块中,进行第二次正常加密运算,同时,本 步骤被注入故障,故输出的是错误加密结果C' ;
[0061] 步骤305 :将步骤301中的正确加密结果C和步骤303中的错误加密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C古C',故输出运算结果为攻击者无法利 用的无效结果;
[0062] 对于不同的分组算法,F函数的表达式不同。
[0063] 以DES算法为例,加密结果C由L和R两部分组成,加密结果C'由L'和R'两部 分组成,即C = L||R,C' =L' ||R',则F函数可以定义为:
[0065] 在步骤305中,F函数既可以被注入故障,也可以不被注入故障。由于上述F函数 的存在,故无论是否被注入故障,上述F函数输出的运算结果都为攻击者无法利用的无效 结果。
[0066] 步骤307 :对明文P进行加密运算,输出攻击者无法利用的无效结果Y。
[0067] 图3实施例公开了一种分组密码防攻击的加密方法,在进行第二次正常加密运算 时被注入故障,并将被注入故障的第二次正常加密运算输出的错误加密结果与第一次正常 加密运算输出的正确加密结果输入到F函数中,减少了将两次正常加密运算结果进行比较 的步骤,最后由F函数输出攻击者无法利用的无效结果,有效的抵抗了对分组密码算法的 双点攻击,提高了分组密码算法加密过程的安全性。
[0068] 如图4所示,本发明实施例公开了第三种分组密码防攻击的加密方法,包括: [0069] 步骤401 :明文P输入到加密模块中,进行第一次正常加密运算,同时,本步骤被注 入故障,故输出的是错误加密结果C ;
[0070] 步骤403 :同一明文P再次输入到加密模块中,进行第二次正常加密运算,同时,本 步骤被注入故障,故输出的也是错误加密结果C' ;
[0071] 步骤405 :将步骤401中的错误加密结果C和步骤403中的错误加密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C古C',故输出运算结果为攻击者无法利 用的无效结果;
[0072] 对于不同的分组算法,F函数的表达式不同。
[0073] 以DES算法为例,加密结果C由L和R两部分组成,加密结果C'由L'和R'两部 分组成,即C = L||R,C' =L' ||R',则F函数可以定义为:
[0075] 在步骤405中,F函数既可以被注入故障,也可以不被注入故障。由于上述F函数 的存在,故无论是否被注入故障,上述F函数输出的运算结果都为攻击者无法利用的无效 结果。
[0076] 步骤407 :对明文P进行加密运算,输出攻击者无法利用的无效结果Y。
[0077] 图4实施例公开了第三种分组密码防攻击的加密方法,在进行第一次和第二次正 常加密运算时都被注入故障,并将被注入故障的第一次正常加密运算输出的错误加密结果 与同样被注入故障的第二次正常加密运算输出的错误加密结果输入到F函数中,减少了将 两次正常加密运算结果进行比较的步骤,最后由F函数输出攻击者无法利用的无效结果, 有效的抵抗了对分组密码算法的双点攻击,提高了分组密码算法加密过程的安全性。
[0078] 如图5所示,本发明实施例公开了第四种分组密码防攻击的加密方法,包括:
[0079] 步骤501 :明文P输入到加密模块中,进行第一次正常加密运算,输出的是正确加 ?结果C ;
[0080] 步骤503 :同一明文Ρ再次输入到加密模块中,进行第二次正常加密运算,输出的 也是正确加密结果C' ;
[0081] 步骤505 :将步骤501中的正确加密结果C和步骤503中的正确加密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C = C',故输出运算结果为正确的加密运 算结果;
[0082] 在步骤505中,F函数既可以被注入故障,也可以不被注入故障。如果F函数未被 注入故障,F函数输出的运算结果为正确的加密运算结果,如果F函数被注入故障,如上述 实施例一样,F函数同样将输出攻击者无法利用的无效结果。
[0083] 步骤507 :对明文P进行加密运算,输出正确的加密运算结果。
[0084] 图5实施例公开了一种分组密码防攻击的加密方法,在进行两次正常加密运算时 都未被注入故障,并将两次正常加密运算的正确加密结果输入到F函数中,由F函数输出正 确的加密运算结果,有效的抵抗了对分组密码算法的双点攻击,提高了分组密码算法加密 过程的安全性。
[0085] 如图6所示,本发明实施例公开了一种分组密码防攻击的解密方法,包括:
[0086] 步骤601 :密文P输入到解密模块中,进行第一次正常解密运算,同时,本步骤被注 入故障,故输出的是错误解密结果C ;
[0087] 步骤603 :同一密文P再次输入到解密模块中,进行第二次正常解密运算,输出的 是正确解密结果C' ;
[0088] 步骤605 :将步骤601中的错误解密结果C和步骤603中的正确解密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C古C',故输出运算结果为攻击者无法利 用的无效结果;
[0089] 对于不同的分组算法,F函数的表达式不同,本说明书以下列表达式进行实施例说 明,但F函数的表达式应不限于下列表达式。
[0090] 以DES算法为例,解密结果C由L和R两部分组成,解密结果C'由L'和R'两部 分组成,即C = L||R,C' =L' ||R',则F函数可以定义为:
[0092] 在步骤605中,F函数既可以被注入故障,也可以不被注入故障。由于上述F函数 的存在,故无论是否被注入故障,上述F函数输出的运算结果都为攻击者无法利用的无效 结果。
[0093] 步骤607 :对密文P进行解密运算,输出攻击者无法利用的无效结果Y。
[0094] 图6实施例公开了一种分组密码防攻击的解密方法,在进行第一次正常解密运算 时被注入故障,并将被注入故障的第一次正常解密运算输出的错误解密结果与第二次正常 解密运算输出的正确解密结果输入到F函数中,减少了将两次正常解密运算结果进行比较 的步骤,最后由F函数输出攻击者无法利用的无效结果,有效的抵抗了对分组密码算法的 双点攻击,提高了分组密码算法解密过程的安全性。
[0095] 如图7所示,本发明实施例公开了另一种分组密码防攻击的解密方法,包括:
[0096] 步骤701 :密文P输入到解密模块中,进行第一次正常解密运算,输出的是正确解 ?结果C ;
[0097] 步骤703 :同一密文Ρ再次输入到解密模块中,进行第二次正常解密运算,同时,本 步骤被注入故障,故输出的是错误解密结果C' ;
[0098] 步骤705 :将步骤701中的正确解密结果C和步骤703中的错误解密结果C'输入 F函数,该函数的输出为Y ;F函数通过判定得知,C古C',故输出运算结果为攻击者无法利 用的无效结果;
[009
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1