CN103166753B - 4个非线性驱动的轻量级流密码加密方法 - Google Patents
4个非线性驱动的轻量级流密码加密方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 72
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 5
- 238000009792 diffusion process Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种4个非线性驱动的轻量级流密码加密方法,其仅采用面向比特的异或和与运算,内部操作容易实现;借鉴分组密码的多轮迭代思想,对初始化内部向量进行“多轮”比特混合置乱操作,从而能够快速达到置乱效果;新引入“分区交替扩散”和“多层混淆”的技术,快速完成种子密钥比特间混淆和扩散效果;所选的4个非线性驱动部件具有稳固的密码学性质以抵抗多种攻击;密钥生成阶段新引入双二次项进行非线性置乱,有效抵抗传统的内部状态恢复攻击;种子密钥长度为88比特具有高安全强度;算法简洁、容易软、硬件平行实现,特别适合资源受限环境下使用,比如无限传感器网络等;实现的存储代价小。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种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’进行线性组合后,输出密钥流比特
(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之间。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101370829B1 (ko) * | 2007-05-08 | 2014-03-10 | 삼성전자주식회사 | 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템 |
-
2013
- 2013-03-26 CN CN201310098769.7A patent/CN103166753B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
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 |