CN103634113B - 一种带用户/设备身份认证的加解密方法及装置 - Google Patents
一种带用户/设备身份认证的加解密方法及装置 Download PDFInfo
- Publication number
- CN103634113B CN103634113B CN201310605665.0A CN201310605665A CN103634113B CN 103634113 B CN103634113 B CN 103634113B CN 201310605665 A CN201310605665 A CN 201310605665A CN 103634113 B CN103634113 B CN 103634113B
- Authority
- CN
- China
- Prior art keywords
- user
- equipment
- packet
- ciphertext
- imperfect
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据通信和信息安全领域,尤其是涉及一种用户/设备身份认证的加解密方法及装置。针对上述存在的问题,提供一种带认证的加解密方法及装置,通过认证码构造过程,完整分组明文/密文的加密/解密运算以及不完整分组明文/密文的加密/解密运算处理,使得本发明能和密码运算的使用者、密码算法本身做到严格绑定,进一步,解决了常用分组密码算法需要填充,不能直接处理不完整分组的问题。本发明通过用户/设备及认证设备进行数据传输与认证,实现本发明。本发明应用与信息安全领域,特别适合于用户个人数据的安全存储和备份。
Description
技术领域
本发明涉及数据通信和信息安全领域,尤其是涉及一种带用户/设备身份认证的加解密方法及装置。
背景技术
密码技术作为信息安全的核心手段和技术,在信息安全中具有重要的作用和地位,目前,在信息安全中广泛采用分组密码算法来实现数据的安全存储和备份,分组密码算法的使用者、分组密码算法本身和加密的结果没有绑定,一样的明文、一样的密钥和IV,采用通用的CBC加密方式来说,对不同的使用者/设备来说,其结果是一致的。同时,通用的分组密码算法是不带用户身份认证的。不能让分组密码算法和使用者进行绑定,不能对分组密码算法的使用者进行身份认证。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种带认证的加解密方法及装置,通过认证码构造过程,完整分组明文/密文的加密/解密运算以及不完整分组明文/密文的加密/解密运算处理,使得本发明能和密码算法的使用者、密码算法本身做到严格绑定,进一步,解决了常用分组密码算法需要填充,不能直接处理加密不完整分组的问题。
本发明采用的技术方案如下:
一种带用户/设备身份认证的加解密方法包括:
步骤1:结合用户/设备身份ID、用户/设备身份ID的长度ID_LEN、分组密码算法的CBC加密模式的初始化向量IV以及用户/设备待处理数据的长度(明文或密文)P_LEN,按照认证码构造方法生成用户/设备的认证码AU_CODE,所述初始IV是由认证设备随机分配;
步骤2:对用户/设备需要进行传输的明文数据进行加密,得到用户/设备密文数据;
步骤3:认证设备根据检测到用户/设备的ID号、ID_LEN、用户/设备对应的初始化向量IV以及用户/设备的P_LEN,按照认证码构造方法生成认证码AU_CODE’,比较AU_CODE与AU_CODE’是否相同,若结果一致,则对用户/设备发送的密文进行解密;否则:认证设备返回验证失败给用户设备;
所述步骤2具体过程是:
步骤21:当用户/设备处理的数据属于完整分组,则直接采用CBC加密模式得到用户设备完整分组密文;
步骤22:当用户/设备处理的明文数据属于不完整分组,则直接加密IV,,是由初始化向量IV和用户设备ID合成,即,再用加密结果和不完整分组的明文异或运算,得到和用户/设备不完整分组明文对应的等长的不完整分组密文;其中完整分组指的是分组密码算法处理的最小数据长度,一般是128比特,不完整分组指的是不足一个完整分组的数据长度,如分组密码算法处理的分组长度是128比特,而现在需要处理的数据长度是160比特,将其中128比特按照完整分组的处理方式处理,剩余的32比特按照不完整分组的处理方式处理,即直接加密IV,再用加密结果和32比特的数据做异或运算,得到不完整分组32比特的密文。
所述步骤21具体步骤是:
步骤211:加密过程主体采用分组密码算法的CBC加密模式,是由初始化向量IV和用户设备ID合成,即,如果用户设备ID的长度ID_LEN不是完整分组的整数倍,则在长度ID_LEN其低位填充全0,将长度ID_LEN补充成完整分组的整数倍。
步骤212:如果填充后用户设备ID的长度ID_LEN是n个分组长度,则将填充后的数据进行下述运算,即,其中表示用户设备ID填充后的每个分组。
所述步骤22具体过程是:
步骤221:用户/设备处理的数据属于不完整分组,直接加密IV’得到一个单位完整分组明文对应的密文。
步骤222:从密文中取得与不完整分组明文等长的密文,与不完整分组明文进行异或运算,得到不完整分组的密文。
所述步骤222中从完整分组明文对应的密文中取得与不完整分组明文等长的加密密文顺序是:从左到右、从右到左或者从中间开始取数据的方式。
所述步骤3中认证设备对用户/设备密文进行解析过程是:当用户设备发送的完整分组明文时,则对应的密文解析方式是按照CBC解密模式进行解密,若用户设备发送的不完整分组明文时,则对应的密文解析方式是:对于不完整的分组的明文,采用直接加密 再取和不完整分组明文等长的密文(从左到右/从右到左)和不完整分组的M密文进行异或运算,得到不完整分组的明文。
一种带用户/设备身份认证的加解密装置包括:
用户/设备认证码生成模块:根据用户/设备ID、用户/设备的ID长度ID_LEN、CBC加密算法的初始化向量IV以及待处理数据的长度的P_LEN,按照认证码构造方法生成用户设备的认证码AU_CODE,所述IV是由认证设备随机分配;
用户/设备发送模块:用户/设备发送加密数据给认证设备接收模块;
认证设备接收模块,用于接收用户/设备发送模块发送的处理数据;
认证设备认证码生成模块: 根据检测到用户设备的ID号、ID_LEN、用户设备的对应的初始化向量IV以及用户设备发送明文的P_LEN,按照认证码构造方法生成认证码AU_CODE’;
认证设备比较模块:比较AU_CODE与AU_CODE’是否相同,若结果一致,则对用户设备发送的密文进行解析;否则:认证设备返回验证失败给用户设备。
所述用户/设备发送的加密数据解密具体过程是:
步骤31:当用户/设备发送给认证设备的明文数据属于完整分组,则采用CBC加密模式得到用户设备完整分组密文;
步骤32:当用户/设备处理的明文数据属于不完整分组,则直接加密IV,,是由初始化向量IV和用户设备ID合成,即,再用加密结果和不完整分组的明文异或运算,得到和用户/设备不完整分组明文对应的等长的不完整分组密文;其中完整分组指的是分组密码算法处理的最小数据长度,一般是128比特,不完整分组指的是不足一个完整分组的数据长度,如分组密码算法处理的分组长度是128比特,而现在需要处理的数据长度是160比特,将其中128比特按照完整分组的处理方式处理,剩余的32比特按照不完整分组的处理方式处理,即直接加密IV,再用加密结果和32比特的数据做异或运算,得到不完整分组(32比特)的密文。
所述步骤31具体步骤是:
步骤311:加密过程主体采用分组密码算法的CBC加密模式,是由初始化向量IV和用户设备ID合成,即,如果用户设备ID的长度ID_LEN不是完整分组的整数倍,则在长度ID_LEN其低位填充全0,将长度ID_LEN补充成完整分组的整数倍。
步骤312:如果填充后用户设备ID的长度ID_LEN是n个分组长度,则将填充后的数据进行下述运算,即,其中表示用户设备ID填充后的每个分组。
所述步骤32具体过程是:
步骤321:用户/设备待处理的数据属于不完整分组,直接加密IV’得到一个单位完整分组明文对应的密文。
步骤322:从密文中取得与不完整分组明文等长的密文,与不完整分组明文进行异或运算,得到不完整分组的密文。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1)本发明相比常用的分组密码算法来说,能和密码算法的使用者、密码算法本身做到严格绑定,这一点,是常用的分组密码算法运算模式(ECB、CBC、OFB、CFB)做不到的。
2)即使一样的消息,不同的用户得到的消息验证码是不一样的,得到的加密结果也不一样,这一点,也是常用的分组密码算法做不到的;
3)解决了常用的分组密码算法需要填充,不能直接加密非完整分组的问题。该方法可以广泛用于个人数据的安全存储和保护,特别是在云计算和移动互联环境下的数据安全存储和备份。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1认证码AU_CODE的计算过程实施例一示意图。
图2完整分组明文加密模式示意图。
图3不完整分组明文加密模式示意图。
图4本设计流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明相关说明:
1、符号说明:
0x 表示十六进制的数;
ID 用户标识;
ID_LEN 用户标识ID的长度(比特);
IV 分组密码算法初始向量(和完整分组等长);
P 明文;
P_LEN 明文长度(比特);
HASH() 选用的杂凑密码算法。
2 算法约定:
|| 拼接运算,如0xaa|| 0xbb= 0xaabb;
3 认证码构造方法:
认证码构造原则:首先要和用户ID、用户ID_LEN有关联,其次也需要和以IV为初始向量的加解密算法及明文长度相关联。
认证码构造过程1(如下图1):
步骤1:输入:ID,ID_LEN,IV ,P_LEN;
步骤1:计算HASH(ID || ID_LEN);
步骤2:计算AU_CODE =HASH(HASH(ID || ID_LEN) || IV || P_LEN);
步骤4:输出认证码AU_CODE;
认证码构造过程2:
步骤1:输入:ID,ID_LEN,IV ,P_LEN;
步骤2:计算AU_CODE= HASH(ID || ID_LEN || IV || P_LEN) ;
步骤3:输出认证码AU_CODE;
4 密文=明文+密钥+向量;明文=密文-密钥-向量。
5 若用户设备需要发送的数据是完整分组明文时加密过程是:
1)加密过程主体采用分组密码算法的CBC加密模式,是由初始IV和用户ID合成(其中IV是一个随机数),即,如果ID的长度ID_LEN不是完整分组的整数倍,则在其右边(低位)填充全0,补充成完整分组的整数倍。
2)如果填充后ID的长度ID_LEN是n个分组长度,则将填充后的数据按分组长度从左到右异或运算,即 表示ID填充后的每个分组。
3)根据进行CBC加密模式进行加密得到密文。
6、当用户/设备处理的明文数据属于不完整分组,则直接加密IV,,是由初始化向量IV和用户设备ID合成,即,再用加密结果和不完整分组的明文异或运算,得到和用户/设备不完整分组明文对应的等长的不完整分组密文;其中完整分组指的是分组密码算法处理的最小数据长度,一般是128比特,不完整分组指的是不足一个完整分组的数据长度,如分组密码算法处理的分组长度是128比特,而现在需要处理的数据长度是160比特,将其中128比特按照完整分组的处理方式处理,剩余的32比特按照不完整分组的处理方式处理,即直接加密IV,再用加密结果和32比特的数据做异或运算,得到不完整分组(32比特)的密文。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (8)
1.一种带用户/设备身份认证的加解密方法,其特征在于包括:
步骤1:结合用户/设备身份ID、用户/设备身份ID的长度ID_LEN、分组密码算法的CBC加密模式的初始化向量IV以及用户/设备待处理数据的长度P_LEN,按照认证码构造方法生成用户/设备的认证码AU_CODE,所述初始IV是由认证设备随机分配;
步骤2:对用户/设备需要进行传输的明文数据进行加密,得到用户/设备密文数据;
步骤3:认证设备根据检测到用户/设备的ID号、ID_LEN、用户/设备对应的初始化向量IV以及用户/设备的P_LEN,按照认证码构造方法生成认证码AU_CODE’,比较AU_CODE与AU_CODE’是否相同,若结果一致,则对用户/设备发送的密文进行解密;否则:认证设备返回验证失败给用户设备;
所述步骤2具体过程是:
步骤21:当用户/设备处理的数据属于完整分组,则直接采用CBC加密模式得到用户设备完整分组密文;
步骤22:当用户/设备处理的明文数据属于不完整分组,则直接加密IV’,IV是由初始化向量IV和用户设备ID合成,即再用加密结果和不完整分组的明文异或运算,得到和用户/设备不完整分组明文对应的等长的不完整分组密文;其中完整分组指的是分组密码算法处理的最小数据长度是128比特,不完整分组指的是不足一个完整分组的数据长度,分组密码算法处理的分组长度是128比特,而现在需要处理的数据长度是160比特,将其中128比特按照完整分组的处理方式处理,剩余的32比特按照不完整分组的处理方式处理,即直接加密IV,再用加密结果和32比特的数据做异或运算,得到不完整分组32比特的密文。
2.根据权利要求1所述的一种带用户/设备身份认证的加解密方法,其特征在于所述步骤21具体步骤是:
步骤211:加密过程主体采用分组密码算法的CBC加密模式,IV是由初始化向量IV和用户设备ID合成,即如果用户设备ID的长度ID_LEN不是完整分组的整数倍,则在长度ID_LEN其低位填充全0,将长度ID_LEN补充成完整分组的整数倍;步骤212:如果填充后用户设备ID的长度ID_LEN是n个分组长度,则将填充后的数据进行下述运算,即其中IDi表示用户设备ID填充后的每个分组,0≤i≤n-1。
3.根据权利要求2所述的一种带用户/设备身份认证的加解密方法,其特征在于所述步骤22具体过程是:
步骤221:用户/设备处理的数据属于不完整分组,直接加密IV’得到一个单位完整分组明文对应的密文;步骤222:从密文中取得与不完整分组明文等长的密文,与不完整分组明文进行异或运算,得到不完整分组的密文。
4.根据权利要求3所述的一种带用户/设备身份认证的加解密方法,其特征在于步骤222中从完整分组明文对应的密文中取得与不完整分组明文等长的加密密文顺序是:从左到右、从右到左或者从中间开始取数据的方式。
5.根据权利要求2所述的一种带用户/设备身份认证的加解密方法,其特征在于所述步骤3中认证设备对用户/设备密文进行解析过程是:当用户设备发送的完整分组明文时,则对应的密文解析方式是按照CBC解密模式进行解密,若用户设备发送的不完整分组明文时,则对应的密文解析方式是:对于不完整的分组的明文,采用直接加密IV再取和不完整分组明文等长的密文从左到右或从右到左和不完整分组的M密文进行异或运算,得到不完整分组的明文。
6.一种带用户/设备身份认证的加解密装置,其特征在于包括:
用户/设备认证码生成模块:根据用户/设备ID、用户/设备的ID长度ID_LEN、CBC加密算法的初始化向量IV以及待处理数据的长度的P_LEN,按照认证码构造方法生成用户设备的认证码AU_CODE,所述IV是由认证设备随机分配;
用户/设备发送模块:用户/设备发送加密数据给认证设备接收模块;
认证设备接收模块,用于接收用户/设备发送模块发送的处理数据;
认证设备认证码生成模块:根据检测到用户设备的ID号、ID_LEN、用户设备的对应的初始化向量IV以及用户设备发送明文的P_LEN,按照认证码构造方法生成认证码AU_CODE’;
认证设备比较模块:比较AU_CODE与AU_CODE’是否相同,若结果一致,则对用户设备发送的密文进行解析;否则:认证设备返回验证失败给用户设备;
所述用户/设备发送的加密数据加密具体过程是:
步骤31:当用户/设备发送给认证设备的明文数据属于完整分组,则采用CBC加密模式得到用户设备完整分组密文;
步骤32:当用户/设备处理的明文数据属于不完整分组,则直接加密IV’,IV是由初始化向量IV和用户设备ID合成,即再用加密结果和不完整分组的明文异或运算,得到和用户/设备不完整分组明文对应的等长的不完整分组密文;其中完整分组指的是分组密码算法处理的最小数据长度是128比特,不完整分组指的是不足一个完整分组的数据长 度,分组密码算法处理的分组长度是128比特,而现在需要处理的数据长度是160比特,将其中128比特按照完整分组的处理方式处理,剩余的32比特按照不完整分组的处理方式处理,即直接加密IV,再用加密结果和32比特的数据做异或运算,得到不完整分组32比特的密文。
7.根据权利要求6所述的一种带用户/设备身份认证的加解密装置,其特征在于所述步骤31具体步骤是:
步骤311:加密过程主体采用分组密码算法的CBC加密模式,IV是由初始化向量IV和用户设备ID合成,即如果用户设备ID的长度ID_LEN不是完整分组的整数倍,则在长度ID_LEN其低位填充全0,将长度ID_LEN补充成完整分组的整数倍;
步骤312:如果填充后用户设备ID的长度ID_LEN是n个分组长度,则将填充后的数据进行下述运算,即其中IDi表示用户设备ID填充后的每个分组,0≤i≤n-1。
8.根据权利要求7所述的一种带用户/设备身份认证的加解密装置,其特征在于所述步骤32具体过程是:
步骤321:用户/设备待处理的数据属于不完整分组,直接加密IV’得到一个单位完整分组明文对应的密文;
步骤322:从密文中取得与不完整分组明文等长的密文,与不完整分组明文进行异或运算,得到不完整分组的密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310605665.0A CN103634113B (zh) | 2013-11-26 | 2013-11-26 | 一种带用户/设备身份认证的加解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310605665.0A CN103634113B (zh) | 2013-11-26 | 2013-11-26 | 一种带用户/设备身份认证的加解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103634113A CN103634113A (zh) | 2014-03-12 |
CN103634113B true CN103634113B (zh) | 2017-02-15 |
Family
ID=50214772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310605665.0A Active CN103634113B (zh) | 2013-11-26 | 2013-11-26 | 一种带用户/设备身份认证的加解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103634113B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794551A (zh) * | 2021-09-13 | 2021-12-14 | 北京江南天安科技有限公司 | 一种长报文数据的等长分组加密方法及密文解密方法 |
CN114448624B (zh) * | 2022-01-27 | 2023-07-18 | 华南师范大学 | 基于白盒密码服务的透明化物联网安全传输方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594842A (zh) * | 2012-03-21 | 2012-07-18 | 江苏新大诚信息技术有限公司 | 一种基于设备指纹的网管消息认证与加密方案 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100428751C (zh) * | 2000-12-25 | 2008-10-22 | 松下电器产业株式会社 | 安全通信包处理装置及其方法 |
US20050149739A1 (en) * | 2003-12-31 | 2005-07-07 | Hewlett-Packard Development Company, L.P. | PIN verification using cipher block chaining |
CN1700639A (zh) * | 2004-05-21 | 2005-11-23 | 华为技术有限公司 | 导出和导入无线局域网鉴别与保密基础结构证书信息方法 |
CN101370018A (zh) * | 2008-09-25 | 2009-02-18 | 华为技术有限公司 | 一种dhcp认证方法、装置和系统 |
US8467532B2 (en) * | 2010-01-04 | 2013-06-18 | Tata Consultancy Services Limited | System and method for secure transaction of data between a wireless communication device and a server |
CN103200563B (zh) * | 2013-03-28 | 2016-06-29 | 重庆邮电大学 | 一种基于认证码的阈下信道隐匿通信方法 |
-
2013
- 2013-11-26 CN CN201310605665.0A patent/CN103634113B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594842A (zh) * | 2012-03-21 | 2012-07-18 | 江苏新大诚信息技术有限公司 | 一种基于设备指纹的网管消息认证与加密方案 |
Also Published As
Publication number | Publication date |
---|---|
CN103634113A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9537657B1 (en) | Multipart authenticated encryption | |
CN101917270B (zh) | 一种基于对称密码的弱认证和密钥协商方法 | |
CN109672539A (zh) | Sm2算法协同签名及解密方法、装置及系统 | |
JP6740902B2 (ja) | 認証暗号化方法、認証復号方法および情報処理装置 | |
CN101202623B (zh) | 消息验证码产生方法、验证/加密和验证/解密方法 | |
US8744078B2 (en) | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths | |
CN103152362B (zh) | 基于云计算的大数据文件加密传输方法 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN114826656A (zh) | 一种数据链路可信传输方法和系统 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN103179514A (zh) | 一种敏感信息的手机安全群分发方法和装置 | |
CN103117850B (zh) | 一种基于随机序列数据库的密码系统的建立方法 | |
CN104486756B (zh) | 一种密笺短信的加解密方法及系统 | |
JPH09312643A (ja) | 鍵共有方法及び暗号通信方法 | |
JP2009267900A (ja) | 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム | |
CN102916810A (zh) | 传感器认证方法、系统和装置 | |
Goyal et al. | Cryptographic security using various encryption and decryption method | |
CN105871858A (zh) | 一种保证数据安全的方法及系统 | |
CN103634113B (zh) | 一种带用户/设备身份认证的加解密方法及装置 | |
CN106973061B (zh) | 一种基于可逆逻辑电路的aes的外发文件加密方法 | |
CN116248316A (zh) | 文件加密方法、文件解密方法、装置及存储介质 | |
CN112866288B (zh) | 一种双明文传输的数据对称加密方法 | |
Yap et al. | Security analysis of GCM for communication | |
CN105049433A (zh) | 标识化卡号信息传输验证方法及系统 | |
CN102256246A (zh) | 移动通信的数据传输加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No. 333, Yunhua Road, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan 610041 Patentee after: China Electronics Technology Network Security Technology Co.,Ltd. Address before: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041 Patentee before: CHENGDU WESTONE INFORMATION INDUSTRY Inc. |