În secțiunea 3.2 „Moduri de utilizare a funcțiilor burete” a Funcții de burete criptografic (CSF pe scurt în sensul acestui răspuns), autorii au enumerat mai multe „moduri de operare” în scopuri diferite, aplicațiile de criptare flux fiind una dintre ele. Iată tabelul:
Funcționalitate |
Expresie |
Intrare |
Ieșire |
$n$-biți funcție hash |
$h = H(M)$ |
$M$ |
$\lfloor Z \rfloor _n$ |
$n$-biți funcție hash randomizată |
$h = H_R(M)$ |
$R|M$ |
$\lfloor Z \rfloor _n$ |
$n$-bit hash diferențierea instanței funcției |
$h = H_D(M)$ |
$D|M$ |
$\lfloor Z \rfloor _n$ |
Încet $n$-bit funcție unidirecțională |
$h = H_{\text{lent}}(M)$ |
$M|0^N$ |
$\lfloor Z \rfloor _n$ |
$n$-biți funcție MAC |
$T = MAC(K,[IV,]M)$ |
$K|IV|M$ |
$\lfloor Z \rfloor _n$ |
Cifrarea fluxului cu acces aleatoriu ($n$bloc de biți) |
$z_i = F(K,IV,i)$ |
$K|IV|i$ |
$\lfloor Z \rfloor _n$ |
Cifrarea fluxului |
$Z=F(K,IV)$ |
$K|IV$ |
asa cum este |
Generator de biți aleatori determinist (DRBG) |
$z=DRBG(sămânță)$ |
sămânță |
asa cum este |
Funcția de generare a măștilor și de derivare a cheilor |
$masca=F(samanta,l)$ |
sămânță |
$\lfloor Z \rfloor _l$ |
Există vreo literatură despre utilizarea SHAKE256_XOF ca cifru?
Ei bine, hârtia te cuprinde.
Cum se compară această metodă cu AES256 în ceea ce privește securitatea?
Această metodă are putere egală în ceea ce privește forța brutală. un cod de flux SHAKE va putea avea perioade mai lungi decât AES-256, fie în modul contor (CTR), fie în modul de feedback al cifrului (CFB).
Care sunt punctele slabe sau dezavantajele acestui cifr? Evident, utilizarea lui SHA3-512 pentru a-l autentifica înseamnă că nu poate fi criptat eficient într-o singură trecere, iar decriptarea necesită calcularea rezumatului SHA3-512 pentru a se autentifica (învăț cum funcționează criptarea autentificată, așa că sugestiile și feedback-ul sunt binevenite).
De fapt, dacă te uiți la modurile „duplex” (pe care lucrarea CSF le acoperă și), AEAD-urile sunt de fapt mai ușor de implementat într-o singură trecere.
Oferă vreun avantaj posibil față de AES256?
Am menționat 2 (lungimea perioadei, 1 trecere). De asemenea, are o scalabilitate mai bună a parametrilor decât cifrul-bloc cu lățime fixă, așa că îl consider al treilea.
AES256 are rezistență de 128 de biți împotriva atacurilor cuantice teoretice. Acest cifr ar menține min(lungime_cheie/2, 256)
biți de rezistență la atacurile cuantice teoretice pe care le are SHAKE256_XOF.
Probabil, dar nu sunt prea bun la matematică.