Cryptology is defined as the science of making communication incomprehensible to third parties who have no right to read and understand the data or messages. Cryptology is divided into cryptography, which is the science of securing data, and cryptanalysis, which is the science of analyzing and breaking secure communication. The main terms in cryptology are given in Table 1.
Main terms in cryptology
Plaintext | Data that are wanted to be protected. Let us call it P |
Ciphertext | Encrypted message |
Encryption | Method of hiding message. If E refers to encryption function Ek (P) = C |
Decryption | Recovering encrypted message. If D refers to decryption function Dk (C) = P |
Key | A numeric value to cipher data to protect it |
Cryptography is the practice and study of hiding information. A cryptographic algorithm works in combination with a key—a word, number, or phrase—to encrypt the plaintext. The security of encrypted data is entirely dependent on two things: the strength of the cryptographic algorithm and the secrecy of the key. There are two types of cryptography: symmetric and asymmetric. If the same key is used for encryption and decryption, then the mechanism is called symmetric key cryptography or classical cryptography. This also implies to share a different key with everyone that is wanted to communicate with. Nevertheless, symmetric schemes present the advantage of being fast and should be used as often as possible.
However, if two different keys are used for encryption and decryption, then the mechanism is called asymmetric key cryptography or modern cryptography. The encryption key is public, as the decryption key remains private in this type. Asymmetric schemes are more functional than symmetric ones since there is no need for the sender and the receiver to agree on anything before the transaction. Asymmetric schemes, however, have a big drawback. They are often based on nontrivial mathematical computations and much slower than the symmetric ones. The two most prominent examples are RSA and ElGamal.
The right scheme is the one that fits your constraints in the best way. By constraints, we may understand constraints in terms of time, memory, security, and so forth.
It is the reverse process of cryptography. The objective of cryptanalyst is to decrypt the ciphertext.
The goal of encryption is to ensure confidentiality of data in communication and storage processes. Homomorphic encryption is a form of encryption that allows specific types of computations like addition or multiplication to be carried out on ciphertext. The encrypted result will be the same when decryption is done. Widespread use of cloud computing raises the question of whether it is possible to delegate the processing of data without giving access to it. Encrypting one’s data with a conventional encryption scheme to protect one’s privacy seems to undermine the benefits of cloud computing since it is impossible to process the data without the decryption key [1]. However, in homomorphic encryption; only the encrypted version of the data is given to the untrusted computer to process. The computer will perform the computation on this encrypted data, without knowing anything on its real value. Finally, it will send back the result, and whoever has the proper deciphering key can decrypt the cryptogram correctly. For coherence, the decrypted result will be equal to the intended computed value.
Homomorphic encryption schemes are methods that allow the transformation of ciphertexts C(M) of message M, to ciphertexts C(f(M)) of a computation/function of message M, without disclosing the message. Generally, an encryption scheme contains a three-step algorithm. They are
Key Generation—creates two keys, i.e. the secret key sk and the public key pk. Encryption—encrypts the plaintext m with the public key pk to yield ciphertext c. Decryption—decrypts the ciphertext c with the secret key sk to retrieve the plaintext m [2].
Homomorphic encryption schemes can be classified into three main categories namely: partially homomorphic encryption (PHE), somewhat homomorphic encryption (SWHE), and fully homomorphic encryption (FHE) [6].
The most popular PHE methods available are the RSA, ElGamal, and Paillier methods.
The most popular SWHE method is Boneh-Goh-Nissim (BGN) method. This method allows any number of additions but only one multiplication to be performed on data.
The most popular FHE schemes are algebra homomorphic encryption scheme based on updated ElGamal proposed by Chen Liang and Gao Changmin in 2008 and enhanced homomorphic encryption scheme (EHES) proposed by Gorti VNKV and Subba Rao in 2013. In 2009, Gentry proposed the first not yet broken FHE scheme [3]. FHE refers to cryptosystems that can process both additions and multiplications in the encrypted domain. Any polynomial function over encrypted data can be computed.
In homomorphic encryption, the encryption of the product of two numbers is equal to the product of the encryptions of the numbers:
In this paper, SWHE is examined. The length of the plaintext and encryption time comparison has been made. To do that, Gentry’s encryption scheme is used [7]
. The parameters will be
Set public key
In the experimental environment, safe parameter
Cryptography is a powerful tool to protect information. In recent years, cryptography and cryptanalysis had been improved. Widespread use of cloud computing raises the question of whether it is possible to delegate the processing of data without giving access to it. Homomorphic encryption is a new way to protect private data. Because it allows making computation without decrypting data. It is a new field and research is going on.