Kriptografi Simulasi Algoritma Rivest Shamir Adleman (RSA) pada Short Message Service (SMS) dengan Pengujian Bilangan Prima Menggunakan Lucas Lehmer Primality Test

dengan SMS yang diterima dari SMS Center. Maksud dari bilangan heksa desimal adalah bilangan yang terdiri atas 0, 1, 2 , 3, 4, 5 ,6 ,7 ,8 ,9 ,A ,B ,C ,D ,E ,F. Data di PDU mempunyai format data oktet yaitu format data 8 bit. Adapun karakter yang dipakai mempunyai format data 7 bit septet. Untuk menterjemahkan karakter menjadi data PDU supaya bisa dimengerti, maka dilakukan proses konversi yaitu dari data 7 bit format septet ke data 8 bit format oktet.

2.2 Kriptografi

Kriptografi dapat diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.

2.2.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret rahasia dan graphia berarti writing tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain [1]. Selain definisi tersebut, terdapat pula definisi yang menjelaskan bahwa kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi [6]. Secara umum, kriptografi merupakan teknik penyandian data dengan cara mengenkripsi informasi awal plaintext yang dikodekan dengan kunci tertentu menggunakan algoritma enkripsi tertentu sehingga menghasilkan informasi baru ciphertext yang tidak dapat dibaca secara langsung. Ciphertext tersebut dapat Universitas Sumatera Utara dikembalikan lagi menjadi informasi awal plaintext melalui proses dekripsi. Proses kriptografi secara umum dapat dilihat pada Gambar 2.3. . Gambar 2.3 Proses Enkripsi dan Dekripsi sederhana

2.2.2 Sejarah Kriptografi

Kriptografi mempunyai sejarah yang sangat menarik dan panjang sejalan dengan sejarah kehidupan manusia. Kriptografi sudah digunakan 4000 tahun yang lalu yang diperkenalkan oleh orang-orang Mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan dan supaya pesan tersebut tidak terbaca oleh pihak musuh walaupun kurir pembawa pesan tersebut tertangkap oleh musuh [10]. Informasi 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 piramid hingga penggunaan kriptografi pada abad ke-20. Perkembangan komputer dan sistem komunikasi pada tahun 60-an berdampak pada permintaan dari sektor-sektor privat sebagai sarana untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan. Dimulai dari usaha Feistel pada IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan Data Encryption Standard DES sebagai standar pemrosesan informasi federal US untuk mengenkripsi informasi yang unclassified. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah. Universitas Sumatera Utara

2.2.3 Tujuan Kriptografi

Secara umum tujuan kriptografi diciptakan adalah untuk merahasiakan suatu pesan agar tidak bisa dibaca oleh pihak yang tidak absah. Berpedoman dari tujuan umum tersebut, terdapat empat tujuan mendasar kriptografi digunakan dalam bidang keamanan informasi, yaitu: 1. Confidentiality Kerahasiaan, yaitu layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membukamengupas informasi yang telah disandi. Biasanya dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami. 2. Data Integrity Integritas Data, yaitu layanan yang mampu mengenali atau mendeteksi adanya manipulasi penghapusan, pengubahan atau penambahan data yang tidak sah oleh pihak lain. 3. Authentication Otentikasi, yaitu layanan yang 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 diotentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain. 4. Non-repudiation Nirpenyangkalan, yaitu layanan yang dapat mencegah terjadinya penyangkalan aksi terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkanmembuat.

2.2.4 Komponen Cipher

Algoritma kriptografi atau cipher terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi. Universitas Sumatera Utara Merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks-asli ke bentuk teks-kode kita menggunakan algoritma yang dapat mengkodekan data yang kita inginkan. 2. Dekripsi. Merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya teks-asli, disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tertentu berbeda dengan algoritma yang digunakan untuk dekripsi. 3. Kunci. Yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia private key dan kunci umum public key. Algoritma kriptografi dibagi menjadi dua bagian berdasarkan kunci yang dipakai: 1. Algoritma Kunci Simetri menggunakan satu kunci untuk enkripsi dan dekripsinya, 2. Algoritma Kunci Asimetri menggunakan kunci yang berbeda untuk enkripsi dan dekripsi, 2.2.4.1 Algoritma Kunci Simetri Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut, termasuk pihak-pihak yang tidak diinginkan, dapat membuat dan membongkar rahasia ciphertext. Masalah yang paling jelas di sini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan. Universitas Sumatera Utara Contoh algoritma kunci simetris yang terkenal adalah DES Data Encryption Standard dan RC-4. Gambar 2.4 Skema Kriptografi Kunci Simetri Dua kategori yang termasuk pada algoritma simetris ini adalah algoritma block cipher dan stream cipher. Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode operasi enkripsi block cipher diantaranya Data Encryption Standard DES , Advanced Encrytion Standard AES, dan Blowfish. Sedangkan stream cipher cipher aliran adalah cipher yang berasal dari hasil XOR antara bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap attack pembalikan bit. Beberapa model algoritma stream cipher antara lain adalah algoritma One Time Pad OTP , algoritma Rivest Code 4 RC 4, algoritma IDEA, algoritma Blowfish, dan algoritma RC2. 2.2.4.2 Algoritma Kunci Asimetri Kriptografi kunci asimetri menggunakan kunci yang berbeda pasangan kunci untuk keperluan proses enkripsi dan proses dekripsi. Perbedaan yang sangat terlihat antara kriptografi kunci simetri dan kriptografi kunci asimetri terletak pada sifat kunci, pada kriptografi kunci simetri, kunci bersifat rahasia, sedangkan pada kriptografi kunci asimetri terdapat pasangan kunci yang memiliki dua sifat yang berbeda, yaitu kunci rahasia private key untuk proses dekripsi dan kunci publik public key untuk proses Universitas Sumatera Utara enkrispsi. Karena sifat salah satu kuncinya publik maka kriptografi kunci asimetri sering disebut juga kriptografi algoritma kunci publik. Distribusi kunci pada kritografi kunci asimetri sangat mudah, karena kunci enkrispsi bersifat publik maka distribusi kunci dapat dilakukan di jalur mana saja bahkan jalur yang ingin diamankan sekalipun. Gambar 2.5 Skema Kriptografi Kunci Asimetri Kriptografi ini bukan tanpa celah, karena kunci enkripsinya yang bersifat publik maka kriptografi ini relatif lemah terhadap serangan cryptanalist terutama serangan chosen-plaintext. Selain itu, kriptografi ini memiliki kelemahan lain dalam hal kecepatan. Kriptografi asimetri 1000 kali lebih lamban dibandingkan kriptografi simetri. Adapun keunggulan dari kriptografi kunci asimetri selain distribusi kunci yang sangat mudah adalah manajemen kunci yang tidak rumit karena tiap komunikan hanya butuh sepasang kunci enkripsi dan dekripsi, sehingga dapat dituliskan untuk n komunikan yang berkomunikasi hanya dibutuhkan n pasang kunci. Terdapat banyak algoritma yang dikembangkan pakar-pakar kriptografi untuk algoritma kunci asimetri, diantaranya: algoritma RSA, algoritma Digital Signature Algorithm DSA, algoritma Diffie-Hellman DH , algoritma McEliece, algoritma Rabin, algoritma Knapsack, algoritma LUC, dan algoritma El Gamal. Universitas Sumatera Utara 2.2.5 Jenis-Jenis Serangan Terhadap Kriptografi Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas dua macam, yaitu serangan aktif dan serangan pasif. 1. Serangan aktif Pada jenis serangan ini, penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu, me-replay pesan lama, mengubah informasi yang tersimpan, dan sebagainya. 2. Serangan pasif Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode penyadapan data antara lain: a Wiretapping; penyadap mencegat data yang ditransmisikan pada saluran komunikasi dengan menggunakan sambungan perangkat keras. b Electromagnetic eavesdropping: penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwave. c Acoustic eavesdropping: menangkap gelombang suara yang dihasilkan oleh suara manusia. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, dikelompokkan menjadi 5 jenis: 1. Ciphertext-only attack Ini adalah jenis serangan yang paling umum namun paling sulit karena informasi yang tersedia hanyalah ciphertext saja. Kriptanalis memiliki beberapa ciphertext dari pesan, Universitas Sumatera Utara semuanya dienkripsi dengan algoritma yang sama. Tugas kriptanalis adalah menemukan plaintext sebanyak mungkin dari ciphertext tersebut atau menemukan kunci yang digunakan untuk mendekripsi. 2. Known-plaintext attack Ini adalah jenis serangan dimana kriptanalis memiliki pasangan plaintext dan ciphertext yang berkoresponden. Plaintext mungkin diperoleh dengan mempelajari karakteristik pesan. Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plaintext dari ciphertext yang bersesuaian. 3. Chosen-plaintext attack Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena kriptanalis dapat memilih plaintext yang dimilikinya untuk dienkripsikan, yaitu plaintext yang lebih mengarahkan penemuan kunci. 4. Chosen-ciphertext attack Ini adalah jenis serangan dimana kriptanalis memilih ciphertext untuk didekripsikan dan memiliki akses ke plaintext hasil dekripsi misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis. Jenis serangan ini bisaanya dipakai pada sistem kriptografi. 5. Chosen-text attack Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan chosen- ciphertext attack. Berdasarkan teknik yang digunakan dalam menemukan kunci, dibagi atas: 1. Exhaustive attack atau brute force attack Ini adalah serangan untuk mengungkap plaintext atau kunci dengan mencoba semua kemungkinan kunci. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Selain itu kriptanalis memiliki sejumlah ciphertext dan atau plaintext yang bersesuaian. 2. Analytical attack Universitas Sumatera Utara Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka menemukan kunci. Secara statistik misalnya dengan menggunakan analisis frekuensi, sedangkan secara matematik dengan memecahkan persamaan-persamaan matematika yang diperoleh dari defenisi suatu algoritma kriptografi yang mengandung peubah-peubah yang merepresentasikan plaintext atau kunci.

2.3 Algoritma Diffie-Hellman