CN103166753B - 4个非线性驱动的轻量级流密码加密方法 - Google Patents

4个非线性驱动的轻量级流密码加密方法 Download PDF

Info

Publication number
CN103166753B
CN103166753B CN201310098769.7A CN201310098769A CN103166753B CN 103166753 B CN103166753 B CN 103166753B CN 201310098769 A CN201310098769 A CN 201310098769A CN 103166753 B CN103166753 B CN 103166753B
Authority
CN
China
Prior art keywords
state
register
inject
bit
memory
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.)
Expired - Fee Related
Application number
CN201310098769.7A
Other languages
English (en)
Other versions
CN103166753A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201310098769.7A priority Critical patent/CN103166753B/zh
Publication of CN103166753A publication Critical patent/CN103166753A/zh
Application granted granted Critical
Publication of CN103166753B publication Critical patent/CN103166753B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种4个非线性驱动的轻量级流密码加密方法,其仅采用面向比特的异或和与运算,内部操作容易实现;借鉴分组密码的多轮迭代思想,对初始化内部向量进行“多轮”比特混合置乱操作,从而能够快速达到置乱效果;新引入“分区交替扩散”和“多层混淆”的技术,快速完成种子密钥比特间混淆和扩散效果;所选的4个非线性驱动部件具有稳固的密码学性质以抵抗多种攻击;密钥生成阶段新引入双二次项进行非线性置乱,有效抵抗传统的内部状态恢复攻击;种子密钥长度为88比特具有高安全强度;算法简洁、容易软、硬件平行实现,特别适合资源受限环境下使用,比如无限传感器网络等;实现的存储代价小。

Description

4个非线性驱动的轻量级流密码加密方法
技术领域
本发明涉及信息安全领域,具体涉及一种4个非线性驱动的轻量级流密码加密方法。
背景技术
在数据传输过程中,部分敏感数据为了防止攻击者的窃听而需要进行加密处理,使得攻击者只能窃听到密文而无法获得任何有用信息,只用拥有密钥的合法接收者才能解密还原出真实消息。在数据加密算法中,有两大类加密算法。一是分组加密算法,二是流密码加密算法(也称为序列密码)。分组加密算法的加密数据是固定长度的(分成一组一组),而流密码加密算法的加密长度是一个可变范围很大的值。分组密码以一定大小作为每次处理的基本单元,而序列密码则是以一个元素(一个字母或一个比特)作为基本的处理单元。流密码加密算法具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信和外交通信等。流密码加密算法具体应用环境和模式可见图1。首先消息发送方和接收方通过一个安全信道共享了一个种子密钥k,对于每一比特明文xi,发送方都使用一个流密码加密算法产生相对应的一比特密钥流zi,然后用zi与xi异或掩盖明文而获得密文yi,即消息接收方接收到yi后,使用相同的方法和相同的密钥产生相同的密钥流比特zi,将zi与yi异或后即可恢复出明文xi,即然而传统的流密码加密算法的内部操作不易实现,内部置乱效果不佳,易受到攻击等不足,因此还需要对传统的流密码加密算法进行进一步的改进。
发明内容
本发明所要解决的技术问题是提供一种安全强度高、算法简洁易于实现、以及存储代价小的4个非线性驱动的轻量级流密码加密方法。
为解决上述问题,本发明是通过以下方案实现的:
4个非线性驱动的轻量级流密码加密方法,包括如下步骤:
(1)内部状态初始化阶段;
(1.1)随机选择1个可变的88比特的种子密钥K=(k1,k2,……,k88)、1个可变的88比特的初始向量V=(v1,v2,……,v80)、一个1个固定的80比特的常量值C=(c1,c2,……,c80);
(1.2)将上述88比特的种子密钥K,88比特的初始向量V和80比特的常量值C注入一个256比特长的寄存器(s1,s2,……,s256)中,其中
寄存器(s1,s2,……,s64)的状态由比特(k1,k2,……,k22,v1,v2,……,v22,c1,c2,……,c20)注入,
寄存器(s65,s66,……,s128)的状态由比特(k23,k24,……,k44,v23,v24,……,v44,c21,c22,……,c40)注入,
寄存器(s129,s130……,s192)的状态由比特(k45,k46,……,k66,v45,v46,……,v66,c41,c42,……,c60)注入,
寄存器(s193,s194,……,s256)的状态由比特(k67,k68,……,k88,v67,v68,……,v88,c61,c62,……,c80)注入;
(1.3)对寄存器(s1,s2,……,s256)进行如下步骤1024次;
(a)开辟4个新的存储器(t1,t2,t3,t4),该存储器t1,t2,t3,t4的状态分别是从寄存器(s1,s2,……,s256)中选取不同的6个字进行平衡及2次项的组合后注入的,其中存储器t1的状态由s3,s62,s63,s64,s125,s189来决定;存储器t2的状态由s36,s126,s127,s128,s188,s252来决定;存储器t3的状态由s59,s158,s190,s191,s251来决定,存储器t4的状态由s21,s185,s268,s254,s255来决定;
(b)寄存器(s1,s2,……,s64)的状态更新为(t3,s1,s2,……,s63),
寄存器(s65,s66,……,s128)的状态更新为(t1,s65,s66,……,s127),
寄存器(s129,s130,……,s192)的状态更新为(t4,s129,s130,……,s191),
寄存器(s193,s194,……,s256)的状态更新为(t2,s193,s194,……,s255);
(2)密钥流生成阶段;若需要生成的密钥流比特数N个,则执行以下步骤N次;
(2.1)开辟4个新的存储器(t1’,t2’,t3’,t4’),其中该新的存储器t1’,t2’,t3’,t4’的状态分别是从寄存器(s1,s2,……,s256)中选取不同的2个字进行线性组合后注入的,其中新的存储器t1’的状态由s32,s64来决定;新的存储器t2’的状态由s92,s128等来决定;新的存储器t3’的状态由s160,s192等来决定;新的存储器t4’的状态由s226,s256等来决定;
(2.2)将新的存储器t1’,t2’,t3’,t4’进行线性组合后,输出密钥流比特;
(2.3)分别更新新的存储器(t1’,t2’,t3’,t4’),即将新的存储器t1’,t2’,t3’,t4’的状态更新为由另一个新的存储器(t1’,t2’,t3’,t4’)之一和存储器(t1,t2,t3,t4)中对应选取的的6个字进行平衡及2次项的组合后注入;其中新的存储器t1’的状态由t3’,s3,s62,s63,s64,s125,s189来决定;新的存储器t2’的状态由t1’,s36,s126,s127,s128,s188,s252来决定;新的存储器t3’的状态由t4’,s59,s158,s190,s191,s251来决定,新的存储器t4’的状态由t2’,s21,s185,s268,s254,s255来决定;
(2.4)寄存器(s1,s2,……,s64)的状态更新为(t3’,s1,s2,……,s63);
寄存器(s65,s66,……,s128)的状态更新为(t1’,s65,s66,……,s127);
寄存器(s129,s130,……,s192)的状态更新为(t4’,s129,s130,……,s191);
寄存器(s193,s194,……,s256)的状态更新为(t2’,s193,s194,……,s255);
(3)加密阶段;其中Yi为获得的密文,Xi为待加密的明文,Zi密钥流比特;
上述各步骤中,表示异或运算,“·”表示与运算。
在步骤(1.1)中,种子密钥K为保密的,初始向量V为保密的或公开的。
在步骤(1.1)中,初始向量V为发送接收双方协商一致的值。
在步骤(1.1)中,常量值C具体为(1,0,1,0,……,1,0)。
在步骤(2)中,密钥流比特数N介于1~256之间。
在步骤(1.3)的(a)中,存储器t1的状态由 注入,存储器t2的状态由 注入,存储器t3的状态由 注入,存储器t4的状态由注入。
在步骤(2.1)中,新的存储器t1’的状态由注入,新的存储器t2’的状态由注入,新的存储器t3’的状态由注入,新的存储器t4’的状态由注入。
在步骤(2.2)中,输出密钥流比特
在步骤(2.3)中,新的存储器t1’的状态更新为 新的存储器t2’的状态更新为 新的存储器t3’的状态更新为 新的存储器t4’的状态更新为
与现有技术相比,本发明具有如下特点:
(1)仅采用面向比特的异或和与运算“·”运算,内部操作容易实现;
(2)借鉴分组密码的多轮迭代思想,对初始化内部向量进行“多轮”比特混合置乱操作,从而能够快速达到置乱效果;
(3)新引入“分区交替扩散”和“多层混淆”的技术,快速完成种子密钥比特间混淆和扩散效果;
(4)所选的4个非线性驱动部件具有稳固的密码学性质以抵抗多种攻击,如平凡的统计攻击、边信道攻击、时空折中攻击等等;
(5)密钥生成阶段新引入双二次项进行非线性置乱,有效抵抗传统的内部状态恢复攻击;
(6)种子密钥长度为88比特具有高安全强度;
(7)算法简洁、容易软、硬件平行实现,特别适合资源受限环境下使用,比如无限传感器网络等;
(8)实现的存储代价小。
附图说明
图1为流密码加密方法使用示意图。
具体实施方式
一种4个非线性驱动的轻量级流密码加密方法,包括如下步骤:
第一阶段,内部状态初始化阶段。
(1.1)随机选择1个可变的88比特的种子密钥K=(k1,k2,……,k88)、1个可变的88比特的初始向量V=(v1,v2,……,v80)、一个1个固定的80比特的常量值C=(c1,c2,……,c80)。在本发明中,种子密钥K始终为保密的。初始向量V为发送接收双方协商一致的一个任意的值。初始向量V可以选择保密,也可以选择公开。在本实施例中,常量值C具体为(1,0,1,0,……,1,0)。
(1.2)将上述88比特的种子密钥K,88比特的初始向量V和80比特的常量值C注入一个256比特长的寄存器(s1,s2,……,s256)中。其中
寄存器(s1,s2,……,s64)的状态由比特(k1,k2,……,k22,v1,v2,……,v22,c1,c2,……,c20)注入,
寄存器(s65,s66,……,s128)的状态由比特(k23,k24,……,k44,v23,v24,……,v44,c21,c22,……,c40)注入,
寄存器(s129,s130……,s192)的状态由比特(k45,k46,……,k66,v45,v46,……,v66,c41,c42,……,c60)注入,
寄存器(s193,s194,……,s256)的状态由比特(k67,k68,……,k88,v67,v68,……,v88,c61,c62,……,c80)注入。
(1.3)对寄存器(s1,s2,……,s256)进行如下步骤1024(即4×256=1024)次。
(a)开辟4个新的存储器(t1,t2,t3,t4),其中
存储器t1的状态由s3,s62,s63,s64,s125,s189来决定,为了减少计算量,并提高安全强度,一般要求采用平衡及2次项的组合,比如采用:注入,
存储器t2的状态由s36,s126,s127,s128,s188,s252来决定,同样采用平衡及2次项的组合,比如采用:注入,
存储器t3的状态由s59,s158,s190,s191,s251来决定,同样采用平衡及2次项的组合,比如采用:注入,
存储器t4的状态由s21,s185,s268,s254,s255来决定,同样采用平衡及2次项的组合,比如采用:注入。
(b)寄存器(s1,s2,……,s64)的状态更新为(t3,s1,s2,……,s63),
寄存器(s65,s66,……,s128)的状态更新为(t1,s65,s66,……,s127),
寄存器(s129,s130,……,s192)的状态更新为(t4,s129,s130,……,s191),
寄存器(s193,s194,……,s256)的状态更新为(t2,s193,s194,……,s255)。
第二阶段,密钥流生成阶段。若需要生成的密钥流比特数N个,则执行以下步骤N次。在本发明中,输出的密钥流比特至少为1个、至多为256个,即N介于1~256之间。
(2.1)开辟4个新的存储器(t1’,t2’,t3’,t4’),其中
新的存储器t1’的状态由s32,s64来决定,为了计算快速,一般采用线性组合,比如采用:注入,
新的存储器t2’的状态由s92,s128等来决定,同样采用线性组合,比如注入,
新的存储器t3’的状态由s160,s192等来决定,同样采用线性组合,比如注入,
新的存储器t4’的状态由s226,s256等来决定,同样采用线性组合,比如注入。
(2.2)输出密钥流比特由t1’,t2’,t3’,t4’来决定,为了实现快速一般采用线性组合,比如采用:
(2.3)分别更新新的存储器(t1’,t2’,t3’,t4’),将新的存储器t1’,t2’,t3’,t4’的状态更新为由另一个新的存储器(t1’,t2’,t3’,t4’)之一和存储器(t1,t2,t3,t4)中对应选取的的6个字进行平衡及2次项的组合后注入;即
新的存储器t1’的状态更新为
新的存储器t2’的状态更新为
新的存储器t3’的状态更新为
新的存储器t4’的状态更新为
(2.4)寄存器(s1,s2,……,s64)的状态更新为(t3’,s1,s2,……,s63)。
寄存器(s65,s66,……,s128)的状态更新为(t1’,s65,s66,……,s127)。
寄存器(s129,s130,……,s192)的状态更新为(t4’,s129,s130,……,s191)。
寄存器(s193,s194,……,s256)的状态更新为(t2’,s193,s194,……,s255)。
(3)加密阶段。其中Yi为获得的密文,Xi为待加密的明文,Zi密钥流比特。该加密阶段与现有技术相同,参见图1。

Claims (5)

1.4个非线性驱动的轻量级流密码加密方法,其特征是包括如下步骤:
(1)内部状态初始化阶段;
(1.1)随机选择1个可变的88比特的种子密钥K=(k1,k2,……,k88)、1个可变的88比特的初始向量V=(v1,v2,……,v88)、一个1个固定的80比特的常量值C=(c1,c2,……,c80);
(1.2)将上述88比特的种子密钥K,88比特的初始向量V和80比特的常量值C注入一个256比特长的寄存器(s1,s2,……,s256)中,其中
寄存器(s1,s2,……,s64)的状态由比特(k1,k2,……,k22,v1,v2,……,v22,c1,c2,……,c20)注入,
寄存器(s65,s66,……,s128)的状态由比特(k23,k24,……,k44,v23,v24,……,v44,c21,c22,……,c40)注入,
寄存器(s129,s130……,s192)的状态由比特(k45,k46,……,k66,v45,v46,……,v66,c41,c42,……,c60)注入,
寄存器(s193,s194,……,s256)的状态由比特(k67,k68,……,k88,v67,v68,……,v88,c61,c62,……,c80)注入;
(1.3)对寄存器(s1,s2,……,s256)进行如下步骤1024次;
(a)开辟4个新的存储器(t1,t2,t3,t4),该存储器t1,t2,t3,t4的状态分别是从寄存器(s1,s2,……,s256)中选取不同的5或6个比特进行平衡及2次项的组合后注入的,即:
存储器t1的状态由注入,
存储器t2的状态由注入,
存储器t3的状态由注入,
存储器t4的状态由注入;
(b)寄存器(s1,s2,……,s64)的状态更新为(t3,s1,s2,……,s63),
寄存器(s65,s66,……,s128)的状态更新为(t1,s65,s66,……,s127),
寄存器(s129,s130,……,s192)的状态更新为(t4,s129,s130,……,s191),
寄存器(s193,s194,……,s256)的状态更新为(t2,s193,s194,……,s255);
(2)密钥流生成阶段;若需要生成的密钥流比特数N个,则执行以下步骤N次;
(2.1)开辟4个新的存储器(t1’,t2’,t3’,t4’),其中该新的存储器t1’,t2’,t3’,t4’的状态分别是从寄存器(s1,s2,……,s256)中选取不同的2个比特进行线性组合后注入的,即:
新的存储器t1’的状态由注入,
新的存储器t2’的状态由注入,
新的存储器t3’的状态由注入,
新的存储器t4’的状态由注入;
(2.2)将新的存储器t1’,t2’,t3’,t4’进行线性组合后,输出密钥流比特 Z i = t 1 , ⊕ t 2 , ⊕ t 3 , ⊕ t 4 , ;
(2.3)分别更新新的存储器(t1’,t2’,t3’,t4’),即将新的存储器t1’,t2’,t3’,t4’的状态更新为由另一个更新前的新的存储器(t1’,t2’,t3’,t4’)之一和存储器(t1,t2,t3,t4)中对应选取的寄存器(s1,s2,……,s256)中的5或6个比特进行平衡及2次项的组合后注入;即:
新的存储器t1’的状态更新为
新的存储器t2’的状态更新为
新的存储器t3’的状态更新为
新的存储器t4’的状态更新为
(2.4)寄存器(s1,s2,……,s64)的状态更新为(t3’,s1,s2,……,s63);
寄存器(s65,s66,……,s128)的状态更新为(t1’,s65,s66,……,s127);
寄存器(s129,s130,……,s192)的状态更新为(t4’,s129,s130,……,s191);
寄存器(s193,s194,……,s256)的状态更新为(t2’,s193,s194,……,s255);
(3)加密阶段;其中Yi为获得的密文比特,Xi为待加密的明文比特,Zi为密钥流比特;
上述各步骤中,表示异或运算,·表示与运算。
2.根据权利要求1所述的4个非线性驱动的轻量级流密码加密方法,其特征是在步骤(1.1)中,种子密钥K为保密的,初始向量V为保密的或公开的。
3.根据权利要求1所述的4个非线性驱动的轻量级流密码加密方法,其特征是在步骤(1.1)中,初始向量V为发送接收双方协商一致的值。
4.根据权利要求1所述的4个非线性驱动的轻量级流密码加密方法,其特征是在步骤(1.1)中,常量值C具体为(1,0,1,0,……,1,0)。
5.根据权利要求1所述的4个非线性驱动的轻量级流密码加密方法,其特征是在步骤(2)中,密钥流比特数N介于1~256之间。
CN201310098769.7A 2013-03-26 2013-03-26 4个非线性驱动的轻量级流密码加密方法 Expired - Fee Related CN103166753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310098769.7A CN103166753B (zh) 2013-03-26 2013-03-26 4个非线性驱动的轻量级流密码加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310098769.7A CN103166753B (zh) 2013-03-26 2013-03-26 4个非线性驱动的轻量级流密码加密方法

Publications (2)

Publication Number Publication Date
CN103166753A CN103166753A (zh) 2013-06-19
CN103166753B true CN103166753B (zh) 2015-12-09

Family

ID=48589507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310098769.7A Expired - Fee Related CN103166753B (zh) 2013-03-26 2013-03-26 4个非线性驱动的轻量级流密码加密方法

Country Status (1)

Country Link
CN (1) CN103166753B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065474B (zh) * 2014-07-14 2015-04-08 衡阳师范学院 一种轻量级Surge分组密码实现方法
CN104333446B (zh) * 2014-11-10 2016-01-13 衡阳师范学院 一种新型超轻量级qtl分组密码实现方法
CN106788971A (zh) * 2016-12-14 2017-05-31 上海电机学院 一种基于流密码算法的子密钥生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852088A (zh) * 2005-10-13 2006-10-25 华为技术有限公司 流媒体传输码流的加密解密方法及模块
CN101753308A (zh) * 2009-12-22 2010-06-23 中国科学院软件研究所 一种完整性认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101370829B1 (ko) * 2007-05-08 2014-03-10 삼성전자주식회사 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852088A (zh) * 2005-10-13 2006-10-25 华为技术有限公司 流媒体传输码流的加密解密方法及模块
CN101753308A (zh) * 2009-12-22 2010-06-23 中国科学院软件研究所 一种完整性认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Maximum autocorrelation analysis of nonlinear combining functions in stream ciphers";Yongzhuang Wei等;《Information Theory,2007.ISIT 2007》;20070629;全文 *

Also Published As

Publication number Publication date
CN103166753A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
US11004360B2 (en) Data security apparatus with analog component
US10944568B2 (en) Methods for constructing secure hash functions from bit-mixers
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
Abdullah et al. New security protocol using hybrid cryptography algorithm for WSN
CN103166753B (zh) 4个非线性驱动的轻量级流密码加密方法
CN105049204A (zh) 基于ctr模式和分组密码vh的轻量级流密码技术vhc
Akram et al. Triple Key Security Algorithm Against Single Key Attack on Multiple Rounds.
Sirajuddin et al. Hybrid Cryptographic Scheme for Secure Communication in Mobile Ad Hoc Network‐Based E‐Healthcare System
Abdelgader et al. Exploiting the physical layer security for providing a simple user privacy security system for vehicular networks
Kofuji Performance analysis of encryption algorithms on mobile devices
Rajagopal et al. Security attacks on the improved SMS4-bsk encryption transmission system
CN103152171B (zh) 密钥可变的内轮置换流密码加密方法
Shinde et al. A review of various encryption techniques
Khakurel et al. Security vulnerabilities in IEEE 802.11 and adaptive encryption technique for better performance
Shi et al. Practical‐time related‐key attack on Hummingbird‐2
Chen et al. Cryptography in WSNs
Jangra et al. Expositioning of cryptography techniques in IoT domain
Dawood et al. Developing a new secret symmetric algorithm for securing wireless applications
Wang et al. Improved DES algorithm based on irrational numbers
Chen et al. Lightweight and High‐Performance Data Protection for Edge Network Security
Singh A Note on Symmetric Key Cryptosystems
Hasan et al. Variable Rounds Block Cipher Algorithm Design
Raval et al. Implementation of efficient bit permutation box for embedded security
WARIS Analysis of Lightweight Security Protocol for Bluetooth Communication with ECC Approach
JP2006254417A (ja) 秘密通信システム及び通信装置及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151209