← VCE Cyber Security

Asymmetric encryption

Encryption that uses a linked pair of keys: a public key to encrypt data and a private key to decrypt it, with no shared secret key needed.

Understanding Asymmetric encryption in VCE Cyber Security

What it does: This code generates the linked public and private keys used for asymmetric encryption. The public key is designed to be shared freely without weakening security. Exposing the private key lets anyone decrypt data meant only for the intended recipient.

Common mistakes: Line 3 encrypts using the private key, but asymmetric encryption should encrypt with the public key. Line 4 decrypts using the public key, but decryption should use the matching private key instead.

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 41–50) and word search (Modules 41–74).

Take this worksheet further — free with Cloodit

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

Learning
Duo
Asymmetric encryption uses two different but mathematically linked keys.
TrueFalse
Matches
share_publicly(priv)
↓
The mistake: sharing the private key, which must stay secret
Applying
Meanings
Term
Asymmetric encryption
Meaning
Encryption that uses a linked pair of keys: a public key to encrypt data and a private key to decrypt it, with no shared secret key needed.
Practice
pub, priv = generate_key_pair()
Testing
Gaps
= getpublic()
Check Answer
Spots
2priv = get_private()
3ct = encrypt(msg, priv)

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

The 'Dolphin' badge — Reef Streak, 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. Asymmetric encryption uses two different but mathematically linked keys.
A. True ✓
B. False
A public key and a private key form a linked pair used for encryption and decryption.
2. Which key should be shared openly: the public key, or the private key?
A. Private key
B. Public key ✓
The public key is designed to be shared freely without weakening security.
3. The private key can be shared openly without any risk to security.
A. False ✓
B. True
Exposing the private key lets anyone decrypt data meant only for the intended recipient.
4. Which decrypts data encrypted with the public key: the matching private key, or the same public key?
A. The matching private key ✓
B. The same public key
Only the linked private key can correctly decrypt data encrypted with the public key.
5. Asymmetric encryption requires both parties to share the same secret key beforehand.
A. True
B. False ✓
Asymmetric encryption avoids needing a shared secret by using separate public and private keys.

Match the Pairs

ct = encrypt(msg, pub) → Encrypting data using the recipient's public key
pt = decrypt(ct, priv) → Decrypting data using the matching private key
Asymmetric encryption uses a linked pair of keys → pub, priv = generate_key_pair()
The public key can be shared openly without weakening security → share_publicly(pub)
share_publicly(priv) → The mistake: sharing the private key, which must stay secret
pt = decrypt(ct, pub) → The mistake: decrypting with the public key instead of the private key

Key Term

Asymmetric encryption
Encryption that uses a linked pair of keys: a public key to encrypt data and a private key to decrypt it, with no shared secret key needed.

Fill in the Blanks

1. public_key = get_public()
Hint: Type the name of the variable storing the public key.
2. private_key = get_private()
Hint: Type the name of the variable storing the private key.
3. ct = asym_encrypt(msg, public_key)
Hint: Type the name of the function that encrypts a message with the public key.
4. pt = asym_decrypt(ct, private_key)
Hint: Type the name of the function that decrypts ciphertext with the private key.
5. def generate_key_pair():
Hint: Type the name of the function that creates a linked public and private key.

Spot the Error

Question 1
A pub = get_public()
B priv = get_private()
C ct = encrypt(msg, priv)
Line C — Line 3 encrypts using the private key, but asymmetric encryption should encrypt with the public key.
Question 2
A pub = get_public()
B priv = get_private()
C ct = encrypt(msg, pub)
D pt = decrypt(ct, pub)
Line D — Line 4 decrypts using the public key, but decryption should use the matching private key instead.
Question 3
A pub = get_public()
B keep_secret(pub)
C priv = get_private()
Line B — Line 2 treats the public key as secret, but the public key is meant to be shared openly.
Question 4
A priv = get_private()
B share_publicly(priv)
C pub = get_public()
Line B — Line 2 shares the private key publicly, but the private key must stay secret to remain secure.
Question 5
A pub = priv
B ct = encrypt(msg, pub)
C pt = decrypt(ct, priv)
Line A — Line 1 sets the public key equal to the private key, but they must be a distinct, linked pair.

Student with a class code? Join your class →