CN102946315A - 一种采用分组方式构造mac码的方法及系统 - Google Patents
一种采用分组方式构造mac码的方法及系统 Download PDFInfo
- Publication number
- CN102946315A CN102946315A CN201210465402XA CN201210465402A CN102946315A CN 102946315 A CN102946315 A CN 102946315A CN 201210465402X A CN201210465402X A CN 201210465402XA CN 201210465402 A CN201210465402 A CN 201210465402A CN 102946315 A CN102946315 A CN 102946315A
- Authority
- CN
- China
- Prior art keywords
- message
- key
- grouping
- mac code
- sheet
- 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
Images
Abstract
本发明涉及密码通信技术领域,本发明公开了一种采用分组方式构造MAC码的方法,其具体包含以下步骤:1.设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;将原始消息填充为n个长度固定的消息分组;2.依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。本发发明的方法一方面可以实现并行处理,另外一方面降低了加密运算的次数,降低了系统的开销。本发明还公开了一种构造MAC码的系统。
Description
技术领域
本发明涉及密码通信技术领域,尤其涉及一种采用分组方式构造MAC码的方法及系统。
背景技术
MAC码全称为Message Authentication Code(消息认证码),是用来保证数据完整性的一种工具。数据完整性是信息安全的基本要求,可以防止数据被未经授权的篡改。随着网络技术的不断进步,尤其是电子商务、电子政务的不断发展,保证信息的完整性变得越来越重要。尤其双方在一个不安全的信道上通信的时候,需要有一种方法能够保证所发送的数据能被另一方验证没有遭受未经授权的篡改。MAC码就能够达到这一目的,其方法是:首先在参与通信的双方共享一个密钥分组,通信时(这里使用A和B代表参与通信的双方),A发送一个消息给B,并将这一消息使用MAC算法和共享密钥计算出一个值,即MAC码,将MAC码附加在这一消息之后传送给B。B接收消息后,使用同样的MAC算法和共享密钥计算出MAC码,和接收到的MAC码比较。如果两个MAC码相同,B就认为消息在传送过程中没有被篡改,如果不相同,B就认为消息在传送过程中被修改了。
现有技术中的MAC算法是将共享密钥和消息作为输入,计算出MAC码的运算方法或函数。目前,构造MAC码的方法很多,主要有3种类型:一种是基于带密钥的HASH函数,一种是基于分组密码算法的,还有一种是基于流密码的。基于带密钥的HASH函数设计MAC码的主要有HMAC,如可以采用MD5、SHA等具有迭代结构的HASH函数来构造MAC码。基于分组密码算法的主要为CBC_MAC方法,其为基于IEEE 802.1x认证的CCMP(CBC-MAC Protocol)加密技术, CBC_MAC一般仅适用于对相同长度的消息进行认证,在消息长度变化的情况下是不安全的,同时它的构造方法决定了该算法不支持并行计算。
发明内容
针对现有技术中分组方式构造MAC码的方法不能并行加密的技术问题,提供一种采用分组方式构造MAC码的方法。本发明还提供了一种采用分组方式构造MAC码的系统。
本发明的目的通过下述技术方案来实现:
一种采用分组方式构造MAC码的方法,其具体包含以下步骤:1.设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;将原始消息填充为n个长度固定的消息分组;2.依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。
更进一步地,上述方法还包括当n大于N时,将每个消息分组表示成m个消息片,并将n*m个消息片压缩成N*m个消息片。
更进一步地,上述消息片压缩和密钥构造同时进行。
更进一步地,上述N等于4。
更进一步地,上述密钥分组的长度和消息分组的长度分别为128比特。
更进一步地,上述消息片的长度为32比特。
;
;
更进一步地,上述压缩消息片的过程具体为:
分别为n个分组的消息片和为4个分组的消息片;
本发明还公开了一种采用分组方式构造MAC码的系统,其具体包括密码构造模块,消息处理模块、MAC码生成模块;
所述密码构造模块用于设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;
所述消息处理模块用于将原始消息填充为n个长度固定的消息分组;
所述MAC码生成模块用于依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。
更进一步地,上述消息处理模块包括消息压缩模块,当n大于N时,将每个消息分组表示成m个消息片,所述消息压缩模块用于将n*m个消息片压缩成N*m个消息片。
本发明的有益效果:上述构造MAC码的方法每一个分组加密的过程都可以并行运行,同时减少了构造MAC码过程中加密运算的次数,降低了系统的开销,对于任何长度的数据最多也只需要进行N次加密运算就可以构造出MAC码。而对于1Mb的消息数据,分组长度为128比特采用CBC_MAC则需要做8192次加密运算,同时CBC_MAC的加密运算还不支持并行计算。因此本发发明的方法一方面可以实现并行处理,另外一方面降低了加密运算的次数,降低了系统的开销。
附图说明
图1为本发明的采用分组方式构造MAC码的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示的采用分组方式构造MAC码的方法流程图。本发明公开了一种采用分组方式构造MAC码的方法,其具体包含以下步骤:1.设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;将原始消息填充为n个长度固定的消息分组;2.依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。上述构造MAC码的方法每一个分组加密的过程都可以并行运行,同时减少了构造MAC码过程中加密运算的次数,降低了系统的开销,对于任何长度的数据最多也只需要进行N次加密运算就可以构造出MAC码。而对于1Mb的消息数据,分组长度为128比特采用CBC_MAC则需要做8192次加密运算,同时CBC_MAC的加密运算还不支持并行计算。因此本发发明的方法一方面可以实现并行处理,另外一方面降低了加密运算的次数,降低了系统的开销。
更进一步地,上述方法还包括,当n大于N时,将每个消息分组表示成m个消息片,并将n*m个消息片压缩成N*m个消息片。在消息长度较长,消息分组数量大于密钥分组数量时,采用将消息分组压缩为N个,对应N个密钥,并进行相应的密码运算,使得本发明的方法即使在消息长度较长的情况下,也只需要进行N次密码运算。
更进一步地,上述方法中消息片压缩和密钥构造同时进行。增加了系统运行的速度,使得更加快速地构造出MAC码。
更进一步地,上述N等于4,密钥分组的长度为128比特,消息分组的长度为128比特,消息片的长度为32比特。分为4组密钥一方面使得信息的安全性得到保障,另外一方面也保证了密码算法的效率。本发明在用于处理长度较长的消息时具有特别的优势,故将密钥的分组长度设定为128比特,对应消息分组的长度也为128比特。
其中T为循环将位移动设定的位数,S为查找设定的位进行设定的替换,M为加法运算,为随机产生的常数,L为将顺序进行设定的变化。
常数,需要满足随机性要求,产生方法不做具体要求,可以取的小数点后384比特,也可以取3的3次立方根后的384比特等等方法。根据上述方法构造出的三个分组的密钥和原有的初始密钥完全不同,保证了密码算法的安全性。
更进一步地,上述压缩消息片的过程具体为:
分别为n个分组的消息片和为4个分组的消息片;
矩阵A和B是数,矩阵W是字(32比特),数n和字W相乘,表示字W的循环左移n位,即W<<<n。矩阵乘中的加法表示异或运算。经过消息压缩后,得到4个分组。消息压缩得到消息片,将字分成4个分组,第一个分组是,第二个分组是,第三个分组是,第四个分组是。将这4个分组分别用密钥加密,再将4个加密结果做异或运算,得到MAC码。
本发明还公开了一种采用分组方式构造MAC码的系统,其具体包括密码构造模块,消息处理模块、MAC码生成模块;
所述密码构造模块用于设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;
所述消息处理模块用于将原始消息填充为n个长度固定的消息分组;
所述MAC码生成模块用于依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。
上述构造MAC码的系统每一个分组加密的过程都可以并行运行,同时减少了构造MAC码过程中加密运算的次数,降低了系统的开销,对于任何长度的数据最多也只需要进行N次加密运算就可以构造出MAC码。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.一种采用分组方式构造MAC码的方法,其具体包含以下步骤:1.设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;将原始消息填充为n个长度固定的消息分组;2.依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。
2.如权利要求1所述的采用分组方式构造MAC码的方法,其特征在于所述方法还包括当n大于N时,将每个消息分组表示成m个消息片,并将n*m个消息片压缩成N*m个消息片。
3.如权利要求2所述的采用分组方式构造MAC码的方法,其特征在于所述消息片压缩和密钥构造同时进行。
4.如权利要求3所述的采用分组方式构造MAC码的方法,其特征在于所述N等于4。
5.如权利要求4所述的采用分组方式构造MAC码的方法,其特征在于所述密钥分组的长度和消息分组的长度分别为128比特。
6.如权利要求5所述的采用分组方式构造MAC码的方法,其特征在于所述消息片的长度为32比特。
9.一种采用分组方式构造MAC码的系统,其特征在于具体包括密码构造模块,消息处理模块、MAC码生成模块;
所述密码构造模块用于设定第一个分组的初始密钥,并根据第一个分组的初始密钥构造出后续N-1个分组的密钥,得到N个密钥分组;
所述消息处理模块用于将原始消息填充为n个长度固定的消息分组;
所述MAC码生成模块用于依序采用密钥分组加密对应的消息分组,第一个密钥分组加密第一个消息分组,第二个密钥分组加密第二个消息分组,依次类推,最后将加密结果进行异或运算,得到MAC码。
10.如权利要求9所述的采用分组方式构造MAC码的系统,其特征在于所述消息处理模块包括消息压缩模块,当n大于N时,将每个消息分组表示成m个消息片,所述消息压缩模块用于将n*m个消息片压缩成N*m个消息片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210465402.XA CN102946315B (zh) | 2012-11-19 | 2012-11-19 | 一种采用分组方式构造mac码的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210465402.XA CN102946315B (zh) | 2012-11-19 | 2012-11-19 | 一种采用分组方式构造mac码的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102946315A true CN102946315A (zh) | 2013-02-27 |
CN102946315B CN102946315B (zh) | 2015-08-26 |
Family
ID=47729224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210465402.XA Active CN102946315B (zh) | 2012-11-19 | 2012-11-19 | 一种采用分组方式构造mac码的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102946315B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957225A (zh) * | 2014-05-26 | 2014-07-30 | 飞天诚信科技股份有限公司 | 一种处理扩展安全报文的方法及装置 |
CN104113543A (zh) * | 2014-07-18 | 2014-10-22 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
CN106559218A (zh) * | 2015-09-29 | 2017-04-05 | 中国电力科学研究院 | 一种智能变电站计量数据的安全采集方法 |
CN114465820A (zh) * | 2022-03-31 | 2022-05-10 | 京东方科技集团股份有限公司 | 数据加密方法、数据加密设备、电子设备、程序及介质 |
CN114513311A (zh) * | 2022-02-25 | 2022-05-17 | 上海芯钛信息科技有限公司 | 一种改进消息认证码算法的方法、装置、设备和介质 |
CN116319111A (zh) * | 2023-05-24 | 2023-06-23 | 北京中超伟业信息安全技术股份有限公司 | 一种基于进化算法的数据链式传输方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202623A (zh) * | 2006-11-13 | 2008-06-18 | 韩国电子通信研究院 | 消息验证码产生方法、验证/加密和验证/解密方法 |
CN101594227A (zh) * | 2008-05-30 | 2009-12-02 | 华为技术有限公司 | 数据加密和解密的方法、装置及通信系统 |
CN101938351A (zh) * | 2010-09-16 | 2011-01-05 | 北京航空航天大学 | 一种实现分组密码加密的密钥扩展方法 |
US20110138182A1 (en) * | 2008-08-19 | 2011-06-09 | Nxp B.V. | Method for Generating a Cipher-based Message Authentication Code |
-
2012
- 2012-11-19 CN CN201210465402.XA patent/CN102946315B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202623A (zh) * | 2006-11-13 | 2008-06-18 | 韩国电子通信研究院 | 消息验证码产生方法、验证/加密和验证/解密方法 |
CN101594227A (zh) * | 2008-05-30 | 2009-12-02 | 华为技术有限公司 | 数据加密和解密的方法、装置及通信系统 |
US20110138182A1 (en) * | 2008-08-19 | 2011-06-09 | Nxp B.V. | Method for Generating a Cipher-based Message Authentication Code |
CN101938351A (zh) * | 2010-09-16 | 2011-01-05 | 北京航空航天大学 | 一种实现分组密码加密的密钥扩展方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957225A (zh) * | 2014-05-26 | 2014-07-30 | 飞天诚信科技股份有限公司 | 一种处理扩展安全报文的方法及装置 |
CN103957225B (zh) * | 2014-05-26 | 2017-03-29 | 飞天诚信科技股份有限公司 | 一种处理扩展安全报文的方法及装置 |
CN104113543A (zh) * | 2014-07-18 | 2014-10-22 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
CN104113543B (zh) * | 2014-07-18 | 2017-03-15 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
CN106559218A (zh) * | 2015-09-29 | 2017-04-05 | 中国电力科学研究院 | 一种智能变电站计量数据的安全采集方法 |
CN114513311A (zh) * | 2022-02-25 | 2022-05-17 | 上海芯钛信息科技有限公司 | 一种改进消息认证码算法的方法、装置、设备和介质 |
CN114465820A (zh) * | 2022-03-31 | 2022-05-10 | 京东方科技集团股份有限公司 | 数据加密方法、数据加密设备、电子设备、程序及介质 |
CN116319111A (zh) * | 2023-05-24 | 2023-06-23 | 北京中超伟业信息安全技术股份有限公司 | 一种基于进化算法的数据链式传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102946315B (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aljawarneh et al. | A resource-efficient encryption algorithm for multimedia big data | |
US8175265B2 (en) | Systems and methods for implementing block cipher algorithms on attacker-controlled systems | |
CN106850221B (zh) | 信息加密、解密方法及装置 | |
US10009171B2 (en) | Construction and uses of variable-input-length tweakable ciphers | |
CN109639428B (zh) | 从位混合器构造安全散列函数的方法 | |
CN101202623B (zh) | 消息验证码产生方法、验证/加密和验证/解密方法 | |
CN102946315B (zh) | 一种采用分组方式构造mac码的方法及系统 | |
CN104333446B (zh) | 一种新型超轻量级qtl分组密码实现方法 | |
WO2014136386A1 (ja) | タグ生成装置、タグ生成方法およびタグ生成プログラム | |
US11463235B2 (en) | Encryption device, encryption method, program, decryption device, and decryption method | |
US20140317407A1 (en) | Incremental mac tag generation device, method, and program, and message authentication device | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
CN101826959B (zh) | 一种面向字节的密钥流生成方法及加密方法 | |
CN103414552A (zh) | 一种利用二叉树遍历方式进行加密、解密方法及装置 | |
CN116488795B (zh) | 一种gcm-aes处理方法和装置 | |
Abbas et al. | An efficient implementation of PBKDF2 with RIPEMD-160 on multiple FPGAs | |
CN106921486A (zh) | 数据加密的方法和装置 | |
CN105162580A (zh) | 基于ofb模式和分组密码vh的轻量级流密码技术vho | |
CN101262334A (zh) | 蓝牙数据传输加密方法 | |
Leon et al. | Performance analysis of the confidentiality security service in the IEEE 802.11 using WEP, AES-CCM, and ECC | |
CN112737767A (zh) | 抗差分功耗分析与时间攻击的消息认证码生成方法及系统 | |
Mahajan et al. | Hybrid Methods for Increasing Security of IoT and Cloud Data | |
CN108616351A (zh) | 一种全动态加密解密方法及加密解密装置 | |
US20170366355A1 (en) | Parity check message authentication code | |
Tsantikidou et al. | Minimal Resource Required E-Health System with End-to-End Authenticated Encryption Mechanism |
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 |