Puncte:0

Utilizarea HMAC-SHA256(cheie, contor) pentru furnizarea de pad numai este vulnerabilă la Bruteforce?

drapel cn
ciphertext1 = hmac-sha256(key, counter1) â (text clar1 cu hash text clar1 sha1)
ciphertext2 = hmac-sha256(key, counter2) â (text clar2 cu hash text clar2 sha1)
ciphertext3 = hmac-sha256(key ,counter3) â (plaintext3 cu text clar3 sha1 hash)
.
.
.

Notă: counterN crește în timp ce (plaintextN cu plaintextN sha1 hash) este mai lung decât hmac-sha256(key, counterN). Deci, este o funcție while pentru a continua hmac-sha256 cu contoare crescute

Să spunem că Eve știe contoare și texte cifrate.Poate Eve să facă altceva decât bruteforce pentru a găsi cheia? Este necesară ascunderea contorului de Eve? Sau poate Eve să rupă acest cifr fără cheie? Care este limita de utilizare a acestui algoritm pentru a continua să folosească aceeași cheie pentru hmac-sha256?

Nota-2: Nu sunt criptograf. Este doar curiozitate

Notă-3: lungimea cheii este de 256 de biți

kelalaka avatar
drapel in
De ce criptați cu HMAC? va fi mult mai lent decât utilizarea KMAC sau BLAKE2b ca MAC cu cheie... se pare că utilizați HMAC ca mod CTR. În schimb, puteți utiliza [Hash în acest fel](https://crypto.stackexchange.com/q/1656/18298)
drapel cn
Da, se pare că ai dreptate în privința vitezei. Și, desigur, în legătură, partea din „AES a fost analizată mult mai pe larg” este confuză. Dar și această parte este clar corectă. Cred că ar trebui să studiez pe BLAKE sau KMAC. Mulțumesc!
Maarten Bodewes avatar
drapel in
Nu aș folosi SHA-1 în acest fel. Dacă un atacator cunoaște textul simplu și hash, ar putea efectua un atac flip. Deci, cred că răspunsul este nu. În schimb, puteți înlocui SHA-1 cu un HMAC over the counter + text cifrat. De asemenea, nu sunt sigur că algoritmul este descris bine, deoarece contorul este folosit atât ca nonce, cât și pentru a cripta mai mult din mesaj, dar asta este mai mult o problemă cu descrierea decât cu cifrul presupun.
drapel cn
Da ai dreptate.Așa că pot spune „hmac-sha256 (cheie, contor) â (text simplu cu hmac-sha1 (text simplu, poate_o altă cheie))” nu? Și probabil că nu am descris bine, dar nu știu unde am făcut o descriere confuză... Dacă partea „cu” este confuză, vreau să spun să pun spațiu între textul simplu și rezultatul hmac-sha1, apoi xor-o cu rezultatul hmac-sha256
drapel cn
Sunt prost :p Partea „hmac-sha1(text simplu, maybe_another_key)” nu este necesară. Și am decis să folosesc asta: „ciphertext1 = blake3(counter, key) â plaintext” și „hash = blake3(ciphertext1, another_key)” trimit ciphertext1 și hash. Mulțumesc Maarten și Kelalaka. Cred că acum am făcut adevărat, nu-i așa? (scuze de deranj)

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.