Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Implementing Cryptography ­Using Python

Rating
Format
Paperback, 304 pages
Published
United States, 1 August 2020

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.


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 GCD 111 Euler's Theorem 111 Pseudorandomness 115 Breaking C's rand() Function 116 Solving Systems of Linear Equations 117 Frequency Analysis 120 Cryptanalysis with Python 123 Using an Online Word List 125 Determining the Frequency 126 Breaking the Vigenère Cipher 129 Summary 138 Chapter 5 Stream Ciphers and Block Ciphers 139 Convert between Hexdigest and Plaintext 140 Use Stream Ciphers 141 ARC4 147 Vernam Cipher 148 Salsa20 Cipher 149 ChaCha Cipher 151 Use Block Ciphers 156 Block Modes of Operations 158 ECB Mode 158 CBC Mode 159 CFB Mode 160 OFB Mode 162 CTR Mode 163 Tricks with Stream Modes 164 DIY Block Cipher Using Feistel Networks 165 Advanced Encryption Standard (AES) 167 Using AES with Python 167 File Encryption Using AES 169 File Decryption Using AES 169 Summary 169 Chapter 6 Using Cryptography with Images 171 Simple Image Cryptography 171 Images and Cryptography Libraries 174 Understanding the Cryptography Library 174 Understanding the Cryptosteganography Library 175 Image Cryptography 175 File Cryptography Using Fernet 176 Image Cryptography Using Fernet 179 AES and Block Modes of Operations 180 Exploring a Simple ECB Mode Example 181 Exploring a Simple CBC Mode Example 185 Applying the Examples 186 Steganography 187 Storing a Message Inside an Image 188 Storing a Binary File Inside an Image 192 Working with large images 195 Summary 197 Chapter 7 Message Integrity 199 Message Authentication Codes 200 Hash-based Message Authentication Code 201 Using HMAC to Sign Message 202 Message Digest with SHA 203 Binary Digests 204 NIST Compliance 205 CBC-MAC 206 Birthday Attacks 207 Crafting Forgeries 209 The Length Extension Attack 209 Setting Up a Secure Channel 210 Communication Channels 211 Sending Secure Messages over IP Networks 212 Create a Server Socket 212 Create a Client Socket 213 Create a Threaded Server with TCP 214 Adding Symmetric Encryption 215 Concatenate Message and MAC 218 Summary 221 References 222 Chapter 8 Cryptographic Applications and PKI 223 The Public-Key Transformation 224 Exploring the Basics of RSA 226 Generating RSA Certificates 229 Constructing Simple Text Encryption and Decryption with RSA Certificates 231 Constructing BLOB Encryption and Decryption with RSA Certificates 232 The El-Gamal Cryptosystem 235 Elliptic Curve Cryptography 238 Generating ECC Keys 240 Key Lengths and Curves 241 Diffie-Hellman Key Exchange 242 Summary 245 Chapter 9 Mastering Cryptography Using Python 247 Constructing a Plaintext Communications Application 248 Creating a Server 248 Creating the Client 250 Creating the Helper File 251 Execution 252 Installing and Testing Wireshark 253 Implementing PKI in the Application Using RSA Certificates 255 Modifying the Server 256 Modifying the Client 257 Modifying the Helper File 258 Execution 259 Implementing Diffie-Hellman Key Exchange 261 Modifying the Server File 262 Modifying the Client File 264 Modifying the Helper File 266 Creating the Diffie-Hellman Class File 270 Execution 275 Wrapping Up 276 Index 277

Show more

Our Price
£29.02
Elsewhere
£37.99
Save £8.97 (24%)
Ships from UK Estimated delivery date: 15th Apr - 17th Apr from UK

Buy Together
+
Buy together with Co-Creative Placekeeping in Los Angeles at a great price!
Buy Together
£144.02
Elsewhere Price
£174.02
You Save £30 (17%)

Product Description

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.


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 GCD 111 Euler's Theorem 111 Pseudorandomness 115 Breaking C's rand() Function 116 Solving Systems of Linear Equations 117 Frequency Analysis 120 Cryptanalysis with Python 123 Using an Online Word List 125 Determining the Frequency 126 Breaking the Vigenère Cipher 129 Summary 138 Chapter 5 Stream Ciphers and Block Ciphers 139 Convert between Hexdigest and Plaintext 140 Use Stream Ciphers 141 ARC4 147 Vernam Cipher 148 Salsa20 Cipher 149 ChaCha Cipher 151 Use Block Ciphers 156 Block Modes of Operations 158 ECB Mode 158 CBC Mode 159 CFB Mode 160 OFB Mode 162 CTR Mode 163 Tricks with Stream Modes 164 DIY Block Cipher Using Feistel Networks 165 Advanced Encryption Standard (AES) 167 Using AES with Python 167 File Encryption Using AES 169 File Decryption Using AES 169 Summary 169 Chapter 6 Using Cryptography with Images 171 Simple Image Cryptography 171 Images and Cryptography Libraries 174 Understanding the Cryptography Library 174 Understanding the Cryptosteganography Library 175 Image Cryptography 175 File Cryptography Using Fernet 176 Image Cryptography Using Fernet 179 AES and Block Modes of Operations 180 Exploring a Simple ECB Mode Example 181 Exploring a Simple CBC Mode Example 185 Applying the Examples 186 Steganography 187 Storing a Message Inside an Image 188 Storing a Binary File Inside an Image 192 Working with large images 195 Summary 197 Chapter 7 Message Integrity 199 Message Authentication Codes 200 Hash-based Message Authentication Code 201 Using HMAC to Sign Message 202 Message Digest with SHA 203 Binary Digests 204 NIST Compliance 205 CBC-MAC 206 Birthday Attacks 207 Crafting Forgeries 209 The Length Extension Attack 209 Setting Up a Secure Channel 210 Communication Channels 211 Sending Secure Messages over IP Networks 212 Create a Server Socket 212 Create a Client Socket 213 Create a Threaded Server with TCP 214 Adding Symmetric Encryption 215 Concatenate Message and MAC 218 Summary 221 References 222 Chapter 8 Cryptographic Applications and PKI 223 The Public-Key Transformation 224 Exploring the Basics of RSA 226 Generating RSA Certificates 229 Constructing Simple Text Encryption and Decryption with RSA Certificates 231 Constructing BLOB Encryption and Decryption with RSA Certificates 232 The El-Gamal Cryptosystem 235 Elliptic Curve Cryptography 238 Generating ECC Keys 240 Key Lengths and Curves 241 Diffie-Hellman Key Exchange 242 Summary 245 Chapter 9 Mastering Cryptography Using Python 247 Constructing a Plaintext Communications Application 248 Creating a Server 248 Creating the Client 250 Creating the Helper File 251 Execution 252 Installing and Testing Wireshark 253 Implementing PKI in the Application Using RSA Certificates 255 Modifying the Server 256 Modifying the Client 257 Modifying the Helper File 258 Execution 259 Implementing Diffie-Hellman Key Exchange 261 Modifying the Server File 262 Modifying the Client File 264 Modifying the Helper File 266 Creating the Diffie-Hellman Class File 270 Execution 275 Wrapping Up 276 Index 277

Show more
Product Details
EAN
9781119612209
ISBN
1119612209
Publisher
Dimensions
23.5 x 18.8 x 1.8 centimeters (0.67 kg)

Table of Contents

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 GCD 111

Euler’s Theorem 111

Pseudorandomness 115

Breaking C’s rand() Function 116

Solving Systems of Linear Equations 117

Frequency Analysis 120

Cryptanalysis with Python 123

Using an Online Word List 125

Determining the Frequency 126

Breaking the Vigenère Cipher 129

Summary 138

Chapter 5 Stream Ciphers and Block Ciphers 139

Convert between Hexdigest and Plaintext 140

Use Stream Ciphers 141

ARC4 147

Vernam Cipher 148

Salsa20 Cipher 149

ChaCha Cipher 151

Use Block Ciphers 156

Block Modes of Operations 158

ECB Mode 158

CBC Mode 159

CFB Mode 160

OFB Mode 162

CTR Mode 163

Tricks with Stream Modes 164

DIY Block Cipher Using Feistel Networks 165

Advanced Encryption Standard (AES) 167

Using AES with Python 167

File Encryption Using AES 169

File Decryption Using AES 169

Summary 169

Chapter 6 Using Cryptography with Images 171

Simple Image Cryptography 171

Images and Cryptography Libraries 174

Understanding the Cryptography Library 174

Understanding the Cryptosteganography Library 175

Image Cryptography 175

File Cryptography Using Fernet 176

Image Cryptography Using Fernet 179

AES and Block Modes of Operations 180

Exploring a Simple ECB Mode Example 181

Exploring a Simple CBC Mode Example 185

Applying the Examples 186

Steganography 187

Storing a Message Inside an Image 188

Storing a Binary File Inside an Image 192

Working with large images 195

Summary 197

Chapter 7 Message Integrity 199

Message Authentication Codes 200

Hash-based Message Authentication Code 201

Using HMAC to Sign Message 202

Message Digest with SHA 203

Binary Digests 204

NIST Compliance 205

CBC-MAC 206

Birthday Attacks 207

Crafting Forgeries 209

The Length Extension Attack 209

Setting Up a Secure Channel 210

Communication Channels 211

Sending Secure Messages over IP Networks 212

Create a Server Socket 212

Create a Client Socket 213

Create a Threaded Server with TCP 214

Adding Symmetric Encryption 215

Concatenate Message and MAC 218

Summary 221

References 222

Chapter 8 Cryptographic Applications and PKI 223

The Public-Key Transformation 224

Exploring the Basics of RSA 226

Generating RSA Certificates 229

Constructing Simple Text Encryption and Decryption with RSA Certificates 231

Constructing BLOB Encryption and

Decryption with RSA Certificates 232

The El-Gamal Cryptosystem 235

Elliptic Curve Cryptography 238

Generating ECC Keys 240

Key Lengths and Curves 241

Diffie-Hellman Key Exchange 242

Summary 245

Chapter 9 Mastering Cryptography Using Python 247

Constructing a Plaintext Communications Application 248

Creating a Server 248

Creating the Client 250

Creating the Helper File 251

Execution 252

Installing and Testing Wireshark 253

Implementing PKI in the Application Using RSA Certificates 255

Modifying the Server 256

Modifying the Client 257

Modifying the Helper File 258

Execution 259

Implementing Diffie-Hellman Key Exchange 261

Modifying the Server File 262

Modifying the Client File 264

Modifying the Helper File 266

Creating the Diffie-Hellman Class File 270

Execution 275

Wrapping Up 276

Index 277

About the Author

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.

Show more
Review this Product
Ask a Question About this Product More...
 
Look for similar items by category
Item ships from and is sold by Fishpond World Ltd.

Back to top
We use essential and some optional cookies to provide you the best shopping experience. Visit our cookies policy page for more information.