Haszowanie

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["Haszowanie"]:::main
  Rel_iteration["iteration"]:::related -.-> Center
  click Rel_iteration "/terms/iteration"
  Rel_hash_function["hash-function"]:::related -.-> Center
  click Rel_hash_function "/terms/hash-function"
  Rel_consensus_mechanism["consensus-mechanism"]:::related -.-> Center
  click Rel_consensus_mechanism "/terms/consensus-mechanism"
  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;

      

🧠 Sprawdzenie wiedzy

1 / 1

🧒 Wyjaśnij jak 5-latkowi

Hashing is like making a smoothie out of a fruit. You can easily turn a strawberry into a smoothie, but there's no way to turn the smoothie back into a strawberry. Also, a single strawberry will always make the exact same smoothie!

🤓 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.

📚 Źródła