CN119814281B - 一种可大调整的可调分组密码工作模式设计方法 - Google Patents
一种可大调整的可调分组密码工作模式设计方法Info
- Publication number
- CN119814281B CN119814281B CN202411696660.8A CN202411696660A CN119814281B CN 119814281 B CN119814281 B CN 119814281B CN 202411696660 A CN202411696660 A CN 202411696660A CN 119814281 B CN119814281 B CN 119814281B
- Authority
- CN
- China
- Prior art keywords
- block
- plaintext
- key
- ciphertext
- internal variables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种可大调整的可调分组密码工作模式设计方法,属于信息安全领域。本发明使用调柄和由调柄加密得到的内部变量对分组密码的输入输出和密钥分别进行调整的方式来加密数据块。本发明提出的可调分组密码在设计上仅依赖分组密码而不使用哈希函数,从而避免了调柄信息的损失,可以使用标准分组算法进行实现并且安全性与使用的分组算法保持一致,便于各种场景下进行使用。本发明可容纳的调柄长度进行了大幅提升,达到了分组长度的五倍,基本满足了目前已知的场景下对可调分组密码调柄长度的需要。
Description
技术领域
本发明属于信息安全领域,具体涉及一种可大调整的可调分组密码工作模式设计方法。
背景技术
可调分组密码(Tweakable Block Cipher)是磁盘加密、设计轻量级认证加密协议和实现轻量级分组密码抗侧信道攻击的主要技术。磁盘加密中通常使用磁盘名称、地址、加密时间等信息作为调柄进行加密,达到使用相同密钥对不同磁盘进行不同加密的效果;认证加密协议中将可公开的信息作为调柄,使用可调分组密码加密得到认证码,具有不损失信息和计算开销小的优点,是资源受限的轻量化场景中的主流技术;轻量级分组密码对抗侧信道攻击的主要方式是使用掩码对目标值进行分割保护,可调分组密码因其组件中包含调柄,作为掩码的载体在密码设计中具有天然的优势,目前NIST标准中轻量级分组密码候选方案都是基于可调分组密码进行实现的。设计可调分组密码的方式包括:①按照场景具体需要(分组的长度、掩码的数量及长度、以及密码的软硬件实现形式)直接设计或对已有分组密码算法进行改造;②将标准分组密码算法作为黑盒,模仿工作模式的设计来设计可调分组密码。
按照方式①设计的可调分组密码存在缺少可证明安全的问题,只能结合具体场景进行简单的安全性分析,一方面难以利用分组密码标准化的优势,另一方面往往使用范围局限为具体的设计场景,难以复用。如HOMA工作模式的设计中将SKINNY算法中任意切分的调柄改为固定长度进行分割,结合底层的硬件(线性反馈移位寄存器LFSR)对原本的框架进行修改,从而得到新的可调分组密码——SKINNYee,该算法就存在难以进行安全性证明和脱离了HOMA后难以复用的缺点。而方式②的设计方法存在的主要问题是调柄长度太小。目前在具有可证明安全的可调分组密码中最大的G2也仅能提供长度为分组大小两倍的调柄长度。但具体场景中需要的调柄长度远大于此,如上述HOMA中需要可调分组密码的调柄长度达到分组长度的五倍。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种可大调整的可调分组密码工作模式设计方法,以在保证安全性的情况下提升了调柄的长度,方便了具体场景的使用。
(二)技术方案
为了解决上述技术问题,本发明提出一种可大调整的可调分组密码工作模式设计方法,该方法包括如下步骤:
S1、初始化
密钥生成:首先,需要生成一个固定长度的二进制字符串作为密钥K,用于混淆数据;
S2、加密过程
将明文分组得到明文块,对每一个明文块分别输入一个调柄T,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对明文块加密得到对应的密文块,按顺序将所有的密文块链接在一起,形成最终的密文;
S3、解密过程
获取密文、密钥K和每个明文块对应的调柄T,将密文按照加密时相同长度进行分组,得到多个密文块,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对密文块解密得到对应的明文块,按顺序将所有的明文块链接在一起,形成最终的明文。
(三)有益效果
本发明提出一种可大调整的可调分组密码工作模式设计方法,本发明提出的可调分组密码在设计上仅依赖分组密码而不使用哈希函数,从而避免了调柄信息的损失,可以使用标准分组算法进行实现并且安全性与使用的分组算法保持一致,便于各种场景下进行使用。与现有具有可证明安全的可调分组密码相比,本发明提出的M2可容纳的调柄长度进行了大幅提升,达到了分组长度的五倍,基本满足了目前已知的场景下对可调分组密码调柄长度的需要。
附图说明
图1为可调分组密码工作流程示意图;
图2为本发明M2的结构示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的目的是提出一种调柄长度达到分组长度五倍的,具有可证明安全的可调分组密码,仅将分组密码作为黑盒进行调用,使用由调柄加密得到的内部变量对分组密码的输入输出进行保护,从而在保证安全性的情况下提升了调柄的长度,方便了具体场景的使用。
本发明提出一种可大调整的可调分组密码工作模式设计方法,该方法包括:
M2是将分组密码作为黑盒设计的可调分组密码,与分组密码工作模式在结构上有相似性,使用调柄和由调柄加密得到的内部变量对分组密码的输入输出和密钥分别进行调整的方式来加密数据块。下面的具体实现方式采用类似于分组密码工作模式的框架进行描述:
S1、初始化
密钥生成:首先,需要生成一个固定长度的二进制字符串作为密钥K,用于混淆数据。
S2、加密过程
将明文分组得到明文块,对每一个明文块分别输入一个调柄T,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对明文块加密得到对应的密文块,按顺序将所有的密文块链接在一起,形成最终的密文;具体包括:
S21、分组:将明文按照固定长度进行分组,得到多个明文块。
S22、输入调柄T:对每一个明文块分别输入一个二进制字符串作为调柄,该字符串长度不超过固定长度的五倍。若每一个明文块对应的调柄都为0则弱化为ECB分组加密模式。
S23、调柄预处理:若T的长度不为固定长度的五倍,则在二进制字符串后补0至固定长度的五倍,而后按固定长度进行分块为五个小调柄t1,t2,t3,t4,t5。
S24、计算内部变量:对于t1,t3,t5,使用密钥K直接进行加密得到对应的内部变量y1,y3,y5,对于t2,t4则先和密钥K进行异或再对得到的结果使用密钥K进行加密得到对应的内部变量y2,y4。
S25、计算密钥并加密:每个明文块加密时实际使用的密钥是生成的密钥K、小调柄t1,t5和内部变量y2,y3,y4异或的结果z;明文块则与内部变量y1,y2进行异或运算得到x,并对异或结果x进行加密;加密结果y与内部变量y4,y5进行异或运算得到与明文块对应的密文块c。
S26、输出密文:按顺序将所有的密文块链接在一起,形成最终的密文。
S3、解密过程
获取密文、密钥K和每个明文块对应的调柄T,将密文按照加密时相同长度进行分组,得到多个密文块,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对密文块解密得到对应的明文块,按顺序将所有的明文块链接在一起,形成最终的明文。具体地,
S31、接收信息:获取密文、密钥K和每个明文块对应的调柄T。
S32、分组:将密文按照加密时相同长度进行分组,得到多个密文块。
S33、调柄预处理:若T的长度不为固定长度的五倍,则在二进制字符串后补0至固定长度的五倍,而后按固定长度进行分块为五个小调柄t1,t2,t3,t4,t5。
S34、计算内部变量:对于t1,t3,t5,使用密钥K直接进行加密得到对应的内部变量y1,y3,y5,对于t2,t4则先和密钥K进行异或再对得到的结果使用密钥K进行加密得到对应的内部变量y2,y4。
S35、计算密钥并解密:每个密文块解密时实际使用的密钥是生成的密钥K、小调柄t1,t4和内部变量y2,y3,y4异或的结果z;密文块则与内部变量y4,y5进行异或运算,并对异或结果进行解密;解密结果与内部变量y1,y2进行异或运算得到与密文块对应的明文块。
S36、输出密文:按顺序将所有的明文块链接在一起,形成最终的明文。
本发明的特点与注意事项
1、并行化:计算内部变量的过程与对每个明文块的加密和解密的过程分别都可以并行进行,提高加密和解密的效率。
2、安全性:M2的安全性取决于加密算法的选择和密钥的保密性,可以根据场景具体需要的安全性选择相应的加密标准。而调柄则无需进行保密,可以证明即使敌手可以控制调柄也无法由此对密钥进行攻击。
3、差错传播:每个明文块和密文块在进行加密和解密时彼此互不影响,传输中产生的差错仅会导致当前密文块解密时出错不会对其他密文块的解密产生影响。
4、数据依赖性:每个密文块的生成只依赖于对应的调柄,只要使用的调柄不同,即使是使用相同的密钥加密相同的明文得到的密文也不同。
本发明提出的可调分组密码在设计上仅依赖分组密码而不使用哈希函数,从而避免了调柄信息的损失,可以使用标准分组算法进行实现并且安全性与使用的分组算法保持一致,便于各种场景下进行使用。与现有具有可证明安全的可调分组密码相比,本发明提出的M2可容纳的调柄长度进行了大幅提升,达到了分组长度的五倍,基本满足了目前已知的场景下对可调分组密码调柄长度的需要。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种可大调整的可调分组密码工作模式设计方法,其特征在于,该方法包括如下步骤:
S1、初始化
密钥生成:首先,需要生成一个固定长度的二进制字符串作为密钥K,用于混淆数据;
S2、加密过程
将明文分组得到明文块,对每一个明文块分别输入一个调柄T,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对明文块加密得到对应的密文块,按顺序将所有的密文块链接在一起,形成最终的密文;
S3、解密过程
获取密文、密钥K和每个明文块对应的调柄T,将密文按照加密时相同长度进行分组,得到多个密文块,将调柄按照固定长度分块为五个小调柄,计算五个小调柄对应的内部变量,使用五个小调柄、内部变量和密钥K对密文块解密得到对应的明文块,按顺序将所有的明文块链接在一起,形成最终的明文。
2.如权利要求1所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述将明文分组得到明文块包括:将明文按照固定长度进行分组,得到多个明文块。
3.如权利要求2所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述对每一个明文块分别输入一个调柄T包括:对每一个明文块分别输入一个二进制字符串作为调柄,该字符串长度不超过固定长度的五倍。
4.如权利要求3所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述将调柄按照固定长度分块为五个小调柄包括:若T的长度不为固定长度的五倍,则在二进制字符串后补0至固定长度的五倍,而后按固定长度进行分块为五个小调柄t1,t2,t3,t4,t5。
5.如权利要求4所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述计算五个小调柄对应的内部变量包括:对于t1,t3,t5,使用密钥K直接进行加密得到对应的内部变量y1,y3,y5,对于t2,t4则先和密钥K进行异或再对得到的结果使用密钥K进行加密得到对应的内部变量y2,y4。
6.如权利要求5所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述使用五个小调柄、内部变量和密钥K对明文块加密得到对应的密文块包括:每个明文块加密时实际使用的密钥是生成的密钥K、小调柄t1,t5和内部变量y2,y3,y4异或的结果z;明文块则与内部变量y1,y2进行异或运算得到x,并对异或结果x进行加密;加密结果y与内部变量y4,y5进行异或运算得到与明文块对应的密文块c。
7.如权利要求6所述的可大调整的可调分组密码工作模式设计方法,其特征在于,所述使用五个小调柄、内部变量和密钥K对密文块解密得到对应的明文块包括:每个密文块解密时实际使用的密钥是生成的密钥K、小调柄t1,t4和内部变量y2,y3,y5异或的结果z;密文块则与内部变量y4,y5进行异或运算,并对异或结果进行解密;解密结果与内部变量y1,y2进行异或运算得到与密文块对应的明文块。
8.如权利要求7所述的可大调整的可调分组密码工作模式设计方法,其特征在于,计算内部变量的过程与对每个明文块的加密过程并行进行。
9.如权利要求7所述的可大调整的可调分组密码工作模式设计方法,其特征在于,计算内部变量的过程与对每个明文块的解密过程并行进行。
10.如权利要求7所述的可大调整的可调分组密码工作模式设计方法,其特征在于,根据场景具体需要的安全性选择相应的加密标准,调柄则无需进行保密。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411696660.8A CN119814281B (zh) | 2024-11-25 | 2024-11-25 | 一种可大调整的可调分组密码工作模式设计方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411696660.8A CN119814281B (zh) | 2024-11-25 | 2024-11-25 | 一种可大调整的可调分组密码工作模式设计方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119814281A CN119814281A (zh) | 2025-04-11 |
| CN119814281B true CN119814281B (zh) | 2025-10-31 |
Family
ID=95257264
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411696660.8A Active CN119814281B (zh) | 2024-11-25 | 2024-11-25 | 一种可大调整的可调分组密码工作模式设计方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119814281B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112287333A (zh) * | 2020-11-19 | 2021-01-29 | 衡阳师范学院 | 一种轻量级可调分组密码实现方法、系统、电子设备以及可读存储介质 |
| CN117134885A (zh) * | 2023-08-04 | 2023-11-28 | 航天恒星科技有限公司 | 一种兼容sm4密码算法的可调分组密码实现方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5704159B2 (ja) * | 2010-02-24 | 2015-04-22 | 日本電気株式会社 | ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム |
| EP3584989B1 (en) * | 2018-06-18 | 2023-09-27 | Secure-IC SAS | Tweakable block ciphers for secure data encryption |
-
2024
- 2024-11-25 CN CN202411696660.8A patent/CN119814281B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112287333A (zh) * | 2020-11-19 | 2021-01-29 | 衡阳师范学院 | 一种轻量级可调分组密码实现方法、系统、电子设备以及可读存储介质 |
| CN117134885A (zh) * | 2023-08-04 | 2023-11-28 | 航天恒星科技有限公司 | 一种兼容sm4密码算法的可调分组密码实现方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119814281A (zh) | 2025-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12184773B2 (en) | Communication network with cryptographic key management for symmetric cryptography | |
| Mousa et al. | Evaluation of the RC4 algorithm for data encryption. | |
| CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
| US8503670B2 (en) | Parallelizable integrity-aware encryption technique | |
| US8416947B2 (en) | Block cipher using multiplication over a finite field of even characteristic | |
| JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
| CN1993922B (zh) | 流密码组合系统和方法 | |
| US11546135B2 (en) | Key sequence generation for cryptographic operations | |
| JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
| CN107438065A (zh) | 数据加密装置及方法、数据解密装置及方法 | |
| WO2012132623A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
| Reyad et al. | Key-based enhancement of data encryption standard for text security | |
| Huang et al. | A novel structure with dynamic operation mode for symmetric-key block ciphers | |
| US12388623B2 (en) | Method for processing encrypted data | |
| CN111262685B (zh) | 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质 | |
| CN111314050A (zh) | 一种加解密方法及装置 | |
| JP5689826B2 (ja) | 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム | |
| CN105721146A (zh) | 一种面向云存储基于smc的大数据共享方法 | |
| de la Piedra et al. | ACABELLA: Automated (Crypt) analysis of attribute-based encryption leveraging linear algebra | |
| CN109714154B (zh) | 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法 | |
| CN114513298B (zh) | 一种可接受任意明文长度的轻量级加密方法 | |
| WO2020213114A1 (ja) | Macタグリスト生成装置、macタグリスト検証装置、方法及びプログラム | |
| CN119814281B (zh) | 一种可大调整的可调分组密码工作模式设计方法 | |
| CN102622561A (zh) | 一种软件中调用数据的加密及解密方法 | |
| EP4113894B1 (en) | Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |