A common RSA System uses two prime numbers to Generate Keys, and uses their product as the modulo. This article introduces a "Multi-Prime RSA System" described in PKCS #1 V2.1, which can use the product of more than two prime numbers as the modulo.The algorithm for generating RSA keys with multiple prime numbers is as follows: 1. Generate K prime numbers P1, P2 ,..., PK 2. Obtain the product N = Gini Pi, I = 1, 2,… of K prime numbers ,..., K 3. Evaluate the Euler's function value (n) = round (Pi-1) 4. Select the index e so that gcd (E, Phi (N) = 1 5. exponent d = E-1 mod PHI (N) 6. The output Public Key (E, n) and private key (d, n) Multiple prime numbers RSA encryption and decryption algorithms are the same as ordinary RSA: Encrypt c = me mod n Decrypt M = CD mod n. For example, in a three-Prime RSA System, if p1 = 3, P2 = 7, P3 = 13, then N = 3 × 7 × 13 = 273, Phi (n) = 2 × 6 × 12 = 144, select e = 5, release d = 29. The Public Key is (5,273), and the private key is (29,273 ). If the plaintext is set to M = 18, the encryption process is C = me mod n = 185 mod 273 = 135, The decryption process is M = CD mod n = 13529 mod 273 = 18 obviously, to achieve the same number of key digits (number of Modulo digits), the Multi-Prime RSA system requires a smaller prime number than the ordinary RSA System. Therefore, the RSA algorithm has two advantages: 1. Reduce the amount of computing to generate a key. 2. Apply Sun Tzu's theorem (Chinese Remainder Theorem) to reduce the amount of decryption and signature calculation. On the other hand, the smaller the child cause, the easier it is to break down large numbers. The data published by the RSA lab shows that the higher the prime number, the lower the RSA strength. The following table lists the computations required to break through the RSA System with up to 2 prime numbers (unit: MIPS · year ).
Key Length |
2Prime Number(Normal) |
3Prime Number |
4Prime Number |
5Prime Number |
512 bits |
2.1x106 |
Easy |
Easy |
Very easy |
768 bits |
4.0x1011 |
1.2x108 |
Easy |
Easy |
1024 bits |
1.4x1016 |
3.0x1011 |
2.1x108 |
Easy |
1536 bits |
8.2X1023 |
1.8x1017 |
1.9x1013 |
4.2x1010 |
2048 bits |
3.8X1030 |
1.5x1022 |
3.2x1017 |
2.3x1014 |
It can be seen that the multi-Prime RSA system has some practical value. In practical application, the general or multi-Prime RSA System should be used based on the actual situation.[Related resources]L RFC 3447-PKCS #1: RSA cryptography Specifications version 2.1l a cost-based security analysis of structured Ric and asypolicric key lengthsl bhw98 column: http://www.csdn.net/develop/author/netauthor/bhw98/ |