Explore the fascinating and rich world of Secret Key cryptography! This book provides practical methods for encrypting messages, an interesting and entertaining historical perspective, and an incredible collection of ciphers and codes—including 30 unbreakable methods.
In Secret Key Cryptography: Ciphers, from simple to unbreakable you will:
Measure the strength of your ciphers and learn how to guarantee their security
Construct and incorporate data-compression codes
Generate true random numbers in bulk
Construct huge primes and safe primes
Add an undetectable backdoor to a cipher
Defeat hypothetical ultracomputers that could be developed decades from now
Construct 30 unbreakable ciphers
Secret Key Cryptography gives you a toolbox of cryptographic techniques and Secret Key methods. The book’s simple, non-technical language is easy to understand and accessible for any reader, even without the advanced mathematics normally required for cryptography. You’ll learn how to create and solve ciphers, as well as how to measure their strength. As you go, you’ll explore both historic ciphers and groundbreaking new approaches—including a never-before-seen way to implement the uncrackable One-Time Pad algorithm.
Whoever you are, this book is for you! History buffs will love seeing the evolution of sophisticated cryptographic methods, hobbyists will get a gentle introduction to cryptography, and engineers and computer scientists will learn the principles of constructing secure ciphers. Even professional cryptographers will find a range of new methods and concepts never published before.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
From the Roman empire’s Caesar cipher to the WWII Enigma machine, secret messages have influenced the course of history. Today, Secret Key cryptography is the backbone of all modern computing infrastructure. Properly designed, these algorithms are efficient and practical. Some are actually unbreakable, even using supercomputers or quantum technology!
About the book
Secret Key Cryptography teaches you how to create Secret Key ciphers, ranging from simple pen-and-paper methods to advanced techniques used in modern computer-based cryptography. It reveals both historic examples and current innovations. You’ll learn how to efficiently encrypt large files with fast stream ciphers, discover alternatives to AES encryption, and avoid strong-looking but weak ciphers. Simple language and fun-to-solve mini-ciphers make learning serious concepts easy and engaging.
What's inside
Construct 30 unbreakable ciphers
Measure the strength of your ciphers and guarantee their security
Add an undetectable backdoor to a cipher
Defeat hypothetical ultracomputers of the future
About the reader
For professional engineers, computer scientists, and cryptography hobbyists. No advanced math knowledge is required.
About the author
Frank Rubin has been doing cryptography for over 50 years. He holds an MS in Mathematics, and a PhD in Computer Science.
Table of Contents
1 Introduction
2 What is cryptography?
3 Preliminary concepts
4 Cryptographer’s toolbox
5 Substitution ciphers
6 Countermeasures
7 Transposition
8 Jefferson Wheel Cypher
9 Fractionation
10 Variable-length fractionation
11 Block ciphers
12 Principles for secure encryption
13 Stream ciphers
14 One-time pad
15 Matrix methods
16 Three pass protocol
17 Codes
18 Quantum computers
Author(s): Frank Rubin
Edition: 1
Publisher: Manning
Year: 2022
Language: English
Pages: 344
City: Shelter Island, NY
Tags: Cryptography; Ciphers; Encrypting Messages; Block Ciphers; Secure Encryption; Stream Ciphers; One-Time Pad; Matrix Methods; Three Pass Protocol; Quantum Computers
front matter
foreword
preface
acknowledgments
about this book
about the author
about the cover illustration
1 Introduction
2 What is cryptography?
2.1 Unbreakable ciphers
2.2 Types of cryptography
2.3 Symmetric vs. asymmetric cryptography
2.4 Block ciphers vs. stream ciphers
2.5 Mechanical vs. digital
2.6 Why choose Secret Key?
2.7 Why build your own?
3 Preliminary concepts
3.1 Bits and bytes
3.2 Functions and operators
3.3 Boolean operators
3.4 Number bases
3.5 Prime numbers
3.6 Modular arithmetic
4 Cryptographer’s toolbox
4.1 Rating system
4.2 Substitution
Huffman codes
4.3 Transposition
4.4 Fractionation
4.5 Random number generators
Chained digit generator
4.6 Useful combinations, wasteful combinations
Bazeries type 4 cipher
5 Substitution ciphers
5.1 Simple substitution
5.2 Mixing the alphabet
5.3 Nomenclators
5.4 Polyalphabetic substitution
5.5 The Belaso cipher
5.6 The Kasiski method
5.7 Index of Coincidence
5.8 Index of Coincidence, again
5.9 Solving a polyalphabetic cipher
Solving a Belaso cipher
Solving a Vigenère cipher
Solving a general polyalphabetic cipher
5.10 Autokey
5.11 Running key
5.12 Simulated rotor machines
Single-rotor machine
Three-rotor machine
Eight-rotor machine
6 Countermeasures
6.1 Double encipherment
6.2 Null characters
6.3 Interrupted key
6.4 Homophonic substitution
Cipher
6.5 Bigram and trigram substitution
6.6 Hiding messages in images
6.7 Adding null bits
6.8 Merging multiple messages
6.9 Embedding a message in a file
7 Transposition
7.1 Route transposition
7.2 Columnar transposition
Cysquare
Word transposition
7.3 Double columnar transposition
7.4 Cycling columnar transposition
7.5 Random number transposition
7.6 Selector transposition
7.7 Key transposition
7.8 Halving transposition
7.9 Multiple anagramming
8 Jefferson Wheel Cypher
8.1 Known-word solution
8.2 Ciphertext-only solution
9 Fractionation
9.1 Polybius square
9.2 Playfair
Solving a Playfair cipher
Strengthening a Playfair cipher
9.3 Two Square
9.4 Three Square
9.5 Four Square
9.6 Bifid
Conjugated matrix bifid
9.7 Diagonal bifid
9.8 6×6 squares
9.9 Trifid
9.10 Three Cube
9.11 Rectangular grids
9.12 Hexadecimal fractionation
9.13 Bitwise fractionation
Cyclic 8×N
9.14 Other fractionation
9.15 Stronger blocks
10 Variable-length fractionation
10.1 Morse
10.2 Monom-Binom
10.3 Periodic lengths
10.4 Huffman Substitution
10.5 Post tag systems
Same-length tags
Different-length tags
Multiple alphabets
Short and long moves
10.6 Fractionation in other bases
10.7 Text compression
Lempel-Ziv
Arithmetic coding
Adaptive arithmetic coding
11 Block ciphers
11.1 Substitution-permutation network
11.2 Data Encryption Standard (DES)
Double DES
Triple DES
Fast bit transposition
Short blocks
11.3 Matrix multiplication
11.4 Matrix multiplication
11.5 Advanced Encryption Standard (AES)
11.6 Fixed vs. keyed substitution
11.7 Involutory ciphers
Involutory substitution
Involutory polyalphabetic substitution
Involutory transposition
Involutory block cipher
Example, poly triple flip
11.8 Variable-length substitutions
11.9 Ripple ciphers
11.10 Block chaining
Polyalphabetic chaining
Enciphered chaining
Lagged chaining
Interior taps
Key chaining
Chaining mode summary
Chaining short blocks
Chaining variable-length blocks
11.11 Strengthening a block cipher
12 Principles for secure encryption
12.1 Large blocks
12.2 Long keys
Redundant keys
12.3 Confusion
Correlation coefficient
Base-26 linearity
Base-256 linearity
Adding a backdoor
Condensed linearity
Hybrid linearity
Constructing an S-box
S-box with a key
12.4 Diffusion
12.5 Saturation
13 Stream ciphers
13.1 Combining functions
13.2 Random numbers
13.3 Multiplicative congruential generator
13.4 Linear congruential generator
13.5 Chained exclusive-OR generator
13.6 Chained addition generator
13.7 Shift and XOR generator
13.8 FRand
13.9 Mersenne Twister
13.10 Linear feedback shift registers
13.11 Estimating the period
13.12 Strengthening a generator
13.13 Combining generators
13.14 True random numbers
Lagged linear addition
Layering images
13.15 Refreshing the random bytes
13.16 Synchronized key streams
13.17 Hash functions
14 One-time pad
14.1 The Vernam cipher
14.2 Key supply
Circulating key
Combined key
Selection key
14.3 Indicators
14.4 Diffie-Hellman key exchange
Constructing large primes, old
Constructing large primes, new
15 Matrix methods
15.1 Inverting a matrix
15.2 Transposition matrix
15.3 The Hill cipher
15.4 Hill cipher, computer versions
15.5 Large integer multiplication
Multiplying and dividing congruences
15.6 Solving a linear congruence
Reducing a congruence
Half-and-Half Rule
Laddering
Continued fractions
15.7 Large integer ciphers
15.8 Small integer multiplication
15.9 Multiplication modulo P
15.10 Change of base
15.11 Rings
15.12 Matrices over a ring
15.13 Constructing a ring
Gaussian integers
Quaternions
15.14 Finding an invertible matrix
16 Three pass protocol
16.1 Shamir’s method
16.2 Massey-Omura
16.3 Discrete logarithm
Logarithms
Powers of primes
Crash
Factoring
Estimates
16.4 Matrix three pass protocol
Commutative family of matrices
Multiplicative order
Maximum order
Emily attacks
Non-commutative ring
Solving bilinear equations
Weaklings
Making it fast
16.5 Two-sided three pass protocol
17 Codes
17.1 The Joker
18 Quantum computers
18.1 Superposition
18.2 Entanglement
18.3 Error correction
18.4 Measurement
18.5 Quantum 3-stage protocol
18.6 Quantum key exchange
18.7 Grover’s algorithm
18.8 Equations
Transpositions
Substitutions
Karnaugh maps
Intermediate variables
Known plaintext
18.9 Minimization
Hill climbing
Mille sommets
Simulated annealing
18.10 Quantum simulated annealing
18.11 Quantum factoring
18.12 Ultracomputers
Substitution
Random numbers
Ultrasubstitution cipher US-A
Ultrastream cipher US-B
Fun pages
Challenge
Epilogue
index