CN102136904A - 一种基于分组密码的消息鉴别方法 - Google Patents

一种基于分组密码的消息鉴别方法 Download PDF

Info

Publication number
CN102136904A
CN102136904A CN2011100786877A CN201110078687A CN102136904A CN 102136904 A CN102136904 A CN 102136904A CN 2011100786877 A CN2011100786877 A CN 2011100786877A CN 201110078687 A CN201110078687 A CN 201110078687A CN 102136904 A CN102136904 A CN 102136904A
Authority
CN
China
Prior art keywords
bit
message
length
block cipher
cbc
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
Application number
CN2011100786877A
Other languages
English (en)
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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN2011100786877A priority Critical patent/CN102136904A/zh
Publication of CN102136904A publication Critical patent/CN102136904A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于分组密码的消息鉴别方法,步骤包括:1)通信双方约定分组密码E和密钥K;2)发送方将消息M分块,得到M1,M2,…,ML-1,ML;3)发送方选择辅助量I,以n比特的常数为初始向量,以CBC-MAC方式处理I,得到秘密值X;4)发送方以X为初始向量,以CBC-MAC方式处理M1M2…ML-1构成的比特串,得到值Y;5)对Y进行循环移位操作,得到值Z;6)发送方使用分组密码E,以K为密钥,Z为明文进行加密,得密文T,将I,M,T发送给接收方;7)接收方重复操作步骤2)至6)得密文T’;8)验证是否T’=T,是则接受;否则拒绝。本方法能够在保证安全认证消息的前提下,进一步有效利用通信中的相关参数,保护数据的完整性,提高通信的效率。

Description

一种基于分组密码的消息鉴别方法
技术领域
本发明主要应用于通信领域,具体涉及一种基于分组密码的消息鉴别方法,用于实现通讯中检测数据完整性和认证数据起源。
背景技术
数据的完整性检测和起源认证是影响通信安全的重要方面,常见的保护措施包括消息鉴别码和数字签名。
消息鉴别码MAC(Message Authentication Code)属于对称加密的范畴,要求使用双方首先共享一个密钥K。在发送消息M之前,发送者首先计算T=MAC(K,M),然后把(M,T)发送出去。在收到(M,T)之后,接收者计算T’=MAC(K,M),并比较是否T=T’。若是,则认定消息M合法(M在传输过程中没有被篡改,且确实来自于授权的发送方);若否,则认定消息M非法,并拒绝使用消息M。
常见的消息鉴别码算法有四大类,前三类分别基于分组密码、杂凑函数和泛杂凑函数,第四类是直接设计的算法。在基于分组密码的消息鉴别码算法中,CBC-MAC是最早的一个,其基本结构如图1,以IV为初始向量,使用分组密码E以分块方式处理消息M。
但是,CBC-MAC有一个缺陷,它不能够安全地处理不同长度的消息。为此,人们后来提出了不少改进版本,如EMAC、XCBC、TMAC、OMAC、PMAC、GCBC、XOR-MAC等等。这些后续方法,都能够安全地处理不同长度的消息,但在效率方面(密钥量、内存、状态量依赖、调用分组密码次数等)各有差异。
发明内容
本发明的目的在于提出一种基于分组密码的改进的消息鉴别方法,该方法能够安全地处理不同长度的消息,并且通过合理地使用参数,进一步提高通信的性能。
为了实现本发明的目的,采用的技术方案概述如下:
一种基于分组密码的消息鉴别方法,其步骤包括:
1)通信双方约定分组密码E和密钥K;
2)发送方将消息M分块,得到M1,M2,...,ML-1,ML,Mi的长度为n比特,且1≤i≤L-1,ML的长度不超过n比特,且M1M2...ML相连接所得到的比特串为M;
3)发送方选择辅助量I,以长度为n比特的常数为初始向量,使用分组密码E以CBC-MAC方式处理I,得到秘密值X;
4)发送方以秘密值X为初始向量,使用分组密码E以CBC-MAC方式处理M1M2...ML-1所构成的比特串,得到值Y;
5)对Y进行循环移位操作,得到链接值Z;
6)发送方使用分组密码E,以K为密钥,Z为明文进行加密,所得密文为T,发送给接收方;
7)接收方重复操作步骤2)至6)得到密文T’;
8)接收方验证是否T’=T,若是,则接受消息M和辅助量I;否则,则拒绝。
所述步骤2)若消息M的长度不超过n比特,则M1,M2,...,ML-1为空字符串,ML=M。
所述步骤3)消息的辅助量I,其内容为伴随消息M发送的相关信息,比如说发送消息M时所使用的网络协议的参数,或者是发送方的名字,发送的日期,或者为一个常数。
所述步骤3)以CBC-MAC方式处理I,需要在处理I之前对辅助量I进行填充,使得其填充后的总长度为wn比特,w为固定的正整数。
所述步骤3)长度为n比特的常数为长度为n的比特串,且固定不变。
所述步骤3)以CBC-MAC方式处理I,需要将辅助量I分块,得到I1,I2,...,Iw,Ii的长度为n比特,且1≤i≤w,且I1I2...Iw相连接所得到的比特串为填充后的辅助量I。
所述步骤5)若ML的长度恰好为n比特,则先将Y和ML相异或,再将所得的比特串循环左移p位,其中p为正整数;
若ML的长度不足n比特,则填充ML使得其长度为n比特,再将Y和ML相异或,再将所得的比特串循环左移q位,其中q为正整数且q≠p。
与现有技术相比,本发明基于分组密码的消息鉴别方法具有如下技术效果:
1)能够保护数据的完整性,有效识别消息在传输过程中是否被篡改;
2)能够认证消息是否来自于授权的发送方;
3)使用与消息相关的辅助量作为参数,保证算法安全的同时便利了算法的运行;
4)结构简明清晰。
附图说明
图1为使用分组密码E的CBC-MAC处理消息的结构图;
图2为本发明方法处理消息的结构图。
具体实施方式
以下结合附图和具体实施例对本发明的方法作详细的说明。
本发明基于分组密码算法,前提是需要通信双方约定具体的分组密码算法E,并共享密钥K。在此基础上,如图2所示,消息发送者S首先处理辅助量I,再处理消息M,并将得到的标签T连同M和I发送给消息接收方R。本发明基于分组密码的消息鉴别方法,其步骤包括两个阶段:
首先通信双方S和R共享密钥K,并约定分组密码算法E。
标签生成阶段(发送者S操作):
1.1)为发送消息M和辅助量I,首先对I进行填充使得其填充后的总长度为n比特的w倍(w为某一固定的正整数,且wn不小于所有I的长度,n为分组密码的分组长度);若I的长度为wn比特,则不填充;
1.2)将消息M分块,得到M1,M2,...,ML-1,ML,满足Mi的长度为n比特(1≤i≤L-1),ML的长度不超过n比特,且M1M2...ML相连接所得到的比特串恰好为M;
1.3)以一个n比特的常数Cst为初始向量,使用分组密码E以CBC-MAC方式处理填充后的I,得到X;具体如下:
X = E ( K , Cst ⊕ I 1 ) ;
For i=1 to w
X = E ( K , X ⊕ I i )
End for
1.4)以X为初始向量,使用分组密码E以CBC-MAC方式处理M1M2...ML-1所构成的比特串,得到Y;具体如下:
Y = E ( K , X ⊕ M 1 )
For i=2 to L-1
Y = E ( K , Y ⊕ M i )
End for
1.5)若ML的长度恰好为n比特,则令其中p为正整数;
1.6)若ML的长度不足n比特,则填充ML使得其长度为n比特,再令
Figure BDA0000052966360000036
其中q为正整数且q≠p;
1.7)计算T=E(K,Z);
1.8)将(I,M,T)发送给R。
标签发送阶段(接受者R操作):
2.1)在收到(I,M,T)之后,为鉴别消息M和辅助量I,R首先重复操作步骤1.1至1.6;
2.2)计算T’=E(K,Z);
2.3)R验证是否T’=T。若是,则接受消息M和辅助量I;否则,则拒绝。
所述步骤11)辅助量I的内容可根据通信中实际情况灵活调整,比如说可以是发送消息M时所使用的网络协议的参数,也可以是一些其它便利通信的内容,或者为一个常数。
进一步,填充I的方法应该使得人们容易地在填充后的比特串中辨认I和填充部分。比如说,在I的右侧首先添加一个“1”,然后添加足够少的“0”使得填充后的比特串长度为n比特的整数倍
所述步骤1.2)若消息M的长度不超过n比特,则M1,M2,...,ML-1为空字符串,ML=M。
所述步骤1.3)Cst表示长度为n的常数比特串,可以选择为长度为n的全0比特串。
进一步,“使用分组密码E以CBC-MAC方式”是指以E为底层分组密码的CBC-MAC。
所述步骤1.4)“使用分组密码E以CBC-MAC方式”是指以E为底层分组密码的CBC-MAC。
所述步骤1.5)表示先将Y和ML相异或,再将所得的比特串循环左移p位。
所述步骤1.6)填充方法与11步骤相同。
所述步骤1.7)T=E(K,Z)表示使用分组密码E,以K为密钥,Z为明文加密,所得密文为T。
所述步骤2.2)T’=E(K,Z)表示使用分组密码E,以K为密钥,Z为明文进行加密,所得密文为T’。
上面对本发明所述的一种基于分组密码的消息鉴别方法进行了详细的说明,对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。

Claims (7)

1.一种基于分组密码的消息鉴别方法,其步骤包括:
1)通信双方约定分组密码E和密钥K;
2)发送方将消息M分块,得到M1,M2,...,ML-1,ML,Mi的长度为n比特,且1≤i≤L-1,ML的长度不超过n比特,且M1M2...ML相连接所得到的比特串为M,n为分组密码的分组长度;
3)发送方选择辅助量I,以长度为n比特的常数为初始向量,使用分组密码E以CBC-MAC方式处理I,得到秘密值X;
4)发送方以秘密值X为初始向量,使用分组密码E以CBC-MAC方式处理M1M2...ML-1所构成的比特串,得到值Y;
5)对Y进行循环移位操作,得到链接值Z;
6)发送方使用分组密码E,以K为密钥,Z作为明文进行加密,所得密文为T,将I,M,T发送给接收方;
7)接收方为鉴别消息M和辅助量I,重复操作步骤2)至6)得到密文T’;
8)接收方验证是否T’=T,若是,则接受消息M和辅助量I;否则,则拒绝。
2.如权利要求1所述的方法,其特征在于,所述步骤2)若消息M的长度不超过n比特,则M1,M2,...,ML-1为空字符串,ML=M。
3.如权利要求1所述的方法,其特征在于,所述步骤3)辅助量I的内容为伴随消息M发送的相关信息,所述相关信息为发送消息M时所使用的网络协议的参数,或者是发送方的名字,或者是发送的日期,或者为一个常数。
4.如权利要求1所述的方法,其特征在于,以CBC-MAC方式处理I,需要在处理I之前对辅助量I进行填充,使得其填充后的总长度为wn比特,w为固定的正整数。
5.如权利要求1所述的方法,其特征在于,所述步骤3)长度为n比特的常数为长度为n的比特串,且固定不变。
6.如权利要求4所述的方法,其特征在于,所述步骤3)以CBC-MAC方式处理I,需要将辅助量I分块,得到I1,I2,...,Iw,Ii的长度为n比特,且1≤i≤w,且I1I2...Iw相连接所得到的比特串为填充后的辅助量I。
7.如权利要求1所述的方法,其特征在于,所述步骤5)若ML的长度恰好为n比特,则先将Y和ML相异或,再将所得的比特串循环左移p位,其中p为正整数;
若ML的长度不足n比特,则填充ML使得其长度为n比特,再将Y和ML相异或,再将所得的比特串循环左移q位,其中q为正整数且q≠p。
CN2011100786877A 2011-03-30 2011-03-30 一种基于分组密码的消息鉴别方法 Pending CN102136904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100786877A CN102136904A (zh) 2011-03-30 2011-03-30 一种基于分组密码的消息鉴别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100786877A CN102136904A (zh) 2011-03-30 2011-03-30 一种基于分组密码的消息鉴别方法

Publications (1)

Publication Number Publication Date
CN102136904A true CN102136904A (zh) 2011-07-27

Family

ID=44296566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100786877A Pending CN102136904A (zh) 2011-03-30 2011-03-30 一种基于分组密码的消息鉴别方法

Country Status (1)

Country Link
CN (1) CN102136904A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683093A (zh) * 2013-11-27 2015-06-03 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
CN106982115A (zh) * 2017-03-30 2017-07-25 山东超越数控电子有限公司 一种分组密码模式的同步方法和系统
WO2018090339A1 (zh) * 2016-11-18 2018-05-24 海能达通信股份有限公司 无线通信方法、装置及通信设备
CN109150504A (zh) * 2017-06-14 2019-01-04 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及高级加密标准系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725511A2 (en) * 1995-02-06 1996-08-07 International Business Machines Corporation Method for data encryption/decryption using cipher block chaining (CBC) and message authetication codes (MAC)
CN101753308A (zh) * 2009-12-22 2010-06-23 中国科学院软件研究所 一种完整性认证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725511A2 (en) * 1995-02-06 1996-08-07 International Business Machines Corporation Method for data encryption/decryption using cipher block chaining (CBC) and message authetication codes (MAC)
CN101753308A (zh) * 2009-12-22 2010-06-23 中国科学院软件研究所 一种完整性认证方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
张立廷: "《分组密码的可证明安全理论研究》", 31 December 2010 *
李学远等: "《信息科技辑》", 28 February 2011 *
王大印等: "《XOR-MAC消息认证码的安全性新证明》", 《中国科学院研究生院学报》 *
王鹏等: "《基于可调分组密码的MAC构造》", 《中国科学院研究生院学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683093A (zh) * 2013-11-27 2015-06-03 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
CN104683093B (zh) * 2013-11-27 2018-01-26 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
WO2018090339A1 (zh) * 2016-11-18 2018-05-24 海能达通信股份有限公司 无线通信方法、装置及通信设备
CN106982115A (zh) * 2017-03-30 2017-07-25 山东超越数控电子有限公司 一种分组密码模式的同步方法和系统
CN109150504A (zh) * 2017-06-14 2019-01-04 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及高级加密标准系统

Similar Documents

Publication Publication Date Title
Rathore et al. A novel trust-based security and privacy model for internet of vehicles using encryption and steganography
CN109559122A (zh) 区块链数据传输方法及区块链数据传输系统
CN101917270B (zh) 一种基于对称密码的弱认证和密钥协商方法
CN105897748B (zh) 一种对称密钥的传输方法及设备
CN1729646B (zh) 基于纠错码的消息认证码
CN102780698A (zh) 物联网平台中用户终端安全通信的方法
CN101247605A (zh) 短信息加密、签名方法、移动终端及短信息加密系统
CN105049401A (zh) 一种基于智能车的安全通信方法
CN101466079A (zh) 电子邮件的传送方法、系统及wapi终端
CN103684772B (zh) 动态缺失加密系统
CN104618109B (zh) 一种基于数字签名的电力终端数据安全传输方法
CN101931536B (zh) 一种无需认证中心的高效数据加密及认证方法
CN112511304A (zh) 一种基于混合加密算法的电力数据隐私通信方法
CN101986726B (zh) 一种基于wapi的管理帧保护方法
CN104811427B (zh) 一种安全的工业控制系统通信方法
CN107483191A (zh) 一种sm2算法密钥分割签名系统及方法
CN111797431B (zh) 一种基于对称密钥体制的加密数据异常检测方法与系统
CN106533656A (zh) 一种基于wsn的密钥多层混合加/解密方法
CN105391554A (zh) 一种采用密文实现指纹匹配的方法和系统
CN101552792B (zh) 一种利用动态二级密钥来传递信息的方法和设备
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN102136904A (zh) 一种基于分组密码的消息鉴别方法
CN115001775B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN101662367B (zh) 基于共享密钥的双向认证方法
CN104113543B (zh) 一种基于分组密码的消息鉴别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110727