CBP Fundamental Cryptography Concepts 2 — Questions and Answers
Question 1: Which mathematical property makes elliptic curve cryptography secure for Bitcoin key generation?
- The discrete logarithm problem on elliptic curves is computationally infeasible to reverse (Correct answer)
- Elliptic curves produce keys that are immune to brute-force attacks of any length
- Elliptic curve arithmetic operates in base-58 which computers cannot process
- The curve equation guarantees that private keys are always prime numbers
Correct answer: The discrete logarithm problem on elliptic curves is computationally infeasible to reverse
ECDLP (Elliptic Curve Discrete Logarithm Problem) means computing the private key from a public key is computationally infeasible with current technology.
Question 2: What does it mean for a hash function to be 'collision-resistant'?
- It is computationally infeasible to find two different inputs that produce the same hash output (Correct answer)
- The hash function never produces the same output twice for any input
- Collision resistance means the hash output length never changes
- It means the function cannot be run more than once on the same data
Correct answer: It is computationally infeasible to find two different inputs that produce the same hash output
Collision resistance means that finding two distinct inputs x and y where H(x) = H(y) is computationally infeasible.
Question 3: In Bitcoin's Merkle tree, what is the Merkle root used for?
- To summarize all transactions in a block into a single hash for efficient verification (Correct answer)
- To store the private keys of all transaction senders in a block
- To generate new Bitcoin addresses for miners as a reward
- To encrypt the block header before broadcasting to the network
Correct answer: To summarize all transactions in a block into a single hash for efficient verification
The Merkle root is a single hash representing all transactions in a block, enabling lightweight clients to verify transactions without downloading the full block.
Question 4: What is the purpose of a nonce in Bitcoin's proof-of-work mining?
- Miners vary the nonce to find a block hash that meets the network difficulty target (Correct answer)
- The nonce is a unique identifier assigned to each Bitcoin address
- It is a random number embedded in each transaction to prevent double-spending
- The nonce encrypts the coinbase transaction before inclusion in the block
Correct answer: Miners vary the nonce to find a block hash that meets the network difficulty target
Miners increment the nonce field to produce different block hashes until one falls below the current difficulty target.
Question 5: Which of the following best describes a 'preimage attack' on a hash function?
- Finding an input that hashes to a given target output (Correct answer)
- Generating two inputs with identical hash outputs
- Reversing the hash function algebraically to recover plaintext
- Modifying a hashed message without changing its hash value
Correct answer: Finding an input that hashes to a given target output
A preimage attack attempts to find an input m such that H(m) equals a specific target hash, breaking first preimage resistance.
Question 6: How does asymmetric cryptography differ from symmetric cryptography in Bitcoin's context?
- Asymmetric uses a public/private key pair while symmetric uses one shared secret key (Correct answer)
- Asymmetric encryption is faster but less secure than symmetric encryption
- Symmetric cryptography uses two different keys while asymmetric uses one key for all operations
- Bitcoin exclusively uses symmetric cryptography for all transaction signing
Correct answer: Asymmetric uses a public/private key pair while symmetric uses one shared secret key
Asymmetric cryptography (used in Bitcoin for signing) uses mathematically linked key pairs, whereas symmetric cryptography uses a single shared key.
Question 7: What property ensures that a digital signature can only be created by the holder of the private key?
- Unforgeability — it is computationally infeasible to produce a valid signature without the private key (Correct answer)
- The private key is embedded inside every signature so nodes can verify ownership
- Only the Bitcoin network can generate signatures by validating transactions in real time
- Signatures are created by hashing the public key, which only the owner can access
Correct answer: Unforgeability — it is computationally infeasible to produce a valid signature without the private key
Unforgeability means that without knowledge of the private key, producing a valid ECDSA signature over arbitrary data is computationally infeasible.
Which mathematical property makes elliptic curve cryptography secure for Bitcoin key generation?