To add more to these questions:
First:
First understanding how ssh - GitHub connection is enabled. Understand all the steps involved.
// Now how does these pub-privates are used in action while you push changes to repo in GitHub?
// Understanding every details involved in this will help you to understand, this mechanism commonly used in variety of situations.
Second:
What are different components involved in the flow of emails text that you send from a gmail account to yahoo account?
What happens when you send to an email id which does not exist? Which component knows and sends back the error?
Let's say from gmail sending to non-existing yahoo email account. What happens. Check all the headers as well along with email body.
You must be able to draw all the components and how the data is flowed and transformed at each component? This is true to understand any system. e.g: domain name systems.
Keep listing the assumptions that you make while you draw the above diagram. Keep revisiting the assumptions and keep updating them. Try to remove assumptions one by one by knowing the fact and keep them updating with new ones.
Using system tracing tools to see the network packets in action. Like we see using Postman tool.
Third:
A quick guide to End-to-End Encryption and digital signatures:
Create 2 accounts and send emails:
// check the complete headers of the emails, that are received.
// always check engineering blog by the secure email service providers.
// Explore: https://protonmail.com/blog/
// How can someone block these email services? https://protonmail.com/blog/russia-block/
Exchanges server is used widely in Enterprise:
Finally:
Try searching in images.google.com to find more useful explanations of any topic.
e.g: search for "email systems".