[发明专利]一种基于分组密码的消息鉴别方法有效
申请号: | 201410344852.2 | 申请日: | 2014-07-18 |
公开(公告)号: | CN104113543B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 张立廷;吴文玲;眭晗 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/58;H04L9/08 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分组 密码 消息 鉴别方法 | ||
技术领域
本发明主要应用于通信领域,具体涉及一种基于分组密码的消息鉴别方法,可用于实现通讯中对传输数据的完整性检测或者起源认证。
背景技术
数据的完整性保护和起源认证是远距离通信追求的目标之一,通信双方可在共享密钥的前提下借助于消息鉴别码算法实现这些功能。
消息鉴别码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。
但是,CBC-MAC有一个缺陷,它不能够安全地处理不同长度的消息。为此,人们后来提出了不少改进版本,如EMAC、XCBC、TMAC、OMAC、PMAC、GCBC、XOR-MAC等等。这些后续算法,都能够安全地处理不同长度的消息,但在效率方面(密钥量、内存、状态量依赖、调用分组密码次数等)各有差异。
发明内容
本发明的目的在于提出一种基于分组密码的消息鉴别方法,该算法允许用户通过选择安全参数d以决定需要的安全强度(d越大则算法安全性越强),还能够以全并行的方式调用底层分组密码,以此提高整体效率。
为了实现本发明的目的采用的技术方案概述如下:
一种基于分组密码的消息鉴别方法,其步骤包括三个阶段:
首先通信双方S和R选择安全强度参数d(为一个正整数),共享密钥K0,K1,…Kd,并约定分组密码算法E(其分组长度为n比特)和d个互不相同的n比特常数Cstj,其中j=1,2,…,dj。
预计算阶段(发送者S和接收者R都需要操作):
1.1)计算Rj=E(K0,Cstj),j=1,2,…,d;
1.2)将矩阵AW×d与向量[R1,R2,…,Rd]T相乘,即AW×d×[R1,R2,…,Rd]T=[X1,X2,…,Xw]T;
标签生成阶段(发送者S操作):
2.1)填充消息M;
2.2)将填充后的消息M分块,得到L块数据块;
2.3)加密数据块,即E(K0,Mi⊕Xi)=Zi;i=1,2,...,L;
2.4)将矩阵Bd×L与向量[Z1,Z2,…,ZL]T相乘,即Bd×L×[Z1,Z2,…,ZL]T=[S1,S2,…,Sd]T;
2.5)分别使用密钥K1,K2,…,Kd结合分组密码E以CBC-MAC(分组密码链接模式的消息鉴别码)的方式处理向量[S1,S2,…,Sd];
2.6)计算T=N(d,1)⊕N(d,2)⊕…⊕N(d,d);
2.7)将(M,T)发送给R。
标签接收阶段(接收者R操作):
3.1)在收到(M,T)之后,R首先重复操作步骤2.1至2.5;
3.2)计算T’=N(d,1)⊕N(d,2)⊕…⊕N(d,d);
3.3)R验证是否T’=T。若是,则接受消息M;若否,则认为消息M完整性被破坏或者认为M不是由S发送,拒绝消息M。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410344852.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种压电式振动能量采集器
- 下一篇:一种电力通讯规约转换一体化集成装置系统