Puncte:0

Când introduceți un flux de valori binare brute într-un hash SHA256 și o valoare de 10000000 este întâlnită în fluxul de intrare, se termină hash-ul?

drapel ng

Obțin date binare de la un senzor și le stochez într-un fișier. Pe măsură ce fiecare octet de date este citit de la senzor, acesta intră într-un hash SHA256. Lungimea fluxului de date achiziționate variază de la o sesiune la alta. Este posibil ca un eșantion individual cu o valoare binară de 10000000 să poată fi întâlnit în fluxul de intrare înainte de sfârșitul fluxului sesiunii. Cum tratează algoritmul hash SHA256 acea valoare de 10000000, deoarece acesta este și markerul folosit la sfârșitul introducerii hash?

Puncte:1
drapel ng

Cum tratează algoritmul hash SHA-256 acea valoare de 10000000, deoarece acesta este și markerul folosit la sfârșitul introducerii hash?

SHA-256 nu include niciun model special în intrarea sa. Și când folosiți SHA-256 pentru hash non-secret date, nu este nevoie să vă deranjați cu privire la acest detaliu intern. O să adaug un motiv aceste: deoarece hashingul nu este criptare, nu există un proces de decriptare pentru un hash, deci nu este nevoie să recunoaștem un model de final, așa cum se întâmplă în decriptarea textului cifrat pentru textul simplu de dimensiune variabilă, de ex. Modul CBC.

Există motive pentru a fi deranjat cu privire la tiparul final atunci când ai de-a face secret date: SHA-256 proprietatea extensiei de lungime. Este valabil pentru orice Merkle-DamgÃ¥rd hash $H$, asta pentru orice lungime $\ell$ (până la o limită atât de mare), există un șir de biți scurt $b_\ell$ (inclusiv modelul final) și o funcție calculabilă eficient $H_\ell$ astfel încât pentru orice șir de biți $m$ de $\ell$ bit, pentru orice șir de biți $m'$ (până la dimensiunea atât de mare), ține $$H(m\mathbin\|b_\ell\mathbin\|m')=H_\ell(H(m)\mathbin\|m')$$

Pentru orice secret $m$ cu lungimea cunoscută $\ell$ si hash cunoscut $H(m)$, această proprietate permite calcularea $H(m\mathbin\|m')$ pentru orice cunoscut $m'$ incepand in $b_\ell$. Este suficient și pentru a justifica asta $m\mapsto H(k\mathbin\|m)$ nu este un cod securizat de autentificare a mesajelor cu cheie $k$.

Puncte:1
drapel fr

O funcție hash sigură din punct de vedere criptografic poate gestiona orice secvență arbitrară de octeți, indiferent de ce sunt acești octeți sau de ce model ar putea avea, eventual până la o dimensiune maximă specificată (care, pentru SHA-256, este $ 2^{64} $ biți).

Este adevărat că SHA-256 folosește un singur bit urmat de zero biți ca parte a umpluturii sale (schema Merkle-DÃ¥mgard). Cu toate acestea, acel model poate apărea în fluxul de intrare fără probleme și, deoarece ultimul bloc conține lungimea de intrare, putem distinge între acel model din intrare și acel model ca parte a schemei de umplutură. Deci, nu există un model specific în bandă care să facă ca hash-ul să se termine brusc.

Rețineți că alți algoritmi hash, cum ar fi SHA-3 și BLAKE2, folosesc scheme diferite de umplutură și, de asemenea, pot gestiona modele de intrare arbitrare fără probleme. Aceste scheme de umplutură, deși diferite de construcția Merkle-DÃ¥mgard, se consideră, de asemenea, sigure și pot fi de fapt de preferat din alte motive.

În mod obișnuit, când scriem un API în octeți hash, ajungem la trei funcții: o funcție de inițializare, care setează algoritmul cu parametrii corespunzători; o funcție de actualizare, care preia intrarea în hash; și o funcție de finalizare, care efectuează padding, termină hashingul și returnează rezultatul hash. Ca atare, indicăm întotdeauna în mod explicit că hashingul se va termina fără a ține cont de datele de intrare.

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.