**

**

€3.00

Tax included

Schnorr Identification scheme.

This protocol is executed between the Student Alice (you) and Mentor Bob. Both parties are honest and want to prove to each other their identity so both of them are in the role of Prover and Verifier. Prover must prove that he/she knows his Pivate Key do not revealing this key to the Verifier and using only his/her Public Key.

Parameter values sent by Alice are included in brackets [ ] and must be entered in the corresponding input fields.

The following functions are used in the protocol:

**>> genstrongprime(bl)**

**>> mod_exp(g,x,p)**

**>> randi(z)**

- Generate strong prime number
of 28 bits length using Octave function >> genstrongprime(28) and find a generator*p*of multiplicative group*g*={1,2,3, …*Z*_{p}^{*}-1}.*p*

Send Public Parameters **PP **= [** p**,

- Ok, generate at random private key
**PrK**=in the interval 1*x***<**1 and compute Public Key*x*<*p*-**PuK**=_{A}*a**=*. Send [**g**^{x }mod p] to the Mentor to check if your public key is included in his data base previuosly.*a*

- Mentor believes you are Alice and honest Prover but nevertheless he wish you to prove that. You must to prove, that you are the owner of (unknown to anybody) your
**PrK**=corresponding to your*x***PuK**=_{A}(you have just sent to the Mentor) using Schnorr identification protocol.*a*

Please generate your commitment ** u**=

- Ok, Mentor sends you a challenge
=….. . Generate your response*h*=*r*+*k*and send [*xh*] to the Mentor.*r*

- Ok, Mentor highly appreciates your honesty and wants to demonstrate his honesty as well. He sends you commitment
=….. . Compute your challenge [*v*] of 26 bit length and send it to the Mentor.*l*

- Ok, Mentor sends you his public key PuKb=
and a response*b*=….. . Please compute verification values*t*=*V*_{1}mod*g*^{t}and*p*=*V*_{2}mod*vb*^{l}and send [*p*,*V*_{1}] to the Mentor.*V*_{2}

234 Items