Asymmetric encryption algorithm

Asymmetric encryption is a great invention in the history of modern cryptography, which can solve the problem of distributing keys in advance in symmetric encryption.

As the name implies, in an asymmetric encryption algorithm, the encryption key and the decryption key are different, which are called the public key and the private key, respectively. The private key generally needs to be generated through a random number algorithm, and the public key can be generated based on the private key. The public key is generally public and can be obtained by others; the private key is
generally held by individuals and cannot be obtained by others.

The advantage of the asymmetric encryption algorithm is that the public and private keys are separated, and insecure channels can also be used. The disadvantage is that the processing speed (especially the key generation and decryption process) is often slow, generally 2 to 3 orders of magnitude slower than the symmetric encryption and decryption algorithm; at the same time, the encryption strength is often not as good as the symmetric encryption algorithm.

The security of asymmetric encryption algorithms often needs to be guaranteed based on mathematical problems. At present, it is mainly based on classical mathematical problems such as large number prime factorization, discrete logarithms, and elliptic curves.

Representative algorithms include: RSA, ElGamal, Elliptic Curve Crytosystems (ECC), SM2 and other series of algorithms.

RSA: The classic public key algorithm, jointly proposed by Ron Rivest, Adi Shamir, and Leonard Adleman in 1978, and the three won the Turing Award in 2002. The algorithm takes advantage of the difficulty of factoring large numbers into prime factors, but there is no mathematical proof that the two are equally difficult, and there may be unknown
algorithms that can decrypt without factoring large numbers;

Diffie-Hellman key exchange: based on discrete logarithms, it cannot be solved quickly, and both parties can negotiate a public key on an insecure channel;

·ElGamal: Designed by Taher ElGamal, it takes advantage of the difficulty of finding discrete logarithms under modular arithmetic. It is used in security tools such as PGP;

Elliptic Curve Cryptography (ECC): A family of algorithms that have received much attention in modern times, based on the intractable properties of special multiplication and inverse operations on specific points on an elliptic curve. It was first proposed independently by Neal Koblitz and Victor Miller in 1985. ECC series algorithms
are generally considered to have high security, but the encryption and decryption calculation process is often time-consuming;

·SM2 (ShangMi 2): National Commercial Cryptographic Algorithm, released by the State Cryptography Administration on December 17, 2010. It is also based on the elliptic curve algorithm, and its encryption strength is better than that of the RSA series of algorithms.

Asymmetric encryption algorithms are generally suitable for signature scenarios or key agreement, but are not suitable for encryption and decryption of large amounts of data.

It is generally believed that RSA algorithms may be cracked in the near future, and elliptic curve algorithms with higher security strength are generally recommended.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324642673&siteId=291194637