资源描述:
《智能卡加密应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、智能卡加密应用摘要:随着智能卡在多个领域的广泛应用,在卡内实现好的加密机制可以极大的提高使用的安全性,因此等到人们越来越多的关注。本文借鉴并结合智能卡中几种常见的加密算法,设计出一种加密机制应用于校图书馆的用户管理工作,极大地提高了系统的安全性。 关键词:智能卡加密算法公钥密钥 :TN918:A:1007-9416(2011)03-0085-02 1、引言 随着计算机技术的快速发展,智能卡也已经从最初单一功能的IC卡演变成现在不仅具有存储功能,还可进行信息的传输、处理、用户身份认证等多用途的智能工
2、具。但是正是智能卡所具备的这些优点,使其容易受到外来恶意的攻击,造成对用户隐私权利的侵犯,因此加强对智能卡安全的防护,设计实现更快捷、更方便、更安全的加密算法显得尤为重要。 智能卡与传统的IC卡在本质上有很大的区别,IC卡只是内部安装一个可以读写和存储数据的简单集成电路,而在智能卡中则集成了CPU、E2PROM、ROMRAM和COS。CPU对数据进行处理,E2PROM、ROMRAM用来存放操作系统、加密算法模块、用户个人数据参数。其中加密算法模块不仅仅可以保障系统运行的稳定性,更能确保用户个人资料的安全
3、性。 2、加密算法 加密算法作为一门专业学科从其出现经过漫长的发展到如今已经衍生出许多不同的种类,从体系结构上大致可以分为三类:(1)序列密码;(2)分组加密;(3)公共密码。日常生活工作中使用的密码是由密码算法和密码代码组成的,一种密码算法在特定时期内一般不会做过多的改进,只是密码需要灵活多变以保证数据的保密性。实际上对数据进行加密的过程就是根据所选定的一种密码算法将明文中重要的隐私转变为密文。 随着加密算法在实际的应用表现,截止到目前使用最为频繁、最受到公众认可的加密算法有两种:(1)对称密码体
4、制;(2)非对称密码体制。 2.1非对称密码体制 非对称密码又可称为公钥密码体制,就是一个加密系统中有两种不同的密钥,这两种密钥分别用来对明文加密和解密。每个用户都拥有两种密钥:(1)公开的称为公钥(PK);(2)用户个人自己保存的称为私钥(SK)。因为这两种密钥之间无法相互推导,所以这种加密方式必须使用一种特殊的函数—单向门函数,但是用私钥计算公钥相对容易,但是有公钥反向求私钥在现有的计算条件下则很难实现,这也是这种非对称加密算法被广泛使用的原因。 2.1.1RSA加密算法 RSA是一种著名的非对称
5、算法,它的安全性由“素数检测与大数分解”这一数论难题来保障。首先对需要加密的明文进行数字化处理,设明文长度为M,加密后为N,然后选取两个相对比较大的素数A和B(在加密时自动选取并保密),计算出A与B的乘积为一个大整数(公开),在计算出(A-1)与(B-1)的乘积(保密),随机选取一个相对较小的整数E(公钥)使得与(A-1)与(B-1)的乘积互素,最后计算出一个D的值,使得满足D与公钥E的乘积等于(A-1)与(B-1)的乘积取模后的值,实际就是当用户甲和用户乙利用RSA进行通讯时,如果乙为接收方,甲为发送方,则
6、甲需要首先查询一下公钥D和公开的大整数,然后对信息加密后发送给乙方,乙使用自己的密钥对接收到的信息进行解密,这时的安全性将由这个大整数分解成两个素数A和B时的难易程度决定。也正是因为现有的计算能力还不能找到有效的方法把一个大整数分解,所以RSA加密算法是一种可靠的加密算法,虽然生成密钥比较麻烦且加密、解密过程比较耗时,但这一问题因为技术的进步已经逐步得到解决。 2.2对称密码体制 对称密码又称为单钥密码体制,在这种体制中对明文加密的密钥和对其解密的密钥是完全相同的,就算出现不同的情况,也可以根据其中一个密
7、钥推算出另一个密钥。单钥密码体系对明文进行加密一般有两种方式:(1)按字符位数对明文逐位加密,称为流密码;(2)将消息进行分组后再逐组加密,称为分组密码。无论采用哪种方法,在密钥没有被盗取的前提下,对称密码体制都具有很高的安全性。 2.2.1DNS加密算法 DNS最早是由美国IBM公司公布的一种加密算法,属于分组加密算法的一种。首先将明文分成由0和1组成的总长度为64比特的串,密钥设置成包括一个56位有效位和8位用于奇偶校验的总长度为64比特的串,然后再将明文排序成为IP,进行DNS迭代,计算过程如图1所
8、示。 在做乘积变换时,由设置的64位密钥通过迭代产生子密钥函数f(x),DNS算法的关键就在于将输入的32位输入信息在这个子密钥函数的控制下转换为32位的输出。目前在对DNS算法进行破译时常常选用的是穷举法,但这个方法具有很大的风险性,在不一定会计算出密钥的前提下,还会消耗掉大量的精力用于计算,因此DNS加密算法具备很高的安全性。 3、加密技术的改进和应用 因为智能卡具有身份认证、信息存储