密钥加解密实验 java,实验一 RSA加解密

实验一密码学相关实验之RSA加解密算法的实现一、实验目的

在本实验中,用VC/ C/C++/Java实现RSA的加解密算法。完成实验后将能够深入理解RSA 加解密算法及其在VC/ C/C++/Java中的实现过程。

二、实验条件

熟悉VC/ C/C++/Java开发环境和有关RSA算法的有关知识;一台安装有VC/ C/C++/Java的计算机。

三、实验内容

RSA算法实验

1、生成密钥参数

①选取两互异大素数:p和q

②计算 N=p×q 和φ(N)=(p-1) ·(q-1)

③选一整数 e:满足1< e

④在模φ(N)下,计算e的乘法逆元d:

e · d = 1 mod φ(N)

⑤E、公钥pk=(N, e),私钥sk=d (p, q不再需要,可以销毁)

2、加密算法

给定一个整数 M < N,计算

C = M e mod N

3、解密算法

M = C d mod N

四、实验要求提示

1. 从键盘输入两个素数 p,q,并输出参数 N, φ(N), e, d

2.从键盘输入明文数据 m,计算出密文数据 c

3. 从键盘输入密文数据 c,计算出明文数据 m.

4.如何判断一个数是素数

5.如何判断两个数互素

6.乘法逆元怎么实现

7.当p=7,q=17,e=5,d=77 ,加密m=19. 实验得出结果。

8.如果加密的消息为char类型,如何实现加解密?(不强制要求做,但能实现的同学有加分!!)

9.认真填写实验报告,电子版,下次课上交。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值