CN116132015A - 一种具有平衡性的通用密钥扩展快速方法 - Google Patents
一种具有平衡性的通用密钥扩展快速方法 Download PDFInfo
- Publication number
- CN116132015A CN116132015A CN202211216340.9A CN202211216340A CN116132015A CN 116132015 A CN116132015 A CN 116132015A CN 202211216340 A CN202211216340 A CN 202211216340A CN 116132015 A CN116132015 A CN 116132015A
- Authority
- CN
- China
- Prior art keywords
- key
- round
- fragments
- current
- words
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Facsimile Transmission Control (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种具有平衡性的通用密钥扩展快速方法,属于密码学技术领域。针对256比特的加密密钥,本发明仅通过异或、移位和S盒变换等运算来实现加密密钥扩展。本密钥扩展方法除了具有优良平衡性等随机性之外,同时满足轮密钥间关联性更低的性质,密钥扩展的速度更快。根据加密算法的需要,本密钥扩展方法可产生任意长的轮密钥,因此,本发明是一种适用于加密密钥长度为256比特、轮密钥长度为128比特的通用密钥扩展方法。
Description
技术领域
本发明属于密码学技术领域,具体涉及一种具有平衡性的通用密钥扩展快速方法。
背景技术
分组密码算法是对长数据进行加密的主流算法,密钥扩展算法是支撑分组密码的重要组成部分。根据计算机计算能力的发展速度,256比特将是在很长一段时间内大多数分组密码算法首选的加密密钥长度。因此有必要提供一种能够适用于加密密钥长度为256比特、轮密钥长度为128比特的通用密钥扩展方法。
发明内容
本发明的目的在于,提供一种适用于加密密钥长度为256比特、轮密钥长度为128比特的通用密钥扩展方法。
本发明采用以下技术方案:
一种具有平衡性的通用密钥扩展快速方法,该方法包括下列步骤:
步骤1,将输入的长度为256比特的加密密钥分成八个密钥字,每个密钥字为32比特密钥片段,按序排列8个密钥片段,得到第一轮的密钥片段序列;
步骤2,对当前轮的密钥片段序列进行第一变换,得到当前轮的四个第二密钥字;
第一变换为:
将密钥片段序列的8个密钥片段两两组合,得到四组密钥片段,并对组内的两个密钥片段进行异或,再进行移位运算;
每组内的两个密钥片段为非相邻的密钥片段,各组内的密钥片段之间的间隔位置相同;
步骤3,对当前轮的四个第二密钥字进行第二变换,得到当前轮的四个第三密钥字,即当前轮的轮密钥;
第二变换为:将每个第二密钥字输入到四个并置的S盒(Substitution-box)中进行非线性变换,联接四个S盒的输出得到当前第二密钥字变换后的第三密钥字;
步骤4,若执行轮数达到预置的最大轮数,则执行步骤5;否则,配置下一轮的密钥片段序列,继续执行步骤2至4;
其中,下一轮的密钥片段序列具体为:
若当前为第1轮,则将步骤1中得到的后四个密钥字和当前得到的四个第三密钥字依次组成第2轮的密钥片段序列;
若当前的轮数r大于或等于2,则将第r-1轮得到的四个第三密钥字和第r轮得到的四个第三密钥字依次组成第r+1轮的密钥片段序列;
步骤5,依次联接所有轮的四个第三密钥字,得到最终的输出轮密钥。
进一步的,步骤2中,四组密钥片段的移位运算的位数分别为0,8,16,24。
进一步的,步骤3中,采用的S盒为8比特输入、8比特输出的AES(AdvancedEncryption Standard)标准S盒。
本发明提供的技术方案至少带来如下有益效果:
本发明提供了一种加密密钥长度为256比特、轮密钥长度为128比特的通用密钥扩展方法,即输入256比特的加密密钥经过预定轮数的扩展生成输出密钥。本发明每轮通过对前256bits的密钥按字进行异或、移位和S盒操作处理进而得到扩展部分的后128比特密钥,使得扩展密钥整体平衡性和随机性较高,同时密钥之间的关联性更低,产生扩展密钥的速度更快。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种具有平衡性的通用密钥扩展快速方法的处理过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本实施例提供了一种具有平衡性的通用密钥扩展快速方法,其输入为256比特的加密密钥,采用迭代的方式输出预定轮数L、且长度为128比特的轮密钥。故轮密钥总长度为128×L。
参见图1,本发明实施例的具体实现步骤如下:
步骤一(CKr初始化):算法的输出用CKr表示,CKr也是加密算法的轮密钥,0≤r≤L,CK0初始化为“NULL”。
步骤二(算法输入):256bits的种子密钥表示为八个字wi(i=0~7)。
步骤三:对八个输入的密钥字wi进行异或操作(r表示当前轮数):
本发明实施例中,将原始输入的加密密钥分成的八个密钥字分别表示为:w0,w1,w2,w3,w4,w5,w6,w7。
步骤四:将上一步计算得到的结果进行移位操作:
步骤五:将步骤四的输出结果(w″4·(r-1)+4、w″4·(r-1)+5、w″4·(r-1)+6和w″4·(r-1)+7)分别经过AES标准S盒变换:
步骤六(循环运算):将完成步骤五运算的四个字进行联接得到128比特的当前轮的轮密钥CKr=w4·(r-1)+8||w4·(r-1)+9||w4·(r-1)+10||w4·(r-1)+11,r表示轮数。符号“‖”为联接运算。
步骤七:令r=r+1,即进行下一轮密钥输出。重复步骤三-步骤六,直至r的值等于预先设定的轮数L后跳出循环。
在进行下一轮密钥输出之前,需要先配置下一轮的8个密钥字wi(也可称为密钥片段序列),具体为:若当前为第1轮,则将输入的后四个字和第一轮得到的轮密钥组成第2轮的8个密钥字:w4,w5,w6,w7,w8,w9,w10,w11;若当前的轮数大于或等于2,则基于最近两轮得到的轮密钥组成下一轮的8个密钥字。
针对256比特的加密密钥,本发明实施例提供了一种具有平衡性的通用密钥扩展快速方法。对256比特的加密密钥,仅通过异或、移位和S盒变换等运算来实现加密密钥扩展。本密钥扩展方法除了具有优良平衡性等随机性之外,同时满足轮密钥间关联性更低的性质,密钥扩展的速度更快。根据加密处理的需要,本密钥扩展方法可产生任意长的轮密钥,因此,本发明是一种适用于加密密钥长度为256比特、轮密钥长度为128比特的通用密钥扩展方法。
将本发明实施例提供的一种具有平衡性的通用密钥扩展快速方法用于消息加密时,即基于具有平衡性的通用密钥扩展的消息加密方法,其具体处理过程为:对待加密消息分组,再通过迭代加密处理得到每个分组的加密密文:首先,通过第一轮输出的秘钥CK1对分组消息进行加密,得到第一轮加密结果,然后再基于第二轮输出的秘钥CK2对第一轮加密结果进行加密,得到第二轮加结果,如此迭代循环多次,得到最终的分组加密消息,即,基于第r轮的密钥CKr对上一轮的分组加密结果进行加密,得到的分组加密结果将作为下一轮的加密对象;最后拼接所有分组的最终加密结果,生成待加密消息的密文。以实现对待加密消息的加密传输。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.一种具有平衡性的通用密钥扩展快速方法,其特征在于,包括下列步骤:
步骤1,将输入的长度为256比特的加密密钥分成八个密钥字,每个密钥字为32比特密钥片段,按序排列8个密钥片段,得到第一轮的密钥片段序列;
步骤2,对当前轮的密钥片段序列进行第一变换,得到当前轮的四个第二密钥字;
第一变换为:将密钥片段序列的8个密钥片段两两组合,得到四组密钥片段,并对组内的两个密钥片段进行异或,再进行移位运算;每组内的两个密钥片段为非相邻的密钥片段,各组内的密钥片段之间的间隔位置相同;
步骤3,对当前轮的四个第二密钥字进行第二变换,得到当前轮的四个第三密钥字;
第二变换为:将每个第二密钥字输入到四个并置的S盒中进行非线性变换,联接四个S盒的输出得到当前第二密钥字变换后的第三密钥字;
步骤4,若执行轮数达到预置的最大轮数,则执行步骤5;否则,配置下一轮的密钥片段序列,继续执行步骤2至4;
其中,下一轮的密钥片段序列具体为:
若当前为第1轮,则将步骤1中得到的后四个密钥字和当前得到的四个第三密钥字依次组成第2轮的密钥片段序列;
若当前的轮数r大于或等于2,则将第r-1轮得到的四个第三密钥字和第r轮得到的四个第三密钥字依次组成第r+1轮的密钥片段序列;
步骤5,依次联接所有轮的四个第三密钥字,得到最终的输出轮密钥。
2.如权利要求1所述的方法,其特征在于,步骤2中,四组密钥片段的移位运算的位数分别为0,8,16,24。
3.如权利要求1所述的方法,其特征在于,步骤2中,将密钥片段序列中,每间隔3个的两个密钥片段组成一组。
4.如权利要求1至3任一项所述的方法,其特征在于,步骤3中,采用的S盒为8比特输入、8比特输出的AES标准S盒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216340.9A CN116132015A (zh) | 2022-09-30 | 2022-09-30 | 一种具有平衡性的通用密钥扩展快速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216340.9A CN116132015A (zh) | 2022-09-30 | 2022-09-30 | 一种具有平衡性的通用密钥扩展快速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132015A true CN116132015A (zh) | 2023-05-16 |
Family
ID=86296191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211216340.9A Pending CN116132015A (zh) | 2022-09-30 | 2022-09-30 | 一种具有平衡性的通用密钥扩展快速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132015A (zh) |
-
2022
- 2022-09-30 CN CN202211216340.9A patent/CN116132015A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8787563B2 (en) | Data converter, data conversion method and program | |
CN107147487B (zh) | 对称密钥随机分组密码 | |
US8635452B2 (en) | Method for generating a cipher-based message authentication code | |
JPH1173101A (ja) | 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体 | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
Aggarwal et al. | Performance evaluation of RC6, blowfish, DES, IDEA, CAST-128 block ciphers | |
Ishchukova et al. | Fast implementation and cryptanalysis of GOST R 34.12-2015 block ciphers | |
CN107835070B (zh) | 一种简单的嵌入式加密方法 | |
JP2825205B2 (ja) | 暗号装置 | |
CN116132015A (zh) | 一种具有平衡性的通用密钥扩展快速方法 | |
CN113691364B (zh) | 一种基于位片技术的动态s盒分组密码的加密及解密方法 | |
JP4515716B2 (ja) | 拡大鍵生成装置、暗号化装置および暗号化システム | |
CN115459950A (zh) | 一种迭代加密的方法和装置 | |
JP5113833B2 (ja) | 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置 | |
Touzene et al. | Performance of algebraic graphs based stream-ciphers using large finite fields | |
CN114531223A (zh) | 基于轻量级分组密码榫式算法的加密解密方法 | |
JP3782210B2 (ja) | 暗号装置 | |
CN110247754B (zh) | 一种分组密码fbc的实现方法及装置 | |
CN109450618B (zh) | 一种基于md5的加密方法及系统 | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
Mirsaid et al. | The encryption algorithm AES-RFWKPES32-4 | |
CN113886804B (zh) | 基于并行循环移位寄存器的轻量级流密码生成方法 | |
CN114640437A (zh) | 一种通用的密钥扩展快速方法 | |
Abubaker et al. | DAFA-A Lightweight DES Augmented Finite Automaton Cryptosystem | |
CN114969847B (zh) | 一种基于数据地址混合加密的存储器加密电路 |
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 |