Course Icon UNIX Training

Python Programming & Cryptography

0800 1337 401

Overview

Python is an Object Oriented rapid development language deployed in many scenarios in the modern world.

This Python Programming & Cryptography course is designed to give delegates the knowledge to develop / maintain Python scripts including cryptographic elements 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 maintenance of scripts and their cryptographic requirements.

Prerequisites

Familiarisation with programming concepts is useful, this knowledge can be obtained by attendance on the Concepts of Programming course.

Objectives

Knowledge of Python to write, maintain and understand Python scripts and cryptographic elements.

Outline

Course Contents - DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO PYTHON

  • What is PYTHON and why PYTHON is useful
  • Installing Python
  • The IDLE editor
  • A simple PYTHON Program

Session 2: PYTHON BASICS

  • How to run PYTHON programs on UNIX and Windows platform
  • Lines and Indentation
  • Multiple line Statements
  • Quotation Marks
  • Reserved Words in Python
  • Python Suites
  • Input
  • Output
  • Working with Files
  • Labs

Session 3: PYTHON VARIABLES

  • Assignments
  • Data Types
  • Numbers
  • Strings
  • Lists
  • Tuples
  • Dictionaries
  • Labs

Session 4: PYTHON OPERATORS

  • Arithmetic Operators
  • Comparison Operators
  • Assignment Operators
  • Bitwise Operators
  • Logical Operators
  • Membership Operators
  • Identity Operators
  • Operator Precedence
  • Labs

Course Contents - DAY 2

Session 5: CONDITIONAL AND CONTROL STATEMENTS

  • if else elsif constructs
  • while and for Loops
  • Iteration
  • Labs

Session 6: FUNCTIONS

  • Creating Functions
  • Def Statement
  • Calling functions
  • Scoping variables
  • Passing arguments
  • Labs

Session 7: MODULES

  • What is a module
  • Standard modules
  • How to define and code a module
  • Using import
  • Argument passing and return values from a module
  • Labs

Session 8: PATTERN MATCHING

  • The re module
  • How pattern matching works
  • Pattern matching operators
  • Pattern matching special characters
  • Labs Part 1
  • Pattern matching options
  • Pattern substitution
  • Pattern tagging
  • Translation
  • Labs Part 2

Course Contents - DAY 3

Session 9: Python OO

  • Why use OO
  • Creating a simple class
  • Inheritance
  • Passing data into a class
  • More complex classes
  • Labs

Session 10: EXCEPTIONS

  • What are exceptions
  • Default Handler
  • catch/try/raise Statements
  • Class Based Exceptions
  • What Not To Do
  • Labs

Session 11: WORKING WITH EMAIL

  • Simple emails
  • HTML Emails
  • Working with Attachments
  • Labs

Session 12: WORKING WITH DATABASES

  • Python and Databases
  • Connecting to MySQL Database
  • Working with tables /Records

Course Contents - DAY 4

Session 13: CRYPTOGRAPHIC TERMINOLOGY

  • Key
  • Plaintext
  • Ciphertext
  • Cipher
  • Non-Uniformity
  • Key Strength
  • Key Length
  • Cipher Strength

Session 14: RANDOM NUMBERS

  • Weak vs. Strong
  • Python vs. Pycrypto
  • Labs

Session 15: 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 16: ASYMMETRIC KEYS

  • Generating the Keys
  • Using Asymmetric Keys for Encode/Decode
  • RSA Encryption Example
  • RSA Decryption Example
  • Labs

Session 17: WORKING WITH HASHES

  • Generating the Hash
  • Hashed Passwords
  • Labs

Session 18: WORKING WITH SIGNATURES

  • Keys
  • Encrypting and Signing
  • Checking Signatures
  • Decrypting
  • Labs
See all of the available Technical Courses