Există vreun avantaj de folosit $\bmod q$ metoda peste naïve (fără a folosi modulo)? Dacă da, este securitatea sau complexitatea de calcul sau orice alta?
Da; facand lucruri $\bmod q$ are avantajul practic că acțiunile sunt de lungime limitată; calcularea acţiunilor în $\mathbb{Z}$ ne poate determina să trimitem valori destul de lungi (deoarece valorile de acolo nu au o limită superioară).
Cu toate acestea, există și probleme de securitate:
Dezvăluirea acțiunilor în $\mathbb{Z}$ scurgeri de informații; de exemplu, să presupunem că cineva știe cota $(x, y)$ pentru $x=2$ care corespunde unui secret $z$. Adică i se dă o valoare $y = a_n2^n + a_{n-1} 2^{n-1} + ... + a_12^1 + z$. Acum, termenii nonconstanți sunt toți egali; deci dacă văd asta $y$ este ciudat, asta înseamnă că $z$ trebuie să fie și ciudat; adică tocmai am făcut scurgeri de lsbit. Extinderea acestei observații arată că o cotă $(x, y)$ dezvăluie valoarea de $z \bmod x$. O observație similară arată că două acțiuni $(x_0, y_0)$, $(x_1, y_1)$ dezvăluie de asemenea $z \bmod x_0 - x_1$. Acest lucru este în contrast cu Shamir Secret Sharing standard, care nu are o astfel de scurgere.
Shamir presupune că coeficienții secreti $a_n, a_{n-1}, ..., a_1$ sunt alese uniform. Cu toate acestea, se dovedește a fi imposibil să se selecteze uniform în mod aleatoriu dintr-un set de dimensiuni $\aleph_0$ (care este mulțimea numerelor întregi), adică orice metodă de selecție trebuie în mod necesar să fie părtinitoare. Și, în funcție de care este distribuția, această părtinire va scurge și informații suplimentare.
BTW: Shamir Secret Sharing nu se face neapărat modulo un prim mare; poate fi implementat pe orice câmp finit. În practică, folosim adesea chiar și câmpuri caracteristice, cum ar fi $GF(2^8)$ sau $GF(2^{128})$; securitatea este aceeași, dar are avantajul practic că totul se potrivește într-un număr întreg de octeți.