Cryptocurrency Core Cryptographic Principles 3 — Questions and Answers
Question 1: What is 'perfect forward secrecy' (PFS) in cryptographic key exchange?
- Each session uses a new key so past sessions remain secure even if a long-term key is compromised (Correct answer)
- Encryption keys are shared perfectly without any information leakage
- Every message is encrypted with a one-time pad
- Long-term keys are rotated every 24 hours automatically
Correct answer: Each session uses a new key so past sessions remain secure even if a long-term key is compromised
PFS ensures that compromise of a long-term private key does not expose past session keys, protecting historical communications.
Question 2: Which of the following best describes the Diffie-Hellman key exchange?
- Two parties encrypt messages using each other's public keys
- Two parties derive a shared secret over a public channel without transmitting it directly (Correct answer)
- A trusted third party distributes session keys to both parties
- One party generates a key pair and shares the private key securely
Correct answer: Two parties derive a shared secret over a public channel without transmitting it directly
Diffie-Hellman allows two parties to establish a shared secret over an insecure channel without ever transmitting the secret itself.
Question 3: What does 'salting' a password hash accomplish?
- It makes the hash irreversible
- It prevents two identical passwords from producing the same hash and defeats precomputed rainbow tables (Correct answer)
- It increases the key length of the encryption algorithm
- It adds a digital signature to the stored password
Correct answer: It prevents two identical passwords from producing the same hash and defeats precomputed rainbow tables
A salt is random data added to a password before hashing, ensuring identical passwords produce different hashes and defeating rainbow table attacks.
Question 4: Which attack exploits the reuse of a one-time pad or stream cipher keystream?
- Man-in-the-middle attack
- Crib-dragging attack (Correct answer)
- Brute force attack
- Side-channel attack
Correct answer: Crib-dragging attack
Crib-dragging exploits keystream reuse in stream ciphers or OTPs by XORing two ciphertexts and guessing known plaintext segments.
Question 5: In asymmetric cryptography, what is the relationship between key length and security level?
- A 256-bit RSA key provides equivalent security to a 256-bit AES key
- RSA keys must be much longer than symmetric keys to achieve equivalent security (Correct answer)
- Shorter asymmetric keys always provide stronger security due to mathematical complexity
- Key length has no effect on security — only the algorithm matters
Correct answer: RSA keys must be much longer than symmetric keys to achieve equivalent security
RSA requires ~3072-bit keys to match the security of 128-bit AES because factoring is easier than brute-forcing a symmetric key of the same length.
Question 6: What is a 'commitment scheme' in cryptography?
- A protocol where a party commits to a value now but can reveal it later without being able to change it (Correct answer)
- A legally binding digital contract enforced by smart contracts
- A method of committing encryption keys to a public blockchain
- A technique for committing to a specific algorithm before negotiation
Correct answer: A protocol where a party commits to a value now but can reveal it later without being able to change it
A commitment scheme lets a party lock in a value (hiding it) while being unable to change it later (binding), with the option to reveal it at a chosen time.
Question 7: Which property of cryptographic hash functions ensures that even a tiny change in input drastically changes the output?
- Pre-image resistance
- Second pre-image resistance
- Avalanche effect (Correct answer)
- Determinism
Correct answer: Avalanche effect
The avalanche effect means a single-bit change in input causes approximately 50% of the output bits to flip, making outputs appear uncorrelated.
What is 'perfect forward secrecy' (PFS) in cryptographic key exchange?