Bird
Raised Fist0
Computer Networksknowledge~10 mins

Asymmetric encryption (RSA) in Computer Networks - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to identify the key used for encryption in RSA.

Computer Networks
encrypted_message = encrypt(message, [1])
Drag options to blanks, or click blank then click option'
Apublic_key
Bprivate_key
Cshared_key
Dsession_key
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the private key with the public key for encryption.
Thinking that a shared or session key is used in RSA encryption.
2fill in blank
medium

Complete the code to identify the key used for decryption in RSA.

Computer Networks
decrypted_message = decrypt(encrypted_message, [1])
Drag options to blanks, or click blank then click option'
Asession_key
Bpublic_key
Cprivate_key
Dshared_key
Attempts:
3 left
💡 Hint
Common Mistakes
Using the public key for decryption instead of the private key.
Confusing shared or session keys with RSA keys.
3fill in blank
hard

Fix the error in the RSA key generation code by selecting the correct prime number.

Computer Networks
p = [1]  # First prime number for RSA key generation
Drag options to blanks, or click blank then click option'
A17
B15
C21
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing a composite number instead of a prime number.
Not verifying the primality of the number before using it.
4fill in blank
hard

Fill both blanks to complete the RSA public key generation formula.

Computer Networks
public_key = ([1], [2])  # (e, [2])
Drag options to blanks, or click blank then click option'
Ae
Bn
Cd
Dp
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the private exponent 'd' with the public exponent 'e'.
Using prime numbers directly instead of the modulus 'n'.
5fill in blank
hard

Fill all three blanks to complete the RSA decryption formula.

Computer Networks
decrypted_message = ([1] ** [2]) % [3]
Drag options to blanks, or click blank then click option'
Aencrypted_message
Bd
Cn
De
Attempts:
3 left
💡 Hint
Common Mistakes
Using the public exponent 'e' instead of the private exponent 'd' for decryption.
Forgetting to use the modulus operation.

Practice

(1/5)
1. What is the main purpose of the private key in RSA asymmetric encryption?
easy
A. To share with anyone for secure communication
B. To encrypt messages for everyone to read
C. To decrypt messages encrypted with the public key
D. To generate the public key

Solution

  1. Step 1: Understand RSA key roles

    In RSA, the public key encrypts data, and the private key decrypts it.
  2. Step 2: Identify private key function

    The private key is kept secret and used to decrypt messages encrypted by the public key.
  3. Final Answer:

    To decrypt messages encrypted with the public key -> Option C
  4. Quick Check:

    Private key = decrypt [OK]
Hint: Private key always decrypts what public key encrypts [OK]
Common Mistakes:
  • Confusing encryption and decryption roles
  • Thinking private key is shared publicly
  • Assuming private key encrypts messages
2. Which of the following is the correct way to describe RSA keys?
easy
A. Both keys are identical and interchangeable
B. Public key encrypts, private key decrypts
C. Private key is public, public key is private
D. Keys are randomly generated but not related

Solution

  1. Step 1: Recall RSA key relationship

    RSA uses a pair of keys where the public key encrypts and the private key decrypts.
  2. Step 2: Evaluate options

    Only Public key encrypts, private key decrypts correctly states the roles of the keys in RSA encryption.
  3. Final Answer:

    Public key encrypts, private key decrypts -> Option B
  4. Quick Check:

    Public encrypt, private decrypt [OK]
Hint: Public encrypts, private decrypts in RSA [OK]
Common Mistakes:
  • Thinking keys are the same
  • Mixing up public and private key roles
  • Believing keys are unrelated
3. Consider this simplified RSA scenario:
Public key: (e=3, n=33)
Private key: (d=7, n=33)
Message m = 4

What is the encrypted message c using c = m^e mod n?
medium
A. 31
B. 12
C. 16
D. 4

Solution

  1. Step 1: Calculate encryption formula

    Compute c = 4^3 mod 33 = 64 mod 33.
  2. Step 2: Find remainder

    64 divided by 33 leaves remainder 64 - 33*1 = 31, so 64 mod 33 = 31.
  3. Step 3: Re-check calculation

    Actually, 4^3 = 64, 64 mod 33 = 31, so c = 31.
  4. Final Answer:

    31 -> Option A
  5. Quick Check:

    4^3 mod 33 = 31 [OK]
Hint: Calculate power then mod for encryption [OK]
Common Mistakes:
  • Forgetting to apply modulo
  • Calculating power incorrectly
  • Mixing up encryption and decryption formulas
4. In an RSA implementation, a developer wrote:
c = (m ** d) % n
to encrypt a message. Why is this incorrect?
medium
A. Because d is the private key exponent used for decryption, not encryption
B. Because m should be raised to e for decryption
C. Because modulo n should not be used in RSA
D. Because exponentiation operator ** is invalid in Python

Solution

  1. Step 1: Understand RSA key usage

    Encryption uses the public exponent e, decryption uses private exponent d.
  2. Step 2: Identify error in code

    The code uses d to encrypt, which is incorrect; it should use e.
  3. Final Answer:

    Because d is the private key exponent used for decryption, not encryption -> Option A
  4. Quick Check:

    Encrypt with e, decrypt with d [OK]
Hint: Encrypt with e, decrypt with d [OK]
Common Mistakes:
  • Using private key exponent for encryption
  • Confusing exponentiation operator validity
  • Ignoring modulo operation necessity
5. A company wants to use RSA to securely send a 128-bit message. Which of the following is the best practice to ensure security and efficiency?
hard
A. Encrypt the entire 128-bit message directly with RSA public key
B. Share the private key with the recipient to speed up encryption
C. Use the private key to encrypt the message and public key to decrypt
D. Use RSA to encrypt a symmetric key, then use that key to encrypt the message

Solution

  1. Step 1: Understand RSA limitations

    RSA is slow and inefficient for large data encryption like 128-bit messages directly.
  2. Step 2: Identify best practice

    Common practice is to encrypt a symmetric key with RSA, then use that key for fast message encryption.
  3. Final Answer:

    Use RSA to encrypt a symmetric key, then use that key to encrypt the message -> Option D
  4. Quick Check:

    Hybrid encryption = RSA + symmetric key [OK]
Hint: Encrypt keys with RSA, data with symmetric cipher [OK]
Common Mistakes:
  • Encrypting large data directly with RSA
  • Sharing private key publicly
  • Reversing encryption/decryption key roles
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard