← QCE Digital Solutions Unit 4

DES

Data Encryption Standard: an early symmetric block cipher using 64-bit blocks and a 56-bit key. Now insecure because modern computers can brute-force its small key.

Understanding DES in QCE Digital Solutions Unit 4

What it does: DES is a block cipher. It splits the plaintext into 64-bit blocks and encrypts each block using the same key. A symmetric cipher uses one shared key. The key that encrypted the data with DES is the same key that decrypts it. DES works on 64-bit blocks. The 56 bits is the size of its key, not the block. DES has a 56-bit key. Do not mix this up with its 64-bit block size. With only 56 bits there are about 72 quadrillion possible keys, and modern computers can try them all in a short time. Brute force means trying every possible key. Counting letter frequencies is frequency analysis, which is a different attack.

Common mistakes: DES encrypts data in 64-bit blocks, not 128-bit blocks. The line should be BLOCK_BITS = 64. DES uses a 56-bit key. A 128-bit key would be far too large to brute-force. The line should be KEY_BITS = 56.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 17–88) and word search (Modules 17–125).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
DES is a symmetric block cipher.
FalseTrue
Matches
DES is secure because it has a 56-bit key, which is too large to ever brute-force
↓
A 56-bit key is small, not large. Modern computers can try every possible key, so DES is no longer secure.
Applying
Meanings
Term
DES
Meaning
Data Encryption Standard: an early symmetric block cipher using 64-bit blocks and a 56-bit key. Now insecure because modern computers can brute-force its small key.
Practice
block_bits = 64
Testing
Gaps
blockBits =
Check Answer
Spots
1BLOCK_BITS = 128
2KEY_BITS = 56

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Fox' badge — Cunning Debugger, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. DES is a symmetric block cipher.
A. True ✓
B. False
DES uses the same key to encrypt and decrypt, and it works on fixed-size blocks of data.
2. How big is each block of data that DES encrypts?
A. 56 bits
B. 64 bits ✓
DES works on 64-bit blocks. The 56 bits is the size of its key, not the block.
3. How long is the effective key in DES?
A. 64 bits
B. 56 bits ✓
DES has a 56-bit key. Do not mix this up with its 64-bit block size.
4. Why is DES now considered insecure?
A. Its small key can be brute-forced by modern computers ✓
B. Its algorithm cannot decrypt messages any more
With only 56 bits there are about 72 quadrillion possible keys, and modern computers can try them all in a short time.
5. DES uses one public key to encrypt and a different private key to decrypt.
A. False ✓
B. True
That describes asymmetric encryption such as RSA. DES is symmetric, so one shared secret key does both jobs.

Match the Pairs

DES → Data Encryption Standard, an early symmetric block cipher that is now considered insecure
key_bits = 56 → The size of the DES key, which is small enough for a modern computer to brute-force
DES encrypts data in fixed-size blocks of 64 bits at a time → block_size = 64
DES is a symmetric cipher, so the same secret key encrypts and decrypts the data → plain = des_decrypt(cipher, key)
DES is secure because it has a 56-bit key, which is too large to ever brute-force → A 56-bit key is small, not large. Modern computers can try every possible key, so DES is no longer secure.
DES is an asymmetric cipher with a public key and a private key → DES is symmetric. It uses one shared secret key, not a public and private key pair.

Key Term

DES
Data Encryption Standard: an early symmetric block cipher using 64-bit blocks and a 56-bit key. Now insecure because modern computers can brute-force its small key.

Fill in the Blanks

1. blockBits = 64
Hint: Type the number of bits in each block that DES encrypts at a time.
2. keyBits = 56
Hint: Type the number of bits in the DES key.
3. totalKeys = 2 ** 56
Hint: Type the Python operator that raises a number to a power, to count every possible key.
4. for key in range(2 ** 56): decrypt(cipher, key)
Hint: Type the function that loops through every possible key in a brute-force attack.
5. keyBits = 56 if keyBits < 128: print("DES is weak")
Hint: Type the variable that holds the size of the DES key being checked.

Spot the Error

Question 1
A BLOCK_BITS = 128
B KEY_BITS = 56
C keys = 2 ** KEY_BITS
D print(keys)
Line A — DES encrypts data in 64-bit blocks, not 128-bit blocks. The line should be BLOCK_BITS = 64.
Question 2
A KEY_BITS = 128
B keys = 2 ** KEY_BITS
C print('Keys:', keys)
Line A — DES uses a 56-bit key. A 128-bit key would be far too large to brute-force. The line should be KEY_BITS = 56.
Question 3
A cipher = 'DES'
B block_size = 56
C key_size = 56
Line B — 56 is the DES key size, not its block size. DES works on 64-bit blocks, so the line should be block_size = 64.
Question 4
A def key_count(bits):
B return 2 * bits
C print(key_count(56))
Line B — Each extra key bit doubles the number of possible keys, so the count is 2 ** bits (2 to the power of bits). Multiplying by 2 gives a tiny number.
Question 5
A keys = 2 ** 56
B speed = 10 ** 12
C secs = keys * speed
D print(secs)
Line C — The time for a brute-force search is the number of keys divided by the number of guesses per second. It should be secs = keys / speed.

Student with a class code? Join your class →