Fundamental Cryptography in Theory and Python – iProgrammer

Learn to do Cryptography with Python and for free too. A course by computer scientist of ETH Zrich and cybersec expert Cyrill Gssi. He teaches the concepts of Cryptography with a practical approach.

And what better way of exploring the four classic concepts of Cryptography, that is confidentiality, integrity, authenticity and non-repudiation, than with Python.

Gssi developed this course with a few goals in mind. The first that by completing the course you would have gained a good understanding of cryptographyas a tool to realize the aims of information security. The second would be to furnish good knowledge about the existing fundamental cryptographic primitivesand an understanding of the security concerns associated with each of them. And, finally, the third goal would be to become able to apply that theoretical understanding of fundamental cryptographyby using the various cryptographic primitives in Python.

In concrete terms this would involve such things as symmetric, asymmetric, hybrid encryption and key exchanges or primitives such as the AES block cipher ,the RSA encryption scheme, and the Diffie-Hellman key exchanges EDH and ECDHE. All these relate toConfidentiality.

On the topic of Integrity, the cryptographic hash functions such as MD5, SHA-1, SHA-2 and SHA-3 are introduced.

As far as Authenticity is concerned, message authentication codes with HMACs, authenticated encryption with the Encrypt-then-MAC approach, and authenticated encryption with associated data with the GCM block cipher mode of operation, will be examined.

Finally on the Non-Repudiation front, we will have a close look at digital signatures based on RSA, DSA, Elliptic-Curve based DSA, Ed25519 and Ed448.

Theory and its practice in Python go hand in hand. Furthermore you will not just learn how to use the cryptographic primitives in Python, but you will additionally learn, how to implement most of these primitives in Python yourself.

The syllabus in detail:

1-Introduction and content of course2-Cryptography & its classic security goals3-Confidentiality as a security goal4-Symmetric encryption with AES and ECB/CBC5-Using insecure AES-ECB in Python6-Using secure AES-CBC in Python7-Implementing AES in Python #18-Implementing AES in Python #29-Implementing AES in Python #310-Implementing AES in Python #411-Implementing AES in Python #512-Implementing AES-ECB/CBC in Python #113-Implementing AES-ECB/CBC in Python #214-Asymmetric encryption with RSA15-Using RSA in Python16-Implementing RSA in Python #117-Implementing RSA in Python #218-Implementing RSA in Python #319-Hybrid encryption & key exchanges (EC)DHE20-Implementing hybrid RSA-AES encryption in Python21-Using EDH and ECDHE in Python22-Implementing a P-256 ECDHE in Python23-Integrity as a security goal24-Hash function structure and properties25-Hash function security26-Using MD5, SHA-1, SHA-2, SHA-3 in Python27-Implementing SHA-256 in Python #128-Implementing SHA-256 in Python #229-Authenticity as a security goal30-HMAC, Encrypt-then-MAC and GCM31-Using HMAC in Python32-Implementing HMAC in Python33-Implementing Encrypt-then-MAC in Python34-Using AES-GCM in Python35-Implementing AES-GCM in Python #136-Implementing AES-GCM in Python #237-Non-repudiation as a security goal38-Digital signatures39-Using RSA-PSS & Ed25519 signatures in Python40-Recap and summary

These 40 lessons of 2 up to 15mins in duration are provided as a Youtube playlist, while the accompanying Python code is up on its Github repo.

To sum it up, this is a great learning opportunity, combining two essential technologies, Cryptography and Python. Both very valuable for programming as well as careerwise forits students.

Fundamental cryptography with Python-Youtube playlist

Fundamental cryptography with Python-Github

Knock Yourself Out With 91 Python Videos

Play & Learn With CryptoHack

To be informed about new articles on IProgrammer,sign up for ourweekly newsletter,subscribe to theRSSfeedandfollow us on Twitter,Facebook orLinkedin.

Make a Comment or View Existing Comments Using Disqus

or email your comment to: comments@i-programmer.info

Read more:
Fundamental Cryptography in Theory and Python - iProgrammer

Related Post
This entry was posted in $1$s. Bookmark the permalink.