CBP Fundamental Cryptography Concepts 3 — Questions and Answers
Question 1: What is the secp256k1 curve's primary role in Bitcoin?
- It defines the elliptic curve parameters used for Bitcoin's public/private key pair generation and ECDSA signing (Correct answer)
- It is a hashing algorithm used to compress Bitcoin addresses into 20 bytes
- It specifies the difficulty adjustment formula for Bitcoin's proof-of-work
- It is a standard for encoding Bitcoin transactions in hexadecimal format
Correct answer: It defines the elliptic curve parameters used for Bitcoin's public/private key pair generation and ECDSA signing
secp256k1 is the specific elliptic curve standard Bitcoin uses, defining generator point G, prime field p, and order n for key generation and ECDSA.
Question 2: What does it mean when we say SHA-256 produces a 'fixed-length' output?
- Regardless of input size, SHA-256 always outputs exactly 256 bits (32 bytes) (Correct answer)
- SHA-256 pads all inputs to exactly 256 bytes before hashing
- Fixed-length means SHA-256 can only hash inputs that are multiples of 256 bits
- It means the hash is stored in a fixed memory location on each Bitcoin node
Correct answer: Regardless of input size, SHA-256 always outputs exactly 256 bits (32 bytes)
SHA-256 always produces a 256-bit output no matter the size of the input — a byte, a megabyte, or a gigabyte all produce the same-length hash.
Question 3: In Bitcoin, RIPEMD-160 is applied after SHA-256 when creating an address. Why is double-hashing used?
- SHA-256 provides strong collision resistance while RIPEMD-160 shortens the output to 160 bits for practical address sizes (Correct answer)
- RIPEMD-160 corrects cryptographic errors introduced by SHA-256 in the hashing process
- Double-hashing is required by the secp256k1 standard for all public key operations
- Applying two hash functions doubles the entropy of the resulting Bitcoin private key
Correct answer: SHA-256 provides strong collision resistance while RIPEMD-160 shortens the output to 160 bits for practical address sizes
The combination SHA-256 → RIPEMD-160 (HASH160) reduces the public key to a 20-byte address while benefiting from both algorithms' security properties.
Question 4: What is a 'digital signature' in the context of Bitcoin transactions?
- Cryptographic proof created with a private key that authorizes spending of specific UTXOs (Correct answer)
- A username and password pair that identifies a Bitcoin wallet owner on the network
- An encrypted copy of the transaction stored on the blockchain for audit purposes
- A QR code generated from the public key for scanning at point-of-sale terminals
Correct answer: Cryptographic proof created with a private key that authorizes spending of specific UTXOs
A Bitcoin digital signature (ECDSA) proves the spender controls the private key corresponding to the address, authorizing the UTXO spend.
Question 5: Which term describes the scenario where changing even one character of input produces a completely different hash output?
- Avalanche effect (Correct answer)
- Hash collision
- Preimage resistance
- Determinism
Correct answer: Avalanche effect
The avalanche effect means small input changes cause large, unpredictable changes in the hash output, preventing attackers from deducing inputs from similar outputs.
Question 6: What is the generator point G in Bitcoin's elliptic curve cryptography?
- A predefined point on the secp256k1 curve used as the base for scalar multiplication to derive public keys (Correct answer)
- The coordinate origin (0,0) of the secp256k1 elliptic curve
- A random point generated fresh for each Bitcoin key pair creation
- The highest-value point on the curve representing the maximum private key value
Correct answer: A predefined point on the secp256k1 curve used as the base for scalar multiplication to derive public keys
G is a standard, publicly known base point on secp256k1; a public key is computed as k×G where k is the private key scalar.
Question 7: Why is it important that cryptographic hash functions are deterministic?
- The same input must always produce the same output so that signatures and addresses can be reliably verified (Correct answer)
- Determinism ensures that hash outputs are random and unpredictable for security purposes
- It allows miners to store hash results and reuse them without recomputing
- Determinism means the hash function can only run once per block to prevent double-spending
Correct answer: The same input must always produce the same output so that signatures and addresses can be reliably verified
Determinism is essential so that any node re-hashing a transaction or block header always gets the same result for consistent verification.
What is the secp256k1 curve's primary role in Bitcoin?