Security of RSA algorithm

In RSA cryptography applications, the public key KU is disclosed, that is, the values ​​of e and n can be obtained by a third party. The problem of cracking the RSA password is to find a way to find the value of d from the known values ​​of e and n (n is equal to pq), so that the private key can be obtained to crack the ciphertext.
From the principle of RSA, we know that (d e) mod ((p-1) (q-1)) = 1, we can deduce d ≡e-1 (mod((p-1)(q-1))) Or de≡1 (mod((p-1)(q-1))) From this we can see. The essential problem of password cracking is to find (p-1) and (q-1) from the values ​​of p and q. In other words, we only need to find the value of p and q, we can find the value of d and get the private key.
When p and q are a large prime number, decomposing the factors p and q from their product p q is a recognized mathematical problem. For example, when p q is as large as 1024 bits, no one has been able to use any calculation tool to complete the task of factoring. Therefore, it has been nearly 20 years since RSA was proposed. It has undergone various tests of ***, and is gradually accepted by people. It is generally considered to be one of the best public key solutions at present.
But in addition to the above advantages, RSA also has disadvantages. The disadvantages of RSA are as follows:
1) Although the security of RSA relies on the factorization of large numbers, it does not theoretically prove the difficulty of deciphering RSA and the difficulty of decomposition of large numbers. price.
2) It is very troublesome to generate keys and is limited by prime number generation technology, so it is difficult to achieve one key at a time.
3) The packet length is too large. In order to ensure security, n must be at least 600 bits or more, which makes the calculation cost very high, especially the slower speed, which is several orders of magnitude slower than the symmetric encryption algorithm; and with the development of large number decomposition technology , This length is still increasing, which is not conducive to the standardization of the data format. Therefore, the use of RSA can only encrypt a small amount of data, and a large amount of data encryption must rely on a symmetric cryptographic algorithm.
4) For encryption algorithms of the same security level, RSA requires longer keys. This makes calculations slower, several orders of magnitude slower than symmetric cryptographic algorithms. And with the development of large number decomposition technology, this length is still increasing, which is not conducive to the standardization of data formats.
Therefore, the use of RSA can only encrypt a small amount of data, and the encryption of a large amount of data depends on symmetric cryptographic algorithms. In practical applications, it is generally used to encrypt the key of a symmetric algorithm, and the ciphertext is mostly encrypted and transmitted with a symmetric encryption algorithm.

Guess you like

Origin blog.51cto.com/13520299/2571925