- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AESRSA相结合数据加密方案在Java中实现
AESRSA相结合数据加密方案在Java中实现
摘要:JAVA通过“SunJCF”技术向开发者提供了先进的加密技术,在J2EE电子商务应用中运用这些技术可以大大提高系统的数据安全性。该文主要研究了“SunJCF”中提供的AES、RSA加密算法的具体实现方法,提出了在Java中综合运用AES和RSA算法加密数据文件的方案,并给出了相应的Java程序。
关键词:JAVA;AES;RSA
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20785-02
1 引言
由于Internet网络协议本身存在着安全问题,网上信息传输存在着巨大的安全风险,电子商务的安全问题越来越突出。加密技术是电子商务中最主要的安全技术,加密方法的选取直接影响着电子商务活动中信息的安全程度。由于JAVA一开始就是面向网络应用的,它十分重视数据的安全性,在JDK1.1中就已支持DES加密技术。因此JAVA在电子商务中得到了广泛的应用。本文主要介绍在Java环境下使用AES和RSA加密算法对数据文件进行加密和解密。
2 JAVA中的数据加密技术
加密技术根据一般可以分为对称加密技术和非对称加密技术。对称加密技术属于传统的加密技术,它的加密和解密的密匙是相同的,它的优点是:运算速度快,加密强度高,可以通过硬件方式来实现,适合大批量数据的加密处理,它的缺点是:加密和解密由于使用相同的密匙,密匙的分发与保密比较困难,目前常用的对称加密技术有DES、3DES和AES,DES是旧的加密标准,它的密匙长度为56位,加密强度较低,已被认为不是安全的加密技术。3DES是对DES的改进,对明文用三个不同的DES密匙进行DES加密、解密和再加密,这样可以提高加密强度。AES是新的加密标准,它是DES的替代者,它的密匙长度有128、192和256三种,目前还没有被人攻破。非对称加密技术属于现加密技术,它的加密与解密的密匙是不相同的,一个是私匙,一个是公匙,它的特点是:加密强度比较小,加密的速度比较慢,常用于数字鉴名和加密密匙,目前使用的非对称加密技术主要有RSA和ECC,其中1024位的RSA是目前使用最为广泛的非对称加密技术。
JAVA语言的安全性是十分出色的,在JAVA中通过“SunJCF”提供对各种加密技术的支持。在JAVA还可以安装其它公司的加密包,使用“SunJCF”所不支持的其它加密算法。早在JDK1.1中就已支持DES数据加密技术,在JDK1.5中支持DES、3DES、AES等对称加密技术,在非对称加密技术方面支持RSA技术。
3 JAVA中的数据加密类
(1)KeyGenerator类用于获得各类对称加密技术的密匙,主要的方法有:
getInstance(加密算法字符串),用于设置要获得的密匙的加密算法;
init(),用于初始化对称加密的密匙对象;
generateKey(),从对称加密的密匙对象中取得密匙。
(2)KeyPairGenerator类用于获得非对称加密技术的密匙,主要的方法有:
etInstance(非对称加密算法字符串),用于设置要获得的密匙的加密算法;
initialize(密匙长度),用于初始化非对称加密的密匙对象;
generateKeyPair(),返回非对称密匙组对象;
getPublic(),从非对称密匙组中取得公匙;
getPrivate(),从非对称密匙组中用于取得私匙。
(3)Cipher类是JAVA加密的主要类,用于按一定的算法对数据进行加密、解密、包装和返包装。主要的方法有:
getInstance(加密算法字符串),用于设置要使用的加密算法;
Init(类型,密匙),按提供的类型和密匙初始化加密对象;
getBLockSize(),用于返回加密算法的输入分组长度;
getOutputSize(),用于返回加密算法的输出分组长度;
update(inBytes,blockSize,outBytes),对inBytes进行加密或解密处理,并将处理结果输出到outBytes中;
doFinal(),对要不足分组长度的数据进行填充处理。
4 AVA中实现AES和RSA相结合的数据加解密
(1)根据前面有关对称加密技术和非对称加密技术的分析,在电子应用于一般采用对称加密技术和非对称加密技术相结合的方法。在下面的例子中利用AES(对称加密技术)加密数据文件,利用RSA(非对称加密技术)加密AES加密密匙,这样即可以提高加密的速度,又可以解决AES密匙自身的安全性。由于数据文件
文档评论(0)