Muhammad Ali & Abdullah Faisal
i191882 & i191911
Public Key Infrastructure Lab
RSA Encryption & Signature Lab
Assignment – 2
Public Key Infrastructure Lab:
1) Pre-requisite Tasks
Simple update through sudo command
Installing docker
Checking if images pulled
Checking pulled containers
Docker hello world. Running docker. Docker running fine
2) Becoming a certificate authority
Accessing directory along with initial setups
Generating RSA private key and infosetting
3) Generating a certificate request for your web server
Generating RSA (pass set to dees)
Encrypting the server key (in last 3 pictures)
Configuring server key through given commands
Note: We could not solve this lab (Lab 1) any further
RSA Encryption and Signature Lab:
1) Implementing BIGNUM example
Compiled & executed the given code
2) Deriving the private key
Used the given values of p, q & e to derive the private key
3) Encrypting a message
Encrypted the message “A top secret!” using the public keys and private key
4) Decrypting a message
Decrypted the ciphertext to the following using the public and private key in the previous tasks
5) Signing a message
Successfully created a signature using public and private key.
Different values of the amount of money lead to a completely different signature, highlighting the effect
that the change of even one character can have
6) Verifying a signature
Correct signature = correct message. Incorrect signature = incorrect message
Verified signature through message output
7) Manually verifying an X.509 certificate
Downloaded a certificate from a real web server
After creating c0.pem & c1.pem, extracted public key from issuer’s certificate
Extracted signature from the server’s certificate with the following given command
Extracted the body of the server certificate through the given command
Calculating hash of the certificate body through the given command
Hash value calculated through command and pre-computed hash value match, verifying signature