The hârtie pe algoritmii bazați pe burete „SNEIKEN și SNEIKHA” AE și HASH, respectiv, prezintă o funcție de permutare pe 512 biți „SNEIK512” care, spre deosebire de alte permutări (adică: Keccak-f1600, gimli etc.) ia un parametru de domeniu. Algoritmii lor AE și HASH folosesc acest parametru pentru a stabili separarea domeniilor.
Toți ceilalți algoritmi AE și HASH pe care i-am văzut și care sunt bazați pe burete efectuează separarea domeniului prin modificarea biților din CAPACITATEA buretelui înainte de a calcula permutarea.
SNEIK512 modifică biții de stare cu domeniul (prin XOR la stare) la fiecare rundă de permutare pentru a genera eficient o permutare specifică domeniului. Rezultatul final pare să fie același: separarea domeniilor pentru AE și HASH.
Lucrarea nu intră în detaliu cu privire la modul în care aleg ce variabilă de stare de permutare să modifice (modifică RATE) și nici nu descrie nimic despre posibilul impact asupra securității al acestei modificări.
După ce ne-am gândit la acest design de permutare, se pare că aceasta poate fi o modalitate generalizată de a schimba permutările existente pentru a sprijini separarea domeniilor.
Întrebările mele sunt atunci:
- Poate fi aplicat acest lucru permutărilor existente (ex: keccak-f1600, gimli etc.) într-o manieră generală, fără a reduce/a afecta securitatea?
- Dacă da, această modificare poate fi generalizată (adică: regulă simplă de aplicat pentru orice funcție de permutare)?
- Există limite generalizate pentru cât de mult din stat poate fi modificat înainte de a exista un impact inacceptabil asupra securității (dacă există)?