已阅读5页,还剩69页未读, 继续免费阅读
(信号与信息处理专业论文)非接触智能卡中tdes算法的电路实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
海人学顺l :学位论文 摘要 随着当今社会经济和科技的高速发展,智能卡得到了迅猛的发展。从某种意 义上讲,我们越来越依赖于智能卡给我们提供的方便。但与此同时,我们知道智 能卡在实际的应用中往往是代替实际生活中的现会或者是用于身份识别的,因而 确保智能卡的安全在整个智能卡的应用体系中占有着非常重要的作用。 为了实现智能卡的安全使用,对数据进行加密是一种非常重要和有效的方 法,对实现智能卡的安全有着举足轻重的作用。在智能卡中最为常用的加密算法 有对称加密算法t d e s ( t r i p l ed e s ) 和非对称加密算法r s a 。本文的研究方向 是非接触智能卡中的t d e s 加密算法的硬件实现。 本文详细地介绍了非接触智能卡中的t d e s 算法电路的实现。t d e s 算法是 确定的,但是其硬件实现方法却是有多种多样的。本文针对非接触智能卡这一特 殊的应用环境,提出了在非接触智能卡中实现t d e s 算法电路的具体要求,并根 据这些具体要求,在通过分析和比较这些实现方案的基础上,有创造性地提出了 应用在非接触智能卡中t d e s 算法电路的最佳实现方案,并且在非接触智能卡中 实现了浚算法电路。 本算法电路实现时使用的工艺库是无锡上华c s m c 0 6 u 的工艺库,在此工 艺库下实现此算法耗费的面积是1 6 9 r a m 2 ,完成一组数据( 6 4 比特) 加解密需 要4 8 个时钟周期,本算法电路模块可以安全运行的时钟频率可以达到2 0 m h z , 在以2 0 m h z 的频率运行的时候,功耗估计为1 9 m w 。 本文的主要工作和创新点 1针对非接触智能卡这一特殊的应用环境,有创造性地提出了t d e s 算法 的电路实现结构并成功地实现了它。 2 提出了降低非接触智能卡中t d e s 算法电路功耗的方法。 3 经过分析研究,选择并使用k n o w na n s w e rt e s t s 和m o n t ec a r l ot e s t s 成功地完成了对t d e s 算法电路的验证测试。 关键词:加密解密三重数据加密标准非接触智能卡 海人学f i ! ;fi ? 学位论史 a b s t r a c t t h ec o n t a c t l e s ss m a r tc a r dd e v e l o p sr a p i d l yw i t ht h er a p i dd e v e l o p m e n to ft h ee c o n o m y a n dt h eh i g ht e c h n o l o g y a sw ek n o ws m a r tc a r d sp r o v i d et h egr e a tc o n v e n i e n c ef o ru sa n di n s o m es e n s ew ea r er e l i a b l eo nt h e m t h ed a t as e c u r i t ya b o u tt h es m a r tc a r ds h o u l db e g u a r a n t e e db e c a u s et h es m a r tc a r di so f t e nu s e dt or e p l a c et h ec a s ho ru s e df o rt h e i d e n t i f i c a t i o n t or e a l i z et h ed a t as e c u r i t yo ft h es m a r tc a r d ,e n c r y p t i o ni sa ni m p o r t a n ta n dv a l i dw a y s i n c es y m m e t r i ce n c r y p t i o na l g o r i t h mt d e sa n dn o n s y m m e t r i ce n c r y p t i o na l g o r i t h mr s aa r e o f t e nu s e d ns m a r tc a r d s 。t h ec i r c u i ti m p l e m e n t a t i o no ft d e su s e d | nt h es m a r tc a r di ss t u d i e d i nt h i sp a p e r i nt h i sp a p e rt h ec i r c u i ti m p l e m e n t a t i o no ft h et d e su s e di nt h ec o n t a c t l e s ss m a r tc a r di s d e s c d b e di nd e t a i la l t h o u g ht h et d e si t s e l fi sc e r t a i n ,t h ec i r c u i ti m p l e m e n t a t i o nm e t h o d so f t d e sa r eo p t i o n a lt h r o u g ha n a l y z i n ga n dc o m p a r i n gt h ec i r c u i ti m p l e m e n t a t i o nm e t h o d so f t d e s ,t h eo p t i m u mi m p l e m e n t a t i o nm e t h o df o rc o n t a c t l e s ss m a r tc a r d si sc h o s e n a n dt d e s i si m p l e m e n t e dt h r o u g ht h i so p t i m u mm e t h o di nt h ec o n t a c u e s ss m a r tc a r d w h e ni m p l e m e n t i n gt h et d e st h et e c h n o l o g yl i b r a r yc s m c0 , 6 ui su s e d t h ea r e a c o n s u m e db yt d e si s1 6 9 r a m 2 4 8c l o c kp e r i o d sa r en e e d e di no r d e rt oe n c r y p t6 4b i td a t a a n dc l o c kf r e q u e n c yc a nr e a c h2 0 m h zi nt h i sd e s i g n a n dt h ep o w e rc o n s u m p t i o no ft h et d e s c i r c u i ti sa b o u t1 9 m w t d e sc i r c u i ti m p l e m e n t e di nt h i sp a p e rc a nm e e tt h ed e m a n do ft h e c o n t a c t l e s ss m a r tc a r d t h em a i nc o n t r i b u t i o n sa n dc r e a t i v ep o i n t so ft h i sp a p e ra r e a sf o l l o w s : 1 t h eo p t i m u mt d e sc i r c u i tu s e df o rc o n t a c t l e s ss m a r tc a r d si sp r o p o s e d 2 s o m ev a l i dm e t h o d st or e d u c et h ep o w e rc o n s u m p t i o no ft h et d e sc i r c u i ti nt h e s m a r tc a r da r eu s e d 3 s u c c e s s f u l l yv e r i f yt h et d e sc i r c u i tu s i n gt h ek n o w na n s w e rt e s t sa n dt h em o n t e c a r l ot e s t s k e yw o r d s :e n c r y p t i o nd e c r y p t i o nt d e s ( t r i p l ed e s ) c o n t a c t l e s ss m a r tc a r d 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:留囊 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:扎导师签名:曼主j 主日期: 沙毒 海人学坝i :学位论史 1 1 智能卡的发展历史及分类 第一章引言 智能卡的名称来源于英文名称“s m a r tc a r d ”,又称集成电路卡,即i c 卡 ( i n t e g r a t e dc i r c u i tc a r d ) 。它将一个集成电路芯片镶嵌于塑料基片中,封装成卡 的形式。i c 卡的概念是2 0 世纪7 0 年代初提出来的,法国布尔( b u l l ) 公司在 1 9 7 6 年首先创造出i c 卡产品,并将这项技术应用到金融、交通、医疗、身份证 等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们生活和工作 的现代化程度。 i c 卡:苍片具有写入数据和存储数据的能力,i c 卡存储器中的内容根据需要 可以有条件的供外部读取,或供内部信息处理和判定之用。根据i c 卡中有无c p u 可以将i c 卡分为两类:存储型i c 卡( m e m o r yc a r d ) 和智能卡。智能卡中带有 c p u ,因而可以建立多种应用系统的授权,存放多种应用系统的相关数据,并实 现对数据的高可靠性安全- 胜的控制5 ”l 。智能卡是当今世界同新月异的信息社会中 一颗耀眼的新星。如果按卡与外界数据传送的形式来分,有接触式i c 卡和非接 触式i c 卡i ”j 。当前广泛使用的接触式i c 卡有8 个触点可与外界接触。非接触式 i c 卡的集成电路不向外引出触点,因此它除了包含接触式i c 卡的电路外,还带 有射频收发及相关电路。非接触式i c 卡出现较晚,但它具有一些接触式i c 卡所 不能替代的优势,因此发展极为迅速,并且在许许多多的领域将取代接触型i c 卡。非接触式i c 卡根据是否带有c p u 也可以分为两类:非接触存储型i c 卡( 不 带c p u ) 和非接触智能卡( 带c p u ) 。 1 2 智能卡在国内外的应用和开发情况 i c 卡首先从发达国家兴起,并且得到了极为广泛的应用,现在在中国也得 到日益广泛的应用。其应用涉及到金融、交通、通信、医疗、户籍管理、门禁等 诸多的领域。给我们的工作、生活带来了极大的方便,提高了我们的工作和生活 的效率,同时也给我们的社会提供了很大的经济效益,大大的促进了信息化社会 的形成。当自u 的i c 卡的功能还比较单,也就是说一张卡只能实现单一的功能, 以后的i c 卡将向着智能卡、尤其是非接触式的智能卡的方向发展p “。可以在一 海大学倾i :学位论文 张卡上集中多种应用,例如有些多功能的智能卡既可以当作信用卡,也可以当作 电话卡、交通卡、身份卡、医疗保险卡m 】。可见智能卡在社会生活中扮演着重要 的角色。近些年来,智能卡在我国得到了迅速的发展,但是长期以来智能卡的芯 片、尤其是非接触式智能卡的芯片一直依靠进口。只是到了近来,国内爿有这方 面的芯片出来。 处于把我国建设为信息化社会的需要,我国政府提出了包括“会卡”工程在 内的“金系列”工程。其中“金卡”是卡的一种泛称,其包括:打孔卡、磁卡、 存储卡、智能卡等。当前,我国的卡支付工具主要是以磁卡为基础的,磁卡的存 储信息量比较少,而且存在安全上的隐患,安全防范能力比较弱,智能卡同磁卡 相比,能够存储的信息量比较大,安全的防范能力比较强,并且能有效的实现一 卡多用,并且能不通过网络中心实现独立认证。尤其是非接触式智能卡更是有着 接触式卡所无法拥有的优点,非接触智能卡的操作不需要同读写机相接触,正是 基于这些因素,我国政府大力提倡发展智能卡,尤其是非接触式智能卡。并且现 在非接触智能卡在许多方面得到了越来越为广泛的应用。 智能昔虽小,但是却包括着设计、制造、封装、测试等一系列复杂的过程, 而且还需要有配套的智能卡操作系统和应用软件等。智能卡芯片的丌发基本上被 s t 、p h i l i p s 、m o t o r o l a 、a t m e l 等几家公司给垄断。国内的智能卡的芯片的开发 还是刚刚处于起步阶段,尤其是非接触智能卡的芯片更是如此。 1 3 本文所做的工作和本文的内容安排 在现代社会,智能卡得到了迅猛的发展,从某种意义上讲,我们越来越依赖 于智能卡给我们提供的方便。但与此同时,我们知道:智能卡在实际的应用中往 往是代替实际生活中的现会或者是用于身份识别的,因而确保智能卡的安全在整 个智能卡的应用体系中占有着举足轻重的作用。 对于安全防护措施,最为常用的有以下几种:a 对持卡人、卡和接口设备的 合法性的相互校验:b 重要数掘加密后再传输;c 校验数据的完整性:d 卡和接 口设备中设置安全区,在安全区中包含有逻辑电路或外部不可读的存储区,任何 有害的不合规范的操作,将自动禁止对卡的进一步操作。在以上的几种方法中, a 、b 都是以加解密作为基础的。可见,对数据进行加密在实现智能卡安全中是 海人学坝l :学位论文 具有非常重要的基础地位。 在智能卡中最为常用的加密算法有对称加密算法t d e s 和非对称加密算法 r s a 。本文的研究方向是非接触智能卡中的t d e s 加密算法的硬件实现。在本文 中,我做的工作主要包括以下几个方面: 1 针对非接触智能卡这一特殊的应用环境,有创造性地提出了t d e s 算法 实现的电路结构并实现之。 2 在实现t d e s 算法电路时提出了降低其功耗的方法。 3 经过分析研究,决定选用k n o w na n s w e rt e s t s 和t h em o n t ec a r l ot e s t s 对t d e s 算法电路进行测试,并成功地完成了对t d e s 算法电路的验证 测试。 本文的内容安排如下: 第一章介绍了选题的背景和意义,简要的介绍了智能卡的发展的历史、在国内 外的发展、应用和丌发的情况以及本文所作的工作和内容安排。 第二章简要地介绍非接触智能卡的硬件体系结构、操作系统、国际标准以及非 接触智能卡应用系统的组成。 第三章首先简要地介绍了d e s 算法,然后在此基础上介绍了t d e s 算法,最 后讨论了密码算法实现的两种方法。 第四章首先根据非接触智能卡的这一特殊的应用背景,讨论了在非接触智能卡 中实现t d e s 算法的要求,然后提出了非接触智能卡中t d e s 算法电路 实现的方案,利用无锡上华的标准单元库c s m co 6 u 实现t d e s 算法, 并且在分析研究的基础上,选用k n o w n a n s w e r t e s t 和m o n t ec a d ot e s t 成功地完成了对t d e s 算法电路的测试,还提出了降低非接触智能卡中 t d e s 算法电路功耗的方法。 海人学顾i ? 学位论文 第二章非接触智能卡系统概述 2 1 非接触智能卡的硬件组成 智能卡被认为是世界上最小的计算机,其硬件组成和一般的计算机系统相 似。图2 1 是一个典型的非接触智能卡芯片的组成框图【2 6 l 。从该图中可以看出非 接触智能卡芯片中一般包括以下几个部分的功能电路:r f 接口、中央处理器、 数学协处理器、随机数发生器、存储器单元、非接触式i 0 接口单元。 图2 1典刑的1 r 接触智能p 的组成框图 2 2 非接触智能卡的操作系统 p c 机上山于引入操作系统使得软件开发者可以把注意力贯注到实际应用 问题i :,而不必顾及硬件。应用软件脱离硬件配置变得可移植,易于编写,容易 满足应用需求,而且在硬件有些改变的情况下,不必重写软件。 鉴于这一事实,相应地在非接触智能卡上丌发出操作系统c o s ( c h i p o p e r a t i n gs y s t e m ) 。c o s 的主要功能2 9 1 是控制非接触智能卡和外界的信息交换, 管理卡内的存储器并在卡内处理各种命令。为了使与应用有关的问题能和非接触 智能卡的技术相隔离,c o s 通常按应用来划分目录以组织文件,用密码来保护 对他们的访问,并进行相互鉴别,可以方便的增加和更改各种应用功能,实现一 卡多用。 海人学顾i :学位论文 2 3 非接触式i c 卡的国际标准 非接触式i c 卡按作用距离的不同而分为三个不同的标准。密耦合i c 卡标 准i s o i e c1 0 5 3 6 主要是在1 9 9 2 年到1 9 9 5 年间发展的。近耦合标准i s o i e c 1 4 4 4 3 0 j 和疏耦合i c 卡标准i s o i e c1 5 6 9 3 的制定工作大约是1 9 9 5 年开始着手进 行的。 其中,密耦合i c 卡在读写时要紧靠读写器;疏耦合i c 卡的读写距离在5 0 c m 左右:近耦合i c 卡的作用距离在1 0 c m 左右,目前绝大部分的民用系统都采用 的是近祸合i c 卡。 2 4 非接触智能卡的安全问题 非接触智能卡的作用是代替流通领域中的现余或支票或身份验证,随着非接 触智能卡的推广使用,利用它进行欺诈或作弊的行为也会不断的增加,对于h 现 的不安全问题的解决方法需要在提供合理的效果和防护的保证与所需的成本和 投资之间进行平衡2 5 1 ,从而提出一个折衷的解决方法。 2 4 :l 对非接触智能卡可能的攻击 1 在非接触智能卡和接口设备之问流通的信息可以被截取分析,从而可被 复制或插入假信号。 2 模拟非接触智能卡,从而可以模拟非接触智能卡和接口设备之间的信息, 致使接口设备无法判断出是合法的还是模拟的非接触智能卡。 3 在交易中问更换非接触智能卡。在授权过程中使用的是合法的非接触智 能卡,而在交易数据写入之前更换成另一张卡,因此将交易数据写入替 代卡中。 4 对非接触智能卡提供不f 确的控制信号。使用假接口设备对智能卡提供 不f 确的控制信号,可以使非接触智能卡泄漏卡内的重要数据,或是非 法控制非接触智能卡。 5 雇员的作弊行为。接口设备写入卡中的数据不正确,或雇员私下将一笔 交易写成两笔交易,因此接口设备不允许被借用、私自拆除或改装。 海大学坝l :学位论文 2 4 2 一般的安全措施 为了保护非接触智能卡的安全使用,一般采取以下措旌: 1 对持卡人、卡和接口设备的合法性的相互验证。 2 对重要的数据加密后再予以传输。 3 检验数据的完整性。 4 在卡和接口设备中设置安全区,在安全区中包含有逻辑电路或外部不可读 的存储区,任何有害的不合规范的操作,将自动禁止对卡的迸一步的操作。 5 设置黑名单对于被设置为黑名单的卡不能进行操作。 2 5 非接触智能卡应用系统简介 非接触智能卡应用系统的体系结构如图2 2 所示,图中各部分的功能如下 非接触i 非接触 一一j 智能卡u 智能卡 剀2 2 非接触智能# 戍删系统的体系结构 a 非接触智能卡:存储和处理非接触智能卡用户的个人信息。 b 非接触智能卡终端:一方面给非接触智能卡提供能量,另一方面确保非接触 智能卡和工作站之j l 白j 的信息交换以及和非接触智能卡之间的用户友好对话,包括 提供阅读器、显示器、键盘或接口等设备。 c 非接触智能卡工:作站:进行非接触智能卡交易操作,通过公共交换网与中央 控制系统连接,把交易结果向中央数据节点报告。 d 公共交换网:非接触智能卡工作站和中央控制系统、服务中心和授权中心等 的通信媒介,包括通信网络、通信日口端处理机、基于应用的处理机、与智能卡有 关的数据库和其他的系统部件。 海人学坝f 。学位论文 e 服务中心和授权中心:管理智能卡的发行、使用和更换等的机构。 非接触智能卡主要用于验证身份或作为支付工具,在使用时读写器与卡要相 互确认,以防止伪卡或有问题的卡,一般来说,使用一次卡要经历以下步骤: 1 把非接触智能卡放入指定区域,读写器向卡提供电能并选择出一张要交易的 卡,并发出复位信号,令卡进行初始化,做好交易的准备,然后由卡发出应 答信号。 2 读写器鉴别卡的真伪。 3 卡鉴别渎写器的真伪。 4 检查此卡是否列入黑名单,如已列入,则停止使用。 5 检查上次交易是否己正常完成。如果在完成前就移丌卡,卡应具有机动恢复 数据的功能。 6 鉴别持卡人的身份,通常采用密码比较的方法,即由持卡人输入只有他本人 知道的密码,与预先存在卡内的密码进行比较:如比较相符,说明持卡人是 卡的主人。但也有可能窃得卡与密码,所以更严格的要求可采用生物特征来 验证,例如指纹、声音等。 7 根据应用要求进行交易或验证通行,这可能要求对数据的可靠性和完整性进 行检查,数据也可能需要加密传送。 8 把卡移丌指定的区域。 以上各个步骤的顺序可以有变动。随着命令系统的不同,这些步骤和内容也 会随之调整。 2 6 本章小结 本章简要介绍了非接触智能卡的硬件组成、操作系统、国际标准、安全和防 护措施以及非接触智能卡的应用系统,通过本章的介绍,可以对非接触智能卡系 统有一个初步的认识。 海人学坝| :学位论义 第三章t d e s 算法的介绍 因为t d e s 是以d e s 算法为基础发展而来的,所以在介绍t d e s 之前,先 简要地介绍d e s 算法。 3 1d e s 算法 d e s 算法刚2 0 l 是一个分组加密算法,它以6 4 位为分组对数据进行加密。6 4 位一组的明文从算法的一端输入,6 4 位的密文从另一端输出。d e s 算法是一个 对称算法:加密和解密用的是同算法( 除密钥编排不同以外,如果各轮的加密 密钥分别是k i 、k 2 、k 3 、k 4 、k 1 6 ,那么解密的密钥就是k 1 6 、k 1 5 、 k 1 4 、k 1 3 、k 1 ) 。 密钥的长度为5 6 位( 密钥通常表示为6 4 位的数,但是每个第8 位都用作奇 偶校验,可以忽略) 。密钥可以是任意的5 6 位的数,且可以在任何时候改变。其 中极少数被认为是弱密钥( 此时,密钥是全0 、全l ,或一半是全0 另一半是全 1 ) ,但能容易地避丌它们,所有的保密性依赖于密钥。 d e s 对6 4 位的明文分组进行操作。通过一个初始:詈:换,将明文分组成左半 部分和右半部分,各3 2 位长。然后进行1 6 轮完全相同的运算,在运算的过程中 数据与密钥结合。经过1 6 轮后,左右半部分结合在一起经过一个术尾置换( 初 始置换的逆置换) ,这样该算法就完成了。其中d e s 的算法如图3 1 所示,d e s 算法中的一轮运算如图3 2 所示。 在每一轮中,密钥位移位,然后从密钥的5 6 位中选出4 8 位。通过一个扩展 置换将数据的右半部分扩展成4 8 位,并通过一个异或操作与4 8 位密钥结合,通 过8 个s 一盒将这4 8 位替代成新的3 2 位数据,再将其置换一次。这四步运算构 成了函数f 。然后,通过另一个异或运算,函数的输出与左半部分结合,其结果 即成为新的右半部分,原来的右半部分成为新的左半部分。将浚操作重复1 6 次, 便实现了d e s 的1 6 轮运算。 海人学坝i 擘位论文 凡南n 币i 百忐丽丽 厂i 了亏:;莨t 了r 1 5 2 l 1 4x o rr r l 4 。k 1 5 ) ( 沣丑,sq ( 沣斗m 几讯再丽瓦荒凉瓦丽几而菥 主 ! ! :! 皇 南文 图3 1d e s 算法的框幽 幽3 2d e s 算法中的一轮运算框图 假设b 是第i 次迭代的结果,l i 和r i 是b 。的左半部分和右半部分,k 是第 i 轮4 8 位密钥,且f 是实现替、置换及密钥异或等运算的函数,那么一轮就是: l i = r i i( 3 1 ) r i = l i 10 f ( r i 山k i )( 3 2 ) 详细的d e s 算法细节请参阅附录a 。 :海人学顺f 学位论义 1 9 9 2 年,r s a 公司宣负t 名淑“秘盔盔钥撼拽:的囊蹇? 向堂是薄固内、曝 一万美元作作为奖余悬赏d e s 的破译者。结果,一个名叫r o c h e rv e r s e r 的人开 发了个破译软件,在互联网上召集了上万名志愿者,利用上万台计算机的空闲 时间,经过9 6 天的计算,赢得了胜利。在前面也提到,d e s 算法的有效密钥长 度为5 6 位,从而可以得出其密钥的空问为2 5 6 = 7 2 1 0 6 。随着当今社会集成电 路产业的快速发展,计算机的速度越来越快,运算能力得到了极大的提高。因此, 5 6 位的密钥实在是太短了。解决此问题的一个最为有效的方法便是使用 t d e s ( t r i p l ed e s ) 。它的有效密钥长度是d e s 算法的两倍。因而安全性得到了极 大的提高。 3 2t d e s 算法的介绍 经过长期的使用,理论和实践都证明d e s 算法是一个非常好的加解密算法。 但是出于d e s 算法的密钥只有5 6 位,随着现代计算机计算能力的提高和现代密 码分析学的发展5 6 位的密钥显得有些短了,抵抗能力有限。于是我们可以分 别使用三个不同的密钥用d e s 算法对原始数据进行加密三次,也就是 t d e s l 2 卿j 。假设用p 表示明文用c 表示密文。k l 、k 2 、k 3 分别表示三个密 钥。e 表示d e s 加密、d 表示d e s 解密。则t d e s 的加解密可以分别表示为: c = e k 3 ( d k 2 ( e k l ( p ) ) )( 3 3 ) p 2 d k i ( e k 2 ( d k 3 ( c ) ) )( 3 4 ) 对这种加密模式,最有效的攻击方式是中问相遇攻击,它需要花费2 2 步运算, 并且需要2 ”个存储分组。 其具体的加解密方法如图3 3 示,其中上半部分表示的是加密,下半部分表 示的是解密。 幽3 3 t d e s 的算法框图 海人学倾i 学位论义 3 3 密码实现的方法 密码实现通常有两种方法:软件实现和硬件实现。 几乎任何加密算法都可以用软件实现。软件实现的好处是它具有较好的灵活 性和可移植性,易于使用,容易升级。但是,软件实现也有它的不利之处。首先: 实现的速度比较慢,比如通常用软件实现的t d e s 加密程序运算速度是要远远比 硬件实现的速度要慢的。其次:易于被人改动,因为软件程序有代码组成的特殊 性,导致了这一安全隐患。 同时,加密算法还可以通过硬件来予以实现。硬件加密有着以下的这些特点: 第一:速度快。加密算法通常含有很多对明文位的复杂运算,如果使用般的计 算机来进行加密运算的时候,效率是非常低的,如果使用专门的硬件电路束予以 实现的话,速度将能够得到极大的提高,在很多场合中,都能够做到实时的通信。 其次:安全性高。硬件加密设备可以安全的封装起来,使别人难以修改算法;而 且可以把密钥存储于芯片的内部,使别人很难窃得密钥。特殊目的的v l s 芯片 可以覆盖一层化学物质,使得任何企图对他们内部进行访问都将导致芯片逻辑的 破坏。 加解密模块当前的应用热点之一是智能卡,从制造成本考虑,通常我们希望 芯片面积越小越好,特别是对于非接触式智能卡,由于芯片工作所需的能量是由 天线经r f 耦合得到的,功耗受到限制。如果采用通用的c p u 单元来实现t d e s , 其计算费时很长,c 语言的实现要执行力个数量缴的指令。出于安全、面积、速 度和功耗的综合考虑实现一个小面积、低功耗的t d e s 协处理器模块在产业上也 有非常重大的意义。 3 4 本章小结 本章首先分绍d e s 算法,然后在此基础上介绍了t d e s 算法,最后讨论了 密码算法实现的两种方法以及加解密硬件电路实现在智能卡领域的广泛应用前 景。 海人学顾l 学位论文 第四章非接触智能卡中的t d e s 算法的实现 4 1 非接触智能卡中t d e s 算法的电路实现的概述 用e d a 工具实现非接触智能卡中的t d e s 算法电路的设计是从具体要求出 发,用h d l 对电路进行f 确的描述,经过仿真验证,然后结合一定的单元库综合 得到电路的门级网表( n e t l i s t ) ,最后经布局和布线得到集成电路的版图。现代 a s i c 的设计普遍采用这种方法。利用这种设计方法来设计非接触智能卡中的 t d e s 算法电路,主要包括以下步骤: 1 了解非接触智能卡及其相关设计的知识,从而确定非接触智能卡这特殊的 应用背景对其中的t d e s 算法电路的实现提出的具体要求。 2 针对这些具体要求提出t d e s 算法电路实现的方案,方案包括:实现t d e s 算法的电路结构、t d e s 算法电路的模块划分、各模块的功能及它们之间的 接口、工作机制等等。 3 根据t d e s 算法的具体实现方案,使用v h d l v e r i l o gh d l 书写源代码并进 行功能仿真,如若功能仿真不能通过,则需要返回到前面的步骤进行修改调 1 整直到满足要求为止。如若功能仿真通过,则进行以下的步骤。 4 根据非接触智能卡中t d e s 算法电路实现的具体要求,提出综合策略,并结 合相关的工艺库,对t d e s 的设计进行综合;对综合后的门级网表进行仿真, 若不能通过仿真,则返回到前面的步骤进行修改和调整,若顺利地通过仿真, 则进行卜面的步骤。 5 根据相应的要求,结合具体的工艺库对综合后的门级网表进行布局布线,并 对设计版图进行验证检查。 6 对布局布线后的网表进行时序仿真,如若不能通过后仿真,则需要返回到前 面对设计进行修改和调整,直到满足要求为止。 本章中的下面部分将结合这些步骤对非接触智能卡中的t d e s 算法电路实 现进行具体讨沦。 海人学坝l j 学位论文 4 2 在非接触智能卡中实现t d e s 算法电路的要求 在非接触智能卡中实现t d e s 算法时需要考虑到非接触智能卡这一特殊的 应用背景,这一特殊的应用背景提出的要求有: 1 面积的要求 方面非接触智能卡芯片面积的大小极大地影响着它的易损程度。其面积越 大,当卡在弯曲或扭曲时,芯片就越容易损坏。考虑一下在钱包罩携带的交通卡 的情况,这种卡和植入的芯片所承受的弯曲应力是相当大的,芯片罩的最细微的 裂纹也足以使其报废。因此,绝大多数卡片制造商把2 5 m m 2 作为芯片面积的上 限,并且要求其外形尽可能接近f 方形。以减少断裂的危险。另一方面,芯片的 面积越小,意味着这个芯片的成本将会越便宜。同时我们也知道,在非接触智能 卡的芯片中除了加解密的电路外,还包括射频接口电路、微处理器、各种相关的 存储器等等。可见芯片的资源很多,所以要求加解密的电路实现面积能尽可能地 小。 2 功耗的要求 我们知道在接触式的智能卡中,接触式智能卡芯片的工作是有外部电源供电 的,而在非接触智能卡中,其芯片的工作是通过读写器发出的电磁场耦合到非接 触智能卡而产生的电磁感应电流而工作的( 如图4 1 所示) ,没有专门的外界的 供电电路。这一特殊的供电方式要求非接触智能卡中的各部分电路功耗应尽可能 的小,如果加解密电路的功耗比较大的话,很有可能会影响到整个系统的工作。 ,、r 终端、 非接触智能 i o 、f j j 、 一 f = = = 之二,二 h 羊r _ f i jl i 芯f l s 审。牛n 5k ;i 叭市旺卞2 l 守一_ _ 1 一j 士 s t 手八八 ! rj 一l 蚓4 i 川电感耦合方式给1 f 接触智能 供电 3 非接触智能卡和读写器之删的通信速度至多为几百k b p s ,可见非接触智能卡 对速度的要求不是很高,这样的话可以在满足速度的要求下,可以尽可能的减小 面积。 海人学坝i j 学位论文 4 3 在非接触智能卡中t d e s 算法的电路结构 4 3 1 i d e s 算法的简化 在第三章的算法介绍中,d e s 算法在第一轮运算之前需要一个初始置换, 在d e s 的最后一轮运算之后需要一个术位置换。而t d e s 算法是使用三个不同 的密钥分别使用d e s 算法对明文或密文进行加密或解密。但是,在非接触智能 卡中具体实现t d e s 算法的电路时,可以把第一个d e s 的术置换、第二个d e s 的初始置换和末置换、第三个d e s 的初始置换给省略掉。这样做,从理论的角 度而言,丝毫没有影响t d e s 算法的安全性。但是却给相关模块之间的布局布线 提供了方便,而且能够有效的节省布线资源和降低连线功耗。因此,正是基于这 样的考虑,在提出电路的实现结构时,省掉了这些初始和术置换。 4 3 2 非接触智能卡中t d e s 算法的电路结构 一般而言,t d e s 的电路实现有三种结构 1 7 - 1 8 1 : 1 完全流水线结构m 1 3 - 1 4 】f 如图4 2 所示) 。 1 为了使t d e s 算法能够得到最大的数据处理速率,t d e s 的4 8 轮运算能够 单独的同时进行运算。这样,4 8 轮的运算就形成了一个4 8 段的流水线。4 8 个不 同的输入能够同时输入到流水线中去。其具体结构如图4 2 所示。从图中可以看 出,这种结构的t d e s 算法是有4 8 段组成,其中每一段都可以单独的处理输入 数据。每一段是有一个寄存器和一个基本逻辑块所组成。寄存器用于存储本段需 要处理的数据。在图4 2 中,首先,d a t a l 被输入到寄存器1 在被寄存器 l 的基本逻辑块处理完以后,输出被送到寄存器2 中去。与此同时,d a t a 2 被送到寄存器1 中去。那么,就有两个输入:寄存器2 的输入d a t a l , 输入d a t a 2 在寄存器l 中,这样就形成了流水线。随着处理过程的进行, d a t a 3 被输入到。寄存器1 。在这种结构中,假如一轮的处理时问是n , 那么随着数据的不断输入,1 组数据的处理时间基本上也就是n j ,从中可以看 出,数掘处理速度得到极大的提高。但是采用这种结构,从图中我们也可以看出, 资源的占用是非常高的。因此,只有在对速度要求很高的场合我们才会采用此结 构。而在非接触智能卡巾,对速度的要求不是很高,对资源的利用率要求很高, 海人学坝j :学位论义 因此,这种结构形式不符合本设计的要求,得需要探索其他的电路结构形式。 幽4 2 :完全流水线结构 d a t a4 8 d a t a 4 6 2 循环递归式结构( 如图4 3 所示) 在这种结构中,仅使用一组逻辑电路和寄存器去建立t d e s 算法。相同的逻 辑电路需要重复4 8 次去完成这个算法。使用这种结构能够大大节省硬件资源和 芯片面积。但是,与此同时,在一个时间点只能有一组数据输入电路。新的一组 数据的输入需要在电路完成4 8 轮的操作以后。这样就大大的减少了数据的吞吐 量。比如,一轮数据处理的时问是n ,则整个t d e s 算法的处理时问就是4 8 n 。 如果对芯片的资源利用率有很高的要求,但是对数据处理速率没有很高要求的 话,那么这种结构是一个很好的选择。 皇 寄存器 ! 构成一次循环中| ix 4 8 的基术逻辑l 路l | 幽4 3 循环递门式结构示意幽 海人学顺l j 学位论义 3 混合式结构 这种结构是递归式结构和完全流水线结构的混合体。也就是说这种t d e s 结 构既包含递归式结构电路,也包含流水线式结构电路。这样这种电路结构既能达 到一个好的资源利用率,也能达到一个相当好的数据吞吐量,在寻求资源利用率 和数据处理速率之间最优化时,不失为一个好的电路结构。 因为本文讨论的t d e s 算法的硬件实现是使用在非接触智能卡芯片的加解 密中,非接触智能卡的芯片对资源利用率要求很高,而对速度的要求并不是很高, f 是基于这样的考虑,在本文中采用的t d e s 的结构为循环递归式结构f 8 l 。 4 3 3 非接触智能卡中1 d e s 算法的电路模块翅分 对于t d e s 算法的硬件实现使用的是t o p d o w n 、模块化的设计方法,在 这个设计方法的指导下,提出了t d e s 算法的电路实现框图 2 1 - 2 4 i 如图4 4 。 r s t c l k k e y l 6 3 :0 k e y 2 6 3 :0 k e y 3 6 3 :0 s t a r t e nd r e a d y 蚓4 4t d e s 算法的埂什结构框幽 从框图中可以看出,t d e s 算法电路包括三个基本模块:密钥产生模块、数 海人学颂i :学位论文 据处理模块( 或称为数据加密单元模块) 和控制模块。各个模块说明如下: 1 密钥产生模块 密钥产生模块的输入是3 个6 4 比特的原始密钥和控制信号,它的输出是4 8 位的予密钥。密钥产生模块的输出一定要与数据处理模块相匹配,也就是每一个 子密钥都是同相应的加解密的轮数相对应的。具体来说:进行第一轮加解密时使 用第一个子密钥,第二轮加解密时使用第二个子密钥,依次类推。 2 数据处理模块 数据处理模块的输入是要进行加解密的原始数据和一系列子密钥以及控制 信号,输出是经过加密后的数据。其具体的算法如图4 4 所示。在此数据处理模 块中,除了s - b o x 的实现是非线性的,其余的模块实现都是线性的。实际上, 此模块的设计的难点也就是s - b o x 的设计。关于s 盒的设计问题,在后面的章 节中还会详细讨论。 3 控制模块 控制模块产生系列相应的控制信号对密钥产生模块和数据处理模块的运 作进行控制和协调。这些控制信号主要包括密钥移位控制信号( 同时可以用作为 数据加解密操作的轮数控制信号) 、数据加解密好的标志信号、加密或者解密的 模式的控制信号等等。实际上控制模块在结构上主要是由状态机所组成。 4 3 4t d e s 算法电路的工作时序 t d e s 算法电路的工作时序如图4 5 ( 其中k e y 泛指k e y l 、k e y 2 和k e y 3 ) 。 厂 广 n 厂 厂 厂 :厂 几厂 门广 广 f 厂 r s t _ 一 _ t 一r 一 ,j 4 一一;一s t a r ij e n _ 弦,。、zi 弘i 弘i 7 。,i | 砀呖忍一v ) ( : 互) ( 二e j 二二二二二二 = :二 二二二k 1j i 二二二乙) ( 二 二二二二二二 = :二 :二二 ( 二: d a t a i n :! ! : i ( ;j j i i ) i :! :! z ! :! :! :羽一e ! :! :;:! :! :;! i : j ! j :j :! : d a t ao u t :, 车i i ( i i a _ 。_ v l # l r 。1 read、,j【,一 幽4 5t d e s 算法电路的时序幽 海人学顺i :学位论史 s t a r t 为高电平时表示电路处于加解密的过程中,为低电平时电路不处于工作 状态。 加解密是通过e n d 来予以选择的,当e nd 为高电平时表示解密;当e nd 为低电平时表示加密。 在一组数据的加解密操作中,输入数据只需在在如图所示的一个时钟周期内 保持有效。 密钥的更新要比数据的更新提前一个时钟周期。 对一组数据的加解密操作需要4 8 个时钟周期,一组数据加解密操作的完成 是通过r e a d y 来标志的,当r e a d y 为高电平时表示一组数掘加解密的完成,此时 的d a t ao u t 就是加解密好的数据。 4 4t d e s 算法的各电路模块的实现 4 4 1t d e s 算法的密钥产生模块的电路实现 t d e s 算法电路的密钥产生模块的功能是产生4 8 个子密钥供加解密的模块 使用,并且当加密或解密处于不同的轮数时,密钥产生模块能够提供适当的子密 钥给加密或解密运算模块”“1 。 图4 6 是密钥产生模块的接口图。其中:c l k 是时钟信号;k e y l 6 3 :0 1 、 k e y 2 6 3 :0 、k e y 3 1 6 3 :0 分别是原始密钥输入:c o n t r o l _ s i g n a l 5 :0 为控制信号,其 控制着子密钥的生成,这个信号是由控制电路电路产生的,关于其具体含义在 4 4 3 节中将会作具体解释;s u b k e y 4 7 :0 为生成的子密钥。 c 1 k c o n t r o ls i g n a l 5 :0 k e y l 【6 3 :0 】 k e y 2 6 3 :0 】 k e y 3 6 3 :0 t d e sk
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东阳江高新区人民医院招聘7人备考题库含答案详解(典型题)
- 2026河南华北水电工程监理有限公司招聘26人备考题库附答案详解(研优卷)
- 2026北京语言大学事业编制人员招聘11人备考题库(第三批)含答案详解
- 2026内蒙古锡林郭勒盟镶黄旗事业单位引进急需紧缺人才2人备考题库参考答案详解
- 2026甘肃嘉峪关市人力资源和社会保障局招聘公益性岗位3人备考题库及一套答案详解
- 作业安全操作规程汇编手册
- 联烯与三元环类似物反应调控:策略、机理与应用探索
- 联合手术治疗严重持续性变应性鼻炎的疗效探究:基于34例病例分析
- 职业教育中虚拟装配实训系统:技术、应用与创新发展
- 聊城市耕地集约利用水平及影响因素研究
- 《危重症患儿管饲喂养护理》中华护理学会团体标准解读
- 《国家综合性消防救援队伍队列条令(试行)》课件
- 2024年贵州省高考化学试题含答案解析
- 2025-2030年中国核桃种植深加工行业竞争格局与前景发展策略分析报告
- 《冻鲅鱼、冻鲐鱼》标准及编制说明
- 古诗鉴赏(简答题各题型答题技巧与答题规范)-2025年北京高考语文一轮复习(原卷版)
- 加油站施工施工组织设计方案
- 2024年西藏自治区中考语文试题卷
- 汽车配件物流运输服务方案
- 英语专业四级英语写作讲解
- CTD申报资料撰写模板:模块三之3.2.S.4原料药的质量控制
评论
0/150
提交评论