A combination of vigenere algorithm and one time pad algorithm in the three-pass protocol

. Cryptography is the method of delivery of messages in secret, thus only the intended message recipient can read the message. In this study, the cryptographic algorithms which used are Vigenere Cipher and One Time Pad. However, the security of both algorithms depends on the security of the algorithm key. Three-Pass Protocol is a scheme of work that lets two people exchange secret messages without doing a key exchange. So, both the symmetric cryptographic algorithms combined on a Three-Pass Protocol scheme. The purpose of the combination of two algorithms in the three-pass protocol is to secure the image message without exchange key process between sender and recipient. The results of the research and testing using GetPixel pointed out that safeguarding the image file using the combination of Vigenere Cipher and One Time Pad algorithm restores the original image files intact. Therefore, it meets the parameters of the integrity of the data. The test results based on time parameter shows that time of the program execution process is directly proportional to the size of the image. The result is related with the formula which calculate every pixels of the the image.


Introduction
The exchange of information today is effortless, especially for digital images or images. This can be seen from the increasing number of social media that provide the main features to exchange pictures, such as Instagram. Images created from pixels which contain three colors red, green and blue are called as RGB. Each pixel color includes one byte-sized information that indicates the density of the image's color [1].
The ease in transferring images makes people competing to display the best picture when not a few of them are private. A problem is when irresponsible parties are abusing the image of another's property, and this poses a threat to the related party. For that, much needed security for the digital images. One of the data security techniques is cryptography. Cryptography is both the arts and science of protecting the message by encoding it into a form that can no longer be understood [2]. The primary objectives of cryptography are integrity, authentication, confidentiality, and nonrepudiation [3].
Vigenere Cipher is a symmetric key algorithm where the encryption key is the same as the decryption key. In the Vigenere Cipher algorithm, the keyword is repeated as much as is required with the length of plaintext.
The One Time Pad algorithm is known as a perfect secrecy algorithm. In the One Time Pad algorithm, the number of keys is the same length as the number of plaintexts.
The security of the two algorithms above depends on the key security of the algorithm. The Three-Pass Protocol is a work scheme that allows two people to exchange messages without exchanging keys.
Symmetric algorithms have a weakness in the key because it is predictable and straightforward, in addition to the network security factor when the key exchange also determines the security of the message. Therefore, the purpose of this research to cover the weakness of symmetry algorithm done by merging two symmetry algorithm and use of three pass protocol scheme to no longer needed key exchange process.

Cryptography
Cryptography is the science of the way of delivery of messages in secret (i.e., encrypted or disguise form) so that only the intended recipient of the message can let go incognito and read (or understand). The original message called plaintext and the secret word called ciphertext. The process of changing plaintext into ciphertext is called encryption. The method of restoring the ciphertext into plaintext, which is carried out by the recipient who has the knowledge to let go incognito, is called decryption [4]. The purpose of cryptography is four, namely [5]: 1. Confidentiality: information is kept secret from anyone except the official party. 2. Integrity: the message has not been changed at all during the shipping process.
MATEC Web of Conferences 197, 03008 (2018) https://doi.org/10.1051/matecconf/201819703008 AASEC 2018 3. Authentication: the sender of the message is genuine. The alternative term is the authentication of the origin of the data. 4. Non-repudiation: the message sender cannot deny message creation.

Vigenere Algorithm
The Vigenere Cipher algorithm was first published in 1586 by Blaise de Vigenere. Vigenere Cipher is a method for encrypting alphabetical text using a different set of Caesar Cipher based on the letters in the keyword [6]. This algorithm is a symmetric key algorithm considering that knowing encryption is tantamount to understanding decryption and is a polyalphabetic substitution cipher. The keywords on Vigenere Cipher are repeated as much as necessary to cover all the plaintext [7]. Encryption and decryption in Vigenere cipher can be done easily using an enciphering table and its corresponding deciphering table [8].
Mathematically, the process of encryption and decryption is formulated as follows: where P is plaintext, K is key, C is ciphertext, and n is some characters used.

One Time Pad Algorithm
Gilbert S. Vernam invented the One Time Pad algorithm in 1917. One Time Pad is an algorithm with a completely random key, used only once and the key length equal to the length of the plaintext. Therefore, this algorithm has perfect secrecy. One Time Pad earned a reputation as a powerful yet simple algorithm with a high level of security. The algorithm is also better than modern cryptographic algorithms. Mathematically, the process of encryption and decryption is formulated as follows: where P is plaintext, K is key, C is ciphertext, and n is the number of characters used.

Three-Pass Protocol
The Three-Pass protocol is a framework that allows a party send a message encrypted securely to the other party without having key exchange process [9]. Adi Shamir discovered this protocol. This protocol allows Alice and Bob to communicate securely without the exchange of keys either a secret key or a public key.
This assumes a commutative symmetrical cipher, EA (EB (P)) = EB (EA (P)). Alice's secret key is A. Bob's secret key is B. Alice sends a message (P) to Bob. Here is the scheme works: 1. Alice encrypts P with the key and sends it to Bob 2. Bob encrypts C1 with his key and sends it to Alice 3. Alice decrypts C2 with her key and sends it to Bob C3 = DA (EB (EA (P))) = DA (EA (EB (P))) =EB(P) (7) 4. Bob decrypts C3 with his key to get P [5].

The Combination of Vigenere and One Time Pad Algorithm in Three-Pass Protocol
How the combination of vigenere and one time pad algorithm works in Three-Pass Protocol is shown in figure 1. This figure 1 shows that Three-Pass Protocol is a framework that allows the sender to send encrypted messages to the recipient without the need to distribute the sender's key to the receiver [10]. Sender and receiver have their respective key, in this case, Alice uses the key from vigenere cipher, and Bob uses the key from one time pad.

The Calculation Process
The calculation process using the combination of the two algorithms in the three pass protocol scheme is as follows: For example, sender wants to encrypt plain image which shown in figure 2 by using Vigenere Cipher. The same calculation method is done up to the last row and column. This first encryption process by sender will produce a cipher image I is shown in figure 3: The same calculation method is done up to the last row and column. This second encryption process by receiver will produce a cipher image II is shown in figure 4: The same calculation method is done up to the last row and column. This first decryption process by the sender will produce a cipher image III is shown in figure  5: The same calculation method is done up to the last row and column. This last decryption process by the receiver will produce a cipher image IV is shown in figure 6:

Data Integrity Testing
Data integrity is one of the parameters used to test the implementation of the Three-Pass Protocol scheme with a combination of two classical cryptographic algorithms. Testing is done by using GetPixel in C # language to see the RGB pixel values in the image. Based on the results of system testing in the whole process of encryption and decryption of a plain image with a combination of Vigenere Cipher and One Time Pad algorithms in the Three-Pass Protocol scheme described earlier, it is seen that the RGB plain image pixel value before being encrypted is equal to the RGB pixel value of image which results from decryption of One Time Pad. The RGB plain image pixel value before being encrypted equals after being decrypted with the One Time Pad algorithm (cipher image IV). This proves that the combination of Vigenere Cipher and One Time pad algorithms in the Three-Pass Protocol scheme meets the parameters of data integrity. https://doi.org/10.1051/matecconf/201819703008 AASEC 2018

Testing Algorithm against Process Time
The relation of the program execution time to the size of an image can be seen in figure 7:   Fig. 7. Graph Testing Algorithm against Process Time.
Based on the figure 7 can be seen the relationship of processing time is linearly straight to the size of the image which means that the larger the image size, the longer it will take time to execute the program.

Conclusions
The conclusions that can be drawn from this research are Three-Pass Protocol Implementation with the combination of Vigenere Cipher algorithm and One Time Pad algorithm can secure the image file successfully because of the cipher image looks different with the original image. Both of sender and receiver can use their key and algorithm, without doing key exchange. Based on test results with GetPixel, encryption and decryption process in image file security using a combination of Vigenere Cipher algorithm and One Time Pad on Three-Pass Protocol fulfill the data integrity parameter. Based on the graph of the relationship between the processing time encryption and image decryption with pixel size indicates that the processing time is directly proportional to the size of the image. The larger the image pixel size, the greater the time of encryption and decryption process.