
Cryptography Algorithms
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Become a forward-thinking cryptographer by diving into next-gen encryption with zero-knowledge proofs, homomorphic encryption, and post-quantum cryptographic techniques.
- Analyze vulnerabilities and see how cryptographic algorithms protect against modern cyber threats.
Book DescriptionAs cyber threats evolve, so must our cryptographic defenses. This updated edition of Cryptographic Algorithms delves into the latest advancements in encryption, cybersecurity, and data protection, ensuring you stay ahead in this rapidly changing field. Whether you're an aspiring or seasoned cybersecurity professional, this book equips you with the expertise to confidently tackle modern security challenges. Written by Dr. Massimo Bertaccini-a cryptography researcher, inventor, and cybersecurity expert-this book goes beyond theory, offering real-world applications backed by his inventions and patents. His expertise in zero-knowledge proofs, homomorphic encryption, and blockchain security makes this an essential resource for mastering cryptographic security. With updated algorithms, in-depth explanations, and a comprehensive overview of next-gen cryptographic advancements, this second edition provides the tools to protect sensitive data, implement secure cryptographic systems, and defend against emerging cybersecurity threats. By the end of this book, you'll have hands-on expertise in modern cryptographic techniques-empowering you to build robust security solutions and stay at the forefront of cybersecurity innovation. *Email sign-up and proof of purchase requiredWhat you will learn - Become proficient in key cryptographic algorithms, including AES, RSA, and quantum-resistant encryption
- Identify vulnerabilities in symmetric and asymmetric encryption to strengthen security defenses
- Apply zero-knowledge protocols to enhance privacy and authentication
- Implement homomorphic encryption for secure data processing
- Evaluate emerging cryptographic inventions to counter evolving threats
- Identify and defend against logical attacks in cryptographic systems
- Analyze quantum cryptography through the Shor and Grover algorithms
Who this book is forThis book is for cybersecurity professionals, enthusiasts, and anyone looking to master modern cryptography and advance their cybersecurity career. It covers key cryptographic algorithms, mathematical concepts, and emerging technologies. The book addresses mathematical issues related to the algorithms that may arise. A background in university-level mathematics, algebra, modular arithmetic, finite fields theory, and knowledge of elliptic curves and quantum computing, will help readers get the most out of this book.
All prices
More details
Other editions
Additional editions

Previous edition

Person
Massimo Bertaccini, PhD, is a researcher, principal scientist, CEO, and co-founder at Cryptolab Inc. He holds several patents in cryptography, quantum cryptography, and AI. His career started as a professor of mathematics and statistics, following which he founded Cryptolab Inc., a start-up in the field of cryptography solutions for cybersecurity. With his team of engineers, he designed and implemented the first search engine in the world that can work with encrypted data. He has obtained several international prizes and awards, such as the Silicon Valley Inventors award, the Seal of Excellence from the EU, and Security Solutions Provider of the Year - USA, 2023. Currently, as a contract professor, he teaches cryptography for a cybersecurity course and has published many articles in the field of cryptography and blockchain. The first edition of Cryptography Algorithms was the tenth bestseller in its category on Amazon for 40 weeks and proclaimed by Book Authority as the best book of 2023 in homomorphic and quantum encryption.
Content
- Cover
- Copyright
- Contributors
- Table of Contents
- Preface
- Section 1: A Brief History and Outline of Cryptography
- Chapter 1: Deep Dive into Cryptography
- An introduction to cryptography
- Binary numbers, ASCII code, and notations
- Fermat's Last Theorem, prime numbers, and modular mathematics
- A brief history and a panoramic overview of cryptographic algorithms
- Rosetta Stone
- The Caesar cipher
- ROT13
- The Beale ciphers
- The Vernam cipher
- Notes on security and computation
- Summary
- Section 2: Classical Cryptography (Symmetric and Asymmetric Encryption)
- Chapter 2: Symmetric Encryption Algorithms
- Notations and operations in Boolean logic
- DES algorithms
- Simple DES
- Bit initialization
- Bit expansion
- Key generation
- Bit encryption
- DES
- Key generation in DES
- Analysis of the DES algorithm
- Violation of DES
- Triple DES
- DESX
- AES Rijndael
- Description of AES
- Attacks and vulnerabilities in AES
- Summary
- Chapter 3: Asymmetric Encryption Algorithms
- Introduction to asymmetric encryption
- The pioneers
- The Diffie-Hellman algorithm
- The discrete logarithm
- Explaining the D-H algorithm
- Analyzing the algorithm
- Possible attacks and cryptanalysis on the D-H algorithm
- RSA
- Explaining RSA
- Analyzing RSA
- Conventional attacks on the algorithm
- The application of RSA to verify international treaties
- Unconventional attacks
- PGP
- The ElGamal algorithm
- Summary
- Chapter 4: Hash Functions and Digital Signatures
- A basic explanation of hash functions
- Overview of the main hash algorithms
- Logic and notations to implement hash functions
- Explanation of the SHA-1 algorithm
- Notes and example on SHA-1
- Example of one block encoded with SHA- 1
- Authentication and digital signatures
- RSA digital signatures
- Why do digital signatures work?
- Digital signatures with the ElGamal algorithm
- Blind signatures
- Blind signature with RSA
- Notes on the blind signature protocol
- Summary
- Section 3: New Cryptography Algorithms and Protocols
- Chapter 5: Zero-Knowledge Protocols
- The main scenario of a ZKP - the digital cave
- Non-interactive ZKPs
- Demonstration of a non-interactive ZKP
- Demonstrating an attack on an RSA ZKP
- Schnorr's interactive ZKP
- A demonstration of an interactive ZKP
- A challenge for a disruptive attack on an interactive ZKP
- One-round ZKP
- How it works mathematically
- Numerical example
- Notes on the one-round protocol
- An introduction to zk-SNARKs - spooky moon math
- Understanding how a zk-SNARK works
- Demonstrating an attack on a zk-SNARK protocol
- ZK13 - a ZKP for authentication and key exchange
- ZK13 explained
- Demonstrating the ZK13 protocol
- Notes and possible attacks on the ZK13 protocol
- Possible attacks on ZK13
- Summary
- Chapter 6: New Inventions in Cryptography and Logical Attacks
- The genesis of the MB09 algorithm and blockchain
- Introducing the MB09 algorithm and an attempt at demonstrating Fermat's Last Theorem
- An extensive explanation of the MB09 algorithm
- Introducing the MBXI algorithm
- A numerical example of MBXI
- Notes on the MBXI algorithm and the prelude to an attack on RSA
- Unconventional attacks and self-reverse decryption on RSA
- A new protocol to protect RSA and asymmetric algorithms from spying
- Digital signatures on MBXI
- A direct signature method in MBXI
- The appendix signature method with MBXI
- A mathematical demonstration of the MBXI digital signature algorithm
- The evolution of MB09 and MBXI: an introduction to MBXX
- An explanation of the MBXX protocol
- Notes on the MBXX protocol
- Conclusions on the MBXX protocol
- Lightweight encryption
- Encryption with Cybpher
- Summary
- Chapter 7: Elliptic Curves
- An overview of elliptic curves
- Operations on elliptic curves
- Scalar multiplication
- Implementing the D-H algorithm on elliptic curves
- Elliptic curve secp256k1: the Bitcoin digital signature
- Step 1: Generating keys
- Step 2: Performing the digital signature in secp256k1
- Step 3: Verifying the digital signature
- A numerical exercise on a digital signature on secp256k1
- Attacks on ECDSA and the security of elliptic curves
- Step 1: Discovering the random key, [k]
- Step 2: Recovering the private key, [d]
- Considerations about the future of ECC
- Summary
- Chapter 8: Introduction to Homomorphic Encryption and Crypto Search Engine
- Introduction to CSE: homomorphism
- Partial homomorphism in RSA
- Analysis of homomorphic encryption and its implications
- Math and logic behind search engines
- Introduction to trees: graph theory
- Huffman code
- Hash and Boolean logic
- CSE explained
- The innovation in CSE
- Computational analysis on CSE
- Example of computational brute-force cracking
- Applications of CSE
- The new frontier of CSE and a new quantum algorithm for message transmission: QTM
- Summary
- Section 4: Quantum Cryptography
- Chapter 9: Quantum Cryptography
- Introduction to Q-Mechanics and Q-Cryptography
- An experiment that changed the story of quantum
- An imaginary experiment to understand the elements of Q-Mechanics
- Step 1: superposition
- Step 2: the indeterminacy principle
- Step 3: spin and entanglement
- Origin of Q-Cryptography: quantum money
- QKD: BB84
- Step 1: initializing the quantum channel
- Step 2: transmitting the photons
- Step 3: determining the shared key
- Analysis of attack and technical issues
- Quantum computing
- Shor's algorithm
- Hypothesis and thesis
- Step 1: initializing the qubits
- Step 2: choosing the random number, (a)
- Step 3: quantum measurement
- Step 4: finding the right candidate, (r)
- QFT
- Step 5: factorizing (n)
- Notes on Shor's algorithm
- Post-Q-Cryptography
- Summary
- Chapter 10: Quantum Search Algorithms and Quantum Computing
- An overview of Grover's algorithm
- Elements of quantum programming: quantum information and circuits
- Classical information
- Quantum information, gates, and circuits
- Pauli gates (X, Z)
- Identity gate
- Hadamard gate
- Deep dive into Grover's algorithm
- Pseudocode for running Grover's algorithm
- Step 1: Allocate the register of qubits in superposition
- Step 2: Iterations on Grover's operator: G
- The unique search problem and the amplitude amplification probability
- Step 1: The promise of the inputs
- Step 2: Grover's operation G
- Step 3: Quantum measurement
- Summary
- Other Books You May Enjoy
- Index
2
Symmetric Encryption Algorithms
After covering an overview of cryptography, it's time now to present the principal algorithms in symmetric encryption and their logic and mathematical principles.
In Chapter 1, Deep Dive into Cryptography, we saw some symmetric cryptosystems such as ROT13 and the Vernam cipher. Before going further into describing modern symmetric algorithms, we need to overview the construction of the classic block ciphers.
If you recall, symmetric encryption is performed through a key that is shared between the sender and receiver, and vice versa. But how do we implement symmetric algorithms that are robust (in the sense of security) and easy to perform (computationally) at the same time? Let's see how we can answer this question by comparing asymmetric with symmetric encryption.
One of the main problems with asymmetric encryption is that it is not easy to perform the operations (especially the decryption), due to the high capacity of computation required to perform such algorithms at the recommended security levels. This problem implies that asymmetric encryption is not suitable for transmitting long messages, but it's better to exchange the key. Hence, by using symmetric encryption/decryption performed with the same shared key, we obtain a smoother scheme to exchange encrypted messages.
In this chapter, we will learn about the following topics:
- The basics of Boolean logic
- The basics of a simplified Data Encryption Standard (DES) where we start to familiarize ourselves with the techniques of S-box, substitution, and transposition of data
- Analyzing DES, Triple DES, and DESX by applying the previously mentioned techniques to these algorithms
- The Advanced Encryption Standard (AES) (Rijndael): the actual standard in symmetric encryption
- Implementing some logical and practical attacks on symmetric algorithms
By the end of the chapter, you will understand how to implement, manage, and attack symmetric algorithms.
Notations and operations in Boolean logic
In order to understand the mechanism of symmetric algorithms, it is necessary to go over some notations in Boolean logic and these operations on a binary system.
As we have already seen in Chapter 1, Deep Dive into Cryptography, the binary system works with a set of bits of {0,1}. So, dealing with Boolean functions means performing logic calculations on a sequence of bits to generate an answer that could be either TRUE or FALSE.
The most frequently used functions are AND (conjunction), OR (disjunction), and XOR (exclusive OR). But there are a few other notations as well that will be explained soon.
A Boolean circuit aims to determine whether a variable, x, combined with another variable, y, satisfies the TRUE or FALSE condition. This problem is called the Boolean satisfiability problem (SAT, or B-SAT) and it is of particular importance in computer science. SAT was the first problem to be shown as NP-complete.
NP-complete refers to the classical NP problem in the theory of complexity. If a group of questions is answerable in a reasonable time, we say P for polynomial time. If the time of answering is NP (for nondeterministic polynomial), then we say that this group of questions is not tractable in a reasonable running machine time. These questions are therefore NP-complete. So, in general, this is a hard problem to solve.
Conversely, I say that this is a hard problem only for a classical computer. An example is the RSA problem of factorization of a semiprime, which can be characterized as an NP problem. We will see that RSA theoretically will not be an issue for a quantum computer applying an appropriate quantum algorithm with a proper number of qubits (Chapter 9, Quantum Cryptography).
The question now is as follows: given a certain function, does an assignment of the TRUE or FALSE values exist such that the expression results in TRUE?
A formula of propositional logic is satisfiable if there exists an assignment that can determine that a proposition is TRUE. If the result is FALSE for all possible variable assignments, then the proposition is said to be unsatisfiable. That is of great importance in algorithm theory, such as for the implementation of search engines, and even in hardware design or electronic circuits.
Let's give an example of propositional logic:
- Premise 1: If the sky is clear, then it is sunny.
- Premise 2: There are no clouds in the sky.
- Conclusion: It's TRUE that it is sunny.
As you can see in Figure 2.1, starting from an input and elaborating on the logic circuit with an algorithm, we obtain a conclusion of TRUE or FALSE.
All these concepts will be particularly useful in further chapters of the book, especially Chapter 5, Zero-Knowledge Protocols, when we talk about zero knowledge, and Chapter 8, Homomorphic Encryption and Crypto Search Engine, where we talk about a search engine that works with encrypted data:
Figure 2.1: A Boolean circuit gives two opposite variables as output
The basic operations performed in Boolean circuits are as follows:
- AND (conjunction): Denoted with the symbol x?y. This condition is satisfied when X together with Y is true. So, we are dealing with propositions such as pear AND apple, for example. If we are searching through some content (let's say a database containing sentences and words), setting the AND operator will select all the elements containing both the words (pear and apple), not just one of them.
Now, let's explore how this operator works in mathematical mode. The AND operator transposed in mathematics is a multiplication of x * y. The following is a representation of the truth table for all the logic combinations of the two elements. As you can see, only when x * y = 1 does it mean that the condition of conjunction x?y is satisfied:
Figure 2.2: Mathematical table for AND
- OR (disjunction): Denoted by the symbol (X?Y). This condition is satisfied when at least one of the elements of X or Y is true. So, we are dealing with a proposition such as pear OR apple. Our example of searching in a database will select all the elements containing at least one of the two words (pear or apple).
In the following table, you can see the OR operator transposed in the mathematical operation x+y. At least one of the variables assumes the value 1, so it satisfies the condition of disjunction x?y, represented by the sum of the two variables:
Figure 2.3: Mathematical table for OR
Idempotence, from idem + potence (same + power), is a property of certain operations in mathematics and computer science that denotes that they can be applied multiple times without changing the result beyond the initial application. Boolean logic has idempotence within both AND and OR gates. A logical AND gate with two inputs of A will also have an output of A (1 AND 1 = 1, 0 AND 0 = 0). An OR gate has idempotence because 0 OR 0 = 0 and 1 OR 1 = 1.
- NOT (negation): Denoted with the symbol ¬x, meaning x excludes y. So, we are dealing with propositions such as pear NOT apple. For example, if we search in a database, we are looking for documents containing only the first word or value (pear) and not for the second (apple). Finally, in the following table, you can see the NOT operator denoted by the symbol of negation, ¬x. It is represented by a unitary operation that gets back the opposite value with respect to its input:
Figure 2.4: Mathematical table for NOT
These basic Boolean operators, AND,...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.