CN117978373A - 用于资源受限物联网设备的轻量级序列加密方法、设备 - Google Patents
用于资源受限物联网设备的轻量级序列加密方法、设备 Download PDFInfo
- Publication number
- CN117978373A CN117978373A CN202410024199.5A CN202410024199A CN117978373A CN 117978373 A CN117978373 A CN 117978373A CN 202410024199 A CN202410024199 A CN 202410024199A CN 117978373 A CN117978373 A CN 117978373A
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet
- byte
- plaintext
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000003860 storage Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000009826 distribution Methods 0.000 claims description 7
- 238000005429 filling process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 16
- 238000013461 design Methods 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Abstract
本申请公开了一种用于资源受限物联网设备的轻量级序列加密方法、设备。所述方法包括产生初始密钥的流程、密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程、密文存储到存储模块的流程。本发明易于软件实现,具备良好的密钥流随机性。
Description
技术领域
本发明涉及密码学、数据安全等信息安全领域,特别是一种用于资源受限物联网设备的轻量级序列序列加密方法、设备。
背景技术
随着物联网技术的发展,越来越多的智能设备进入我们的日常生活,例如智能家居、智能手表、智能车辆等,对于这些设备的安全性和隐私保护也越来越受到关注。大多数物联网设备都有限制的计算和存储资源,这使得传统的密码算法难以在这些设备上运行,且大多数物联网设备由电池供电,存在低功耗需求,但是物联网设备却同样面临着各种安全威胁,包括网络攻击、数据泄露、身份盗用等。由于这些设备通常具有资源受限的特点,需要使用轻量级密码算法来确保设备的安全性,同时保证计算和存储资源的有效利用。在某些特定的应用领域,例如无线传感器网络、医疗设备、工业控制系统等,对密码算法的要求更为严格。这些领域中的设备通常具有资源受限的特点,需要使用轻量级密码算法来满足安全性和效率的需求。传统的加密算法通常需要大量的计算资源和能源消耗,而轻量级密码算法在设计上注重降低计算和存储资源的需求,从而提高设备的能源效率。对于依赖电池供电的移动设备和物联网设备来说,采用轻量级秘密算法能够达到Qos(QualityofService)平衡。传统的序列密码通常采用较复杂的算法和结构,需要大量的计算资源和时间,需要较大的存储空间来保存密钥、状态和中间结果等信息,需要较多的运算和数据访问操作,导致设备的能耗增加。而轻量级序列密码专门设计用于资源受限的环境,具有更高的计算效率,能够在有限的计算资源下快速加密和解密数据,通过简化算法和减小密钥长度等方式,降低了对存储空间的需求,在设计上注重降低计算和存储资源的需求,从而有效地降低了设备的能耗,并延长了电池寿命。多数的轻量级密码是针对硬件而设计的,但在物联网设备呈现异构性趋势下、不同物联网设备使用不同的处理器平台、架构和型号等,其内置的密码加速模块,较难采用统一方案,无内置密码模块与内置已过时密码模块等物联网设备的安全性更不能忽略。轻量级密码缺乏部署的灵活性,就不能发挥密码设计时的最大优势,设计一种易于部署的侧重软件实现的轻量级密码算法是面对异构的资源受限的物联网设备,防止其数据信息泄露等安全性问题的有效解决方案。
因此,为了达到物联网设备数据的安全性与数据加密资源占用的平衡,有必要对资源受限物联网设备的轻量级加密算法进行研究。
发明内容
本发明提供了一种用于资源受限物联网设备的轻量级序列加密方法,所述方法应用于物联网设备中,所述物联网设备设置有密码模块、加密模块、存储模块,所述方法包括产生初始密钥的流程、密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程、密文存储到存储模块的流程;
初始密钥产生的流程中,密码模块产生初始密钥;
密钥分发填充的流程中,加密模块用初始密钥填充向量分组T、索引数据分组A、状态数据分组V;
更新密钥流的流程中,加密模块对状态数据分组V进行更新;
加密明文产生密文的流程中,加密模块将输入到物联网设备的明文消息划分,加密模块利用状态数据分组对明文消息进行加密,生成密文;
密文存储到存储模块的流程。
进一步的,密码模块所产生的密钥长度为80bit,向量分组T长度为8字节、索引数据分组A长度为1字节、状态数据分组V长度为1字节。
进一步的,加密模块更新密钥流的流程具体包括如下子流程:
流程一:假定向量分组T中8个字节分别为T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]、T[8],将T[1]与T[8]进行异或计算,计算结果与二进制数01111111进行算术加法,计算结果将被赋值给状态数据分组V;
流程二:将向量分组T中的第3,13,17,31,34,44,56,62bit值,分别赋值给索引数据分组A的第1,2,3,4,5,6,7,8位,拼接后的8bit作为索引数据分组A的值;
流程三:将S盒中第A位的数与第V位的数进行交换;A为索引数据分组A的十进制值;
流程四:将原本S盒中第V位的数,赋值给状态数据分组V,得到状态数据分组V’,V为状态数据分组V的十进制值;
流程五:将向量分组T中第8个字节丢弃,插入新的字节V’作为向量分组的第一个字节;
流程六:循环执行流程一~五80次,再进入加密明文产生密文的流程。
进一步的,所述加密明文产生密文的流程包括如下子流程:
流程一:将输入到物联网设备的明文消息M被划分为n块明文块,M=m1||m2||...||mn,每个明文块的长度为1字节;
流程二:将状态数据分组V的值作为密钥流,与要加密的明文的第一字节进行异或计算,得到对应密文块;
流程三:取向量分组T第3,13,17,31,34,44,56,62位值,赋值到索引数据分组A的第1,2,3,4,5,6,7,8位;
流程四:将索引数据分组A的值加127,相加结果赋值作为索引数据分组A新值,新值的十进制值用A表示;
流程五:取S盒中第A位的值插入到向量分组T作为其第一个字节;
流程六:将向量分组T原本的第8个字节与原本的第1个字节进行异或计算,计算结果与127相加,相加的结果去填充状态数据分组V;
流程七:循环流程一到流程六,直到所有的明文块都完成加密。
一种物联网设备,包括密码模块、加密模块、存储模块,所述加密模块用于产生初始密钥;
加密模块用于执行密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程。
进一步的,密码模块所产生的密钥长度为80bit,向量分组T长度为8字节、索引数据分组A长度为1字节、状态数据分组V长度为1字节。
进一步的,加密模块更新密钥流的流程具体为:
流程一:假定向量分组T中8个字节分别为T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]、T[8],将T[1]与T[8]进行异或计算,计算结果与二进制数01111111进行算术加法,计算结果将被赋值给状态数据分组V;
流程二:将向量分组T中的第3,13,17,31,34,44,56,62bit值,分别赋值给索引数据分组A的第1,2,3,4,5,6,7,8位,拼接后的8bit作为索引数据分组A的值;
流程三:将S盒中第A位的数与第V位的数进行交换;A为索引数据分组A的十进制值;
流程四:将原本S盒中第V位的数,赋值给状态数据分组V,得到状态数据分组V’;V为状态数据分组V的十进制值;
流程五:将向量分组T中第8个字节丢弃,插入新的字节V’作为向量分组的第一个字节;
流程六:循环执行流程一~五80次,再进入加密明文产生密文的流程。
进一步的,所述加密明文产生密文的流程包括如下子流程:
流程一:将输入到物联网设备的明文消息M被划分为n块明文块,M=m1||m2||...||mn,其中每个块的长度为1字节;
流程二:将状态数据分组V的值作为密钥流,与要加密的明文的第一字节进行异或计算,得到对应密文块;
流程三:取向量分组T第3,13,17,31,34,44,56,62位值,赋值到索引数据分组A的第1,2,3,4,5,6,7,8位;
流程四:将索引数据分组A的值加127,相加结果赋值作为索引数据分组A新值,用A表示;
流程五:取S盒中第A位的值插入到向量分组T作为其第一个字节;
流程六:将向量分组T原本的第8个字节与原本的第1个字节进行异或计算,计算结果与127相加,相加的结果去填充状态数据分组V;
流程七:循环流程一到流程六,直到所有的明文块都完成加密。
本发明的有益效果为:
1.非采用“空间换时间”的设计思想,减少内存大小的依赖,算法具有较好的灵活性,更容易实现,实现成本更低,占用存储资源更少,可以更好地适应物联网设备的需求,能够完整地在算力与存储资源受限的设备上部署。
2.只有使用轻量级加密算法的加密密钥才能对加密数据进行解密,能够保障数据的机密性。
3.相比传统密码方案有着更灵活的密钥长度调整能力,可以避免在RC4中密钥长度越长,所用的字节数需要同密钥的长度成倍数增长的缺陷。
4.易于软件实现,具备良好的密钥流随机性,能够在多种软件系统或处理器架构上高效率地运行。
5.基于软件实现的密码算法,不易出现比特级数据丢失等一系列物理层的数据错误,在流密码设计过程中无需多余考虑“错误雪崩”。
6.采用80bit的密钥初始化密钥流生成数组的方式,能够提供不低于280的反暴力破解的能力。
附图说明
图1为本发明的流程图。
图2为初始密钥的填充过程图。
图3为轮函数(RF)的逻辑图。
图4为更新向量函数(UVF)的逻辑图。
具体实施方式
本发明设计的轻量级数据加密算法被命名为SCSA,该轻量级序列密码采用80bit长度密钥,该长度是满足密码设计的计算复杂性与安全性的最佳平衡,能够满足绝大部分资源受限设备的安全性需求。
下面进行详细说明。
本发明所述加密方法应用的物联网设备设置有密码模块、加密模块、存储模块。如图1所示,所述方法包括初始密钥产生流程、密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程、密文存储到存储模块五个流程。下面对各个流程进行说明。
一、初始密钥产生流程
初始密钥产生流程中,密码模块产生初始密钥。
二、密钥分发填充流程
如图2所示,用初始密钥向8字节的向量分组T、1字节的索引数据分组A和状态数据分组V进行填充。
向量分组T、索引数据分组A、状态数据分组的数据在初始时由密钥K填充而来,本发明采用的是流密码算法的设计思想,将密钥K扩展生成密钥流序列,密钥流序列与要加密的信息进行异或计算,计算结果就是密文。
现有技术中,加密算法分为分组密码算法与流密码算法(同时也被称为序列密码算法)。本申请采用流密码算法。
本发明采用的是长度为80的密钥,由80个0/1组成的密钥序列。将80个0/1分成前64位(向量分组T),中间的8位(索引数据分组A),以及后面的8位(状态数据分组V)。这三个分组里面的值通过密钥填充步骤进行赋值。
赋值完成后,为了读取某个分组中的某个位置的数的值是0还是1,本申请采用“字节表示法”,因为计算机中一个字节表示8个0/1,所以向量分组可以被表示为T[0]、T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]这8个字节,例如:T[0]=‘11110000’。使用T[0][3]就可以表示T[0]中的第4个值,即T[0][3]=‘1’。例如T[0][4]=‘0’,T[0][0]=‘1’。
三、对密钥流进行更新的流程
在本流程中,利用轮函数(逻辑如图3所示)对状态数据分组T(密钥流)进行更新的流程。
该流程中,生产出状态数据分组作为“密钥流”,密钥流迭代更新,第i个向量分组被第i+1个向量分组更新。
假定向量分组T中8个字节分别为T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]、T[8],利用轮函数、S盒对状态数据分组T进行更新。包括如下子流程:
流程一:将T[1]与T[8]进行异或计算,计算结果与01111111进行算术加法,计算结果将被赋值给状态数据分组V,8bit字串作为状态数据分组V的值,值用V表示。
流程二:将向量分组T中的第3,13,17,31,34,44,56,62位bit值,赋值给索引数据分组A的第1,2,3,4,5,6,7,8位,拼接后的8bit,作为索引数据分组A的值,值用A表示。
流程三:将S盒中第A位的数与第V位的数进行交换;
流程四:将原本S盒中第V位的数,赋值给状态数据分组V,得到状态数据分组V’;
流程五:将向量分组T中第8个字节丢弃,插入字节V’作为向量分组的第一个字;
流程六:循环流程一~五共80次,再进入计算密文的流程。
四、计算密文的流程
本流程中,向量分组会继续被更新,加密模块将输入到物联网设备的明文消息划分,加密模块利用状态数据分组对明文消息进行加密,生成密文。
流程一:将输入的明文消息M被划分为n块明文块,M=m1||m2||...||mn,其中每个块的长度为1字节(8bit);
流程二:将状态数据分组V的值作为密钥流,与要加密的明文的第一字节进行异或计算,得到对应密文块;
密钥K的长度对安全等级和性能存在影响,对于实时应用与资源受限物联网设备,在保证安全要求的同时理论上选择长度短的。如图4所示,第j个密文块(Cj)是通过将第j个明文块(mj)与第j个的密钥流块(状态数据分组)Vj混合得到的。该过程详见公式(1):
Ek表示使用“密钥K”的加密函数,可根据需要选定。mj表示的是要加密的明文,Vj是状态数据分组,即密钥流。Vj是第j次更新的状态数据分组。
流程三:取向量分组T第3,13,17,31,34,44,56,62位bit值,去填充赋值到索引数据分组A的第1,2,3,4,5,6,7,8bit位。
流程四:将索引数据分组A的值加127,相加结果赋值作为索引数据分组A新值,用A表示。
流程五:取S盒中第A位的值插入到向量分组T作为其第一个字节。
流程六:将向量分组T原本的第8个字节(使用后被抛弃)与原本的第1个字节(使用后变成了第二个字节),进行“异或计算”,计算结果与127相加,相加的结果去填充状态数据分组V,进位值抛弃不用。
流程七:循环流程一到流程六,直到所有的明文块都完成加密。
当需要被加密的数据结束的时候,“向量分组”会停止更新。
五、密文存储到存储模块的流程
该流程为成本发明的最后一步。
下面再对上文提到的轮函数和更新向量函数进行说明。
密钥流迭代更新的流程中,利用轮函数和更新向量函数对状态数据分组进行更新,更新阶段分别可被称为RF阶段、UVF阶段。
生成的密钥流(状态数据分组V)迭代更新,第i个分组向量被第i+1个分组向量更新。当RF阶段结束后,会进入UVF阶段,在UVF阶段向量分组会继续被更新;在UVF阶段,目的是生产出状态数据分组作为密钥流。
轮函数(RF):
记T[i]表示向量分组的第i个字节数据的值,记V[i]表示状态数据分组V的第i个比特位的数值,记A[i]表示地址数据分组A的第i个比特位的数值,记T[i][j]表示向量分组T的第i个字节的第j个比特位的数值。
索引数据分组A与状态数据分组V被初始化或更新后,将S盒(索引从0开始)中的第A+1(A在此处被抽象地表示为“索引数据分组”中的数据值,比如该分组存的是“11110000”(8bit,二进制),为十进制的“240”,则A为240,A+1则等于241,分组中就会被更新为“11110001)与第V+1(与A相同,V被抽象地表示为“状态数据分组”中的数据值)个数进行值交换,表示为Swap(S[A],S[V])。
通过上述操作,S盒表示的映射(代换)关系被混淆一次,取S[V]的值更新状态数据分组V,表示为V=S[V]。
通过上述操作,状态数据分组V中的值被更新,在存储向量分组T时使用队表示,将状态数据分组V的值插入向量分组T的队尾T[7],在此之前,需确保将队首T[0]移出,并赋值给索引数据分组A,表示为A=T[0],T[7]=V。
通过上述操作,索引数据分组A的值被更新,向量分组T的数据被更新;在软件实现的密码算法中,算术加法作为提升密码的非线性性具有较大的优势,状态数据分组V的迭代更新便使用了算术加法,表示为其中0b01111111是二进制的127。
在迭代更新索引数据分组A时,A[0]~A[7]分别取值来自T[0][2]、T[1][4]、T[2][0]、T[3][6]、T[4][1]、T[5][3]、T[6][7]、T[7][5],表示为A=T[0][2]||T[1][4]||T[2][0]||T[3][6]||T[4][1]||T[5][3]||T[6][7]||T[7][5]。
若迭代轮数小于等于80,则跳转到第一步;否则,开始密码算法的更新向量函数(UVF),输出密钥流,与明文数据进行异或。
轮函数对应的程序代码如下:
输入:密钥K,代换表S
输出:代换表S,向量分组T,地址数据分组A,状态数据分组V
更新向量函数(UVF):
当密码的轮函数迭代处理完成后,此时索引数据分组A和状态数据分组V已经处于被更新的状态,将状态数据分组作为密钥流,用于加密明文序列,用C表示密文,P表示明文,则加密过程可被公式(2)表示:
在向量分组更新过程中,为了让更新过程具有更强的非线性,令索引数据分组A与值0b01111111,进行算术加,表示为A=A+0b01111111,其中0b01111111是二进制中的127。
通过上述操作,地址数据分组A中的值被更新,将状态数据分组V的值作为S盒的索引地址,将S(A)插入向量分组T的队尾T[7],同时,将S(A)赋值于A,在此之前,需确保将队首T[0]移出,并赋值给状态数据分组V,表示为V=T[0],T[7]=A。
通过上述操作,索引数据分组A的值被更新,向量分组T的数据被更新,状态数据分组被更新;同样,状态数据分组V的迭代更新便使用了算术加法,表示为V=V⊕A+0b10000000。
在迭代更新索引数据分组A时,A[0]~A[7]分别取值来自T[0][2]、T[1][4]、T[2][0]、T[3][6]、T[4][1]、T[5][3]、T[6][7]、T[7][5],表示为A=T[0][2]||T[1][4]||T[2][0]||T[3][6]||T[4][1]||T[5][3]||T[6][7]||T[7][5];
通过上述操作,判断是否还有待加密的明文序列,若是,则跳转至第一步,否则,停止密码算法。
更新向量函数对应的程序代码如下:
输入:向量分组T,地址数据分组A,状态数据分组V,代换表S,明文字节p
输出:密文字节c
procedure UVF(T,A,V,S,p)
while(c!=NULL)
A=A+0b01111111
A=S(A)
V=T.pop()(T.pop()指淘汰T中的最右边的8个bit。)
T.push(A)(T.push(A)指插入8个bit(A)到T最左边的)
V=V⊕A+0b01111111
A=
T[0][2]||T[1][4]||T[2][0]||T[3][6]||T[4][1]||T[5][3]||T[6][7]||T[7][5]
return c
end procedure
S盒作为本申请提出的密码方案中的主要非线性组件,对密码算法的健壮性与抗线性攻击的能力都至关重要。S盒作为RF轮函数迭代的入参,S盒的非线性能力决定密钥混淆扩散的速度,所有S盒的设计与选择需要尽可能的提高安全性能。本申请提出的密码算法中使用的S盒如表1所列,在实际的应用过程中,使用者可根据实际情况替换为第三方的S盒,规避S盒可能存在的后门问题。
表1
由于S盒本身存在后门疑虑,本申请虽然给出了S盒,但密码使用者仍然可以使用第三方S盒,良好的S盒可以更好达到输出序列随机化。
本发明还公开了一种物联网设备,包括密码模块、加密模块、存储模块,所述加密模块用于产生初始密钥;
加密模块用于执行密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程。
Claims (8)
1.用于资源受限物联网设备的轻量级序列加密方法,所述方法应用于物联网设备中,所述物联网设备设置有密码模块、加密模块、存储模块,其特征在于,所述方法包括产生初始密钥的流程、密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程、密文存储到存储模块的流程;
产生初始密钥的流程中,密码模块产生初始密钥;
密钥分发填充的流程中,加密模块用初始密钥填充向量分组T、索引数据分组A、状态数据分组V;
更新密钥流的流程中,加密模块对状态数据分组V进行更新;
加密明文产生密文的流程中,加密模块将输入到物联网设备的明文消息划分,加密模块利用状态数据分组对明文消息进行加密,生成密文;
密文存储到存储模块的流程。
2.如权利要求1所述的用于资源受限物联网设备的轻量级序列加密方法,其特征在于,密码模块所产生的密钥长度为80bit ,向量分组T长度为8字节、索引数据分组A长度为1字节、状态数据分组V长度为1字节。
3.如权利要求1所述的用于资源受限物联网设备的轻量级序列加密方法,其特征在于,加密模块更新密钥流的流程具体包括如下子流程:
流程一:假定向量分组T中8个字节分别为T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]、T[8],将T[1]与T[8]进行异或计算,计算结果与二进制数01111111进行算术加法,计算结果将被赋值给状态数据分组V;
流程二:将向量分组T中的第3,13,17,31,34,44,56,62bit值,分别赋值给索引数据分组A的第1,2,3,4,5,6,7,8位,拼接后的8bit作为索引数据分组A的值;
流程三:将S盒中第A位的数与第V位的数进行交换;A为索引数据分组A的十进制值;
流程四:将原本S盒中第V位的数,赋值给状态数据分组V,得到状态数据分组V’,V为状态数据分组V的十进制值;
流程五:将向量分组T中第8个字节丢弃,插入新的字节V’作为向量分组的第一个字节;
流程六:循环执行流程一~五80次,再进入加密明文产生密文的流程。
4.如权利要求3所述的用于资源受限物联网设备的轻量级序列加密方法,其特征在于,所述加密明文产生密文的流程包括如下子流程:
流程一:将输入到物联网设备的明文消息M被划分为n块明文块,M=m1||m2||...||mn,每个明文块的长度为1字节;
流程二:将状态数据分组V的值作为密钥流,与要加密的明文的第一字节进行异或计算,得到对应密文块;
流程三:取向量分组T第3,13,17,31,34,44,56,62位值,赋值到索引数据分组A的第1,2,3,4,5,6,7,8位;
流程四:将索引数据分组A的值加127,相加结果赋值作为索引数据分组A新值,新值的十进制值用A表示;
流程五:取S盒中第A位的值插入到向量分组T作为其第一个字节;
流程六:将向量分组T原本的第8个字节与原本的第1个字节进行异或计算,计算结果与127相加,相加的结果去填充状态数据分组V;
流程七:循环流程一到流程六,直到所有的明文块都完成加密。
5.一种物联网设备,其特征在于,包括密码模块、加密模块、存储模块,所述加密模块用于产生初始密钥;
加密模块用于执行密钥分发填充并产生密钥流的流程、更新密钥流的流程、加密明文产生密文的流程。
6.如权利要求5所述的物联网设备,其特征在于,密码模块所产生的密钥长度为80bit,向量分组T长度为8字节、索引数据分组A长度为1字节、状态数据分组V长度为1字节。
7.如权利要求5所述的物联网设备,其特征在于,加密模块更新密钥流的流程具体为:
流程一:假定向量分组T中8个字节分别为T[1]、T[2]、T[3]、T[4]、T[5]、T[6]、T[7]、T[8],将T[1]与T[8]进行异或计算,计算结果与二进制数01111111进行算术加法,计算结果将被赋值给状态数据分组V;
流程二:将向量分组T中的第3,13,17,31,34,44,56,62bit值,分别赋值给索引数据分组A的第1,2,3,4,5,6,7,8位,拼接后的8bit作为索引数据分组A的值;
流程三:将S盒中第A位的数与第V位的数进行交换;A为索引数据分组A的十进制值;
流程四:将原本S盒中第V位的数,赋值给状态数据分组V,得到状态数据分组V’;V为状态数据分组V的十进制值;
流程五:将向量分组T中第8个字节丢弃,插入新的字节V’作为向量分组的第一个字节;
流程六:循环执行流程一~五80次,再进入加密明文产生密文的流程。
8.如权利要求3所述的方法,其特征在于,所述加密明文产生密文的流程包括如下子流程:
流程一:将输入到物联网设备的明文消息M被划分为n块明文块,M=m1||m2||...||mn,其中每个块的长度为1字节;
流程二:将状态数据分组V的值作为密钥流,与要加密的明文的第一字节进行异或计算,得到对应密文块;
流程三:取向量分组T第3,13,17,31,34,44,56,62位值,赋值到索引数据分组A的第1,2,3,4,5,6,7,8位;
流程四:将索引数据分组A的值加127,相加结果赋值作为索引数据分组A新值,用A表示;
流程五:取S盒中第A位的值插入到向量分组T作为其第一个字节;
流程六:将向量分组T原本的第8个字节与原本的第1个字节进行异或计算,计算结果与127相加,相加的结果去填充状态数据分组V;
流程七:循环流程一到流程六,直到所有的明文块都完成加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024199.5A CN117978373A (zh) | 2024-01-08 | 2024-01-08 | 用于资源受限物联网设备的轻量级序列加密方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024199.5A CN117978373A (zh) | 2024-01-08 | 2024-01-08 | 用于资源受限物联网设备的轻量级序列加密方法、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117978373A true CN117978373A (zh) | 2024-05-03 |
Family
ID=90846961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410024199.5A Pending CN117978373A (zh) | 2024-01-08 | 2024-01-08 | 用于资源受限物联网设备的轻量级序列加密方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978373A (zh) |
-
2024
- 2024-01-08 CN CN202410024199.5A patent/CN117978373A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2351287B1 (en) | Method of generating a cryptographic key, network and computer program therefor | |
US11606189B2 (en) | Method and apparatus for improving the speed of advanced encryption standard (AES) decryption algorithm | |
Panda | Data security in wireless sensor networks via AES algorithm | |
KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
Windarta et al. | Lightweight cryptographic hash functions: Design trends, comparative study, and future directions | |
CN113472525B (zh) | 基于后量子密码Saber算法的低内存占用密钥生成方法和加解密方法及其系统 | |
CN114866224A (zh) | 一种基于改进Feistel结构的文本轻量级加密方法 | |
Buchanan et al. | Review of the NIST Light-weight Cryptography Finalists | |
CN112564890A (zh) | 一种加速sm4算法的方法、装置、处理器及电子设备 | |
CN116980194A (zh) | 一种基于云边端协同的安全高效数据传输方法及其系统 | |
CN116614266A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN115811398A (zh) | 基于动态s盒的分组密码算法、装置、系统及存储介质 | |
CN117978373A (zh) | 用于资源受限物联网设备的轻量级序列加密方法、设备 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
Mars et al. | Digitally Mutating NV-FPGAs into Physically Clone-Resistant Units | |
Kim et al. | Low power circuit architecture of AES crypto module for wireless sensor network | |
Khan et al. | Area–Time Efficient Implementation of NIST Lightweight Hash Functions Targeting IoT Applications | |
Li et al. | Improved meet‐in‐the‐middle attacks on reduced‐round Joltik‐BC | |
KP et al. | Embedded Light-Weight Cryptography Technique to Preserve Privacy of Healthcare Wearable IoT Device Data | |
Lisickiy et al. | Block symmetric cipher with random s-boxes | |
Parikibandla et al. | FPGA performance evaluation of present cipher using LCC key generation for IoT sensor nodes | |
Labbi et al. | Lightweight cryptographic for securing constrained resource IoT devices | |
Cui et al. | SAT-Aided Differential Cryptanalysis of Lightweight Block Ciphers Midori, MANTIS and QARMA | |
CN116722983B (zh) | 城市规划领域物联网终端的信息安全方法及系统 | |
Khalil et al. | Round S-Boxes Development for Present-80 Lightweight Block Cipher Encryption Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |