带组合反馈的分组密码算法工作方法、设备及存储介质技术

技术编号:37390161 阅读:24 留言:0更新日期:2023-04-27 07:28
本发明专利技术提供了带组合反馈的分组密码算法工作方法,加密时,将前一明文加密结果与前一加密过程产生的反馈变量输入组合反馈函数,得到当前加密过程所需的反馈变量,将得到的反馈变量与当前明文异或运算后进行加密处理,得到当前明文加密后的密文;解密时,将前一密文与前一解密过程产生的反馈变量输入组合反馈函数,得到当前解密过程所需的反馈变量,对当前密文进行解密处理,将解密处理得到的结果与反馈变量进行异或运算,得到当前密文解密后的明文;其中,首次加密或解密时所需要的反馈变量根据需求设定即可。本发明专利技术具有基于不重复Nonce的CPA安全性和BW

【技术实现步骤摘要】
带组合反馈的分组密码算法工作方法、设备及存储介质


[0001]本专利技术涉及通信加密
,特别涉及一种带组合反馈的分组密码算法工作方法、设备及存储介质。

技术介绍

[0002]分组密码算法(Block Cipher)作为对称密码中的核心算法之一,具有加解密速度快且易于软硬件实现等特点,通常由加密算法、解密算法和密钥生成算法组成。在实际应用中,一般需要加密的明文并非固定长度或单个数据分块,需要使用分组密码算法工作模式(Block Cipher Mode of Operation)来加密实际应用中的数据。分组密码算法工作模式是一种典型的对称加密方案,包括加解密模式、认证模式、认证加密模式、杂凑模式、随机数发生器模式、磁盘扇区加密模式、密钥封装模式、保留数据格式模式等,利用分组密码的这些算法工作模式可以调用分组密码算法处理任意长度的消息,实现机密性、认证性、完整性、随机数(或随机数序列)派生等密码功能,如实现机密性的加密模式、实现完整性的认证模式、以及同时实现机密性和完整性的认证加密模式等。
[0003]分组密码算法工作模式在满足应用性的同时,必须保证安全性。对分组密码算法的加密工作模式,主要考虑常规攻击模型和逐分组攻击模型两种情形。在常规的选择明文攻击模型(Chosen

Plaintext Attack,以下简称CPA)下,密码方案所处理的消息都是作为一个整体一次性提交的,但在一些实际在线应用中,消息的提交和处理是逐分组进行的。比如在实时应用中,由于实时事件的随机性和系统工作状态的不确定性,处理消息无法整体一次性提交;或者一些资源受限的密码设备(如智能卡),在处理长消息时,因设备自身的存储空间有限,需将长消息分段处理。需要注意的是,这类在线处理消息的应用场景导致了一类新的攻击方式——逐分组攻击。与常规攻击模型相比,逐分组攻击模型下的敌手可以在一次询问过程中控制消息以逐分组方式输入并获得应答。以逐分组适应的选择明文攻击(BlockWise adaptive Chosen

Plaintext Attack,以下简称BW

CPA)为例,敌手在进行加密询问时可以逐分组提交消息,这一能力是常规攻击模型下敌手没有的。逐分组攻击模型和密码方案的在线实现方式密切关联,从具体实现的角度分析,若密码方案无法抵抗逐分组攻击,则其不能被应用于实时系统、资源受限设备等消息在线处理的应用场景。
[0004]从具体应用角度来看,现有的BC模式的实用性和安全性受限,例如其IV值不能作为Nonce使用,尽管BC模式的链式结构具有在线特性,但其以在线方式实现是不安全的,不能应用于在线消息处理应用场景等。针对加密工作模式依赖于IV值的随机性这一点,Rogaway采用的思路是使用了两个密钥,其中一个密钥先用于加密Nonce值,所得密文作为反馈变量(The Feedback)的初始值使用,另一个密钥则用作明文消息处理时加密密钥。这样的改造使得模式的运行效率与原模式接近,但该方法所需的密钥量大,且不能抵抗BW

CPA。针对不能抵抗BW

CPA的问题,Fouque等人提出了一个通用方法——将密文输出延迟一个分组,并证明了能够抵抗BW

CPA。但该方法得到的新模式安全性仍然依赖于IV值的随机性,且可能降低了应用系统的响应效率。

技术实现思路

[0005]针对现有技术中存在的问题,提供了一种带组合反馈的分组密码算法工作方法、设备及存储介质,对BC加密模式进行了改进,基于加密Nonce的安全性增强设计、XE结构和组合反馈函数等策略及设计方法,对现有CbF组合反馈函数不降低安全性的同时进行了轻量化设计。
[0006]本专利技术采用的技术方案如下:带组合反馈的分组密码算法工作方法,
[0007]加密时,将前一明文加密结果与前一加密过程产生的反馈变量输入组合反馈函数,得到当前加密过程所需的反馈变量,将得到的反馈变量与当前明文异或运算后进行加密处理,得到当前明文加密后的密文;
[0008]解密时,将前一密文与前一解密过程产生的反馈变量输入组合反馈函数,得到当前解密过程所需的反馈变量,对当前密文进行解密处理,将解密处理得到的结果与反馈变量进行异或运算,得到当前密文解密后的明文;
[0009]首次加密或解密时所需要的反馈变量根据需求设定即可。
[0010]进一步的,所述组合反馈函数为ρ(F,C)=(I1,I2),其中F为输入的反馈变量,C为输入的密文,I1为用于与明文异或运算的反馈变量,I2为用于下一加密或解密过程输入组合反馈函数的反馈变量;
[0011]对于I1∈{0,1}
n
,I2∈{0,1}
n
,组合反馈函数ρ(F,C)=(I1,I2)的具体运算为:
[0012][0013][0014]其中,函数S(W)满足W

S(W)和均为双射,特殊的运算实例为:令W=(w0||w1||

||

w
n
‑1)∈{0,1}
n
,则
[0015][0016]进一步的,加密过程具体为:
[0017]步骤1、设定初始反馈变量FB1与F1,对明文P
i
进行加密,i=1...m;i初始取值为1;
[0018]步骤2、对反馈变量FB
i
与明文P
i
进行异或处理,再进行加密得到加密结果C
i

[0019]步骤3、若i<m,则将加密结果C
i
与反馈变量F
i+1
输入至组合反馈函数中,得到下一加密过程反馈变量FB
i+1
、F
i+1
,i值加1;否则直接输出加密结果;重复步骤2

步骤3,得到所有明文加密结果。
[0020]进一步的,解密过程具体为:
[0021]步骤1、设定初始反馈变量FB1与F1,对明文Ci进行解密,i=1

m;i初始取值为1;
[0022]步骤2、对密文C
i
解密,并将解密结果与反馈变量FB
i
进行异或得到明文;
[0023]步骤3、若i<m,则密文C
i
与反馈变量F
i
输入至组合反馈函数中,得到下一解密过程反馈变量FB
i+1
、F
i+1
,i值加1;否则直接输出加密结果;重复步骤2

步骤3,得到所有明文。
[0024]进一步的,加密和解密过程组合反馈函数具体为:
[0025][0026]其中,ρ为组合反馈函数,F
i
为输入的反馈变量,C
i
为输入的加密结果;为输出的反馈变量FB
i+1
,为输出的反馈变量F
i+1

[0027]本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.带组合反馈的分组密码算法工作方法,其特征在于,加密时,将前一明文加密结果与前一加密过程产生的反馈变量输入组合反馈函数,得到当前加密过程所需的反馈变量,将得到的反馈变量与当前明文异或运算后进行加密处理,得到当前明文加密后的密文;解密时,将前一密文与前一解密过程产生的反馈变量输入组合反馈函数,得到当前解密过程所需的反馈变量,对当前密文进行解密处理,将解密处理得到的结果与反馈变量进行异或运算,得到当前密文解密后的明文;其中,首次加密或解密时所需要的反馈变量根据需求设定即可。2.根据权利要求1所述的带组合反馈的分组密码算法工作方法,其特征在于,所述组合反馈函数为ρ(F,C)=(I1,I2),其中F为输入的反馈变量,C为输入的密文,I1为用于与明文异或运算的反馈变量,I2为用于下一加密或解密过程输入组合反馈函数的反馈变量;对于I1∈{0,1}
n
,I2∈{0,1}
n
,组合反馈函数ρ(F,C)=(I1,I2)的具体运算为:)的具体运算为:其中,函数S(W)满足W

S(W)和均为双射,特殊的运算实例为:令W=(w0||w1||

||w
n
‑1)∈{0,1}
n
,则3.根据权利要求2所述的带组合反馈的分组密码算法工作方法,其特征在于,加密过程具体为:步骤1、设定初始反馈变量FB1与F1,对明文P
i
进行加密,i=1

m;i初始取值为1;步骤2、对反馈变量FB
i
与明文P
i
进行异或处理,再进行加密得到加密结果C
i
;步骤3、若i<m,则将加密结果C
i
与反馈变量F

【专利技术属性】
技术研发人员:董新锋吴忧胡建勇韩羽张福众周宇苗旭东穆道光谭豪陈婷王金花刘妍妍刘刚
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1