Cryptography in Python
Python for Cryptography
Nowadays, the development of secure
applications, the secure encryption and decryption of data as well as protecting the users privacy in general are essential to many software projects. However, the
large number of different cryptographic algorithms as well as their complexity pose a challenge to many developers. In this course, you will learn the concepts of cryptography such as symmetric
encryption, asymmetric encryption,
digital signatures and certificates andcommon attacks on cryptographic systems.
You are taught both the underlying theory
as well as python example implementations
in order for you to obtain a thorough
understanding of cryptography and enhance
your python programming skills. This seminar
can be run as an in-house training course as
well, e.g., in England, France, Switzerland,
Austria, Italy, Netherland, Luxembourg, Belgium,
or Germany.
Target Group:
This course is intended for developers with basic python or programming background. The participants acquire the necessary knowledge to create encryption schemes and also complementary python skills for securing their applications.
Content:
The aim of this course is two folds. One is to enhance one’s python skills and add a fundamental aspect, i.e., cryptography, to their existing skill set. The other is to enhance one’s understanding of cryptography with the help of both theoretical and practical lessons. Once you complete this course, you are able to create your custom cryptographic schemes and also make use of these schemes in your application development.

- Introduction and Fundamentals
- Goals of cryptography (Confidentiality, Authenticity, Integrity, Non-Repudiation)
- Basic concepts of cryptography (Hash functions, randomness, key length, etc.)
- Symmetric Encryption Methods
- Block ciphers and stream ciphers
- Padding
- Message Authentication Codes (MACs)
- Different examples of symmetric encryption algorithms (AES, etc.)
- Use cases for symmetric encryption algorithms
- Python based practical part to program and experiment with these techniques
- Asymmetric Encryption Methods
- Differences between symmetric and asymmetric encryption methods
- Different examples of asymmetric encryption algorithms (RSA, DSA, etc.)
- Use cases for asymmetric encryption algorithms
- Python based practical part to program and experiment with these techniques
- Digital Signatures and Certificates
- Signatures and Certificates
- Public-Key-Infrastructures and the PGP Web-of-Trust
- OpenSSL, OpenPGP, etc.
- Python based practical part to program and experiment with these techniques
- Common Attacks on Cryptographic Systems
- Security assumptions and guarantees of encryption methods
- Different attack scenarios and attack vectors (e.g. Brute-Force attacks, Replay-attacks, etc.)
- Cryptography and quantum computing
- Cryptanalysis
- Python implementations to experiment with attacks
No comments