Protocol de semnatura “one-Time”.Fie 213 un numar prim, iar 5 Z213 un element primitive. Se defineste f(x) = 5x mod 213. Daca Bob doreste sa semneze un mesaj de 3 biti, el alege (secret) 6 numere eleatoare. Y1,0 = 157; Y1,1 = 49; Y2,0 = 13; Y2,1=17; Y3,0=23; Y3,1 = 37. Se calculeaza imaginea lor prin functia f: Zi,j = f(Yi,j).
1.Z1,0 = f(Y1,0) = 5157 mof 213 = 167. I 7 6 5 4 3 2 1 0
Ci 1 0 0 1 1 1 0 1
z 1^2 mod 213=1*5mod213=5 5^2mod 213=25 25^2mod 213=199 199^2mod213=196*5mod213=128 128^2mod213=196*5mod213=128 128^2mod213=196*5mod213=128 128^2mod 213=196 192^2mod213=76*5mod213=167 5^157 mod 213 = 128
2.Z1,1 = f(Y1,1) =513 mod 213 = 128 i 5 4 3 2 1 0
Ci 1 1 0 0 0 1
Z 1^2mod 213 =1*5mod 213=5 5^2 mod 213 = 25 *5 mod 213=125 125^2 mod 213=76 76^2 mod 213 =25 25^2 mod 213 =199 199 ^ 2 mod 213 = 196*5 mod 213 = 128 5^49 mod 213 = 128
3.Z2,0 = f(Y2,0) =513 mod 213 = 125 i 3 2 1 0
Ci 1 1 0 1
Z 1^2mod 213 =1*5mod 213=5 5^2 mod 213 = 25 *5 mod 213=125 125^2 mod 213=76 76^2 mod 213 =25 *5 mod 213= 125 5^13 mod 213 = 125
4.Z2,1 = f(Y2,1) = 517 mod 213 = 167 i 4 3 2 1 0
Ci 1 0 0 0 1
Z 1^2mod 213= 1*5 mod 213 = 5 5^2 mod 213 =25 25^21 mod 213 =199 199 ^ 2 mod 213 = 196 196^2 mod 213 = 76 *5 mod 213 =167 5^17 mod 213 = 167
5.Z3,0 =f(Y3,0) = 523 mod 213 = 125 i 4 3 2 1 0
Ci 1 0 1 1 1
Z 1^2 mod 213 = 1*5 mod 213 = 5 5^2 mod 213 = 25 25^2 mod 213 = 199 * 5 mod 213 = 143 143 ^ 2 mod 213 = 1*5 mod 213 = 5 5^2 mod 213 = 25 * 5 mod 213 = 125 5^23 mod 213 = 125 37 6.Z3,1 = f(Y3,1) = 5 mod 213 = 167 i 5 4
Ci 1 0
Z 1^2 mod 213 = 1 * 5 mod 213 = 5 5^2 mod 213= 25
3 2 1 0
0 1 0 1
25^2 mod 213 = 199 199^2 mod 213 = 196 * 5 mod 213 = 128 128^2 mod 213 = 196 196^2 mod 213 = 76 * 5 mod 213 = 167 5^37 mod 213 = 167 Aceste numere sunt publice. Sa presupunem ca Bob vrea sa semneze mesajul X = (1,0,1). Semnatura lui este (Y 1,1, Y2,0, Y3,1) = (49,13,37). Pentru verificarea semnaturii, este sufficient sa se constate ca: 549mod 213 = Z1,1 = 128, 513mod 213 = Z2,0 = 125, 537mod 213 = Z3,1 = 167.