Puncte:1

Dacă un atacator nu cunoaște secretul S, în timp ce constanta K și SHA3(K + SHA3(S)) sunt cunoscute unui atacator, este S descoperit?

drapel pe

Încerc să înțeleg cât de sigur S este de la un atacator. Să spunem într-o situație în care au la dispoziție o putere de hashing enormă, cum ar fi cazul în care dețin platforme de exploatare a criptomonedei.

Cu alte cuvinte, atacatorul nu trebuie să poată afla secretul S:

  • S = „fraza mea secretă”

Dar atacatorul are cunoștințe complete despre ambele:

  • constant K = „o constantă cunoscută public”
  • un hash combinat din ambele K și hașul de S = SHA3(K + SHA3(S)) = 9cc2679d4eb37c26cb82db4fdec8ac3787b3eff6efd18ec839397798a9ed402f
Puncte:1
drapel in
  • Prima privire la $\operatorname{SHA3}(S)$

    $\operatorname{SHA3}$ este o funcție hash criptografică construită pentru pre-imagine, pre-imagine secundară și rezistență la coliziune. Dacă utilizați $\operatorname{SHA3}-512$ atunci veți obține rezistență la prima și a doua rezistență pre-imagine de 512 biți și rezistență la coliziune de 256 biți.

    În cazul dumneavoastră, rezistența pre-imagine este importantă, iar succesul găsirii pre-imagine este un eveniment neglijabil. În medie, atacatorul trebuie să încerce $2^{512}$ diferite intrări pentru a găsi o imagine prealabilă.

    Singurul caz problematic aici este dimensiunea secretului. Dacă secretul este mai mic de 512 de biți, atunci securitatea pre-imagine nu este de 512 de biți, este $= \min\{512,bitLen(secret)\}$ deoarece atacatorul trebuie să caute doar acest spațiu. Prin urmare, păstrați secretul cel puțin mai mare decât 256â¡ bit pentru a obține securitatea de cel puțin 256 de biți.

  • $h = \operatorname{SHA3}(K + \operatorname{SHA3}(S))$

    Atașul primește $K$ și $h$. Ca și mai sus, de această dată, cu rezistență completă înainte de imagine (512 biți) va împiedica atacatorul să ajungă $SHA3(S)$ încă singur accesând $S$. Cu toate acestea, ei încă pot căuta $S$ deci tot avem $ \min\{512,bitLen(secret)\}$ Securitate. Dimensiune secretă bună pentru $S$ este necesar, din nou.

Chiar și unul singur $\operatorname{SHA3}$ apel este suficient, dublu $\operatorname{SHA3}$ apelul este exagerat cu o dimensiune bună a tastei (secrete).

Construcția dvs. este similară cu HMAC, unde este utilizat hash-ul dublu, deoarece funcțiile hash MD sunt vulnerabile la atacurile de extensie de lungime. SHA3, pe de altă parte, are rezistență la acest lucru, precum BLAKE2.

Există deja o construcție MAC de la SHA3 numită KMAC, care este în termeni simpli datorită rezistenței la atacurile de extensie de lungime

$$\operatorname{KMAC}(cheie,m) = \operatorname{SHA3}( cheie\mathbin\|m)$$

în notația dvs

$$\operatorname{KMAC}(S,K) = \operatorname{SHA3}( S\mathbin\|K)$$

Acesta este un MAC securizat și nu dezvăluie cheia atacatorului sub nicio formă. Puteți utiliza pur și simplu KMAC pentru a obține ceea ce doriți cu o dimensiune bună a tastei!

â¡Unii ar putea argumenta că securitatea pe 128 de biți este suficientă. Cu toate acestea, evoluțiile viitoare, cum ar fi computerele Cryptographical Quantum, reprezintă o amenințare pentru imaginile prealabile de 128 de biți ale funcțiilor hash și, de asemenea, ca o contramăsură pentru atacurile multi-țintă, ar trebui să se folosească securitatea de cel puțin 256 de biți.

Puncte:0
drapel my

Încerc să înțeleg cât de sigur este S de la un atacator.

Pentru a ataca o singură instanță (cu o valoare specifică de K), singurul atac disponibil atacatorului este să facă un număr mare de presupuneri la $S$; calcula $SHA3(K+SHA3(S))$ pentru fiecare și verificați dacă se întâmplă să apară valoarea țintă. Acest lucru poate fi ușor de văzut observând că această etichetă este o funcție a $SHA3(S)$ - credem că SHA3 este rezistent la preimagine.

Acum, dacă atacatorul are un număr mare de etichete (toate cu același K), le-ar putea ataca în paralel - fie comparând valoarea calculată cu toate etichetele țintă, fie (dacă nu are toate etichetele disponibile). deodată) construirea unei mese curcubeu. Cu toate acestea, nicio abordare nu reduce timpul necesar pentru a ataca o anumită etichetă.

Deci, pentru a răspunde la întrebarea dvs.: cât de sigur este S ar depinde de cât de de neghicit este. Dacă este o singură frază, cum ar fi „fraza mea secretă”, ei bine, aceasta ar putea fi una dintre valorile pe care un atacator le încearcă devreme și, astfel, ar găsi-o rapid. Pe de altă parte, dacă fraza secretă este, să spunem CNjlOQn,FXyEPAxNSYz/0VAP0Gxd,osl4zQlXQNqE7K5gPjiwld3n1f$rcmh Ei bine, ar părea a fi un pariu destul de sigur că atacatorul nu s-ar întâmpla să încerce această valoare.

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.