密码学实验(RSA完整算法).docx

上传人:飞****2 文档编号:66796023 上传时间:2022-12-21 格式:DOCX 页数:6 大小:111.05KB
返回 下载 相关 举报
密码学实验(RSA完整算法).docx_第1页
第1页 / 共6页
密码学实验(RSA完整算法).docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《密码学实验(RSA完整算法).docx》由会员分享,可在线阅读,更多相关《密码学实验(RSA完整算法).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、密码学实验RSA算法实现姓名: 班级:学号:教师: 助教: 一 程序功能函数定义 public static String toHexString(byte b)格式转换函数 public KeyPair generateKey() throws NoSuchAlgorithmException密钥对生成函数 protected byte PKCS1Ecryption(RSAPublicKey publicKey, String Data)PKCS1机制下RSA加密函数 protected byte PKCS1DeEcryption(RSAPrivateKey privateKey, byte

2、 raw)PKCS1机制下RSA解密密函数 protected byte OAEPEcryption(RSAPublicKey publicKey, String Data)OAEP机制下RSA加密函数 protected byte OAEPDeEcryption(RSAPrivateKey privateKey, byte raw)OAEP机制下RSA解密密函数 public static void main(String args)主函数(Main)二 程序功能函数说明(含返回、参数)1 public KeyPair generateKey() throws NoSuchAlgorithm

3、ExceptionA. 入口参数:无B. 返回类型:KeyPair类(JAVA库类)密钥对C. 函数功能:利用系统随机源(且这里指定密钥长度为512bit)与指定的算法类(RSA)构造一对密钥对2 protected byte PKCS1Ecryption(RSAPublicKey publicKey, String Data)A. 入口参数:RSA公钥类publickey和字符串类dataB. 返回类型:字节数组类密文形式C. 函数功能:能将原明文首先转化成字节数组形式,并且利用加密库Cipher与Security指定PKCS1机制下的RSA加密算法对明文加密并且以字节数组的形式返回加密后得

4、到的密文3 protected byte OAEPEcryption(RSAPublicKey publicKey, String Data)A. 入口参数:RSA公钥类publickey和字符串类dataB. 返回类型:字节数组类密文形式C. 函数功能:能将原明文首先转化成字节数组形式,并且利用加密库Cipher与Security指定OAEP机制下的RSA加密算法对明文加密并且以字节数组的形式返回加密后得到的密文4 protected byte PKCS1DeEcryption(RSAPrivateKey privateKey, byte raw)A. 入口参数:RSA私钥类privatek

5、ey和字节数组类rawB. 返回类型:字节数组类明文形式C. 函数功能:利用加密库Cipher与Security指定PKCS1机制下的RSA解密算法对密文解密并且以字节数组的形式返回解密后得到的明文5 protected byte OAEPDeEcryption(RSAPrivateKey privateKey, byte raw)A. 入口参数:RSA私钥类privatekey和字节数组类rawB. 返回类型:字节数组类明文形式C. 函数功能:利用加密库Cipher与Security指定OAEP机制下的RSA解密算法对密文解密并且以字节数组的形式返回解密后得到的明文6 public stat

6、ic String toHexString(byte b)A. 入口参数:字节数组B. 返回类型:字符串C. 函数功能:将任意的字节数组转换成ASCII码形式的(十六进制)字符串,便于在屏幕上显示和方便阅读7 public static void main(String args)A. 入口参数:字符串(主函数只可一次调用)B. 返回类型:无C. 函数功能:提供用户手动输入,由用户指定需要加密的明文和加密的机制(3项选择),生成密钥对并对明文加密再对密文解密,最后全部显示出来供用户审阅三 编程关键与疑难解决本次编程实验重在掌握加密库的使用,这里JAVA(JDK1.7)提供了两大库Cipher与

7、Security,正确利 用它们进行RSA加密是本实验的关键所在老实说,由于这两大库内容很多比较复杂,自己慢慢研究是很费时间的,于是我在网上查找文档和资料,需求论坛高手解答,最终确定主要用到以下库类:java.security.KeyPair; java.security.KeyPairGenerator; java.security.NoSuchAlgorithmException; java.security.SecureRandom; java.security.interfaces.RSAPrivateKey; java.security.interfaces.RSAPublicKey; java.util.Scanner;javax.crypto.Cipher; 确认了库类后,就可以根据eclipse提示正确找到JDK1.7提供的RSA加密函数了,接下来操作就是搞懂每个库函数的用法即可了! 四 程序运行结果截图(部分)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁