RSA (cryptosystem) - tenji/ks GitHub Wiki

RSA 加密算法

RSA (Rivest–Shamir–Adleman) 是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。RSA是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的。RSA 就是他们三人姓氏开头字母拼在一起组成的。

一、数论基础

RSA 算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA 的安全性依赖于对两个大素数的乘积进行因式分解的实际困难,即“因式分解问题”。破解 RSA 加密称为 RSA 问题。它是否像因式分解问题一样困难是一个悬而未决的问题。如果使用足够大的密钥,目前还没有公开的方法可以破解该系统。

二、公钥与私钥的产生

三、加密消息

四、解密消息

五、签名消息

六、Java 代码实现

Android 中

参考链接