CBCP Cryptography 3 — Questions and Answers
Question 1: What distinguishes a zero-knowledge proof from a standard cryptographic proof?
- It uses symmetric rather than asymmetric cryptography
- It proves knowledge of a secret without revealing the secret itself (Correct answer)
- It requires a trusted third party to validate
- It relies on hash functions instead of digital signatures
Correct answer: It proves knowledge of a secret without revealing the secret itself
A zero-knowledge proof lets a prover convince a verifier that a statement is true without disclosing any information beyond the validity of the statement.
Question 2: What is the primary cryptographic function of a commitment scheme in blockchain protocols?
- Generating random session keys for node communication
- Allowing a party to commit to a value while keeping it hidden, then reveal it later (Correct answer)
- Encrypting block headers to prevent unauthorized reads
- Producing digital certificates for smart contract code
Correct answer: Allowing a party to commit to a value while keeping it hidden, then reveal it later
A commitment scheme binds a party to a hidden value; the binding property prevents changing the value after committing, and the hiding property conceals it until reveal.
Question 3: In threshold signature schemes, what does a (t, n) configuration mean?
- t total keys are generated and n of them are published publicly
- Any t out of n key holders must cooperate to produce a valid signature (Correct answer)
- n signatures are required but only t are verified
- t rounds of signing are needed with n validators each round
Correct answer: Any t out of n key holders must cooperate to produce a valid signature
A (t, n) threshold scheme requires at least t participants from a group of n to jointly sign, so no single party controls the key.
Question 4: What attack does salting a password hash defend against?
- Brute-force attacks on the hash algorithm itself
- Pre-computed rainbow table attacks (Correct answer)
- Side-channel timing attacks
- Replay attacks using captured authentication tokens
Correct answer: Pre-computed rainbow table attacks
A salt is a random value appended to the password before hashing, ensuring identical passwords produce different hashes and invalidating pre-computed lookup tables.
Question 5: Which property of SHA-256 makes it suitable as a proof-of-work function?
- It is reversible given the output and a partial input
- It produces deterministic, uniformly distributed output that is expensive to invert (Correct answer)
- It compresses inputs shorter than 256 bits losslessly
- It supports variable output length depending on difficulty
Correct answer: It produces deterministic, uniformly distributed output that is expensive to invert
SHA-256 is deterministic and its output is uniformly distributed, so finding an input producing output below a threshold requires many trial hashes — exactly what proof-of-work needs.
Question 6: What role does the Keccak-256 hash function play in Ethereum?
- It is used to encrypt storage slots in the EVM
- It derives Ethereum addresses and is the primary hash used across the protocol (Correct answer)
- It signs transactions in place of ECDSA
- It computes the proof-of-stake validator selection seed
Correct answer: It derives Ethereum addresses and is the primary hash used across the protocol
Ethereum uses Keccak-256 (a variant of SHA-3) for address derivation, transaction hashing, Merkle trees, and event topic encoding throughout the protocol.
Question 7: What does 'forward secrecy' mean in the context of cryptographic key exchange?
- Future messages can be decrypted using past session keys
- Compromise of a long-term private key does not expose past session keys (Correct answer)
- Keys are derived forward-only and cannot be used to sign
- Each message uses the same session key for performance
Correct answer: Compromise of a long-term private key does not expose past session keys
Forward secrecy (also called perfect forward secrecy) ensures that even if a server's long-term key is compromised, previously recorded encrypted sessions remain secure.
What distinguishes a zero-knowledge proof from a standard cryptographic proof?