Systems and methods for faster public key encryption using the associated private key portion
Systems and methods for faster public key encryption using the associated private key portion are described, including encrypting a plaintext into a ciphertext, where the encrypting uses a public key and a corresponding private key; and storing the ciphertext.
1. A computer-implemented method, comprising:
receiving a plaintext for encryption into a ciphertext;
encrypting the plaintext into a ciphertext, where the encrypting uses both a public key and a corresponding private key, the public key and the corresponding private key generated as a public/private key pair; and
storing the ciphertext;
wherein the public key comprises a composite number n, and the private key is generated using prime numbers p and q, and n=p*q;
wherein the encrypting the plaintext into the ciphertext comprises:
determining s 1 and s 2 , where said s 1 is a random number based on said p, and said s 2 is a random number based on said q; and
calculating a value r using said s 1 , said s 2 , and the Chinese Remainder Theorem, where rε *n 2 .
2. The method of claim 1 , wherein the encrypting that uses the corresponding private key comprising using g 1 and g 2 , where said g 1 is a generator of a cyclic group associated with said p, and said g 2 is a generator of a cyclic group associated with said q.
3. The method of claim 2 , wherein the encrypting that uses the corresponding private key further comprising using GN 1 and GN 2 , where said GN 1 is a constant based on said g 1 , and said GN 2 is a constant based on said g 2 .
4. A non-transitory computer readable medium having stored therein computer executable instructions for:
receiving a plaintext for encryption into a ciphertext;
encrypting the plaintext into a ciphertext, where the encrypting uses both a public key and a corresponding private key, the public key and the corresponding private key generated as a public/private key pair; and
storing the ciphertext;
wherein the public key comprises a composite number n, and the private key is generated using prime numbers p and q, and n=p*q;
wherein the encrypting the plaintext into the ciphertext comprises:
determining s 1 and s 2 , where said s 1 is a random number based on said p, and said s 2 is a random number based on said q; and
calculating a value r using said s 1 , said s 2 , and the Chinese Remainder Theorem, where rεZ*n 2 .
5. The computer readable medium of claim 4 , wherein the encrypting that uses the corresponding private key comprising using g 1 and g 2 , where said g 1 is a generator of a cyclic group associated with said p, and said g 2 is a generator of a cyclic group associated with said q.
6. The computer readable medium of claim 5 , wherein the encrypting that uses the corresponding private key further comprising using GN 1 and GN 2 , where said GN 1 is a constant based on said g 1 , and said GN 2 is a constant based on said g 2 .
7. At least one computing device comprising a memory and a computer processor configured to perform:
receiving a plaintext for encryption into a ciphertext;
encrypting the plaintext into a ciphertext, where the encrypting uses both a public key and a corresponding private key, the public key and the corresponding private key generated as a public/private key pair; and
storing the ciphertext in the memory;
wherein the public key comprises a composite number n, and the private key is generated using prime numbers p and q, and n=p*q;
wherein the encrypting the plaintext into the ciphertext comprises:
determining g 1 and g 2 , where said g 1 is a generator of a cyclic group associated with said p, and said g 2 is a generator of a cyclic group associated with said q; and
determining GN 1 and GN 2 , where said GN 1 is a constant based on said g 1 , and said GN 2 is a constant based on said g 2 .
8. The at least one computing device of claim 7 , wherein the encrypting the plaintext further comprising using s 1 and s 2 , where said s 1 is a random number based on said p, and said s 2 is a random number based on said q.
9. The at least one computing device of claim 8 , wherein the encrypting the plaintext further comprising calculating a value r using said s 1 , said s 2 , and the Chinese Remainder Theorem, where rε *n2.