CN106209358A - 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 - Google Patents
一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 Download PDFInfo
- Publication number
- CN106209358A CN106209358A CN201610545864.0A CN201610545864A CN106209358A CN 106209358 A CN106209358 A CN 106209358A CN 201610545864 A CN201610545864 A CN 201610545864A CN 106209358 A CN106209358 A CN 106209358A
- Authority
- CN
- China
- Prior art keywords
- module
- key
- chaotic maps
- bit
- input
- 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.)
- Granted
Links
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/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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
一种基于长密钥的SM4密钥扩展算法的实现系统及其方法,系统包括混沌映射模块、数据缓存模块、异或模块、非线性置换S盒模块和线性变换L模块;所述混沌映射模块输入为部分初始密钥,通过利用混沌映射的多次迭代,产生具有良好随机性的伪随机序列作为原SM4密钥扩展算法的输入,通过对混沌性能和硬件实现资源消耗的考虑,混沌映射模块选择Logistic映射;本发明将混沌映射融入到SM4密钥扩展算法中。通过对SM4密钥扩展算法的优化,不仅增大了SM4算法的密钥空间,还增强了每轮子密钥的随机性。
Description
技术领域
本发明涉及信息安全领域,具体涉及一类基于长密钥的SM4密钥扩展算法的实现系统及其方法。
背景技术
SM4算法是国内广泛使用的WAPI无线网络标准算法中使用的加密算法。SM4算法原名为SMS4算法,在2012年被国家商用密码管理局确定为国家密码行业标准,标准编号GM/T0002-2012并且改名为SM4算法。SM4分组密码算法与SM2椭圆曲线公钥密码算法、SM3密码杂凑算法共同作为国家密码行业标准,在我国密码行业有着重要的位置。
密钥长度决定密钥空间的大小。密钥空间是保障加密算法不受穷举法破解的最基本的安全保障。现在使用的128位密钥的分组加密算法足够安全,并广泛运用在各个需要加密的环境中,例如AES-128、SM4、Camellia-128等。随着现在计算机运算速度成倍的增加,特别是量子计算机的突飞猛进。在未来几十年内,具有128位密钥空间的加密算法也存在着被破译的可能。使用256位密钥的分组加密算法如AES-256、Camellia-256等被称为“高级算法”,使用现存量子算法并配合量子计算机也无法破解。相对AES和Camellia算法而言,SM4算法存在着密钥空间较小的安全隐患。
发明内容
基于以上不足之处,本发明提供一种基于长密钥的SM4密钥扩展算法的实现系统及其方法,解决了现在SM4算法存在的密钥空间较小的安全隐患。
本发明所采用如下技术:一种基于长密钥的SM4密钥扩展算法的实现系统,包括混沌映射模块、数据缓存模块、异或模块、非线性置换S盒模块和线性变换L模块,所述混沌映射模块输入为部分初始密钥,通过利用混沌映射的多次迭代,产生具有良好随机性的伪随机序列作为原SM4密钥扩展算法的输入,通过对混沌性能和硬件实现资源消耗的考虑,混沌映射模块选择Logist ic映射;
所述异或模块为多输入异或逻辑门电路;
所述非线性置换S盒模块共使用四个并行的8输入的S盒,每个并行的S盒对输入的8比特数地址进行寻址,输出存储在S盒中的8比特数据;
所述线性变换L模块是简单地移位和异或操作。
本发明还具有如下技术特征:采用如上所述的实现系统得出的一种基于长密钥的SM4密钥扩展算法的实现方法,包括如下步骤:
步骤1001:数据缓存模块接收128位初始密钥。将接收到的初始密钥分成4个32比特的数据,并分别缓存起来。Logistic混沌映射模块接收剩余初始密钥,输出伪随机序列。
步骤1002:将数据缓存模块中的4个32比特的数据中选取3个和Logistic混沌映射模块产生的伪随机序列异或,得到最终的32比特数据。
步骤1003:将步骤1002中最终生成的32比特数据划分成4个8比特数据,并分别作为寻址地址输入到4个并行8输入的S盒中。最后将得到置换后的4个8比特数进行位拼接,形成新的32比特数。
步骤1004:将步骤1003中最终得到的32比特数分别同时循环移位不同位数,并与步骤1002中数据缓存模块剩余的一个32比特数异或,得到最终的32比特数。该32比特数置换数据缓存模块中的一个32比特数,并缓存起来。
步骤1005:重复步骤1002至步骤1004共32次,并停止输出。
本发明通过引入混沌系统Logistic映射,加强了每轮子密钥的随机性,增大了SM4算法的密钥空间,解决了现在SM4算法存在的密钥空间较小的安全隐患。
附图说明
图1为本发明的一种基于长密钥的SM4密钥扩展算法的实现框图;
图2为本发明实施例提供的Logistic混沌映射实现框图;
图3为本发明的一种基于长密钥SM4的密钥扩展算法的实现系统结构图。
具体实施方式
实施例1
如图1所示,一种基于长密钥的SM4密钥扩展算法的实现系统,包括混沌映射模块、数据缓存模块、异或模块、非线性置换S盒模块和线性变换L模块,所述混沌映射模块输入为部分初始密钥,通过利用混沌映射的多次迭代,产生具有良好随机性的伪随机序列作为原SM4密钥扩展算法的输入,通过对混沌性能和硬件实现资源消耗的考虑,混沌映射模块选择Logist ic映射;
所述异或模块为多输入异或逻辑门电路;
所述非线性置换S盒模块共使用四个并行的8输入的S盒,每个并行的S盒对输入的8比特数地址进行寻址,输出存储在S盒中的8比特数据;
所述线性变换L模块是简单地移位和异或操作。
实施例2
如图3所示,采用实施例1的系统得出的一种基于长密钥的SM4密钥扩展算法的实现方法,包括下步骤:
步骤1001:将初始密钥分为两个部分。一部分为固定大小的128比特k1,剩余的初始密钥为另一部分k2。k2的位数需要大于或等于32比特。故整个初始密钥的位数需要大于或等于160比特。
步骤1002:将固定的128比特密钥k1从高位到低位按顺序划分为4个32比特数据,并存储在Xi、Xi+1、Xi+2和Xi+3中。剩余的初始密钥k2作为Logistic混沌映射的初始值,并存储在yi中。
步骤1003:将Xi+1、Xi+2和Xi+3相异或,最后在与k2中抽取低的32位数据异或,得到最终的32比特数V。
步骤1004:将32比特数V从高位到低位按顺序划分为4个8比特数。将这4个8比特数作为寻址地址输入到4个并行的8输入非线性置换S盒中,置换出S盒中相应位置存储的8比特数据。最后将置换后的4个8比特数据位拼接为32比特数据S(V)。于此同时,将yi作为输入数据,送入取反模块和乘4模块中。取反模块将yi与相同位数的二进制数值1相异或得到u。乘4模块将yi向左移动2比特数得到w。
步骤1005:将S(V)通过线性函数L。其操作具体为:将S(V)同时循环左移2位、循环左移10位、循环左移18位、循环左移24位,再将这四次循环移位后的数据异或,最后再与S(V)异或得到32比特数L(S(V))。与此同时,将u加一得到z。
步骤1006:将32比特数L(S(V))与Xi异或厚的数据更新Xi+4的值。并同时将Xi+1的值传递给原Xi,Xi+2的值传递给原Xi+1,Xi+3的值传递给原Xi+2。与此同时将z与w相乘得到h。从数据h低位中提取与初始密钥k2相同位数的比特数据,并将该比特数据更新yi的值。
步骤1007:将步骤1001至步骤1006重复共32次后停止。
Claims (2)
1.一种基于长密钥的SM4密钥扩展算法的实现系统,包括混沌映射模块、数据缓存模块、异或模块、非线性置换S盒模块和线性变换L模块,其特征在于:所述混沌映射模块输入为部分初始密钥,通过利用混沌映射的多次迭代,产生具有良好随机性的伪随机序列作为原SM4密钥扩展算法的输入,通过对混沌性能和硬件实现资源消耗的考虑,混沌映射模块选择Logistic映射;
所述异或模块为多输入异或逻辑门电路;
所述非线性置换S盒模块共使用四个并行的8输入的S盒,每个并行的S盒对输入的8比特数地址进行寻址,输出存储在S盒中的8比特数据;
所述线性变换L模块是简单地移位和异或操作。
2.采用如权利要求1所述的实现系统得出的一种基于长密钥的SM4密钥扩展算法的实现方法,其特征在于,包括如下步骤:
步骤1001:数据缓存模块接收128位初始密钥,将接收到的初始密钥分成4个32比特的数据,并分别缓存起来,Logistic混沌映射模块接收剩余初始密钥,输出伪随机序列;
步骤1002:将数据缓存模块中的4个32比特的数据中选取3个和Logistic混沌映射模块产生的伪随机序列异或,得到最终的32比特数据;
步骤1003:将步骤1002中最终生成的32比特数据划分成4个8比特数据,并分别作为寻址地址输入到4个并行8输入的S盒中,最后将得到置换后的4个8比特数进行位拼接,形成新的32比特数;
步骤1004:将步骤1003中最终得到的32比特数分别同时循环移位不同位数,并与步骤1002中数据缓存模块剩余的一个32比特数异或,得到最终的32比特数,该32比特数置换数据缓存模块中的一个32比特数,并缓存起来;
步骤1005:重复步骤1002至步骤1004共32次,并停止输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545864.0A CN106209358B (zh) | 2016-07-12 | 2016-07-12 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545864.0A CN106209358B (zh) | 2016-07-12 | 2016-07-12 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106209358A true CN106209358A (zh) | 2016-12-07 |
CN106209358B CN106209358B (zh) | 2019-03-12 |
Family
ID=57477454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610545864.0A Active CN106209358B (zh) | 2016-07-12 | 2016-07-12 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106209358B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712930A (zh) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | 一种sm4加密方法及装置 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109525390A (zh) * | 2018-11-20 | 2019-03-26 | 江苏亨通问天量子信息研究院有限公司 | 用于终端设备保密通信的量子密钥无线分发方法及系统 |
CN109981247A (zh) * | 2019-03-25 | 2019-07-05 | 哈尔滨工业大学(威海) | 一种基于整数化混沌映射的动态s盒生成方法 |
CN109981250A (zh) * | 2019-03-01 | 2019-07-05 | 北京海泰方圆科技股份有限公司 | 一种sm4加密、密钥扩展方法、装置、设备及介质 |
CN110995405A (zh) * | 2019-12-05 | 2020-04-10 | 黑龙江大学 | 基于混沌初始向量生成算法及其ip核 |
CN112910630A (zh) * | 2021-02-02 | 2021-06-04 | 浙江大华技术股份有限公司 | 扩展密钥的置换方法及装置 |
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN113849867A (zh) * | 2021-08-31 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | 一种加密芯片 |
CN114710285A (zh) * | 2022-05-19 | 2022-07-05 | 北京大学 | 一种面向异构并行架构的高性能sm4比特切片优化方法 |
CN115529121A (zh) * | 2022-09-28 | 2022-12-27 | 苏州中科安源信息技术有限公司 | 基于混沌神经网络的s盒构建方法 |
CN117411618A (zh) * | 2023-12-07 | 2024-01-16 | 杭州城市大脑有限公司 | 应用于国际赛事的密钥生成方法、装置及加密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921376A (zh) * | 2005-08-25 | 2007-02-28 | 中南大学 | 基于并行td-ercs混沌系统的伪随机数发生器 |
CN101834717A (zh) * | 2010-04-22 | 2010-09-15 | 哈尔滨理工大学 | 可扩展精度Logistic混沌序列的并行计算方法 |
-
2016
- 2016-07-12 CN CN201610545864.0A patent/CN106209358B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921376A (zh) * | 2005-08-25 | 2007-02-28 | 中南大学 | 基于并行td-ercs混沌系统的伪随机数发生器 |
CN101834717A (zh) * | 2010-04-22 | 2010-09-15 | 哈尔滨理工大学 | 可扩展精度Logistic混沌序列的并行计算方法 |
Non-Patent Citations (1)
Title |
---|
程海: ""基于FPGA的图像加密关键技术研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712930A (zh) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | 一种sm4加密方法及装置 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN106998249B (zh) * | 2017-05-08 | 2023-09-15 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN107181586B (zh) * | 2017-05-22 | 2023-09-15 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109525390A (zh) * | 2018-11-20 | 2019-03-26 | 江苏亨通问天量子信息研究院有限公司 | 用于终端设备保密通信的量子密钥无线分发方法及系统 |
CN109981250A (zh) * | 2019-03-01 | 2019-07-05 | 北京海泰方圆科技股份有限公司 | 一种sm4加密、密钥扩展方法、装置、设备及介质 |
CN109981247A (zh) * | 2019-03-25 | 2019-07-05 | 哈尔滨工业大学(威海) | 一种基于整数化混沌映射的动态s盒生成方法 |
CN109981247B (zh) * | 2019-03-25 | 2022-03-25 | 哈尔滨工业大学(威海) | 一种基于整数化混沌映射的动态s盒生成方法 |
CN110995405A (zh) * | 2019-12-05 | 2020-04-10 | 黑龙江大学 | 基于混沌初始向量生成算法及其ip核 |
CN110995405B (zh) * | 2019-12-05 | 2022-04-22 | 黑龙江大学 | 基于混沌初始向量生成算法及其ip核 |
CN112910630A (zh) * | 2021-02-02 | 2021-06-04 | 浙江大华技术股份有限公司 | 扩展密钥的置换方法及装置 |
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN113849867A (zh) * | 2021-08-31 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | 一种加密芯片 |
CN113849867B (zh) * | 2021-08-31 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种加密芯片 |
CN114710285A (zh) * | 2022-05-19 | 2022-07-05 | 北京大学 | 一种面向异构并行架构的高性能sm4比特切片优化方法 |
CN115529121A (zh) * | 2022-09-28 | 2022-12-27 | 苏州中科安源信息技术有限公司 | 基于混沌神经网络的s盒构建方法 |
CN117411618A (zh) * | 2023-12-07 | 2024-01-16 | 杭州城市大脑有限公司 | 应用于国际赛事的密钥生成方法、装置及加密方法 |
CN117411618B (zh) * | 2023-12-07 | 2024-02-20 | 杭州城市大脑有限公司 | 应用于国际赛事的密钥生成方法、装置及加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106209358B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106209358A (zh) | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 | |
CN103413109B (zh) | 一种无线射频识别系统的双向认证方法 | |
US9553722B2 (en) | Generating a key based on a combination of keys | |
Tong | Design of an image encryption scheme based on a multiple chaotic map | |
CN106411518B (zh) | 一种密钥不固定的对称白盒加密方法和装置 | |
US20160335450A1 (en) | Searchable encryption processing system and searchable encryption processing method | |
Dey | SD-AEI: An advanced encryption technique for images | |
CN103825723A (zh) | 一种加密方法和装置 | |
CN103414549A (zh) | 一种qr二维码二值图像分区变密钥混沌加密方法 | |
US20230401666A1 (en) | System and method for encoding and authenticating a digital image | |
CN105916141B (zh) | 一种自同步的祖冲之加解密算法的实现系统及其方法 | |
CN104751065A (zh) | 一种基于地理信息产品文件的加密方法 | |
Hu et al. | On the security analysis of a Hopfield chaotic neural network-based image encryption algorithm | |
KR101413427B1 (ko) | 차량용 네트워크의 보안 메시지 송수신 장치 및 방법 | |
CN107835070B (zh) | 一种简单的嵌入式加密方法 | |
US20190166105A1 (en) | Method and system for encrypting/decrypting data with ultra-low latency for secure data storage and/or communication | |
CN105391546A (zh) | 基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF | |
CN106411513B (zh) | 局域网通信中密钥协商方法及装置 | |
CN105024808A (zh) | 无需改变密钥的安全性补丁 | |
KR101583285B1 (ko) | 확장 키를 이용한 블록 암호화 방법 및 그 방법에 따른 장치 | |
Goyal et al. | A new modified Playfair algorithm using CBC | |
Tong et al. | A new image encryption algorithm based on the high-dimensional chaotic map | |
CN110336667A (zh) | 一种基于伪随机序列控制的通信物理层加密通信方法及装置 | |
Goyal et al. | Network security: a survey paper on playfair cipher and its variants | |
Wang et al. | Improved DES algorithm based on irrational numbers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Ding Qun Inventor after: Wang Chuanfu Inventor after: Yang Ziheng Inventor before: Ding Qun Inventor before: Wang Chuanfu |
|
GR01 | Patent grant | ||
GR01 | Patent grant |