CN102594566B - 一种面向无线传感器网络的混沌消息认证码实现方法 - Google Patents

一种面向无线传感器网络的混沌消息认证码实现方法 Download PDF

Info

Publication number
CN102594566B
CN102594566B CN201210063512.3A CN201210063512A CN102594566B CN 102594566 B CN102594566 B CN 102594566B CN 201210063512 A CN201210063512 A CN 201210063512A CN 102594566 B CN102594566 B CN 102594566B
Authority
CN
China
Prior art keywords
chaos
bits
function
authentication code
length
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
Application number
CN201210063512.3A
Other languages
English (en)
Other versions
CN102594566A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201210063512.3A priority Critical patent/CN102594566B/zh
Publication of CN102594566A publication Critical patent/CN102594566A/zh
Application granted granted Critical
Publication of CN102594566B publication Critical patent/CN102594566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

一种面向无线传感器网络的混沌消息认证码实现方法,包括以下步骤:1)首先,面向无线传感节点采用基于整数型计算的Logistic混沌映射函数;2)采用具有动态Feistel结构特性且分组长度仅为8比特的分组加密算法;3)基于该分组加密算法实现长度为32比特的消息认证码。本发明提供一种安全性良好、效率较高的面向无线传感器网络的混沌消息认证码实现方法。

Description

一种面向无线传感器网络的混沌消息认证码实现方法
技术领域
本发明涉及一种沌消息认证码实现方法。
背景技术
消息认证码即为消息的Hash值,关键是Hash函数的设计。Hash函数又叫散列函数,是一种特殊的单向函数,可将任意长度消息压缩成为固定长度的消息摘要,目前常见传统的Hash函数主要有MD4,MD5,SHA1等。
由于数字混沌系统的迭代过程除了对初始条件敏感外,还具备一定意义上的单向函数性质,因此已出现了较多的混沌Hash研究,包括基于参数可变的混沌系统单向Hash函数构造方法,该方法在混沌迭代过程中,利用上一次的迭代值和当前处理的明文消息不断调整分段线性混沌映射的控制参数,以使混沌系统获得更好的均匀分布,算法效率高但安全性较差;基于二维耦合映像格子的单向Hash函数构造方法,该方法利用Logistic映射构造耦合映像格子,再迭代过程中的每一步都执行多次Logistic映射迭代,计算最终的输出与相邻格子的耦合,因此算法安全性能高但效率较低;基于混沌动态S-BOX的Hash函数构造是一种相对新型的方法,该方法用混沌S-Box替换和函数查找表来生成具有混沌特性的Hash消息认证码,无需将原始数据直接参与混沌迭代,采用的是混沌动态S-Box替换来提高系统的实时性能,具有单向性好、初值敏感、密钥空间大、简单易行等优点。综上所述,研究基于混沌动态S-Box或者动态分组加密的消息认证码将具有广阔的应用前景。
针对无线传感器网络平台,研究基于混沌动态S-Box(或动态分组加密)的Hash函数,主要需解决如下三个问题:(1)设计无需除法及浮点运算等复杂操作的整数型混沌映射方法;(2)设计基于整数型混沌映射的动态S-Box,并设计基于混沌动态S-Box的高效的混沌分组加密算法;(3)设计基于高效混沌分组加密的消息认证码方案。在现阶段,大多数无线传感器网络上的混沌消息认证码的研究仍停留在算法的设计和分析上,缺少实际嵌入式硬件环境下可实现的方案。因此,设计安全、高效、实用的混沌消息认证码解决方案具有较高的应用价值。
发明内容
为了克服已有沌消息认证码实现方法的安全性较差、效率较低的不足,本发明提供一种安全性良好、效率较高的面向无线传感器网络的混沌消息认证码实现方法。
本发明解决其技术问题所采用的技术方案是:
一种面向无线传感器网络的混沌消息认证码实现方法,所述混沌消息认证码实现方法包括以下步骤:
1)首先,面向无线传感节点采用基于整数型计算的Logistic混沌映射函数,Logistic混沌映射函数的迭代式即为:
z n + 1 = z n < < 2 - z n 2 > > 6 - 1 - - - ( I - 10 )
其中,zn=axn+a,取a=2L-1,L为机器字节的长度;
2)采用具有动态Feistel结构特性且分组长度仅为8比特的分组加密算法,具体如下:
给出一种8比特分组Feistel结构,明文的一个分组被分为高位和低位的各4比特,分别记为Li和Ri,在轮密钥ki的作用下,Ri通过f函数后与Li异或生成新的Ri,而Li变为新的Ri,由此完成一轮的Feistel结构加密;
f函数为8比特的整数混沌计算式,低四位的Ri首先被扩充到8比特,与同样8比特的轮密钥ki异或后,输入到上述的一个精度为8比特的整数型Logistic混沌映射中进行8比特整数混沌计算;输出的8比特再次分为高低各4比特位,相互异或后生成最终的输出F;
3)基于该分组加密算法实现长度为32比特的消息认证码,具体过程如下:
3.1)首先引入常见的密文反馈链模式,构造一个混沌Hash函数,用于计算消息的摘要,即消息认证码;将原始消息M记为M1,M2,...,Mn-1,Mn的长度为1字节,采用上述的具有Feistel结构的8比特混沌分组加密函数;
3.2)在初始密钥k1的作用下,M1被加密成与其等长的k1和h1作为S函数的输入参数,计算最终的输出;同时,h1与新的迭代值x2在f函数作用下生成下一分组所需的密钥k2;重复上述步骤,直到处理完所有消息分组,最终的消息认证码的字节长度记为b,采用一个字节数组CMAC[b]来表示。
进一步,所述步骤2)中,在明文分组进入轮加密之前,首先对8比特数据进行P置换,完成初步的扩散。随后的加密过程中的轮数可变,同一般的Feistel结构分组加密一样,最后一轮时,省去最后输出的左右交互步骤。轮加密完成后,再一次对8比特数据进行P置换。
再进一步,所述步骤3.2)中,H的长度为1字节,消息认证码CMAC的长度b个字节,将H的每一位扩散到这b个字节单元的对应比特位上;Hash函数的另一个输入值K作为索引值Index,用于确定目标单元在数组CMAC[b]中的下标;
如下定义Hi:将输入值H的第i位数据保留,其余比特位置零。
函数具体的计算过程为,对于i=1~8,分别进行如下操作:
3.2.1)K循环左移i-1位,截取K的前n位构成整数Index。其中,n的值和CMAC长度b之间满足:
2n=b                                        (III-1)
3.2.2)以Index值作为下标,进行如下操作:
CMAC [ Index ] = CMAC [ Index ] &CirclePlus; H i - - - ( III - 2 )
f函数为:
kn=xn+hn-1 mod xmax=L(kn-1)+hn-1 mod xmax  (III-3)
其中,L为(I-10)式的混沌映射,xmax为映射过程中的迭代值上限。
本发明的有益效果主要表现在:(1)本发明公开一种基于整数型混沌密码技术的、输出长度可变的、通用的新型消息认证码方案。当长度取128位时,安全与性能的分析结果优于当前常用的128位MD5算法;当长度取32位时,安全强度和性能消耗适中,在面向基于TinyOS系统的无线传感器网络平台的数据安全传输方面有着较大的应用前景。
(2)本发明公开的混沌消息认证码采用了基于整数计算的混沌映射,并基于整数混沌映射构建了一种简洁的Feistel分组结构,且基于混沌的Feistel结构具有动态特性,有效增强了消息认证码的安全性。
(3)本发明公开的混沌消息认证码所涉及的所有计算操作,简单明了、安全可靠、易于实现、高效低耗,是一种优选的轻量级消息认证方案,适用于在资源受限的任何无线传感节点上开发实现,拓宽了数字混沌密码技术的应用领域。
附图说明
图1是8比特分组Feistel结构示意图。
图2是混沌动态Feistel结构中的f函数示意图。
图3是8比特混沌分组加密流程图。
图4是8比特P置换的示意图。
图5是消息认证码的计算过程的示意图。
图6是消息认证码(CMAC)中的S函数结构示意图。
图7是待计算Hash值的部分文本实例示意图。
图8是MAC码改变比特位数的示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图8,一种面向无线传感器网络的混沌消息认证码实现方法,所述混沌消息认证码实现方法包括以下步骤:
1)首先,面向无线传感节点采用基于整数型计算的Logistic混沌映射函数,Logistic混沌映射函数的迭代式即为:
z n + 1 = z n < < 2 - z n 2 > > 6 - 1 - - - ( I - 10 )
其中,zn=axn+a,取a=2L-1,L为机器字节的长度;
2)采用具有动态Feistel结构特性且分组长度仅为8比特的分组加密算法,具体如下:
给出一种8比特分组Feistel结构,明文的一个分组被分为高位和低位的各4比特,分别记为Li和Ri,在轮密钥ki的作用下,Ri通过f函数后与Li异或生成新的Ri,而Li变为新的Ri,由此完成一轮的Feistel结构加密;
f函数为8比特的整数混沌计算式,低四位的Ri首先被扩充到8比特,与同样8比特的轮密钥ki异或后,输入到上述的一个精度为8比特的整数型Logistic混沌映射中进行8比特整数混沌计算;输出的8比特再次分为高低各4比特位,相互异或后生成最终的输出F;
3)基于该分组加密算法实现长度为32比特的消息认证码,具体过程如下:
3.1)首先引入常见的密文反馈链模式,构造一个混沌Hash函数,用于计算消息的摘要,即消息认证码;将原始消息M记为M1,M2,...,Mn-1,Mn的长度为1字节,采用上述的具有Feistel结构的8比特混沌分组加密函数;
3.2)在初始密钥k1的作用下,M1被加密成与其等长的k1和h1作为S函数的输入参数,计算最终的输出;同时,h1与新的迭代值x2在f函数作用下生成下一分组所需的密钥k2;重复上述步骤,直到处理完所有消息分组,最终的消息认证码的字节长度记为b,采用一个字节数组CMAC[b]来表示。
本实施例中,基于整数型计算的混沌映射:本发明采用常见的Logistic映射,其形式如下:
x n + 1 = 1 - &lambda;x n 2 - - - ( I - 1 )
作为公知技术,xn代表第n次迭代的结果,xn+1代表第n+1次的迭代结果,系统迭代参数λ∈[0,2],xn的取值范围为[-1,1]。
μ是系统参数。当μ处于(3.57,4]这个区间段时,Logistics映射呈现出混沌的特性,此时的系统迭代值从统计学上来看具有类似白噪声的性质,呈现出随机的特点。但尽管Logistic映射在时域上离散,但其值域上仍是连续的,鉴于无线传感节点采用的嵌入式处理器的运算能力有限,一般不直接支持浮点数和除法运算。因此,我们将Logitic改造成一种时域和幅域均离散化的整数型混沌系统,具体操作如下:
对(I-1)式两边乘上a2(a≠0),得:
a2xn+1=a2-λ(axn)2                       (I-2)
令zn=axn+a,则:
x n = z n a - 1 x n + 1 = z n + 1 a - 1 - - - ( I - 3 )
将(I-3)式代入到(I-2)式中,再取λ=2,化简得到:
z n + 1 = 4 z n - 2 a z n 2 - - - ( I - 4 )
由于xn∈[-1,1],因此有:
zn∈[0,2a]                               (I-5)
令(I-5)式中的取值全部为整数,若取a=2L-1,L为机器字节的长度,则(I-5)式中的Z值正好是机器字长所能表示的整个无符号整数范围,(I-4)式就是在机器字长表示的无符号整数范围内的迭代运算。
进一步,令(I-4)式等于0,则求解方程可得到两个解:
z n = 0 z n = 2 a - - - ( I - 6 )
为保证混沌系统迭代值不会陷入0值循环,迭代初值不能为0或2a。但在有限的二进制离散数字计算中,由于存在量化误差,经过(I-6)式多次迭代计算后,只要得到迭代值2a,则此后的迭代序列将始终为0。因此,可进一步修改(I-4)式,即令所有的迭代值:
z n + 1 = 4 z n - 2 a z n 2 - 1 - - - ( I - 7 )
这样,只要迭代的初值不为0,则(3-11)式将不会出现0值,这里的混沌迭代值取值范围相应变为:
zn∈[1,2a-1]                         (I-8)
对于如(I-7)式的迭代运算,容易在嵌入式系统中计算得到zn的值。例如,若机器字长为16bits,则可取a=216/2=215=32768,此时的zn∈[1,65535]正好处于16bits所能表示的无符号整数范围。在迭代的过程中,计算4zn时仅需将zn左移两位,计算时仅需将右移14位,即混沌映射计算公式为:
z n + 1 = z n < < 2 - z n 2 > > 14 - 1 - - - ( I - 9 )
这样,对于(I-7)式的迭代运算,整个计算的过程仅仅需要整数的加/减法、乘法和移位操作。因此,采用(I-7)式的混沌迭代十分适合于在无线传感器网络节点嵌入式芯片上的实现。
本发明将利用上述的整数型Logistic映射,设计一种长度仅为8比特的混沌分组加密方法,因此选取字长为8比特的精度,即L=8。因此,本发明后续用到的Logistic映射函数的迭代式即为:
z n + 1 = z n < < 2 - z n 2 > > 6 - 1 - - - ( I - 10 )
混沌动态8比特分组加密方法:首先给出一种8比特分组Feistel结构,如图1所示。明文的一个分组被分为高位和低位的各4比特,分别记为Li和Ri,在轮密钥ki的作用下,Ri通过f函数后与Li异或生成新的Ri,而Li变为新的Ri,由此完成一轮的Feistel结构加密。
这一过程可以表示为:
R i = L i - 1 &CirclePlus; F L i = R i - 1 - - - ( II - 1 )
其中Ri,Ri-1,Li,Li-1,F均为4比特长度。
f函数为8比特的整数混沌计算式,其结构如图2所示。低四位的Ri首先被扩充到8比特,与同样8比特的轮密钥ki异或后,输入到上述的一个精度为8比特的整数型Logistic混沌映射(Chaos函数)中进行8比特整数混沌计算。输出的8比特再次分为高低各4比特位,相互异或后生成最终的输出F。
这里的Feistel结构具备混沌动态特性主要体现在所采用的8比特混沌分组加密函数Chaos。Chaos函数接收输入作为zn,进行一次迭代后将zn+1作为输出。每一轮的中间输出F与输入的Ri有关及该轮的轮密钥ki相关,且利用了8比特整数混沌计算的非线性变化,保障了加密轮的安全性。
加解密过程:参照图3,在明文分组进入轮加密之前,首先对8比特数据进行P置换,完成初步的扩散。随后的加密过程中的轮数可变,同一般的Feistel结构分组加密一样,最后一轮时,省去最后输出的左右交互步骤。轮加密完成后,再一次对8比特数据进行P置换。整个完整的分组加密过程如图3所示。
该设计同样具备Feistel结构的一大特点,即加密过程与解密过程具有完全相同的结构,仅需要逆序地使用加密时的输入密钥,即可构成对应的解密操作。如加密时顺序使用了4轮子密钥k1,k2,k3,k4,则解密时正确的子密钥使用顺序为k4,k3,k2,k1
明文输入后以及密文输出前需要调用8比特的P置换,起到一定程度的预扩散效果。该置换的过程如图4所示。
P置换可如下简化表示:
b 0 &LeftRightArrow; b 6 b 1 &LeftRightArrow; b 3 b 2 &LeftRightArrow; b 5 b 4 &LeftRightArrow; b 7 - - - ( II - 2 )
即0号比特位与6号比特位互换;1号比特位与3号比特位互换;2号比特位与5号比特位互换;4号比特位与7号比特位互换。
基于混沌分组加密的混沌消息认证码:Hash函数设计,基于上述的混沌分组加密结构设计一种高效安全的混沌消息认证码方案,首先引入常见的密文反馈链(CBC)模式,构造一个新型混沌Hash函数,用于计算消息的摘要,即消息认证码(MAC)。总体结构如图5。将原始消息M记为M1,M2,...,Mn-1,Mn的长度为1字节(8比特),这里的CB即采用上述的具有Feistel结构的8比特混沌分组加密函数。
图5中x1,x2,...,xn为映射迭代值序列。在初始密钥k1的作用下,M1被加密成与其等长的k1和h1作为S函数的输入参数,计算最终的输出。同时,h1与新的迭代值x2在f函数作用下生成下一分组所需的密钥k2。重复上述步骤,直到处理完所有消息分组。最终的消息认证码的字节长度记为b,这里用一个字节数组CMAC[b]来表示。
图5中的S函数结构如图5所示。图6消息认证码(CMAC)中的S函数结构,其中,H的长度为1字节,消息认证码CMAC的长度b个字节,这里考虑将H的每一位扩散到这b个字节单元的对应比特位上。函数的另一个输入值K作为索引值Index,用于确定目标单元在数组CMAC[b]中的下标。
如下定义Hi:将输入值H的第i位数据保留,其余比特位置零。
函数具体的计算过程为,对于i=1~8,分别进行如下操作:
1)K循环左移i-1位,截取K的前n位构成整数Index。其中,n的值和CMAC长度b之间满足:
2n=b                                        (III-1)
2)以Index值作为下标,进行如下操作:
CMAC [ Index ] = CMAC [ Index ] &CirclePlus; H i - - - ( III - 2 )
图5中的f函数为:
kn=xn+hn-1 mod xmax=L(kn-1)+hn-1 mod xmax  (III-3)
其中L为(I-10)式的混沌映射,xmax为映射过程中的迭代值上限。
上述S函数、f函数以及CBC模式的加入使得输入消息对整个混沌迭代的过程产生影响,从而使各分组计算结果顺序影响到其后的分组,加强了整个Hash函数的扩散效应。
Hash函数的安全及性能分析:上述的混沌Hash函数的输出通过调整参数b可变长度。常用的Hash函数,如MD5,其产生的输出为128比特,即16字节。这里为了便于对比本方案提出的混沌Hash函数与现有Hash函数的性能,故将长度同样定为16字节,即(III-1)式中的b=16。
选取任意文本中的10k bytes长度消息,本实验中选用了系统更新日志记录文本WindowsUpdate.log,其头部内容如下图7所示。
作为一种实施例,分以下几种情况分别计算消息的MAC码,并进行比较分析。
Case 1:计算原始消息的MAC码;
Case 2:将原消息中第一个数字‘2’改成‘3’,计算更改后的消息MAC码;
Case 3:在原消息中的‘Shutdwn’中加入‘o’,即改成‘Shutdown’,计算更改后的消息MAC码;
Case 4:将原消息中的‘health’改成‘error’,计算更改后的消息MAC码;
Case 5:去除原消息中第一行末尾的‘.’符号,计算更改后的消息MAC码;
Case 6:交换原消息中的‘event’和‘state’,计算更改后的消息MAC码。
计算得到相应的MAC码的十六进制表示如下:
Case 1:D4410C3237715AA8584E2471E4BE15B2
Case 2:98B83FC0D7892E332B3DEE52C15D4521
Case 3:558A11AD83BAE86599EA05B16AF79271
Case 4:EA5AAC947DA8F062B48F9E6E5D1D0493
Case 5:F9CA68EC57FBF5DC7E6C541C50CF3486
Case 6:59809E6B99D59975428AEA3FC0123A84
以上的测试结果表明,本方案提出的算法满足Hash函数的最基本要求,对于消息进行压缩摘要的同时,尽可能地将原文信息扩散到了输出的每一位当中,任何明文中的细节修改都会导致函数输出MAC码的大幅度改变。
统计测试:任意选取10k bytes长度的消息,计算其Hash值,记为cmac1。翻转(toggle)消息中的的任意一比特信息,计算新的消息的Hash值,记为cmac2,统计cmac2和cmac1相比改变的比特位数,记为B。重复该测试N次,N=1024时的结果如图8。
理想的扩散和混乱情况下,即使当消息发生了极其微小的变化,其Hash值的每一比特都应有50%的几率发生改变。可以看到,本实验分析中Hash函数计算得到的MAC码长度为128比特,而每次测试均有大约55~75个比特发生了改变,且这些数值大多分布在64的附近。也即,发生改变的比特数约为总数的一半,这与理想情况十分接近。
以下是几个常用的Hash函数性能指标:
B &OverBar; = 1 N &Sigma; i = 1 N B i - - - ( III - 4 )
P = ( B &OverBar; / 128 ) &times; 100 % - - - ( III - 5 )
&Delta;B = 1 N - 1 &Sigma; i = 1 N ( B i - B &OverBar; ) 2 - - - ( III - 6 )
&Delta;P = 1 N - 1 &Sigma; i = 1 N ( B i / 128 - p ) 2 &times; 100 % - - - ( III - 7 )
其中(III-4)和(III-5)计算改变比特数(率)的均值,而(III-6)和(III-7)的标准差值则体现了样本值与均值的偏差程度,较小的值意味着更为理想的扩散和混乱特性。
对于N=256,512,1024,2048,分别计算(4-15)至(4-18)的结果,与目前最常用的MD5进行比较,结果如表1。从表中可以看到,本方案在多数情况下的统计测试结果优于MD5算法。
表1
消息认证码的具体应用设计:上述实验测试是基于128比特长度的Hash值进行的,但如果要将Hash函数应用到无线传感器网络中,计算MAC码来验证消息的完整和真实性,这样的长度是不可行的。原因在于:在无线传感器网络中,通常节点一次发送的消息大小仅为10~20个字节左右,如果MAC码长16字节,那就要占到整个数据包的一半左右,对于能量有限的节点,这就意味着成倍的能量消耗,这显然是不可接受的。前面提到的几种现有Hash算法均为固定的128字节长度输出,因此不适合在无线传感器网络中的应用,而由于本发明公开的混沌Hash函数的输出长度可变,仅需改变(I-10)式中的b值,即可构造不同输出长度的Hash函数。理论上来说,过短的Hash函数发生碰撞的可能性会增高,因此需要权衡考虑算法性能和应用可行性。参照目前TinyOS平台中最常见的TinySec协议中的MAC码长度,我们将b减小为4,此时Hash函数的输出长度为32比特。
对长度为32比特的Hash函数重新进行测试,结果如表2所示。可以看到,尽管输出长度减小,但修改后的Hash函数仍具有较好的统计特性,其改变比特率仍接近理想情况下的50%。因此,32比特的消息认证码对无线传感器网络是一种安全、高效、低耗的实用方案,可作为一种优选的混沌消息码方案,具有极大的应用价值。
表2。

Claims (1)

1.一种面向无线传感器网络的混沌消息认证码实现方法,其特征在于:所述混沌消息认证码实现方法包括以下步骤:
1)首先,面向无线传感节点采用基于整数型计算的Logistic混沌映射函数,Logistic混沌映射函数的迭代式即为:
Z n + 1 = Z n < < 2 - z n 2 > > 6 - 1 - - - ( I - 10 )
其中,zn=axn+a,取a=2L-1,L为机器字节的长度;
2)采用具有动态Feistel结构特性且分组长度仅为8比特的分组加密算法,具体如下:
给出一种8比特分组Feistel结构,明文的一个分组被分为高位和低位的各4比特,分别记为Li和Ri,在轮密钥ki的作用下,Ri通过f函数后与Li异或生成新的Ri,而Li变为新的Ri,由此完成一轮的Feistel结构加密;
f函数为8比特的整数混沌计算式,低四位的Ri首先被扩充到8比特,与同样8比特的轮密钥ki异或后,输入到上述的一个精度为8比特的整数型Logistic混沌映射中进行8比特整数混沌计算;输出的8比特再次分为高低各4比特位,相互异或后生成最终的输出F;
在明文分组进入轮加密之前,首先对8比特数据进行P置换,完成初步的扩散;随后的加密过程中的轮数可变,同一般的Feistel结构分组加密一样,最后一轮时,省去最后输出的左右交互步骤;轮加密完成后,再一次对8比特数据进行P置换;
3)基于该分组加密算法实现长度为32比特的消息认证码,具体过程如下:
3.1)首先引入常见的密文反馈链模式,构造一个混沌Hash函数,用于计算消息的摘要,即消息认证码;将原始消息M记为
M1,M2,...,Mn-1,Mn的长度为1字节,采用上述的具有Feistel结构的8比特混沌分组加密函数;
3.2)在初始密钥k1的作用下,M1被加密成与其等长的h1=CBk1(M1),k1和h1作为S函数的输入参数,计算最终的输出;同时,h1与新的迭代值x2在f函数作用下生成下一分组所需的密钥k2;重复上述步骤,直到处理完所有消息分组,最终的消息认证码的字节长度记为b,采用一个字节数组CMAC[b]来表示;
所述步骤3.2)中,H的长度为1字节,消息认证码CMAC的长度b个字节,将H的每一位扩散到这b个字节单元的对应比特位上;Hash函数的另一个输入值K作为索引值Index,用于确定目标单元在数组CMAC[b]中的下标;
如下定义Hi:将输入值H的第i位数据保留,其余比特位置零;
函数具体的计算过程为,对于i=1~8,分别进行如下操作:
3.2.1)K循环左移i-1位,截取K的前n位构成整数Index;其中,n的值和CMAC长度b之间满足:
2n=b     (III-1)
3.2.2)以Index值作为下标,进行如下操作:
CMAC[Index]=CMAC[Index]⊕Hi     (III-2)
f函数为:
kn=xn+hn-1modxmax=L(kn-1)+hn-1modxmax     (III-3)
其中,L为(I-10)式的混沌映射,xmax为映射过程中的迭代值上限。
CN201210063512.3A 2012-03-12 2012-03-12 一种面向无线传感器网络的混沌消息认证码实现方法 Active CN102594566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210063512.3A CN102594566B (zh) 2012-03-12 2012-03-12 一种面向无线传感器网络的混沌消息认证码实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210063512.3A CN102594566B (zh) 2012-03-12 2012-03-12 一种面向无线传感器网络的混沌消息认证码实现方法

Publications (2)

Publication Number Publication Date
CN102594566A CN102594566A (zh) 2012-07-18
CN102594566B true CN102594566B (zh) 2014-11-05

Family

ID=46482791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210063512.3A Active CN102594566B (zh) 2012-03-12 2012-03-12 一种面向无线传感器网络的混沌消息认证码实现方法

Country Status (1)

Country Link
CN (1) CN102594566B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763210B (zh) * 2014-01-22 2017-03-08 杭州华三通信技术有限公司 一种基于链路聚合的流量负载分担方法和设备
CN106712925A (zh) * 2015-11-13 2017-05-24 航天信息股份有限公司 一种基于Logistic映射的S-box获取方法及获取装置
EA027214B1 (ru) * 2015-12-22 2017-06-30 Белорусский Государственный Университет (Бгу) Способ шифрования данных с хаотическими изменениями раундового ключа на основе динамического хаоса
CN107920352A (zh) * 2017-12-11 2018-04-17 广西师范大学 一种基于混沌的无线传感器网络广播身份认证方法
CN107800531A (zh) * 2017-12-13 2018-03-13 广西师范大学 一种采用哈希表分析有限精度下混沌系统的周期的方法
CN108600575B (zh) * 2018-05-22 2020-09-11 南京邮电大学 基于不完全Feistel网络的RGB图像加密方法
WO2020044485A1 (ja) * 2018-08-30 2020-03-05 三菱電機株式会社 メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム
CN110263586A (zh) * 2019-06-19 2019-09-20 广西师范大学 一种混沌密码系统的硬件安全评估方法
CN112311526B (zh) * 2020-10-26 2022-08-26 湘潭大学 基于s函数发生器的模块化多涡卷混沌电路
CN112866288B (zh) * 2021-03-01 2022-09-06 上海海事大学 一种双明文传输的数据对称加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170997B2 (en) * 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BLOCK permutation cipher in chaos with feistel structure for wireless sensor networks;CHEN S等;《Advances in Intelligent and Soft Computing》;20111231;正文第2-4节 *
CHEN S等.BLOCK permutation cipher in chaos with feistel structure for wireless sensor networks.《Advances in Intelligent and Soft Computing》.2011, *
陈铁明 等.TinyTCSec:一种新的轻量级无线传感器网络链路加密协议.《传感技术学报》.2011, *

Also Published As

Publication number Publication date
CN102594566A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102594566B (zh) 一种面向无线传感器网络的混沌消息认证码实现方法
CN101076968B (zh) 使用拟群的密码原语、差错编码和伪随机数改进方法
CN102761414B (zh) 一种sm3密码杂凑算法及确定其中的变量字的方法
CN102624519B (zh) 一种面向无线传感器网络的互扰复合混沌流密码实现方法
CN104092534A (zh) 实现sm3密码杂凑算法中的迭代压缩的方法
Aslan et al. Algebraic construction of cryptographically good binary linear transformations
CN102946315B (zh) 一种采用分组方式构造mac码的方法及系统
Chakraborty et al. On modes of operations of a block cipher for authentication and authenticated encryption
CN102082668A (zh) 一种基于耦合混沌映射的消息完整性认证方法
CN115499117A (zh) 区块链交易网络的密钥对生成方法及数据传输方法
Wang et al. Improved lightweight encryption algorithm based on optimized S-box
Luo et al. A block cryptographic algorithm for wireless sensor networks based on hybrid chaotic map
CN102542070B (zh) 基于随机函数的单向哈希函数构造方法
CN107920352A (zh) 一种基于混沌的无线传感器网络广播身份认证方法
CN115484019B (zh) 一种弱相关性的aes密钥扩展改进算法
Sehrawat et al. Performance Evaluation of Newly Proposed Lightweight Cipher, BRIGHT.
Guo et al. Constructing lightweight optimal diffusion primitives with Feistel structure
CN107769911A (zh) 一种基于Sponge结构的轻量级哈希函数构造方法
CN101848079B (zh) 一种面向字、带记忆的序列扰动方法及加密方法
CN101262334A (zh) 蓝牙数据传输加密方法
Xiao et al. Data transmission scheme based on AES and polar codes
Pan et al. Secure control using homomorphic encryption and efficiency analysis
AU2018101651A4 (en) An apparatus and method based on dynamic key dependent S-Box for Symmetric Encryption in wireless networks using symmetric ciphers.
Barrera et al. Improved mix column computation of cryptographic AES
Zeng et al. Word oriented cascade jump σ− LFSR

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