RSA非对称加密

非对称加密,即加密秘钥与解密秘钥不一样的加密算法。一般用公钥加密,私钥解密。

基本思想

RSA是一种非对称加密算法,名字是三位发明人的名字首字母,没什么其他含义。

RSA的基本思想是大素数的乘积很难被因式分解,它涉及三个参数,n,e1,e2。

其中,n是两个大质数p、q的积,n的二进制表示的位数,就是密钥长度。
e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e1*e2)mod ((p-1)*(q-1))=1。
这样就得到了公钥pk: (n,e1);私钥sk: (n,e2)

加密

设A为明文(plaintext),B为密文(ciphertext),则B=A^e1 mod n.

解密

A=B^e2 mod n.


java库函数实现:


你可能感兴趣的:(RSA非对称加密)