Abstract

The paper is devoted to the generalization of the so-called “forking lemma” to the case when the hash function returns a tuple of trits (trit is a variable that can take one out of the three values 0, 1, 2). It can be stated as follows. Let A(par, b) be an algorithm that, when run on randomly chosen par ←R Params and b ←R {0, 1, 2} δ , successfully stops and returns the correct answer x with probability ϵ. Then there exists an algorithm B that uses A as a subroutine and returns a triple (x1, x2, x3), where xi ← A(par, bi ), i = 1, 2, 3, with the additional condition that there exists a position j such that {b 1 j , b2 j , b3 j } = {0, 1, 2} (i.e., all trits in this position are different); the success probability of B can be bounded from above as follows: pB ⩾ ε 3 − ε (17/27)δ/2 , and the running time of B does not exceed 4 tA, where tA is the time complexity of A. The lemma is then applied to the analysis of code-based signature based on Stern identification protocol in the (standard) SUF-CMA model (with the outer hash function modelled as a programmable random oracle). First, we show that the SUF-CMA model can be reduced to the NMA model (in which the adversary makes no sign queries, only random oracle queries), thanks to the zero-knowledge property of the original Stern identification scheme and the programmability of an oracle. We then show that in the NMA model we can restrict attention only to the case, where the adversary makes a single random oracle query. The b value from the forking lemma acts as the random oracle’s answer to the adversarial query. Using the lemma, we are able to fork the process of forging a signature. Having three valid signatures for the same message, we can to extract a secret key (or to find a collision of an inner hash function). Hence, we can bound from above the probability of successful forgery in terms of the probability of successful execution of collision finding and syndrome decoding algorithms.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call