Hidden Field Equations (HFE) es un tipo de sistema criptográfico de clave pública que forma parte de la criptografía multidimensional . También conocida como función de entrada oculta HFE unidireccional. Este sistema es una generalización del sistema Matsumoto-Imai y fue presentado por primera vez por Jacques Patarin en 1996 en la conferencia Eurocrypt. [una]
El sistema de ecuaciones de campos ocultos se basa en polinomios sobre campos finitos de diferentes tamaños para enmascarar la relación entre la clave privada y la clave pública. [2]
HFE es en realidad una familia que consta de HFE básicos y combinaciones de versiones de HFE. La familia de criptosistemas HFE se basa en la dificultad de encontrar soluciones a un sistema de ecuaciones cuadráticas multivariadas (el llamado problema MQ [3] ), porque utiliza transformaciones afines parciales para ocultar la expansión de campo y los polinomios parciales. Las ecuaciones de campos ocultos también se han utilizado para crear esquemas de firmas digitales , como Quartz y Sflash . [2] [1]
Entonces es un polinomio en .
Que ahora sea la base . Entonces la expresión en la base es:
F ( X una , . . . , X norte ) = ( pags una ( X una , . . . , X norte ) , . . . , pags norte ( X una , . . . , X norte ) ) {\displaystyle f(x_{1},...,x_{N})=(p_{1}(x_{1},...,x_{N}),...,p_{N}( x_{1},...,x_{N}))} donde son polinomios en variables de grado 2 .Esto es cierto, ya que para cualquier número entero , es una función lineal de . Los polinomios se pueden encontrar eligiendo una "representación" . Tal "representación" generalmente se da eligiendo un polinomio de grado irreducible sobre , por lo que podemos especificar usando . En este caso, es posible encontrar polinomios .
Cabe señalar que no siempre se trata de una permutación . Sin embargo, la base del algoritmo
HFE es el siguiente teorema.Teorema : Sea un campo finito, y con y "no demasiado grande" (por ejemplo, y ). Sea un polinomio dado sobre un campo con grado “no demasiado grande” (por ejemplo, ). Sea un elemento del campo . Entonces siempre (en una computadora) puedes encontrar todas las raíces de la ecuación .
En el campo el número de elementos públicos .
Cada mensaje está representado por un valor , donde es una cadena de elementos de campo . Así, si , entonces cada mensaje está representado por bits. Además, a veces se supone que se ha colocado alguna redundancia en la representación del mensaje .
La idea principal de construir una familia de sistemas de ecuaciones de campo oculto como un criptosistema multidimensional es construir una clave secreta a partir de un polinomio con una incógnita sobre algún campo finito .
[2] Este polinomio se puede invertir sobre , es decir, se puede encontrar cualquier solución a la ecuación si existe. La transformación del secreto, así como el descifrado y/o la firma, se basan en esta inversión.Como se dijo anteriormente, se puede identificar mediante un sistema de ecuaciones que utiliza una base fija. Para construir un criptosistema, un polinomio debe transformarse de tal manera que la información pública oculte la estructura original y evite la inversión. Esto se logra considerando campos finitos como un
espacio vectorial y eligiendo dos transformaciones afines lineales y . El triplete forma la clave privada. El polinomio privado se define en . La clave pública es un polinomio . [2] METRO → + r X → secreto : S X ′ → secreto : PAGS y ′ → secreto : T y {\displaystyle M{\overset {+r}{\to }}x{\overset {{\text{secreto}}:S}{\to }}x'{\overset {{\text{secreto}}: P}{\a }}y'{\overset {{\text{secreto}}:T}{\a }}y}Las ecuaciones de campo oculto tienen cuatro modificaciones básicas: + , - , v y f , y se pueden combinar de diferentes maneras. El principio básico es el siguiente [2] :
Los dos ataques más famosos al sistema de ecuaciones de campo oculto [4] son: