CN101753308A - 一种完整性认证方法 - Google Patents
一种完整性认证方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004891 communication Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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,则计算 其中M[i]表示消息的第i比特,C[i]为所述密钥流序列的第i比特起的连续w比特,i=0,1,...,Length-1,表示按比特异或运算。
进一步的,采用公式 计算所述步骤4)。
进一步的,采用公式 计算所述步骤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,那么 如果M[i]=0,那么T不变。其中,表示按比特异或,即按比特模二加。
(4) C[Length]表示(2)中产生的密钥流序列的第Length比特起的连续w比特。
(5)计算 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。
6.如权利要求5所述的方法,其特征在于采用公式 计算所述步骤4)。
7.如权利要求6所述的方法,其特征在于采用公式 计算所述步骤5),生成所述认证码。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1599316A (zh) * | 2004-09-17 | 2005-03-23 | 叶润国 | 一种非对称认证方案及远程接入安全协议 |
-
2009
- 2009-12-22 CN CN2009102434409A patent/CN101753308B/zh not_active Expired - Fee Related
Cited By (16)
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 |