ABSTRACT

Cryptography is an interdisciplinary field concerning sensitive digital data storage, transmission, and sharing [1]. Two basic functions of cryptography are to preserve the privacy of communication between two entities in different geographic locations and to provide authentication of one entity to another. The former function can be provided with symmetric-key encryption where the cryptographic keys for decryption of ciphertext may be identical to or easily derived from the keys for encryption of plaintext. In practice, the encryption/decryption keys represent a shared secret between the sender and the receiver that can be used to maintain secure communication over public channels [2]. The requirement that a shared secret key should be distributed through a secure channel between a sender and a receiver from being eavesdropped or modified is usually considered the main drawback of symmetric-key cryptography. Making matters worse, the management of the cryptographic keys has become a challenge when the number of communicating parties in the system increases. Concretely, the total number of secret keys in the system with n independent parties is https://www.w3.org/1998/Math/MathML"> ( n 2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9781315372693/7f863bbd-94ce-4705-ae1f-4e0ae74c3058/content/ineqn1_1_B.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and each participant has to maintain n − 1 secret keys since a secret key is required for each pair of parties in system. Furthermore, it is difficult to design digital signatures with nonrepudiation and public verifiability in symmetric-key cryptography [3]. There were no solutions to the key predistribution problem and digital signatures until the revolutionary idea of public-key cryptography (PKC) was put forward over 40 years ago. An overview of symmetric-key cryptography is depicted in Figure 1.1.