1 / 11
文档名称:

RSA加密算法.doc

格式:doc   大小:174KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

RSA加密算法.doc

上传人:小辰GG1 2021/12/8 文件大小:174 KB

下载得到文件列表

RSA加密算法.doc

相关文档

文档介绍

文档介绍:RSA加密算法
RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。
RSA以它的三个发明者 Ron Rivest, Adi Shamir, Leonard Adleman 的名字首字 母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也 不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为 最流行的公开密钥算法。
100到200位十
RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(
进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个 大素数之积(这是公认的数学难题)。
RSA的公钥、私钥的组成,以及加密、解密的公式可见于下表:
公钥KU
n:两素数:p和q的乘积(P和q必须保密) e;与(p-1) (q-1)互质
私钥KR
d: e'1 (mod (p-1) tq- 1))
加密
C — mod n
解密
in — imod n
可能各位同事好久没有接触数学了, 看了这些公式不免一头雾水。别急,在没有 正式讲解RSA加密算法以前,让我们先复习一下数学上的几个基本概念, 它们在 后面的介绍中要用到:
一、 什么是“素数”?
素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任 何其它两个整数的乘积。例如,15= 3* 5,所以15不是素数;又如,12 = 6* 2 二4* 3,所以12也不是素数。另一方面,13除了等于13* 1以外,不能表示为 其它任何两个整数的乘积,所以13是一个素数。素数也称为“质数”。
二、 什么是“互质数”(或“互素数”)?
小学数学教材对互质数是这样定义的: “公约数只有1的两个数,叫做互质
数。”这里所说的“两个数”是指自然数。
判别方法主要有以下几种(不限于此):
两个质数一定是互质数。例如,2与7、13与19。
一个质数如果不能整除另一个合数,这两个数为互质数。例如, 3与10、5 与26。
1不是质数也不是合数,它和任何一个自然数在一起都是互质数。如 1和 9908。
相邻的两个自然数是互质数。如 15与16。
相邻的两个奇数是互质数。如 49与51 o
大数是质数的两个数是互质数。如 97与88o
小数是质数,大数不是小数的倍数的两个数是互质数。如
7和16。
两个数都是合数(二数差又较大),小数所有的质因数,都不是大数的约
数,这两个数是互质数。女口 357与715, 357=3X 7X 17,而3、7和17都不是715 的约数,这两个数为互质数。等等。
三、什么是模指数运算?
指数运算谁都懂,不必说了,先说说模运算。模运算是整数运算,有一个整 数m,以n为模做模运算,即m mod n。怎样做呢?让m去被n整除,只取所得 的余数作为结果,就叫做模运算。例如, 10 mod3=1; 26 mod 6=2; 28 mod2 =0
等等。
模指数运算就是先做指数运算,取其结果再做模运算。如
好,现在开始正式讲解RSA加密算法。
算法描述:
选择一对不同的、足够大的素数 p,q。
计算 n=pq。
计算f(n)=(p-1)(q-1),同时对p, q严加保密,不让任何人知道。
找一个与f(n)互质的数e,且1<e<f(n)。
计算d,使得de= 1 mod f(n)。这个公式也可以表达为 d =e -1 mod f(n) 这里要解释一下,三是数论中表示同余的符号。 公式中,三符号的左边必须和符 号右边同余,也就是两边模运算结果相同。显而易见,不管 f(n)取什么值,符 号右边1 modf(n)的结果都等于1;符号的左边d与e的乘积做模运算后的结果 也必须等于1。这就需要计算出d的值,让这个同余等式能够成立。
公钥 KU=(e,n),私钥 KR=(d,n)。
7)加密时,先将明文变换成0至n-1的一个整数M若明文较长,可先分割 成适当的组,然后再进行交换。设密文为 C,则加密过程为:匸二貯 ⑷兀 忙
(8)解密过程为:;取或 毗。
实例描述:
在这篇科普小文章里,不可能对RSA算法的正确性作严格的数学证明,但我 们可以通过一个简单的例子来理解 RSA勺工作原理。为了便于计算。在以下实例 中只选取小数值的素数p,q,以及e,假设用户A需要将明文“ key”通过RSA加 密后传递给用户B,过程如下:
设计公私密钥(e,n)和(d,n)。
令 p=3,q=11,得出 n=px q=3X 11=33; f(n)=(p-1)(q- 1)=2 x 10=20;取 e=3,
3 与 20 互质)则 ex d= 1 mod f(n),即 3X d= 1 mod 20。
d怎样