Puncte:0

O interogare privind algoritmul SHA256

drapel br

Încerc să codific SHA256 de la zero pentru a înțelege implementarea sa pe baza pseudocodului wiki, deoarece este suficient de clar. Dar am probleme cu calculul lui W[i] pentru primul bloc. Sunt sigur că îmi lipsește logica undeva. Dat un șir de date cu dimensiunea de 80 de octeți (în hexadecimal): "02000000aaf8ab82362344f49083ee4edef795362cf135293564c4070000000000000000c009bb6222e9bc4cdb8f26b2e8a2f8d163509691a4038fa692abf9a474c9b21476800755c02e17181fe6c1c3"

După completare, rezultă șirul de date de 128 de octeți (în hex): "02000000aaf8ab82362344f49083ee4edef795362cf135293564c4070000000000000000c009bb6222e9bc4cdb8f26b2e8a2f8d163509691a4038fa692abf9a474c9b21476800755c02e17181fe6c1c3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280"

Acum, acesta este împărțit în 2 bucăți de 64 de octeți fiecare: "02000000aaf8ab82362344f49083ee4edef795362cf135293564c4070000000000000000c009bb6222e9bc4cdb8f26b2e8a25900000000000c009bb6222e9bc4cdb8f26b2e8a25900000000000"

"74c9b21476800755c02e17181fe6c1c38000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

Acum, când începem procesarea primei bucăți, cum populăm matricea de planificare a mesajelor cu 64 de intrări w[0..63] de cuvinte pe 32 de biți. Wiki spune: „(Valorile inițiale din w[0..63] nu contează, atât de multe implementări le zero aici)” copiați o bucată în primele 16 cuvinte w[0..15] din matricea de planificare a mesajelor

Deci, încerc să populez matricea de planificare a mesajelor după cum urmează:

W[0]=0200

W[1]=0000

W[2]=aaf8

W[3]=ab82

W[4]=3623 și așa mai departe până la W[15].

Valorile W[16] la W[63] sunt toate setate la 0.

Dar aceste valori par incorecte. Ce greșesc aici. Poate cineva să indice ce este în neregulă aici?

Puncte:3
drapel my

W[0]=0200

Iată problema ta - cu SHA-256, fiecare cuvânt are 32 de biți, nu 16.

Deci, acesta ar trebui să fie:

W[0] = 02000000 
W[1] = aaf8ab82
W[2] = 362344f4

etc...

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.