Articulo de referencia

Plan IBE de gallos

El esquema IBE de Cocks es un sistema de cifrado basado en identidad propuesto por Clifford Cocks en 2001. [ 1 ] La seguridad del esquema se basa en la dificultad del problema d...

El esquema IBE de Cocks es un sistema de cifrado basado en identidad propuesto por Clifford Cocks en 2001. [ 1 ] La seguridad del esquema se basa en la dificultad del problema de la resisibilidad cuadrática .

Protocolo

Configuración

El PKG elige:

  1. un módulo RSA públiconorte=pagq{\displaystyle \textstyle n=pq}, dóndepag,q,pagq3mod4{\displaystyle \textstyle p,q,\,p\equiv q\equiv 3{\bmod {4}}}son primordiales y se mantienen en secreto,
  2. el mensaje y el espacio cifradoMETRO={1,1},do=Znorte{\displaystyle \textstyle {\mathcal {M}}=\left\{-1,1\right\},{\mathcal {C}}=\mathbb {Z} _{n}}y
  3. una función hash pública seguraF:{0,1}Znorte{\displaystyle \textstyle f:\left\{0,1\right\}^{*}\rightarrow \mathbb {Z} _{n}}.

Extracto

Cuando el usuarioID{\displaystyle \textstyle ID}Para obtener su clave privada, contacta con el PKG a través de un canal seguro . El PKG

  1. derivaa{\displaystyle \textstyle a}con(anorte)=1{\displaystyle \textstyle \left({\frac {a}{n}}\right)=1}mediante un proceso determinista desdeID{\displaystyle \textstyle ID}(por ejemplo, aplicación múltiple deF{\displaystyle \textstyle f}),
  2. calcular=a(norte+5pagq)/8(modnorte){\displaystyle \textstyle r=a^{(n+5-pq)/8}{\pmod {n}}}(que cumple con cualquiera de las siguientesr2=a(modnorte){\displaystyle \textstyle r^{2}=a{\pmod {n}}}or2=a(modnorte){\displaystyle \textstyle r^{2}=-a{\pmod {n}}}(véase más abajo) y
  3. transmiter{\displaystyle \textstyle r}al usuario.

Cifrar

Para cifrar un bit (codificado como1{\displaystyle \textstyle 1}/1{\displaystyle \textstyle -1})metroMETRO{\displaystyle \textstyle m\in {\mathcal {M}}}paraID{\displaystyle \textstyle ID}, el usuario

  1. elige al azart1{\displaystyle \textstyle t_ {1}}conmetro=(t1norte){\displaystyle \textstyle m=\left({\frac {t_{1}}{n}}\right)},
  2. elige al azart2{\displaystyle \textstyle t_ {2}}conmetro=(t2norte){\displaystyle \textstyle m=\left({\frac {t_{2}}{n}}\right)}, diferente de t1{\displaystyle \textstyle t_ {1}},
  3. calculado1=t1+at11(modnorte){\displaystyle \textstyle c_{1}=t_{1}+at_{1}^{-1}{\pmod {n}}}y do2=t2at21(modnorte){\displaystyle c_{2}=t_{2}-at_{2}^{-1}{\pmod {n}}}y
  4. envías=(do1,do2){\displaystyle \textstyle s=(c_{1},c_{2})}al usuario.

Descifrar

Para descifrar un texto cifrados=(do1,do2){\displaystyle s=(c_{1},c_{2})}para el usuarioID{\displaystyle ID}, él

  1. calculaα=do1+2r{\displaystyle \alpha =c_{1}+2r}sir2=a{\displaystyle r^{2}=a}oα=do2+2r{\displaystyle \alpha =c_{2}+2r}de lo contrario, y
  2. calculametro=(αnorte){\displaystyle m=\left({\frac {\alpha }{n}}\right)}.

Tenga en cuenta que aquí estamos asumiendo que la entidad que cifra no sabe siID{\displaystyle ID}tiene la raíz cuadradar{\displaystyle r}dea{\displaystyle a}oa{\displaystyle -a}En este caso, debemos enviar un texto cifrado para ambos casos. Tan pronto como la entidad que realiza el cifrado conozca esta información, solo será necesario enviar un elemento.

Exactitud

En primer lugar, tenga en cuenta que desdepagq3(mod4){\displaystyle \textstyle p\equiv q\equiv 3{\pmod {4}}}(es decir(1pag)=(1q)=1{\displaystyle \left({\frac {-1}{p}}\right)=\left({\frac {-1}{q}}\right)=-1}) y(anorte)(apag)=(aq){\displaystyle \textstyle \left({\frac {a}{n}}\right)\Rightarrow \left({\frac {a}{p}}\right)=\left({\frac {a}{q}}\right)}, cualquieraa{\displaystyle \textstyle a}oa{\displaystyle \textstyle -a}es un residuo cuadrático módulonorte{\displaystyle \textstyle n}.

Por lo tanto,r{\displaystyle \textstyle r}es una raíz cuadrada dea{\displaystyle \textstyle a}oa{\displaystyle \textstyle -a}: [ 2 ]

r2(a(norte+5pagq)/8)2modnorte(a(pagq+4+1pagq)/8)2modnorte(a((pag1)(q1)+4)/8)2modnorte(a0,5a((pag1)(q1))/8)2modnorteaa(pag1)/2a(q1)/2modnorte{amodnorte|a es un residuo cuadráticomodnorteamodnorte|a es un residuo cuadráticomodnorte{\displaystyle {\begin{aligned}r^{2}&\equiv \left(a^{(n+5-pq)/8}\right)^{2}\mod {n}\\&\equiv \left(a^{(p*q+4+1-pq)/8}\right)^{2}\mod {n}\\&\equiv \left(a^{((p-1)(q-1)+4)/8}\right)^{2}\mod {n}\\&\equiv \left(a^{0.5}*a^{((p-1)(q-1))/8}\right)^{2}\mod {n}\\&\equiv a*a^{(p-1)/2}*a^{(q-1)/2}\mod {n}\\&\equiv {\begin{cases}a\mod {n}&|a{\text{ es una función cuadrática residuo}}\mod {n}\\-a\mod {n}&|-a{\text{ es un residuo cuadrático}}\mod {n}\end{cases}}\end{aligned}}}

Donde el último paso es el resultado de una combinación del criterio de Euler y el teorema chino del resto .

Además, (para el caso de quea{\displaystyle \textstyle a}es un residuo cuadrático, la misma idea se aplica aa{\displaystyle \textstyle -a}):

(s+2rnorte)=(t+at1+2rnorte)=(t(1+at2+2rt1)norte)=(t(1+r2t2+2rt1)norte)=(t(1+rt1)2norte)=(tnorte)(1+rt1norte)2=(tnorte)(±1)2=(tnorte){\displaystyle {\begin{aligned}\left({\frac {s+2r}{n}}\right)&=\left({\frac {t+at^{-1}+2r}{n}}\right)=\left({\frac {t\left(1+at^{-2}+2rt^{-1}\right)}{n}}\right)\\&=\left({\frac {t\left(1+r^{2}t^{-2}+2rt^{-1}\right)}{n}}\right)=\left({\frac {t\left(1+rt^{-1}\right)^{2}}{n}}\right)\\&=\left({\frac {t}{n}}\right)\left({\frac {1+rt^{-1}}{n}}\right)^{2}=\left({\frac {t}{n}}\right)(\pm 1)^{2}=\left({\frac {t}{n}}\right)\end{aligned}}}

Seguridad

Se puede demostrar que romper el esquema equivale a resolver el problema de la resiliencia cuadrática , que se sospecha que es muy difícil. Se mantienen las reglas comunes para elegir un módulo RSA : usar un seguronorte{\displaystyle \textstyle n}, haga la elección det{\displaystyle \textstyle t}uniformes y aleatorios y además incluyen algunas comprobaciones de autenticidad parat{\displaystyle \textstyle t}(De lo contrario, se puede llevar a cabo un ataque adaptativo de texto cifrado elegido alterando los paquetes que transmiten un solo bit y utilizando el oráculo para observar el efecto en el bit descifrado).

Problemas

Una desventaja importante de este esquema es que solo puede cifrar mensajes bit a bit; por lo tanto, solo es adecuado para paquetes de datos pequeños como una clave de sesión . Para ilustrarlo, considere una clave de 128 bits que se transmite utilizando un módulo de 1024 bits. Entonces, hay que enviar 2  ×  128  ×  1024  bits =  32  KByte (cuando no se sabe sir{\displaystyle r}es el cuadrado de a o − a ), lo cual solo es aceptable para entornos en los que las claves de sesión cambian con poca frecuencia.

Este sistema no preserva la privacidad de la clave, es decir, un adversario pasivo puede recuperar información significativa sobre la identidad del destinatario que observa el texto cifrado.

Referencias

  1. Clifford Cocks, Un esquema de cifrado basado en identidad basado en residuos cuadráticos Archivado el 6 de febrero de 2007 en Wayback Machine , Actas de la 8.ª Conferencia Internacional IMA sobre Criptografía y Codificación , 2001
  2. Prager, S. (2011). El esquema IBE de Cocks: el símbolo de Legendre y la reciprocidad cuadrática (tesis de licenciatura con honores, Universidad de Redlands). Recuperado de https://inspire.redlands.edu/cas_honors/502