文章图片
RSA加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)共同提出的一种加密算法 , RSA就是他们三人姓氏开头字母拼在一起组成的 。
RSA算法是一种非对称加密算法 , 这一算法主要依靠分解大素数的复杂性来实现其安全性 , 由于大素数之积难被分解 , 因此该密码就难被破解 。
几十年来 , RSA算法经历了各种攻击的挑战 , 根据相关显示 , 目前被破解的最长RSA密钥是768个二进制位 。 也就是说 , 长度超过768位的密钥 , 还未被破解 , 至少目前尚未有人公开宣布 。
RSA基于一个十分简单的数论事实:将两个大素数相乘十分容易 , 但想要对其乘积进行因式分解却极其困难 , 因此可以将乘积公开作为加密密钥 , 即公钥 , 而两个大素数组合成私钥 。 公钥是可发布的供任何人使用 , 私钥则为自己所有 , 供解密之用 。
【华为|什么是RSA加密算法?】RSA原理
RSA公私钥生成流程
- 随机找两个质数P和Q , P与Q越大 , 越安全 。 (例如:61和53)
- 计算p和q的乘积n 。 (n=61×53=3233 , n的长度就是密钥长度 。 3233写成二进制是110010100001 , 一共有12位 , 所以这个密钥就是12位 。 )
- 计算 n 的欧拉函数φ(n) 。 (根据公式φ(n)=(p-1)(q-1)算出φ(3233)等于60×52 , 即3120)
- 随机选择一个整数e , 条件是1<e<φ(n) , 且e与φ(n) 互质 。 (条件是1<e<φ(n) , 且e与φ(n) 互质 。 1到3120之间 , 随机选择了17 。 )
- 有一个整数d , 可以使得ed 除以φ(n) 的余数为 1 。 (ed ≡ 1 (mod φ(n)) , 即17*2753 mode 3120=1)
- 将n和e封装成公钥 , n和d封装成私钥 。 (n=3233 , e=17 , d=2753 , 所以公钥就是:323317 , 私钥就是:3233 2753 。 )
首先对明文进行比特串分组 , 使得每个分组对应的十进制数小于n , 然后依次对每个分组m做一次加密 , 所有分组的密文构成的序列就是原始消息的加密结果 , 即m满足0<=m<n , 则加密算法为:c=m^e mod n; c为密文 , 且0<=c<n 。
RSA加密
对于密文0<=c<n , 解密算法为:m=c^d mod n 。
RSA解密
优点:RSA算法是国际标准算法 , 属于主流算法之一 , 应用广泛 , 兼容性比较广 , 能够适用于各种不同的系统之中 , 不容易出现限制问题 。
RSA加密算法的优缺点
缺点:RSA算法加密长度为2048位 , 对于服务器的消耗是比较大的 , 计算速度也比较慢 , 效率偏低 , 一般只适用于处理小量数据 。
尽管RSA加密算法运行消耗大 , 效率低 , 但是由于其优秀兼容性和安全性 , 它依旧是使用最广泛的非对称加密算法 。
- Windows|马云也不明白,为什么人们线下喜欢用微信支付?网友们说出实情
- 华为|华为采用的增程式混合动力是否真的很垃圾落后的技术?
- 华为鸿蒙系统|iPhone14Pro渲染图曝光:是你一直期待的iPhone
- 三星|为什么感觉现在越来越少的人买华为产品?
- 自媒体|为什么很多人都知道打工不挣钱却还在打工?
- iPhone|为什么越来越多的年轻人选择买二手而不是买新机?听行人怎么说
- CPU|所谓的低U高显,就是扯蛋罢了!
- 华为鸿蒙系统|华为鸿蒙系统露馅了?
- 本文转自:新华体育记者近日从北京理工大学重庆创新中心获悉|问记者丨“中国复眼”和“中国天眼”有什么不同?
- 华为鸿蒙系统|从6799元跌至1918元,256GB+鸿蒙系统+IP68,华为旗舰售价亲民