密码学实验(rsa完整算法)

密码学实验(rsa完整算法)

ID:7287830

大小:119.62 KB

页数:6页

时间:2018-02-10

密码学实验(rsa完整算法)_第1页
密码学实验(rsa完整算法)_第2页
密码学实验(rsa完整算法)_第3页
密码学实验(rsa完整算法)_第4页
密码学实验(rsa完整算法)_第5页
密码学实验(rsa完整算法)_第6页
资源描述:

《密码学实验(rsa完整算法)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、密码学实验——RSA算法实现姓名:班级:学号:教师:助教:一.程序功能函数定义①publicstaticStringtoHexString(byte[]b)——格式转换函数②publicKeyPairgenerateKey()throwsNoSuchAlgorithmException——密钥对生成函数③protectedbyte[]PKCS1Ecryption(RSAPublicKeypublicKey,StringData)——PKCS1机制下RSA加密函数④protectedbyte[]PKCS1DeEcryption(RSAPr

2、ivateKeyprivateKey,byte[]raw)——PKCS1机制下RSA解密密函数⑤protectedbyte[]OAEPEcryption(RSAPublicKeypublicKey,StringData)——OAEP机制下RSA加密函数⑥protectedbyte[]OAEPDeEcryption(RSAPrivateKeyprivateKey,byte[]raw)——OAEP机制下RSA解密密函数⑦publicstaticvoidmain(String[]args)——主函数(Main)一.程序功能函数说明(含返回、参

3、数)《1》publicKeyPairgenerateKey()throwsNoSuchAlgorithmExceptionA.入口参数:无B.返回类型:KeyPair类(JAVA库类)——密钥对C.函数功能:利用系统随机源(且这里指定密钥长度为512bit)与指定的算法类(RSA)构造一对密钥对《2》protectedbyte[]PKCS1Ecryption(RSAPublicKeypublicKey,StringData)A.入口参数:RSA公钥类publickey和字符串类dataB.返回类型:字节数组类——密文形式C.函数功能:能

4、将原明文首先转化成字节数组形式,并且利用加密库Cipher与Security指定PKCS1机制下的RSA加密算法对明文加密并且以字节数组的形式返回加密后得到的密文《3》protectedbyte[]OAEPEcryption(RSAPublicKeypublicKey,StringData)A.入口参数:RSA公钥类publickey和字符串类dataB.返回类型:字节数组类——密文形式C.函数功能:能将原明文首先转化成字节数组形式,并且利用加密库Cipher与Security指定OAEP机制下的RSA加密算法对明文加密并且以字节数组的

5、形式返回加密后得到的密文《1》protectedbyte[]PKCS1DeEcryption(RSAPrivateKeyprivateKey,byte[]raw)A.入口参数:RSA私钥类privatekey和字节数组类rawB.返回类型:字节数组类——明文形式C.函数功能:利用加密库Cipher与Security指定PKCS1机制下的RSA解密算法对密文解密并且以字节数组的形式返回解密后得到的明文《2》protectedbyte[]OAEPDeEcryption(RSAPrivateKeyprivateKey,byte[]raw)A.

6、入口参数:RSA私钥类privatekey和字节数组类rawB.返回类型:字节数组类——明文形式C.函数功能:利用加密库Cipher与Security指定OAEP机制下的RSA解密算法对密文解密并且以字节数组的形式返回解密后得到的明文《3》publicstaticStringtoHexString(byte[]b)A.入口参数:字节数组B.返回类型:字符串C.函数功能:将任意的字节数组转换成ASCII码形式的(十六进制)字符串,便于在屏幕上显示和方便阅读《4》publicstaticvoidmain(String[]args)A.入口参

7、数:字符串(主函数只可一次调用)A.返回类型:无B.函数功能:提供用户手动输入,由用户指定需要加密的明文和加密的机制(3项选择),生成密钥对并对明文加密再对密文解密,最后全部显示出来供用户审阅一.编程关键与疑难解决本次编程实验重在掌握加密库的使用,这里JAVA(JDK1.7)提供了两大库——Cipher与Security,正确利用它们进行RSA加密是本实验的关键所在老实说,由于这两大库内容很多比较复杂,自己慢慢研究是很费时间的,于是我在网上查找文档和资料,需求论坛高手解答,最终确定主要用到以下库类:java.security.KeyPa

8、ir;java.security.KeyPairGenerator;java.security.NoSuchAlgorithmException;java.security.SecureRandom;jav

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

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

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