基于Java卡DES及3DES算法的实现_梁雅.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java卡DES及3DES算法的实现_梁雅

基于Java卡DES及3DES算法的实现 梁 雅,刘 岚 (武汉理工大学信息工程学院,湖北武汉430070) 日期:2006 -09 -15. 作者简介:梁 雅(1982 -),女,广东高要人,武汉理工大学信息工程学院硕士研究生. 基于Java卡DES及3DES算法的实现 梁 雅,刘 岚 (武汉理工大学信息工程学院,湖北武汉430070) 摘 要:作为一种特殊的智能卡,Java卡较传统的智能卡在安全性、可移植性和开发的简便性上都大有提高。 但是,目前Java卡上的加密算法多是在本地方法中实现,这大大制约了Java语言的平台无关性。针对这一问 题,在简要介绍智能卡,特别是Java卡知识及DES、3DES算法的基础上,提出了一种以Java语言来实现DES 及3DES算法的方法,并详细介绍了实现过程中使用到的关键技术。在PC机上模拟测试的结果表明,该算法 正确。 关键词:DES算法;3DES算法;Java卡 中图法分类号:TP311    文献标识码:A 1 引 言 智能卡,又称IC卡,其概念于20世纪70年 代初首次被提出。它将一个集成电路芯片镶嵌于 塑料基片中,封装成卡的形式,外形与磁卡相似。 根据所镶嵌集成电路的不同,可以分为存储器卡、 逻辑加密卡和CPU卡3类[1]。智能卡将微电子 技术和计算机技术结合在一起,具有写入数据和 存储数据的能力,并且具有体积小、保密措施独特 和无法被仿造等特点。因此,目前智能卡已经被 广泛的应用于金融财务、社会安全、医疗保健、通 信和身份证明等行业领域。 智能卡最主要的优点是,在卡里存储的数据 只能够通过操作系统和安全逻辑控制的串行接口 进行处理,从而防止未经授权的存取和篡改。智 能卡已被证明可以作为执行密码算法的理想介 质,并且可以达到极高的安全性。 但是,在开发方面,传统的智能卡一般都在专 用的开发环境中使用汇编或者C语言进行开发, 加上不同的卡生产商通常对其生产的智能卡定义 了独特的指令集和编程接口,使得开发人员需要 花费大量的时间熟悉底层通信接口协议、内存管 理等智能卡硬件细节。而在应用方面,由于不同 智能卡的开发环境并不通用,使得在不同生产商 的卡上进行应用的移植变得复杂。针对以上的不 足之处,笔者所要提到Java卡就显得具有较为明 显的优势。 Java卡是一种可以运行Java程序的特殊智 能卡。与传统智能卡相比,其优点体现在: (1)开发的灵活性。利用通用的Java开发工 具,开发人员可以省去繁琐的对特定软硬件的熟 悉过程,可很方便地进行应用的开发。 (2)平台独立性。只要是符合Java卡规范的 应用就可以与具体系统平台无关的存储或更新。 使得用户在发卡后不必再次发行新卡就可以安装 新的应用,从而大大地降低了开发成本。 (3)一卡多用性。Java卡允许多个应用程序 安全的运行在同一张卡上。 目前,Java卡已经成为智能卡的主流发展趋 势。我国对Java卡的研究和发展速度相对比较 缓慢,因此,开发具有自主知识产权的Java卡操 作系统是十分有意义的。 2 算法分析 2. 1 DES算法概述 DES算法是目前使用最为普遍的对称密钥加 密算法[2]。在国内,随着三金工程,尤其是金卡 工程的启动,DES算法在ATM、磁卡及智能卡(IC 卡)和高速公路收费站等领域被广泛应用。 2. 2 DES算法工作过程 DES算法的工作过程如下:通信双方约定好 同一密钥,在通信的源点用该密钥对明文进行 DES加密,然后以密文形式在公共通信网络传输, 到达目的地后,接受方用同一密钥进行解密。                  武汉理工大学学报 信息与管理工程版            2006年11月 2. 3 DES算法数据处理 DES算法把64位的明文输入块通过64位密 钥转化为64位的密文输出块。首先,把输入的 64位数据块按特定规则以位为单位重新组合(即 初始IP置换),然后把输出数据分为L0、R0两部 分,各长32位。经过16次迭代运算后,得到 R16、L16,注意最后一次左右不互换位置,将其合 并作为输入,进行IP逆置换,即得到密文输出。 在F函数算法描述图部分中,先进行扩展选位转 换为48位数据,之后分成8组分别经过选择函数 S1,S2…S8,其功能是把6 bit数据变为4 bit数 据。合并后经过P置换生成右32位。 DES算法流程图如图1所示。 图1 DES算法流程图 DES算法的解密过程与加密过程相比区别仅 在于第一次迭代时用子密钥K15,第二次用K14 … ,最后一次用K0,算法本身并没有变化。 2. 4 DES算法密钥处理 由DES算法流程图1可知,DES算法给数据 加密的过程中,要使用到16个由给定密钥生成的 48位的子密钥。事实上,给定的初始密钥为64位, 但DES算法规定,其中第8

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档