- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RSA和DES加密解密实验研讨
实验一 加密解密实验 一、实验目的:
通过JAVA语言,来实现对称密钥加密算法,非对称秘钥加密算法对信息的加密解密,通过实际操作加深学生对对称密钥加密、非对称秘钥加密解密的理解。
二、实验内容:
安装JDK,配置Java开发环境,加压eclipse,编写对称秘钥的生成、对称密钥加密、解密的程序。编写非对称秘钥加密解密的程序,用私钥对信息进行加密,用公钥对信息进行解密,然后用公钥对信息进行加密,用私钥对信息进行解密。
三、实验用到的主要技术及工具
主要技术:Java、Bouncy CastleEclipse
四、开发步骤:
1、安装JDK,配置JAVA环境变量。
2、解压eclipse。
3、在eclipse中新建项目
4、编写使用DES算法生成秘钥的程序。
1.初始化密钥,并对密钥进行Base64位编码
使用生成的秘钥对“电子商务安全技术”进行加密。
加密,使用生成的密钥和明文作为参数进行传递,并使用密钥对明文加密
以下是对明文进行初始化,在第4点中已对密钥初始化
已下是加密算法
用第4步骤中生成的秘钥对第5部中生成的加密后的内容进行解密。
inputData为第五步中出现的加密过后的明文,由于DES 为对称加密,所以解密密钥key和加密密钥key使用的是同一把密钥
以下是解密算法:
以下是DES加密与解密算法的结果
使用AES算法重复4-6步骤。
8、使用RSA算法生成公钥和私钥。
对密钥进行初始化
取得公钥
取得私钥
对密钥进行编码并输出到控制台
获取明文,并对明文进行编码
用公钥对“电子商务安全技术RSA”进行加密。
以下是加密算法
用私钥对第九步中加密的信息进行解密。
私钥解密:
以下是解密算法
用生成的私钥对“电子商务安全技术RSA”进行加密。
12、用公钥对11步中的信息进行解密。
私钥加密算法
公钥解密算法:
以下是其中一次进行加密与解密的情况
请把你的公钥发送给你旁边的同学,让该同学用公钥进行加密,然后再把加密后的信息发送给你,你再用你的私钥对信息进行解密。
使用其中的一对公钥和私钥,并对公钥加密的数据进行私钥解密,对私钥加密的数据进行公钥解密
以下是固定公钥和私钥,公钥加密的密文,私钥加密的密钥
以公钥解密为例
对私钥加密的密文进行解码,同时也对传输过来的公钥进行同样的解码
byte[] encodedData1 = Base64.decodeBase64(PriMi);
publicKey = Base64.decodeBase64(pubKey);
使用解码的密文和公钥对数据进行解密
byte[] pri_pub_Data = Demo.decryptByPublicKey(encodedData1, publicKey);
以下附上完整代码:
DESDemo.java
package cn.xupt.YVCB.code;
import java.security.Key;
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import mons.codec.binary.Base64;
import vider.BouncyCastleProvider;
public class DESDemo {
//加密算法
public static final String KEY_ALGORITHM = DES;
public static final String CIPHER_ALGORITHM = DES/ECB/PKCS5Padding;
/**
* 对密钥进行初始化,并返回字节码
* @return
* @throws Exception
*/
public static byte[] initKey() throws Exception{
KeyGenerator kg = KeyGenerator.getInstance(KEY_ALGORITHM);
kg.init(64); //初始化的密钥的长度
SecretKey secretKey = kg.generateKey();
return secretKey.getEncoded();
}
pu
您可能关注的文档
- LED显示应用:现状与发展研讨.ppt
- LED照明行业“营销论剑”:人治PK法治研讨.pptx
- LED应用介绍研讨.ppt
- LED办公室灯具研讨.ppt
- led研究研讨.ppt
- LED发光字_迷你发光字_业务及技术扩展项目研讨.ppt
- LED照明技术与供应链管理介绍研讨.ppt
- LED显示屏技术研讨.ppt
- LED节能灯具系列产业化项目研讨.doc
- LED行业标准学习研讨.ppt
- RTK技术原理及其在地勘放样测量中的应用研讨.doc
- S121医用X射线诊断设备(第三类)注册技术审查指导原则(2016修订版)研讨.docx
- S1质量管理概论研讨.ppt
- SANGFOR_SSL_v6.8_2015度渠道高级认证培训_常见问题排错指导研讨.ppt
- SBS改性沥青卷材屋面防水施工方案研讨.doc
- SATWE计算结果分析和调整方法研讨.doc
- SANGFOR_SSL_v6.8_2015度渠道初级认证培训01_基本功能介绍研讨.ppt
- SBS改性沥青卷材防水施工工艺研讨.doc
- sc330道岔主要病害研讨.ppt
- SCIENCECITATIONINDEXEXPANDEDJOURNALLIST,科学引文索引期刊列表13000研讨.docx
文档评论(0)