Amazon cover image
Image from Amazon.com

Implementing cryptography using python / Shannon Bray.

By: Publisher: Indianapolis : John Wiley and Sons, 2020Edition: 1st editionDescription: xix, 284 p. : ill. ; 25 cmISBN:
  • 9781119612209
Subject(s): DDC classification:
  • 23 005.824  BRA
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Copy number Status Date due Barcode
Book Closed Access Book Closed Access Engineering Library 005.824 BRA 1 (Browse shelf(Opens below)) 1 Available BUML24010295

Contents

Chapter 1 Introduction to Cryptography and Python

Exploring Algorithms

Why Use Python?

Downloading and Installing Python

Installing on Ubuntu

Installing on macOS

Installing on Windows

Installing on a Chromebook

Installing Additional Packages

Installing Pip, NumPy, and Matplotlib

Installing the Cryptography Package

Installing Additional Packages

Testing Your Install

Diving into Python Basics

Using Variables

Using Strings

Introducing Operators

Understanding Arithmetic Operators

Understanding Comparison Operators

Understanding Logical Operators

Understanding Assignment Operators

Understanding Bitwise Operators

Understanding Membership Operators

Understanding Identity Operators

Using Conditionals

Using Loops

for

while

continue

break

else

Using Files

Understanding Python Semantics

Sequence Types

Introducing Custom Functions

Downloading Files Using Python

Introducing Python Modules

Creating a Reverse Cipher

Summary


Chapter 2 Cryptographic Protocols and Perfect Secrecy

The Study of Cryptology

Understanding Cryptography

Cryptography’s Famous Family: Alice and Bob

Diffie-Hellman

Data Origin Authentication

Entity Authentication

Symmetric Algorithms

Asymmetric Algorithms

The Needham-Schroeder Protocols

The Otway-Rees Protocol

Kerberos

Multiple-Domain Kerberos

X.509

Formal Validation of Cryptographic Protocols

Configuring Your First Cryptographic Library

Understanding Cryptanalysis

Brute-Force Attacks

Side-Channel Attacks

Social Engineering

Analytical Attacks

Frequency Analysis

Attack Models

Shannon’s Theorem

One-Time Pad

XOR, AND, and OR

One-Time Pad Function

One-Way Hashes

Cryptographic One-Way Hashes

Message Authentication Codes

Perfect Forward Secrecy

Published and Proprietary Encryption Algorithms

Summary

References


Chapter 3 Classical Cryptography

Password Best Practices

Password Storage

Hashing Passwords

Salting Passwords

Stretching Passwords

Password Tools

Obfuscating Data

ASCII Encoding

Base64 Encoding Text

Binary Data

Decoding

Historical Ciphers

Scytale of Sparta

Substitution Ciphers

Caesar Cipher

ROT-13

Atbash Cipher

Vigenère Cipher

Playfair

Hill 2x2

Column Transposition

Affine Cipher

Summary


Chapter 4 Cryptographic Math and Frequency Analysis

Modular Arithmetic and the Greatest Common Devisor

Prime Numbers

Prime Number Theorem

School Primality Test

Fermat’s Little Theorem

Miller-Rabin Primality Test

Generate Large Prime Numbers

Basic Group Theory

Orders of Elements

Modular Inverses

Fermat’s Little Theorem to Find the Inverse

Extending the GCD

Euler’s Theorem

Pseudorandomness

Breaking C’s rand() Function

Solving Systems of Linear Equations

Frequency Analysis

Cryptanalysis with Python

Using an Online Word List

Determining the Frequency

Breaking the Vigenère Cipher

Summary


Chapter 5 Stream Ciphers and Block Ciphers

Convert between Hexdigest and Plaintext

Use Stream Ciphers

ARC4

Vernam Cipher

Salsa20 Cipher

ChaCha Cipher

Use Block Ciphers

Block Modes of Operations

ECB Mode

CBC Mode

CFB Mode

OFB Mode

CTR Mode

Tricks with Stream Modes

DIY Block Cipher Using Feistel Networks

Advanced Encryption Standard (AES)

Using AES with Python

File Encryption Using AES

File Decryption Using AES

Summary


Chapter 6 Using Cryptography with Images

Simple Image Cryptography

Images and Cryptography Libraries

Understanding the Cryptography Library

Understanding the Cryptosteganography Library

Image Cryptography

File Cryptography Using Fernet

Image Cryptography Using Fernet

AES and Block Modes of Operations

Exploring a Simple ECB Mode Example

Exploring a Simple CBC Mode Example

Applying the Examples

Steganography

Storing a Message Inside an Image

Storing a Binary File Inside an Image

Working with large images

Summary


Chapter 7 Message Integrity

Message Authentication Codes

Hash-based Message Authentication Code

Using HMAC to Sign Message

Message Digest with SHA

Binary Digests

NIST Compliance

CBC-MAC

Birthday Attacks

Crafting Forgeries

The Length Extension Attack

Setting Up a Secure Channel

Communication Channels

Sending Secure Messages over IP Networks

Create a Server Socket

Create a Client Socket

Create a Threaded Server with TCP

Adding Symmetric Encryption

Concatenate Message and MAC

Summary

References


Chapter 8 Cryptographic Applications and PKI

The Public-Key Transformation

Exploring the Basics of RSA

Generating RSA Certificates

Constructing Simple Text Encryption and Decryption with RSA Certificates

Constructing BLOB Encryption and

Decryption with RSA Certificates

The El-Gamal Cryptosystem

Elliptic Curve Cryptography

Generating ECC Keys

Key Lengths and Curves

Diffie-Hellman Key Exchange

Summary


Chapter 9 Mastering Cryptography Using Python

Constructing a Plaintext Communications Application

Creating a Server

Creating the Client

Creating the Helper File

Execution

Installing and Testing Wireshark

Implementing PKI in the Application Using RSA Certificates

Modifying the Server

Modifying the Client

Modifying the Helper File

Execution

Implementing Diffie-Hellman Key Exchange

Modifying the Server File

Modifying the Client File

Modifying the Helper File

Creating the Diffie-Hellman Class File

Execution

Wrapping Up

There are no comments on this title.

to post a comment.