Cryptographic Hashing

Cryptographic hashing generuje skrót o stałej długości z danych wejściowych o dowolnym rozmiarze, z właściwościami determinizmu, nieodwracalności i odporności na kolizje, umożliwiając integralność danych i uwierzytelnianie.

Funkcja skrótu kryptograficznego przyjmuje dane wejściowe o dowolnej długości i zwraca skrót o stałej długości. Charakteryzuje się determinizmem, stałym rozmiarem wyjściowym i jednokierunkowością. Oprócz bycia deterministycznymi i o stałej długości, funkcje skrótu kryptograficznego mają na celu zapewnienie odporności na preimage (przy danym skrócie znalezienie preimage jest niewykonalne), odporności na second-preimage (znalezienie innego wejścia z tym samym skrótem jest niewykonalne) i odporności na kolizje (trudno znaleźć dwa wejścia, które kolidują). Są one zaprojektowane tak, aby były wydajne obliczeniowo, a skrót wyjściowy powinien wykazywać efekt lawiny: niewielka zmiana w danych wejściowych powoduje znacząco inny skrót. Są one wykorzystywane w kontroli integralności danych, podpisach cyfrowych i haszowaniu haseł, gdy jest to właściwe. Uwaga: nonce nie jest właściwością samej funkcji skrótu; może być używany w protokołach do solenia lub zmieniania kontekstów haszowania, ale nie jest częścią podstawowej właściwości funkcji skrótu.

        graph LR
  Center["Cryptographic Hashing"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Center --> Child_merkle_tree["merkle-tree"]:::child
  click Child_merkle_tree "/terms/merkle-tree"
  Rel_digital_signatures["digital-signatures"]:::related -.-> Center
  click Rel_digital_signatures "/terms/digital-signatures"
  Rel_proof_of_work["proof-of-work"]:::related -.-> Center
  click Rel_proof_of_work "/terms/proof-of-work"
  Rel_cryptographic_primitives["cryptographic-primitives"]:::related -.-> Center
  click Rel_cryptographic_primitives "/terms/cryptographic-primitives"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Wyjaśnij jak 5-latkowi

🧼 A digital fingerprint for your data. If even one tiny [bit](/pl/terms/bit) of a file changes, the [hash](/pl/terms/hash) changes completely, showing you it was touched.

🤓 Expert Deep Dive

## The Significance of SHA-256
SHA-256 is the beating heart of the Bitcoin network. It is used to create the linked 'chain' by including the previous block's hash in the current block, and it powers the Proof-of-Work mining system where miners compete to find a specific hash. Its 256-bit output provides 128-bit 'collision security,' which remains strong even against the most advanced classical computers.

🔗 Powiązane terminy

Wymagana wiedza:
Dowiedz się więcej:

📚 Źródła