# Hash function 1. Cryptographic computer code works like a one-way street. It's easy to decipher 250 + 250 = ? but much harder to find the correct answer (out of many) for ? + ? = 500 2. A cryptographic function that turns any input into a string of characters of a fixed length that serves as a virtually unforgeable digital fingerprint of the data, called a hash 3. A cryptographic hash function is a mathematical [[algorithm]] that takes a particular input which can be any kind of digital data be it a password or jpeg file and produces a single fixed length output. Some examples of different hash function [[algorithms]] are MD5, MD4 or SHA256. The last one is used in the Bitcoin protocol. Main properties: (1) easy to compute hash value for any given message (2) infeasible to generate a message from its hash except by trying all possible input combinations(brute force attack) (3) infeasible to modify a message without changing the hash (4) infeasible to find two different messages with the same hash (5) deterministic so the same message always results in the same hash. Cryptographic hash functions have many information security applications, notably in digital signatures, message authentication codes (MACs), and other forms of authentication. They can also be used as ordinary hash functions, to index data in hash tables, for fingerprinting, to detect duplicate data or uniquely identify files, and as checksums to detect accidental data corruption. 5. A function that maps data of an arbitrary size 7. A cryptography tool that turns any input into a string of characters that serves as a virtually unforgeable digital fingerprint of the data, called a hash. 9. A more technical and precise description of the underlying technical foundation of how data is shared and stored on a blockchain. Hash tables are a mainstay of computer science. ___ > ![[Pasted image 20210428115157.png]] --- ![[0_irAtgMzmvmORmdqr.jpg]]