IMPLEMENTASI DIFFIE-HELLMAN, AES-128 DAN ECDSA PADA APLIKASI INSTANT MESSAGING - Ammar Ashshiddiqi, - (2021)
Instant messaging merupakan salah satu teknologi komunikasi yang banyak digunakan masyarakat. Banyaknya pengguna mobile instant messaging dapat membuka peluang kejahatan, diantaranya penyabotasean pesan. Penggunaan kriptografi adalah salah satu metode yang tepat untuk menjaga keamanan data atau informasi saat berkomunikasi. Keamanan pesan dilakukan dengan menggabungkan algoritma pertukaran kunci, algoritma enkripsi simetris serta algoritma tanda tangan digital. Kombinasi algoritma Diffie-Hellman, AES-128 dan ECDSA dilakukan sebagai pengaman pesan. Algoritma Diffie-Hellman dipilih karena memiliki kelebihan dalam hal kemudahan pembuatan kunci efemeral, dan adanya autentikasi pengirim dan penerima, algoritma AES-128 dipilih karena kecepatan proses enkripsinya lebih cepat dan memakan memori paling kecil dibandingkan jenis algoritma AES lainnya, serta algoritma ECDSA dipilih untuk mengatasi serangan pada algoritma Diffie-Hellman saat pertukaran kunci karena memiliki keunggulan dalam hal waktu eksekusi dan jumlah penyimpanan yang digunakan lebih kecil. Diffie-Hellman digunakan sebagai algortima pertukaran kunci enkripsi pesan, AES-128 digunakan sebagai enkripsi pesan, dan ECDSA digunakan sebagai pengenal pengirim pesan. Algoritma AES-128, pada enkripsi pesan menghasilkan ciphertext dalam bentuk blok biner berukuran 128 bit, algoritma Diffie-Hellman menghasilkan cipherkey dalam bentuk format blok biner 128 bit, dan algoritma ECDSA menghasilkan tanda tangan digital dengan ukuran 256 bit. Dari gabungan ketiga algoritma tersebut, enkripsi pesan menghasilkan pesan berbentuk acak sehingga isi pesan asli yang dikirimkan tidak dapat dilihat oleh pihak lain selain pengirim dan penerima pesan. Pada proses dekripsi, tanda tangan digital pesan yang telah digenerasi algoritma ECDSA diverifikasi ksliannya. Selanjutnya, penerima mengambil cipherkey yang sebelumnya telah digenerasi dengan algoritma Diffie-Hellman dan digunakan untuk melakukan dekripsi ciphertext menjadi pesan sebenarnya menggunakan algoritma AES-128. Hasil menampilkan pesan asli yang dikirim oleh pengirim pesan, sehingga penerima pesan dapat mengetahui maksud pesan yang diterimanya. Proses enkripsi dengan algoritma AES-128 menunjukkan dekripsi bisa dilakukan dan pesan ciphertext berbentuk acak, sehingga kerahasiaan dan integritas data terjaga. Pada pengujian dengan kunci yang berbeda pada proses dekripsi tidak ada yang sesuai dengan isi plaintext asli, sehingga penggunaan algoritma Diffie-Hellman pada pertukaran kunci AES-128 dapat menjaga integritas data. Pengujian dengan ECDSA menunjukkan hasil validasi 100% dikirim dari pengirim asli, sehingga memenuhi autentikasi dan nir-penyangkalana. Kecepatan proses enkripsi didapat, 43540,375 bit/detik, sedangkan pada proses dekripsi didapat kecepatan 1251,705 bit/detik. Hal ini menunjukkan bahwa throughput dari proses dekripsi lebih lambat dibandingkan dengan throughput proses enkripsi. Instant messaging is a communication technology that is widely used by the public. The large number of mobile instant messaging users can open up opportunities for crime, including message sabotage. The use of cryptography is one of the proper methods to maintain data or information security when communicating. Message security is carried out by combining key exchange algorithms, symmetric encryption and digital signatures. The combination of the Diffie-Hellman algorithm, AES-128 and ECDSA is done to protect the message. The Diffie-Hellman algorithm is chosen because it has advantages in terms of ephemeral key generation, and the existence of sender and receiver authentication, the AES-128 algorithm is chosen because the encryption process speed is faster and takes least memory than other types of AES algorithms, and the ECDSA algorithm is chosen to overcome attacks in the Diffie Hellman algorithm when exchanging keys because it has the advantage in terms of execution time and the amount of storage it used is smaller. Diffie-Hellman is used as message encryption key exchange algorithm, AES-128 is used as message encryption, and ECDSA is used as message sender identifier. AES-128 algorithm, the encryption message generates ciphertext in the form of 128-bit binary blocks, the Diffie-Hellman algorithm produces 128-bit binary block cipher keys, and the ECDSA algorithm generates a digital signature with a size of 256 bits. From the combination of the three algorithms, message encryption generates random messages so that the contents of the original message cannot be seen by other parties other than the sender and recipient of the message. In the decryption process, the message digital signature that has been generated by the ECDSA algorithm is verified. Next, the receiver takes the cipherkey that has been generated previously with the Diffie-Hellman algorithm and is used to decrypt the ciphertext into the actual message using the AES-128 algorithm. The results display the original message sent by the sender of the message, so that the message recipient can know the intent of the message it received. The encryption process using the AES-128 algorithm shows that decryption can be done and the ciphertext message is random, so that data confidentiality and integrity is maintained. In testing with different keys in the decryption process nothing matches the original plaintext content, so the use of the Diffie-Hellman algorithm in the AES-128 key exchange can maintain data integrity. Testing with ECDSA shows that 100% validation results are sent from the original sender, thus meeting authentication and non-repudiation. The encryption process speed is obtained which is 43540,375 bits / second, while in the decryption process speed is 1251,705 bits / second. This shows that the throughput of the decryption process is slower than the throughput of the encryption process.