• Key Size:
  • Format:
Public Key
Private Key
  • Character Set:

Description

RSA: Rivest-Shamir-Adleman is an asymmetric encryption algorithm proposed by Ron Rivest, Adi Shamir, and Leonard Adleman in 1977.

It serves as the foundation for public-key encryption and is widely used in fields such as secure communication, digital signatures, and data encryption. The RSA algorithm is based on the problem of integer factorization in number theory. It utilizes two distinct keys: a public key for encrypting data and a private key for decrypting data. The public key can be freely distributed to anyone, while the private key must be kept confidential. This design allows anyone to encrypt using the public key, but only the holder of the private key can decrypt. The private key is used for decrypting data or generating digital signatures, while the public key is used for encrypting data or verifying digital signatures.

The core principle of the RSA algorithm involves using the product of two large prime numbers as part of the public key and achieving encryption and decryption by factoring large prime numbers. The specific process is as follows:
  • Select two distinct large prime numbers, p and q.
  • Calculate N = p * q, where N is used as the modulus.
  • Calculate the Euler's totient function φ(N) = (p - 1) * (q - 1).
  • Choose an integer e coprime to φ(N) as the public key exponent, where 1 < e < φ(N).
  • Calculate d such that (e * d) mod φ(N) ≡ 1, which serves as the private key exponent.
  • The public key is represented as (N, e), and the private key is represented as (N, d).
  • For encryption, the plaintext m is encrypted using the formula c = m^e mod N.
  • For decryption, the ciphertext c is decrypted using the formula m = c^d mod N.
The security of the RSA algorithm relies on the difficulty of the integer factorization problem, specifically the challenge of recovering p and q from the large number N without known factors. Currently, there are no efficient algorithms known to decrypt RSA encryption within a reasonable timeframe.

It is important to note that due to the longer key lengths of the RSA algorithm, encryption and decryption operations are relatively slow. Therefore, in practical applications, RSA is often combined with symmetric encryption algorithms by using RSA to encrypt the keys used by symmetric encryption algorithms to enhance efficiency and security.