CN110995405B - 基于混沌初始向量生成算法及其ip核 - Google Patents
基于混沌初始向量生成算法及其ip核 Download PDFInfo
- Publication number
- CN110995405B CN110995405B CN201911232173.5A CN201911232173A CN110995405B CN 110995405 B CN110995405 B CN 110995405B CN 201911232173 A CN201911232173 A CN 201911232173A CN 110995405 B CN110995405 B CN 110995405B
- Authority
- CN
- China
- Prior art keywords
- module
- key
- initial vector
- sequence
- bit
- 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
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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于混沌初始向量生成算法及其IP核,生成算法基于Logistic混沌的序列发生器中输入32比特的初值x0,将ZUC加密算法的128比特的初始密钥KEY划分为16个32比特key[i];将key[0]赋值给32比特x0,并计算x1=4x0(1‑x0);将key[i]赋值给key[i‑1],再将x1赋值给key[15],对按顺序产生的所有x1序列隔1024比特截取末尾128比特序列作为一个初始向量。生成算法的IP核,包括:该方法生成的初始向量生成模块、ZUC加密算法模块、密钥流FIFO模块、运算模块、UART通信模块和控制器模块。本发明利用混沌伪随机序列良好的随机性,大大提高了初始向量的不可预测性。
Description
技术领域:
本发明涉及数据加密领域,具体涉及一种基于混沌初始向量生成算法及其IP核。
背景技术:
祖冲之(简称ZUC)序列密码是一种同步序列密码算法,该算法输入包含两个部分,即位宽为128比特的初始密钥(Initial Key,简称KEY)和位宽为128比特的初始向量(Initial Vector,简称IV)。ZUC序列密码算法是利用输入的128比特KEY和128比特初始向量生成密钥流对数字信息进行加密。
ZUC序列密码算法是国际标准化组织3GPP(3rd Generation PartnershipProject)推荐的第三套国际加密算法。根据3GPP所颁布的ZUC序列密码算法,初始向量是利用无线通信过程中相关的控制信息以固定的方式和结构生成的,其表述为:令信号COUNT=COUNT[0]||COUNT[1]||COUNT[2]||COUNT[3],COUNT代表通信过程中的帧计数器,其位宽为32比特,其中COUNT[i](0≦i≦3)为8比特长的字节,且128比特宽度的初始向量表示为IV=IV[0]||IV[1]||IV[2]||...||IV[15],其中IV[i](0≦i≦15)为8比特的字节,则:
IV[0]=COUNT[0],IV[1]=COUNT[1],
IV[2]=COUNT[2],IV[3]=COUNT[3],
IV[4]=BEARER||DIRECTION||002,
IV[5]=IV[6]=IV[7]=000000002,
IV[8]=IV[0],IV[9]=IV[1],
IV[10]=IV[2],IV[11]=IV[3],
IV[12]=IV[4],IV[13]=IV[5],
IV[14]=IV[6],IV[15]=IV[7].
其中符号“||”为位连接符号,信号BEARER位宽为5比特,功能是承载层标识,信号DIRECTION位宽为1比特,功能是传输方向标识。由于初始向量在通信中是非保密的,可以以明文形式传输,并且信号COUNT在每次更新KEY后置0,并以递增的方式改变,而信号DIRECTION又只有上行和下行两种状态,则在整个初始向量中只有5比特的信号BEARER是完全不可预测的。理想情况下,IV中不可预测部分的位数和KEY的位数应该相同,以提高抗TMDTO(Time-Memory-Data Trade-Off)攻击的能力。在一些文献中指出了这一问题,并且也指出了初始向量中较短的不可预测位数会降低替代类型的TMTO攻击的复杂度,而增加初始向量中不可预测的位数有利于改善这一问题。
初始向量在同步序列密码算法中扮演着十分重要的作用。很多情况下,在具体加密过程中,KEY无法经常变更,这时更新使用不同的初始向量便避免了在相同明文和相同密钥下产生相同密文的情况,也避免了相同密钥流被多次用于加密。同时,在无线通信中,信道中的信息容易丢失,当一个加密通信系统只能在信息接收完整的情况下才能进行正确的解密时,这个系统是难以应用的。
发明内容
基于以上不足之处,本发明提供一种基于混沌初始向量生成算法及其IP核,大大提高了初始向量的不可预测性,以改善应对TMTO攻击的能力。
本发明所采用的技术如下:一种基于混沌初始向量生成算法,初始向量生成方法如下:
步骤一、首先要向基于Logistic混沌的序列发生器中输入32比特的初值x0,将ZUC加密算法的128比特的初始密钥KEY划分为16个32比特key[i](0≤i≤15),使key[i](0≤i≤15)分别作为Logistic混沌迭代映射的输入,
其中,Logistic混沌迭代映射的表达式如下:
xn+1=4xn(1-xn) (1)
其中x0是初始值,n是迭代次数,且xn由32比特寄存器构成;
步骤二、将key[0]赋值给32比特x0,并计算x1=4x0(1-x0);
步骤三、将key[i]赋值给key[i-1],再将x1赋值给key[15],对按顺序产生的所有x1序列隔1024比特截取末尾128比特序列作为一个初始向量,并转回至步骤二。
本发明还具有如下特征:一种基于混沌初始向量生成算法的IP核,包括:如上方法生成的初始向量生成模块、ZUC加密算法模块、密钥流FIFO模块、运算模块、UART通信模块和控制器模块,
所述的初始向量生成模块负责生成ZUC加密算法模块工作所需的初始向量;
所述的ZUC加密算法模块负责根据密钥KEY和初始向量生成用于加解密的密钥序列;
所述的密钥流FIFO模块用于缓存ZUC加密算法模块输出的密钥流;
所述的UART通信模块实现了IP核与上位机通信过程的调制与解调工作;
所述的运算模块将从UART通信模块的接收器FIFO单元和密钥流FIFO模块中取出的数据进行异或运算,完成数据的加解密,并将处理完成的数据交给UART通信模块的发送器FIFO单元;
所述的控制器模块为整个IP核的主控单元,所有的模块在其调度下工作,它控制着数据的流向以及数据所接受的运算。
本发明的优点及有益效果如下:本发明利用混沌伪随机序列良好的随机性,大大提高了初始向量的不可预测性,以改善应对TMTO攻击的能力,并将其与ZUC序列密码算法相结合,形成了ZUC加密算法IP核的重要组成部分。此外,序列密码算法加入初始向量同时为数据通信设计帧结构使得即使出现部分数据受损或缺失的情况,系统依旧可以继续完成那些被正确接收的数据帧的解密工作。在发送信息是有顺序的情况中,初始向量还可以用作信息帧的编号。
附图说明
图1为基于FPGA的ZUC加密算法IP核的原理图;
图2为基于Logistic混沌的初始向量生成算法模块硬件实现的顶层设计图;
图3为初始向量生成模块的流程图;
图4为FPGA顶层架构图。
具体实施方式
下面根据说明书附图举例对本发明做进一步的说明:
实施例1
一种基于混沌初始向量生成算法,初始向量生成方法如下:
步骤一、首先要向基于Logistic混沌的序列发生器中输入32比特的初值x0,将ZUC加密算法的128比特的初始密钥KEY划分为16个32比特key[i](0≤i≤15),使key[i](0≤i≤15)分别作为Logistic混沌迭代映射的输入,
其中,Logistic混沌迭代映射的表达式如下:
xn+1=4xn(1-xn) (1)
其中x0是初始值,n是迭代次数,且xn由32比特寄存器构成;
步骤二、将key[0]赋值给32比特x0,并计算x1=4x0(1-x0);
步骤三、将key[i]赋值给key[i-1],再将x1赋值给key[15],对按顺序产生的所有x1序列隔1024比特截取末尾128比特序列作为一个初始向量,并转回至步骤二。
其中,基于混沌初始向量生成算法的IP核,包括:初始向量生成模块、ZUC加密算法模块、密钥流FIFO模块、运算模块、UART通信模块和控制器模块,所述的初始向量生成模块负责生成ZUC加密算法模块工作所需的初始向量;
所述的ZUC加密算法模块负责根据密钥KEY和初始向量生成用于加解密的密钥序列;
所述的密钥流FIFO模块用于缓存ZUC加密算法模块输出的密钥流;
所述的UART通信模块实现了IP核与上位机通信过程的调制与解调工作;
所述的运算模块将从UART通信模块的接收器FIFO单元和密钥流FIFO模块中取出的数据进行异或运算,完成数据的加解密,并将处理完成的数据交给UART通信模块的发送器FIFO单元;
所述的控制器模块为整个IP核的主控单元,所有的模块在其调度下工作,它控制着数据的流向以及数据所接受的运算。
实施例2
基于混沌初始向量生成算法的IP核的FPGA
如图2所示,初始向量生成模块具有6个输入输出信号,其信号定义在表1中列出。
表1顶层模块信号列表
初始向量生成模块除了时钟信号和复位信号之外,还有一个控制信号“开始”,这里对初始向量生成模块的主要工作流程进行说明:当初始向量生成模块上电后,首先进行复位操作,之后初始向量生成模块进入待命状态,当开始信号第一次有效时,初始向量生成模块将下载密钥并运行1024个时钟周期,然后输出一个初始向量,同时初始向量有效标志信号“IV输出有效”拉高一拍,表示此时输出信号“输出IV”上的信号有效,接着模块进入待命状态,若信号“开始”再次有效,模块将紧接之前状态再次运行1024个时钟周期并产生新初始向量,以此类推,这里使用算法流程图来表述主要工作流程,如图3所示。
图4为的顶层架构设计,其中具有多拍潜伏期的模块其潜伏期(latency)已在图中标注。初始向量生成模块全局的计算精度为32比特,且由式(1)可知系统变量xn∈(0,1),则IVMKAKER的所有运算均为32比特无符号纯小数,例如系统中一个32位二进制数表示为Mb=m31m30m29…m1m0,其中mi∈{0,1}且i=0,1,2,…,31,则它所表示的十进制数可由式(2)表示:
控制模块为控制单元,它完成式(1)中初值生成的功能,同时控制各个子模块的使能以及选择器模块的选择信号等功能。延迟模块将输入延迟两个时钟周期输出;安位取反模块的功能表达式如下:
bn[31:0]=~sel[31:0] (3)
加法器模块完成了对输入值的加1计算,其表达式如下:
add[31:0]=bn[31:0]+1 (4)
按位取反模块与加法器模块级联共同完成了式(1)中(1-xn)部分的计算,其原理类似补码,这里举例说明:例如存在无符号二进制数A=10000、B=1010,很明显,要得到A-B的值,可以通过~B+1得到。这么做是因为在本设计中,系统中所有的数均为32位无符号小数,要表示十进制1,则需要33位位宽,而采用本设计中的方法,既避免了为表示十进制1而单独增加一位位宽,又避免了在数字电路中使用减法,此外,取反操作对于数字电路来说,实现起来也是十分简单的;乘法器模块完成了xn(1-xn)的计算工作,当两个位宽为32位的数据在进行乘法运算后,乘法器内部将会产生一个64比特位宽的乘积。
我们对实现的初始向量生成模块所占用的资源和速度情况进行了统计,并与使用常规的Logistic混沌序列生成算法实现相同功能的电路进行了对比,结果如表2所示,可见我们所实现的初始向量生成模块在FPGA芯片上的逻辑资源Slice消耗增加16.3%的情况下,使得电路的最高运行频率增加了2.4倍,在使生成的初始向量获得了更好的不可预测性的基础上,同时获得了不错的资源消耗和速度水平。
表2资源与速度对比
Claims (1)
1.一种基于混沌初始向量生成算法的IP核,包括:初始向量生成模块、ZUC加密算法模块、密钥流FIFO模块、运算模块、UART通信模块和控制器模块,其特征在于,
所述的初始向量生成模块负责生成ZUC加密算法模块工作所需的初始向量;
所述的ZUC加密算法模块负责根据密钥KEY和初始向量生成用于加解密的密钥序列;
所述的密钥流FIFO模块用于缓存ZUC加密算法模块输出的密钥流;
所述的UART通信模块实现了IP核与上位机通信过程的调制与解调工作;
所述的运算模块将从UART通信模块的接收器FIFO单元和密钥流FIFO模块中取出的数据进行异或运算,完成数据的加解密,并将处理完成的数据交给UART通信模块的发送器FIFO单元;
所述的控制器模块为整个IP核的主控单元,所有的模块在其调度下工作,它控制着数据的流向以及数据所接受的运算;
其中,初始向量模块的生成方法步骤如下:
步骤一、首先要向基于Logistic混沌的序列发生器中输入32比特的初值x0,将ZUC加密算法的128比特的初始密钥KEY划分为16个32比特key[i],0≤i≤15,使key[i]分别作为Logistic混沌迭代映射的输入,
其中,Logistic混沌迭代映射的表达式如下:
xn+1=4xn(1-xn) (1)
其中x0是初始值,n是迭代次数,且xn由32比特寄存器构成;
步骤二、将key[0]赋值给32比特x0,并计算x1=4x0(1-x0);
步骤三、将key[i]赋值给key[i-1],再将x1赋值给key[15],对按顺序产生的所有x1序列隔1024比特截取末尾128比特序列作为一个初始向量,并转回至步骤二。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911232173.5A CN110995405B (zh) | 2019-12-05 | 2019-12-05 | 基于混沌初始向量生成算法及其ip核 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911232173.5A CN110995405B (zh) | 2019-12-05 | 2019-12-05 | 基于混沌初始向量生成算法及其ip核 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995405A CN110995405A (zh) | 2020-04-10 |
CN110995405B true CN110995405B (zh) | 2022-04-22 |
Family
ID=70090134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911232173.5A Active CN110995405B (zh) | 2019-12-05 | 2019-12-05 | 基于混沌初始向量生成算法及其ip核 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110995405B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367155B (zh) * | 2020-10-13 | 2022-06-07 | 黑龙江大学 | 一种基于fpga的zuc加密系统ip核构建方法 |
CN115277977B (zh) * | 2022-07-25 | 2023-11-10 | 重庆邮电大学 | 基于fpga可配置浮点精度的混合混沌图像加密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731822A (zh) * | 2012-10-15 | 2014-04-16 | 中国科学院微电子研究所 | 一种祖冲之算法的实现系统及其方法 |
CN105808207A (zh) * | 2016-03-22 | 2016-07-27 | 中国科学院半导体研究所 | 混沌伪随机数发生器、采用其的电路及片上系统 |
CN105916141A (zh) * | 2016-07-12 | 2016-08-31 | 黑龙江大学 | 一种自同步的祖冲之加解密算法的实现系统及其方法 |
CN106209358A (zh) * | 2016-07-12 | 2016-12-07 | 黑龙江大学 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216037A (ja) * | 2001-11-16 | 2003-07-30 | Yazaki Corp | 暗号キー、暗号化装置、暗号化復号化装置、暗号キー管理装置及び復号化装置 |
US20160234009A1 (en) * | 2015-02-08 | 2016-08-11 | Wenhua Li | Chaotic Baseband Modulation Hopping Based Post-Quantum Physical-Layer Encryption |
CN108377180A (zh) * | 2018-03-29 | 2018-08-07 | 哈尔滨理工大学 | 一种基于stm32的无线保密通信系统 |
-
2019
- 2019-12-05 CN CN201911232173.5A patent/CN110995405B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731822A (zh) * | 2012-10-15 | 2014-04-16 | 中国科学院微电子研究所 | 一种祖冲之算法的实现系统及其方法 |
CN105808207A (zh) * | 2016-03-22 | 2016-07-27 | 中国科学院半导体研究所 | 混沌伪随机数发生器、采用其的电路及片上系统 |
CN105916141A (zh) * | 2016-07-12 | 2016-08-31 | 黑龙江大学 | 一种自同步的祖冲之加解密算法的实现系统及其方法 |
CN106209358A (zh) * | 2016-07-12 | 2016-12-07 | 黑龙江大学 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
Non-Patent Citations (5)
Title |
---|
An Efficient Image Encryption Scheme Based on ZUC Stream Cipher and Chaotic Logistic Map;Hai Cheng ect.;《Intelligent Data analysis and its Applications》;20141231;正文第2-3节 * |
Design and Implementation of Pseudo-Random Sequence Generator Based on Logistic Chaotic System and m-Sequence Using FPGA;Kai Feng and Qun Ding;《International Conference on Intelligent Information Hiding and Multimedia Signal Processing》;20170718;全文 * |
基于混沌S盒的无线传感器网络分组加密算法;何远等;《计算机应用》;20130401(第04期);全文 * |
基于置乱、混淆与掩蔽规则融合3D混沌映射的图像加密算法研究;尹燕等;《科学技术与工程》;20140218(第05期);全文 * |
祖冲之算法在数字图像加密中的应用与实现;任高峰等;《科学技术与工程》;20130128(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110995405A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Farashahi et al. | FPGA based fast and high-throughput 2-slow retiming 128-bit AES encryption algorithm | |
JP6042820B2 (ja) | 非線形処理器、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、マスク処理方法、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム | |
US20210021405A1 (en) | Key sequence generation for cryptographic operations | |
Kundi et al. | A high performance ST-Box based unified AES encryption/decryption architecture on FPGA | |
Rouvroy et al. | Efficient uses of FPGAs for implementations of DES and its experimental linear cryptanalysis | |
Karthigaikumar et al. | Simulation of image encryption using AES algorithm | |
CN110995405B (zh) | 基于混沌初始向量生成算法及其ip核 | |
Singh et al. | An efficient hardware design and implementation of advanced encryption standard (AES) algorithm | |
JP2005215688A (ja) | S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法 | |
WO2001017152A1 (en) | A method for the hardware implementation of the idea cryptographic algorithm - hipcrypto | |
Chawla et al. | FPGA implementation of an optimized 8-bit AES architecture: A masked S-Box and pipelined approach | |
EP1416664A2 (en) | Data encryption method | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
Rashidi et al. | FPGA based a new low power and self-timed AES 128-bit encryption algorithm for encryption audio signal | |
US20020172355A1 (en) | High-performance booth-encoded montgomery module | |
Basu et al. | implementation of AES algorithm in UART module for secured data transfer | |
Trivedi et al. | Development of platform using nios ii soft core processor for image encryption and decryption using aes algorithm | |
Negi et al. | Implementation of AES Employing Systolic Array and Pipelining Approach | |
Pyrgas et al. | An 8-bit compact architecture of lesamnta-LW Hash function for constrained devices | |
Jain et al. | An Inner Round Pipeline Architecture Hardware Core for AES | |
JP6972593B2 (ja) | 帰還シフトレジスタ回路及び帰還シフトレジスタの動作方法 | |
Parmar et al. | High speed architecture implementation of AES using FPGA | |
Karki et al. | Advanced encryption techniques based on S-box and elliptical curve revisited | |
Lakshmi et al. | Design and implementation of FPGA based dual key encryption | |
Hulle et al. | High Performance Architecture for LILI-II Stream Cipher |
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 |