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 and common 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.

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

  • From Mon, 2nd Mar, 2020 until Fri, 6th Mar, 2020 (5 days)
  • From Mon, 20th Apr, 2020 until Fri, 24th Apr, 2020 (5 days)

Duration of the course:
5 days

The fees for this Python course per day:

Toronto, Canada:
$599 per day (exclusive of HST)
Lake Constance, Hemmenhofen, Germany:
€419 per day (exclusive of VAT)
plus € 90 for full board and lodging in 4 star hotel
Berlin, Germany:
€459 per day (exclusive of VAT)
London, England:
£459 per day (exclusive of VAT)

The price of this course includes participation in the seminar and board and lodging in a 4-star hotel located at Lake Constance.

© The content and the images of this website are underlying copyright as described in the Imprint.