用于ic卡的数据安全通信的加密方法及电路的制作方法

文档序号:7624507阅读:441来源:国知局
专利名称:用于ic卡的数据安全通信的加密方法及电路的制作方法
技术领域
本发明是一种用于具有很高安全性的IC卡的数据通信加密方法及电路。
本发明研究了一种简单实用的算法实现加密电路。本发明在进行数据通信之前,需要进行读卡器对卡片的认证和卡片对读卡器的相互认证,我们称之为三次相互认证。认证的关键是要保持读卡机和卡中的加密单元和随机数发生器的一致,可见图1。三次相互认证和随后的加密/解密的具体操作过程如下所示1.装载密钥,即把卡里的密钥K(48比特,读卡机已知)装载到加密单元中。在这里加密单元(以下简称E)的宽度为48比特,随机数发生器(R)的宽度为32比特。
2.产生Rb,卡的随机数发生器产生32比特的随机数Rb,Rb与UID号异或后送到E。同时Rb被发送至读卡器,假设在认证之前,卡已经将自己的身份号码32比特通知读卡器,并且密钥为双方约定,因此在收到Rb后可以完全复制E,同时读卡机把自己的随机数发生器的随机数预置为Rb,这时读卡机的E和R已与卡的E和R完全一致。现在加密单元里的数据是E(Rb,K,UID),随机数发生器的内容是Rb。
3.认证读卡机。读卡机将发回64比特数据到卡,前32比特Ra由读卡机的随机产生,卡收到这32比特将直接送到E中,同样读卡机也把这32比特送到自己的加密单元中以保持与卡里的E一致,在这次加密运算中,送入加密单元的数据实际上是加密单元的本身输出和送入的数据的异或,这时卡与读卡器的加密内容均为E(Rb,Ra,K,UID)。其中随机数Rb,Ra使得每次加密过程不确定,防止通信数据被分析;K为双方约定的密钥,可以认证对方是否合法。之后读卡机把E的输出和R的输出进行异或后送出32比特数据,在这时E的输入是‘0’。卡把后32比特的数据用卡的E的数据(与读卡机的E的数据一致)异或得到读卡机Ra的值,再与自己的R中的即时的值比较,如果一致,则读卡机通过认证。
4.读卡机验证卡,卡发出32比特的数据(E和R输出的异或)到读卡机。读卡机验证这些数据,和自身的加密单元和随机数的输出异或进行比较,如果相同则整个安全认证完成。
上述安全认证完成后,读卡机和卡之间的通信都是加密的。加密的方法是把数据与加密单元的输出相异或得到密文,解密则是把密文与加密单元的输出相异或就得到明文。
整个加密电路是由加密单元和伪随机数发生器构成,两个电路都利用了线性反馈移位寄存器组(LFSR)对数据移位和混乱的作用。对于特定的n次多项式生成的LFSR,可以产生的伪随机数组合为2n-1个。
其中48位线性反馈移位寄存器组的产生多项式为x48+x43+x39+x38+x36+x34+x33+x31+x29+x24+x23+x19+x13+x9+x7+x6+x5+11.伪随机数发生器随机数发生器中的16位线性反馈移位寄存器组的产生多项式为x16+x14+x13+x11+1,复位值为5555h。在时钟控制下,随机数结果从输出口串行输出。本发明可以从伪随机数发生器的输出口上截取连续的32位数据流,就能够得到32位伪随机数。2.加密单元由于线路很复杂,但是本领域的技术人员都能实现。本发明提供线路框图,见图7,LFSR和组合电路内容由产生多项式和组合电路的逻辑表达式给出。信号en为低时切断LFSR的内部反馈回路,为高时LFSR工作正常。clk是加密单元的时钟信号,data为加密单元的数据输入。dataout是数据输出,通过它和明文密文进行异或可以完成加解密。
本发明组合电路的逻辑表达式为!{(!A·!B·E)+(!B·!C·E·!D)+(A·D·!E)+(B·C·E)+(A·B·C)+(B·D·!E)}其中A=!{(!Q21·Q19·!Q23)+(!Q19·Q17·Q21)+(Q23·Q17·!Q19)+(Q23·Q21)}B=!{(!Q37·Q33·Q35)+(Q37·Q35·Q39)+(!Q33·!Q35·Q39)+(Q37·!Q35·!Q39)+(Q33·Q35·Q39)}C=!{(Q7·!Q3·Q1)+(Q7·Q5)+(!Q5·Q3·!Q7)+(Q5·!Q3·Q1)}D=!{(Q29·!Q27·Q25)+(!Q31·Q27·!Q29)+(Q29·Q31)+(Q25·!Q27·Q31)}E=!{(Q9·Q15·Q11)+(!Q9·Q15·!Q11)+(Q13·!Q15·!Q11)+(!Q13·Q11·Q9)+(Q13·Q15·Q11)LFSR寄存器组中所有反馈信号和输入信号的异或结果送到第一级寄存器,所有寄存器都没有复位端,在加密过程中通过移位送入48位密钥进行初始化。内部寄存器数据中的所有奇数编号的寄存器输出,送到一个复杂的组合电路产生加密单元的输出。整个加密电路有以下三种工作模式1.在加密单元的输入数据信号为0时,通过自身的反馈实现内部数据的伪随机化处理过程。这个模式工作在卡和读卡器认证完成之后,对明文加密和对密文解密的过程中。2.可以关掉LFSR的反馈功能,则LFSR等同于一个48位的移位寄存器组。所有输入数据可以通过移位过程,给内部寄存器赋值。这个过程用于给加密单元装载密钥。3.同时进行数据输入和LFSR内部信号的反馈动作。在这个过程结束之后,加密单元的内容是原来的内容和输入序列的函数。这个模式用在卡和读卡器进行相互认证的过程中。
本发明的算法实现加密电路简单实用,电路采用线性反馈移位寄存器组构成伪随机数发生器个加密逻辑单元,其中加密逻辑单元的输出和明码的异或结果即加密后的数据,由此可获得如下的良好效果1.在相互通信过程中的数据只有传输随机数和密文,可以有效地防止信息泄密;2.只比较加密的数据,不直接传递密钥进行比较,提高了系统的安全性;3.数据通信之前对读卡器也进行认证,防止假冒读卡器对卡进行访问;4.系统相对简单,硬件实现容易;5.加密速度快;


图1是本发明认证过程框图。
图2是本发明装载密钥框图。
图3是本发明随机数发生器产生框图。
图4是本发明验证读卡机的框图。
图5是本发明读卡机再次验证卡的框图。
图6是本发明通信加密框图。
图7是本发明组合电路框图。
图8是实施例电路框图。
信号值和状态的过程对应如下表。

对我们实际的设计芯片而言,控制电路的功能不单单限制在对加密的控制,还包括了命令的接受和译码控制,响应数据的发送控制,和内存的接口控制等等,逻辑相当复杂,但对我们的加密电路来说,我们只需要给出以上几种状态和控制信号。
权利要求
1.一种用于IC卡数据安全通信的加密方法,其特征是安全通信的认证是由加密电路完成,其过程是1)装载密钥,把所要操作区域密钥,装载到加密单元E中;2)产生随机数Rb,卡的随机数发生器R产生Rb,Rb被发到读卡机并且与卡的序列UID号异或后送到E;3)验证读卡机,读卡机发回数据到卡,卡将该数据送到E中,读卡机也把该数据送到自身的E中,读卡机再把E和R的输出数据异或后送出;4)读卡机再次验证卡,卡发出E和R的异或数据到读卡机,读卡机验证这些数据,完成认证过程。
2.根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是读卡机和卡之间的通信加密方法是把数据与E的输出相异或,解密是把密文再与本地的E的输出相异或。
3.根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是加密电路由加密单元和伪随机数发生器组成,两个电路均利用了线性反馈移位寄存器组对数据的移位和混乱,其中用于加密单元的48位线性反馈移位寄存器组产生的多项式是x48+x43+x39+x38+x36+x34+x33+x31+x29+x24+x23+x19+x13+x9+x7+x6+x5+1
4.根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是组合电路的逻辑表达式是!{(!A·!B·E)+(!B·!C·E·!D)+(A·D·!E)+(B·C·E)+(A·B·C)+(B·D·!E)}其中A=!{(!Q21·Q19·!Q23)+(!Q19·Q17·Q21)+(Q23·Q17·!Q19)+(Q23·Q21)}B=!{(!Q37·Q33·Q35)+(Q37·Q35·Q39)+(!Q33·!Q35·Q39)+(Q37·!Q35·!Q39)+(Q33·Q35·Q39)}C=!{(Q7·!Q3·Q1)+(Q7·Q5)+(!Q5·Q3·!Q7)+(Q5·!Q3·Q1)}D=!{(Q29·!Q27·Q25)+(!Q31·Q27·!Q29)+(Q29·Q3 1)+(Q25·!Q27·Q31)}E=!{(Q9·Q15·Q11)+(!Q9·Q15·!Q11)+(Q13·!Q15·!Q11)+(!Q13·Q11·Q9)+(Q13·Q15·Q11)
5.根据权利要求3所述的用于IC卡数据安全通信的加密方法,其特征是加密电路的工作模式是在加密单元的输入信号为零时,通过自身的反馈实现内部数据的伪随机化处理,关掉线形反馈移位寄存器组的反馈功能,则其等同于一个48位的移位寄存器组;是能够同时进行数据输入和线性反馈移位的寄存器组。
全文摘要
本发明是用于IC卡的数据安全通信的加密方法及电路。现有技术的IC卡数据通信中使用了多种不同的加密算法,但是算法复杂,对芯片的硬件要求高。本发明提出了一种简单实用的算法实现加密电路,能够应用到有较高安全需求的IC卡和读卡器之间的数据通信之中。电路采用线性反馈移位寄存器组构成伪随机数发生器和加密逻辑单元,其中加密逻辑单元的输出和明码的异或结果即加密后的数据。随机数发生器的作用保证每次加密认证过程中的数据不相同,防止入侵者假冒成有权限的读卡器进行操作。
文档编号H04L9/32GK1337803SQ0111323
公开日2002年2月27日 申请日期2001年7月3日 优先权日2001年7月3日
发明者钱晓州 申请人:上海复旦微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1