
Introduction to Python Cryptography
Overview
Python is an Object Oriented rapid development language deployed in many scenarios in the modern world.
This Introduction to Python Cryptography course is designed to give delegates the knowledge to develop/maintain Python based Cryptography scripts using the current version (V3) of Python.
There are many similarities between Python V2 and Python V3 so the skills gained on this course will allow the delegate to develop their own skills further using Python V2 or V3 to support the development and maintenance of their cryptographic requirements.
Prerequisites
Good understanding of Python Programming to the level covered on the Python Programming course.
Objectives
Knowledge of Python to write, maintain and understand Python cryptography elements.
Outline
Course Contents - DAY 1
Session 1: CRYPTOGRAPHIC TERMINOLOGY
- Key
- Plaintext
- Ciphertext
- Cipher
- Non-Uniformity
- Key Strength
- Key Length
- Cipher Strength
Session 2: RANDOM NUMBERS
- Weak vs. Strong
- Python vs. Pycrypto
- Labs
Session 3: SYMMETRIC KEYS
- Symmetric Key Generation
- AES Encryption / Decryption Example
- Cipher Block Chaining
- AES_CBC encryption / Decryption example
- More Complex AES_CBC Encryption / Decryption Example
- Labs
Session 4: ASYMMETRIC KEYS
- Generating the Keys
- Using Asymmetric Keys for Encode/Decode
- RSA Encryption Example
- RSA Decryption Example
- Labs
Session 5: WORKING WITH HASHES
- Generating the Hash
- Hashed Passwords
- Labs
Session 6: WORKING WITH SIGNATURES
- Keys
- Encrypting and Signing
- Checking Signatures
- Decrypting
- Labs