Puncte:4

KMAC este doar SHA-3-256(CHEIE || mesaj)

drapel ng

Conform punctele forte de keccak tu ai:

Spre deosebire de SHA-1 și SHA-2, Keccak nu are slăbiciunea extensiei de lungime, prin urmare nu are nevoie de construcția imbricată HMAC. În schimb, calculul MAC poate fi efectuat prin simpla adăugare a mesajului cu cheia.

Înseamnă că pot obține un MAC de a mesaj doar prin calcul $\operatorname{SHA-3-256}(CHEIE \mathbin\| mesaj)$. Dacă acesta este cazul, de ce atunci $\operatorname{KMAC}$ exista?

Este $\operatorname{KMAC}$ la fel ca doar $\operatorname{SHA-3-256}(CHEIE \mathbin\| mesaj)$? Dacă nu, atunci cum se folosește $\operatorname{KMAC}$ pentru a genera o etichetă de autentificare diferită de cea de calcul $\operatorname{SHA-3-256}(CHEIE \mathbin\| mesaj)$?

Puncte:5
drapel in

KMAC standard este mai mult decât atât datorită separarea domeniilor prefixe; NIST SP 800-185

KMAC128(K, X, L, S):

Conditii de valabilitate: $\text{len}(K) < 2^{2040}$ și 0 USD \le L < 2^{2040}$ și $\text{len}(S) < 2^{2040}$

  1. newX = bytepad(cod_string(K), 168) || X || cod_dreapta(L).
  2. returnează cSHAKE128(newX, L, âKMACâ, S).

și

cSHAKE128(X, L, N, S):

Conditii de valabilitate: $\text{len}(N) < 2^{2040}$ și $\text{len}(S) < 2^{2040}$

  1. Dacă N = "" și S = "": returnează SHAKE128(X, L);
  2. Altfel: returnează KECCAK[256](bytepad(encode_string(N) || encode_string(S), 168) || X || 00, L)

și NIST FIPS 202

SHAKE128(M, d) = KECCAK[256] (M || 1111, d),


informații NIST despre sufixe;

Sufixul acceptă domeniul separare; adică, distinge intrările către KECCAK[c] care decurg din funcțiile hash SHA-3 din intrările care decurg din XOF-urile SHA-3 definite în Sec. 6.2, precum și alte domenii care poate fi definită în viitor.

Adică cuvinte, avem diferite oracole aleatorii pe separare de domeniu. SHA3 ​​și Blake2 sunt mai aproape de oracole aleatorii decât SHA256, deoarece sunt liberi de atacul de extensie a lungimii.

kelalaka avatar
drapel in
Celelalte funcții (Keccak și Sponge) pot fi văzute [aici](https://crypto.stackexchange.com/a/89665/18298)
Finlay Weber avatar
drapel ng
Prin „prefixe de separare a domeniilor” vă referiți la șirul personalizabil pe care îl ia cSHAKE?
kelalaka avatar
drapel in
Exact, cu [separarea domeniului](https://crypto.stackexchange.com/a/83307/18298) nucleul funcției hash se poate comporta ca diferite oracole aleatorii.
kelalaka avatar
drapel in
Prin mijloace personalizate, acestea sunt fixate de NIST în timpul standardizării. Am introdus cSHAKE128 corect, există și 256 de versiuni.
Finlay Weber avatar
drapel ng
Bine, multumesc! Digerez asta încet. Ceea ce vine în minte este: dacă acest șir personalizat este de fapt reparat de NIST, care este avantajul utilizării KMAC față de doar efectuarea manuală a SHA-3-256(KEY || mesaj)?
kelalaka avatar
drapel in
SHA3 ​​are o rezistență naturală la atac de lungime și este clar să vă așteptați să întrebați asta. Utilizați SHA-3-256 direct ca același oracol aleatoriu. De-a lungul timpului am învățat că nu ar trebui să facem acest lucru în timp ce putem separa domeniile.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.