Muutke küpsiste eelistusi

E-raamat: Implementing Cryptography Using Python [Wiley Online]

  • Formaat: 304 pages
  • Ilmumisaeg: 28-Sep-2020
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119612217
  • ISBN-13: 9781119612216
Teised raamatud teemal:
  • Wiley Online
  • Hind: 52,87 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Formaat: 304 pages
  • Ilmumisaeg: 28-Sep-2020
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119612217
  • ISBN-13: 9781119612216
Teised raamatud teemal:

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
Introduction xvii
Chapter 1 Introduction to Cryptography and Python
1(30)
Exploring Algorithms
2(1)
Why Use Python?
2(1)
Downloading and Installing Python
3(6)
Installing on Ubuntu
4(1)
Installing on macOS
4(1)
Installing on Windows
4(1)
Installing on a Chromebook
4(1)
Installing Additional Packages
5(1)
Installing Pip, NumPy, and Matplotlib
6(1)
Installing the Cryptography Package
7(1)
Installing Additional Packages
8(1)
Testing Your Install
9(1)
Diving into Python Basics
9(20)
Using Variables
10(1)
Using Strings
11(1)
Introducing Operators
11(1)
Understanding Arithmetic Operators
11(2)
Understanding Comparison Operators
13(1)
Understanding Logical Operators
13(1)
Understanding Assignment Operators
14(1)
Understanding Bitwise Operators
15(1)
Understanding Membership Operators
15(1)
Understanding Identity Operators
16(1)
Using Conditionals
16(1)
Using Loops
17(1)
for
17(1)
while
18(1)
continue
18(1)
break
18(1)
else
18(1)
Using Files
19(1)
Understanding Python Semantics
20(1)
Sequence Types
20(6)
Introducing Custom Functions
26(1)
Downloading Files Using Python
27(1)
Introducing Python Modules
28(1)
Creating a Reverse Cipher
29(1)
Summary
30(1)
Chapter 2 Cryptographic Protocols and Perfect Secrecy
31(34)
The Study of Cryptology
32(17)
Understanding Cryptography
32(1)
Cryptography's Famous Family: Alice and Bob
33(1)
Diffie-Hellman
34(1)
Data Origin Authentication
34(1)
Entity Authentication
35(1)
Symmetric Algorithms
36(1)
Asymmetric Algorithms
36(1)
The Needham-Schroeder Protocols
36(2)
The Otway-Rees Protocol
38(1)
Kerberos
39(1)
Multiple-Domain Kerberos
40(1)
X.509
41(5)
Formal Validation of Cryptographic Protocols
46(1)
Configuring Your First Cryptographic Library
47(1)
Understanding Cryptanalysis
47(1)
Brute-Force Attacks
47(1)
Side-Channel Attacks
48(1)
Social Engineering
48(1)
Analytical Attacks
48(1)
Frequency Analysis
48(1)
Attack Models
49(1)
Shannon's Theorem
50(1)
One-Time Pad
51(7)
XOR, AND, and OR
51(5)
One-Time Pad Function
56(2)
One-Way Hashes
58(2)
Cryptographic One-Way Hashes
59(1)
Message Authentication Codes
60(1)
Perfect Forward Secrecy
60(1)
Published and Proprietary Encryption Algorithms
61(1)
Summary
62(1)
References
62(3)
Chapter 3 Classical Cryptography
65(30)
Password Best Practices
66(3)
Password Storage
66(1)
Hashing Passwords
67(1)
Salting Passwords
67(1)
Stretching Passwords
68(1)
Password Tools
68(1)
Obfuscating Data
69(3)
ASCII Encoding
70(1)
Base64 Encoding Text
70(2)
Binary Data
72(1)
Decoding
72(1)
Historical Ciphers
72(21)
Scytale of Sparta
73(1)
Substitution Ciphers
73(1)
Caesar Cipher
74(2)
ROT-13
76(1)
Atbash Cipher
77(1)
Vigenere Cipher
77(2)
Playfair
79(4)
Hill 2×2
83(4)
Column Transposition
87(3)
Affine Cipher
90(3)
Summary
93(2)
Chapter 4 Cryptographic Math and Frequency Analysis
95(44)
Modular Arithmetic and the Greatest Common Devisor
96(1)
Prime Numbers
97(9)
Prime Number Theorem
98(1)
School Primality Test
98(2)
Fermat's Little Theorem
100(1)
Miller-Rabin Primality Test
100(4)
Generate Large Prime Numbers
104(2)
Basic Group Theory
106(3)
Orders of Elements
107(2)
Modular Inverses
109(2)
Fermat's Little Theorem to Find the Inverse
110(1)
Extending the GCD
111(1)
Euler's Theorem
111(4)
Pseudorandomness
115(2)
Breaking C's rand() Function
116(1)
Solving Systems of Linear Equations
117(3)
Frequency Analysis
120(3)
Cryptanalysis with Python
123(15)
Using an Online Word List
125(1)
Determining the Frequency
126(3)
Breaking the Vigenere Cipher
129(9)
Summary
138(1)
Chapter 5 Stream Ciphers and Block Ciphers
139(32)
Convert between Hexdigest and Plaintext
140(1)
Use Stream Ciphers
141(15)
ARC4
147(1)
Vernam Cipher
148(1)
Salsa20 Cipher
149(2)
ChaCha Cipher
151(5)
Use Block Ciphers
156(11)
Block Modes of Operations
158(1)
ECB Mode
158(1)
CBC Mode
159(1)
CFB Mode
160(2)
OFB Mode
162(1)
CTR Mode
163(1)
Tricks with Stream Modes
164(1)
DIY Block Cipher Using Feistel Networks
165(2)
Advanced Encryption Standard (AES)
167(2)
Using AES with Python
167(2)
File Encryption Using AES
169(1)
File Decryption Using AES
169(1)
Summary
169(2)
Chapter 6 Using Cryptography with Images
171(28)
Simple Image Cryptography
171(3)
Images and Cryptography Libraries
174(1)
Understanding the Cryptography Library
174(1)
Understanding the Cryptosteganography Library
175(1)
Image Cryptography
175(12)
File Cryptography Using Fernet
176(3)
Image Cryptography Using Fernet
179(1)
AES and Block Modes of Operations
180(1)
Exploring a Simple ECB Mode Example
181(4)
Exploring a Simple CBC Mode Example
185(1)
Applying the Examples
186(1)
Steganography
187(10)
Storing a Message Inside an Image
188(4)
Storing a Binary File Inside an Image
192(3)
Working with large images
195(2)
Summary
197(2)
Chapter 7 Message Integrity
199(24)
Message Authentication Codes
200(10)
Hash-based Message Authentication Code
201(1)
Using HMAC to Sign Message
202(1)
Message Digest with SHA
203(1)
Binary Digests
204(1)
NIST Compliance
205(1)
CBC-MAC
206(1)
Birthday Attacks
207(2)
Crafting Forgeries
209(1)
The Length Extension Attack
209(1)
Setting Up a Secure Channel
210(11)
Communication Channels
211(1)
Sending Secure Messages over IP Networks
212(1)
Create a Server Socket
212(1)
Create a Client Socket
213(1)
Create a Threaded Server with TCP
214(1)
Adding Symmetric Encryption
215(3)
Concatenate Message and MAC
218(3)
Summary
221(1)
References
222(1)
Chapter 8 Cryptographic Applications and PKI
223(24)
The Public-Key Transformation
224(11)
Exploring the Basics of RSA
226(3)
Generating RSA Certificates
229(2)
Constructing Simple Text Encryption and Decryption with RSA Certificates
231(1)
Constructing BLOB Encryption and Decryption with RSA Certificates
232(3)
The El-Gamal Cryptosystem
235(3)
Elliptic Curve Cryptography
238(4)
Generating ECC Keys
240(1)
Key Lengths and Curves
241(1)
Diffie-Hellman Key Exchange
242(3)
Summary
245(2)
Chapter 9 Mastering Cryptography Using Python
247(30)
Constructing a Plaintext Communications Application
248(5)
Creating a Server
248(2)
Creating the Client
250(1)
Creating the Helper File
251(1)
Execution
252(1)
Installing and Testing Wireshark
253(2)
Implementing PKI in the Application Using RSA Certificates
255(6)
Modifying the Server
256(1)
Modifying the Client
257(1)
Modifying the Helper File
258(1)
Execution
259(2)
Implementing Diffie-Hellman Key Exchange
261(15)
Modifying the Server File
262(2)
Modifying the Client File
264(2)
Modifying the Helper File
266(4)
Creating the Diffie-Hellman Class File
270(5)
Execution
275(1)
Wrapping Up
276(1)
Index 277
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.