Hidden Field Equations (HFE) este un tip de sistem criptografic cu cheie publică care face parte din criptografia multidimensională . Cunoscută și ca funcție de intrare ascunsă HFE unidirecțională. Acest sistem este o generalizare a sistemului Matsumoto-Imai și a fost introdus pentru prima dată de Jacques Patarin în 1996 la conferința Eurocrypt. [unu]
Sistemul de ecuații de câmp ascuns se bazează pe polinoame peste câmpuri finite de diferite dimensiuni pentru a masca relația dintre cheia privată și cheia publică. [2]
HFE este de fapt o familie care constă din HFE de bază și combinații de versiuni HFE. Familia de criptosisteme HFE se bazează pe dificultatea de a găsi soluții la un sistem de ecuații pătratice multivariate (așa-numita problemă MQ [3] ), deoarece folosește transformări afine parțiale pentru a ascunde expansiunea câmpului și polinoamele parțiale. Ecuațiile de câmp ascunse au fost, de asemenea, folosite pentru a construi scheme de semnătură digitală , cum ar fi Quartz și Sflash . [2] [1]
Atunci este un polinom în .
Să fie acum baza . Atunci expresia din bază este:
f ( X unu , . . . , X N ) = ( p unu ( X unu , . . . , X N ) , . . . , p N ( X unu , . . . , X N ) ) {\displaystyle f(x_{1},...,x_{N})=(p_{1}(x_{1},...,x_{N}),...,p_{N}( x_{1},...,x_{N}))}
unde sunt polinoame în variabile de gradul 2 .Acest lucru este adevărat, deoarece pentru orice număr întreg , este o funcție liniară a . Polinoamele pot fi găsite prin alegerea unei „reprezentări” . O astfel de „reprezentare” este de obicei dată prin alegerea unui polinom de grad ireductibil peste , deci putem specifica folosind . În acest caz, este posibil să găsiți polinoame .
Trebuie remarcat că nu este întotdeauna o permutare . Cu toate acestea, baza algoritmului
HFE este următoarea teoremă.Teorema : Fie un câmp finit, și cu și „nu prea mare” (de exemplu, și ). Fie un polinom dat într -un câmp cu gradul „nu prea mare” (de exemplu, ). Fie un element al câmpului . Apoi întotdeauna (pe un computer) puteți găsi toate rădăcinile ecuației .
În domeniu numărul elementelor publice .
Fiecare mesaj este reprezentat de o valoare , unde este un șir de elemente de câmp . Astfel, dacă , atunci fiecare mesaj este reprezentat prin biți. Mai mult, uneori se presupune că a fost plasată o oarecare redundanță în reprezentarea mesajului .
Ideea principală de a construi o familie de sisteme de ecuații de câmp ascuns ca un criptosistem multidimensional este de a construi o cheie secretă pornind de la un polinom cu o necunoscută peste un câmp finit .
[2] Acest polinom poate fi inversat peste , adică orice soluție a ecuației poate fi găsită dacă există. Transformarea secretă, precum și decriptarea și/sau semnătura, se bazează pe această inversare.După cum sa spus mai sus, poate fi identificat printr-un sistem de ecuații folosind o bază fixă. Pentru a construi un criptosistem, un polinom trebuie transformat în așa fel încât informațiile publice să ascundă structura originală și să împiedice inversarea. Acest lucru se realizează considerând câmpurile finite ca un
spațiu vectorial peste și alegând două transformări afine liniare și . Tripletul formează cheia privată. Polinomul privat este definit pe . Cheia publică este un polinom . [2] M → + r X → secret : S X ′ → secret : P y ′ → secret : T y {\displaystyle M{\overset {+r}{\to }}x{\overset {{\text{secret}}:S}{\to }}x'{\overset {{\text{secret}}: P}{\to }}y'{\overset {{\text{secret}}:T}{\to }}y}Ecuațiile câmpului ascuns au patru modificări de bază: + , - , v și f și pot fi combinate în moduri diferite. Principiul de bază este următorul [2] :
Cele mai cunoscute două atacuri asupra sistemului de ecuații de câmp ascuns [4] sunt: