Criptosistemul Benalo este o modificare a criptosistemului Goldwasser-Micali . Principala lor diferență este că criptosistemul vă permite să criptați un bloc de date la un moment dat, în timp ce în schema Goldwasser și Micali, fiecare bit de date este criptat separat [1] .
Proiectat de Josh Benalo în 1988. A fost utilizat în sistemele de vot electronic [2] .
Sistemul este parțial homomorf . Ca și în cazul multor criptosisteme cu cheie publică, acest sistem funcționează în grupul , unde este produsul a două numere prime .
Atunci cheia publică este , iar cheia secretă este .
Criptarea mesajelor :
În primul rând, rețineți că pentru orice și , sunt valabile următoarele:
Astfel, pentru a calcula , cunoscând , se efectuează operația cu logaritm discret a lui față de baza . Dacă numărul este mic, se poate găsi printr-o căutare exhaustivă, adică prin verificarea egalității pentru toți . Pentru valori mari de , constatarea poate fi efectuată folosind algoritmul Gelfond-Shanks (algoritmul pașilor mari și mici) , obținându-se complexitatea de timp a decriptării .
Decriptarea textului cifrat :
Criptosistemul Benalo este homomorf în ceea ce privește operația de adăugare:
, unde este funcția de criptare din mesaj
Puterea criptosistemului Benalo se bazează pe problema insolubilă a reziduurilor de grad înalt. Cunoscând dimensiunea blocului , modulul și textul cifrat , unde factorizarea numărului este necunoscută, este dificil din punct de vedere computațional să se determine textul simplu .