Cryptology is increasingly becoming one of the most essential topics of interest in everyday life. Digital communication happens by transferring data between at least two participants — But do we want to disclose private information while executing a sensitive bank transfer? How about allowing third-party entities to eavesdrop on private calls while performing an important secret business discussion? Do we want to allow ambient communication concerning us to be manipulated while control software is driving our autonomous car along a steep slope? Questions like these make it clear why issues of security are a great concern in our increasingly augmented world.
Cryptology for Engineers is a study of digital security in communications systems. The book covers the cryptographical functionalities of ciphering, hash generation, digital signature generation, key management and random number generation, with a clear sense of the mathematical background on the one hand and engineers' requirements on the other. Numerous examples computable by hand or with a small additional cost in most cases are provided inside.
Author(s): Robert Schmied
Edition: 1
Publisher: WSPC
Year: 2020
Language: English
Pages: 384
Tags: Cryptology; Number Theory; Probability Theory
Contents
Preface
About the Author
List of Algorithms
List of Figures
List of Tables
1. Basics on Number Theory and Probability Theory
1.1 Euclid’s Fundamental Theorem of Arithmetic
1.1.1 Division with remainder
1.1.2 Prime numbers
1.2 Basic Concepts of Probability Theory
1.2.1 Probability spaces
1.2.2 Conditional probabilities
2. Security in Communication Systems
2.1 Character Sets and Alphabets
2.2 Digital Messages
2.2.1 Encoding messages
2.2.2 Blockwise and variable-length encoding
2.3 Security in Technical Information Systems
2.3.1 Security goals
2.3.2 Cryptosystems
2.4 Classical Cryptosystems
2.5 Cryptographical Functionalities
2.5.1 Ciphering
2.5.2 Message digests
2.5.3 Signature generation
2.5.4 Key management and PRNGs
2.6 Cryptanalysis
3. Basics of Algebra
3.1 Algebraic Structures
3.1.1 Groups, rings and fields
3.1.2 Subgroups
3.2 Relatively Prime Residue Classes
3.2.1 Group and ring homomorphisms
3.2.2 Extended Euclidean algorithm
3.2.3 Chinese remainder theorem
4. Classical Private-Key Ciphering
4.1 Permutations
4.2 Block Ciphers
4.2.1 Linear mappings and matrices
4.2.2 Affine block ciphers
4.2.3 Cryptanalysis of affine block ciphers
4.3 Block Cipher Modes of Operation
5. Theoretical Bounds for Secure Ciphering
5.1 Conditional Expectation
5.2 Information Theory
5.2.1 Kullback–Leibler divergence
5.2.2 Transinformation
5.2.3 Perfect secrecy and unicity distance
5.3 Strict Avalanche Criteria
6. Modern Private-Key Ciphering
6.1 Feistel Ciphers
6.2 Data Encrypton Standard
6.3 AES: Substitution–Permutation Networks
6.3.1 Construction of finite fields
6.3.2 Components of the AES
6.3.2.1 Structure of the AES
6.3.2.2 SubBytes and InvSubBytes
6.3.2.3 ShiftRows and InvShiftRows
6.3.2.4 MixColumns and InvMixColumns
6.3.2.5 Generating the Round Keys
6.3.2.6 AddRoundKey
6.4 Pohlig–Hellman Exponentiation Cipher
7. Components of Public-Key Cryptosystems
7.1 Public-Key Distribution
7.1.1 Merkle’s puzzle
7.1.2 Diffie–Hellman key agreement
7.1.3 Authentication and key establishment
7.2 One-way Functions
7.2.1 Discrete exponentiation and logarithm
7.2.2 Squaring and square roots modulo n
7.2.3 Multiplying prime powers and their factorization
7.2.4 Binary subset sum problems
7.3 Trapdoor One-way Functions in Public-keyCipher Systems
8. Public-Key Ciphering
8.1 Merkle–Hellman Knapsack Cipher System
8.2 Rabin Cipher System
8.3 RSA Cipher System
8.4 El-Gamal Cipher System
8.5 Elliptic Curve Cipher Systems
9. Message Digests
9.1 Message Detection Codes
9.2 Message Authentication Codes
9.3 Hash-based Message Authentication Codes
10. Digital Signatures
10.1 Types of Signature Generation
10.2 RSA-Based Digital Signature
10.3 El-Gamal Based Digital Signature
10.4 Digital Signature Standard
11. Primality Tests and Pseudo Random Numbers
11.1 Primality Tests
11.2 Fermat Test
11.3 Miller–Rabin Primality Test
11.4 Pseudorandom Number Generators
11.4.1 Linear congruence generator
11.4.2 Blum–Blum–Shub generator
Bibliography
Index