RSA密码算法和数字签名技术

本文详细介绍了RSA算法的密钥生成过程,包括选择大素数、计算欧拉函数、选择私钥等步骤,随后阐述了加密和解密原理,并通过实例演示了如何应用该算法。此外,还涉及数字签名技术及其生成验证过程,以及中国剩余定理在RSA中的应用。

目录

密钥生成过程

加密和解密

        举例

        数字签名技术

举例

中国剩余定理


密钥生成过程

1.选取两个不同的大素数p和q,为了安全程度最大,p和q长度一致,计算模n=pq;

2.计算模n的欧拉函数:φ(n)=(p-1)(q-1);(至于为什么欧拉函数是这样,请移步浅谈欧拉函数

3.随机选择一个整数 e, 1< e < φ(n),且 e 与 φ(n) 互质

4.计算私钥d,满足d*e≡1(modφ(n))

加密和解密

加密(计算密文C)

C=M^e mod n

解密(计算明文M)

M=C^d mod n

举例

题目:已知p=7,q=11,e=17,M=8,应用RSA算法对明文M进行加密得到密文C,并对密文C解密。

解:

1.计算模,n=pq=77;

2.计算模n的欧拉函数,φ(n)=(p-1)(q-1)=6*10=60;

3.计算私钥d,e*d≡1(modφ(n));d=53;

4.计算密文C,C=M^e modn=8^17mod77=57mod77,得C=57(第四步和第五步计算要用到中国剩余定理)

 5.计算明文MM=C^modn=57^53mod77=8mod77,得M=8

顺带提一下数字签名技术

生成过程同上文密钥生成过程

数字签名过程

[H(m)]^d modn=S

数字签名验证

S^e modn=H(m)

举例

已知p=13q=11e=13,则有n=pq=143φ(n)=(p-1)(q-1)= 120。求解e*d=13d=1(mod120)d=37即公钥为(n=143, e=13),私钥为d=37

签名过程:假定消息m的哈希值h(m)=16计算m的签名

s = h(m)^d  mod n=16^37 mod 143 = 3

验证过程:收到签名s后,计算

s^e mod n=3^13 mod 143=16, h(m) mod n=16 mod 143 =16

等式h(m) mod n= se mod n成立,因此,此签名有效。 

中国剩余定理

最后再扯一下中国剩余定理

话说“韩信用兵,多多益善。此是化工造物之妙。” 停停停,我怎么可能从这里开始讲起。

想看韩信点兵(证明过程)的去这里看→中国剩余定理(CRT )

已知a * b mod n = ( a mod n ) * ( b mod n ) mod n

所以a^b mod n = (a mod n)^b mod n

举两个例子直观一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值