Hash Function
데이터를 고정된 길이의 고유한 문자열로 변환하는 알고리즘.
A hash function takes an input (like a word or a 1GB video) and produces a unique, fixed-length string of characters (e.g., 256 bits). It is the bedrock of data integrity. If even a single character in the input is changed, the entire hash changes completely (Avalanche Effect). This allows blockchains to verify headers and transactions in a lightweight way without checking the entire dataset every time.
🛡️ Trust Score
✅ 검증된 기술 정보
- • A hash function maps input of any size to an output of a fixed size.
- • Cryptographic hash functions are one-way (irreversible).
- • A small change in input leads to a large change in output (Avalanche Effect).
- • Determinism means the same input always produces the same hash.
- • Collision resistance means it's hard to find two different inputs with the same hash.
- • SHA-256 is the hash function used in Bitcoin's Proof of Work.
graph LR
Center["Hash Function"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Pre_mathematics["mathematics"]:::pre --> Center
click Pre_mathematics "/terms/mathematics"
Rel_merkle_tree["merkle-tree"]:::related -.-> Center
click Rel_merkle_tree "/terms/merkle-tree"
Rel_digital_signature["digital-signature"]:::related -.-> Center
click Rel_digital_signature "/terms/digital-signature"
Rel_proof_of_work["proof-of-work"]:::related -.-> Center
click Rel_proof_of_work "/terms/proof-of-work"
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;
🧒 5살도 이해할 수 있게 설명
🕵️♂️ 데이터의 지문과 같습니다. 문서의 내용을 아주 조금만 바꿔도 지문이 완전히 달라집니다. 지문만 보고 원래 문서를 알 수는 없습니다.
🤓 Expert Deep Dive
Cryptographic hash functions must satisfy three main properties. Pre-image resistance: Given a hash $h$, it's computationally infeasible to find input $m$ such that $hash(m) = h$. Second pre-image resistance: Given $m1$, it's hard to find $m2$ such that $hash(m1) = hash(m2)$. Collision resistance: It's hard to find any two different inputs $m1, m2$ that produce the same hash. The Birthday Paradox defines the security level against collisions; for a 256-bit hash, the security level is 128 bits. The Avalanche Effect ensures that even a one-bit change in input flips roughly 50% of the output bits, preventing pattern recognition.