Feige–Fiat–Shamir Identification Scheme
   HOME

TheInfoList



OR:

In cryptography, the Feige–Fiat–Shamir identification scheme is a type of parallel zero-knowledge proof developed by Uriel Feige,
Amos Fiat Amos Fiat (born December 1, 1956) is an Israeli computer scientist, a professor of computer science at Tel Aviv University. He is known for his work in cryptography, online algorithms, and algorithmic game theory. Biography Fiat earned his Ph. ...
, and Adi Shamir in 1988. Like all zero-knowledge proofs, it allows one party, the Prover, to prove to another party, the Verifier, that they possess secret information without revealing to Verifier what that secret information is. The Feige–Fiat–Shamir identification scheme, however, uses modular arithmetic and a parallel verification process that limits the number of communications between Prover and Verifier.


Setup

Following a common convention, call the prover Peggy and the verifier Victor. Choose two large prime integers ''p'' and ''q'' and compute the product ''n = pq''. Create secret numbers s_1, \cdots, s_k coprime to ''n''. Compute v_i \equiv s_i^ \pmod. Peggy and Victor both receive n while p and q are kept secret. Peggy is then sent the numbers s_i. These are her secret login numbers. Victor is sent the numbers v_i by Peggy when she wishes to identify herself to Victor. Victor is unable to recover Peggy's s_i numbers from his v_i numbers due to the difficulty in determining a
modular square root In number theory, an integer ''q'' is called a quadratic residue modulo ''n'' if it is congruent to a perfect square modulo ''n''; i.e., if there exists an integer ''x'' such that: :x^2\equiv q \pmod. Otherwise, ''q'' is called a quadratic non ...
when the modulus' factorization is unknown.


Procedure

# Peggy chooses a random integer r, a random sign s\in\ and computes s \cdot x \equiv r^2 \pmod. Peggy sends x to Victor. # Victor chooses numbers a_1, \cdots, a_k where a_i equals 0 or 1. Victor sends these numbers to Peggy. # Peggy computes y \equiv rs_1^s_2^ \cdots s_k^\pmod. Peggy sends this number to Victor. # Victor checks that y^2 \pmod \equiv \pm\, x v_1^v_2^ \cdots v_k^\pmod and that x \neq 0 . This procedure is repeated with different r and a_i values until Victor is satisfied that Peggy does indeed possess the modular square roots (s_i) of his v_i numbers.


Security

In the procedure, Peggy does not give any useful information to Victor. She merely proves to Victor that she has the secret numbers without revealing what those numbers are. Anyone who intercepts the communication between each Peggy and Victor would only learn the same information. The eavesdropper would not learn anything useful about Peggy's secret numbers. Suppose Eve has intercepted Victor's v_i numbers but does not know what Peggy's s_i numbers are. If Eve wants to try to convince Victor that she is Peggy, she would have to correctly guess what Victor's a_i numbers will be. She then picks a random y, calculates x \equiv y^2 v_1^v_2^ \cdots v_k^\pmod and sends x to Victor. When Victor sends a_i, Eve simply returns her y. Victor is satisfied and concludes that Eve has the secret numbers. However, the probability of Eve correctly guessing what Victor's a_i will be is 1 in 2^k. By repeating the procedure t times, the probability drops to 1 in 2^ . For k = 5 and t = 4 the probability of successfully posing as Peggy is less than 1 in 1 million.


References

* * * (eFFS, extended Feige–Fiat–Shamir scheme) {{DEFAULTSORT:Feige-Fiat-Shamir identification scheme Zero-knowledge protocols