RSA和DES加密解密实验

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一加密解密实验

四、开发步骤:

1、安装JDK,配置JAVA环境变量。

2、解压eclipse。

3、在eclipse中新建项目

4、编写使用DES算法生成秘钥的程序。

1.初始化密钥,并对密钥进行Base64位编码

5、使用生成的秘钥对“电子商务安全技术”进行加密。

加密,使用生成的密钥和明文作为参数进行传递,并使用密钥对明文加密

以下是对明文进行初始化,在第4点中已对密钥初始化

已下是加密算法

6、用第4步骤中生成的秘钥对第5部中生成的加密后的内容进行解密。

inputData为第五步中出现的加密过后的明文,由于DES 为对称加密,所以解密密钥key和加密密钥key使用的是同一把密钥

以下是解密算法:

以下是DES加密与解密算法的结果

7、使用AES算法重复4-6步骤。

8、使用RSA算法生成公钥和私钥。

对密钥进行初始化

取得公钥

取得私钥

对密钥进行编码并输出到控制台

获取明文,并对明文进行编码

9、用公钥对“电子商务安全技术RSA”进行加密。

以下是加密算法

10、用私钥对第九步中加密的信息进行解密。

私钥解密:

以下是解密算法

11、用生成的私钥对“电子商务安全技术RSA”进行加密。

12、用公钥对11步中的信息进行解密。

私钥加密算法

公钥解密算法:

以下是其中一次进行加密与解密的情况

13、请把你的公钥发送给你旁边的同学,让该同学用公钥进行加密,

然后再把加密后的信息发送给你,你再用你的私钥对信息进行解密。

使用其中的一对公钥和私钥,并对公钥加密的数据进行私钥解密,对私钥加密的数据进行公钥解密

以下是固定公钥和私钥,公钥加密的密文,私钥加密的密钥

以公钥解密为例

对私钥加密的密文进行解码,同时也对传输过来的公钥进行同样的解码

byte[] encodedData1 = Base64.decodeBase64(PriMi);

publicKey = Base64.decodeBase64(pubKey);

使用解码的密文和公钥对数据进行解密

byte[] pri_pub_Data = Demo.decryptByPublicKey(encodedData1, publicKey);

以下附上完整代码:

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 org.bouncycastle.jce.provider.BouncyCastleProvider;

public class DESDemo {

//加密算法

RSADemo.java

相关文档
最新文档