CN113886804A - 基于并行循环移位寄存器的轻量级流密码生成方法 - Google Patents
基于并行循环移位寄存器的轻量级流密码生成方法 Download PDFInfo
- Publication number
- CN113886804A CN113886804A CN202111499101.4A CN202111499101A CN113886804A CN 113886804 A CN113886804 A CN 113886804A CN 202111499101 A CN202111499101 A CN 202111499101A CN 113886804 A CN113886804 A CN 113886804A
- Authority
- CN
- China
- Prior art keywords
- shift register
- parallel
- cyclic shift
- initial
- mod
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于并行循环移位寄存器的轻量级流密码生成方法,包括:将初始密钥K和初始向量IV导入第一并行循环移位寄存器,对初始密钥K进行编排,生成两个初始值;将两个初始值分别导入第二并行循环移位寄存器和第三并行循环移位寄存器,将第二并行循环移位寄存器和第三并行循环移位寄存器的输出值进行异或处理以产生密钥流KS。本发明具有实现简单,效率高等特点,主要用于网络通信与信息系统安全中的数据加解密,同时适用于资源受限设备与资源不受限设备。
Description
技术领域
本发明涉及轻量级流密码技术领域,具体而言涉及一种基于并行循环移位寄存器的轻量级流密码生成方法(LSPRR)。
背景技术
密码体制分为对称密码和非对称密码。非对称密码的加密密钥公开,常用于网络与信息系统安全中的密钥交换与数字签名等;对称密码加密速度快、效率高,常用于网络与信息系统安全中的数据加解密。对称密码又分为流密码和分组密码,两种对称密码各有优缺点。常规密码在设计上侧重于提供高度的安全性,没有考虑算法在资源受限设备上的应用;而轻量级密码在设计上则侧重于为资源受限设备提供适度的安全性,并且注重算法实现时的性能。当前流密码的设计主要基于线性反馈移位寄存器LFSR和非线性反馈移位寄存器NLFSR等,以下合称(N)LFSR。例如,第2代移动通信系统GSM的加密标准A5算法、蓝牙加密标准E0算法和流密码国际标准SNOW2算法都采用了LFSR;Hash函数标准SHA1和SHA2的消息扩展算法以及第3代标准SHA3的多个候选算法采用了(N)LFSR或其它发生器。轻量级流密码的设计也大多采用(N)LFSR,例如,Grain系列算法,WG-7算法以及LIZARD算法等。
对于n级(N)LFSR,其当前输出比特都是前n比特的逻辑函数,这样的逻辑函数共有个,其中线性函数有个,非线性函数有-个。n级NLFSR的最大周期为,n级LFSR
的最大周期为-1。对于n级LFSR,其反馈模式为:
其中,常数∈{0,1},1 ≤ k ≤ n-1,⊕是异或即模2加法。当初始输入的n比特~全为0时,LFSR的输出恒为0,因此,n级LFSR的最大周期为-1。当且仅当LFSR的
反馈多项式为本原多项式时,LFSR的周期才能达到最大。但产生一个本原多项式并不容易,
需借助数学软件包。SHA1的消息扩展算法采用以下模式由前16个字~递推下一
个字:
其中,<<<1表示循环左移1位,字长m为32b(比特)。这相当于字长m为32 bits的
16级发生器,如果输入的初始16个字~全为0,则输出恒为0,因此,其最大周期小于
等于-1。而并行循环移位寄存器PRR作为一种新型反馈移位寄存器,当字长为m比特
时,n级PRR的周期大于。
(N)LFSR可采用并行m个(N)LFSR的方式来提高软件实现效率,相当于字长为m比
特,但最大周期还是小于等于,除非采用像SNOW2一样模的本原多项式,最大周期才小
于等于。也就是说,对于不同的字长m和不同的级数n,(N)LFSR要寻找不同的反馈模
式,周期才能达到最大。对于PRR而言,不管字长m和级数n为多大,PRR存在统一的反馈模式,
无须寻找达到最大周期的反馈模式,可以直接适应各种平台,包括将来128位以上的平台。
在32位平台下(2.4GHz双核CPU、2GB内存、Windows XP、C语言),SNOW2的LFSR速度为630MB/
s;SHA1和SHA256的消息扩展算法速度都小于400MB/s;而PRR的速度达1GB/s。对于周期达到
最大的(N)LFSR,其输出是绝对均匀的,遍历了所有状态才会重复。测试表明,PRR产生的输
出是伪随机均匀的,又能遍历所有状态。
公开号为CN105553647A的中国专利(公开日2016年5月4日)中公开了一种基于非线性循环移位寄存器的轻量级流密码技术LSNR2,采用三个NRR来产生密钥流。公开号为CN105897403A的中国专利(公开日2016年8月24日)中公开了一种基于并行循环移位寄存器的流密码技术SPRR,采用1个PRR和4个NRR来产生密钥流。然而,虽然SPRR和LSNR2的效率高于常见流密码,但相对于日益增加的物联网数据传输速率要求来说,仍显不足。
发明内容
本发明针对现有技术中的不足,提供一种基于并行循环移位寄存器的轻量级流密码生成方法,具有实现简单,效率高等特点,主要用于网络通信与信息系统安全中的数据加解密,且同时适用于资源受限设备与资源不受限设备。
为实现上述目的,本发明采用以下技术方案:
本发明实施例提出了一种基于并行循环移位寄存器的轻量级流密码生成方法,所述生成方法包括以下步骤:
将两个初始值分别导入第二并行循环移位寄存器和第三并行循环移位寄存器,将第二并行循环移位寄存器和第三并行循环移位寄存器的输出值进行异或处理以产生密钥流KS;
其中,第一并行循环移位寄存器、第二并行循环移位寄存器和第三并行循环移位
寄存器的级数n分别为4、5和4;第一并行循环移位寄存器、第二并行循环移位寄存器和第三
并行循环移位寄存器的字长m均为32比特; 为第二并行循环移位寄存器第k次输出的
第i个字; 为第三并行循环移位寄存器第k次输出的第i个字, 、 和
均为32位字;k ≥ 1,0≤i≤3;⊕表示异或。
进一步地,所述初始密钥K的长度Lk ≥ 16B。
进一步地,当初始密钥K长度为16B、字长m为32b时,将初始密钥K和初始向量IV表示成4个32位字级联:
For k=1 to 16
进一步地,所述第二并行循环移位寄存器的初值为:
对于k ≥ 1,第二并行循环移位寄存器的反馈模式为:
进一步地,所述第三并行循环移位寄存器的初值为:
对于k ≥ 1,第三并行循环移位寄存器的反馈模式为:
进一步地,所述生成方法还包括:
基于密钥流KS,加密方式为:密文C=P⊕KS;解密方式为:明文P=C⊕KS。
本发明的有益效果是:
本发明的基于并行循环移位寄存器的轻量级流密码生成方法属于一种轻量级流密码,具有实现简单,效率高等特点,主要用于网络通信与信息系统安全中的数据加解密,LSPRR同时适用于资源受限设备与资源不受限设备。较之以前采用PRR结合NRR设计的流密码,本发明只采用PRR设计的流密码得到了进一步的轻量化,同时提升了软硬件效率。。SPRR、LSNR2、LSPRR单/双核的效率分别为:62/119、80/130、130/169MB/s。NRR是串行的,而PRR是并行的,硬件实现时,LSPRR更有优势。
本发明公开的基于并行循环移位寄存器的轻量级流密码生成方法,在5级PRR的初值前4个字在前面密钥编排的基础上再与初始密钥K相异或,还可以消除前面初始密钥K与初始向量IV相异或的线性。
附图说明
图1是本发明实施例的轻量级流密码的生成方法流程图。
图中:⊕表示异或;PRR表示并行循环移位寄存器。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
图1是本发明实施例的轻量级流密码的生成方法流程图。参见图1,该生成方法包括以下步骤:
将两个初始值分别导入第二并行循环移位寄存器和第三并行循环移位寄存器,将第二并行循环移位寄存器和第三并行循环移位寄存器的输出值进行异或处理以产生密钥流KS:
其中,第一并行循环移位寄存器、第二并行循环移位寄存器和第三并行循环移位
寄存器的级数n分别为4、5和4;第一并行循环移位寄存器、第二并行循环移位寄存器和第三
并行循环移位寄存器的字长m均为32比特; 为第二并行循环移位寄存器第k次输出的
第i个字; 为第三并行循环移位寄存器第k次输出的第i个字, 、 和
均为32位字;k ≥ 1,0≤i≤3;⊕表示异或。
(2) 并行计算后n-1个字:
流密码的加解密方式为:
C=P⊕ KS;P=C⊕ KS。
其中,C为密文,P为明文,KS为密钥流,流密码的关键就是如何产生密钥流。本实施例的LSPRR采用了3个PRR:2个4级和1个5级PRR;其中一个4级PRR0用于密钥编排,生成另2个PRR(PRR1和PRR2)的初始值;2个PRR的输出值进行异或来产生密钥流。LSPRR产生密钥流的过程用KS= LSPRR(K,IV)表示。其中输入参数K为长度Lk≥16B(字节)的初始密钥;参数IV是保密通信中用于抗重放攻击的初始向量,与初始密钥K等长。当初始密钥K长度为16B,字长m为32位时,将初始密钥K和初始IV表示成4个32位字级联:
Fork=1to16
用于产生密钥流的两个PRR(PRR1和PRR2)的初值分别为:
对于k ≥ 1,用于产生密钥流的两个PRR(PRR1和PRR2)的反馈模式分别为:
LSPRR的输出密钥流KS由2个PRR(PRR1和PRR2)的输出进行异或来产生:
相比常用流密码而言,本实施例的轻量级流密码LSPRR优点如下:
(1)良好的伪随机性。统计分析是评估密码算法伪随机性的常用方法,本发明采用依赖性测试和NIST测试套件来评估LSPRR生成密钥流的伪随机性,测试结果如表1和表2所示。
对于依赖性测试,令初始密钥 key 为 0,利用PRR产生10000个密钥样本。对于每
个密钥,改变密钥的每一位,将输出的比特流与原密钥产生的比特流进行比较统计,测试结
果如表1所示,其中表示严格雪崩准则度, 表示雪崩效应度, 表示完备度,参考值
由常用算法的测试结果得到。测试表明,LSPRR密钥编排时仅需9次迭代便能达到参考标准,
因此LSPRR采用16次迭代的依赖性检测是成功的。
表1 LSPRR的依赖性测试结果
对于NIST测试来说,如果计算结果为接受水平Pv< 0.01,则认为流密码是非随机的;如果Pv≥ 0.01,则认为流密码是随机的。测试结果如表2所示,LSPPR生成的密钥流通过全部15项测试,因此LSPRR生成的密钥流具有良好的伪随机性。
表2 LSPRR输出的伪随机性测试结果
(2)安全性更高。由于循环移位数j不固定,因此字长为m比特时,n级PRR的周期大
于 。经测试,当字长为 8比特时,对于不同的反馈模式以及不同的级数,PRR的周期如
表3所示。在第一种反馈模式下, 2 级 PRR 的周期为 B(字节);3 级 PRR
的周期为 331,573248 > B。在第二种反馈模式下,测试得 2 级 PRR 的周期为
8569856 >B ;3 级 PRR 的周期为 2639,364096 >B。测试表明,字长为m比特
时,n级PRR的周期大于,且周期与寄存器的初值、循环移位数j的初值无关。
表3 2级和3级PRR的周期
对于周期达到最大的 LFSR,其输出状态 1~ -1 是绝对均匀的;对于周期达到
最大的NLFSR,其输出状态0~-1是绝对均匀的,遍历了所有状态才会重复。测试表明,PRR
产生的输出是伪随机均匀的,没有遍历所有状态也可能出现重复。寄存器状态重复不一定
是周期重复,当寄存器的状态和循环移位数j的状态同时重复才是周期重复。因此,PRR 的
不可预测性和安全性优于 (N)LFSR。
LSPRR的密钥流生成使用两个不同级数的PRR,可以通过自反馈迭代更新不断提高密码算法的非线性度,增加了攻击者建立和求解非线性方程的难度,使得代数攻击难以破解。同时,因为PRR具有较高的非线性,LSPRR可以抵抗一些线性逼近攻击以及错误攻击。
(3) 软件效率更高。单核时,常用对称密码的速度不超过50MB/s;双核时不超过100MB/s。2GHz单核时,RC6-ECB的加密速度,即RC6-CTR和RC6-OFB产生密钥流的速度约为45MB/s;RC4、AES-CTR和AES-OFB产生密钥流的速度约为30MB/s。2.4GHz双核时,AES-CTR和AES-OFB产生密钥流的速度约为75MB/s。2GHz单核时,LSPRR产生密钥流的速度约为130 MB/s;2.4GHz双核时,LSPRR产生密钥流的速度约为170 MB/s。LSPRR用于产生密钥流的2个PRR能并行处理,双核时效率达到最佳,适合目前普遍使用的多核平台。在在Intel(R)、Core(TM)、CPU为i5-6300HQ、主频2.3GHz、内存8GB、C++语言编程环境下测得LSPRR与其它流密码产生密钥流的速度如表4所示。
表4 LSPRR与其它流密码的速度对比
流密码算法 | LSPRR | RC4 | SVHF | WG-7 |
加密速度(MB/s) | 169.09 | 76.65 | 53.31 | 13.43 |
(4) 多平台适应性更灵活。对于字长为m的平台,(N)LFSR 软件实现时,可以并行m
个 (N)LFSR,但最大周期还是小于等于 ,除非对于不同的字长m和不同的级数n,(N)LFSR
采用不同的反馈模式,最大周期才小于等于 。不管字长m和级数n为多大,PRR存在固
定的反馈模式 = [<<< (j mod m)]+ + i mod 和 = [ <<< (j
mod m)]+ + j mod ,无须寻找达到最大周期的反馈模式,可以直接适应各种平台,
包括将来 128 位以上的平台。
(5)同时适用于资源受限设备以及资源不受限设备。对于资源受限设备来讲,一般具有严格限制功耗、处理器性能较弱以及内存容量有限等共同特点,这使得传统的加密强度高、安全性好,但是软硬件实现要消耗大量资源的加密算法无法在资源受限设备中得到更好的使用。同时常见的轻量级密码用于资源不受限的终端与资源受限终端互通,发挥不了资源不受限终端的资源优势,效率低。本发明的最大优势是设计了一种能充分利用资源不受限终端的资源优势、又适合资源受限终端的、效率高于常规对称密码的轻量级密码。当采用0.18μm的UMC标准元件库,字长为32比特时,LSPRR算法硬件实现需要的逻辑门电路(GE)数约为3098GE,符合轻量级密码的需求。
Claims (4)
1.一种基于并行循环移位寄存器的轻量级流密码生成方法,其特征在于,所述生成方法包括以下步骤:
将两个初始值分别导入第二并行循环移位寄存器和第三并行循环移位寄存器,将第二并行循环移位寄存器和第三并行循环移位寄存器的输出值进行异或处理以产生密钥流KS;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499101.4A CN113886804B (zh) | 2021-12-09 | 2021-12-09 | 基于并行循环移位寄存器的轻量级流密码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499101.4A CN113886804B (zh) | 2021-12-09 | 2021-12-09 | 基于并行循环移位寄存器的轻量级流密码生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886804A true CN113886804A (zh) | 2022-01-04 |
CN113886804B CN113886804B (zh) | 2022-04-29 |
Family
ID=79016670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111499101.4A Active CN113886804B (zh) | 2021-12-09 | 2021-12-09 | 基于并行循环移位寄存器的轻量级流密码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886804B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162579A (zh) * | 2015-06-18 | 2015-12-16 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr |
CN105553647A (zh) * | 2016-02-26 | 2016-05-04 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 |
CN108270548A (zh) * | 2017-12-08 | 2018-07-10 | 中国电子科技集团公司第三十研究所 | 一种Grain型流密码的判别方法 |
-
2021
- 2021-12-09 CN CN202111499101.4A patent/CN113886804B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162579A (zh) * | 2015-06-18 | 2015-12-16 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr |
CN105553647A (zh) * | 2016-02-26 | 2016-05-04 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 |
CN108270548A (zh) * | 2017-12-08 | 2018-07-10 | 中国电子科技集团公司第三十研究所 | 一种Grain型流密码的判别方法 |
Non-Patent Citations (1)
Title |
---|
时阳阳等: "一种基于 Feistel 结构和 WTS 的分组密码", 《计算机技术与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113886804B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1583278B1 (en) | Stream Cipher Design with Revolving Buffers | |
Noura et al. | Lightweight stream cipher scheme for resource-constrained IoT devices | |
CN107147487B (zh) | 对称密钥随机分组密码 | |
CN110572255B (zh) | 基于轻量级分组密码算法Shadow的加密方法、装置及计算机可读介质 | |
Naif et al. | Secure IOT system based on chaos-modified lightweight AES | |
El Hennawy et al. | LEA: link encryption algorithm proposed stream cipher algorithm | |
Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
Xu et al. | A Strong Key Expansion Algorithm Based on Nondegenerate 2D Chaotic Map Over GF (2 n) | |
Garcia-Bosque et al. | Secure communication system based on a logistic map and a linear feedback shift register | |
Lustro et al. | Performance analysis of enhanced SPECK algorithm | |
CN113886804B (zh) | 基于并行循环移位寄存器的轻量级流密码生成方法 | |
Diedrich et al. | Comparison of Lightweight Stream Ciphers: MICKEY 2.0, WG-8, Grain and Trivium | |
Alamari et al. | Parallel Message Authentication Algorithm Implemented Over Multicore CPU. | |
Barrieta et al. | Modified Hill Cipher Algorithm using Myszkowski Transposition to address Known-Plaintext attack | |
Sosa-Gómez et al. | Using Hadamard transform for cryptanalysis of pseudo-random generators in stream ciphers | |
Stoyanov et al. | Design of a new self-shrinking 2-adic cryptographic system with application to image encryption | |
Younes et al. | CeTrivium: A Stream Cipher Based on Cellular Automata for Securing Real-TimeMultimedia Transmission. | |
Yerukala et al. | LFL-A New Stream Cipher for Secure Communications | |
de Dieu Nkapkop | A secure and fast chaotic encryption algorithm using the true accuracy of the computer | |
Abumuala et al. | A new method for generating cryptographically strong sequences of pseudo random bits for stream cipher | |
Abubaker et al. | DAFA-A Lightweight DES Augmented Finite Automaton Cryptosystem | |
Prathima et al. | ASIC Implementation of Rabbit Stream Cipher Encryption for Data | |
US20240187213A1 (en) | Galois extension field-based block cipher | |
Feng et al. | A new construction of pseudorandom number generator | |
Sönmez Turan | On statistical analysis of synchronous stream ciphers |
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 |