BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

BAB II LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 TINJAUAN PUSTAKA

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB II LANDASAN TEORI

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB 2 LANDASAN TEORI

Perancangan Aplikasi Pembelajaran Kriptografi Kunci Publik ElGamal Untuk Mahasiswa

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB Kriptografi

BAB II LANDASAN TEORI

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

K i r p i t p o t g o ra r f a i

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

Pengenalan Kriptografi

BAB II LANDASAN TEORI. Kriptografi mempunyai peranan penting dalam dunia komputer. Hal ini

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE MERSENNE

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

ANALISIS KEMAMPUAN ALGORITMA ELGAMAL UNTUK KRIPTOGRAFI CITRA

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 3 KRIPTOGRAFI RSA

Sistem Kriptografi Kunci Publik Multivariat

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 TINJAUAN PUSTAKA

Sistem Kriptografi Kunci-Publik

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB 2 LANDASAN TEORI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Bab 2 Tinjauan Pustaka

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI Keamanan Informasi

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

Perhitungan dan Implementasi Algoritma RSA pada PHP

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal

Protokol Kriptografi

KRIPTOGRAFI KUNCI PUBLIK

APLIKASI ENKRIPSI DATA PADA FILE TEKS DENGAN ALGORITMA RSA (RIVEST SHAMIR ADLEMAN)

Penerapan algoritma RSA dan Rabin dalam Digital Signature

BAB II TINJAUAN PUSTAKA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

2016 IMPLEMENTASI DIGITAL SIGNATURE MENGGUNAKAN ALGORITMA KRIPTOGRAFI AES DAN ALGORITMA KRIPTOGRAFI RSA SEBAGAI KEAMANAN PADA SISTEM DISPOSISI SURAT

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Pengantar Kriptografi

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

Perbandingan Algoritma RSA dan Rabin

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN DESAIN SISTEM

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

SISTEM PENGAMBILAN KEPUTUSAN PERMOHONAN KREDIT SEPEDA MOTOR DENGAN MENGGUNAKAN METODE DECISION TREE

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

PERANCANGAN PEMBANGKIT TANDA TANGAN DIGITAL MENGGUNAKAN DIGITAL SIGNATURE STANDARD (DSS) Sudimanto

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN TEORITIS. Kriptografi (cryptographi) berasal dari Bahasa Yunani: cryptos artinya secret

+ Basic Cryptography

PERANCANGAN APLIKASI KERAHASIAAN PESAN DENGAN ALGORITMA HILL CIPHER

Studi dan Analisis Perbandingan Antara Algoritma El Gamal dan Cramer-Shoup Cryptosystem

BAB 2 LANDASAN TEORI

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Secara Umum Menurut Richard Mollin (2003), Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes, Oorscoot dan Vanstone, 1996). Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi. Kriptorafi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan Enkripsi adalah sebuah proses penyandian yang melakukan perubahan sebuah kode (pesan) dari yang bisa dimengerti (plainteks) menjadi sebuah kode yang tidak bisa dimengerti (cipherteks). Sedangkan proses kebalikannya untuk mengubah cipherteks menjadi plainteks disebut dekripsi. Proses enkripsi dan dekripsi memerlukan suatu mekanisme dan kunci tertentu. Kriptonalisis (cryptanalysis) adalah kebalikan dari kriptografi, yaitu suatu ilmu untuk memecahkan mekanisme kriptografi dengan cara mendapatkan kunci dari cipherteks yang digunakan untuk mendapatkan plainteks. Kriptologi (cryptology) adalah ilmu yang mencakup kriptografi dan kriptonalisis. 6

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi yaitu (Menezes,Oorscoot dan Vanstone, 1996) (Schneir, 1996) : a. Kerahasiaan (confidentiality) adalah layanan yang digunakan untuk menjaga isi informasi dari semua pihak kecuali pihak yang memiliki otoritas terhadap informasi. Ada beberapa pendekatan untuk menjaga kerahasiaan, dari pengamanan secara fisik hingga penggunaan algoritma matematika yang membuat daa tidak dapat dipahami. Istilah lain yang senada dengan confidntiality adalah secrecy dan privacy. b. Integritas data adalah layanan penjagaan pengubahan data dari pihak yang tidak berwenang. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubstitusian data lain kedalam pesan yang sebenarnya. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan digital (digitalsignature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli. c. Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat megotenkasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus di otentikasi asalnya. Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Di dalam kriptografi, layanan ini direalisasikan dengan 7

menggunakan tanda-tangan digital (digital signature). Tanda tangan digital menyatakan sumber pesan. d. Nirpenyangkalan (non-repudation) adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiri pesan menyabgkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. 2.2 Terminologi Kriptografi Di dalam kriptografi, akan sering ditemukan berbagai istilah (terminologi). Adapun istilah-istilah yang kerap kali digunakan adalah sebagai berikut. a. Pesan, Plaintext, dan Ciphertext Pesan adalah data ataupun suatu informasi yang dapat dibaca dan dimengerti maknanya. Nama lain dari pesan adalah plainteks. Pesan tersebut dapat dikirim (melalui kurir, saluran telekomunikasi, dan lainlain) dan dapat juga disimpan dalam media penyimpanan (kertas,storage, dan lain-lain). Pesan dapat juga berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio) dan video atau berkas lainnya. Agar pesan tersebut tidak dapat dimengerti maknanya bagi pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang telah tersandikan tersebut dinamakan dengan cipherteks (ciphertext) atau sering disebut kriptogram. Ciphertext harus dapat ditransformasikan kembali menjadi plaintext semula agar pesan yang diterima bisa dibaca. Perbandingan antara plainteks dan cipherteks dapat kita lihat pada gambar 2.1 8

Besok Saya akan datang Pukul 7 ke kampus 35 1 6 215 424 292 6 210 292 210 424 210 392 292 176 210 322 210 390 142 292 40 147 424 147 249 292 429 1 292 424 210 74 40 147 6 (a) Plaintext (b) Ciphertext dari Gambar 2.1 Perbandingan plainteks dan cipherteks b. Pengiriman dan Penerimaan Suatu aktivitas komunikasi data, akan melibatkan pertukaran antara dua entitas, yakni pengirim dan penerima. Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Sedangkan penerima adalah entitas yang menerima pesan.suatu pengiriman pesan, pengirim tentu menginginkan pesan dapat dikirim secara aman. Untuk mengamankannya, pengirim biasanya akan menyandikan pesan yang dikirimkan tersebut c. Enkripsi dan Dekripsi Suatu proses untuk menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption). Sedangkan proses pengembalian dari ciphertext manjadi plaintext dinamakan dekripsi (decription). Enkripsi dan dekripsi merupakan suatu pesan yang memetakan elemen-elemen antara kedua himpunan tersebut. Misalkan P adalah himpunan plaintext, dan C adalah himpunan ciphertext, maka fungsi enkripsi E memetakan P ke C, ditulis E(P) = C. Dan fungsi dekripsi D memetakan C ke P, ditulis D(C) = P d. Cipher dan Kunci Algoritma kriptografi disebut juga cipher yaitu aturan atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher 9

memerlukan algoritma yang berbeda untuk enkripsi dan dekripsi (Stalling, 2005). Untuk menjaga kerahasiaan pengiriman pesan dalam kriptografi modern dibutuhkan kunci. Kunci (key) adalah parameter yang digunakan untuk mentransformasi proses pengenkripsian dan pendekripsian pesan. Biasanya, kunci berupa deretan bilangan maupun string. Dengan menggunakan kunci K maka proses enkripsi dan dekripsi dapat ditulis sebagai EK(P) = C dan DK(C) =P, dan kedua fungsi tersebut memenuhi DK(EK(P)) = P e. Penyadap Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud menemukan ciphertext. f. Kriptanalisis dan kriptologi Kriptanalisis adalah ilmu dan seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan dan pelakunya disebut Kriptanalis. Jika seorang kriptografer mentransformasikan plaintext menjadi ciphertext dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan ciphertext tersebut untuk menemukan plaintext atau kunci. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis. Baik kriptografi maupun kriptanalisis keduanya saling berkaitan. 2.3 Kriptografi Kunci Simetris dan Asimetris Berdasarkan jenis kunci yang digunakannya, algoritma kriptografi dikelompokkan menjadi dua bagian, yaitu algoritma simetris (algoritma konvensional) dan 10

algoritma asimetris (algoritma kunci publik) (Schneier, 1996) (Kurniawan, 2004) (Munir, 2006) (Menezes et al. 1996). 2.3.1 Algoritma Simetris Algoritma simetris adalah algoritma kriptografi yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Istilah lain untuk kriptografi kunci-simetri adalah kriptografi kunci-simetri adalah kunci privat (private-keycryptography),kriptografi kunci rahasia (secret-key-cryptography, atau kriptografi konvensional (conventional cryptography). Sistem kriptografi kunci-simetri (atau disingkat menjadi kriptografi simetri saja), mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan. Keamanan sistem kriptografi simetri terletak pada kerahasiaan kuncinya. Kriptografi simetri merupakan satu-satunya jenis kriptografi yang dikenal dalam catatan sejarah hingga 1976. Semua algoritma kriptografi klasik termasuk ke dlam sistem kriptografi simetri. Kelebihan algoritma simteris ini adalah proses enkripsi dan dekripsinya yang jauh lebih cepat dibandingkan dengan algoritma asimetris. Sedangkan kelemahan algoritma ini adalah permasalahan distribusi kunci (key distribituin). Seperti yang telah dibahas proses enkrpsi dan deskripsi menggunakan kunci yang sama. Sehingga muncul persoalan menjaga kerahasiaan kunci, yaitu pada saat pengiriman kunci pada media yang tidak aman seperti internet. Tentunya jika kunci ini sampai hilang atau sudah dapat ditebak oleh orang lain (orang yan tidak berhak), maka kriptosistem ini sudah tidak aman lagi. Kelemahan lain adalah masalah efisinsi jumlah kunci. Jika terdapat n user, maka diperlukan n (n-1)/2 kunci, sehingga untuk jumlah user yang sangat banyak. sistem ini tidak efisien lagi (Menezes et al, 1996). 11

Kunci A enkripsi enkripsi B Gambar 2.2 Skema Algoritma Simetris 2.3.2 Algoritma Asimetris Algoritma Asimetris, sering disebut juga kunci publik didesain sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci untuk dekripsi dimana kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapu ( diumumkan ke publik ), sementara kunci untuk dekripsi hanya diketahui oleh penerima pesan (rahasia). Pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang kunci, yaitu kunci privat dan kunci publik. pengirim mengenkrpsi pesan dengan menggunakan kunci publik si penerima pesan. Hanya penerima pesan yang dapat mendekripsi pesan karena hanya ia yang mengetahui kunci privatnya sendiri. Kriptografi kunci-publik dapat dianalogikan seperti kotak surat yang terkunci dan memiliki lubang untuk memasukkan surat. Setiap orang dapat memasukkan surat ke dalam kotak surat tersebut, tetapi hanya pemilik kotak yang dapat membuka kotak dan membaca surat di dalamnya karena ia yang memiliki kunci. keuntungan sistem ini ada dua. Pertama, tidak ada kebutuhan untuk mendistribusikan kunci privat sebagaimana pada sistem kriptografi simetri. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan untuk mengirim pesan. saluran untuk mengirim pesan umumnya tidak aman. 12

Kedua jumlah kunci dapat ditekan. untuk berkomunikasi secara rahasia dengan banyak orang tidak perlu kunci rahasia sebanyak jumlah orang tersebut, cukup membuat dua buha kunci, yaitu kunci publik bagi para koresponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan kriptografi kunci-simetris yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi. Contoh penggunaan, misalkan jaringan komputer menghubungkan komputer karyawan di kantor cabang dengan komputer menejer dikantor pusat. seluruh kepala cabang diberitahu bahwa kalau mereka mengirim laporan kemenejer kantor pusat, mereka harus mengenkripsi laporan tersebut dengan kunci publik menejer (kunci publik menejer diumumkan kepada seluruh kepala cabang). Untuk mengembalikan laporan tersandi ke laporan semula, hanya manajer yang dapat melakukan dekripsi, karena hanya dialah yang memegang kunci privat. Selama proses transmisi ciphertext dari kantor cabang ke kantor pusat melalui saluran komunikasi mungkin saja data yang dikirim disadap oleh pihak ketiga, namun pihak ketiga ini tidak dapat mengembalikan ciphetext ke plainteksnya karena ia tidak mengetahui kunci untuk dekripsi. Meski berusia relatif muda (sejak 1976), kriptografi kunci-publik mempunyai kontribusi yang luar biasa dibandingkan dengan sisitem krptografi simetri. Kontribusi yang paling penting adalah tanda-tangan digital pada pesan untuk memberikan aspek keamanan otentikasi, integritas data, dan nirpenyangkalan. tanda-tangan digital adalah nilai kriptografis yang bergantung pada isi pesan dan kunci yang digunakan. Pengirim pesan mengenkrpsi pesan (yang sudah diringkas) dengan kunci privatnya, hasil enkripsi inilah dinamakan tanda-tangan digital. Tanda tangan digital diletakkan (embed) pada pesan asli. penerima pesan memverifikasi tanda-tangan digital dengan meletakkan kunci publik. 13

` Kunci Publik Kunci Planters Chiperteks Pllainteks A enkripsi enkripsi A Gambar 2.3 Skema Algoritma Asimetris 2.4 Kriptografi ElGamal Algoritma Elgamal dibuat oleh Taher Elgamal pada tahun 1984. Algoritma ini pada mulanya digunakan untuk tanda tangan digital signature. Namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. ElGamal digunakan dalam perangkat lunak yang dikembangkan oleh GNU, program PGP, dan pada program keamanan jaringan lainnya. Keamanan algoritma ini terletak pada sulitnya menghitung logaritma diskrit (Munir, 2006) Logaritma ini disebut logaritma diskret karena nilainya berhingga dan bergantung pada bilangan prima yang digunakan. Karena bilangan prima yang digunakan adalah bilangan prima yang besar, maka sangat sulit bahkan tidak mungkin menurunkan kunci privat dan kunci publik yang diketahui walaupun serangan dilakukan dengan menggunakan sumberdaya komputer yang sangat besar. Algoritma ElGamal merupakan algoritma dalam kriptografi yang termasuk dalam katagori algoritma asimetris. Kunci asimetris biasa dikenal dengan nama public key dan private key. Kunci asimetris adalah suatu algoritma kunci enkripsi yang digunakan tidak sama dengan kunci publik dan kunci privat. Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh pengguna. Walau kuncu publik telah diketahui namun akan sangat 14

sukar mengetahui kunci privat yang digunakan. Pada umumnya kunci publik digunakan sebagai kunci enkripsi sementara kunci privat digunakn sebagai kunci dekripsi. Keamanan algoritma Elgamal teletak pada kesulitan penghitungan logaritma diskret pada bilangan modulo prima yang besar sehingga upaya untuk menyelesaikan masalah logaritma ini menjadi sangat sukar. Algoritma Elgamal mempunyai kunci publik berupa tiga pasang bilangan dan kunci rahasia berupa satu bilangan Algoritma ini mempunyai kerugian pada cipherteksnya yang mempunyai panjang dua kali lipat dari plainteksnya. Akan tetapi algoritma ini mempunyai kelebihan pada enkripsinya. Untuk plainteks yang sama algoritma ini memberikan cipherteks yang berbeda (dengan kepastian yang dekat) setiap kali plainteks di enkripsi. Algoritma Elgamal terdiri dari 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 blokblok cipherteks yang kemudian dilakukan proses dekripsi dan hasilnya digabungkan. 2.5 Kelebihan Algoritma ELGamal Algoritma ElGamal juga dikenal sebagai kriptogrfi digital signature karena dapat difungsikan secara baik untuk mengirimkan sebuah tanda tangan digital pada sebuah pesan dan lebih sempurna dibandingkan kriptografi Diffie-Hellman. Kelebihan dari algoritma ElGamal yaitu: a) Sebuah plainteks yang sama dapat diubah menjadi chiperteks yang berbeda karena dalam algoritma ElGamal, kita dapat memilih secara acak bilangan bulat untuk membuat sebuah kunci. 15

b) Dalam algoritma ElGamal sama seperti beberapa jenis kriptografi kunci yang lain. Hanya kunci privat yang perlu dijamin kerahasiaanya. Tetapi, autentikasi kunci publik juga harus tetap dijaga. c) Pasangan kunci publik dan kunci privat pada algoritma Elgamal tidak perlu diubah dalam periode waktu yang panjang. d) Algoritma ElGamal bisa dimanfaatkan untuk mengirimkan sebuah pesan rahasia yang sangat rahasia, yaitu kunci dari sebuah kriptografi simetris. 2.6 Proses Pembentukan Kunci Pembentukan kunci terdir atas pembentukan kunci publik dan kunci rahasia. Pada proses ini dibutuhkan sebuah bilangan prima p yang digunakan untuk membentuk group Zp*. elemen primitif α dan sembarang Є {0,1,2, p-2}. Kunci publik algoritma ElGamal terdiri atas pasangan 3 bilangan (p,α,β) dimana β = α a mod p Sedangkan kunci rahasianya adalah a tersebut. Proses pembentukan kunci untuk algoritma ElGamal terdiri atas : a) Penentuan bilangan prima aman yang bernilai besar b) Penentuan elemen primitif c) Pembentukan kunci berdasarkan bilangan prima aman dan elemen primitif a. Pembangkitan kunci Langkah langkah dalam pembangkitan kunci 1. Pilih sembarang bilangan prima p > 255 16

2. Pilih sembarang bilangan α dan a dengan ketentuan α < pdan1 a p-2 3. Hitung β = α a mod p β adalah bagian dari kunci publik, sehingga kunci publik algoritma ElGamal berupa pasangan 3 bilangan, yaitu (p,a,β).sedangkan kunci rahasianya adalah bilangan a tersebut b. Metode Enkripsi Pada proses ini pesan dienkripsi menggunakan kunci publik (p,a,β) dan sebarang bilangan acak rahasia k anggota (0,1,,p-2). Misalkan m adalah pesan yang akan dikirim. Selanjutnya, m diubah ke dalam blok-blok karakter dan setiap karakter dikonversikan ke dalam kode ASCII, sehingga diperoleh plainteks m 1,m 2,,m n dengan m i anggota {1,2,,p-1}, i=1,2,,n. Langkah-langkah dalam mengenkripsi pesan: 1. Susun Plainteks menjadi blok-blok m 1,m 2,,,m n dengan setiap blok adalah suatu karakter pesan 2. Konversikan masing-masing karakter ke dalam kode ASCII, maka diperoleh plainteks sebanyak n bilangan, yaitu m 1,m 2,,,m n 3. Untuk i dari 1 sampai n kerjakan: a. Pilih sebarang bilangan acak rahasia ki dimana 1< k p-2 b. Hitung γ i = α ki mod p c. δ i = β ki x m i mod p 4. Diperoleh ciphertext yaitu (a i,,b i ) Diperoleh ciphertext yaitu (γ i,,δ i ),i = 1,2, n. Jadi ukuran ciphertext dua kali ukuran plainteksnya. c. Metode Dekripsi Setelah menerima ciphertext (a,b), proses selanjutnya adalah mendekripsi cipherteks menggunakan kunci publik p dan kunci rahasia a. Dapat ditunjukkan bahwa plaintext m dapat diperoleh dari ciphertext menggunakan kunci rahasia a. 17

Langkah-langkah dalam mendekripsi pesan: 1. Ciphertext (a i,,b i ), i = 1,2,,n, kunci publik p dan kunci rahasia a. 2. Untuk i dari 1sampai n kerjakan: a. Hitung γ p-1-x mod p b. Hitung m i =δ x γ p-1-a mod p 3. Diperoleh plaintext m 1,m 2,,,m n 4. Konversikanmasing-masimg m 1,m 2,,,m n ke dalam karakter sesuai dengan kode ASCII-nya, kemudian hasilnya digabungkan kembali. 2.7 Teorema Fermat Teorema Fermat. Fermat (dibaca Fair-ma ) adalah seorang matematikawan Perancis pada tahun 1640. Bilangan prima semu bisa didapatkan dari terema Little Fermat sebagai berikut: Jika p adalah bilangan prima dan a adalah sebarang bilangan bulat, maka a p = 1 (mod p). Secara khusus, jika a bukan faktor p, maka a p-1 (mod p). Teorema uji Fermat memberikan uji yang baik untuk ketidakprimaan. Dengan diberikan bilangan bulat n>1 pilihan a>1 dan dihitung a p-1 (mod p). Jika hasilnya 1, maka n bukan bilangan prima, maka n mungkin bilangan sehingga n disebut bilangan prima semu basis a. Algoritma pada teorema Fermat adalah : 1. Diambil sembarang bilangan bulat positif dari [1,n-1] 2. Hitung y a p-1 (mod p) 3. Jika y 1, maka output ( bukan prima) 18

2.8 Riset yang Terkait Terdapat beberapa riset yang telah dilakukan oleh banyak peneliti berkaitan dengan kriptografi seperti yang di jelaskan di bawah ini: (Dulgerler dan Sariska, 2003) dalam risetnya mereka membagun sebuah apliksi pengamanan email menggunakan algoritma Enkripsi ElGamal dan algoritma hash. Dan mendapatkan kesimpulan dari penelitian mereka bahwa kinerja perangkat lunak yang mereka gunakan tergantung pada perangkat keras yang digunakan. Semakin meningkat nilai bit yang digunakan maka kinerja dari perangkat lunak menurun, tetapi tingkat keamanan akan meningkat. Algoritma Enkripsi ElGamal yang digunakan pada aplikasi tersebut tingkat keamanan juga meningkatkan nilai bit. Analisis berdasarkan algoritma terbaik yang ada untuk kedua faktor dan logaritma diskret menunjukkan bahwa RSA dan ElGamal memiliki keamanan yang sama untuk panjang kunci yang setara (Maureen Linda Caroline, 2011) dalam risetnya menyatakan bahwa teknik kriptografi algoritma kunci-publik bergantung pada pembangkit kunci. Pembangkitan kunci yang paling kompleks adalah algoritma ElGamal dan paling sederhana serta cepat adalah algoritma Rabin. Semakin kompleks kunci yang dibangkitkan, maka akan semakin kuat algoritma tersebut tetapi lebih memakan resouce yang lebih banyak. Teknik kriptografi Rabin merupakan varian dari RSA sehingga tingkat keamanan kedaunya relative sama dengan mengandalkan kekuatan sulitnya memfaktorkan bilangan yang besar. Teknik kriptografi Rabin lebih cocok digunakan pada resource yang sederhana dengan processor yang tidak dapat melakukan komputasi yang kompleks dan rumit seperti smartcard. Sedangkan teknik kriptografi ElGamal merupakan kebalikan dari teknik kriptografi Rabin yang hanya dapat digunakan pada rosource yang sudah lebih baik dengan processor yang dapat melakukan komputasi yang rumit dan kompleks. Karena adanya disambiguitas secara tidak langsung (pada hasil dekripsi) hal ini menambah biaya komputasi dan hal tersebut menyebabkan Rabin 19

dianggap kurang efisien dibandingkan RSA dan ElGamal sehingga algoritma Rabin jarang digunakan. (Supriadi, 2006), penelitiannya bertujuan untuk memperoleh suatu varian yang memiliki kecepatan komputasi tinggi dan beban komputasi yang rendah. Berdasarkan hasil penelitian yang telah dilakukan diperoleh bahwa pemilihan algoritma tanda tangan digital sangat berpengaruh terhadap waktu eksekusi pada saat pembangkitan dan pembuktian tanda tangan. hal ini disebabkan karena operasi aritmatika yang bervariasi, seperti perkalian, perpangkatan, penjumlahan dan pengurangan pada tiap algoritma berbeda-beda jumlahnya. Varian Algoritma ElGamal dapat memberikan solusi terhadap masalah waktu komputasi, sehingga dapat dicapai waktu yang lebih efisien. 20