CN101753308A - 一种完整性认证方法 - Google Patents

一种完整性认证方法 Download PDF

Info

Publication number
CN101753308A
CN101753308A CN200910243440A CN200910243440A CN101753308A CN 101753308 A CN101753308 A CN 101753308A CN 200910243440 A CN200910243440 A CN 200910243440A CN 200910243440 A CN200910243440 A CN 200910243440A CN 101753308 A CN101753308 A CN 101753308A
Authority
CN
China
Prior art keywords
message
key
length
authentication code
authentication
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.)
Granted
Application number
CN200910243440A
Other languages
English (en)
Other versions
CN101753308B (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.)
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 CN2009102434409A priority Critical patent/CN101753308B/zh
Publication of CN101753308A publication Critical patent/CN101753308A/zh
Application granted granted Critical
Publication of CN101753308B publication Critical patent/CN101753308B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种完整性认证方法,属于信息完整性认证领域。本方法为:1)消息发送者将认证密钥和初始向量输入流密码算法;2)流密码算法根据消息的长度Length和认证码的长度w,生成该消息的密钥流序列;3)模累加密钥流序列中对应该消息比特为1的位置的密钥字;4)将密钥流序列中对应第Length个位置的密钥字和第Length+w个位置的密钥字依次模累加到步骤3)的结果上,生成认证码;5)消息发送者将消息和认证码发送给消息接收者;6)消息接收者将认证密钥和初始向量输入流密码算法,重复2)~4)生成认证码;通过判断认证码是否一致认证该消息的完整性。本发明大大简化通讯设备,同时运算简单,易于软硬件实现。

Description

一种完整性认证方法
技术领域
本发明属于安全传输中的信息完整性认证领域,具体涉及一种完整性认证方法。
背景技术
信息产业的发展,把我们带入了一个数字化时代。大量的数字化信息在给人们带来方便的同时,也带来了一系列问题,比如敏感信息可能轻易地被窃取、篡改、非法复制和传播等等。因此我们需要一种机制,使得消息的接收者可以验证该消息确实是来自所声称的消息源并且在传输的过程中未受到未授权的修改。完整性认证就是抗击对消息未授权修改的安全服务。
现代密码学中的数据完整性与通信学中的检错码有密切的联系,并由其演变而来。数据完整性技术的工作原理和检测码技术的工作原理本质上是相同的:消息的发送者通过编码为消息增加冗余来生成一个“校验值”,并将该校验值附在消息之后;消息的接收者根据与发送者协商好的一系列规则,利用附加的消息值来检验所接收到的消息的正确性。完整性认证方法要使得校验值在整个校验值空间中尽可能地均匀分布,这就使得攻击者伪造一个有效校验值的概率达到最小。
与加密算法类似,实现数据完整性的密码转换也应该由密钥参数控制。所以完整性认证方法中的认证码生成方法,就是对要认证的消息,在认证密钥的控制下做某种变换,生成用于校验消息完整性的校验码。由对称密码技术生成的检验码通常成为消息认证码(MAC)。MAC的生成和验证可以使用密钥杂凑函数技术,也可以使用分组密码加密算法。在这里,我们提出一个基于流密码算法的认证码生成方法。
发明内容
本发明的目的在于提供一种完整性认证方法。本发明以要认证的消息、消息的长度、生成认证码的长度、认证密钥和初始向量作为输入,利用流密码算法产生消息认证码。消息的发送者利用认证密钥、初始向量、要认证的消息及长度和要生成的认证码的长度,使用本发明的方法生成认证码,连同消息一起发送给接收者。接收者利用认证密钥、初始向量、接收到的消息及长度和与发送者约定的认证码的长度,利用本发明的方法计算认证码,如果自己计算所得的认证码与发送者发送的认证码一致,则说明消息来自于所声称的发送者且在传输过程中未受到未授权方式修改。否则,说明消息来自于非法发送者或者在传输过程中受到未授权方式修改。从而实现数据的完整性认证。
本发明的技术方案为:
一种完整性认证方法,其步骤为:
1)消息发送者将认证密钥和初始向量输入流密码算法;
2)流密码算法根据消息的长度Length和认证码的长度w,生成该消息的密钥流序列;
3)模累加所述密钥流序列中对应该消息比特为1的位置的密钥字;所示密钥字为:将所述密钥流序列的某一位置起之后连续w个密钥流比特作为该位置对应的密钥字;
4)将所述密钥流序列中对应第Length个位置的密钥字模累加到步骤3)的结果上;
5)将所述密钥流序列中对应第Length+w个位置的密钥字模累加到步骤4)的结果上,生成认证码;
6)消息发送者将消息和步骤5)所生成的认证码发送给消息接收者;
7)消息接收者将认证密钥和初始向量输入流密码算法,重复步骤2)~5)生成认证码;
8)消息接收者根据步骤7)所生成的认证码与接收到的认证码是否一致,进行该消息的完整性认证。
进一步的,所述密钥流序列的长度为Length+2×w比特。
进一步的,所述认证码的长度w为大于1的正整数。
进一步的,所述认证码长度w的取值是32、64、96、128、160。
进一步的,所述累加所述密钥流序列中对应该消息比特为1的位置的密钥字的方法为:设一变量T,并初始化为0,如果M[i]=1,则计算 T = T ⊕ C [ i ] ; 其中M[i]表示消息的第i比特,C[i]为所述密钥流序列的第i比特起的连续w比特,i=0,1,...,Length-1,
Figure G2009102434409D00022
表示按比特异或运算。
进一步的,采用公式 T = T ⊕ C [ Lengh ] 计算所述步骤4)。
进一步的,采用公式 MAC = T ⊕ C [ Lenght + w ] 计算所述步骤5),生成所述认证码。
本发明中所示的消息或密钥流序列的位置均从零开始计数。
(1)用认证码生成方法的部分输入(认证密钥、初始向量)构造流密码算法的输入(加密密钥和初始向量)。
(2)根据(1)中构造的加密密钥和初始向量,对流密码算法初始化并运行算法,根据消息的长度Length和认证码的长度w产生密钥流序列。所需密钥流序列的长度为消息的长度加两倍消息认证码长度。
(3)所述密钥流序列从某一个位置起之后连续w个密钥流比特视作这个位置对应的密钥字,将原始消息为1的位置对应的密钥字模累加(此处为模二加,即按比特异或)。
(4)将密钥流序列中对应第Length个位置的密钥字模累加到(3)的结果上。
(5)将密钥流序列中对应第Length+w个位置的密钥字模累加到(4)的结果上,生成认证码。
本发明具有以下优点:
(1)利用已有的流密码算法,流密码算法即可用于加密,又同时用于消息认证,可以大大简化通讯设备。
(2)只用到了按位异或运算,运算简单,容易实现。
(3)方法易于软硬件实现。
具体实施方式
设认证密钥Key,初始向量IV,消息M,消息长度Length,认证码长度w。本认证方法具体实施方法如下:
(1)消息发送者将认证密钥Key和初始向量IV作为流密码算法的加密密钥和初始向量(关于流密码算法可以参考http://www.ecrypt.eu.org/stream/)输入流密码算法。
(2)对流密码算法初始化并运行算法,根据消息的长度Length和认证码的长度w产生密钥流序列。所需密钥流序列的长度为Length+2×w比特。
(3)设一变量T,并初始化为0,即T=0。M[i]表示消息的第i比特,C[i]表示(2)中产生的密钥流序列的第i比特起的连续w比特,0≤i≤Length-1。对i=0,1,...,Length-1,如果M[i]=1,那么 T = T ⊕ C [ i ] ; 如果M[i]=0,那么T不变。其中,
Figure G2009102434409D00032
表示按比特异或,即按比特模二加。
(4) T = T ⊕ C [ Lengh ] . C[Length]表示(2)中产生的密钥流序列的第Length比特起的连续w比特。
(5)计算 MAC = T ⊕ C [ Lenght + w ] . C[Length+w]表示(2)中产生的密钥流序列的第Length+w比特起的连续w比特。MAC即为本方法产生的消息认证码。
(6)消息发送者将消息和步骤5)所生成的认证码发送给消息接收者;
(7)消息接收者将认证密钥和初始向量输入流密码算法,重复步骤2)~5)生成认证码;
(8)消息接收者根据步骤7)所生成的认证码与接收到的认证码是否一致,进行该消息的完整性认证。

Claims (7)

1.一种完整性认证方法,其步骤为:
1)消息发送者将认证密钥和初始向量输入流密码算法;
2)流密码算法根据消息的长度Length和认证码的长度w,生成该消息的密钥流序列;
3)模累加所述密钥流序列中对应该消息比特为1的位置的密钥字;所示密钥字为:将所述密钥流序列的某一位置起之后连续w个密钥流比特作为该位置对应的密钥字;
4)将所述密钥流序列中对应第Length个位置的密钥字模累加到步骤3)的结果上;
5)将所述密钥流序列中对应第Length+w个位置的密钥字模累加到步骤4)的结果上,生成认证码;
6)消息发送者将消息和步骤5)所生成的认证码发送给消息接收者;
7)消息接收者将认证密钥和初始向量输入流密码算法,重复步骤2)~5)生成认证码;
8)消息接收者根据步骤7)所生成的认证码与接收到的认证码是否一致,进行该消息的完整性认证。
2.如权利要求1所述的方法,其特征在于所述密钥流序列的长度为Length+2×w比特。
3.如权利要求2所述的方法,其特征在于所述认证码的长度w为大于1的正整数。
4.如权利要求3所述的方法,其特征在于所述认证码长度w的取值是32、64、96、128、160。
5.如权利要求1所述的方法,其特征在于所述模累加所述密钥流序列中对应该消息比特为1的位置的密钥字的方法为:设一变量T,并初始化为0,如果M[i]=1,则计算 T = T ⊕ C [ i ] ; 其中M[i]表示消息的第i比特,C[i]为所述密钥流序列的第i比特起的连续w比特,i=0,1,...,Length-1,
Figure F2009102434409C00012
表示按比特异或运算。
6.如权利要求5所述的方法,其特征在于采用公式 T = T ⊕ C [ Lengh ] 计算所述步骤4)。
7.如权利要求6所述的方法,其特征在于采用公式 MAC = T ⊕ C [ Lenght + w ] 计算所述步骤5),生成所述认证码。
CN2009102434409A 2009-12-22 2009-12-22 一种完整性认证方法 Expired - Fee Related CN101753308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102434409A CN101753308B (zh) 2009-12-22 2009-12-22 一种完整性认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102434409A CN101753308B (zh) 2009-12-22 2009-12-22 一种完整性认证方法

Publications (2)

Publication Number Publication Date
CN101753308A true CN101753308A (zh) 2010-06-23
CN101753308B CN101753308B (zh) 2012-05-23

Family

ID=42479751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102434409A Expired - Fee Related CN101753308B (zh) 2009-12-22 2009-12-22 一种完整性认证方法

Country Status (1)

Country Link
CN (1) CN101753308B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065423A (zh) * 2010-12-13 2011-05-18 中国联合网络通信集团有限公司 节点接入认证方法、接入认证节点、接入节点和通信系统
CN102136904A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
CN103166753A (zh) * 2013-03-26 2013-06-19 桂林电子科技大学 4个非线性驱动的轻量级流密码加密方法
CN110034919A (zh) * 2019-04-08 2019-07-19 中国科学院软件研究所 一种适用于zuc-256流密码算法的可变长度认证标签生成方法和通信方法及系统
CN110089068A (zh) * 2016-10-13 2019-08-02 西门子股份公司 用于认证和完整性保护消息内容的方法、发送器和接收器
CN112152805A (zh) * 2020-09-25 2020-12-29 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN112187446A (zh) * 2020-09-25 2021-01-05 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN113098855A (zh) * 2021-03-26 2021-07-09 国网四川省电力公司营销服务中心 一种gw376.1规约报文加密方法及装置
CN113366800A (zh) * 2019-01-29 2021-09-07 谷歌有限责任公司 用具有不同长度的消息认证码的完整性保护

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599316A (zh) * 2004-09-17 2005-03-23 叶润国 一种非对称认证方案及远程接入安全协议

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065423B (zh) * 2010-12-13 2013-07-10 中国联合网络通信集团有限公司 节点接入认证方法、接入认证节点、接入节点和通信系统
CN102065423A (zh) * 2010-12-13 2011-05-18 中国联合网络通信集团有限公司 节点接入认证方法、接入认证节点、接入节点和通信系统
CN102136904A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
CN103166753A (zh) * 2013-03-26 2013-06-19 桂林电子科技大学 4个非线性驱动的轻量级流密码加密方法
CN103166753B (zh) * 2013-03-26 2015-12-09 桂林电子科技大学 4个非线性驱动的轻量级流密码加密方法
CN110089068A (zh) * 2016-10-13 2019-08-02 西门子股份公司 用于认证和完整性保护消息内容的方法、发送器和接收器
US11288400B2 (en) 2016-10-13 2022-03-29 Siemens Aktiengesellschaft Method, transmitter, and receiver for authenticating and protecting the integrity of message contents
CN113366800A (zh) * 2019-01-29 2021-09-07 谷歌有限责任公司 用具有不同长度的消息认证码的完整性保护
US11917410B2 (en) 2019-01-29 2024-02-27 Google Llc Integrity protection with message authentication codes having different lengths
CN110034919A (zh) * 2019-04-08 2019-07-19 中国科学院软件研究所 一种适用于zuc-256流密码算法的可变长度认证标签生成方法和通信方法及系统
CN112187446A (zh) * 2020-09-25 2021-01-05 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN112152805A (zh) * 2020-09-25 2020-12-29 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN112152805B (zh) * 2020-09-25 2024-07-12 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN112187446B (zh) * 2020-09-25 2024-09-24 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN113098855A (zh) * 2021-03-26 2021-07-09 国网四川省电力公司营销服务中心 一种gw376.1规约报文加密方法及装置
CN113098855B (zh) * 2021-03-26 2022-11-01 国网四川省电力公司营销服务中心 一种gw376.1规约报文加密方法及装置

Also Published As

Publication number Publication date
CN101753308B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
CN101753308B (zh) 一种完整性认证方法
US8090098B2 (en) Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher
US9698993B2 (en) Hashing prefix-free values in a signature scheme
US8687800B2 (en) Encryption method for message authentication
Buttyan et al. Security and cooperation in wireless networks: thwarting malicious and selfish behavior in the age of ubiquitous computing
CN102904726B (zh) 用于量子密钥分配系统的经典信道消息认证方法和装置
US9049022B2 (en) Hashing prefix-free values in a certificate scheme
EP2658166A2 (en) Multiple hashing in a cryptographic scheme
Dworkin NIST special publication 800-38B
CN112152805B (zh) 一种认证加密方法、验证解密方法和通信方法
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN114003970B (zh) 一种基于哈希链的低开销消息完整性保护方法
CN114826656A (zh) 一种数据链路可信传输方法和系统
Jolfaei et al. A lightweight integrity protection scheme for low latency smart grid applications
CN101001142A (zh) 一种基于迭代随机数产生器的加解密方法
CN1316405C (zh) 一种获得数字签名和实现数据安全的方法
CN102946315B (zh) 一种采用分组方式构造mac码的方法及系统
CN110932863B (zh) 一种基于编码的广义签密方法
CN111683061A (zh) 基于区块链的物联网设备访问控制方法及装置
US20210119776A1 (en) Proof-of-work based on block cipher
CN112187446B (zh) 一种认证加密方法、验证解密方法和通信方法
CN112866288A (zh) 一种双明文传输的数据对称加密方法
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법
CN115361120A (zh) 一种基于多重随机加扰实现sm2加解密防信息篡改的方法
CN111641493A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20211222

CF01 Termination of patent right due to non-payment of annual fee