• 密钥位数:
  • 密钥格式:
公钥
私钥
  • 字符编码:

说明

RSA:Rivest-Shamir-Adleman 是一种非对称加密算法,由 Ron Rivest、Adi Shamir 和 Leonard Adleman 于 1977 年提出。

它是公钥加密的基础,并被广泛应用于安全通信、数字签名和数据加密等领域。 RSA 算法基于数论中的大数分解问题。它使用两个不同的密钥:一个是公钥,用于加密数据,另一个是私钥,用于解密数据。 公钥可以自由地发布给任何人,而私钥必须保密。这种设计使得任何人都可以使用公钥进行加密,但只有私钥的持有者才能解密。 私钥用于解密数据或生成数字签名,而公钥用于加密数据或验证数字签名。

RSA 算法的核心原理是利用两个大素数的乘积作为公钥的一部分,并通过求解大素数的因子来实现加密与解密。具体流程如下:
  • 选择两个不同的大素数 p 和 q。
  • 计算 N = p * q,N 被用作模数。
  • 计算欧拉函数 φ(N) = (p - 1) * (q - 1)。
  • 选择一个与 φ(N) 互质的整数 e 作为公钥指数,1 < e < φ(N)。
  • 计算 d,满足 (e * d) mod φ(N) ≡ 1,d 作为私钥指数。
  • 公钥为 (N, e),私钥为 (N, d)。
  • 加密时,将明文 m 通过公式 c = m^e mod N 进行加密。
  • 解密时,将密文 c 通过公式 m = c^d mod N 进行解密。
RSA 算法的安全性基于大数分解问题的困难性,即在没有已知因子的情况下,从大数 N 中恢复出 p 和 q 的难度。 目前没有已知的高效算法可以在合理的时间内破解 RSA 加密。

需要注意的是,由于 RSA 算法的密钥长度较长,加密和解密操作相对较慢。因此,在实际应用中,通常会使用 RSA 算法与对称加密算法结合,通过 RSA 算法来加密对称加密算法使用的密钥,以提高效率和安全性。