加密算法-RSA
来源:互联网 发布:淘宝的售后时间是多久 编辑:程序博客网 时间:2024/05/16 13:07
RSA概述
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。
1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。
RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
RSA的原理
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
RSA的算法涉及三个参数,n、e1、e2。
其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)(q-1))=1。
(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。
RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)
e1和e2可以互换使用,即:
A=B^e1 mod n;B=A^e2 mod n;
我的微信二维码如下,欢迎交流讨论
欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧
微信订阅号二维码如下:
0 0
- RSA 加密算法
- RSA加密算法
- rsa加密算法
- RSA加密算法
- Rsa加密算法
- RSA加密算法
- RSA加密算法
- RSA加密算法
- rsa加密算法
- 加密算法:RSA
- RSA加密算法
- RSA加密算法
- RSA加密算法
- RSA 加密算法
- RSA 加密算法
- RSA加密算法
- RSA加密算法
- RSA 加密算法
- 136. Single Number
- 两年数模路,一点小感触…
- Notes:关于String类和Object类的笔记
- 自己加内存条,系统不能正常启动
- 每天10个面试题(day03)
- 加密算法-RSA
- 字符流的两种读取方式
- Becky!客户端Hotmail/outlook邮箱设置方法
- 我读Faster R-CNN
- 要么读书,要么健身,要么恋爱(八)小王子
- NIVIDA提示你必须先安装intel@驱动程序
- M102: MongoDB for DBAs - Chapter 5: Replication Part 2
- linux shell 工具---sort
- android ListView/Recyclerview滚动时自动调用onCheckedChanged导致CheckBox状态混乱的解决办法