Anar al contingut

Algoritme d'identificació de Schnorr

De L'Enciclopèdia, la wikipedia en valencià

El Algoritme d'identificació de Schnorr és un esquema d'identificació que es pot usar com prova de coneiximent zero del coneiximent de la clau secreta de l'algoritme de sifrat de ElGamal sense revelar-la.[1]

Descripció

L'esquema requerix que una autoritat confiable, anem a cridar TA, definixca una série de paràmetros públics per a l'esquema que complixquen una série de propietats:[2] p és un cosí gran (p≈21024) q és un cosí gran divisor de p-1 (q≈2160)

  • g∈Zp* té orde q per lo que és generador d'un grup Gq el qual és un subrupo de Zp*

t és un paràmetro de seguritat tal que q>2t (La provabilitat de l'adversari d'enganyar a Alice o Bob serà 2−t, aixina que t=40 donarà una seguritat adequada per a la major part de les aplicacions) Els paràmetros p,q,g i t són públics i seran usats per totes les part en la ret

Cada usuari de la ret tria la seua x∈Zq,0≤x≤q−1 que es va a cridar clau secreta. A partir d'ella construïx y=g−x(modp) que serà la corresponent clau pública. Per a calcular-la podem aprofitar que g té orde q en Zp* i per tant y=g−x(modp)=gq−x(modp). Per a cada usuari de la ret (informació d'identificació) la TA certificarà (creant un certificat en firma digital) la seua clau pública. El certificat també pot contindre els paràmetros p,q,g i t públics.[2]

En el següent algoritme el provador P pot provar que coneix x sense revelar-ho al verificador V:[2][1]

P tria de forma aleatòria un valor c∈Zq,0≤c≤q−1, i envia a V el seu certificat i w=gc(modp)
V verifica, a partir del certificat, que la clau pública de P és i. A continuació envia a P un desafiu aleatori e∈Zq i 1≤e≤2t
P calcula s=c+xe (mod q) i envia s a

V :V verifica l'identitat de P si i solament si es complix w=gsye(modp) ya que

gsye(modp)=gc+xeye(modp)=gc+xeg−xe(modp)=gc(modp)=w

Eixemple

Vejam un eixemple d'aplicació d'algoritme ometent la part del certificat emés per la TA[2] Supongam p=88667, q=1031, t=10 i g=70322. Supongam que Alicia tria com a clau privada x=755. Per tant la clau pública és y=g−x(modp)=gq−x(modp)=703221031−755mod88667=13136 Supongam que Alicia tria c=543. Per tant w=70322543mod88667=84109 Supongam que Bob tria el desafiu i=1000. Llavors Alicia computa s=c+xe (mod q)=543+755*1000mod1031=851 Bob verifica que 84109=70322851131361000mod88667

Referències

  1. ↑ 1,0 1,1 Verifiable Voting Systems [1] archivat en Wayback Machine.. Thea Peacock, Peter Y. A. Ryan, Steve Schneider i Zhe Xia. University of Luxembourgy University of Surrey
  2. ↑ 2,0 2,1 2,2 2,3 Theory and practice
    • Archivat el 28 de febrer de 2019 archivat en Wayback Machine.. Third Edition. Douglas R. Stinson. University of Waterloo. Chapman & Hall/CRC. 2006


Referències