Puncte:1

Pregătiți pas cu pas cu exemplu de intrare pentru funcțiile Hash NIST precum SHA-1, SHA-2 și SHA-3

drapel in

Lucrez la realizarea unei implementări naive Python a SHA-1, SHA-2 și SHA-3 și trebuie să testez și să depanez, deoarece rezultatul hash în acest moment nu este corect.

Am găsit aici o lucrare pas cu pas a SHA-256. https://docs.google.com/spreadsheets/d/1mOTrqckdetCoRxY5QkVcyQ7Z0gcYIH-Dc0tu7t9f7tw/edit#gid=1025601888

Poate cineva să-mi conecteze o lucrare pas cu pas din SHA-1, SHA-2 și SHA-3 pentru un exemplu de intrare?

Maarten Bodewes avatar
drapel in
De ce să nu luați o implementare funcțională și să introduceți câteva instrucțiuni de tipărire pentru a obține valorile hexazecimale? SHA-512 nu este *acela* complex.
arunkumaraqm avatar
drapel in
@MaartenBodewes O idee bună. Am început să fac asta acum 15 minute.
Maarten Bodewes avatar
drapel in
Vă voi accelera puțin, vedeți [aici](https://eips.ethereum.org/assets/eip-2680/sha256-384-512.pdf). Dacă aveți o ieșire incorectă (și dacă nu o faceți, nu ați întreba) este posibil să aveți nevoie de acea implementare bună cunoscută, totuși, acestea enumera doar valorile dintre runde.
arunkumaraqm avatar
drapel in
@MaartenBodewes Asta a fost util într-o anumită măsură, dar am avut nevoie de calcule elaborate pentru primul bloc.
Puncte:2
drapel in

NIST are o tradiție foarte lungă în ceea ce privește validarea algoritmilor care sunt aprobați de NIST. Se numeste Programul de validare a algoritmului criptografic (CAVP). Pe subpagina despre pagina de algoritm hash veți găsi;

Vectori de testare

Vectorii de testare legați mai jos pot fi utilizați pentru a verifica în mod informal corectitudinea implementărilor algoritmului hash securizat (în FIPS 180-4 și FIPS 202) folosind sistemele de validare enumerate mai sus.

Fișiere de răspuns (.rsp): vectorii de testare sunt formatați corespunzător în fișiere de răspuns (.rsp). Fișierele de răspuns ale furnizorului trebuie să se potrivească exact cu acest format.

Fișiere cu rezultate intermediare (.txt): fișierele cu rezultate intermediare (.txt) sunt furnizate pentru a ajuta la depanare.

Consultați fișierul README din fiecare fișier zip pentru detalii.

Descărcați-o pe cea potrivită. Vectorul de testare conține, intrare și ieșire, cu excepția testului MonteCarlo. Oferă informații despre bucla interioară pentru unele bucle selectate, dar nu și rezumatul!.

Valori intermediare

Dacă sunteți în căutarea unor ieșiri intermediare complete, există

  • Standarde și linii directoare criptografice - Exemple cu valori intermediare

    • FIPS 180-2 - Standard Secure Hash

      • SHA-1
      • SHA-224
      • SHA-256
      • SHA-384
      • SHA-512
      • SHA-512/224
      • SHA-512/256
    • FIPS 202 - Standard SHA-3: Funcții hash și ieșire extensibile bazate pe permutare

      • SHA3-224
      • SHA3-256
      • SHA3-384
      • SHA3-512
      • Agita128
      • SHAKE256
    • SP 800-185 - Funcții derivate SHA-3: cSHAKE, KMAC, TupleHash și ParallelHash

      • cSHAKE
      • KMAC și KMACXOF
      • TupleHash și TupleHashXOF
      • ParallelHash și ParallelHashXOF

Cea mai ușoară modalitate este de a scoate exact același format de ieșire, astfel încât să puteți compara găsirea nepotrivirii pur și simplu prin a dif instrument ca compara. Acolo puteți găsi eroarea cu mare probabilitate.

Maarten Bodewes avatar
drapel in
Hmm, m-am întrebat cum au creat băieții criptomonede un document atât de frumos aranjat. Dar pare a fi originalul din care a fost creat documentul NIST.

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.