Articulo de referencia

Ecuaciones de campo oculto

Las ecuaciones de campos ocultos ( HFE ), también conocidas como función de puerta trasera HFE , son un criptosistema de clave pública que se presentó en Eurocrypt en 1996 y fue...

Las ecuaciones de campos ocultos ( HFE ), también conocidas como función de puerta trasera HFE , son un criptosistema de clave pública que se presentó en Eurocrypt en 1996 y fue propuesto por Jacques Patarin (en francés) siguiendo la idea del sistema de Matsumoto e Imai. Se basa en polinomios sobre campos finitos.Fq{\displaystyle \mathbb {F} _{q}}de diferente tamaño para disimular la relación entre la clave privada y la clave pública . HFE es, de hecho, una familia que consta de HFE básico y versiones combinatorias de HFE. La familia de criptosistemas HFE se basa en la dificultad del problema de encontrar soluciones a un sistema de ecuaciones cuadráticas multivariadas (el llamado problema MQ), ya que utiliza transformaciones afines privadas para ocultar el campo de extensión y los polinomios privados . Las ecuaciones de campo oculto también se han utilizado para construir esquemas de firma digital, por ejemplo, Quartz y Sflash. [ 1 ]

Formación matemática

Una de las nociones centrales para entender cómo funcionan las ecuaciones de campo oculto es ver que para dos campos de extensiónFqnorte{\displaystyle \mathbb {F} _{q^{n}}}Fqmetro{\displaystyle \mathbb {F} _{q^{m}}}sobre el mismo campo de baseFq{\displaystyle \mathbb {F} _{q}}uno puede interpretar un sistema demetro{\displaystyle m}polinomios multivariados ennorte{\displaystyle n}variables sobreFq{\displaystyle \mathbb {F} _{q}}como funciónFqnorteFqmetro{\displaystyle \mathbb {F} _{q^{n}}\to \mathbb {F} _{q^{m}}}mediante el uso de una base adecuada deFqnorte{\displaystyle \mathbb {F} _{q^{n}}}encimaFq{\displaystyle \mathbb {F} _{q}}. En casi todas las aplicaciones, los polinomios son cuadráticos, es decir, tienen grado 2. [ 2 ] Comenzamos con el tipo más simple de polinomios, a saber, los monomios, y mostramos cómo conducen a sistemas de ecuaciones cuadráticas.

Consideremos un campo finito.Fq{\displaystyle \mathbb {F} _{q}}, dóndeq{\displaystyle q}es una potencia de 2 y un campo de extensiónK{\displaystyle K}de grado n. Sea0<h<qnorte{\displaystyle 0<h<q^{n}}de tal manera queh=qθ+1{\displaystyle h=q^{\theta }+1}para algunosθ{\displaystyle \theta }y mcd(h,qnorte1)=1{\displaystyle (h,q^{n}-1)=1}La condición mcd(h,qnorte1)=1{\displaystyle (h,q^{n}-1)=1}es equivalente a exigir que el mapah{\displaystyle u\to u^{h}}enK{\displaystyle K}es uno a uno y su inverso es el mapah{\displaystyle u\to u^{h'}}dóndeh{\displaystyle h'}es el inverso multiplicativo deh modqnorte1{\displaystyle h\ {\bmod {q}}^{n}-1}.

Toma un elemento aleatorioFqnorte{\displaystyle u\in \mathbb {F} _{q^{n}}}. DefinirwFqnorte{\displaystyle w\in \mathbb {F} _{q^{n}}}por

w=h=qθ    (1){\displaystyle w=u^{h}=u^{q^{\theta }}u\ \ \ \ (1)}

Dejarβ1,...,βnorte{\displaystyle \beta _{1},...,\beta _{n}}ser una base deK{\displaystyle K}como unFq{\displaystyle \mathbb {F} _{q}}espacio vectorial . Representamos{\displaystyle u}con respecto a la base como=(1,...,norte){\displaystyle u=(u_{1},...,u_{n})}yw=(w1,...,wnorte){\displaystyle w=(w_{1},...,w_{n})}. DejarA(k)=aij(k){\displaystyle A^{(k)}={a_{ij}^{(k)}}}sea ​​la matriz de la transformación linealqk{\displaystyle u\to u^{q^{k}}}con respecto a la baseβ1,...,βnorte{\displaystyle \beta _{1},...,\beta _{n}}, es decir, tal que

βiqk=j=1norteaijkβj,  aijkFq{\displaystyle \beta _{i}^{q^{k}}=\sum _{j=1}^{n}a_{ij}^{k}\beta _{j},\ \ a_{ij}^{k}\in \mathbb {F} _{q}}

para1i,knorte{\displaystyle 1\leq i,k\leq n}. Además, escriba todos los productos de elementos base en términos de la base, es decir:

βiβj=l=1nortemetroijlβl,  metroijlFq{\displaystyle \beta _{i}\beta _{j}=\sum _{l=1}^{n}m_{ijl}\beta _{l},\ \ m_{ijl}\in \mathbb {F} _{q}}

para cada1i,jnorte{\displaystyle 1\leq i,j\leq n}. El sistema denorte{\displaystyle n}ecuaciones que es explícita en lawi{\displaystyle w_{i}}y cuadrática en elj{\displaystyle u_{j}}se puede obtener expandiendo (1) e igualando a cero los coeficientes de laβi{\displaystyle \beta _{i}}.

Elige dos transformaciones afines secretas S{\displaystyle S}yT{\displaystyle T}, es decir, dos invertiblesnorte×norte{\displaystyle n\times n}matricesMETROS={Sij}{\displaystyle M_{S}=\{S_{ij}\}}yMETROT={Tij}{\displaystyle M_{T}=\{T_{ij}\}}con entradas enFq{\displaystyle \mathbb {F} _{q}}y dos vectoresvS{\displaystyle v_{S}}yvT{\displaystyle v_{T}}de longitudnorte{\displaystyle n}encimaFq{\displaystyle \mathbb {F} _{q}}y definirincógnita{\displaystyle x}yy{\displaystyle y}a través de:

=Sincógnita=METROSincógnita+vS    w=Ty=METROTy+vT    (2){\displaystyle u=Sx=M_{S}x+v_{S}\ \ \ \ w=Ty=M_{T}y+v_{T}\ \ \ \ (2)}

Al utilizar las relaciones afines en (2) para reemplazar laj,wi{\displaystyle u_{j},w_{i}}conincógnitak,yl{\displaystyle x_{k},y_{l}}, el sistema denorte{\displaystyle n}Las ecuaciones son lineales en elyl{\displaystyle y_{l}}y de grado 2 en elincógnitak{\displaystyle x_{k}}Aplicando álgebra lineal se obtendránorte{\displaystyle n}ecuaciones explícitas, una para cadayl{\displaystyle y_{l}}como polinomios de grado 2 en elincógnitak{\displaystyle x_{k}}. [ 3 ]

Criptosistema multivariado

La idea básica de la familia HFE de utilizar esto como un criptosistema multivariado es construir la clave secreta a partir de un polinomio.PAG{\displaystyle P}en uno desconocidoincógnita{\displaystyle x}sobre algún campo finitoFqnorte{\displaystyle \mathbb {F} _{q^{n}}}(valor normalq=2{\displaystyle q=2}se utiliza). Este polinomio se puede invertir fácilmente sobreFqnorte{\displaystyle \mathbb {F} _{q^{n}}}, es decir, es factible encontrar cualquier solución a la ecuaciónPAG(incógnita)=y{\displaystyle P(x)=y}Cuando existe tal solución, la transformación secreta, ya sea descifrado o firma, se basa en esta inversión. Como se explicó anteriormentePAG{\displaystyle P}puede identificarse con un sistema denorte{\displaystyle n}ecuaciones(pag1,...,pagnorte){\displaystyle (p_{1},...,p_{n})}utilizando una base fija. Para construir un criptosistema el polinomio(pag1,...,pagnorte){\displaystyle (p_{1},...,p_{n})}debe transformarse de manera que la información pública oculte la estructura original y evite la inversión. Esto se hace visualizando los campos finitos.Fqnorte{\displaystyle \mathbb {F} _{q^{n}}}como un espacio vectorial sobreFq{\displaystyle \mathbb {F} _{q}}y eligiendo dos transformaciones afines linealesS{\displaystyle S}yT{\displaystyle T}El trillizo(S,PAG,T){\displaystyle (S,P,T)}constituyen la clave privada. El polinomio privadoPAG{\displaystyle P}se define sobreFqnorte{\displaystyle \mathbb {F} _{q^{n}}}. [ 1 ] [ 4 ] La clave pública es(pag1,...,pagnorte){\displaystyle (p_{1},...,p_{n})}A continuación se muestra el diagrama de MQ-trapdoor.(S,PAG,T){\displaystyle (S,P,T)}en HFE

aporteincógnitaincógnita=(incógnita1,...,incógnitanorte)secreto:Sincógnitasecreto:PAGysecreto:Tproduccióny{\displaystyle {\text{input}}x\to x=(x_{1},...,x_{n}){\overset {{\text{secret}}:S}{\to }}x'{\overset {{\text{secret}}:P}{\to }}y'{\overset {{\text{secret}}:T}{\to }}{\text{output}}y}

polinomio HFE

El polinomio privadoPAG{\displaystyle P}con títulod{\displaystyle d}encimaFqnorte{\displaystyle \mathbb {F} _{q^{n}}}es un elemento deFqnorte[incógnita]{\displaystyle \mathbb {F} _{q^{n}}[x]}. Si los términos del polinomioPAG{\displaystyle P}tienen como máximo términos cuadráticos sobreFq{\displaystyle \mathbb {F} _{q}}entonces mantendrá pequeño el polinomio público. [ 1 ] El caso quePAG{\displaystyle P}consta de monomios de la formaincógnitaqsi+qti{\displaystyle x^{q^{s_{i}}+q^{t_{i}}}}, es decir, con 2 potencias deq{\displaystyle q}en el exponente está la versión básica de HFE , es decirPAG{\displaystyle P}es elegido como

PAG(incógnita)=doiincógnitaqsi+qti{\displaystyle P(x)=\sum c_{i}x^{q^{s_{i}}+q^{t_{i}}}}

El títulod{\displaystyle d}El valor del polinomio también se conoce como parámetro de seguridad, y cuanto mayor sea su valor, mejor para la seguridad, ya que el conjunto resultante de ecuaciones cuadráticas se asemeja a un conjunto de ecuaciones cuadráticas elegido al azar. Por otro lado, un valor granded{\displaystyle d}ralentiza el descifrado. Dado quePAG{\displaystyle P}es un polinomio de grado como máximod{\displaystyle d}lo contrario dePAG{\displaystyle P}, denotado porPAG1{\displaystyle P^{-1}}se puede calcular end2(lnd)O(1)norte2Fq{\displaystyle d^{2}(\ln d)^{O(1)}n^{2}\mathbb {F} _{q}}operaciones. [ 5 ]

Cifrado y descifrado

La clave pública la proporciona elnorte{\displaystyle n}polinomios multivariados(pag1,...,pagnorte){\displaystyle (p_{1},...,p_{n})}encimaFq{\displaystyle \mathbb {F} _{q}}Por lo tanto, es necesario transmitir el mensaje.METRO{\displaystyle M}deFqnorteFqnorte{\displaystyle \mathbb {F} _{q^{n}}\to \mathbb {F} _{q}^{n}}para cifrarlo, es decir, asumimos queMETRO{\displaystyle M}es un vector(incógnita1,...,incógnitanorte)Fqnorte{\displaystyle (x_{1},...,x_{n})\in \mathbb {F} _{q}^{n}}Para cifrar el mensajeMETRO{\displaystyle M}evaluamos cada unopagi{\displaystyle p_{i}}en(incógnita1,...,incógnitanorte){\displaystyle (x_{1},...,x_{n})}El texto cifrado es(pag1(incógnita1,...,incógnitanorte),pag2(incógnita1,...,incógnitanorte),...,pagnorte(incógnita1,...,incógnitanorte))Fqnorte{\displaystyle (p_{1}(x_{1},...,x_{n}),p_{2}(x_{1},...,x_{n}),...,p_{n}(x_{1},...,x_{n}))\in \mathbb {F} _{q}^{n}}.

Para entender el descifrado, expresemos el cifrado en términos deS,T,PAG{\displaystyle S,T,P}. Tenga en cuenta que estos no están disponibles para el remitente. Al evaluar elpagi{\displaystyle p_{i}}en el mensaje que aplicamos primeroS{\displaystyle S}, Resultando enincógnita{\displaystyle x'}. En este puntoincógnita{\displaystyle x'}se transfiere desdeFqnorteFqnorte{\displaystyle \mathbb {F} _{q^{n}}\to \mathbb {F} _{q^{n}}}así podemos aplicar el polinomio privadoPAG{\displaystyle P}que está terminadoFqnorte{\displaystyle \mathbb {F} _{q^{n}}}y este resultado se denota poryFqnorte{\displaystyle y'\in \mathbb {F} _{q^{n}}}. Una vez más,y{\displaystyle y'}se transfiere al vector(y1,...,ynorte){\displaystyle (y_{1}',...,y_{n}')}y la transformaciónT{\displaystyle T}se aplica y el resultado finalyFqnorte{\displaystyle y\in \mathbb {F} _{q^{n}}}se produce a partir de(y1,...,ynorte)Fqnorte{\displaystyle (y_{1},...,y_{n})\in \mathbb {F} _{q}^{n}}.

Para descifrary{\displaystyle y}Los pasos anteriores se realizan en orden inverso. Esto es posible si la clave privada(S,PAG,T){\displaystyle (S,P,T)}es conocido. El paso crucial en el descifrado no es la inversión deS{\displaystyle S}yT{\displaystyle T}sino más bien los cálculos de la solución dePAG(incógnita)=y{\displaystyle P(x')=y'}. DesdePAG{\displaystyle P}No es necesariamente una biyección, se puede encontrar más de una solución a esta inversión (existen como máximo d soluciones diferentes).incógnita=(incógnita1,...,incógnitad)Fqnorte{\displaystyle X'=(x_{1}',...,x_{d}')\in \mathbb {F} _{q^{n}}}desdePAG{\displaystyle P}es un polinomio de grado d). La redundancia denotada comor{\displaystyle r}se agrega en el primer paso al mensajeMETRO{\displaystyle M}para seleccionar el correctoMETRO{\displaystyle M}del conjunto de solucionesincógnita{\displaystyle X'}. [ 1 ] [ 3 ] [ 6 ] El diagrama a continuación muestra el HFE básico para el cifrado.

METRO+rincógnitasecreto:Sincógnitasecreto:PAGysecreto:Ty{\displaystyle M{\overset {+r}{\to }}x{\overset {{\text{secret}}:S}{\to }}x'{\overset {{\text{secret}}:P}{\to }}y'{\overset {{\text{secret}}:T}{\to }}y}

Variaciones de HFE

Las ecuaciones de campo oculto tienen cuatro variaciones básicas, a saber, +, -, v y f, y es posible combinarlas de diversas maneras. El principio básico es el siguiente:

01. El signo + consiste en la mezcla lineal de las ecuaciones públicas con algunas ecuaciones aleatorias.
02. El signo - se debe a Adi Shamir y pretende eliminar la redundancia 'r' de las ecuaciones públicas.
03. El signo f consiste en fijar algunosF{\displaystyle f}variables de entrada de la clave pública, esta variante a veces se denomina p de proyección.
04. El signo v se define como una construcción, a veces bastante compleja, de tal manera que la inversa de la función solo se puede hallar si se fijan algunas variables v, denominadas variables vinagre. Esta idea se debe a Jacques Patarin.
05. El símbolo IP significa perturbación interna, que consiste en añadir un polinomio cuadrático aleatorio a las ecuaciones secretas. Sin embargo, el polinomio cuadrático aleatorio se compone de una función lineal de rango pequeño, lo que permite invertirla.
06. La variante LL' consiste en añadir una combinación lineal aleatoria de un pequeño número de productos de mapeo lineal a cada ecuación pública. Está diseñada para usarse en modo cifrado.

Las operaciones anteriores preservan en cierta medida la resolubilidad de la función mediante el método de la puerta trasera.

HFE- y HFEv resultaron útiles en esquemas de firma, ya que evitan la ralentización de la generación de firmas y mejoran la seguridad general de HFE. En cambio, para el cifrado, tanto HFE- como HFEv conllevan un proceso de descifrado bastante lento , por lo que no se pueden eliminar demasiadas ecuaciones (HFE-) ni añadir demasiadas variables (HFEv). Tanto HFE- como HFEv se utilizaron para obtener Quartz. Sin embargo, debido al nuevo ataque Min-Ranks de Ding, Petzoldt y Tao, estos esquemas quedaron obsoletos. [ 7 ]

Para las firmas, ahora se recomienda usar HFE IP- o HFE IPv. [ 8 ] De hecho, la variante IP es muy eficaz contra ciertos tipos de ataques de rango mínimo (rango mínimo S), mientras que las variantes v o - son eficaces contra todos los demás ataques (principalmente ataques de rango mínimo T o ataques de base de Gröbner).

Para el cifrado, el único esquema recomendado actualmente es HFE LL'. [ 9 ]

Ataques de HFE

Existen dos ataques famosos contra HFE:

Recuperación de la clave privada ( Shamir -Kipnis): El punto clave de este ataque es recuperar la clave privada como polinomios univariados dispersos sobre el campo de extensión.Fqnorte{\displaystyle \mathbb {F} _{q^{n}}}El ataque solo funciona para HFE básico y falla para todas sus variantes.

Bases de Gröbner rápidas (Faugère): La idea de los ataques de Faugère es utilizar un algoritmo rápido para calcular una base de Gröbner del sistema de ecuaciones polinómicas. Faugère resolvió el desafío HFE 1 en 96 horas en 2002, y en 2003 Faugère y Joux colaboraron en la seguridad de HFE. [ 1 ]

Referencias

  1. 1 2 3 4 5 Christopher Wolf y Bart Preneel, Criptografía asimétrica: ecuaciones de campo ocultas
  2. Nicolas T. Courtois Sobre criptosistemas de clave pública con firma multivariada únicamente
  3. 1 2 Ilia Toli Sistemas criptográficos polinomiales ocultos
  4. Jean-Charles Faugère y Antoine Joux , Criptoanálisis algebraico de criptosistemas de ecuaciones de campo oculto (HFE) utilizando bases de Gröbner. Archivado el 11 de noviembre de 2008 en Wayback Machine.
  5. Nicolas T. Courtois, "La seguridad de las ecuaciones de campo ocultas"
  6. Jacques Patarin, Ecuaciones de campo oculto (HFE) y polinomio isomorfo (IP): dos nuevas familias de algoritmos asimétricos
  7. "Recuperación de clave mejorada del esquema de firma HFEv" . 2020.
  8. "¿Estado del arte de las variantes HFE? ¿Es posible reparar HFE con perturbaciones apropiadas?" . 2024.
  9. "Cifrados multivariados con perturbaciones LL': ¿es posible reparar HFE en el cifrado?" . 2024.
  • Nicolas T. Courtois, Magnus Daum y Patrick Felke, Sobre la seguridad de HFE, HFEv y Quartz
  • Andrey Sidorenko, Ecuaciones de campo oculto, Seminario EIDMA 2004 Technische Universiteit Eindhoven
  • Yvo G. Desmet, Criptografía de clave pública-PKC 2003, ISBN 3-540-00324-X