Hidden Field Equations
   HOME

TheInfoList



OR:

Hidden Fields Equations (HFE), also known as HFE trapdoor function, is a
public key Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
cryptosystem which was introduced at Eurocrypt in 1996 and proposed by Jacques Patarin following the idea of the Matsumoto and Imai system. It is based on polynomials over finite fields \mathbb_q of different size to disguise the relationship between the
private key Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
and
public key Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
. HFE is in fact a family which consists of basic HFE and combinatorial versions of HFE. The HFE family of cryptosystems is based on the hardness of the problem of finding solutions to a system of multivariate
quadratic equations In algebra, a quadratic equation () is any equation that can be rearranged in standard form as ax^2 + bx + c = 0\,, where represents an unknown value, and , , and represent known numbers, where . (If and then the equation is linear, not quadr ...
(the so-called MQ problem) since it uses private
affine transformations In Euclidean geometry, an affine transformation or affinity (from the Latin, ''affinis'', "connected with") is a geometric transformation that preserves lines and parallelism, but not necessarily Euclidean distances and angles. More generally, ...
to hide the extension field and the private polynomials. Hidden Field Equations also have been used to construct digital signature schemes, e.g. Quartz and Sflash.Christopher Wolf and Bart Preneel, Asymmetric Cryptography: Hidden Field Equations
/ref>


Mathematical background

One of the central notions to understand how Hidden Field Equations work is to see that for two extension fields \mathbb_ \mathbb_ over the same base field \mathbb_q one can interpret a system of m multivariate polynomials in n variables over \mathbb_q as a function \mathbb_ \to \mathbb_ by using a suitable
basis Basis may refer to: Finance and accounting * Adjusted basis, the net cost of an asset after adjusting for various tax-related items *Basis point, 0.01%, often used in the context of interest rates * Basis trading, a trading strategy consisting ...
of \mathbb_ over \mathbb_q. In almost all applications the polynomials are quadratic, i.e. they have degree 2.Nicolas T. Courtois On Multivariate Signature-only public key cryptosystems
/ref> We start with the simplest kind of polynomials, namely monomials, and show how they lead to quadratic systems of equations. Consider a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
\mathbb_q, where q is a power of 2, and an extension field K. Let 0 such that h=q^+1 for some \theta and gcd (h,q^n-1)=1 . The condition gcd (h,q^n-1) =1 is equivalent to requiring that the map u \to u^h on K is one to one and its inverse is the map u \to u^ where h' is the multiplicative inverse of h \ \bmod q^n-1 . Take a random element u\in \mathbb_. Define w\in \mathbb_ by : w= u ^h = u^ u \ \ \ \ (1) Let \beta_1,...,\beta_n to be a
basis Basis may refer to: Finance and accounting * Adjusted basis, the net cost of an asset after adjusting for various tax-related items *Basis point, 0.01%, often used in the context of interest rates * Basis trading, a trading strategy consisting ...
of K as an \mathbb_q
vector space In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called '' vectors'', may be added together and multiplied ("scaled") by numbers called ''scalars''. Scalars are often real numbers, but can ...
. We represent u with respect to the basis as u=(u_1,...,u_n) and w=(w_1,...,w_n). Let A^= be the matrix of the linear transformation u \to u^ with respect to the basis \beta_1,...,\beta_n, i.e. such that : \beta_^=\sum_^ a_^\beta_,\ \ a_^\in\mathbb_q for 1\le i,k\le n . Additionally, write all products of basis elements in terms of the basis, i.e.: : \beta_i\beta_j=\sum_^m_\beta_,\ \ m_\in\mathbb_q for each 1\le i,j\le n . The system of n equations which is explicit in the w_i and quadratic in the u_j can be obtained by expanding (1) and equating to zero the coefficients of the \beta_i . Choose two secret affine transformations S and T , i.e. two invertible n\times n matrices M_S=\ and M_T=\ with entries in \mathbb_q and two vectors v_S and v_T of length n over \mathbb_q and define x and y via: : u=Sx = M_Sx+v_S \ \ \ \ w= Ty = M_Ty+v_T \ \ \ \ (2) By using the affine relations in (2) to replace the u_j, w_i with x_k,y_l , the system of n equations is
linear Linearity is the property of a mathematical relationship ('' function'') that can be graphically represented as a straight line. Linearity is closely related to '' proportionality''. Examples in physics include rectilinear motion, the linear ...
in the y_l and of degree 2 in the x_k . Applying
linear algebra Linear algebra is the branch of mathematics concerning linear equations such as: :a_1x_1+\cdots +a_nx_n=b, linear maps such as: :(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n, and their representations in vector spaces and through matrices ...
it will give n explicit equations, one for each y_l as polynomials of degree 2 in the x_k .Ilia Toli Hidden Polynomial Cryptosystems
/ref>


Multivariate cryptosystem

The basic idea of the HFE family of using this as a multivariate cryptosystem is to build the secret key starting from a
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
P in one unknown x over some
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
\mathbb_ (normally value q=2 is used). This
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
can be easily inverted over \mathbb_ , i.e. it is feasible to find any solutions to the equation P(x)=y when such solution exist. The secret transformation either
decryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can deci ...
and/or
signature A signature (; from la, signare, "to sign") is a handwritten (and often stylized) depiction of someone's name, nickname, or even a simple "X" or other mark that a person writes on documents as a proof of identity and intent. The writer of a ...
is based on this inversion. As explained above P can be identified with a system of n equations (p_1,...,p_n) using a fixed basis. To build a cryptosystem the
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
(p_1,...,p_n) must be transformed so that the public information hides the original structure and prevents inversion. This is done by viewing the finite fields \mathbb_ as a
vector space In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called '' vectors'', may be added together and multiplied ("scaled") by numbers called ''scalars''. Scalars are often real numbers, but can ...
over \mathbb_q and by choosing two linear affine transformations S and T . The triplet (S,P,T) constitute the private key. The private
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
P is defined over \mathbb_ . Jean-Charles Faugère and
Antoine Joux Antoine Joux (born 1967) is a French cryptographer,"Antoine Joux, Prix Gödel 2013"
Bullet ...

Algebraic Cryptanalysis of Hidden Field Equations (HFE) Cryptosystems Using Gröbner Bases
The public key is (p_1,...,p_n) . Below is the diagram for MQ-trapdoor (S,P,T) in HFE :\text x\to x=(x_1,...,x_n)\oversetx'\oversety'\overset\text y


HFE polynomial

The private
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
P with degree d over \mathbb_ is an element of \mathbb_ . If the terms of
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
P have at most quadratic terms over \mathbb_ then it will keep the public polynomial small. The case that P consists of monomials of the form x^, i.e. with 2 powers of q in the exponent is the basic version of HFE, i.e. P is chosen as : P(x)=\sum c_i x^ The degree d of the
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
is also known as security parameter and the bigger its value the better for security since the resulting set of quadratic equations resembles a randomly chosen set of quadratic equations. On the other side large d slows down the deciphering. Since P is a
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
of degree at most d the inverse of P , denoted by P^ can be computed in d^2(\ln d)^ n^2 \mathbb_q operations.


Encryption and decryption

The public key is given by the n multivariate polynomials (p_1,...,p_n) over \mathbb_q. It is thus necessary to transfer the message M from \mathbb_ \to \mathbb_q^n in order to encrypt it, i.e. we assume that M is a vector (x_1,...,x_n)\in \mathbb_q^n . To encrypt message M we evaluate each p_i at (x_1,...,x_n). The ciphertext is (p_1(x_1,...,x_n), p_2(x_1,...,x_n), ... ,p_n(x_1,...,x_n))\in \mathbb_q^n. To understand decryption let us express encryption in terms of S, T, P . Note that these are ''not'' available to the sender. By evaluating the p_i at the message we first apply S , resulting in x' . At this point x' is transferred from \mathbb_ \to \mathbb_ so we can apply the private polynomial P which is over \mathbb_ and this result is denoted by y'\in \mathbb_ . Once again, y' is transferred to the vector (y_1',...,y_n') and the transformation T is applied and the final output y\in \mathbb_ is produced from (y_1,...,y_n)\in \mathbb_q^n . To decrypt y , the above steps are done in reverse order. This is possible if the private key (S,P,T) is known. The crucial step in the deciphering is not the inversion of S and T but rather the computations of the solution of P(x')=y' . Since P is not necessary a bijection, one may find more than one solution to this inversion (there exist at most d different solutions X'=(x_1',...,x_d')\in\mathbb_ since P is a polynomial of degree d). The redundancy denoted as r is added at the first step to the message M in order to select the right M from the set of solutions X'.Jacques Patarin, Hidden Field Equations (HFE) and Isomorphic Polynomial (IP): two new families of asymmetric algorithm
/ref> The diagram below shows the basic HFE for encryption. :M\oversetx\oversetx'\oversety'\oversety


HFE variations

Hidden Field Equations has four basic variations namely +,-,v and f and it is possible to combine them in various way. The basic principle is the following: :01. The + sign consists of linearity mixing of the public equations with some random equations. :02. The - sign is due to
Adi Shamir Adi Shamir ( he, עדי שמיר; born July 6, 1952) is an Israeli cryptographer. He is a co-inventor of the Rivest–Shamir–Adleman (RSA) algorithm (along with Ron Rivest and Len Adleman), a co-inventor of the Feige–Fiat–Shamir identifi ...
and intends to remove the redundancy 'r' of the public equations. :03. The f sign consists of fixing some f input variables of the public key. :04. The v sign is defined as a construction and sometimes quite complex such that the inverse of the function can be found only if some v of the variables called vinegar variables are fixed. This idea is due to Jacques Patarin. The operations above preserve to some extent the trapdoor solvability of the function. HFE- and HFEv are very useful in signature schemes as they prevent from slowing down the signature generation and also enhance the overall security of HFE whereas for
encryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can de ...
both HFE- and HFEv will lead to a rather slow
decryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can deci ...
process so neither too many equations can be removed (HFE-) nor too many variables should be added (HFEv). Both HFE- and HFEv were used to obtain Quartz. For encryption, the situation is better with HFE+ since the
decryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can deci ...
process takes the same amount of time, however the public key has more equations than variables.


HFE attacks

There are two famous attacks on HFE: Recover the Private Key ( Shamir-Kipnis): The key point of this attack is to recover the private key as sparse univariate polynomials over the extension field \mathbb_ . The attack only works for basic HFE and fails for all its variations. Fast Gröbner Bases (Faugère): The idea of Faugère's attacks is to use fast algorithm to compute a
Gröbner basis In mathematics, and more specifically in computer algebra, computational algebraic geometry, and computational commutative algebra, a Gröbner basis is a particular kind of generating set of an ideal in a polynomial ring over a field . A Gröbn ...
of the system of polynomial equations. Faugère broke the HFE challenge 1 in 96 hours in 2002, and in 2003 Faugère and Joux worked together on the security of HFE.


References


Nicolas T. Courtois, Magnus Daum and Patrick Felke, On the Security of HFE, HFEv- and Quartz

Andrey Sidorenko, Hidden Field Equations, EIDMA Seminar 2004 Technische Universiteit Eindhoven
* Yvo G. Desmet, Public Key Cryptography-PKC 2003, {{Cryptography navbox , public-key Public-key encryption schemes Finite fields Multivariate cryptography