RSA非对称加密

简介: 非对称加密,即加密秘钥与解密秘钥不一样的加密算法。一般用公钥加密,私钥解密。基本思想 RSA是一种非对称加密算法,名字是三位发明人的名字首字母,没什么其他含义。 RSA的基本思想是大素数的乘积很难被因式分解,它涉及三个参数,n,e1,e2。 其中,n是两个大质数p、q的积,n的二进制表示的位数,就是密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-
非对称加密,即加密秘钥与解密秘钥不一样的加密算法。一般用公钥加密,私钥解密。

基本思想

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库函数实现:


目录
相关文章
|
2月前
|
算法 安全 Java
Java 实现 RSA 非对称加密算法-加解密和签名验签
Java 实现 RSA 非对称加密算法-加解密和签名验签
|
2月前
|
机器学习/深度学习 算法 安全
【加密算法】RSA非对称加密算法简介
【加密算法】RSA非对称加密算法简介
|
3月前
|
前端开发 JavaScript Java
RSA加密---前端---后端解密
RSA加密---前端加---后端解密
112 0
|
4月前
|
JavaScript 前端开发 测试技术
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
133 0
|
3月前
|
存储 安全 Go
加密必备技能:深入理解RSA与AES
加密必备技能:深入理解RSA与AES
73 0
|
3月前
|
算法 Java 数据安全/隐私保护
如何使用 RSA 加密 JWT
如何使用 RSA 加密 JWT
26 0
|
4月前
|
XML 算法 安全
C# | 上位机开发新手指南(九)加密算法——RSA
RSA的特性 非对称性 RSA算法使用公钥和私钥两个不同的密钥,公钥用于加密数据,私钥用于解密数据。公钥可以公开,任何人都可以使用,而私钥只有密钥持有人可以访问。 安全性 RSA算法基于大数分解难题,即将一个大的合数分解成其质数因子的乘积。由于目前没有有效的算法可以在合理的时间内对大质数进行分解,因此RSA算法被认为是一种安全的加密算法。 可逆性 RSA算法既可以用于加密,也可以用于解密。加密和解密都是可逆的过程,只要使用正确的密钥,就可以还原原始数据。 签名 RSA算法可以用于数字签名,用于验证数据的完整性和真实性。签名过程是将数据使用私钥进行加密,验证过程是将签名使用公钥进行解密。
101 0
C# | 上位机开发新手指南(九)加密算法——RSA
|
4月前
|
算法 Java 数据安全/隐私保护
RSA - 非对称加密算法简要介绍与JAVA实现
RSA - 非对称加密算法简要介绍与JAVA实现
24 0
|
4月前
|
算法 安全 Java
详解RSA加密算法 | Java模拟实现RSA算法
详解RSA加密算法 | Java模拟实现RSA算法
103 1
|
6月前
|
JavaScript 算法 数据安全/隐私保护
JS逆向 -- 某平台登录算法分析(RSA加密)
JS逆向 -- 某平台登录算法分析(RSA加密)
69 0