Lably
Skip to content

Rabin signature algorithm

Digital signature scheme

  • 4 min read
  • 3 chapters

Related on Lably

Through Digital signature, Integer factorization and Codomain

The Rabin signature algorithm was one of the first digital signature schemes proposed. By using a trapdoor function with a hash of the message rather than with the message itself, in contrast to earlier proposals of one-time hash-based signatures or trapdoor-based signatures without hashing, Rabin's was the first published design to meet what is now the modern standard of security for digital signatures for more than one message, existential unforgeability under chosen-message attack.

Rabin signatures resemble RSA signatures with exponent e=2, but this leads to qualitative differences that enable more efficient implementation and a security guarantee relative to the difficulty of integer factorization, which has not been proven for RSA. However, Rabin signatures have seen relatively little use or standardization outside IEEE P1363 in comparison to RSA signature schemes such as RSASSA-PKCS1-v1_5 and RSASSA-PSS.

Definition

The Rabin signature scheme is parametrized by a randomized hash function H(m,u) of a message m and k-bit randomization string u.

Public key
A public key is a pair of integers (n,b) with 0≤b<n and n odd. b is chosen arbitrarily and may be a fixed constant.
Signature
A signature on a message m is a pair (u,x) of a k-bit string u and an integer x such that x(x+b)≡H(m,u)(modn).
Private key
The private key for a public key (n,b) is the secret odd prime factorization p⋅q of n, chosen uniformly at random from some large space of primes.
Signing a message
To make a signature on a message m using the private key, the signer starts by picking a k-bit string u uniformly at random, and computes c:=H(m,u). Let d=(b/2)modn. If c+d2 is a quadratic nonresidue modulo n, the signer starts over with an independent random u. Otherwise, the signer computes xp:=(−d±c+d2)modp,xq:=(−d±c+d2)modq, using a standard algorithm for computing square roots modulo a prime—picking p≡q≡3(mod4) makes it easiest. Square roots are not unique, and different variants of the signature scheme make different choices of square root; in any case, the signer must ensure not to reveal two different roots for the same hash c. xp and xq satisfy the equations xp(xp+b)≡H(m,u)(modp),xq(xq+b)≡H(m,u)(modq). The signer then uses the Chinese remainder theorem to solve the system x≡xp(modp),x≡xq(modq), for x, so that x satisfies x(x+b)≡H(m,u)(modn) as required. The signer reveals (u,x) as a signature on m.
The number of trials for u before x(x+b)≡H(m,u)(modn) can be solved for x is geometrically distributed with an average around 4 trials, because about 1/4 of all integers are quadratic residues modulo n.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication