Book Image

Cryptography Algorithms

By : Massimo Bertaccini
Book Image

Cryptography Algorithms

By: Massimo Bertaccini

Overview of this book

Cryptography Algorithms is designed to help you get up and running with modern cryptography algorithms. You'll not only explore old and modern security practices but also discover practical examples of implementing them effectively. The book starts with an overview of cryptography, exploring key concepts including popular classical symmetric and asymmetric algorithms, protocol standards, and more. You'll also cover everything from building crypto codes to breaking them. In addition to this, the book will help you to understand the difference between various types of digital signatures. As you advance, you will become well-versed with the new-age cryptography algorithms and protocols such as public and private key cryptography, zero-knowledge protocols, elliptic curves, quantum cryptography, and homomorphic encryption. Finally, you'll be able to apply the knowledge you've gained with the help of practical examples and use cases. By the end of this cryptography book, you will be well-versed with modern cryptography and be able to effectively apply it to security applications.
Table of Contents (15 chapters)
1
Section 1: A Brief History and Outline of Cryptography
3
Section 2: Classical Cryptography (Symmetric and Asymmetric Encryption)
7
Section 3: New Cryptography Algorithms and Protocols
12
Section 4: Homomorphic Encryption and the Crypto Search Engine

The ElGamal algorithm

This algorithm is an asymmetric version of the D-H algorithm. ElGamal aims to overcome the problems of MiM and the impossibility of the signatures for key ownership in D-H. Moreover, ElGamal (just like RSA) is an authentic asymmetric algorithm because it encrypts the message without previously exchanging the key.

The difficulty here is commonly related to solving the discrete logarithm. As we will see later, there is also a problem related to factorization.

ElGamal is the first algorithm we'll explore that presents a new element: an integer random number, [k], that's chosen by the sender and kept secret. It's an important innovative element because it makes its encryption "ephemeral," in the sense that [k] makes the encryption function unpredictable. Moreover, we will frequently see this new element related to the zero-knowledge protocol in Chapter 5, Introduction to Zero-Knowledge Protocols.

Let's look at the implementation...