Podcast
Questions and Answers
What is the approximate time it takes for Eve to launch an attack using a hash function with a 64-bit digest?
What is the approximate time it takes for Eve to launch an attack using a hash function with a 64-bit digest?
- 1 week
- 1 month
- 1 hour (correct)
- 1 day
How many tests does the adversary need to perform a collision attack on MD5?
How many tests does the adversary need to perform a collision attack on MD5?
- 264 (correct)
- 230
- 280
- 232
What is the digest size of the hash function SHA-1?
What is the digest size of the hash function SHA-1?
- 512 bits
- 160 bits (correct)
- 256 bits
- 128 bits
What is the primary design difference between SHA-1 and the revised Secure Hash Standard versions?
What is the primary design difference between SHA-1 and the revised Secure Hash Standard versions?
How long does it take to launch an attack on SHA-1 assuming the adversary can perform $2^{30}$ tests per second?
How long does it take to launch an attack on SHA-1 assuming the adversary can perform $2^{30}$ tests per second?
What size is the digest produced by the new hash function SHA-512?
What size is the digest produced by the new hash function SHA-512?
How many rounds does the SHA-512 compression function consist of?
How many rounds does the SHA-512 compression function consist of?
From what values are the round constants in SHA-512 derived?
From what values are the round constants in SHA-512 derived?
Why is a message authentication code (MAC) needed?
Why is a message authentication code (MAC) needed?
What does a modification detection code (MDC) assure?
What does a modification detection code (MDC) assure?
What is the output size of SHA-512 hash values?
What is the output size of SHA-512 hash values?
What is processed in 1024-bit blocks during SHA-512 computation?
What is processed in 1024-bit blocks during SHA-512 computation?
What is the approximate number of tests required to find a collision using SHA-512?
What is the approximate number of tests required to find a collision using SHA-512?
Which function is NOT part of the round structure in SHA-512?
Which function is NOT part of the round structure in SHA-512?
Which of the following describes the SHA-256 hashing process?
Which of the following describes the SHA-256 hashing process?
What is the leftmost hexadecimal digit of the result when applying the Majority function on buffers with values 0x7, 0xA, and 0xE?
What is the leftmost hexadecimal digit of the result when applying the Majority function on buffers with values 0x7, 0xA, and 0xE?
What is the primary purpose of a message digest (MDC) in message transmission?
What is the primary purpose of a message digest (MDC) in message transmission?
Which of the following is NOT a concern of message authentication?
Which of the following is NOT a concern of message authentication?
How does symmetric message encryption contribute to authentication?
How does symmetric message encryption contribute to authentication?
In public-key encryption, what can provide both secrecy and authentication?
In public-key encryption, what can provide both secrecy and authentication?
What happens to the size of a message during the signing and encryption process using public-key encryption?
What happens to the size of a message during the signing and encryption process using public-key encryption?
What security requirement relates to ensuring that a sender cannot deny sending a message?
What security requirement relates to ensuring that a sender cannot deny sending a message?
Which function is NOT typically used for message authentication?
Which function is NOT typically used for message authentication?
What is a primary challenge when using public-key encryption for messaging?
What is a primary challenge when using public-key encryption for messaging?
What is the primary purpose of using salt in password hashing?
What is the primary purpose of using salt in password hashing?
Which of the following best describes the role of the server in Lamport one-time passwords?
Which of the following best describes the role of the server in Lamport one-time passwords?
In the context of the Birthday Paradox, what is the implication of a 64-bit hash?
In the context of the Birthday Paradox, what is the implication of a 64-bit hash?
What action does Alice perform when using the Lamport one-time password protocol?
What action does Alice perform when using the Lamport one-time password protocol?
Which mechanism is ineffective for security but reasonable for data integrity checking?
Which mechanism is ineffective for security but reasonable for data integrity checking?
What is a primary feature of the birthday attack as described?
What is a primary feature of the birthday attack as described?
How does the Lamport one-time password protocol enhance security against interception?
How does the Lamport one-time password protocol enhance security against interception?
What is a limitation of simple hash functions highlighted in the content?
What is a limitation of simple hash functions highlighted in the content?
What is the implication of using a formula like h(M) = M mod n for creating message digests?
What is the implication of using a formula like h(M) = M mod n for creating message digests?
Given that messages are 6 bits long and digests are 4 bits long, what is the conclusion based on the pigeonhole principle?
Given that messages are 6 bits long and digests are 4 bits long, what is the conclusion based on the pigeonhole principle?
How long would it take Eve to create enough digests to find the original message if each digest is 64 bits long?
How long would it take Eve to create enough digests to find the original message if each digest is 64 bits long?
What is the probability threshold for Eve to find two messages with the same digest in a collision attack?
What is the probability threshold for Eve to find two messages with the same digest in a collision attack?
In a collision attack with a 64-bit digest, how many digests must Eve create to have more than a 50% chance of a collision?
In a collision attack with a 64-bit digest, how many digests must Eve create to have more than a 50% chance of a collision?
What happens when the number of messages exceeds the number of possible unique digests?
What happens when the number of messages exceeds the number of possible unique digests?
What does the generalized pigeonhole principle state about occupied pigeonholes?
What does the generalized pigeonhole principle state about occupied pigeonholes?
If Eve can create digests at a rate of 1 million messages per second, how long will it take to perform a collision attack?
If Eve can create digests at a rate of 1 million messages per second, how long will it take to perform a collision attack?
What is the maximum length of padding that can be added to a message according to SHA-512 specifications?
What is the maximum length of padding that can be added to a message according to SHA-512 specifications?
What is necessary for padding to be required in SHA-512?
What is necessary for padding to be required in SHA-512?
If the length of the original message is 2590 bits, how many padding bits are added?
If the length of the original message is 2590 bits, how many padding bits are added?
What is the minimum possible length of padding in SHA-512 if the original message is such that (−|M| − 128) mod 1024 = 0?
What is the minimum possible length of padding in SHA-512 if the original message is such that (−|M| − 128) mod 1024 = 0?
How long can a message be to be compliant with SHA-512 before needing to be shortened?
How long can a message be to be compliant with SHA-512 before needing to be shortened?
What is the digest size produced by SHA-512?
What is the digest size produced by SHA-512?
How many pages would a message of 2^128 bits occupy if each page holds approximately 2048 bits worth of characters?
How many pages would a message of 2^128 bits occupy if each page holds approximately 2048 bits worth of characters?
What occurs when the original message's length is already a multiple of 1024 bits?
What occurs when the original message's length is already a multiple of 1024 bits?
Flashcards
Pigeonhole Principle
Pigeonhole Principle
If more items than pigeonholes are placed into those pigeonholes, at least one pigeonhole must contain more than one item.
Preimage Attack
Preimage Attack
An attack trying to find a message that produces a specific hash.
Second Preimage Attack
Second Preimage Attack
Finding a second message with the same hash as a given message.
Collision Attack
Collision Attack
Signup and view all the flashcards
Random Oracle Model
Random Oracle Model
Signup and view all the flashcards
Message Digest Size (n bits)
Message Digest Size (n bits)
Signup and view all the flashcards
Time Complexity for Preimage Attack
Time Complexity for Preimage Attack
Signup and view all the flashcards
Time Complexity for Collision Attack
Time Complexity for Collision Attack
Signup and view all the flashcards
Hash Function Collision Attack
Hash Function Collision Attack
Signup and view all the flashcards
64-bit Hash Digest Security
64-bit Hash Digest Security
Signup and view all the flashcards
MD5 Hash Function
MD5 Hash Function
Signup and view all the flashcards
SHA-1
SHA-1
Signup and view all the flashcards
SHA-512
SHA-512
Signup and view all the flashcards
Message Authentication
Message Authentication
Signup and view all the flashcards
Modification Detection Code (MDC)
Modification Detection Code (MDC)
Signup and view all the flashcards
Message Authentication Code (MAC)
Message Authentication Code (MAC)
Signup and view all the flashcards
Salt for Precomputation Attacks
Salt for Precomputation Attacks
Signup and view all the flashcards
Rainbow Tables
Rainbow Tables
Signup and view all the flashcards
Lamport One-time Passwords
Lamport One-time Passwords
Signup and view all the flashcards
Birthday Attacks
Birthday Attacks
Signup and view all the flashcards
Hash Function
Hash Function
Signup and view all the flashcards
Hash Size and Security
Hash Size and Security
Signup and view all the flashcards
Data Integrity Check
Data Integrity Check
Signup and view all the flashcards
Insecure Hash Function Examples
Insecure Hash Function Examples
Signup and view all the flashcards
Message Authentication Code (MAC)
Message Authentication Code (MAC)
Signup and view all the flashcards
Modification Detection Code (MDC)
Modification Detection Code (MDC)
Signup and view all the flashcards
Message Authentication
Message Authentication
Signup and view all the flashcards
Symmetric Encryption and Authentication
Symmetric Encryption and Authentication
Signup and view all the flashcards
Public-Key Encryption and Authentication
Public-Key Encryption and Authentication
Signup and view all the flashcards
Message Security Requirements
Message Security Requirements
Signup and view all the flashcards
Hash Function
Hash Function
Signup and view all the flashcards
Security of MAC
Security of MAC
Signup and view all the flashcards
SHA-512 Message Length
SHA-512 Message Length
Signup and view all the flashcards
Padding in SHA-512
Padding in SHA-512
Signup and view all the flashcards
W60 calculation
W60 calculation
Signup and view all the flashcards
Message Digest Size
Message Digest Size
Signup and view all the flashcards
Message Preparation (SHA-512)
Message Preparation (SHA-512)
Signup and view all the flashcards
Padding Bits (Example)
Padding Bits (Example)
Signup and view all the flashcards
Message Length Limitation
Message Length Limitation
Signup and view all the flashcards
Word Expansion (SHA-512)
Word Expansion (SHA-512)
Signup and view all the flashcards
SHA-512
SHA-512
Signup and view all the flashcards
SHA-512 Compression Function
SHA-512 Compression Function
Signup and view all the flashcards
Hash Function Rounds
Hash Function Rounds
Signup and view all the flashcards
Round Constants (SHA-512)
Round Constants (SHA-512)
Signup and view all the flashcards
SHA-2 Family
SHA-2 Family
Signup and view all the flashcards
SHA-1 Concerns
SHA-1 Concerns
Signup and view all the flashcards
SHA-256, SHA-384
SHA-256, SHA-384
Signup and view all the flashcards
Message Digest Size
Message Digest Size
Signup and view all the flashcards
Study Notes
Message Integrity
- Cryptography systems presented so far offer secrecy but not integrity
- Integrity ensures the message hasn't been altered
- A fingerprint, like a cryptographic hash function, can be used to check for integrity.
Document and Fingerprint
- A physical document's integrity can be ensured using a fingerprint
- Alice can ensure the contents of her document aren't changed by affixing her fingerprint at the bottom
- A document fingerprint is analogous to a message digest.
Message and Message Digest
- The digital equivalent of a document and fingerprint is a message and a digest pair
- A hash function transforms the message into its digest (fingerprint)
- A message's integrity is verified by comparing the calculated digest with the stored digest.
Difference
- Documents and fingerprints are physically linked
- Messages and digests can be unlinked and compared separately
- The message digest must be protected from tampering to maintain integrity.
Checking Integrity
- Hash functions calculate a current digest
- Comparison with the previous digest determines if a message has been altered
- Discard an altered message, or re-transmit it.
Cryptographic Hash Function Criteria
- Cryptographic hash functions must satisfy three criteria
- Preimage resistance: Infeasible to find an input (preimage) producing a given output.
- Second preimage resistance: Infeasible to find a second input producing the same output as a given input.
- Collision resistance: Infeasible to find two different inputs producing the same output.
Preimage Resistance
- A preimage attack attempts to find an input that produces a given output
- Given a hash value, it's computationally infeasible to find its corresponding message.
- The difficulty is proportional to 2^n, where n is the hash value's length.
Lossless Compression
- Lossless compression methods are not suitable for cryptographic hash functions
- They create reversible compressed messages.
Checksums
- Checksums are not robust enough for cryptographic hash functions
- They're not preimage resistant, meaning multiple messages might have the same checksum.
Second Preimage Resistance
- A second preimage attack tries to find a second message with the same hash value as a known message
- Finding a second preimage is computationally infeasible, proportional to 2^n
Collision Resistance
- A collision attack finds two different messages with the same hash value
- Finding collisions is computationally infeasible, proportional to 2^(n/2)
Random Oracle Model
- Introduced by Bellare and Rogaway in 1993, it's an ideal mathematical model for hash functions.
- It assumes the hash function acts like a random oracle, outputting random values for every input.
Oracle Table
- A table used to store messages and their corresponding digests generated by an oracle.
- The oracle checks the table for a matching message before calculating the digest.
Pigeonhole Principle
- If n pigeonholes contain more than n pigeons, at least one pigeonhole must contain more than one pigeon.
- This concept is applicable to hash functions, where if more messages map to fewer possible digests, there's a high probability of collisions.
Example of collisions
- If messages have 6 bits and digests have only 4 bits, there are more messages than possible digests (2^6 > 2^4)
- The probability of collision is greater than zero in this simplified example.
Algorithms Attacks
- Algorithms to attack preimage, second preimage, & collision attacks.
- Calculating difficult attack costs against input lengths (2^n, 2^(n/2).
Message Authentication Code(MAC)
- Message digests don't authenticate the sender
- A MAC adds a proof of authorship
- MACs use cryptographic hash functions combined with secret keys for message authentication
Modification Detection Code (MDC)
- A MDC is a message digest that serves as proof of integrity
- Alice creates an MDC and sends it along with the message to Bob
- Bob calculates a new MDC from the received message.
- If the new MDC is the same as the received one, then the message is undamaged.
MAC Security
- MAC security relies on the underlying hash function’s strength
- Brute-force and cryptanalytic threats exist
- Increased bit sizes of hash functions offer increased security
Keyed Hash Functions
- A hash function used to generate MACs
- This method uses both a message and a secret key to derive the MAC.
- The keyed hash includes a key along with the message to create unique hash values.
HMAC
- An improvement over keyed hash functions, HMAC ensures wider security against attacks.
- HMACs use a hash function combined with a key and padding to increase the security and resistance of the MACs.
- It's a secure way to apply hash functions to messages paired with a secret key.
Hash Function Uses
- Hash functions can condense arbitrary-length messages into fixed-size digests.
- They're used to detect changes to messages, verify data integrity, and in processes like password storage.
- Hash functions provide one-way mappings and are collision-resistant for security purposes
Cryptographic Hash Function
- A mathematical function that maps a message of arbitrary length to a fixed-size hash value—a digest—that acts as a message fingerprint.
Hash Function Uses
- Message Integrity Check (MIC): Calculating a hash of message for integrity checks
- Message Authentication Code (MAC): Using a keyed hash function to protect a message's integrity
- Digital Signatures (Non-repudiation): Encrypting a hash with a private key for non-repudiation
Birthday Attacks
- Birthday paradox demonstrates that the probability of a collision increases significantly given more inputs when there are a limited number of possible outcomes.
- Attackers aim to find collisions by generating many messages with the same hash function result.
- When the number of possible hashed messages exceeds the square root of the total hashes, there's a greater probability of collisions.
Hash Function Cryptanalysis
- Hash functions use an iterative structure involving multiple message blocks
- Cryptanalytic attacks seek to exploit the structure of hash functions to find collisions faster than an exhaustive search.
Block Ciphers as Hash Functions
- Block ciphers can be adapted into hash functions, but their output can be too small for security.
- Vulnerable to birthday and meet-in-the-middle attacks due to their relatively short output lengths
Secure Hash Algorithms (SHAs)
- Designed by NIST and NSA in 1993
- Reimplemented with additional versions in 1995 for increased security
- Produces longer, 160-bit hash values, which make it more resistant to attacks.
Revised Secure Hash Standard
- NIST introduced revisions with additional SHA versions.
- Enhanced versions of SHA designed for security compatibility with the AES cipher.
SHA-512 Overview
- Processing messages in 1024-bit blocks
- 80 rounds of iterations in the compression functions
SHA-512 Compression Function
- Compressing messages in 1024-bit blocks during SHA-512 operation.
- 80 rounds, updating a 512-bit buffer
- 64-bit values derived from the message block
- Round constant values extracted by cube roots of 80 prime numbers
SHA-512 Round Function
Structure of Each Round
Majority Function
Conditional Function
Rotate Functions
Compression Function
Message Digest Initialization
- Initialization values of constants utilized in the SHA-512 message digest.
Message Preparation
- SHA-512 requires the length of the message to be under 2^128 bits.
Padding and length field in SHA-512
Padding Calculation
Padding Necessity
Minimum and Maximum Padding
Characteristics of Secure Hash Algorithms (SHAs)
SHA-3
- A new hash algorithm designed to address vulnerabilities in older SHA versions
SHA-3 Requirements
- Replacing SHA-2 with SHA-3 to uphold similar hash sizes and the online procedures in smaller block sizes.
Two groups of compression functions
Iterated Hash Function (Merkle-Damgård Scheme)
- A hash function that processes the message in multiple blocks, using a compression function iteratively.
Rabin Scheme
Davies-Meyer Scheme
Miyaguchi-Preneel Scheme
Secure Hash Algorithm (SHA-1)
- A 160-bit hash algorithm, designed by NIST & NSA
SHA Overview
SHA-1 Compression Function
Message-Digest 5 (MD5)
- Designed by Ronald Rivest
- 128-bit message hash, widely used, later found to have vulnerabilities.
MD5 Overview
MD5 Compression Function
MD4
- Precursor to MD5
- Designed for speed with little-endian architecture
Strength of MD5
- Hash is dependent on all message bits, but vulnerabilities exist in newer analyses.
SHA-1 Verses MD5
- Brute force attack is harder for SHA-1 than MD5
- SHA-1 is a bit Slower than MD5
Revised Secure Hash Standard
- Provides additional SHA versions with higher security standards
Whirlpool
- A 512-bit hash algorithm based on the Miyaguchi-Preneel scheme with a customized AES block cipher as the compression function.
Whirlpool Cipher
SubBytes
ShiftColumns
MixRows
AddRoundKey
Key expansion in the Whirlpool cipher
CMAC
CMAC Overview
CMAC
Authenticated Encryption
Counter with Cipher Block Chaining-Message Authentication Code (CCM)
Galois/Counter Mode (GCM)
GCM Functions
Authenticated Encryption
Generic Composition
Comparison
Inclusion
Verification Method
Relationship
Duplicity
Process
Digital Signature Process
Need for Keys
Signing the Digest
Services
Message Integrity
Nonrepudiation
Confidentiality
Attack Types
Forgery Types
Digital Signature Schemes
RSA Digital Signature Scheme
Key Generation
Signing and Verifying
ElGamal Digital Signature Scheme
Key Generation
Verifying and Signing
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.