Puncte:1

De ce versiunea RFC a HKDF-Expand începe contorul la 1?

drapel in

În RFC 5869, definiția HKDF-Expand este dată după cum urmează, cu valoarea contorului final variind de la 1 la (presumabil) 255:

Ieșirea OKM este calculată după cum urmează:

   N = plafon (L/HashLen)
   T = T(1) | T(2) | T(3) | ... | T(N)
   OKM = primii L octeți din T

   Unde:
   T(0) = șir gol (lungime zero)
   T(1) = HMAC-Hash(PRK, T(0) | informații | 0x01)
   T(2) = HMAC-Hash(PRK, T(1) | informații | 0x02)
   T(3) = HMAC-Hash(PRK, T(2) | informații | 0x03)
   ...

Cu toate acestea, în secțiunea 4.2 din Hartie HKDF aceeași funcție este în schimb definită cu valoarea contorului începând de la 0. Există vreun motiv subtil pentru a evita o valoare 0 în acest octet de contor terminal?

DannyNiu avatar
drapel vu
Nu este singura modificare pe care oamenii IETF au făcut-o vreodată unui algoritm. Versiunea academică a cifrului ChaCha20 avea un numărător de 64 de biți IV și 64 de biți mare, l-au schimbat la 96 de biți IV și contor de 32 de biți pentru a se potrivi mai bine pentru protocoalele Internet.
DannyNiu avatar
drapel vu
Comentariul meu final aici este că, astfel de întrebări sunt mai bine adresate persoanelor care au luat decizia. Elaboratorii RFC-ului pot fi, probabil, încă contactați de la contactele enumerate în ultima pagină a RFC-ului respectiv. Unul dintre ei este un [membru](https://crypto.stackexchange.com/users/86083/hugo-krawczyk) al acestei comunități (deși inactiv).
Maarten Bodewes avatar
drapel in
Secondat, dar voi adăuga că ar fi util dacă ar putea răspunde aici sau - dacă primești un răspuns - să-l postezi ca răspuns personal.
Marc Ilunga avatar
drapel tr
Doar speculând, dar în ceea ce privește securitatea cred că diferența nu contează, deoarece securitatea se bazează pe securitatea PRF a HMAC. Dar poate că make este „ușor” de implementat naiv, deoarece contorul buclei este același cu valoarea contorului și nu este nevoie să faceți un „-1”?
drapel in
OK, voi întreba pe lista de corespondență CFRG, după cum știe ei. Pare puțin ciudat să-l restrângi la un singur octet și apoi să elimini 1/256 din capacitate!
Marc Ilunga avatar
drapel tr
cu sha256, un contor de 255 înseamnă aproximativ 7MB de date aleatorii.
kelalaka avatar
drapel in
este o chestiune de gust...
Maarten Bodewes avatar
drapel in
Nu ar fi 255 $ \cdot 32$ octeți, care este $(2^8 - 1) \cdot (2^5) = 2^{13} - 32 = 8 Ki - 32$ octeți de date?
Puncte:1
drapel in

Hugo Krawczyk răspuns pe lista de corespondență CFRG cu care versiunea RFC a fost ajustată pentru a fi compatibilă IKE, care începe contorul la 1:

Buna intrebare. Cred (am verificat un e-mail vechi de-al meu cu Pasi) asta a fost făcut pentru compatibilitate cu definiția HKDF în IKE (care este când am proiectat inițial HKDF, deși fără nume și am publicat analiză). Nu eram prea fericit că am fost limitat de înapoi compatibilitate, dar a fost considerat la acea vreme ca un obstacol mai puțin pentru adopție.

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.