您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页RSA实验指导书

RSA实验指导书

来源:华佗小知识
实验3:RSA加密算法实现

一、实验目的

1、理解RSA加密算法; 2、设计RSA加密算法程序。 二、实验内容

编程实现RSA加/解密算法。 三、实验原理及步骤

1.RSA加/解密算法 (1)密钥的产生

①选两个保密的大素数p和q;

②计算npq,np1q1,其中n是n的欧拉函数值; ③选一个整数e,满足1e(n),且((n),e)1;

④计算d,满足de1mod(n),即d是e在模(n)下的乘法逆元,因e与(n)互素,由模运算可知,它的乘法逆元一定存在; ⑤以e,n为公开钥,d,n为秘密钥。 (2)加密

加密时首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于log2n。然后对每个明文分组m,作加密运算:

cmemodn

(3)解密

对密文分组的解密运算为: mcmodn 2、素性检验算法:

对于奇整数n,且n12st,a,n互素,如果atmodn1或r,1rs1使a2tmodn1,则n是以a为基的强拟素数。如n是奇合数,则n对于基a(1an1)是强拟素数的可能性1至多是。

4rd

3、快速指数算法:

求a可如下进行,其中a,m是正整数: 将m表示为二进制形式bkbk1b0,即

m

mbk2kbk12k1b12b0

因此

am((((ak)2ak1)2a1)2a0 四、测试用例

例 选p=7,q=17。求npq119,j(n)=(p-1)(q-1)=96。取e=5,满足11.用RSA如何实现数字签名?

2.本算法中明文为数字,如何用RSA实现对字符串的加、解密? 六、实验要求及说明

1、 一人一组,完成程序设计及调试; 2、 实验报告须附录测试用例源代码。

bbbb

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务