ALGORITMA KRIPTOGRAFI A5 DAN ELGAMAL Nama Penulis 1 Yus Jayusman, S.Kom [email protected] Nama Penulis 2 Uro Abdulrohim, S.Kom, MT [email protected] Abstrak Sejarah kriptografi mulai dari penggunaan kriptografi oleh Bangsa Mesir 4000 tahun yang lalu (berupa hieroglyph yang tidak standard pada priamid) hingga penggunaan kriptografi pada abad ke-20. Secara historis ada empat kelompok orang 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). Algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab. Algoritma chiper A5 adalah algoritma enkripsi yang digunakan untuk mengamankan komunikasi dan aliran data pada system GSM pada jaringan seluler. Algoritma ini sudah dikenal memiliki banyak kelemahan dan tidak jarang serangan terhadapnya berhasil dilakukan. Algoritma Elgamal merupakan salah satu algoritma kriptografi kunci-publik yang dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada umumnya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP, dan pada sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP, dan pada sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. Kata kunci: Kriptografi, Algoritma, A5, Elgamal 1. Pendahuluan Kriptografi mempunyai sejarah yang panjang. 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 tidak standard pada priamid) hingga penggunaan kriptografi pada abad ke-20. Secara historis ada empat kelompok orang 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 penting karena pengiriman pesan di dalam suasana perang membutuhkan teknik enkripsi dan dekripsi yang rumit. Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi mengubah susunan huruf-huruf di dalam pesan, sedangkan cipher substitusi mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain. Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale. Scytale terdiri dari sebuah kertas panjang dari daun papyrus yang dililitkan pada sebuah silinder dari diameter tertentu (diameter silender menyatakan kunci penyandian). Pesan ditulis secara horizontal, baris per baris. Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun secara acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus melilitkan kembali melilitkan kembali kertas tersebut ke silinder yang diameternya sama dengan diameter silinder pengirim. Sedangkang algoritma substitusi paling awal dan paling sederhana adalah Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alphabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet. Gambar 1.1. Sebuah scytale, Pesan ditulis secara horizontal, baris per baris. Bila kertas dilepaskan, maka pesan yang terbentuk adalah cipherteks. Dan di abad 20 ini Kriptografi sangat berperan penting dalam hal pengamanan data. Salah satu manfaat nyata Kriptografi adalah penentuan hasil perang dunia pertama dan kedua. Contoh nyata pengaplikasian Kriptografi yang berperan sangat penting dalam perang dunia pertama dan kedua adalah mesin ENIGMA. Mesin ENIGMA ini dipatenkan oleh serang insinyur kebangsaan Jerman, Arthur Scherbius. Pada awalnya ENIGMA ini ditujukan untuk keperluan komersial. Namun nama ENIGMA ini mulai dikenal dalam perang dunia setelah digunakan oleh tentara pemerintah NAZI. sebelum dan selama perang dunia kedua. ENIGMA sendiri mengambil nama Latin AENIGMA yang berarti teka-teki. Mesin ENIGMA mulai digunakan pada tahun 1928, tetapi dalam perjalannya tehnik kriptografi ENIGMA dapat dipecahkan atau dibuka oleh Biuro Szyfrow (Kantor Sandi) Polandia. Hal ini sangatlah merugikan pihak Jerman dalam perang dunia., karena dengan terbukanya atau terpecahkannya teknik kriptografi ENIGMA menyebabkan Jerman kalah perang melawan sekutu. Gambar 1.2. Enigma Chiper Machine Kriptografi tidak akan lepas dengan adanya algoritma, merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturanaturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas. 2. Tujuan Kriptografi Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu : Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian datalain kedalam data yang sebenarnya. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain. Non-repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman / terciptanya suatu informasi mengirimkan/membuat. oleh yang Gambar 2.1 Bagan kriptografi 3. Jenis-Jenis Algoritma Jenis algoritma dibagi menjadi dua bagian algoritma sandi kunci yaitu: 1. Algoritma Sandi kunci simetris Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher. 2. Algoritma sandi kunci Asimetris Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya.Skema ini disebut juga sebagai system kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi. 3. Algoritma A5 Algoritma ini pertama kali dikembangkan pada tahun 1987 ketika penggunaan GSM hanya terbatas di wilayah Eropa. Pada saat itu algoritma ini bernama A5/1. Kemudian pengembangan terus dilakukan untuk meningkatkan keamanan algoritma hingga pada tahun 1989 A5/2 berhasil dikembangkan. Kedua algoritma ini pada saat itu sangat dirahasiakan oleh pihak-pihak yang mengembangkannya dan oleh penyedia layanan GSM sampai pada akhirnya informasi mengenai algoritma ini dapat diketahui oleh masyarakat umum pada tahun 1994 dan berhasil di reverse engineered oleh Marc Briceno pada tahun 1999 melalui sebuah telepon genggam biasa. Walaupun demikian algoritma A5/1 akhirnya tetap digunakan untuk mengamankan komunikasi suara pada tahun 2000 ketika layanan telepon selular mulaiberkembang pesat dan penggunaannya semakin luas. Sampai saat ini pengembangannya sudah sampai pada generasi ketiga yaitu algoritmaA5/3. Berbeda dengan algoritma A5/1 dan A5/2, algoritma A5/3 merupakan algoritma block chipper yang diadaptasi dari algoritma KASUMI. KASUMI dibuat oleh Secure Algorithms Groups of Experts (SAGE, bagian dari ETSI, sebuah badan standar di Eropa. KASUMI sendiri adalah pengembangan dari algoritma MISTY1. GSM (Global System for Mobile) adalah jaringan selular yang paling banyak digunakan saat ini. GSM adalah telepon selular digital pertama setelah era analog. Masalah dari sistem analog adalah kemungkinan untuk melakukan pengkloningan telepon untuk melakukan panggilan telepon terhadap orang lain dengan maksud penipuan, selain itu system analog juga berpotensi dapat melakukan penyadapan (eavesdrop) panggilan telepon. Jaringan GSM bertujuan untuk memperbaiki masalah tersebut dengan mengimplementasikan autentifikasi yang kuat antara telepon selular dan MSC (mobile service switch center), mengimplementasikan enkripsi data yang kuat pada transmisi udara antara MS dan BTS. GSM adalah standar eropa untuk komunikasi selular digital. GSM dideklarasikan pada tahun 1982 pada European Conference of Post and Telecommunication Administrations (CEPT). Lebih lanjut, sejarah GSM sebagai standar komunikasi digital disepakati dalam GSM MoU pada tahun 1987, dimana 18 negara sepakat untuk mengimplementasikan jaringan selular yang berbasis GSM. Pada tahun 1991 Jaringan GSM pertama kali muncul. Jaringan GSM saat ini digunakan algoritma A3, A8, dan A5 dalam system pengamanannya. Algoritma A3 dan A8 digunakan dalam proses autentikasi, yaitu proses pengenalan identitas pelanggan, yang terjadi pada MS (Mobile Station) dan AUC (Authentication Centre). Sedangkan algoritma A5 digunakan dalam proses pengiriman informasi pada link radio antara MS dengan BTS (Base Transceiver Station). Namun pada sistem pengamanan dengan menggunakan algoritma ini ditemukan kelemahan-kelemahan yang memungkinkan terjadinya penyadapan data ataupun penipuan identitas pelanggan.digunakan pula jaringan feistel atau dan chiper berulang. Algoritma A5 adalah cipher aliran yang digunakan untuk mengenkripsi pesan dalam transmisi udara. Cipher aliran ini diinisialisasi setiap frame dikirim. Cipher aliran ini diinisialisasi dengan kunci sesi, Kc, dan jumlah frame yang akan dienkripsi. Kunci sesi yang sama digunakann sepanjang panggilan berlangsung, tetapi 22 bit nomor frame berubah selama proses berlangsung, kemudian membangkitkan keystream yang unik untuk setiap frame. Gambar 3.1 Pembangkitan keystream Kunci yang digunakan dalam algoritma ini adalah 64 bit Kc, ditambah inputan berupa nomer frame TDMA dalam suatu multiframe. Output yang dihasilkan berupa sepasang 114 bit codeword (S1 dan S2) untuk arah downlink dan uplink. Selanjutnya masing-masing codeword di-XOR dengan 114 bit plain text untuk menghasilkan 114 bit chipertext yang akan dikirimkan. 4. Algoritma Elgamal Algoritma Elgamal merupakan salah satu algoritma kriptografi kunci-publik yang dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada umumnya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP, dan pada sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. 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. Besaran-besaran yang digunakan di dalam algoritma ElGamal: 1. Bilangan prima, p (tidak rahasia) 2. Bilangan acak, g ( g < p) (tidak rahasia) 3. Bilangan acak, x (x < p) (rahasia) 4. M (plainteks) (rahasia) 5. a dan b (cipherteks) (tidak rahasia) Prosedur Membuat Pasangan Kunci Pilih sembarang bilangan prima p. Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan 1 ≤ x ≤ p – 2. Hitung y = g x mod p. Kunci publik adalah y, kunci rahasia adalah x. Nilai g dan p tidak dirahasiakan dan dapat diumumkan kepada anggota kelompok. a. Banyak kemungkinan untuk melakukan serangan pada sistem keamanan GSM, serangan itu dapat dilakukan pada algoritma A5. b. Perlunya metoda kriptografi yang lain untuk melindungi parameter-parameter keamanan GSM. Kelebihan algoritma Elgamal : a. belum ada yang berhasil memecahkan algoritma ElGamal. Karena kekomplesitasan algoritma ini, maka penyerangan yang dilakukan dari segala sisi tidak mampu menembus pertahanan algoritma ElGamal ini.Tingkat keamanan algoritma ini didasarkan pada kesulitan pemecahan masalah logaritma diskret pada penggandaan bilangan bulat modul prima yang besar. b. pembangkitan kunci yang menggunakan logaritma diskrit dan metode enkripsi dekripsi yang menggunakan proses komputasi yang besar sehingga hasil enkripsinya berukuran dua kali dari ukuran semula Enkripsi Plainteks disusun menjadi blok-blok m1, m2, …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1. Pilih bilangan acak k, yang dalam hal ini 0 £ k £ p – 1, sedemikian sehingga k relatif prima dengan p – 1. Setiap blok m dienkripsi dengan rumus a = gk mod p b = ykm mod p Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya. Dekripsi Untuk mendekripsi a dan b digunakan kunci rahasia, x, dan plainteks m diperoleh kembali dengan persamaan m = b/ax mod p Catatlah bahwa karena ax º gkx (mod p) maka b/ax º ykm/ax º gxkm/gxk º m (mod p) yang berarti bahwa plainteks dapat ditemukan kembali dari pasangan cipherteks a dan b. Kelebihan dan Kekurangan Algoritma A5 dan Elgamal Kelebihan Algoritma A5 : a. Algoritma A5 adalah cipher aliran yang digunakan untuk mengenkripsi pesan dalam transmisi udara (jaringan GSM). b. Algoritma A5 dalam pengembangannya terdapat 3 macam yaitu A5/1, A5/2 dan A5/3. Kekurangan Algoritma A5 : Kekurangan algoritma Elgamal : Membutuhkan resource yang baik dan processor yang mampu untuk melakukan komputasi yang besar. 6. Daftar Pustaka 1. Munir, Rinaldi, Perancanagn Algoritma Stram Cipher denga Chaos, Institut Teknologi Bandung, 2005 2. Munir, Rinaldi, Image Watermarking untuk memproteksi citri digital dan aplikasinya pada citra medis, Institut Teknologi Bandung, 2005 3. Kurniawan, Yusuf, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Penerbit Informatika, 2005 4. www.wikipedia.org, diakses selama Juli – Agustus 2012.