本发明专利技术提供一种使用对称密钥密码算法实现机密性与认证性的方法,包括加密模块的构成和使用方法、解密模块的构成和使用方法、以及融加密模块和解密模块于一体的密码模块在实现机密性与认证性时的使用方法。本发明专利技术通过对计数器的巧妙使用,无需信息交互,就可以在完成数据加密的同时,实现认证功能,而且可以有效抵抗重放攻击。结合轻量级加密算法,适合能量受限环境如无线传感器和RFID元器件的使用。
【技术实现步骤摘要】
本专利技术涉及密码算法的使用和轻量级认证加密功能的实现,适用于为物联网系统能量受限的器件提供低能耗认证与加密功能。
技术介绍
随着通信网络的发展和通信设备成本的降低,通信已经成为人们生活中必须的元素。物联网产业的发展使得无线通信和轻量级密码技术得以更广泛的使用。在传统的保密通信中,密码模块的基本功能是实现密码算法,包括加密和解密算法、消息完整性算法、数字签名算法等。作为保密通信系统中至关重要的认证问题,传统上常使用数字签名方法。当通信双方共享ー个密钥时,使用对称密钥密码算法也可以实现一些认证功能,如GSM移动通信中网络对用户頂SI卡认证就是通过一种专门设计的算法实现的。SM卡的认证是使用对称密码实现认证的典型应用之一,但在许多传感器网络和RFID节点应用中,使用专门设计的独立于加密算法的密码算法实现认证将增加许多成本,甚至不能忍受。而且,GSM系统中的SM卡也只能完成单向认证,而许多传感网和RFID应用系统需要双向认证。而且,物联网产业的发展急需轻量级密码算法,包括加密算法和认证算法。
技术实现思路
本专利技术的目的是给出ー种使用加密和解密算法,该方法在实现数据机密性的同时,实现认证功能,同时具有抗重放攻击的能力。本专利技术的特点是针对能量受限环境,提供ー种轻量级密码模块使用方法,使单次加密过程可以提供上述的所有功能。为了实现本专利技术的目的,提出ー种使用对称密码算法实现轻量级认证加密的方法,该方法使用的加密模块包括加密算法E、存放密钥k的秘密存储单元和计数器CtrA,其加密过程包括如下步骤I)将计数器CtrA的值增加非零增幅δ,即令CtrA = CtrA+ δ ;2)所述加密模块将要加密的数据data和计数器的值CtrA混合,然后连同存储在秘密存储单元的密钥值k 一同送入加密算法E,得到密文c = Ek(CtrA, data);3)加密模块输出数组(CtrA,c)。在所述步骤2)中,所述加密模块将一个初始向量值IV送入加密算法,对所述数据进行加密得到密文c = Ekjiv (CtrA, data)。在所述步骤2)中,所述加密模块先将计数器的值通过函数f O映射为初始向量并送入加密算法,对所述数据进行加密得到密文c = EkJ.{Clrt){CtrA, data) ο在所述步骤I中,所述计数器的值CtrA来自于系统时钟,所述增幅δ是两次使用计数器的值所产生的时差。本专利技术还提出ー种使用对称密码算法实现轻量级认证解密的方法,该方法使用的解密模块包括解密算法D、存放密钥k的秘密存储单元和计数器CtrB,其解密过程包括如下步骤4)所述解密模块将所述的加密模块的输出数据(CtrA,c)中计数器部分CtrA的值与所述解密模块计数器的值CtrB进行比较如果输出数据(CtrA,c)的加密模块使用过程中所述δ > O,则判断是否满足CtrA> CtrB ;如果输出数据(CtrA,c)的加密模块使用过程中所述δ <0,则判断是否满足CtrA< CtrB ;若条件不满足,则输出错误信息I并停止;否则执行如下步骤;5)使用所述秘密存储单元中的密钥k对所述数据(CtrA,c)进行解密,得到d = Dk(c) = (Ctr/,data’),判断等式Ctr/ = CtrA是否成立,若不成立,则输出错误信息2并停止,否则执行如下步骤;6)更新所述计数器的值CtrB := CtrA ;输出所述解密算法得到的部分计算结果data’。在步骤5),所述解密模块将一个初始向量IV送入解密算法,对所述数据进行解密过程为 d = Dkj IV (c) = (CtrA,, data,)。在步骤5),所述解密模块先将计数器所述接收收据部分的计数器的值CtrA通过函数f()映射为初始向量IV = f(CtrA)并送入解密算法,对所述数据进行解密的过程为d = Dk f(CtrA)(c) = {CtrA , data ) ο本专利技术进一歩提出ー种使用对称密码算法实现轻量级认证加密和解密的方法,所述方法使用的密码模块包括加密算法Ε、解密算法D、存储密钥k的秘密存储单元和计数器Ctr,所述方法包括如下步骤a)所述密码模块从输入ロ读取ー个算法选择指令,根据所述指令判断是加密请求还是解密请求;b)如果所述算法选择指令为加密请求,则执行如下步骤所述密码模块将所述计数器的值更新为Ctr = Ctr+ δ,所述δ为非零数;所述密码模块将计数器的值Ctr与被加密的数据data混合,然后连同秘密存储单元中的密钥值k 一同送入加密算法,得到密文c = Ek (Ctr, data),输出数组(Ctr, c)作为对所述数据data的加密结果;c)如果所述算法选择指令为解密请求,则执行如下步骤所述解密模块从被解密的输入数据(Ctrl,Cl)分离出输入计数器Ctrl和密文cl ;将Ctrl与所述密码模块内存储的计数器的值Ctr进行比较如果步骤b)中的所述δ >0,则判断是否满足Ctrl > Ctr;如果步骤b)中的所述δ <0,则判断是否满足Ctrl < Ctr ;若条件不满足,则输出错误信息I并停止;否则执行如下步骤;d)使用秘密存储单元中的密钥k对所述解密数据中的Cl进行解密,得到d =Dk(cl) = (Ctrl’,data’),判断等式Ctrl’ = Ctrl是否成立,若不成立,报输出错误信息2并停止;否则执行如下步骤;e)更新所述密码模块内部计数器的值Ctr =Ctrl ;输出所述解密的部分计算结果 data’ ο在步骤b)和步骤c),向所述加密算法和解密算法输入初始向量IV,所述数据的加密过程为 c = Ekjiv(Ctr, data);所述数据的解密过程为 d = Dk,IV(c) = (Ctrl’,data,)。在步骤b),所述加密模块先将所述密码模块内部计数器的值Ctr通过函数f ()映射为初始向量IV = f (Ctr),对所述数据进行的加密过程为C = Ekj f(ctr) (Ctr, data);在步骤c)所述解密模块先将所从所述被解密数据中分离出的计数器的值Ctrl通过函数f O映射为初始向量IV = f (Ctrl),对所述数据进行解密的过程为d = Dkjffctrl) (C) = (Ctrl’,data’ )。在步骤b),所述计数器Ctr的值更新为系统当前时钟。附图说明图I为认证加密协议中加密模块结构; 图2为认证加密协议中解密模块结构;图3为融加密模块与解密模块于一体的认证密码模块结构;图4为使用对称密码模块实现机密性与认证性的加解密过程实施例。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例和附图,对本专利技术进ー步详细说明。本专利技术有ー个加密模块,包括一个加密算法E和一个密钥k,ー个解密模块,包括与加密算法E对应的解密算法D和一个与加密模块中相同的密钥k,密钥一般保存在秘密存储单元。除配对的加密解密模块(即有相同的共享密钥)タト,我们还假定加密模块和解密模块共享ー个计数器Ctr,计数器有ー个共同的初始值。下面我们分别针对加密模块和解密模块的工作过程进行描述。加密模块假设加密模块的计数器为CtrA,被加密的明文数据为data。当明文数据data输入加密模块吋,该加密模块首先将计本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.ー种使用对称密码算法实现轻量级认证加密的方法,其特征在于,该方法使用的加密模块包括加密算法E、存放密钥k的秘密存储单元和计数器CtrA,其加密过程包括如下步骤 .1)将计数器CtrA的值增加非零增幅δ,即令CtrA= CtrA+ δ ; .2)所述加密模块将要加密的数据data和计数器的值CtrA混合,然后连同存储在秘密存储单元的密钥值k 一同送入加密算法E,得到密文c = Ek(CtrA, data); .3)加密模块输出数组(CtrA,c)。2.如权利要求I所述的方法,其特征在于,在所述步骤2中,所述加密模块将一个初始向量值IV送入加密算法,对所述数据进行加密得到密文c = Ek,IV(CtrA, data)。3.如权利要求I所述的方法,其特征在于,在所述步骤2中,所述加密模块先将计数器的值通过函数f O映射为初始向量并送入加密算法,对所述数据进行加密得到密文C = Ek,f (Ctri)^ctrΛ ^ data、。4.ー种使用对称密码算法实现轻量级认证解密的方法,其特征在于,该方法使用的解密模块包括解密算法D、存放密钥k的秘密存储单元和计数器CtrB,其解密过程包括如下步骤 .4)所述解密模块将所述的加密模块的输出数据(CtrA,c)中计数器部分CtrA的值与所述解密模块计数器的值CtrB进行比较 如果输出数据(CtrA,c)的加密模块使用过程中所述δ >0,则判断是否满足CtrA>CtrB ; 如果输出数据(CtrA,c)的加密模块使用过程中所述δ <0,则判断是否满足CtrA<CtrB ; 若条件不满足,则输出错误信息I并停止;否则执行如下步骤; .5)使用所述秘密存储单元中的密钥k对所述数据(CtrA,c)进行解密,得到d= Dk(C)=(Ctr/ , data’ ),判断等式Ctr/ = CtrA是否成立,若不成立,则输出错误信息2并停止,否则执行如下步骤; .6)更新所述计数器的值CtrB:=以1^;输出所述解密算法得到的部分计算结果data’。5.如权利要求4所述的方法,其特征在于,在步骤5),所述解密模块将一个初始向量IV送入解密算法,对所述数据进行解密过程为d = Dk,IV(c) = (Ctr/,data’ )。6.如权利要求4所述的方法,其特征在于,在步骤5),所述解密模块先将计数器所述接收收据部分的计数器的值CtrA通过函数f ()映射为初始向量IV = f(CtrA)并送入解密算法,对所述数据进行解密的过程为ゴ=DkJUtr^c) =、CtrA’,data’)。...
【专利技术属性】
技术研发人员:武传坤,
申请(专利权)人:武传坤,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。