Multe criptări existente refuzate sunt pentru fișiere sau volume FS, care sunt prea grele pentru simple secrete scurte, cum ar fi parola, jetoanele etc.
Așa că încerc implementează un container cripto PoC bazat pe codul de streaming (ChaCha20), care criptează simultan mai multe secrete cu parole diferite și apoi se poate decripta unul dintre secrete cu parola corespunzătoare.
Unii explică schema simplă.Pentru un singur mesaj secret, codificați-l ca șir de octeți cu prefix de lungime $M$, apoi adăugați și adăugați octeți aleatori la $M$, și puneți mai întâi lungimea de umplere a prefixului. Aceasta rezultă $M_{full} = L_{pre-padding} || umplutură || M || umplutură $, apoi entropie aleatorie de 256 de biți $K$ a cripta $M_{full}$ la fel de $EM_{full} = ChaCha20(K, M_{full})$. După aceea, criptați $K$ cu o parolă $P$: $EK=ChaCha20(hash(P, sare), K)$. Ieșirea este $EK || EM_{full}$.
Pentru mai multe secrete, fiecare $(P_i, EK)$ decide a $(K_i, L^i_{pre-padding})$. Deci doar caută aleatoriu un valid $EK$, astfel încât toate mesajele $M_i$ nu se va suprapune. Întrebarea aici este că această schemă de securitate este suficientă pentru a folosi direct codul de streaming pentru fiecare secret?