
This video will give you an overview about the course.
In this video, we take a look at using Python on Mac as well as Linux. We also take a look at installing python on Windows.
• Using Python on Mac and Linux
• Installing Python in Windows
The aim of this video is to discuss Caesar cipher and its implementation. We discuss Other Shift Values, Modular arithmetic, and ROT13.
• Caesar Cipher and its implementation
• Other Shift Values and Modular Arithmetic
• ROT13
In this video, we discuss ASCII encoding and take a look at BASE64 encoding text. We also explore binary data and decoding.
• ASCII Encoding
• BASE64 Encoding Text
• Binary Data and encoding
In this video, we understand XOR and its various counterparts such as XOR Truth Tables and XOR for bytes. We also explore Single-Byte and Multi-Byte XOR alongwith Looping.
• XOR Truth table
• Single Byte and Multi-Byte XOR
• Looping
In this video, we review the Caesar cipher and view an example. We, then, get introduced to a challenge that needs to be solved.
• Caesar Cipher Review
• Example
• Challenge
In this video, we review Base64 and view an example. We, then, get introduced to a couple of challenges that need to be solved.
• Base64 review
• Example
• Simple and Hard Challenge
In this video, we review XOR and view an example. We, then, get introduced to the challenges that need to be solved.
• XOR Review
• Example
• Challenges
In this video, we understand what hashes are. We then take a look at MD5, SHA-1, SHA-2, and SHA-3 hashes. Cracking Hashes are also explored.
• What are Hashes?
• MD5
• SHA-1, SHA-2, and SHA-3
The aim of this video is to understand getting hashes with cain. We explore MD4 and Unicode. We also take a look at cracking hashes with google and with wordlists for Windows.
• Getting hashes with Cain
• MD4 and Unicode
• Cracking Hashes with Google and with Wordlists
In this video, we explore getting hashes alongwith salting and stretching. We take a look at Hashing algorithm and cracking hashes with wordlists for Linux.
• Getting Hashes
• Salting and stretching
• Hashing Algorithm
In this video, we review Windows Hashes and view an example. We, then, get introduced to the challenges that need to be solved.
• Windows Hashes Review
• Example for One Digit
• Challenges
In this video, we review MD5 and SHA. After viewing an example, we get introduced to the challenges that need to be solved.
• MD5 and SHA review
• Many-round hashes
• Challenges
In this video, we review Linux Hashes. We get introduced to the challenges that need to be solved.
• Linux Hashes review
• Challenge
The aim of this video is to explore AES and Private-key encryption. We will take a look at key and block size. We will also explore AES in python alongwith Confusion and Diffusion.
• AES and Private-key encryption
• Key and Block size
• Confusion and diffusion
In this video, we will understand ECB and CBC modes. We will also discover how AES-CBC work in Python.
• ECB: Electronic Code Book
• CBC: Cipher Block Chaining
• AES-CBC in Python
In this video, we will discuss Padding and the error messages associated with it. We will also explore the Padding Oracle Attack.
• Padding: PKCS #7
• “Padding Error” Message
• Padding Oracle Attack
In this video, we take a look at public key encryption and understand the RSA algorithm. We then understand their implementation in Python.
• Public key encryption
• RSA Algorithm
• Implementation in Python
In this video, we explore the setup required to crack AES with padding oracle. We then demonstrate the crack and finally get introduced to the challenge which needs to be solved.
• Setup
• Demonstration
• Challenge
In this video, we take a look at how large integers work in Python and understand working with the decimal library. We explore an example and face a challenge which has to be solved.
• Large integers in Python
• The decimal Library
• Example and Challenge
Cryptography is essential to protect sensitive information, but it is often performed inadequately or incorrectly. Learn how to encrypt data, evaluate and compare encryption methods, and how to attack them. This video course starts by showing you how to encrypt and evaluate your data. You are also walked through various data encryption methods—such as obfuscation, hashing, and strong encryption—and how you can attack them. You will then learn how to make hashes and crack them, and understand why they are so different. You will also learn how to use three NIST-recommended systems: AES, SHA, and RSA. Towards the end of the course, you will master common errors in encryption and how to exploit them.
This course uses Python 2.7, while not the latest version available, it provides relevant and informative content for legacy users of Python.
About the Author
Sam Bowne has been teaching computer networking and security classes at City College, San Francisco since 2000. He has given talks and hands-on trainings at DEFCON, HOPE, B-Sides SF, B-Sides LV, BayThreat, LayerOne, Toorcon, and many other schools and conferences. Credentials: PhD, CISSP, DEF CON Black-Badge Co-Winner