Cryptography Implementation for electronic voting security

. Electronic voting is done by recording election data centrally and presenting it into fast digital information. E-voting is an internet technology, which aims to improve the performance of the voting process, and is expected to be a breakthrough in technological development that helps human work. Security constraints in e-voting include the distribution of voting, for example voters who distribute voting rights, are illegitimate and can abuse voters' rights, because they know the voter's account to access the system. This study implements cryptographic methods as a password security for voter accounts, and the results of voting, so that the secrecy of the voters' data and the results of voting are maintained. RSA algorithm to implement cryptographic techniques based on two mathematical problems, namely factorization and modulo operations on composite numbers, which use two different keys for encryption and decryption processes. The public key is used encryption process to encode text, and the private key is used description process, namely translating ciphertext into plaintext.

1 Introduction E-voting system is an internet technology-based, which aims to improve the performance of the voting process, and is expected to be a breakthrough that can take place in accordance with the principle of election that is direct, general, honest and fair. Electronic voting is done by centrally recording election data and presenting it into fast and inexpensive digital information, because the process of selecting and counting votes consists of a simple process, and only requires a few workers [1]. Whereas conventional voting can lead to fraud and human error in the vote counting process, or the occurrence of problems such as a voter can give more than one vote. Besides the conventional system provides a loophole to manipulate or change the results of vote calculations for certain candidates. The application of technology based on the concept of the Internet of Thing offers transparency in the implementation of voting activities and supports voters to vote via mobile and PC connected to the network [2]. The e-voting system has the advantage of providing easy access to vote, but security issues are a new obstacle in the voting machine [3]. Security problems in e-voting include the distribution of voting rights, for example voters who distribute voting rights, not their true identity can abuse, because they know the voter's account to access the system. The security of e-voting by performing the authentication process using face recognition, is used as a reliable and strong password for voters to be able to give their voting rights [4,5]. The implementation of evoting security uses biometric techniques as a non-* Corresponding author: suwarjono@unmus.ac.id transferable physical characteristic, such as fingerprints and pattern recognition as identification of voters' identities [6].
Fair elections must be able to guarantee the confidentiality and integrity of the votes cast by voters, and have the ability to audit election results [7]. The privacy is guarantee for the owner of the vote can be done by using encryption techniques, that can maintain the secrecy of the voters' votes [8]. The application of evoting based on surveys can increase voter participation to distribute voting rights, and tools to reduce apathetic voters, the system prioritizes the convenience of access to be able to distribute voting rights without being limited to polling stations, and presents accurate vote count results [9,10]. This study implements cryptographic methods as a password security for voter accounts, and the results of voting, so that the secrecy of the voters' data and the results of voting are maintained. The stegano-cryptographic model is used to improve security in e-voting systems to prevent the possibility of fraud in electronic voting [11].
The application of e-voting must be carried out in accordance with the nature of the law, namely: suffrage is universal, everyone can choose; equality of votes: every voice is the same; freedom of choice: the autonomy of voters' decisions must be granted; secrecy of the vote; voting is direct, personal right to vote: a personal vote without representation must be granted, and an audit process can be carried out [12,13]. The research to improve security of e-voting systems using one of the cryptographic methods namely blockchain techniques, shows that the system can provide security to avoid falsification of the results of voting [14]. Security methods using the blockchain encryption process can be applied to electronic voting and other applications [15,16]. Encryption methods have been used to improve the security of voting using cellular media by applying a symmetric and hybrid algorithm, the Elliptic Curve Cryptography (ECC) algorithm, where voters' votes will be encrypted on the server administrator and will be read using RSA public key encryption [11].

Cryptrographic Methods for Information Security
The Information security is an activity to maintain confidentiality in the presentation of digital information from all electronic data usage for unauthorized users. Implementation of security in presenting data to protect the confidentiality and integrity of data can be done using cryptographic encryption methods.
Cryptography is one of the fields of computer information security technology that applies the method of sending personal information through open network communication. The security of cryptographic services such as: confidentiality, approval, integrity and accessibility of information presented through the process of encrypting information that is encrypted using a cryptographic key. The length and strength of cryptographic keys are important factors for the encryption and decryption process, so they can produce strong and reliable encryption. The application of cryptographic methods in daily life includes electronic voting, computer passwords, ATM cards, and electronic commerce. The stages of applying cryptographic techniques in this study are shown in Figure 1. Application of cryptographic techniques consists of two processes, namely encryption and decryption. The message or original data is called plaintext, which can be read and understood by anyone. While the plaintext message that has gone through the encryption process or the encoding process is referred to as ciphertext or encrypted data. The encryption and decryption process uses a special algorithm which involves the use of a key form called a cipher, which is a mathematical function for the encryption and decryption process. The mathematical concept underlying the cryptographic algorithm is the relation between two sets containing plaintext elements and the set containing ciphertext. Encryption and decryption are functions that map the elements between the two sets. For example, P represents plaintext and C represents ciphertext, so that it can be determined [17]: E(P) = C  application of the E encryption function maps P to C D(C) = P  application of the decryption function D maps C to P This study uses the RSA algorithm to implement cryptographic techniques on the results of voting with an e-voting system. In addition to voting results provided by voters, cryptographic techniques are also applied to the user name of the voter account, this is done to prevent unauthorized voters in the electronic voting process. Sender is an entity that has the right to choose and send messages or the results of voting to other entities. Whereas the receiver is the entity that receives the message or the voting committee.

RSA Algorithm
Cryptographic algorithms are divided into two categories, namely symmetric and asymmetric. Where the symmetric algorithm uses one key for the encryption and decryption process. While the Asymmetric Algorithm uses two different keys for the encryption and decryption process. The public key is used for the encryption process, which is the process of encoding or changing the original text data (Plaintext) to secret text (Ciphertext), and the private key is used for the description process, namely translating secret text (ciphertext) into original text (plaintext). Cryptography overcomes the problem of data security by using a key, which must be kept confidential. The key is the parameter used for encryption and decryption transformation. The key is usually a string or a string of numbers. By using a key, the encryption and decryption functions can be performed as the diagram shown in Figure 1.
RSA (Rivest Shamir Adleman) algorithm is an asymmetric cryptographic algorithm, where the key used to encrypt is different from the one used to decrypt it. Cryptographic security is implemented by the RSA method based on two mathematical problems, namely factorization and modulo operations on composite numbers. The public key is available to everyone, so users can encrypt data but cannot decrypt, the only person who can decrypt it is the person who has the private key. Theoretically it is very difficult to make a private key a public key, this makes the RSA algorithm a very popular choice in data encryption [17].
The step of applying the RSA algorithm begins with determining two prime numbers, p and q. Multiplication of two numbers called n which is a component of a large-value public key, numbers p and q cannot be extracted from more than 512 bits, that is, numbers greater than 10 154 . Then the encryption key e is co-prime into a number [18]: E3S Web of Conferences 328, 0 (2021) ICST 2021 m= (n) = (p-1)(q-1), determination of the decryption key d such that de mod m = 1. Based on this rule we can generate public keys and private keys.

Encryption
The encryption process is done by determining y = E (x) to be an encryption function where x is an integer and y is a form of data that is amplified from x, so to produce the value of y using the following equation [17,18]: y = x'mod n.

Decryption
Presentation of information to the receiver through the decryption process, assuming that X = D (y) becomes a decryption function, example y is an encrypted integer and X is a description form of y, so as to generate the value of X using the following equation [17,18]: X = y d mod n

Results and Discussion
E-voting application was made to carry out an electronic voting process with a case study of student president and vice president elections. Presentation of information provided by the application includes: presentation of real time voting information, account data management for voters, validation of voter accounts sent by email, by encrypting the username and password, providing facilities to set start and end times voting process, facilities to activate and verify voter accounts, counting the results of voting in real time, encrypting the votes that have been given by voters and presenting the results of vote counting based on the number of voters who use their voting rights. Application of cryptographic techniques in e-voting, for example voters or senders want to distribute their voting rights to the election committee, the system will encrypt the election results using the RSA algorithm with a scheme where the sender must get a receiver's public key pair (e,n). The message sent is encrypted using pairs (e,n). However, the message 'm' must be represented as an integer in the interval [0, n-1]. To encrypt it, the sender only counts the number 'c' where c = m d mod n. Then sending the results of the election that has been coded c chextext to the committee.
Presentation of encrypted message information to the receiver using a private key by decrypting the c password text, the receiver needs to use his own private key d (decryption exponent) and modulus n. e. Encryption process uses a public key example: let's say we want to encrypt numbers x = 9 use encryption function y = x e mod n, so that y = 9 3 mod 33  y= 729 mod 33 ≡ 3  E(9) = 3 f. Presentation of messages using the private key by doing the decryption process y we use the function X = y d mod n, where X = 3 7 mod 33  x = 2187 mod 33 = 9  value x = 9 so the decryption process is successful Figure 2 shows the results of implementing e-voting for the encryption and decryption process. Application of the RSA algorithm is most widely used, because it allows one of two keys to encrypt a message and vice versa the opposite key to decrypt, thereby inviting confidentiality, integrity, authenticity, and nonintegrity of data and Information and communications technology [19]. The use of two large prime numbers randomly chosen is used to calculate modulus n, to generate public key and private key. The strength of RSA lies in its key size, because it is not easy to find large prime number factors, to do encryption, consequently the calculations are slow and have some special compilation negatives related to cellular devices, because they require more battery resources and battery resources for the keys public, thus increasing device performance [17], RSA key strength is based on the selection of large prime numbers, thus causing the encryption process slower than using other algorithms to generate public keys [19].Presentation of public interest services based on information, communication and technology, plays an important role in helping human work [20], both in agriculture and food and other fields [21,22].

Conclusion
Electronic voting system security with cryptography techniques can be employed to maintain the confidentiality and data integrity of the voting for the legitimate user. RSA public key algorithm for encryption, which is the process encoding of plaintext become ciphertext, and the private key is used to process descriptions that translate message into plaintext ciphertext. RSA well in addressing the security issues of data by using a key, which must be kept confidential, with the strength of RSA lies in the size of the key, because it is not easy to find large prime factor. This algorithm has the disadvantage that requires considerable time in finding the factors of primes, causing RSA is slower than the other algorithms in making public key.