实验二 非对称密码算法RSA一、实验目的通过实际编程了解非对称密码算法RSA的加密和解密过程,加深对非对称密码算法的认识。二、实验环境运行Windows或Linux操作系统的PC机,具有JDK1.6版本的Java语言编译环境。三、实验内容和步骤1. 对RSA算法的理解RSA算法(公开密钥算法)的原理:(1) 选择两个大的素数p和q(典型情况下为1024位)(2) 计算n = p * q 和 z =(p-1)*(q-1).(3) 选择一个与z互素的数,将它称为d(4) 找到e,使其满足e*d = 1 mod z提前计算出这些参数以后,我们就可以开始执行加密了。首先将明文分成块,使得每个明文消息P落在间隔0*Pn中。为了做到这一点,只要将明文划分成k位的块即可,这里k是满足2kn的最大整数。为了加密一个消息P,只要计算C=Pe(mod n) 即可。为了解密C,只要计算P=Cd(mod n)即可。可以证明,对于指定范围内的所有P,加密盒解密互为反函数。为了执行加密,你需要e和n;为了执行解密,你需要d和n。因此,公