Bird
Raised Fist0
Computer Networksknowledge~10 mins

Asymmetric encryption (RSA) in Computer Networks - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Asymmetric encryption (RSA)
Start: Plaintext message
↓
Encrypt with Public Key
↓
Send Encrypted Message
↓
Receive Encrypted Message
↓
Decrypt with Private Key
↓
Get Original Plaintext
↓
End
The message is encrypted using a public key and decrypted using a private key, ensuring secure communication.
Execution Sample
Computer Networks
1. Generate RSA keys (public, private)
2. Encrypt message with public key
3. Send encrypted message
4. Decrypt message with private key
5. Read original message
This sequence shows how RSA encrypts a message with a public key and decrypts it with a private key.
Analysis Table
StepActionInputOutputNotes
1Generate keysNonePublic Key, Private KeyKeys created for encryption and decryption
2Encrypt messagePlaintext: 'HELLO', Public KeyEncrypted Message (ciphertext)Message is transformed using public key
3Send messageEncrypted MessageEncrypted MessageCiphertext sent over network
4Decrypt messageEncrypted Message, Private KeyPlaintext: 'HELLO'Original message recovered using private key
5Read messagePlaintext: 'HELLO'HELLOUser reads the original message
💡 Process ends after message is decrypted and read.
State Tracker
VariableStartAfter Step 1After Step 2After Step 4Final
Public KeyNoneGeneratedUsed for encryptionUsed for encryptionGenerated
Private KeyNoneGeneratedNot usedUsed for decryptionGenerated
Message'HELLO''HELLO'Encrypted formDecrypted back to 'HELLO''HELLO'
Key Insights - 3 Insights
Why can't the encrypted message be decrypted with the public key?
Because RSA uses a pair of keys where the public key encrypts and only the private key can decrypt, as shown in steps 2 and 4 of the execution_table.
What happens if someone intercepts the encrypted message?
They cannot read the original message without the private key, since the message is encrypted (step 3), ensuring security.
Why do we need two keys instead of one?
Two keys allow anyone to encrypt with the public key but only the owner with the private key can decrypt, providing secure communication as shown in the flow.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output after step 2?
AEncrypted Message (ciphertext)
BPlaintext message
CPublic and Private Keys
DDecrypted message
💡 Hint
Check the 'Output' column for step 2 in the execution_table.
At which step is the private key used according to the execution_table?
AStep 2
BStep 3
CStep 4
DStep 1
💡 Hint
Look at the 'Action' and 'Notes' columns to see when decryption happens.
If the private key is lost, what happens to the process?
AMessage can still be decrypted with public key
BMessage cannot be decrypted, communication fails
CMessage is sent unencrypted
DNew public key is generated automatically
💡 Hint
Refer to the key_moments about the role of private key in decryption.
Concept Snapshot
Asymmetric encryption uses two keys: public key to encrypt and private key to decrypt.
RSA is a common method where anyone can encrypt with the public key,
but only the private key owner can decrypt.
This ensures secure message exchange over insecure channels.
Keys are generated as a pair and must be kept safe.
Full Transcript
Asymmetric encryption with RSA involves creating two keys: a public key and a private key. The public key is shared openly and used to encrypt messages. When someone sends a message, they encrypt it using the recipient's public key. This encrypted message, called ciphertext, is sent over the network. Only the recipient who holds the private key can decrypt this ciphertext back into the original message. This process ensures that even if someone intercepts the encrypted message, they cannot read it without the private key. The steps include generating keys, encrypting the message with the public key, sending the encrypted message, decrypting it with the private key, and finally reading the original message. The private key must be kept secret to maintain security. If the private key is lost, the encrypted messages cannot be decrypted, causing communication failure.

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