1 2 Fork me on GitHub 6

RSA基础原理

 

RSA简介

RSA是一种非对称加密算法,非对称加密算法是指加密与解密所用的密钥不一致的加密方式

RSA的安全性是基于难以对极大整数因式分解的困难

其完整使用过程:

乙方生成一对密钥(公钥和私钥),公钥是直接公开的任何人都可以得到,而私钥则是保存在乙方的手中

甲方使用公钥对明文(m)加密生成密文(c)发送给乙方

乙方则使用私钥对密文(c)解密生成明文(m)

密钥生成过程

1.随机找两个质数p和q

2.计算出p和q的乘积n,p和q越大就难以被破解(因为需要对大整数n进行因数分解)

3. 计算 n 的欧拉函数 φ(n):φ(n) = φ(p * q)= φ(p - 1)φ(q - 1) = (p - 1)(q - 1)

4.选取一个与φ(n) 互质的整数e,1<e<φ(n)

5.计算e对于 φ(n) 的模反元素d,可以使得 ed 除以 φ(n) 的余数为 1

  1<d<e,且ed mod φ(n) = 1 ) 即:d=e^-1 ( mod φ(n) 

6.公钥(n,e);私钥(n,d)

加解密过程

加密:c = m^e mod N
解密:m = c^d mod N

posted @   苑晴  阅读(132)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示