Learn to deploy proven cryptographic tools in your applications and services

Cryptography is, quite simply, what makes security and privacy in the digital world possible. Tech professionals, including programmers, IT admins, and security analysts, need to understand how cryptography works to protect users, data, and assets. Implementing Cryptography Using Python will teach you the essentials, so you can apply proven cryptographic tools to secure your applications and systems. Because this book uses Python, an easily accessible language that has become one of the standards for cryptography implementation, you'll be able to quickly learn how to secure applications and data of all kinds.

In this easy-to-read guide, well-known cybersecurity expert Shannon Bray walks you through creating secure communications in public channels using public-key cryptography. You'll also explore methods of authenticating messages to ensure that they haven't been tampered with in transit. Finally, you'll learn how to use digital signatures to let others verify the messages sent through your services.

* Learn how to implement proven cryptographic tools, using easy-to-understand examples written in Python

* Discover the history of cryptography and understand its critical importance in today's digital communication systems

* Work through real-world examples to understand the pros and cons of various authentication methods

* Protect your end-users and ensure that your applications and systems are using up-to-date cryptography



Autorentext

SHANNON W. BRAY CASP, Security +, CISM is the Virtual CISO at Secured Systems providing clients guidance on establishing and maintaining information security plans, policies, procedures, standards, and guidelines using accepted frameworks. He has worked in this roles and others in corporations and federal agencies. Shannon has an MS in Cybersecurity from the University of Delaware. Prior to transitioning to cybersecurity, he was a well known IT expert with several successful books about Microsoft SharePoint.

Klappentext

An accessible introduction to deploying standard cryptographic functions using Python

Cryptography is one of the most vital tools used by IT security professionals, safeguarding sensitive information with mathematical algorithms to encrypt and decrypt data. The Python programming languagea free, open source language that is object oriented, functional, and proceduralis a popular choice when working with cryptography. Python is easier to learn than languages such as Java, C, or C++, its built-in libraries less complicated than OpenSSL, and is available for Windows, Linux/Unix, Mac and Chromebook operating systems, amongst others. As the use of Python continues to expand rapidly, developers need to understand its cryptographic functions to deploy sites, applications, and services securely.

Implementing Cryptography Using Python is an easy-to-understand introduction to cryptography using the available libraries in Python. Emphasizing real-world usability, this practical guide explains the basics of cryptography and the Python language, teaches you how to set up a Python environment on various machines, write your first cipher, and script, analyze, and deploy a range of cryptographic solutions in Python. Clear, user-friendly chapters explore the history of cryptography while providing step-by-step instructions for creating secure communications using public key cryptography, authenticating messages, verifying digital signatures, and much more.

Implementing Cryptography Using Python is a must-have guide for any programmer, web developer, IT professional, or security analyst looking to gain a better understanding of how cryptography works and apply proven cryptographic tools in their applications and systems.

Inhalt

Introduction xvii

Chapter 1 Introduction to Cryptography and Python 1

Exploring Algorithms 2

Why Use Python? 2

Downloading and Installing Python 3

Installing on Ubuntu 4

Installing on macOS 4

Installing on Windows 4

Installing on a Chromebook 4

Installing Additional Packages 5

Installing Pip, NumPy, and Matplotlib 6

Installing the Cryptography Package 7

Installing Additional Packages 8

Testing Your Install 9

Diving into Python Basics 9

Using Variables 10

Using Strings 11

Introducing Operators 11

Understanding Arithmetic Operators 11

Understanding Comparison Operators 13

Understanding Logical Operators 13

Understanding Assignment Operators 14

Understanding Bitwise Operators 15

Understanding Membership Operators 15

Understanding Identity Operators 16

Using Conditionals 16

Using Loops 17

for 17

while 18

continue 18

break 18

else 18

Using Files 19

Understanding Python Semantics 20

Sequence Types 20

Introducing Custom Functions 26

Downloading Files Using Python 27

Introducing Python Modules 28

Creating a Reverse Cipher 29

Summary 30

Chapter 2 Cryptographic Protocols and Perfect Secrecy 31

The Study of Cryptology 32

Understanding Cryptography 32

Cryptography's Famous Family: Alice and Bob 33

Diffie-Hellman 34

Data Origin Authentication 34

Entity Authentication 35

Symmetric Algorithms 36

Asymmetric Algorithms 36

The Needham-Schroeder Protocols 36

The Otway-Rees Protocol 38

Kerberos 39

Multiple-Domain Kerberos 40

X.509 41

Formal Validation of Cryptographic Protocols 46

Configuring Your First Cryptographic Library 47

Understanding Cryptanalysis 47

Brute-Force Attacks 47

Side-Channel Attacks 48

Social Engineering 48

Analytical Attacks 48

Frequency Analysis 48

Attack Models 49

Shannon's Theorem 50

One-Time Pad 51

XOR, AND, and OR 51

One-Time Pad Function 56

One-Way Hashes 58

Cryptographic One-Way Hashes 59

Message Authentication Codes 60

Perfect Forward Secrecy 60

Published and Proprietary Encryption Algorithms 61

Summary 62

References 62

Chapter 3 Classical Cryptography 65

Password Best Practices 66

Password Storage 66

Hashing Passwords 67

Salting Passwords 67

Stretching Passwords 68

Password Tools 68

Obfuscating Data 69

ASCII Encoding 70

Base64 Encoding Text 70

Binary Data 72

Decoding 72

Historical Ciphers 72

Scytale of Sparta 73

Substitution Ciphers 73

Caesar Cipher 74

ROT-13 76

Atbash Cipher 77

Vigenère Cipher 77

Playfair 79

Hill 2x2 83

Column Transposition 87

Affine Cipher 90

Summary 93

Chapter 4 Cryptographic Math and Frequency Analysis 95

Modular Arithmetic and the Greatest Common Devisor 96

Prime Numbers 97

Prime Number Theorem 98

School Primality Test 98

Fermat's Little Theorem 100

Miller-Rabin Primality Test 100

Generate Large Prime Numbers 104

Basic Group Theory 106

Orders of Elements 107

Modular Inverses 109

Fermat's Little Theorem to Find the Inverse 110

Extending the G...

Titel
Implementing Cryptography Using Python
EAN
9781119612223
Format
E-Book (pdf)
Hersteller
Veröffentlichung
15.07.2020
Digitaler Kopierschutz
Adobe-DRM
Dateigrösse
12.92 MB
Anzahl Seiten
304