- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 机械制图习题集(第7版)钱可强课后习题答案.pdf
- 学堂在线网课《生活英语读写》课后作业单元考核答案.docx VIP
- CCES 02-2004 自密实混凝土设计与施工指南.pdf VIP
- 儿童闭塞性细支气管炎的诊断和治疗专家共识2023.pptx
- 学堂在线 中国共产党与中华民族伟大复兴 期末考试答案.docx VIP
- 2020年第三单元 百年追梦 复兴中华.ppt VIP
- 小学法制安全教育课件.ppt VIP
- 《芣苢》《插秧歌》课件.pptx VIP
- 《C语言程序设计教程》PPT完整全套教学课件.pptx VIP
- 初中地理八上3中国的自然资源优质课金奖课件市公开课一等奖课件名师大赛获奖课件.pptx VIP
文档评论(0)