Goldwasser–Micali cryptosystem
   HOME

TheInfoList



OR:

The Goldwasser–Micali (GM) cryptosystem is an asymmetric key encryption algorithm developed by
Shafi Goldwasser en, Shafrira Goldwasser , name = Shafi Goldwasser , image = Shafi Goldwasser.JPG , caption = Shafi Goldwasser in 2010 , birth_place = New York City, New York, U.S. , birth_date = , death_date ...
and
Silvio Micali Silvio Micali (born October 13, 1954) is an Italian computer scientist, professor at the Massachusetts Institute of Technology and the founder of Algorand. Micali's research centers on cryptography and information security. In 2012, he received ...
in 1982. GM has the distinction of being the first probabilistic public-key encryption scheme which is provably secure under standard cryptographic assumptions. However, it is not an efficient cryptosystem, as ciphertexts may be several hundred times larger than the initial plaintext. To prove the security properties of the cryptosystem, Goldwasser and Micali proposed the widely used definition of semantic security.


Basis

The GM cryptosystem is semantically secure based on the assumed intractability of the
quadratic residuosity problem The quadratic residuosity problem (QRP) in computational number theory is to decide, given integers a and N, whether a is a quadratic residue modulo N or not. Here N = p_1 p_2 for two unknown primes p_1 and p_2, and a is among the numbers which are ...
modulo a composite ''N'' = ''pq'' where ''p, q'' are large
primes A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
. This assumption states that given (''x'', ''N'') it is difficult to determine whether ''x'' is a quadratic residue modulo ''N'' (i.e., ''x'' = ''y''2 mod ''N'' for some ''y''), when the
Jacobi symbol Jacobi symbol for various ''k'' (along top) and ''n'' (along left side). Only are shown, since due to rule (2) below any other ''k'' can be reduced modulo ''n''. Quadratic residues are highlighted in yellow — note that no entry with a ...
for ''x'' is +1. The quadratic residue problem is easily solved given the factorization of ''N'', while new quadratic residues may be generated by any party, even without knowledge of this factorization. The GM cryptosystem leverages this asymmetry by encrypting individual plaintext bits as either random quadratic residues or non-residues modulo ''N'', all with quadratic residue symbol +1. Recipients use the factorization of ''N'' as a
secret key A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Based on the used method, the key ...
, and decrypt the message by testing the quadratic residuosity of the received ciphertext values. Because Goldwasser–Micali produces a value of size approximately , ''N'', to encrypt every single bit of a plaintext, GM encryption results in substantial ciphertext expansion. To prevent
factorization In mathematics, factorization (or factorisation, see English spelling differences) or factoring consists of writing a number or another mathematical object as a product of several ''factors'', usually smaller or simpler objects of the same kind ...
attacks, it is recommended that , ''N'', be several hundred bits or more. Thus, the scheme serves mainly as a proof of concept, and more efficient provably-secure schemes such as ElGamal have been developed since. Because encryption is performed using a probabilistic algorithm, a given plaintext may produce very different ciphertexts each time it is encrypted. This has significant advantages, as it prevents an adversary from recognizing intercepted messages by comparing them to a dictionary of known ciphertexts.


Scheme definition

Goldwasser–Micali consists of three algorithms: a probabilistic key generation algorithm which produces a public and a private key, a probabilistic encryption algorithm, and a deterministic decryption algorithm. The scheme relies on deciding whether a given value ''x'' is a square mod ''N'', given the factorization (''p'', ''q'') of ''N''. This can be accomplished using the following procedure: #Compute ''xp'' = ''x'' mod ''p'', ''xq'' = ''x'' mod ''q''. #If x_p^ \equiv 1\pmod and x_q^ \equiv 1\pmod, then ''x'' is a quadratic residue mod ''N''.


Key generation

The modulus used in GM encryption is generated in the same manner as in the RSA cryptosystem. (See RSA, key generation for details.) #Alice generates two distinct large
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
s ''p'' and ''q'', randomly and independently of each other. #Alice computes ''N'' = ''p q''. #She then finds some non-residue ''x'' such that the Legendre symbols satisfy \left(\frac\right)=\left(\frac\right)=-1 and hence the
Jacobi symbol Jacobi symbol for various ''k'' (along top) and ''n'' (along left side). Only are shown, since due to rule (2) below any other ''k'' can be reduced modulo ''n''. Quadratic residues are highlighted in yellow — note that no entry with a ...
\left(\frac\right) is +1. The value ''x'' can for example be found by selecting random values and testing the two Legendre symbols. If ''p'', ''q'' = 3 mod 4 (i.e., ''N'' is a
Blum integer In mathematics, a natural number ''n'' is a Blum integer if is a semiprime for which ''p'' and ''q'' are distinct prime numbers congruent to 3 mod 4.Joe Hurd, Blum Integers (1997), retrieved 17 Jan, 2011 from http://www.gilith.com/research/tal ...
), then the value ''N'' − 1 is guaranteed to have the required property. The ''public key'' consists of (''x'', ''N''). The secret key is the factorization (''p'', ''q'').


Message encryption

Suppose Bob wishes to send a message ''m'' to Alice: #Bob first encodes ''m'' as a string of bits (''m''1, ..., ''mn''). #For every bit ''m_i'', Bob generates a random value ''y_i'' from the group of units modulo ''N'', or ''\gcd(y_i,N) = 1''. He outputs the value c_i = y_i^2 x^\pmod. Bob sends the ciphertext (''c''1, ..., ''c''''n'').


Message decryption

Alice receives (''c''1, ..., ''c''''n''). She can recover ''m'' using the following procedure: #For each ''i'', using the prime factorization (''p'', ''q''), Alice determines whether the value ''c''''i'' is a quadratic residue; if so, ''m''''i'' = 0, otherwise ''m''''i'' = 1. Alice outputs the message ''m'' = (''m''1, ..., ''m''''n'').


Security properties

There is a simple reduction from breaking this cryptosystem to the problem of determining whether a random value modulo ''N'' with Jacobi symbol ''+1'' is a quadratic residue. If an algorithm ''A'' breaks the cryptosystem, then to determine if a given value ''x'' is a quadratic residue modulo ''N'', we test ''A'' to see if it can break the cryptosystem using (''x'',''N'') as a public key. If ''x'' is a non-residue, then ''A'' should work properly. However, if ''x'' is a residue, then every "ciphertext" will simply be a random quadratic residue, so ''A'' cannot be correct more than half of the time. Furthermore, this problem is random self-reducible, which ensures that for a given ''N'', every public key is just as secure as every other public key. The GM cryptosystem has homomorphic properties, in the sense that if ''c''0, ''c''1 are the encryptions of bits ''m''0, ''m''1, then ''c''0''c''1 mod ''N'' will be an encryption of m_0 \oplus m_1. For this reason, the GM cryptosystem is sometimes used in more complex cryptographic primitives.


References

* *


See also

* Blum–Goldwasser cryptosystem {{DEFAULTSORT:Goldwasser-Micali cryptosystem Public-key encryption schemes