← IGCSE Computer Science Paper 1

Decrypting with the private key

Only the recipient's private key can decrypt a message encrypted with their public key. The private key stays secret on the recipient's device, so interceptors cannot read it.

Understanding Decrypting with the private key in IGCSE Computer Science Paper 1

What it does: The public key is shared openly, so an interceptor can have it. It cannot decrypt the message, so the ciphertext stays unreadable. Asymmetric encryption uses a key pair. The two keys do different jobs, so the same key does not encrypt and decrypt. The private key must stay secret. The public key is the one that is shared. Even Mia cannot decrypt it once it is encrypted. Only Sam's private key can. The recipient decrypts using their own private key. The sender never needs it.

Common mistakes: The public key cannot reverse its own encryption. The message must be decrypted with Bob's private key: decrypt(cipher, priv). To send Bob a message that only he can read, encrypt it with Bob's public key (bobPub), not his private key.

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 204–217) and word search (Modules 189–217).

Take this worksheet further — free with Cloodit

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

Learning
Duo
Alex's public key encrypts a message to Alex. Which key can decrypt it?
Alex's public keyAlex's private key
Matches
plaintext = decrypt(ciphertext, publicKey)
↓
The recipient's public key was used to decrypt. The public key cannot reverse its own encryption. The recipient's private key must be used.
Applying
Meanings
Term
private key decryption
Meaning
Only the recipient's private key can decrypt a message encrypted with their public key. The private key stays secret on the recipient's device, so interceptors cannot read it.
Practice
ciphertext ← ENCRYPT(message, publicKey)
Testing
Gaps
plaintext = DECRYPT(ciphertext, )
Check Answer
Spots
3cipher ← encrypt(msg, pub)
4plain ← decrypt(cipher, pub)

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

The 'Gila Monster' badge — Patient Coder, 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. Alex's public key encrypts a message to Alex. Which key can decrypt it?
A. Alex's private key ✓
B. Alex's public key
Only the private key that matches the public key can decrypt the message. The public key cannot reverse its own encryption.
2. Which statement about asymmetric decryption is correct?
A. A message encrypted with a public key is decrypted with the matching private key ✓
B. A message encrypted with a public key is decrypted with the same public key
Asymmetric encryption uses a key pair. The two keys do different jobs, so the same key does not encrypt and decrypt.
3. An interceptor copies a message and also has the recipient's public key. Can they read it?
A. Yes, the public key decrypts it
B. No, they need the private key ✓
The public key can only encrypt here. Having it does not let the interceptor decrypt the message.
4. Where should a recipient keep their private key?
A. Sent to everyone who wants to message them
B. Secret on their own device ✓
The private key must stay secret. The public key is the one that is shared.
5. Why is it safe to share a public key with anyone?
A. It can encrypt but cannot decrypt the message ✓
B. It is the key that decrypts all messages
Anyone can use the public key to encrypt a message to you. Only your private key can decrypt it.

Match the Pairs

decrypt(message, privateKey) → The recipient uses their own private key to turn the ciphertext back into readable plaintext.
decrypt(ciphertext, publicKey) -> fails → The public key cannot undo its own encryption, so the message stays unreadable.
An interceptor who copies the public key still cannot read the encrypted message. → interceptor.decrypt(ciphertext, publicKey) = unreadable
The private key stays on the recipient's device and is never sent across the network. → privateKey = storedOnRecipientDevice
plaintext = decrypt(ciphertext, publicKey) → The recipient's public key was used to decrypt. The public key cannot reverse its own encryption. The recipient's private key must be used.
send(privateKey) to sender → The private key was sent to the sender. It must stay secret on the recipient's device. Only the public key should be shared.

Key Term

private key decryption
Only the recipient's private key can decrypt a message encrypted with their public key. The private key stays secret on the recipient's device, so interceptors cannot read it.

Fill in the Blanks

1. plaintext = DECRYPT(ciphertext, privateKey)
Hint: Type the name of the key that only the recipient holds and uses to unlock the message.
2. ciphertext = ENCRYPT(plaintext, publicKey)
Hint: Type the name of the key the sender uses to lock the message. It is the one anyone is allowed to have.
3. IF key = privateKey THEN OUTPUT plaintext
Hint: Type the name of the readable data that is only revealed when the correct key is used.
4. result = DECRYPT(ciphertext, privateKey)
Hint: Type the name of the function that turns ciphertext back into readable data.
5. STORE(privateKey, recipientDevice)
Hint: Type the place where the secret key stays and is never sent across the network. It belongs to the person receiving the message.

Spot the Error

Question 1
A pub ← bob.public
B priv ← bob.private
C cipher ← encrypt(msg, pub)
D plain ← decrypt(cipher, pub)
Line D — The public key cannot reverse its own encryption. The message must be decrypted with Bob's private key: decrypt(cipher, priv).
Question 2
A cipher ← encrypt(msg, bobPriv)
B send(cipher, bob)
C // only Bob's key can decrypt
Line A — To send Bob a message that only he can read, encrypt it with Bob's public key (bobPub), not his private key.
Question 3
A cipher ← encrypt(msg, bobPub)
B send(msg, bob)
C // hacker sees only cipher
Line B — The encrypted message (cipher) must be sent, not the plaintext. Sending msg would let an interceptor read it.
Question 4
A priv ← bob.private
B upload(priv, server)
C share(bob.public, alice)
Line B — The private key must stay on the recipient's own device. Uploading it would risk it being exposed, so it should be kept: keep(priv, bobDevice).
Question 5
A cipher ← receive()
B msg ← encrypt(cipher, myPriv)
C OUTPUT msg
Line B — The recipient needs to decrypt the received ciphertext with their private key. The function should be decrypt, not encrypt.

Student with a class code? Join your class →