Kriptografi Perancangan Aplikasi Rsa Dengan Pembangkit Bilangan Prima Lehmann Dan Pembangkit Bilangan Acak Berbasis Rsa

terdiri atas satu huruf, angka, tanda baca, atau karakter khusus seperti “a”, “1”, “” dan sebagainya. Tipe string terdiri atas nol atau lebih karakter seperti “algoritma”, “teks” dan sebagainya.

2.2 Kriptografi

2.2.1 Pengertian Kripografi

Kriptografi berasal dari bahasa yunani yaitu kripto dan graphia. Kripto berarti secret rahasia dan graphia berarti writing tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan untuk mengidentifikasi pengiriman pesan dan tanda tangan digital dan keaslian pesan dengan sidik jari digital Ariyus, 2005. Di dalam kriptografi sering ditemukan berbagai istilah yang penting untuk diketahui yaitu Munir, 2006: 1. Pesan, Plainteks dan cipherteks Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Pesan dapat berupa data atau informasi yang dikirim atau dapat disimpan didalam media perekam. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra, suara bunyi, dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks. Cipherteks harusdapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. 2. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim sender adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima receiver adalah entitas yang menerima pesan. Pengiriman tentu menginginkan pesan dapat dikirim secara aman, yaitu pengirim yakin bahwa Universitas Sumatera Utara pihak lain tidak dapat membaca isipesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks. 3. Enkripsi dan Dekripsi Proses menyandikan plainteks menjadi cipherteks disebut enkripsi atau enciphering . Sedangkan proses mengembalikan cipherteks menjadi plainteks dinamakan dekripsi atau deciphering. 4. Cipher dan Kunci Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering , atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen – elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen – elemen antara kedua himpunan tersebut. Misalkan P menyatakan plainteks dan C menyatakan Cipherteks, maka fungsi enkripsi E memetakan P ke C, EP = C Dan fungsi dekripsi D memetakan C ke P, DC = P Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka kesamaan berikut harus benar DEP = P Kriptografi mengatasi masalah diatas dengan menggunakan kunci. Dalam hal ini algoritma tidak lagi dirahasiakan tetapi kunci harus dijaga kerahasiaannya. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan deciphering . Kunci biasanya berupa string atau sederetan bilangan. Dengan menggunakan kunci k, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai: E k P = C dan D k Dan kedua fungsi ini memenuhi C = P D k E k Keterangan: P = P P = Plainteks C = Cipherteks Universitas Sumatera Utara K = Kunci E k D = Proses Enkripsi k Gambar 2.1 adalah skema enkripsi dan dekripsi dengan menggunakan kunci. = Proses Dekripsi Gambar 2.1 Skema enkripsi dan dekripsi menggunakan kunci 5. Sistem Kriptografi Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci. Di dalam sistem kriptografi, cipher hanyalah salah satu komponen saja. 6. Penyadap Penyadap 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 untuk memecahkan cipherteks. 7. Kriptanalisis dan Kriptologi Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis adalah ilmu seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelaku kriptanalisis disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalis. Pelaku kriptologi disebut kriptografer.

2.2.2 Sejarah kriptografi

Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai sejarah kriptografi dapat ditemukan di dalam buku David Khan yang berjudul The Universitas Sumatera Utara Codebreakers . Secara historis ada empat kelompok yang berkontribusi terhadap perkembangan kriptografi yaitu kalangan militer, kalangan diplomatik, penulis buku harian, dan pecinta lovers Munir, 2006. Kriptografi sudah digunakan dan diperkenalkan oleh bangsa Mesir pada 4000 tahun yang lalu berupahieroglyph untuk mengirim pesan ke pasukan militer yang berada di lapangan. Sehingga, pesan tersebut tidak bisa terbaca oleh pihak musuh maupun kurir pembawa pesan tersebut tertangkap oleh musuh.Jenis tulisan ini bukanlah bentuk standar untuk menulis sebuah pesan. Hieroglyph diturunkan dari bahasa Yunani hieroglyphica yang berarti ukiran rahasia. Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale Ariyus, 2008. Gambar 2.2Scytale Scytale merupakan pita panjang dari daun papyrus ditambah sebatang silinder. Pesan ditulis horizontal baris per baris. Bila pesan dilepaskan, maka huruf-huruf di dalamnya telah tersusun membentuk pesan rahasia. Untuk membaca pesan, penerima melilitkan kembali silinder yang diameternya sama dengan diameter silinder pengirim. Namun, pada tiga puluh tahun terakhir ini, kriptografi tidak hanya dimonopoli oleh pihak militer saja. Hal yang sama juga dilakukan oleh individu – individu yang menginginkan pesan dan komunikasi mereka tidak diketahui oleh pihak lain,dan setiap individu berhak mengamankan informasi keluarganya, pekerjaan, bisnis dan lain – lain. Apalagi zaman sekarang ini, persaingan yang begitu tingggi menyebabkan mereka rela mengeluarkan sekian dolar hanya untuk menjaga privasi mereka Ariyus, 2005. Universitas Sumatera Utara

2.2.3 Tujuan Kriptografi

Dari paparan awal dapat dirangkumkan bahwa kriptografi bertujuan untuk memberi layanan keamanan sebagai berikut: Munir, 2006 1. Kerahasiaan confidentiality Adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak – pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks. Misalnya pesan “bahaya” disandikan menjadi “44220273490202729512027”. Istilah lain yang senada dengan confidentiality adalah secrecy dan privacy. 2. Integritas data data integrity Adalah layanan yang menjamin bahwa pesan masih asli utuh atau belum pernah dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan modifikasi ?” 3. Otentikasi authentication 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. 4. Nirpenyangkalan non - repudation Adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.2.4 Serangan Terhadap Kriptografi

Serangan attack merupakan suatu usaha yang dilakukan oleh seorang kriptanalis untuk menemukan kunci atau plainteks dari chiperteks dari sistem kriptografi. Kriptanalis akan berusaha untuk menemukan plainteks dari chiperteks tanpa memiliki akses kunci yang digunakan dari sistem kriptografi. Berdasarkan teknik yang digunakan dalam menemukan kunci, serangan dibagi menjadi exhaustive atau brute force attack dan analytical attack Fithria, 2007. Universitas Sumatera Utara Exhaustive atau brute force attack merupakan serangan untuk mendapatkan plainteks dari chiperteks dengan mencoba satu persatu seluruh kombinasi atau kemungkinan kunci yang digunakan. Dalam hal ini kriptanalis harus tahu jenis algoritma kriptografi yang digunakan oleh pengirim pesan dan juga memiliki sejumlah plainteksdan chiperteksyang bersesuaian yang digunakan untuk mencari pola dari proses enkripsimaupun dekripsidari algoritma kriptografi yang digunakan. Analytical attack merupakan serangan untuk mendapatkan plainteksdari chiperteksdengan menganalisa kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin digunakan, sehingga kriptanalis tidak mencoba semua kemugkinan kunci. Dalam hal ini kriptanalis juga harus tahu jenis algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis yang digunakan dengan menggunakan pendekatan matematik dan statistik untuk mendapatkan kunci yang digunakan dalam sistem kriptografi tersebut. 2.3 CSPRNG Berbasis RSA Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diperdiksi oleh pihak lawan yang cocok untuk kriptografi: pembangkit tersebut dinamakan cryptographically secure pseudorandom generator CSPRNG . Perancanangan CSPRNG dapat dibagi kedalam beberapa kelompok. Dalam hal ini kita menggunakan perancangan CSPRNG berbasis teori bilangan. Contoh dua CSPRNG yang berdasarkan teori bilangan adalah Blum Blum Shut dan modifikasi RSA Munir, 2006. Dalam penulisan CSPRNG yang digunakan adalah CSPRNG berbasis RSA. Algoritma pembangkit bilangan acak berbasis RSA adalah sebagai berikut: 1. Pilih 2 bilangan prima rahasia, p dan q, dan bilangan bulat e yang relatif prima dengan p-1q-1. 2. Kalikan keduanya menjadi n = pq 3. Pilih bilangan acak lain, s, sebagai x 4. Barisan bit acak dihasilkan dengan melakukan itersai berikut sepanjang yang diinginkan: yang dalam hal ini 2 ≤ s ≤ n. a. Hitung x i = x i - 1 e mod n dengan x b. Z = s. i = bit LSB Least Significant Bit dari x i. Universitas Sumatera Utara 5. Barisan bit acak adalah z 1, z 2, z 3, .... Sebagai contoh, untuk menemukan bialangan acak berbasis RSA, yaitu: Misal p = 11 dan q = 5 N = p.q = 11.5 =55 E3, or S = 3 X x = 3 i = x i - 1 e = 3 3 x mod 55 = 27 2 = 27 3 x mod 55 = 48 3 = 48 3 x mod 55 =42 4 = 42 3 karena x mod 55 = 3 4 = x 1 z berarti dilakukan pengulangan setelah 3 kali i z mod 2 1 z = 27 mod 2 = 1 2 = z 48 mod 2 = 0 3 z = 3 mod 2 = 1 4 karena z = 27 mod 2 = 1 4 = z 1 jadi baris acak yang dihasilkan maka pengulangan dilakukan setelah 3 kali 1011 0110 1101 1011 0101 dan seterusnya, kemudian dikonversikan ke bilangan desimal 11 6 13 11 5

2.4 Algoritma Lehmann