非对称加密RSA算法原理和DH密钥交换的简单理解

RSA非对称加密
1)独立的选取两大素数P和Q,计算两者之积N=PXQ
计算φ(N)= (P-1)X(Q-1)
2)选一整数e(1≤e≤φ(N),φ(N)与e互素)使得
de≡1 mod(φ(N))
3)取公钥为(N,e),私钥为(N,d)
加密的过程:
CipherText = M**emod N
plainText = C**emod N
比如取两个素数47和59,两者之积N=2773
φ(N)= 2668
选一整数e=63,对应的d为847
取消息M=244我们看看
c=M**d%n = 244**847%2773 =465
m=c**e%n=465**63%2773 = 244
我们通常称呼多少位数的RSA,通常是指RSA的位数


DH密钥交换:
1)B方产生一个整数P,G,P为素数,G为2或者5,取Xb<P
计算出Yb=G**Xb mod P
2)将P,G和Yb送给另外一方A,A选取Xa<p
计算出Ya=G**Xa mod P,并将Ya返还给A方
3)双方分别计算
K= ((Ya)**Xb) mod P=((Yb)**Xa) mod p 则K为共享密钥
由Xa,Xb计算出Ya,Yb容易,但反过来由Ya,Yb计算出Xa,Xb很难
安全性基于求有限域上求离散对数的难度


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值