Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.
Shade in the A or B circle for each question.
Draw a line connecting each item on the left to its match on the right.
| Left column | Right column | |
|---|---|---|
| 1blockSize <- 128 | Ablocks <- 1024 / 128 | |
| 2possibleKeys <- 2 ^ keyLength | BFOR round <- 1 TO 14: block <- scramble(block, key) | |
| 3A block cipher splits data into fixed-size blocks, so a 1024-bit message with 128-bit blocks makes 8 blocks. | CEach block of data is 128 bits long, so the cipher encrypts the message one 128-bit block at a time. | |
| 4Each block is scrambled over several rounds, and the key is used in every round. | DBlock size and key length are separate values. For example, AES uses 128-bit blocks but accepts 128, 192 or 256-bit keys. | |
| 5possibleKeys = 2 * keyLength | EThe number of possible keys is 2 to the power of the key length (2 ^ keyLength), not 2 multiplied by it. Each extra bit doubles the number of keys. | |
| 6keyLength = blockSize | FA key of n bits gives 2^n possible keys, so each extra bit doubles how many keys a brute-force attacker must try. |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
block cipher — Encrypts data in fixed-size blocks (e.g. 128 bits) using a key, scrambling each block in rounds. A longer key means more possible keys, so brute force takes longer.keyBits = 128
keys = 2 ** keyBits
print(keys)for r in range(rounds):
block = scramble(block, key)blockBits = 16 * 8
print(blockBits)print(2 ** 128 > 2 ** 64)key = "0123456789abcdef"
keyBits = len(key) * 8
print(keyBits)