Rabin Cryptosystem

The Rabin cryptosystem is an asymmetric cryptographic technique, which like RSA is based on the difficulty of factorization. However the Rabin cryptosystem has the advantage that the problem on which it is based is provably as hard as integer factorization, which is not currently known to be true of the RSA problem. It has the disadvantage that each output of the Rabin function can be generated by any of four possible inputs; if each output is a ciphertext, extra complexity is required on decryption to identify which of the four possible inputs was the true plaintext.

History

The process was published in January, 1979, by Michael Rabin. The Rabin cryptosystem was the first asymmetric cryptosytem whose security could be proven mathematically (assuming that the problem of fast factorization is insoluble).

Key generation

As with all asymmetric cryptosystems, the Rabin system uses both a public and a private key. The public key is necessary for later encoding and can be published, while the private key must be possessed only by the recipient of the message. The precise key-generation process follows:
  • Choose two large distinct primes p and q (p , q \in \mathbb{P}) such that they satisfy the congruence relation below.
  • Let n=p \cdot q. n is the public key.
With only n, encoding is possible, but not decoding. To decode, n would have to be factored into p and q. As a (non-real-world) example, if p = 7 and q = 11, then n=77. This would be a poor choice of keys, as the factorization of 77 is trivial.

Congruence relation

In order for the system to work, a specific congruence relation is required: For both p and q we must have :\left(\frac{p-1}{p}\right) = (p-1) and :\left(\frac{q-1}{q}\right) = (q-1) so that :\left(\frac{n-1}{n}\right) = (n-1)^{\frac{n-1}{2}} \equiv (n-1) \bmod n = (n-1) also holds. (Note that the form \left(\frac{p-1}{p}\right) does not represent division here. See Legendre symbol.) Simplified, this yields:
p \equiv q \equiv 3 \, \bmod \, 4
In the formulas, \mod refers to the modulo operator. The two forms are equivalent, since \left(\frac{-1}{p}\right) = -1 and p \equiv -1 \, \bmod \, 4 and p \equiv 3 \, \bmod \, 4 are all equivalent statements. In general, for r \in \mathbb{P}, with r \equiv 3 \, \bmod \, 4 and a \in \mathbb{Z} with a \equiv b^2 \, \bmod \, r:
a^{\frac{(r+1)}{4}} \equiv \sqrt{a} \, \bmod \, r (Proof in German).
This property serves to facilitate the decoding process in the end. Since 7 \equiv 11 \equiv 3 \, \bmod \, 4 , we can continue using this p and q in our examples.

Encryption

For the encryption, only the public key n is used, thus producing a ciphertext out of the plaintext. The process follows: Let P = \{ 0, ..., n-1 \} be the plaintext space (consisting of numbers) and m \in P be the plaintext. Now the ciphertext c is determined by
c = m^2 \, \bmod \, n.
That is, c is the quadratic remainder of the square of the plaintext, modulo the key-number n. In practice, block ciphers are generally used. In our simple example, P = \{ 0, ..., 76 \} is our plaintext space. We will take m = 20 as our plaintext. The ciphertext is thus c = m^2 \, \bmod \, n = 400 \, \bmod \, 77 = 15. Here it should be noted that for exactly four different values of m, the ciphertext 15 is produced, i.e. for m \in \{ 13, 20, 57, 64 \}. This is true for most ciphertexts produced by the Rabin algorithm, i.e. it is a four-to-one function.

Decryption

To decode the ciphertext, the private keys are necessary. The process follows: If c and r are known, the plaintext is then m \in \{ 0, ..., n-1 \} with m^2 \equiv c \, \bmod \, r. For a composite r (that is, like the Rabin algorithm's n = p \cdot q) there is no efficient method known for the finding of m. If, however r \in \mathbb{P} (as are p and q in the Rabin algorithm), the Chinese remainder theorem can be applied to solve for m. Thus the square roots
m_p = \sqrt{c} \, \bmod \, p
and
m_q = \sqrt{c} \, \bmod \, q
must be calculated. Because of the congruence relation,
m_p = c^{\frac{(p+1)}{4}} \, \bmod \, p
and
m_q = c^{\frac{(q+1)}{4}} \, \bmod \, q.
In our example, then, m_p = 1 and m_q = 9. By applying the extended Euclidean algorithm, y_p and y_q, with y_p \cdot p + y_q \cdot q = 1 are calculated. In our example, we have y_p = -3 and y_q = 2. Now, by invocation of the Chinese remainder theorem, the four square roots +r, -r, +s and -s of c + n \mathbb{Z} \in \mathbb{Z} / n \mathbb{Z} are calculated. (\mathbb{Z} / n \mathbb{Z} here stands for the set of the class of remainders modulo n; the four square roots are in the set \{ 0, ..., n-1 \}):
\begin{matrix}
r & = & ( y_p \cdot p \cdot m_q + y_q \cdot q \cdot m_p) \, \bmod \, n \\ -r & = & n - r \\ s & = & ( y_p \cdot p \cdot m_q - y_q \cdot q \cdot m_p) \, \bmod \, n \\ -s & = & n - s \end{matrix} One of these square roots \mod \, n is the original plaintext m. In our example, m \in \{ 64, \mathbf{20}, 13, 57 \}.

Evaluation of the algorithm

Effectiveness

Decoding produces three false results in addition to the correct one, so that the correct result must be guessed. This is the major disadvantage of the Rabin cryptosystem. However, it is possible to choose plaintexts with special structures to eliminate this problem. Since correct padding is required for semantic security in any case, this is not a problem.

Efficiency

For encoding, a square \mod n must be calculated. This is more efficient than the RSA, which requires the calculation of a cube. For decoding, the Chinese remainder theorem is applied, along with two modular exponentiations. Here the efficiency is comparable to RSA.

Security

The great advantage of the Rabin cryptosystem is that the code can only be broken if the codebreaker is capable of efficiently factoring the public key n. It has been proven that decoding the Rabin cryptosystem is equivalent to the factorization problem, unlike in RSA. Thus the Rabin system is more secure than RSA, and will remain so until a general solution for the factorization problem is discovered. (This assumes that the plaintext was not created with a specific structure to ease decoding.) Since the solution to the factorization problem is being sought on many different fronts, the solution would rapidly become available to the whole scientific community. However, this solution has been long in coming, and the factorization problem is thus practically insoluble. An eavesdropper would have no chance today of breaking the code. However, an active attacker can break the system using a chosen ciphertext attack, as has been mathematically proven. This weakness has prevented the Rabin cryptosystem from finding practical use. By adding redundancies, for example, the repetition of the last 64 bits, the system can be made to produce a single root. This thwarts the chosen-ciphertext attack, since the decoding algorithm then only produces the root that the attacker already knows. If this technique is applied, the proof of the equivalence with the factorization problem fails, so it is uncertain as of 2004 if this system is secure. The Handbook of Applied Cryptography by Menezes, Oorschot and Vanstone considers this equivalence probable, however, as long as the finding of the roots remains a two-part process (1. roots \mod p and \mod q and 2. application of the Chinese remainder theorem). Since in the encoding process, only the modulo remainders of perfect squares are used (in our example with n = 77, this is only 23 of the 76 possible values), other attacks on the process are possible.

References

  • Buchmann, Johannes. Einfhrung in die Kryptographie. Second Edition. Berlin: Springer, 2001. ISBN 3540412832
  • Menezes, Alfred; van Oorschot, Paul C.; and Vanstone, Scott A. Handbook of Applied Cryptography. CRC Press, October 1996. ISBN 0849385237
  • Rabin, Michael. Digitalized Signatures and Public-Key Functions as Intractable as Factorization (in PDF). MIT Laboratory for Computer Science, January 1979.
See also: Topics in cryptography.

 

<< PreviousWord BrowserNext >>
john gregory
ayr united f.c.
brechin city f.c.
berwick rangers f.c.
clyde f.c.
cowdenbeath f.c.
east fife f.c.
fens of serech
history of the jews in carpathian ruthenia
rochdale cricket club
royton cricket club
one utama
stand cricket club
unsworth cricket club
jayavarman vii
sri jayarajacudamani
dharanindravarman ii
jayarajadevi
ancient khmer highway
phnom bakheng
phnom krom
spean thma
passive attack
tubro
john f. street
andrea bocelli
university of bristol union
undeniable signature
random oracle
arme de l'air (part i: from birth to "torch", 1909 1942)
zushi, kanagawa
comox, british columbia
sagamihara, kanagawa
blenheim
isehara, kanagawa
ebina, kanagawa
zama, kanagawa
dave ellis (musician)
minamiashigara, kanagawa
waihopai
ayase, kanagawa
list of games by konami
list of music videos by year
rhode island red