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

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB II LANDASAN TEORI

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 TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

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

BAB II. Dasar-Dasar Kemanan Sistem Informasi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB II TINJAUAN PUSTAKA

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

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

Perhitungan dan Implementasi Algoritma RSA pada PHP

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI Kriptografi

BAB 2 LANDASAN TEORI Keamanan Informasi

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

BAB Kriptografi

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

Studi dan Implementasi Sistem Kriptografi Rabin

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

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

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II BAB II TINJAUAN PUSTAKA

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

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

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

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

BAB III ANALISIS DAN PERANCANGAN

+ Basic Cryptography

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

BAB II TINJAUAN PUSTAKA. Bab II ini berisi tentang pembahasan teori-teori tentang kriptografi, Algoritma Enigma dan Rabin Williams.

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

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

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

Perancangan Aplikasi Pembelajaran Kriptografi Kunci Publik ElGamal Untuk Mahasiswa

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA

BAB 3 KRIPTOGRAFI RSA

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

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

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu:

BAB III BAB III METODE PENELITIAN

BAB III ANALISIS DAN DESAIN SISTEM

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

PERBANDINGAN METODE VIGENERE DAN AFFINE UNTUK PESAN RAHASIA

Algoritma RSA dan ElGamal

BAB II LANDASAN TEORI

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

BAB I PENDAHULUAN Latar Belakang

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

Keamanan Sistem Informasi. Girindro Pringgo Digdo

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

Kriptografi Modern Part -1

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

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB II TINJAUAN PUSTAKA

Sistem Kriptografi Kunci-Publik

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

BAB III ANALISIS DAN PERANCANGAN

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

PEMBUATAN TANDA TANGAN DIGITAL MENGGUNAKAN DIGITAL SIGNATURE ALGORITHM

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Transkripsi:

BAB 2 LANDASAN TEORI 2.1. Kriptografi Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi. 2.1.1. Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri dari dua suku kata yaitu kryptos yang artinya tersembunyi dan graphein yang artinya tulisan. Pesan asli disebut plaintext dan pesan yang disamarkan disebut ciphertext. Pesan yang telah disandikan dan dikirim disebut kriptogram. Proses mengubah plaintext menjadi ciphertext dosebut encryption atau enciphering atau enkripsi.proses kebalikan dari mengubah ciphertext menjadi plaintext, yang dilakukan olehpenerima disebut dekripsi. Siapapun yang terlibat dalam kriptografi disebut cryptographer(mollin, R. A. 2007). Menurut Munir,R. (2006), Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (Cryptography is the art and science of keeping messages secure) Crypto berarti secret (rahasia) dan graphy berarti writing (tulisan). Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, S. 2010). Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai berikut: Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan

7 menggunakan 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 (Haq, H. A. 2013). 2.1.2. Terminologi Kriptografi Seorang pengirim (sender) ingin mengirim pesan (plaintext; kadang-kadang disebut cleartext) kepada orang yang dituju (receiver). Selain itu, pengirim ingin pesan yang dikirim tidak dapat dibaca oleh orang lain yang menyadap percakapan (eavesdropper) atau pesan tersebut. Proses menyamarkan pesan sedemikian rupa untuk menyembunyikan substansinya disebut enkripsi. Sebuah pesan yang dienkripsi disebut ciphertext. Proses untuk mengubah ciphertext kembali ke plaintext adalah dekripsi. Pada standar ISO 7498-2 menggunakan istilah encipher untuk proses enkripsi dan decipher untuk proses dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan secara umum pada Gambar 1 (Schneier, 1996). Plaintext Ciphertext Plaintext Enkripsi Dekripsi Gambar 2.1. Skema Proses Enkripsi dan Dekripsi (Schneier, 1996) 2.1.3. Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan keamanan kepada pengguna sebagai berikut: 1. Kerahasiaan (Confidentiality) Informasi dirahasiakan dari semua pihak yang tidak berwenang. 2. Keutuhan Data (Integrity) Pesan tidak berubah dalam proses pengiriman hingga pesan diterima oleh penerima.

8 3. Autentikasi (Message Authentication) Kepastian terhadap identitas setiap entitas yang terlibat dan keaslian sumber data. 4. Nirpenyangkalan (Nonrepudiation) Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima. 2.1.4. Sistem Kriptografi Sistem kriptografi terdiri dari 5 bagian yaitu sebagai berikut : 1. Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. 2. Secret Key: merupakan masukan bagi algoritma enkripsi yang berupa nilai bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. 3. Ciphertext: keluaran algoritma enkripsi yang dianggap sebagai pesan dalam bentuk tersembunyi. 4. Algoritma Enkripsi: algoritma enkripsi memiliki 2 masukan yaitu teks asli dan teks kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi. 5. Algoritma Dekripsi: algoritma dekripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai sesuai dengan algoritma dekripsi. Berdasarkan kunci yang dipakai, algoritma kriptografi dibagi menjadi tiga, yaitu algoritma simetri (menggunakan satu kunci untuk enkripsi dan dekripsi), algoritma asimetri (menggunakan kunci yang berbeda untuk enkripsi dan dekripsi) dan fungsi hash (Ariyus, 2008). 2.1.5. Sistem Kriptografi Asimetris Kriptografi asimetris ini dikenal juga sebagai kriptografi kunci publik (public key) dan merupakan bagian sistem kriptografi modern, yaitu kunci enkripsi (public key) dimiliki oleh pengirim dan kunci dekripsi (private key) dimiliki oleh penerima pesan.

9 Diffie-Hellman adalah sistem kriptografi public key yang pertama, Difie- Hellman tidak sepopuler RSA dan ElGamal karena hanya dapat digunakan untuk key agreement. Menggunakan Difie-Hellman, dua pengguna, sebut saja A dan B, dapat membuat kunci privat yang hanya diketahui oleh A dan B, meskipun komunikasi antara A dan B dapat dilihat semua orang. Diffe-Hellman menggunakan finite field GF(q) yang sangat besar. A dan B keduanya mengetahui GF(q) dan elemen g GF(q). GF(q) dan g tidak perlu dirahasiakan, jadi boleh saja diketahui semua orang. Meskipun tidak harus, g sebaiknya merupakan generator untuk GF(q) *, atau setidaknya memiliki order yang besar agar range untuk pembuatan kunci cukup besar. Kriptografi yang termasuk algoritma asimetris adalahdiffie-hellman, RSA, ElGamal, DSA dan sebagainya. Skema algoritma kriptografi asimetri dengan kunci publik dapat dilihat pada Gambar 2.2. berikut ini. TeksAsli Ciphertext TeksAsli AlgoritmaEnkri psi AlgoritmaDekri psi A B K Privat B PembangkitK unci K Publik B Gambar 2.2. Skema Kriptografi Asimetri Kunci Publik (Sadikin, 2012) 2.1.6. Bilangan Prima Bilangan positif p (pp>1) disebut bilangan prima jika pembaginya hanya 1 dan p. Sebagai contoh bilangan 23 adalah bilangan prima karena ia hanya habis dibagi 1 dan 23. Karena bilangan prima harus lebih besar dari satu, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13,... Seluruh bilangan prima adalah bilangan ganjil, kecuali dua yang merupakan bilangan genap.

10 2.1.7. Aritmatika Modulo Aritmatika modulo merupakan sisa hasil pembagian dua bilangan. Operator yang digunakan dalam aritmatika modulo adalah mod. Misalkan, jika bilangan integer a dibagi dengan bilangan integer yang lebih besar dari nol(b> 0), maka akan menghasilkan sisa bagi r (remainder) dengan hasil bagi s (quotient). Sehingga dapat dinotasikan sebagai berikut (Harahap, A. A. 2014). a mod b = r sedemikian sehingga a = bs + r, dengan 0 b<n...(2.1) Sebagai contoh, jika 17 mod 3 = 2, maka 17 = (3 5) + 2. Jika a negatif, maka bagi a dengan b mendapatkan sisa bagi r (Munir, 2006). Sehingga didapatkan: a mod b = b r, dimana r 0 dan a< 0....(2.2) Sebagai contoh, jika -25 mod 7 = 4, maka -25 mod 7 = 7 4 = 3. Cormen, at al. (2009) menuliskan di dalam bukunya, untuk setiap bilangan bulat a dan setiap bilangan bulat positif b, nilai a mod b adalah sisa (residu) dari hasil bagi a / b: a mod b = a b (a/b), dimana 0 a mod b<b....(2.3) Contohnya adalah 33 mod 5 = 33 5(33/5) = 33 5(6) = 33 30 = 3. 2.1.8. Modulo Eksponensial Permasalahan pada operasi modulo adalah bagaimana menghitung x y (mod z) dengan z yang sangat besar. Terdapat beberapa algoritma untuk menghitung modulo eksponensial, antara lain adalah dengan metode iterasi. Berikur pseudocodedari modulo eksponensial dengan menggunaka metode iterasi : Function mod exp (x, y, n) z = 1 for (I = 0; I < y; i++){ z = x * z mod n }

11 return z } 2.1.9. Inversi Modulo Jika a dan m relatif prima dan m> 1, maka inversi dari a mod m dapat ditemukan. Inversi dari a (mod m), juga disebut inversi perkalian, dimana bilangan bulat a -1 sedemikian sehingga aa -1 1 (mod m)... (2.4) Contoh: untuk inversi dari 5 (mod 7), penyelesaiannya dapat dilihat pada Tabel 1. Tabel 2.1 Penyelesaian contoh soal inversi modulo a -1 a -1 5 (mod 7) 1 5 2 3 3 1 Pada Tabel 1, iterasi berhenti ketika a -1 a 1 (mod m) dan diperoleh a -1 = 3. 2.1.10. Elemen Primitif Selain bilangan prima, dalam kriptografi ElGamal juga digunakan elemen primitif yang merupakan elemen pembangun dari grup Z p. Untuk mencari elemen ini digunakan p=2q+1, dimana q merupakan bilangan prima. Jika elemen α memenuhi α 2 mod p 1 dan α q mod p 1, maka α merupakan elemen primitif. Untuk mengetahui suatu bilangan merupakan elemen primitif atau tidak dapat dilakukan langkah-langkah sebagai berikut : 1. Input bilangan prima aman p 5. 2. Hitung qq= pp 1 2 3. Hitung α 2 mod p dan α q mod p.

12 4. Jika α 2 mod p= 1, maka α bukan elemen primitif. 5. Jika α q mod p= 1, maka α bukan elemen primitif. 6. Jika tidak terpenuhi dua persyaratan di atas maka q merupakan elemen primitif. 2.1.11. Fermat s Little Theorem Fermat s Little Theorem adalah suatu metode yang digunakan untuk menguji keprimaan suatu bilangan bulat. Teorema Fermat ditemukan oleh Pierre De Fermat merupakan seorang matematikawan Perancis pada tahun 1640. Meskipun dapat digunakan untuk mempermudah kalkulasi dalam kriptografi, peran terpenting dari Fermat's little theorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris. Bilangan prima jumlahnya tak terhingga banyaknya, bilangan prima terbesar yang ditemukan oleh para ahli adalah: 2 32.582.657-1 Salah satu perhitungan matematis yang digunakan untuk menghasilkan bilangan prima adalah metode Fermat yang dapat dirumuskan sebagai berikut: Bila p adalah bilangan prima maka berlaku a p-1 mod p = 1 untuk 1 a < p Di mana p adalah bilangan bulat dan a adalah urutan bilangan yang lebih kecil dari p Contoh penerapan metode Fermat adalah sebagai berikut: a. Bila p = 4 Maka 1 a< 4, didapat a = {1, 2, 3} a p-1 mod p 1 4-1 mod 4 = 1 3 mod 4 = 1 2 4-1 mod 4 = 2 3 mod 4 = 0 3 4-1 mod 4 = 3 3 mod 4 = 1

13 Jadi, angka 4 bukan merupakan bilangan prima sebab dalam pengecekan menggunakan metode Fermat didapat semua hasil dari urutan bilangan yang lebih kecil dari 4 terdapat nilai yang 0. b. Bila p = 5 Maka 1 a< 5, jadi didapat a = {1, 2, 3, 4} a p-1 mod p 1 5-1 mod 5 = 1 4 mod 5 = 1 2 5-1 mod 5 = 2 4 mod 5 = 1 3 5-1 mod 5 = 3 4 mod 5 = 1 4 5-1 mod 5 = 4 4 mod 5 = 1 Jadi, angka 5 merupakan bilangan prima sebab dalam pengecekan menggunakan metode Fermat didapat semua hasil dari urutan bilangan yang lebih kecil dari 5 adalah 1. Untuk angka yang besar dengan jumlah nilai a yang banyak, hanya diambil beberapa angka sebagai contoh. 2.1.12. Algoritma Euclid Algoritma Euclid dapat dikembangkan (disebut dengan algoritma Extended Euclid) agar dapat menemukan dua integer x dan y yang unik selain nilai GCD(a,b) sehingga memenuhi relasi yang ditunjukkan oleh persamaan (P14) (Harahap, A. A. 2014). x a + y b = GCD(a,b) (2.5) Berikut ini merupakan contoh dari algoritma Extended Euclid. Diketahui GCD(11,23) = 1, dengan mengikuti persamaan (2.3) dan (2.5) maka dapat ditemukan bilangan x dan y dari persamaan 11x + 23y = 1 (Lipschutz & Lipson, 2007). GCD(23,11) = 1 = 23 11(2). Dapat dilihat bahwa a = 23, b = 11, x = 1 dan y = -2. 2.2.Algoritma ElGamal Algoritma ElGamal ditemukan oleh ilmuwan Mesir, yaitu Taher ElGamal pada tahun 1985, merupakan algoritma kriptografi kunci publik. Algoritma ElGamal terdiri atas

14 tiga proses, yaitu proses pembentukan kunci, enkripsi, dan dekripsi. Algoritma ElGamal mendasarkan kekuatannya pada fakta matematis kesulitan menghitung logaritma diskret. Hingga saat ini 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. 2.2.1. Pembangkit Kunci Langkah-langkah dalam pembangkitan kunci 1. Pilih sembarang bilangan prima p ( p dapat di-share di antara anggota kelompok). Misalkan p = 263 2. Pilih dua buah bilangan acak, g dan x, dengan syarat g <p dan 1 x p 2 Misalkan g = 107 dan x = 62 3. Hitung y dengan rumus y = g x mod p... (2.5) y = 107 62 mo 263 = 39 Hasil dari algoritma ini: 1. Kunci publik: tripel (y, g, p) = (39, 107, 263) 2. Kunci privat: pasangan (p,x) = (263,62) 2.2.2. Proses Enkripsi Langkah-langkah dalam mengenkripsi pesan: 1. Terima kunci publik (y, g, p) = (39, 107, 263) 2. Ubah nilai blok pesan ke dalam nilai ASCII. Ekspresikan pesan P = A = 65 (kode ASCII) sebagai bilangan. 3. Pilih bilangan acak k, yang dalam hal ini 1 k p 2. Misal, k = 94 4. Setiap blok m dienkripsi dengan rumus a = g k mod p... (2.6)

15 a = 107 94 mod 263 = 31 b = y k m mod p b = 39 94 65mod263= 113... (2.7) Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya. 5. Kirim a = 31 dan b = 113 ke pemilik kunci publik. 2.2.3. Proses Dekripsi Langkah-langkah dalam mendekripsi pesan: 1. Gunakan kunci privatx untuk menghitung (a x ) 1 (a x ) 1 = a p 1 x mod p... (2.8) (a x ) 1 = 31 263 1 94 mod 263 = 96 2. Hitung plainteks m m = b(a x ) 1 mod p..... (2.9) m = 113(96) 1 mod 263 = 65 3. Konversikan bilangan m ke dalam karakter sesuai dengan kode ASCII m = 65 = A x