BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II TINJAUAN PUSTAKA

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

Perancangan Aplikasi Pembelajaran Kriptografi Kunci Publik ElGamal Untuk Mahasiswa

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

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

BAB Kriptografi

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

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

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 3 KRIPTOGRAFI RSA

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

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

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II LANDASAN TEORI

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

BAB II LANDASAN TEORI

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

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

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

ANALISIS KEMAMPUAN ALGORITMA ELGAMAL UNTUK KRIPTOGRAFI CITRA

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

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

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

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

BAB 2 LANDASAN TEORI Keamanan Informasi

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

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

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

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

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Pengenalan Kriptografi

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

BAB 2 TINJAUAN TEORITIS

Bab 2 Tinjauan Pustaka

Pengantar Kriptografi

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

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

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

Perhitungan dan Implementasi Algoritma RSA pada PHP

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

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

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan algoritma RSA dan Rabin dalam Digital Signature

Protokol Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

Bab 1 PENDAHULUAN Latar Belakang

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Kriptografi Dan Algoritma RSA

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

+ Basic Cryptography

Pengantar Kriptografi

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

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

BAB 2 TINJAUAN TEORETIS

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

Sistem Kriptografi Kunci Publik Multivariat

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

BAB 2 LANDASAN TEORI

Algoritma RSA dan ElGamal

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Definisi Kriptografi Kata kriptografi berasal dari bahasa Yunani, kryptós yang berarti tersembunyi dan gráphein yang berarti tulisan. Sehingga kata kriptografi dapat diartikan berupa frase tulisan tersembunyi. Menurut Request for Comments (RFC), kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau mencegahnya dari penggunaan yang tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga bisa diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas (Oppliger, 2005). Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebgai berikut : Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan mengguanakan huruf dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang memproses kunci, juga semua hal yang ditulis dengan cara seperti ini. Jadi, secara umun dapat diartikan sebagai seni menulis atau memecahkan cipher (Talbot dan welsh, 2006). Menezes, Oorschot dan Vanstone (1996) menyatakan bahwa kriptografi adalah suatu studi teknik matematika yang berhubungan dengan aspek keamanan informasi seperi kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian data. Kriptografi tidak hanya berarti penyediaan keamanan informasi, melainkan sebuah himpunan taknik-teknik.

2.2 Sejarah Kriptografi Kriptografi mempunyai sejarah yang panjang dan menakjubkan. Informasi yang lengkap mengenai sejarah kriptografi dapat ditemukan di dalam buku David Kahn yang berjudul The Codebreakers. Buku yang tebalnya 1000 halaman ini menulis secara rinci sejarah kriptografi mulai dari penggunaan kriptografi oleh Bangsa Mesir 4000 tahun yang lalu (berupa hieroglyph yang terdapat pada piramid) hingga penggunaan kriptografi pada abad ke-20 (Menezes et al, 1996). Secara historis ada empat kelompok yang berkontribusi terhadap perkembangan kriptografi, dimana mereka menggunakan kriptografi untuk menjamin kerahasiaan dalam komunikasi pesan penting, yaitu kalangan militer (termasuk intelijen dan mata-mata), kalangan diplomatik, penulis buku harian, dan pencinta (lovers). Di antara keempat kelompok ini, kalangan militer yang memberikan kontribusi paling penting karena pengiriman pesan di dalam suasana perang membutuhkan teknik enkripsi dan dekripsi yang rumit. Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pada masa awal agama Kristen menggunakan kriptografi untuk menjaga tulisan relijius dari gangguan otoritas politik atau budaya yang dominan saat itu. Mungkin yang sangat terkenal adalah Angka si Buruk Rupa (Number of the Beast) di dalam Kitab Perjanjian Baru. Angka 666 menyatakan cara kriptografik (yaitu dienkripsi) untuk menyembunyikan pesan berbahaya, para ahli percaya bahwa pesan tersebut mengacu pada Kerajaan Romawi. Di India, kriptografi digunakan oleh pencinta (lovers) untuk berkomunikasi tanpa diketahui orang. Bukti ini ditemukan di dalam buku Kama Sutra yang merekomendasikan wanita seharusnya mempelajari seni memahami tulisan dengan cipher. Pada Abad ke-17, sejarah kriptografi mencatat korban ketika ratu Skotlandia, Queen Mary, dipancung setelah surat rahasianya dari balik penjara (surat terenkrpsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode (Munir, 2006).

Seperti yang telah disebutkan di atas bahwa kriptografi umum digunakan di kalangan militer. Pada Perang Dunia ke II, Pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Enigma. Mesin yang menggunakan beberapa buah rotor (roda berputar) ini melakukan enkripsi dengan cara yang sangat rumit. Namun Enigma cipher berhasil dipecahkan oleh pihak Sekutu dan keberhasilan memecahkan Enigma sering dikatakan sebagai faktor yang memperpendek perang dunia ke-2 (Churchhouse, 2004). Dimulai dari usaha Feistel dari IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi federal Amerika Serikat untuk mengenkripsi informasi yang tidak belum diklasifikasi. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah. Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976 saat Diffie dan Hellman mempublikasikan New Directions in Cryptography. Tulisan ini memperkenalkan konsep revolusioner kriptografi kunci publik dan juga memberikan metode baru untuk pertukaran kunci, keamanan yang berdasar pada kekuatan masalah logaritma diskret. Meskipun Diffie dan Hellman tidak memiliki realisasi praktis pada ide enkripsi kunci publik saat itu, idenya sangat jelas dan menumbuhkan ketertarikan yang luas pada komunitas kriptografi. Pada 1978 Rivest, Shamir dan Adleman menemukan rancangan enkripsi kunci publik yang sekarang disebut RSA. Rancangan RSA berdasar pada masalah faktorisasi bilangan yang sulit, dan menggiatkan kembali usaha untuk menemukan metode yang lebih efisien untuk pemfaktoran. Tahun 80-an terjadi peningkatan luas di area ini, sistem RSA masih aman. Sistem lain yang merupakan rancangan kunci publik ditemukan oleh Taher ElGamal pada tahun 1984. Rancangan ini berdasar pada masalah logaritma diskret. Salah satu kontribusi penting dari kriptografi kunci publik adalah tanda tangan digital. Pada 1991 standar internasional pertama untuk tanda tangan digital diadopsi. Standar ini berdasar pada rancangan kunci publik RSA. Pada 1994 pemerintah

Amerika Serikat mengadopsi Digital Signature Standard, sebuah mekanisme kriptografi yang berdasar pada algoritma ElGamal (Menezes et al, 1996). 2.3 Tujuan Kriptografi Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah sebagai berikut (Menezes et al, 1996) (Schneier, 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 data tidak dapat dipahami. Istilah lain yang senada dengan confidentiality 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 pensubsitusian data lain kedalam pesan yang sebenarnya. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan digital (digital signature). 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 mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi 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 menggunakan tanda-tangan digital (digital signature). Tanda-tangan digital menyatakan sumber pesan. d) Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. Tujuan dasar dari kriptografi adalah mewujudkan keempat aspek keamanan informasi tersebut dalam teori dan praktek. 2.4 Terminologi dan Konsep Dasar Kriptografi Di dalam kriptografi kita akan sering menemukan berbagai istilah atau terminologi. Beberapa istilah yang penting untuk diketahui diberikan di bawah ini: 2.4.1 Pesan, Plainteks, dan Cipherteks Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks atau teks jelas (cleartext) (Schneier, 1996). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dsb) atau yang disimpan di dalam media perekaman (kertas, storage, dan sebagainya). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami (enkripsi). Bentuk pesan yang tersandi disebut ciphertext atau kriptogram. Proses pembalikan dimana ciphertext diubah kembali menjadi plainteks di sebut dekripsi (Stamp, 2007).

2.4.2 Peserta Komunikasi a) Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, atau memanipulasi informasi. Entitas bisa berupa orang, terminal komputer, kartu kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya (contoh: Alice berkomunikasi dengan Bob) sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di bank). b) Pengirim adalah entitas dalam komunikasi yang mengirimkan informasi kepada entitas lainnya lainnya. c) Penerima adalah entitas dalam komunikasi yang diharapkan menerima informasi. d) Penyusup (adversary) adalah entitas diluar pengirim dan penerima yang mencoba untuk membobol keamanan informasi. Penyusup biasanya bertindak seolah-olah sebagai pengirim yang sah ataupun penerima yang sah. 2.4.3. Kriptologi Kriptologi berasal dari bahasa Yunani, kryptós yang berarti tersembunyi dan lógos yang berarti kata. Jadi, kriptologi dapat diartikan sebagai frase kata yang tersembunyi (Oppliger, 2005). Kriptologi dapat juga diartikan sebagai seni dan ilmu untuk membuat dan memecahkan kode rahasia. Kriptologi dibagi menjadi kriptografi (seni dan ilmu membuat kode rahasia), kriptanalisis (ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan) (Stamp, 2007) dan steganografi (metoda menyembunyikan pesan atau data lainnya) (Oppliger, 2005). Pelaku kriptanalisis disebut kriptanalis. Jika seorang kriptografer mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan ciphertext tersebut untuk menemukan plaintext atau kunci.

2.5 Algoritma dan Kunci Algoritma menggambarkan sebuah prosedur komputasi yang terdiri dari variabel input dan menghasilkan output yang berhubungan (Oppliger, 2005). Algoritma kriptografi atau sering disebut dengan cipher adalah suatu fungsi matematis yang digunakan untuk melakukan enkripsi dan dekripsi (Schneier, 1996). Algoritma kriptografi ini bekerja dalam kombinasi dengan menggunakan kunci (key) seperti kata, nomor atau frase tertentu. Bila keamanan algoritma bergantung pada kerahasian algoritma yang bekerja, maka algoritma tersebut dikatakan sebagai algoritma terbatas (terbatas kemampuannya). Algoritma terbatas mempunyai sejarah yang menarik. Algoritma terbatas biasanya digunakan oleh sekelompok orang untuk bertukar pesan satu sama lain. Mereka membuat suatu algoritma enkripsi dan algoritma enkripsi tersebut hanya diketahui oleh anggota kelompok itu saja. Tetapi, algoritma terbatas tidak cocok lagi saat ini, sebab setiap kali ada anggota kelompok keluar, maka algoritma kriptografi harus diganti lagi. Kerahasian algoritmanya menjadi titik kelemahan karena tidak mengijinkan adanya kontrol kualitas atau standarisasi. Kriptografi modern mengatasi masalah di atas dengan penggunaan kunci, dimana algoritma yang diguakan tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan dechipering. Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai E K P = C dan D K C = P (2.1) dan kedua fungsi ini memenuhi D K (E K P) = P (2.2)

2.6 Jenis Algoritma Kriptografi Berdasarkan jenis kunci yang digunakannya, algoritma.kriptografi dikelompokan menjadi dua bagian, yaitu algoritma simetris (algoritma konvensional) dan algoritma asimetris (algoritma kunci publik) (Schneier, 1996) (Kurniawan, 2004) (Munir, 2006) (Menezes et al, 1996). 2.6.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 privat (private-key cryptography), 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 tahun 1976. Semua algoritma kriptografi klasik termasuk ke dalam sistem kriptografi simetri. Kelebihan algoritma simetris ini adalah proses enkripsi dan deskripsinya yang jauh lebih cepat dibandingkan dengan algoritma asimetris. Sedangkan kelemahan algoritma ini adalah permasalahan distribusi kunci (key distribution). Seperti yang telah dibahas, proses enkripsi dan deskripsi menggunakan kunci yang sama. Sehingga muncul persoalan menjaga kerahasian 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 yang tidak berhak), maka kriptosistem ini sudah tidak aman lagi.

Kelemahan lain adalah masalah efisiensi 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). Gambar 2.1 Skema Kriptografi Simetri 2.6.2. Algoritma Asimetris Algoritma asimetris atau kunci publik didesain sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci untuk dekripsi dimana kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapun (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 mengenkripsi 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. Kedua, jumlah kunci dapat ditekan. Untuk berkomunikasi secara rahasia dengan banyak orang tidak perlu kunci rahasia sebanyak jumlah orang tersebut, cukup

membuat dua buah 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 manejer di kantor pusat. Seluruh kepala cabang diberitahu bahwa kalau mereka mengirim laporan ke manejer di kantor pusat, mereka harus mengenkripsi laporan tersebut dengan kunci publik manejer (kunci publik menejer diumumkan kepada seluruh kepala cabang). Untuk mengembalikan laporan tersandi ke laporan semula, hanya manejer 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 ciphertext 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 sistem kriptografi 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 mengenkripsi pesan (yang sudah diringkas) dengan kunci privatnya, hasil enkripsi inilah yang dinamakan tanda-tangan digital. Tanda-tangan digital dilekatkan (embed) pada pesan asli. Penerima pesan memverifikasi tanda-tangan digital dengan menggunaklan kunci publik. Gambar 2.2 Skema Kriptografi Asimetri

2.7 Keamanan Sistem Kriptografi Suatu sistem kriptografi merupakan sebuah himpunan algoritma, seluruh kemungkinan plaintext, ciphertext, kunci, dan proses manajemen kunci yang digunakan (Oppliger, 2005). 2.7.1 Jenis-Jenis Ancaman Keamanan Terdapat banyak faktor yang mengancam keamanan data. Ancaman-ancaman tersebut menjadi masalah terutama dengan semakin meningkatnya komunikasi data yang bersifat rahasia seperti pemindahan dana secara elektronik pada dunia perbankan atau pengiriman dokumen rahasia pada instansi pemerintah. Untuk mengantisipasi ancaman-ancaman tersebut perlu dilakukan usaha untuk melindungi data yag dikirim melalui saluran komunikasi. Salah satunya adalah dengan teknik enkripsi. Dari sekian banyak faktor-faktor yang dapat mengancam keamanan dari suatu data, maka berdasarkan tekniknya, faktor-faktor tersebut dapat dikelompokkan ke dalam empat jenis ancaman, yaitu: a) Interruption Interruption terjadi bila data yang dikirimkan dari A tidak sampai pada orang yang berhak (B). Interruption merupakan pola penyerangan terhadap sifat availability (ketersediaan data), yaitu data dan informasi yang berada dalam sistem komputer dirusak atau dibuang, sehinggga menjadi tidak ada dan tidak berguna. Contohnya, hard disk yang dirusak atau memotong jalur komunikasi. b) Interception Serangan ini terjadi jika pihak ketiga berhasil mendapatkan akses informasi dari dalam sistem komputer. Contohnya, dengan menyadap data yang melalui jaringan public (wiretapping) atau menyalin secara tidak sah file atau program Interception merupakan pola penyerangan terhadap sifat confidentially/secrecy (kerahasiaan data).

c) Modification Pada serangan ini pihak ketiga yang tidak hanya berhasil mendapatkan akses informasi dari dalam sistem komputer, tetapi juga dapat melakukan perubahan terhadap informasi. Contohnya, merubah program berhasil merubah pesan yang dikirimkan. Modification merupakan pola penyerangan terhadap sifat integrity (keaslian data). d) Fabrication Fabrication merupakan ancaman terhadap integritas, yaitu orang yang tidak berhak yang meniru atau memalsukan suatu objek ke dalam sistem. Contohnya, dengan menambahkan suatu record ke dalam file. 2.7.2 Serangan Pada Sistem Kriptografi Pada dasarnya serangan terhadap sistem kriptografi dapat dibedakan menjadi dua jenis yaitu: a) Serangan pasif adalah serangan dimana penyerang hanya memonitor saluran komunikasi. Penyerang pasif hanya mengancam kerahasiaan data. b) Serangan aktif adalah serangan dimana penyerang mencoba untuk menghapus, menambahkan, atau dengan cara yang lain mengubah transmisi pada saluran. Penyerang aktif mengancam integritas data dan otentikasi, juga kerahasiaan. 2.7.3 Kualitas Keamanan Algoritma Suatu algoritma dikatakan aman, bila tidak ada cara menemukan plaintextnya, berapapun banyaknya ciphertext yang dimiliki cryptanalyst. Sampai saat ini hanya OTP (one-time-pad) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Seluruh algoritma lainnya selalu dapat dipecahkan dengan Ciphertext only attack, dan dengan teknik brute-force attack (memeriksa satu-

persatu seluruh kemungkinan kunci dan memeriksa apakah plaintext yang dihasilkan memiliki arti yang sesuai). Komputer DNA yang sedang diteliti sekarang memiliki kemampuan yang mampu melakukan perhitungan milyaran kali lebih cepat daripada komputer yang ada sekarang ini. Dengan peningkatan kecepatan komputasi, maka keamanan algoritma kriptografi akan semakin terancam tentunya. 2.8 Algoritma ElGamal Algoritma ElGamal dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada mulanya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. ElGamal digunakan di dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP dan pada sistem sekuriti 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 dari kunci publik yang diketahui walaupun serangan dilakukan dengan menggunakan sumberdaya komputer yang sangat besar. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Plainteks yang akan dienkripsi dipecah menjadi blok-blok plainteks, selanjutnya 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. 2.8.1 Kelebihan Algoritma ElGamal Algoritma ElGamal juga dikenal sebagai kriptografi 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. b) Dalam algoritma ElGamal sama seperti beberapa jenis kriptografi kunci yang lain. Hanya kunci privat yang perlu dijamin kerahasiannya. 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.8.2 Logaritma Diskret Misalkan G adalah grup siklik dengan order n, adalah pembangun G dan 1 adalah elemen identitas G. Diberikan β G. Permasalahan yang dimunculkan adalah bagaimana menentukan suatu bilangan bulat nonnegatif terkecil a sedemikian hingga : β = α a (2.3) Bilangan bulat a seperti ini disebut dengan logaritma diskret (discrete logarithm) dari de β dengan basis α. Selanjutnya, masalah bagaimana menentukan bilangan bulat a seperti ini disebut dengan masalah logaritma diskret (discrete logarithm problem). Masalah logaritma diskret ini menjadi sulit apabila digunakan grup dengan order yang besar (Buchmann, 2000).

2.8.3 Proses Pembentukan Kunci Proses pertama pada algoritma ElGamal adalah pembentukan kunci yang terdiri dari kunci rahasia dan kunci publik. Pada proses ini dibutuhkan sebuah bilangan prima aman p yang digunakan untuk membentuk grup Z *, elemen primitif α yang p merupakan elemen pembangun grup dan sembarang a Є {0,1,..., p 2}. Kunci publik algoritma ElGamal berupa pasangan 3 bilangan, yaitu (p, α, β), dengan: β = α a (mod p), (2.4) dimana a merupakan kunci rahasia. Langkah-langkah dalam pembentukan kunci sebagai berikut: a) Input bilangan prima aman p > 255 b) Input sebuah bilangan α yang merupakan elemen primitif dimana α Є Z * p c) Input sebuah bilangan a Є {0,1,..., p 2} d) Hitung β = α a (mod p) e) Publikasikan nilai p, α, dan β, serta rahasiakan nilai a. Pihak yang membuat kunci publik dan kunci rahasia adalah penerima, sedangkan pihak pengirim hanya mengetahui kunci publik yang diberikan oleh penerima, dan kunci publik tersebut digunakan untuk mengenkripsi pesan. Jadi, kentungan menggunakan algoritma kriptografi kunci publik adalah tidak ada permasalahan pada distribusi kunci apabila jumlah pengirim sangat banyak serta tidak ada kepastian keamanan jalur yang digunakan. 2.8.4 Proses Enkripsi Karena pada algoritma ElGamal menggunakan bilangan bulat dalam proses perhitungannya, maka pesan harus dikonversi ke dalam suatu bilangan bulat. Untuk mengubah pesan menjadi bilangan bulat, digunakan kode ASCII (American Standard for Information Interchange). Kode ASCII merupakan representasi numerik dari karakter-karakter yang digunakan pada komputer, serta mempunyai nilai minimal 0

dan maksimal 255. Oleh karena itu berdasarkan sistem kriptografi ElGamal di atas maka harus digunakan bilangan prima yang lebih besar dari 255 sehingga kode ASCII berkorespondensi 1-1 dengan karakter pesan. Pada proses enkripsi pesan dienkripsi menggunakan kunci publik (p, α, β) dan sembarang bilangan acak rahasia k Є {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 3,..., m n dengan m i Є {1, 2,..., p-1} dan i =1, 2,..., n. Proses enkripsi pada algoritma ElGamal dilakukan dengan menghitung γ i = α ki (mod p) (2.5) dan δ i = β ki m (mod p) (2.6) dengan k Є {0,1,..., p 2} acak, diperoleh cipherteks (γ, δ). Bilangan acak k ditentukan oleh pihak pengirim dan harus dirahasiakan, jadi hanya pengirim saja yang mengetahuinya, tetapi nilai k hanya digunakan saat melakukan enkripsi saja dan tidak perlu disimpan. Langkah-langkah proses enkripsi : a) Pesan dipotong-potong ke dalam bentuk blok-blok pesan dengan setiap blok adalah satu karakter pesan. b) Konversikan masing-masing karakter ke dalam kode ASCII, maka diperoleh plainteks sebanyak n bilangan, yaitu m 1, m 2,..., m n. c) Untuk i dari 1 sampai n kerjakan: - Pilih bilangan acak ki dimana 1 < k p-2 - Hitung γ i = α ki (mod p) - Hitung δ i = β ki m i (mod p) d) Diperoleh cipherteks (γi, δi), dimana i = 1,2,...,n.

2.8.5 Proses Dekripsi Setelah menerima cipherteks (γ, δ), proses selanjutnya adalah mendekripsikan cipherteks menggunakan kunci publik p dan kunci rahasia a. Dapat ditunjukkan bahwa plainteks m dapat diperoleh dari cipherteks menggunakan kunci rahasia a. Diberikan (p, α, β) sebagai kunci publik dan a sebagai kunci rahasia pada algoritma ElGamal. Jika diberikan cipherteks (γ, δ), maka: m = (γ a ) -1 (mod p) (2.7) dengan m adalah plainteks. 2.9 Konsep Dasar Perhitungan Matematis 2.9.1 Teori Modulo Fast Eksponensial Modulo fast eksponensial adalah pemangkatan yang dilakukan bersamaan dengan operasi modulo. Modulo eksponensial sering digunakan dalam bidang kriptografi untuk menghitung hasil enkripsi maupun hasil dekripsi. Adapun yang dihitung dalam dalam modulo Fast eksponensial adalah sisa dimana bila sebuah bilangan x dipangkatkan y, kemudian dibagi dengan n, dengan bentuk umum x y mod n. Dalam proses enkripsi dan dekripsi, biasanya digunakan y ataupun pangkat yang cukup besar, sehingga apabila kita menghitung secara langsung x y dapat menyebabkan x y cukup besar hingga tidak bisa disimpan dalam variable yang ada dalam bahasa pemograman. Untuk menyelesaikan masalah ini digunakanlah algoritma big mod dimana untuk mencari nilai dari x y mod n, dilakukan proses membagi dan mengurangi pangkat yang ada. Contoh : Hitung hasil dari 4 30 mod 10

Bila pangkatnya genap, maka pangkatnya dibagi 2, jika pangkatnya ganjil, maka pangkat dikurangi 1, sampai dengan pangkatnya menjadi 1. 4 30 4 15 4 15 karena sama, yang dicari hanya salah satu saja 4 1 4 14 4 7 4 7 4 1 4 6 4 3 4 3 4 1 4 2 4 1 4 1 Karena pangkat terbawah sudah 1 maka dihitung kembali ke atas sambil dimodulo 10, maka dilakukan perhitungan dari bawah ke atas, seperti yang bisa dilihat berikut ini : 4 30 = (4 15 x4 15 = 4 x 4 = 16 mod 10 = 6), jadi 4 30 = 6 4 15 4 15 = (4 1 x4 14 = 4 x 6 = 24 mod 10 = 4), jadi 4 15 = 4 4 1 4 14 = (4 7 x4 7 = 4 x 4 = 16 mod 10 = 6), jadi 4 14 = 6 4 7 4 7 = (4 1 x4 6 = 4 x 6 = 24 mod 10 = 4), jadi 4 7 = 4 4 1 4 6 = (4 3 x4 3 = 4 x 4 = 16 mod 10 = 6), jadi 4 6 = 6 4 3 4 3 = (4 1 x4 2 = 4 x 6 = 24 mod 10 = 4), jadi 4 3 = 4 4 1 4 2 = (4 1 x4 1 = 16 mod 10 = 6), jadi 4 2 = 6 4 1 4 1 Sehingga didapat 4 30 mod 10 = 6.

2.9.2 Modulo Invers Modulo Invers untuk menghitung balikan dari modulo yang digunakan pada proses dekripsi. Jika a dan m relatif prima dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat a sedemikian sehingga aa 1 (mod m) (2.8) Bukti: Dari definisi relatif prima diketahui bahwa PBB (a, m) = 1, dan terdapat bilangan bulat p dan q sedemikian sehingga: pa + qm = 1 (2.9) yang mengimplikasikan bahwa pa + qm 1 (mod m) (2.10) Karena qm 0 (mod m), maka pa 1 (mod m) (2.11) Kekongruenan yang terakhir ini berarti bahwa p adalah balikan dari a modulo m. Pembuktian di atas juga menceritakan bahwa untuk mencari balikan dari a modulo m, kita harus membuat kombinasi lanjar dari a dan m sama dengan 1. Koefisien a dari kombinasi lanjar tersebut merupakan balikan dari a modulo m. Contoh : Tentukan balikan dari 4 (mod 9), 17 (mod 7), dan 18 (mod 10).

Karena PBB(4, 9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma Euclidean diperoleh bahwa : 9 = 2 4 + 1 Susun persamaan di atas menjadi 2 4 + 1 9 = 1 Dari persamaan terakhir ini kita peroleh 2 adalah balikan dari 4 modulo 9. Periksalah bahwa: 2 4 1 (mod 9) (9 habis membagi 2 4 1 = 9) 2.9.3 Bilangan Prima Sebuah bilangan prima adalah bilangan bulat yang besar dari 1 yang hanya mempunyai faktor 1 dan bilangan itu sendiri. Tidak ada bilangan pembagi lainnya. 2 (dua) adalah bilangan prima (Schneier, 1996). Contoh : 73, 2521, 2365347734339, dan 2 756839-1. Kriptografi, khususnya kunci publik biasanya menggunakan bilangan prima yang besar (512 bits atau lebih besar). Bilangan selain bilangan bilangan prima disebut bilangan komposit. Misalnya, 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, 10, selain 1 dan 20 sendiri.

2.9.5 Algoritma Euclidean Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar (PBB) dari dua bilangan bulat (Munir, 2006). Algoritma ini didasarkan pada pernyataan bahwa ada dua buah bilangan bulat tak negatif yakni m dan n dimana nilai m n. Adapun tahap-tahap pada algoritma Euclidean adalah: 1. Jika n = 0 maka m adalah PBB (m, n); stop. Kalau tidak (yaitu n 0) lanjutkan ke langkah nomor 2. 2. Bagilah m dengan n dan misalkan sisanya adalah r. 3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah nomor 1. Algoritma Euclidean dapat digunakan untuk mencari dua buah bilangan bulat yang relatif prima. Contoh : Tentukan gcd (108, 360) Tentukan gcd (45, 13) 360 mod 108 = 36 45 mod 13 = 6 108 mod 36 = 0 (STOP) 13 mod 6 = 1 Jadi gcd (108, 360) = 36 6 mod 1 = 0 (STOP) Jadi gcd (45, 13) = 1 2.9.5 Bilangan Relatif Prima Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB atau gcd (greatest common divisor) dari a dan b bernilai 1.

Contoh : 20 dan 3 relatif prima sebab PBB (20, 3) = 1. Begitu juga 7 dan 11 relatif prima karena PBB (7, 11) = 1. Tetapi 20 dan 5 tidak relatif prima sebab PBB (20, 5) = 5 1. Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga ma + nb = 1 (2.12) Contoh : Bilangan 20 dan 3 adalah relatif prima karena PBB (20, 3) =1, atau dapat ditulis 2. 20 + ( 13). 3 = 1 dengan m = 2 dan n = 13. Tetapi 20 dan 5 tidak relatif prima karena PBB (20, 5) = 5 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m. 20 + n. 5 = 1. 2.9.6 Kekongruenan (Congruence) Misalkan a dan b adalah bilangan bulat dan m adalah bilangan bulat > 0, maka a b (mod m) jika m habis membagi a b ditulis (m a b). Jika a tidak kongruen dengan b dalam modulus m, maka di tulis a / b (mod m) (Oppliger, 2005). Contoh : 17 2 (mod 3) (3 habis membagi 17-2 = 15) -7 15 (mod 11) (11 habis membagi -7-15= -22) 12 / 2 (mod 7) (7 tidak habis membagi 12-2 = 10)

Kekongruenan a b (mod m) dapat juga di tuliskan hubungan a = b + km yang dalam hal ini k adalah bilangan bulat. Berdasarkan definisi aritmetika modulo, dapat dituliskan a b mod m. Contoh : 17 2 (mod 3), dapat ditulis sebagai 17 = 2 + 5. 3-7 15 (mod 11), dapat ditulis sebagai -7 = 15 + (-2).11. Persamaan kongruen modulo n merupakan relasi ekuivalensi pada bilangan bulat. Hal ini berarti untuk setiap n N dan a, b, c Z 1. a a (mod n) (relasi refleksif); 2. Jika a b (mod n), maka b a (mod n) (relasi simetris); 3. Jika a b (mod n) dan b c (mod n), maka a c (mod n) (relasi transitif). 2.10 Penelitian Sebelumnya Mengenai Algoritma ElGamal Penelitian sebelumnya yang berkaitan dengan algoritma ElGamal dan aplikasi pembelajaran dapat dilihat pada tabel 1.1 berikut ini: Tabel 1.1 Penelitian Sebelumnya Mengenai Algoritma ElGamal No Peneliti / Tahun Judul Keterangan 1 Riyanto, 2007 2 Ariwibowo, 2008 Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Elgamalatas Grup Pergandaan ZP* Aplikasi Pengamanan Dokumen Office Dengan Algoritma Kriptografi Algoritma kriptografi asimetris, seperti algoritma ElGamal, sangat baik untuk mengatasi masalah distribusi kunci. Implementasi program ini menghasilkan suatu aplikasi yang mengubah isi

3 Ifanto, 2009 4 Massandy, 2009 Kunci Asimetris ElGamal Metode Enkripsi Dan Dekripsi Dengan Menggunakan Algoritma ElGamal Algoritma Elgamal Dalam Pengamanan Pesan Rahasia dokumen (plaintext) yang berupa text, table dan gambar menjadi kode-kode yang tidak dikenal (ciphertext). Algoritma ElGamal keamanannya terletak pada logaritma diskrit pada grup pergandaan bilangan bulat modulo prima, dengan mengambil nilai bilangan prima yang besar, maka upaya pemecahan pesan akan sangat sukar. Pada dasarnya, dari proses pembentukan kunci sampai proses dekripsi ini, digunakan aritmatika modulo. 5 Suyadi, 2008 Manfaat Komputer Dalam Pembelajaran Aplikasi komputer dalam bidang pembelajaran memungkinkan berlangsungnya proses belajar secara individual (individual learning). Pemakai komputer atau user dapat melakukan interaksi langsung dengan sumber informasi.