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

一种完整性认证方法 Download PDF

Info

Publication number
CN101753308B
CN101753308B CN2009102434409A CN200910243440A CN101753308B CN 101753308 B CN101753308 B CN 101753308B CN 2009102434409 A CN2009102434409 A CN 2009102434409A CN 200910243440 A CN200910243440 A CN 200910243440A CN 101753308 B CN101753308 B CN 101753308B
Authority
CN
China
Prior art keywords
message
key
length
authentication code
bit
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.)
Expired - Fee Related
Application number
CN2009102434409A
Other languages
English (en)
Other versions
CN101753308A (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,表示按比特异或运算。
进一步的,采用公式 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 (5)

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

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065423B (zh) * 2010-12-13 2013-07-10 中国联合网络通信集团有限公司 节点接入认证方法、接入认证节点、接入节点和通信系统
CN102136904A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
CN103166753B (zh) * 2013-03-26 2015-12-09 桂林电子科技大学 4个非线性驱动的轻量级流密码加密方法
DE102016219926A1 (de) 2016-10-13 2018-04-19 Siemens Aktiengesellschaft Verfahren, Sender und Empfänger zum Authentisieren und zum Integritätsschutz von Nachrichteninhalten
EP3903444A1 (en) * 2019-01-29 2021-11-03 Google LLC Integrity protection with message authentication codes having different lengths
CN110034919A (zh) * 2019-04-08 2019-07-19 中国科学院软件研究所 一种适用于zuc-256流密码算法的可变长度认证标签生成方法和通信方法及系统
CN112152805A (zh) * 2020-09-25 2020-12-29 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN112187446A (zh) * 2020-09-25 2021-01-05 兴唐通信科技有限公司 一种认证加密方法、验证解密方法和通信方法
CN113098855B (zh) * 2021-03-26 2022-11-01 国网四川省电力公司营销服务中心 一种gw376.1规约报文加密方法及装置

Citations (1)

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

Patent Citations (1)

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王鹏等.基于可调分组密码的MAC构造.《中国科学院研究生院学报》.2005,第22卷(第6期), *

Also Published As

Publication number Publication date
CN101753308A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN101753308B (zh) 一种完整性认证方法
US9698993B2 (en) Hashing prefix-free values in a signature scheme
CN109559122A (zh) 区块链数据传输方法及区块链数据传输系统
US9049022B2 (en) Hashing prefix-free values in a certificate scheme
CN102946602A (zh) 移动信息系统的隐私保护加密方法
GB2487503A (en) Authentication of digital files and associated identities using biometric information
CN103259662A (zh) 一种新的基于整数分解问题的代理签名及验证方法
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN101741544B (zh) 一种基于时滞混沌迭代的数字签名方法及装置
CN107864037A (zh) Sm9联合数字签名方法和装置
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN101931536A (zh) 一种无需认证中心的高效数据加密及认证方法
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
CN1316405C (zh) 一种获得数字签名和实现数据安全的方法
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN103825725B (zh) 一种基于矢量量化的高效随机物理层密钥产生方法
CN105187418B (zh) 一种弱签名算法
US8769301B2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
CN110932863B (zh) 一种基于编码的广义签密方法
KR101523053B1 (ko) 래티스 기반 증명가능암호 서명 시스템 및 방법
Elganzoury et al. A new secure one-time password algorithm for mobile applications
CN115001658A (zh) 在非稳定网络环境下可信的地铁身份认证和存取控制方法
CN101262334A (zh) 蓝牙数据传输加密方法
CN110474780B (zh) 一种后量子pgp加密方法、加密装置、解密方法及解密装置
CN104837131A (zh) 一种基于批处理指数运算乘积的批Cramer-Shoup密码体制

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