Implementation of The Advanced Encryption Standard (AES) Algorithm for Digital Image Security

Abstract is a synopsis of the work containing the problems studied, the purpose of research, information and methods used to solve problems, and conclusions. Articles must be submitted in print-ready format and are limited to a minimum of ten (10) pages and a maximum of twelve (12) pages. Abstract is a synopsis of the work that contains the issues studied, the research purpose, the information and methods used to solve the problem, and the research conclusion. Abstracts are limited to 200 words and should not contain references, mathematic equations, figures, and tables. The font size for abstracts, keywords, and body of article is 11pt. Keywords are no more than six (6) words, but the minimum is three (3) words. ABSTRACT Nowadays, technological advances have made it increasingly easy to obtain information, especially image data (digital images). Digital image is an interesting thing to look for information. So that misuse of data can be done for personal or public interests. Misuse of data can be avoided by adding data security systems. Cryptography is the science of securing data. Cryptography can be done using the AES (Advanced Encryption Standard) algorithm, which is an algorithm that utilizes symmetric keys. Testing is done by entering the same key in the encryption and decryption process. Encryption is the process of encoding plaintext (original text) into ciphertext (text that has been encoded). While decryption is the process of recovering the plaintext from the ciphertext. Therefore, data security is an important thing to do. This study aims to find out how encryption and decryption on the AES algorithm can be used to secure digital data. The results of this study indicate that the encryption and decryption process on the AES algorithm was successfully carried out so that it can be used to secure data on digital images.


INTRODUCTION
Advances in technology make it easier to get information on various kinds of data, especially image data (digital images). Digital image is one of the interesting data to look for information. Through advances in information technology, personal data can be easily known by the general public. This causes a decrease in the level of privacy of a person where privacy is something that should not be known by the general public.
Digital images that are private can become public if someone manages to hack the security of the digital image. Misuse of data can be done by other parties if the data is successfully hacked. This of course violates the privacy policy and causes harm to the owner. reason, maintaining data security is an important thing to implement. With increasing data security, a person's level of privacy becomes more secure [1] [2].
The thing that can be done to secure the digital image data is to disguise the data. With the disguise of data, the other party will not know the original image of the disguised image. Data disguise can be done with cryptography. Where cryptography [3][4] [5] itself is a data security technique by disguising the data. One of the cryptographic algorithms that can be used is the AES algorithm [6][7] [8], which is a symmetric ciphertext block that can perform encryption and decryption. Therefore, in this study the authors conducted research to create cryptographic applications using the AES algorithm to secure data on digital images.

II. METHODOLOGY
The system development method used in this research is the Systems development life cycle (SDLC) method by analyzing various literature studies. The method of developing this system is as follows.

Analysis
Rapid technological advances make it easier for people to exchange information with each other. Data is getting easier to disseminate. However, not everyone can maintain data security. Misuse of data can be done for personal interests that are detrimental to the owner of the original data. Therefore, making data security applications is very necessary.

Design
The design of the system application is based on the literature study that has been carried out. The design of this application consists of a main menu for encryption and decryption using the Java language in the NetBeans IDE 8.2 application.

Implementation
Implementation is in the form of an application made based on literature study and design in the previous stage.

Testing
The trial is carried out before the application is ready for use by the user. Based on the results of testing the application, its shortcomings will be evaluated for further improvement and ready to be used by users.

Evaluation
Applications that have been tested will be analyzed to get the desired results.
The algorithm used in this study is the Advanced Encryption Standard (AES) [9][10] algorithm. AES is a symmetric block cipher cryptography algorithm where the same key is required for encryption and decryption. The AES algorithm is a development of the DES algorithm whose validity period is considered over due to security factors. There are three types of key length in the AES algorithm, namely 128 bits, 192 bits, and 256 bits. Each key length will affect the number of rounds in the AES algorithm. There are two processes in the AES algorithm, namely the encryption and decryption process.
Encryption, the encryption process starts with the input, the input that has been copied in the state will undergo an AddRoundKey transformation. Then, the state will transform SubBytes, ShiftRows, Mixcolomns, and AddRoundKey repeatedly according to the key length used in the AES algorithm. The process is called a round function. The last round is different from the previous rounds because it does not undergo a Mixcolomns transformation.  There are four types of byte transformation in the AES algorithm, namely AddRoundKey, SubBytes, ShiftRows, and Mixcolomns.

1.
AddRoundKey is a transformation in AES that functions to combine state arrays and round keys with XOR operations. SubBytes is a transformation in AES that functions to exchange the contents of the bytes using the substitution table (S-Box).   Mixcolumns is the process of transferring data blocks in each state array. The Mixcolomns transformation can be seen in the following matrix multiplication. The description process is done by doing an inverse of the encrypted transformation. The decryption process aims to restore data to its original form.    The result of the matrix multiplication above can be considered as the product below.

Software Requirements Analysis
Rapid technological advances make it easier for people to exchange information with each other. Today's society is very easy to get the information they want. Therefore, a data security application is needed to keep data safe when exchanging information.

Problem Identification
The rapid development of technology makes it easy for us to get the information we want. We can easily share images via the internet. However, when sharing images we must also be able to distinguish between personal data and public data. Because currently there are many cases of data misuse. Data on the internet can be easily misused by irresponsible parties for their personal interests. Therefore, a data security system is very necessary, one of the data security methods is the AES (Advanced Encryption Standard) cryptographic algorithm.

Analysis
This application is an implementation of the AES algorithm. AES is a cryptographic algorithm for securing data. This algorithm requires the same key for the encryption and decryption process. For this reason, the data will not be opened if the key used is different at the time of encryption and decryption. This will make the data more secure and cannot be opened by others because only those who know the key can open it. Making this application using a software development application, namely NetBeans IDE 8.2 using the Java language.

Figure 8. User Interface
In this main menu the user can select a file then enter the key. The key length that can be entered is from 1 to 16 characters. Then the user selects the action to be performed, namely encrypt, decrypt or refresh.

Implementation
The implementation of the AES cryptographic algorithm was made using the NetBeans IDE 8.2 application. This application consists of encryption and decryption of image data.

Figure 12. Image Encryption Main View
In this screen, the user is asked to enter an image to be encrypted and then enter a key for encryption. After that the system will display the results of the encryption. In this view, the user is asked to enter an image to be decrypted and then enter the same key as the key at the time of encryption. After that the system will display the results of the decryption.

Figure 16. Decryption Result
Black Box Testing This test is carried out to test the functional application that has been made.