CN106209358A - 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 - Google Patents

一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 Download PDF

Info

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
Application number
CN201610545864.0A
Other languages
English (en)
Other versions
CN106209358B (zh
Inventor
丁群
王传福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heilongjiang University
Original Assignee
Heilongjiang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Heilongjiang University filed Critical Heilongjiang University
Priority to CN201610545864.0A priority Critical patent/CN106209358B/zh
Publication of CN106209358A publication Critical patent/CN106209358A/zh
Application granted granted Critical
Publication of CN106209358B publication Critical patent/CN106209358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic 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密钥扩展算法的实现系统及其方法。
背景技术
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次,并停止输出。
CN201610545864.0A 2016-07-12 2016-07-12 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 Active CN106209358B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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混沌序列的并行计算方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
程海: ""基于FPGA的图像加密关键技术研究"", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (19)

* Cited by examiner, † Cited by third party
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