# Public Key Cryptography Basics

In this article, I will write a write-up for Public Key Cryptography Basics that covers the Common Use of Asymmetric Encryption, RSA, Diffie-Hellman Key Exchange, SSH, Digital Signatures and Certificates, as well as PGP and GPG to understand how public key ciphers like RSA work and explore their role in applications such as SSH.

1. In the analogy presented, what real object is analogous to the public key? `Lock`
    
2. Knowing that *p* = 4391 and *q* = 6659. What is *n*? `29239669`
    
3. Knowing that *p* = 4391 and *q* = 6659. What is *ϕ*(*n*)? `29228620`
    
4. Consider *p* = 29, *g* = 5, *a* = 12. What is *A*? `7`
    
5. Consider *p* = 29, *g* = 5, *b* = 17. What is *B*? `9`
    
6. Knowing that *p* = 29, *a* = 12, and you have *B* from the second question, what is the key calculated by Bob? (key = *Ba* mod *p*) `24`
    
7. Knowing that *p* = 29, *b* = 17, and you have *A* from the first question, what is the key calculated by Alice? (key = *Ab* mod *p*) `24`
    
8. Check the SSH Private Key in `~/Public-Crypto-Basics/Task-5`. What algorithm does the key use? `RSA`
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1730048018778/eaf4bdfd-1d56-4c9a-83b0-0a0b38bfc7db.png align="center")
    
9. What does a remote web server use to prove itself to the client? `Certificate`
    
10. What would you use to get a free TLS certificate for your website? `Let's Encrypt`
    
11. Use GPG to decrypt the message in `~/Public-Crypto-Basics/Task-7`. What secret word does the message hold? `Pineapple`
    

You will have to import your key from `tryhackme.key` then you’ll decrypt your message on `message.gpg`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1730047967666/32733577-5ea1-45b8-ba16-d4a834c445ba.png align="center")

Thank you for reading my article. Please leave any questions or comments on improving my learning journey and the THM challenges.
