CN101882991A - 基于分组密码算法的通讯数据流加密方法 - Google Patents
基于分组密码算法的通讯数据流加密方法 Download PDFInfo
- Publication number
- CN101882991A CN101882991A CN2009100571789A CN200910057178A CN101882991A CN 101882991 A CN101882991 A CN 101882991A CN 2009100571789 A CN2009100571789 A CN 2009100571789A CN 200910057178 A CN200910057178 A CN 200910057178A CN 101882991 A CN101882991 A CN 101882991A
- Authority
- CN
- China
- Prior art keywords
- data
- block cipher
- encryption
- stream
- new
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分组密码算法的通讯数据流加密方法,以当前认证后两个通讯终端间共知的随机数RA和RB,经数据处理函数f(RA,RB)处理得到分组密码算法数据字长的数据;对得到的数据进行分组密码算法运算,得到的输出数据作为第一个分组密码算法数据字长的流密钥;将所述流密钥以一定的顺序与对应接收和发送的数据按位进行异或运算,完成流加密算法的解密或加密;在当前流密钥用尽后,以该次用尽的流密钥为数据送入分组加解密模块再经过新的一次分组密码运算得到新的输出数据,该新的分组密码算法数据字长的输出数据作为新的流密钥。本发明能够提高两个通讯终端在通讯过程中数据的安全性,适用于非接触式逻辑加密卡与读卡机的数据通讯。
Description
技术领域
本发明涉及一种两个通讯终端之间通讯数据流加密方法,特别是涉及一种用于非接触式逻辑加密卡和读卡机之间通讯的,基于分组密码算法的通讯数据流加密方法。
背景技术
随着非接触式逻辑加密卡应用范围的不断扩展,对于非接触式逻辑加密卡安全性需求也越来越高。从应用的角度来说,非接触式逻辑加密卡不仅仅需要完成指令执行、数据读写、逻辑运算等基本操作,而且从安全性角度来说,还需与读卡机进行身份合法性鉴别以及保证通讯过程中数据的安全性。为了满足这些需求,非接触式逻辑加密卡必须具有通讯数据加密功能,以满足通讯过程中的安全性需求。
认证和通讯加密都将涉及数据加密的应用,在非接触式逻辑加密卡内需要使用加密算法来支持认证流程和通讯数据加密。
随着非接触式逻辑加密卡技术及应用的发展,其数据安全或通讯安全的要求也越来越高,目前在通讯安全上,在认证校验过程和通讯加密过程中,大部分非接触式逻辑加密卡均采用了基于序列密码的流加密算法,这种非接触式逻辑加密卡已不能适应现在的安全需求,需要有更高安全强度的非接触式逻辑加密卡来填补目前的安全需求。
发明内容
本发明要解决的技术问题是提供一种基于分组密码算法的通讯数据流加密方法,提高两个通讯终端在通讯过程中数据的安全性。
为解决上述技术问题,本发明的基于分组密码算法的通讯数据流加密方法包括如下步骤:
步骤1,以当前认证后两个通讯终端间共知的随机数RA和RB,经数据处理函数f(RA,RB)处理得到分组密码算法数据字长的数据;
步骤2,对步骤1得到的数据进行分组密码算法运算,得到的输出数据作为第一个分组密码算法数据字长的流密钥;
步骤3,将所述流密钥以一定的顺序与对应接收和发送的数据按位进行异或运算,完成流加密算法的解密或加密;
步骤4,在当前流密钥用尽后,以该次用尽的流密钥为数据送入分组加解密模块再经过新的一次分组密码运算得到新的输出数据,该新的分组密码算法数据字长的输出数据作为新的流密钥;
步骤5,重复步骤3和步骤4,直到收到新的认证指令或系统复位。
所述随机数RA和RB的位数为32位或32位以上。
所述数据处理函数f(RA,RB)使用了部分或全部的随机数RA信息和部分或全部随机数RB信息,且数据处理函数f(RA,RB)的输出数据字长为分组密码算法的数据字长。
对所述数据进行分组密码算法运算包括一次加密、一次解密或多次加解密的组合。
所述分组密码算法包括DES算法、TDES算法和AES算法。
在第二个及以后的流密钥产生中使用的分组密码算法和运算方法,与产生第一个流密钥时使用的分组密码算法和运算方法相同。
所述流密钥的使用顺序为低位先用、高位先用或其它使用顺序(例如按照一定的抽头顺序使用)。
与传统的基于序列密码的流加密相比(比如在应用广泛的Mifare卡中就是采用基于序列密码的流加密作为加密算法),分组密码算法(如DES算法、AES算法等)具有更强的特性。由于进行多轮的分组运算,最终加密输出的密文相对于明文来说具有“雪崩效应”,即使在同一密钥下,两次明文只具有简单的变化(比如64位明文中只有其中的1个位发生了改变,或者64位明文中只有两个位之间交换了一下位置等),其最终加密后对应的两次密文也将发生剧烈变化从而不会具有某些特殊的特征,这样,对于基于对称算法来设计的上层认证协议的安全性就提供了充分的便利性和保障。
本发明在两个通讯终端的通讯过程中,特别是非接触式逻辑加密卡与读卡机进行通讯过程中,使用了更高安全性能的分组密码算法来产生流密钥,对通讯数据进行加密处理,提升了数据通讯的安全性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是在本发明中使用的分组加解密模块原理框图;
图2是在非接触式逻辑加密卡中应用本发明的一实施例示意图。
具体实施方式
参见图1并结合图2所示,本发明的具体实施细节将通过采用DES(Data Encryption Standard)算法的非接触式逻辑加密卡的通讯数据加密流程来说明。
DES算法是美国联邦政府的联邦信息处理标准所选用的一种公开分组密码算法。DES算法的入口参数有三个Key、Data和Mode。其中,Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或解密的数据;Mode为DES的工作方式,分为加密或解密两种。
图2是非接触式逻辑加密卡使用本发明的一实施例,该非接触式逻辑加密卡200包括:RF部件210,用于接收或发送具有数据信息的射频(RF)信号;编解码器220,用于对接收的RF信号按照通讯协议解码得到数据信号,或者对要发送的数据进行编码并通过RF信号返回到读卡机;逻辑控制模块230,用于非接触式逻辑加密卡的状态控制、分组加解密模块(如图中DES算法模块250)的调用、随机数发生器240的调用及其他逻辑功能;DES算法模块250,用于数据通讯过程中的加解密;随机数发生器240,用于产生32位随机数。
在该实施例中,非接触式逻辑加密卡与读卡机的通讯数据流加密流程使用的RA和RB均为32位随机数,数据处理函数f(RA,RB)={RA,RB},其输出数据为64位数据,其中{}为位拼接运算符,本实施例中,将两个32位随机数拼接成一个64位数据。
数据在空间传输时,均为低字节低位先发送,在非接触式逻辑加密卡或读卡机内部使用明文、密文和密钥时的排列顺序均为最高位(MSB,Most Significant Bit)在左,最低位(LSB,Least Significant Bit)在右。
具体的通讯数据流加密流程如下:
步骤1,以当前认证后非接触式逻辑加密卡和读卡器共知的32位随机数RA和RB,数据处理函数f(RA,RB)处理得到{RA,RB}这样的64位数据。
步骤2,将数据{RA,RB}作为数据送入分组加解密模块(如图2中DES算法模块250)进行一次DES算法加密,得到的密文作为第一个64位的流密钥。
步骤3,将所得到的64位流密钥以低位先用的原则与对应接收和发送的数据按位进行异或运算,完成流加密算法的解密或加密。
步骤4,在当前流密钥用尽后,以该次用尽的64位流密钥为数据送入分组加解密模块(如图2中DES算法模块250)再经过新的一次DES加密运算得到新的64位密文,该新的64位密文作为新的流密钥。
步骤5,重复步骤3和步骤4,直到收到新的认证指令或系统复位。
在该实施例中,在第二个及以后的流密钥产生和第一个流密钥产生中都使用DES算法。
在上述实施例中所述的分组加解密模块结构如图1所示,该分组加解密模块100包括:
多路选择器(MUX)110,用于输入数据和输入信号的选择。在第一次数据加密流程中,选择f(RA,RB)作为分组加解密模块的输入数据〔f(RA,RB)={RA,RB}〕,在此后数据加密流程中,选择前一次64位流密钥作为分组加解密模块的输入数据。
分组密码算法模块120,用于对多路选择器110选择的数据在数据通讯过程中进行加解密。本实施实例以DES算法模块为例,也可以采用TDES算法或AES分组密码算法。
密钥寄存器130,用于存放分组密码算法模块120在进行当前加解密运算时使用的一组密钥,该密钥在运算开始前的认证指令译码后从存储器中读出,并在加解密运算整个过程中维持不变,直到重新认证时才根据认证参数进行改变。
64位流密钥寄存器140,用于寄存64位流密钥。
异或门150,实现流加密的异或运算。先以f(RA,RB)进行一次加密所得的起始64位密文作为第一个64位流密钥(低位先用,当然也可以高位先用,或采用其它使用顺序),与对应接收和发送的数据按位进行异或运算,完成流加密算法的解密或加密。在64位流密钥用尽后,以该次用尽的64位流密钥为数据送入分组密码算法模块120再经过新的一次加密运算得到新的64位密文,该新的64位密文作为新的流密钥(低位先用)与后续对应数据按位进行异或运算继续完成流加密算法的加密或解密,如此循环直至收到新的认证指令或系统复位。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,如采用不同的分组密码算法(如选用AES分组密码算法、其他组织制定的特殊分组密码算法等)、不同的数据处理函数f(RA,RB)等,这些改变也应视为本发明的保护范围。
Claims (7)
1.一种基于分组密码算法的通讯数据流加密方法,其特征在于:包括如下步骤,
步骤1,以当前认证后两个通讯终端间共知的随机数RA和RB,经数据处理函数f(RA,RB)处理得到分组密码算法数据字长的数据;
步骤2,对步骤1得到的数据进行分组密码算法运算,得到的输出数据作为第一个分组密码算法数据字长的流密钥;
步骤3,将所述流密钥以一定的顺序与对应接收和发送的数据按位进行异或运算,完成流加密算法的解密或加密;
步骤4,在当前流密钥用尽后,以该次用尽的流密钥为数据送入分组加解密模块再经过新的一次分组密码运算得到新的输出数据,该新的分组密码算法数据字长的输出数据作为新的流密钥;
步骤5,重复步骤3和步骤4,直到收到新的认证指令或系统复位。
2.如权利要求1所述的方法,其特征在于:所述随机数RA和RB的位数为32位或32位以上。
3.如权利要求1所述的方法,其特征在于:所述数据处理函数f(RA,RB)使用了部分或全部的随机数RA信息和部分或全部随机数RB信息,且数据处理函数f(RA,RB)的输出数据字长为分组密码算法的数据字长。
4.如权利要求1所述的方法,其特征在于:对所述数据进行分组密码算法运算包括一次加密、一次解密或多次加解密的组合。
5.如权利要求1所述的方法,其特征在于:所述分组密码算法包括DES算法、TDES算法和AES算法。
6.如权利要求1或5所述的方法,其特征在于:在第二个及以后的流密钥产生中使用的分组密码算法和运算方法,与产生第一个流密钥时使用的分组密码算法和运算方法相同。
7.如权利要求1所述的方法,其特征在于:所述流密钥的使用顺序为低位先用、高位先用或其它使用顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100571789A CN101882991B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的通讯数据流加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100571789A CN101882991B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的通讯数据流加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101882991A true CN101882991A (zh) | 2010-11-10 |
CN101882991B CN101882991B (zh) | 2012-05-16 |
Family
ID=43054894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100571789A Active CN101882991B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的通讯数据流加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101882991B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025484A (zh) * | 2010-12-17 | 2011-04-20 | 北京航空航天大学 | 一种分组密码加解密方法 |
CN102968598A (zh) * | 2012-11-08 | 2013-03-13 | 四川虹微技术有限公司 | 数字文件的解密方法 |
CN106452743A (zh) * | 2016-09-26 | 2017-02-22 | 深圳市紫光同创电子有限公司 | 通信密钥获取方法及装置、通信报文解密方法及装置 |
CN107094108A (zh) * | 2016-02-18 | 2017-08-25 | 大众汽车有限公司 | 连接到数据总线的部件和在该部件中实现加密功能的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697369A (zh) * | 2005-06-14 | 2005-11-16 | 河北工业大学 | 分组密码加密解密的方法及其加密解密器 |
CN101001142A (zh) * | 2007-01-17 | 2007-07-18 | 张建华 | 一种基于迭代随机数产生器的加解密方法 |
-
2009
- 2009-05-06 CN CN2009100571789A patent/CN101882991B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025484A (zh) * | 2010-12-17 | 2011-04-20 | 北京航空航天大学 | 一种分组密码加解密方法 |
CN102025484B (zh) * | 2010-12-17 | 2012-07-04 | 北京航空航天大学 | 一种分组密码加解密方法 |
CN102968598A (zh) * | 2012-11-08 | 2013-03-13 | 四川虹微技术有限公司 | 数字文件的解密方法 |
CN102968598B (zh) * | 2012-11-08 | 2015-09-30 | 四川虹微技术有限公司 | 数字文件的解密方法 |
CN107094108A (zh) * | 2016-02-18 | 2017-08-25 | 大众汽车有限公司 | 连接到数据总线的部件和在该部件中实现加密功能的方法 |
CN106452743A (zh) * | 2016-09-26 | 2017-02-22 | 深圳市紫光同创电子有限公司 | 通信密钥获取方法及装置、通信报文解密方法及装置 |
CN106452743B (zh) * | 2016-09-26 | 2020-01-31 | 深圳市紫光同创电子有限公司 | 通信密钥获取方法及装置、通信报文解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101882991B (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
US5345508A (en) | Method and apparatus for variable-overhead cached encryption | |
US5438622A (en) | Method and apparatus for improving the security of an electronic codebook encryption scheme utilizing an offset in the pseudorandom sequence | |
US8687810B2 (en) | Chaotic cipher system and method for secure communication | |
CN100468438C (zh) | 实现硬件和软件绑定的加密和解密方法 | |
AU2008327506B2 (en) | Method and system for encryption of data | |
CN102710415B (zh) | 一种利用对称密码算法进行数据加解密的方法及查表装置 | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
CN102880836A (zh) | 安全装置 | |
CA2441392A1 (en) | Encrypting apparatus | |
WO1995006373A1 (en) | Method and apparatus for decryption using cache storage | |
CN103051459A (zh) | 安全卡的交易密钥的管理方法和装置 | |
CN101882991B (zh) | 基于分组密码算法的通讯数据流加密方法 | |
EP3022864B1 (en) | Apparatus and method for key update for use in a block cipher algorithm | |
CN101867471A (zh) | 基于无理数的des认证加密算法 | |
CN107463977B (zh) | 通过无接触式读取对卡进行认证的电路和方法 | |
CN103905197A (zh) | 一种sim卡和外接设备进行绑定和校验的方法 | |
CN111031535A (zh) | 一种用于智能卡系统的安全通信方法及系统 | |
US7606363B1 (en) | System and method for context switching of a cryptographic engine | |
CN101882994B (zh) | 基于分组密码算法的三重认证方法 | |
US10237071B2 (en) | Authentication of a card by contactless reading | |
CN113795023A (zh) | 一种基于混沌序列和分组加密的蓝牙数据传输加密方法 | |
CN108763982B (zh) | 一种适用于rfid阅读器的des加密解密装置 | |
CN104837131A (zh) | 一种基于批处理指数运算乘积的批Cramer-Shoup密码体制 | |
CN103634113A (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 | ||
C53 | Correction of patent for invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Lu Junming Inventor after: Bao Sigang Inventor before: Lu Junming |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: LU JUNMING TO: LU JUNMING BAO SIGANG |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |