Glossary of Terms
The process of verifying the identity of a user, process, or device, often as a prerequisite to granting access to resources. Also refers to verifying the source and integrity of data.
A type of cryptanalytic attack based on the mathematics of the birthday problem. It makes finding a collision for a hash function easier than brute-force, requiring roughly 2n/2 attempts for an n-bit hash.
A unique identifier for a block in a blockchain, generated by hashing the block's header content. Acts as a digital fingerprint and links blocks together.
A distributed, immutable digital ledger that stores records (transactions) in blocks, chronologically linked using cryptography (hashes).
A mode of operation for block ciphers where each block of plaintext is XORed with the previous ciphertext block before being encrypted. Can be used as a basis for MAC algorithms (e.g., CMAC).
A type of Message Authentication Code (MAC) algorithm based on a symmetric block cipher (like AES), rather than a hash function.
Occurs when two different input messages produce the exact same hash output value. Cryptographic hash functions aim to be collision-resistant.
A property of cryptographic hash functions. Strong collision resistance means it's computationally infeasible to find *any* two different inputs M1, M2 such that H(M1) = H(M2). Weak collision resistance (or second preimage resistance) means given an input M1, it's infeasible to find a different M2 such that H(M1) = H(M2).
The assurance that digital information has not been altered in an unauthorized way since it was created, transmitted, or stored. Hash functions and MACs are primary tools for ensuring this.
A cryptographic mechanism used to verify the authenticity (origin), integrity (unaltered content), and non-repudiation (sender cannot deny sending) of digital data. Typically created by hashing the data and encrypting the hash with the sender's private key.
A mathematical algorithm that takes an arbitrary block of data (input message) and returns a fixed-size bit string (the hash value or message digest), such that any change to the data will (with high probability) change the hash value. Key properties include being one-way and collision-resistant.
A specific type of Message Authentication Code (MAC) involving a cryptographic hash function (like SHA-256) in combination with a secret cryptographic key.
The cryptographic algorithm based on the sponge construction that was selected as the winner of the NIST hash function competition and became the SHA-3 standard.
Another term for a Message Authentication Code (MAC), emphasizing that the hash calculation incorporates a secret key shared between the parties.
A short piece of information generated using a secret key and a cryptographic algorithm (either hash-based like HMAC or cipher-based like CMAC) applied to a message. It verifies both the data integrity and authenticity of the message.
MAC = f(Key, Message)
A hash contained in a block header representing the hash of all transactions within that block, constructed using a Merkle Tree. Allows for efficient verification of transaction inclusion.
A common structure for building cryptographic hash functions (like MD5, SHA-1, SHA-2). It processes the input message in fixed-size blocks iteratively using a compression function.
A service used to verify the integrity of a message and, often, its origin. Ensures the message received is exactly as sent and came from the purported source.
The fixed-size output value of a hash function. Also called a hash value.
"Number used once." In Proof-of-Work blockchains (like Bitcoin), it's a value in the block header that miners repeatedly change and re-hash until they find a hash value meeting the network's difficulty target.
A property of cryptographic hash functions: given a hash output h, it is computationally infeasible to find any input x such that H(x) = h.
For a hash function H and an output h, an input x such that H(x) = h is called a preimage of h.
A blockchain consensus mechanism where block creators (validators) are chosen based on the number of coins they hold/stake. An alternative to Proof-of-Work.
A blockchain consensus mechanism requiring participants (miners) to solve a computationally intensive puzzle (finding a valid nonce) to validate transactions and create new blocks. Used by Bitcoin.
A family of cryptographic hash functions published by NIST. Includes SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512), and SHA-3.
Produces a 160-bit hash value. Widely used previously but now considered insecure due to practical collision attacks ("broken" in 2017).
A family of hash functions including SHA-256 (256-bit hash) and SHA-512 (512-bit hash). Based on Merkle–Damgård construction. Still considered secure.
The latest SHA standard, based on the Keccak algorithm and the sponge construction. Designed as an alternative to SHA-2, with a different internal structure.
A mode of operation for cryptographic functions, used in Keccak (SHA-3). It takes an input ("absorbing" phase) and produces an output ("squeezing" phase) of variable lengths, acting like a sponge.