Tujuan Kriptografi TINJAUAN PUSTAKA

2. C adalah himpunan ciphertext, 3. K atau ruang kunci keyspace, adalah himpunan kunci, 4. E adalah himpunan fungsi enkripsi ek : P → C , 5. D adalah himpunan fungsi dekripsi dk : C → P , 6. Untuk setiap k ∈ K terdapat ek ∈ E dan dk ∈ D. Setiap ek : P → C dan dk : C → P merupakan fungsi sedemikian hingga dkekx = x, untuk setiap plaintext x ∈ P . Sistem kriptografi terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya. Sistem kriptografi merupakan suatu fasilitas untuk mengkonversikan plaintext menjadi ciphertext, dan sebaliknya.

2.5 Algoritma ElGamal

Algoritma ElGamal merupakan algoritma kriptografi asimetris yang pertama kali dipublikasikan oleh Taher ElGamal pada tahun 1985. Algoritma ini didasarkan atas masalah logaritma diskrit pada grup bilangan prima. Kekuatan algoritma ElGamal terletak pada kesulitan penghitungan logaritma diskret pada bilangan modulo prima yang besar sehingga upaya untuk menyelesaikan masalah logaritma ini menjadi sangat sukar. Algoritma ElGamal tidak dipatenkan, tetapi algoritma ini didasarkan pada algoritma Diffie – Hellman, sehingga hak paten algoritma Diffie – Hellman juga mencakup algoritma ElGamal. Karena hak paten algoritma Diffie – Hellman berakhir pada bulan April 1997, maka algoritma ElGamal dapat diimplementasikan untuk aplikasi komersil. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Algoritma ini merupakan cipher blok, yaitu melakukan proses enkripsi pada blok-blok plainteks dan menghasilkan blok-blok cipherteks yang kemudian dilakukan proses dekripsi, dan hasilnya digabungkan kembali menjadi pesan yang utuh dan dapat dimengerti. Bilangan prima p dibutuhkan untuk membentuk sistem kriptografi ElGamal Mulya, 2013.

2.6 Algoritma Massey-Omura

Massey-Omura Cryptosystem adalah salah satu cryptosystem kunci publik yang berdasarkan pada logaritma diskrit. Diusulkan oleh James Massey dan Jim K. Omura pada tahun 1982 sebagai pengembangan atas Three Pass Protocol oleh Shamir pada tahun 1980, dimana pengirim dan penerima tidak bertukar kunci namun protocol ini memerlukan pengirim dan penerima yang memiliki dua kunci untuk mengenkripsi dan mendekripsi pesan Yan, 2013.

2.7 Running Time

Running time merupakan waktu yang dibutuhkan untuk mengeksekusi setiap instruksi di dalam program sampai selesai. Didalam program terdapat beberapa operasi yaitu penambahan +, pengurangan -, perkalian , pembagian , return pengembalian nilai dari fungsi, inisialisasi, dan perbandingan dimana setiap operasi ini running time masing-masing 1 unit Weiss, 2007.