De ce un câmp: Ideea din spatele partajării secrete a lui Shamir este atât de a reconstrui secretul (funcționalitatea) cât și de a demonstra că orice secret partajat este posibil (securitate) folosind interpolarea polinomială.
În timp ce interpolarea polinomială se poate face pe mai multe structuri algebrice, va funcționa întotdeauna pe un câmp. (Peste un câmp, un polinom diferit de zero are cel mult tot atâtea zerouri cât gradul său. Peste alte structuri algebrice înrudite, acest lucru nu este de obicei adevărat.)
În timp ce împărtășirea secretă a lui Shamir se face de obicei pe câmpuri, a fost făcută peste multe alte structuri algebrice. Acest lucru necesită de obicei mare grijă și este complicat. Dacă nu trebuie cu adevărat, este mult mai ușor și de preferat să faci acest lucru pe câmpuri.
De ce finit: Nu este suficient pentru securitate ca orice secret partajat să fie posibil, fiecare secret partajat trebuie, de asemenea, să fie (aproape) la fel de probabil. Folosirea câmpurilor finite ne permite să alegem aleatoritatea dintr-o distribuție uniformă, care se dovedește a ne oferi exact ceea ce ne dorim.
Am putea lucra pe un câmp infinit, cum ar fi numerele raționale, dar în acest caz ar fi foarte dificil să facem ca fiecare secret comun să fie aproape la fel de probabil. Acest lucru este legat de a nu avea o distribuție uniformă pe mulțimi infinite. În linii mari, o modalitate de a privi este că mărimea valorii este legată de mărimea coeficienților și de locul în care evaluăm, așa că dacă vrem să ascundem unul dintre coeficienți, trebuie să-l „înecăm” având ceilalți coeficienți să fie mult mai mari.
A face acest lucru peste numere întregi (nu un câmp!) se poate face, dar ajungerea la securitate necesită destul de multă muncă. Ca efect secundar (cel puțin pentru schema pe care m-am uitat), acțiunile ajung să fie mult mai mari. Nu doriți aceste costuri decât dacă aveți un motiv întemeiat. (Ceea ce faci, uneori.)
Am putea încerca să lucrăm peste o aproximare a unui câmp infinit, cum ar fi numerele reale sau complexe, dar în acest caz lucrurile devin mult mai complicate, deoarece trebuie să ne ocupăm și de aritmetica inexactă. Nu am văzut pe nimeni încercând să facă asta, decât din greșeală.
Alte domenii ale criptografiei: Câmpurile finite sunt folosite peste tot în criptografie. În mod obișnuit, acest lucru este legat de elemente diferite de zero în câmpuri care au inverse multiplicative, ceea ce ne dorim foarte des. Operația are, de asemenea, multe alte proprietăți frumoase, demonstrabile.
Partea finită este de obicei necesară pentru caracterul practic și uneori din cauza proprietăților particulare ale câmpurilor finite.
AES: Un exemplu este în AES sbox, unde multe proprietăți dezirabile decurg din proprietățile algebrice. Nu veți obține aceleași proprietăți algebrice de la numerele întregi modulo 256 (un inel), de exemplu.
Subgrup multiplicativ: Un alt exemplu este subgrupul multiplicativ al câmpului finit (elementele nenule ale unui câmp finit formează un grup ciclic), care pentru un câmp finit atent ales se dovedește a fi un grup potrivit pentru criptografia bazată pe d.log. (Logaritmii discreti sunt definiți într-un mod similar cu logaritmii obișnuiți, dar se dovedește că în unele grupuri par a fi foarte greu de calculat fără un computer cuantic.)
În acest caz, am putea folosi și anumite inele, dar se dovedește că în practică câmpurile finite prime sunt mai bune pentru acest tip de aplicație. De exemplu, securitatea nu depinde de o ordine de grup secretă, ceea ce ne permite să facem unele lucruri pe care nu le puteți face dacă ordinea de grup este necunoscută. (RSA funcționează peste astfel de inele, dar are alte proprietăți și cerințe.)
Curbele eliptice: Un alt exemplu sunt curbele eliptice, care sunt utilizate pe scară largă în criptografie (chiar și cripto-post-cuantică). În timp ce ceva asemănător curbelor eliptice poate fi definit peste alte structuri algebrice, cum ar fi inelele, teoria bogată a curbelor eliptice necesită lucrul peste câmpuri.
Studiul curbelor eliptice este o parte importantă a teoriei numerelor, dar, în scopuri criptografice, curbele definite pe câmpuri infinite sunt nepractice sau nepotrivite pentru scopuri funcționale și nu au proprietățile de securitate necesare. (De exemplu, un log discret aproximativ poate fi calculat analizând dimensiunea coordonatelor, care ar fi afectat securitatea, dacă nu ar fi fost mai întâi ruptă în mod cuprinzător caracterul practic.) Chiar dacă curbele eliptice definite pe câmpuri infinite nu sunt utilizate funcțional în criptografie, studiul lor este esențial pentru analiza criptografiei cu curbe eliptice.
Curbele eliptice peste anumite inele finite au fost luate în considerare în contexte criptografice, dar cu excepția cazurilor obscure nu oferă nimic de interes. (Factorizarea curbei eliptice este în mod evident cu excepția!)
Alte exemple: Criptografia bazată pe zăbrele și criptografia bazată pe cod, care utilizează structuri algebrice definite pe câmpuri finite. Criptografia multivariată, care se bazează pe sisteme de ecuații polinomiale pe câmpuri finite.
Din nou, multe din acest lucru se pot face pe anumite inele finite, dar există multe dezavantaje și nu prea multe de câștigat.