RSA算法实验报告.doc

RSA算法实验报告.doc

ID:56825975

大小:43.50 KB

页数:5页

时间:2020-07-15

RSA算法实验报告.doc_第1页
RSA算法实验报告.doc_第2页
RSA算法实验报告.doc_第3页
RSA算法实验报告.doc_第4页
RSA算法实验报告.doc_第5页
资源描述:

《RSA算法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二非对称密码算法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=1modz提前计算出这些参数以后,我们

2、就可以开始执行加密了。首先将明文分成块,使得每个明文消息P落在间隔0*P

3、对密文进行解密。由题意知:n=p*q=33,z=(p-1)*(q-1)=20,选d=7,计算得e=3,所以C=M^e(modn)=8M=C^d(modn)=22、RSA算法与DES算法的比较:运行附件的RSATool,输入一大段文字,记录运行时间。再使用DES算法加密相同的文字,记录运行时间,对比这两个时间发现,RSA算法比DES算法慢DES慢很多。很多,因为RSA算法进行的是大数运算,所以程序运行的速度比因此RSA算法只适合于少量数据加密,不适合于大量数据加密。3、算法设计主要的方法:(1)、publicst

4、aticvoidGetPrime()方法名称:产生大数的方法。说明:利用Java语言的中的java.math.BigInteger类的方法中随机产生大数。(2)、publicstaticbooleanMillerRobin(BigIntegernum)1 方法名称:判断是否是素数的方法。参数说明:num是由GetPrime方法产生的大数。说明:这个方法判断GetPrime方法传过来的是否是一个素数,是就返回否就返回false。true,(3)、publicstaticBigIntegerpowmod(BigIn

5、tegera,BigIntegert,BigIntegernum)方法名称:大数的幂运算方法。说明:这个方法对传入的大数进行幂运算。(4)、publicstaticBigIntegerinvmod(BigIntegera,BigIntegerb)方法名称:大数的取模运算方法。说明:这个方法对大数进行取模运算。(5)、publicstaticStringEncode(StringinStr,BigIntegerPrimeP,BigIntegerPrimeQ,BigIntegern,intnLen,intm,JTe

6、xtFieldd)方法名称:加密算法。参数说明:inStr是从界面输入的明文。PrimeP和PrimeQ是由GetPrime方法产生的两个大素数。n是由PrimeP和PrimeQ得到的值。nLen为n的长度。d为公钥。(6)、publicstaticStringDecode(StringinStr,BigIntegerPrimeP,BigIntegerPrimeQ,BigIntegern,intnLen,intm,JTextFielde)方法名称:解密算法。参数说明:inStr是从界面输入的明文。PrimeP和

7、PrimeQ是由GetPrime方法产生的两个大素数。n是由PrimeP和PrimeQ得到的值。nLen为n的长度。e为私钥。4、源程序:(RSA1.java文件)importjavax.swing.*;importjava.awt.event.*;importjava.math.*;importjava.util.*;importjava.awt.*;importjava.io.*;publicclassRSA1{publicstaticvoidmain(String[]args){2 MyFramefram

8、e=newMyFrame();MyPanel_fbuttonpanel_fbutton=newMyPanel_fbutton(frame,frame.P,frame.Q,frame.d,frame.e);FlowLayoutfl=newFlowLayout(FlowLayout.CENTER,0,0);frame.setLayout(fl);frame.add(panel_fbutto

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。