Tsutomu Matsumoto and Hideki Imai (1988) presented their so-called C* scheme at the Eurocrypt conference. Although C* has been broken by Jacques Patarin (1995), the general principle of Matsumoto and Imai has inspired a generation of improved proposals. In later work, the "Hidden Monomial Cryptosystems" was developed by (in French) Jacques Patarin. It is based on a ground and an extension field. "Hidden Field Equations" (HFE), developed by Patarin in 1996, remains a popular multivariate scheme today [P96]. The security of HFE has been thoroughly investigated, beginning with a direct Gröbner basis attack [FJ03, GJS06], key-recovery attacks (Kipnis & Shamir 1999) [BFP13], and more. The plain version of HFE is considered to be practically broken, in the sense that secure parameters lead to an impractical scheme. However, some simple variants of HFE, such as the minus variant and the vinegar variant allow one to strengthen the basic HFE against all known attacks.
In addition to HFE, Patarin developed other schemes. In 1997 he presented “Balanced Oil & Vinegar” and in 1999 “Unbalanced Oil and Vinegar”, in cooperation with Aviad Kipnis and Louis Goubin (Kipnis, Patarin & Goubin 1999).
Multivariate Quadratics involves a public and a private key. The private key consists of two affine transformations, S and T, and an easy to invert quadratic map P ′ : F m → F n {\displaystyle P'\colon F^{m}\rightarrow F^{n}} . We denote the n × n {\displaystyle n\times n} matrix of the affine endomorphisms S : F n → F n {\displaystyle S\colon F^{n}\rightarrow F^{n}} by M S {\displaystyle M_{S}} and the shift vector by v S ∈ F n {\displaystyle v_{S}\in F^{n}} and similarly for T : F m → F m {\displaystyle T\colon F^{m}\rightarrow F^{m}} . In other words,
The triple ( S − 1 , P ′ − 1 , T − 1 ) {\displaystyle (S^{-1},{P'}^{-1},T^{-1})} is the private key, also known as the trapdoor. The public key is the composition P = S ∘ P ′ ∘ T {\displaystyle P=S\circ P'\circ T} which is by assumption hard to invert without the knowledge of the trapdoor.
Signatures are generated using the private key and are verified using the public key as follows. The message is hashed to a vector in y ∈ F n {\displaystyle y\in F^{n}} via a known hash function. The signature is
The receiver of the signed document must have the public key P in possession. He computes the hash y {\displaystyle y} and checks that the signature x {\displaystyle x} fulfils P ( x ) = y {\displaystyle P(x)=y} .
Garey, Michael R. (1979). Computers and intractability : a guide to the theory of NP-completeness. Johnson, David S., 1945-. San Francisco: W.H. Freeman. ISBN 0-7167-1044-7. OCLC 4195125. 0-7167-1044-7 ↩
Moody, Dustin (22 August 2019). "The 2nd Round of the NIST PQC Standardization Process". NIST. Retrieved 11 October 2020. https://csrc.nist.gov/Presentations/2019/the-2nd-round-of-the-nist-pqc-standardization-proc ↩