A computer-implemented method, comprising: encrypting a plaintext m into a ciphertext c, where the encrypting uses a public key and a corresponding private key; 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 times q, and wherein p and q are components of the private key; wherein the encrypting the plaintext m into the ciphertext c further comprises: using g1 and g2, where said g1 is a generator of a cyclic group associated with said p, and said g2 is a generator of a cyclic group associated with said q; using GN1 and GN2, where said GN1 is a constant based on said g1, and said GN2 is a constant based on said g2; determining s1 and s2, where said s1 is a random number based on said p, and said s2 is a random number based on said q; calculating a value H equivalent to (r n) mod n 2 using said s1, said s2, and the Chinese Remainder Theorem, CRT, on GN1 s1 mod p 2 and GN2 s2 mod q 2, where r ∈ Z ∗ n 2, wherein by using the CRT, (r n) mod n 2 is converted to n mod p 2 and n mod q 2, wherein r1 = s1 mod p 2 and r2 = s2 mod q 2, where r 1 ∈ Z ∗ p 2, and r 2 ∈ Z ∗ q 2, and determining c as DH mod n 2, wherein D is calculated as (1+nm) mod n 2. encrypting a plaintext m into a ciphertext c, where the encrypting uses a public key and a corresponding private key; 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 times q, and wherein p and q are components of the private key; wherein the encrypting the plaintext m into the ciphertext c further comprises: using g1 and g2, where said g1 is a generator of a cyclic group associated with said p, and said g2 is a generator of a cyclic group associated with said q; using GN1 and GN2, where said GN1 is a constant based on said g1, and said GN2 is a constant based on said g2; determining s1 and s2, where said s1 is a random number based on said p, and said s2 is a random number based on said q; calculating a value H equivalent to (r n) mod n 2 using said s1, said s2, and the Chinese Remainder Theorem, CRT, on GN1 s1 mod p 2 and GN2 s2 mod q 2, where r ∈ Z ∗ n 2, wherein by using the CRT, (r n) mod n 2 is converted to n mod p 2 and n mod q 2, wherein r1 = s1 mod p 2 and r2 = s2 mod q 2, where r 1 ∈ Z ∗ p 2, and r 2 ∈ Z ∗ q 2, and determining c as DH mod n 2, wherein D is calculated as (1+nm) mod n 2. using g1 and g2, where said g1 is a generator of a cyclic group associated with said p, and said g2 is a generator of a cyclic group associated with said q; using GN1 and GN2, where said GN1 is a constant based on said g1, and said GN2 is a constant based on said g2; determining s1 and s2, where said s1 is a random number based on said p, and said s2 is a random number based on said q; calculating a value H equivalent to (r n) mod n 2 using said s1, said s2, and the Chinese Remainder Theorem, CRT, on GN1 s1 mod p 2 and GN2 s2 mod q 2, where r ∈ Z ∗ n 2, wherein by using the CRT, (r n) mod n 2 is converted to n mod p 2 and n mod q 2, wherein r1 = s1 mod p 2 and r2 = s2 mod q 2, where r 1 ∈ Z ∗ p 2, and r 2 ∈ Z ∗ q 2, and determining c as DH mod n 2, wherein D is calculated as (1+nm) mod n 2.