BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang

DRAFT SKRIPSI ARIFIN

BAB II LANDASAN TEORI

BAB II BAB II TINJAUAN PUSTAKA

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

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

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

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

DAFTAR ISI. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)

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

BAB II TINJAUAN PUSTAKA

Studi dan Implementasi Sistem Kriptografi Rabin

BAB 2 LANDASAN TEORI

Teori Bilangan (Number Theory)

BAB III BAB III METODE PENELITIAN

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

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


BAB 3 KRIPTOGRAFI RSA

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

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

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar belakang

BAB 2 TINJAUAN TEORETIS

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

1.1 Latar Belakang BAB I PENDAHULUAN

BAB 2 TINJAUAN PUSTAKA

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

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB III ANALISIS DAN PERANCANGAN

II. TINJAUAN PUSTAKA. Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi

BAB II TINJAUAN PUSTAKA

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

Perhitungan dan Implementasi Algoritma RSA pada PHP

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

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

Matematika Diskrit. Reza Pulungan. March 31, Jurusan Ilmu Komputer Universitas Gadjah Mada Yogyakarta

BAB Kriptografi

Perangkat Lunak Pembelajaran Protokol Secret Sharing Dengan Algoritma Asmuth Bloom

Algoritma RSA dan ElGamal

Kongruen Lanjar dan Berbagai Aplikasi dari Kongruen Lanjar

Aplikasi Teori Bilangan Dalam Algoritma Enkripsi-Dekripsi Gambar Digital

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA

BAB III ANALISIS DAN PERANCANGAN

Integer (Bilangan Bulat)

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

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

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

II. TINJAUAN PUSTAKA. bilangan yang mendukung proses penelitian. Dalam penyelesaian bilangan

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

ANALISIS KEMAMPUAN ALGORITMA ELGAMAL UNTUK KRIPTOGRAFI CITRA

ELLIPTIC CURVE CRYPTOGRAPHY. Disarikan oleh: Dinisfu Sya ban ( )

BAB III HASIL DAN PEMBAHASAN

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

BAB 2 LANDASAN TEORI

KOMBINASI ALGORITMA AFFINE CIPHER DAN ELGAMAL UNTUK PENGAMANAN PESAN RAHASIA SKRIPSI

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA

R. Rosnawati Jurusan Pendidikan Matematika FMIPA UNY

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

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB II TINJAUAN PUSTAKA

Penerapan algoritma RSA dan Rabin dalam Digital Signature

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c.

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

MAKALAH KRIPTOGRAFI CHINESE REMAINDER

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB 2 LANDASAN TEORI

APLIKSASI TES BILANGAN PRIMA MENGUNAKAN RABIN- MILLER, GCD, FAST EXPONENSIAL DAN FAKTORISASI PRIMA UNTUK DASAR MATEMATIS KRIPTOGRAFI

PROTOKOL PERTUKARAN KUNCI BERBASIS KRIPTOSISTEM KUNCI PUBLIK ELGAMAL RESTU AULIYA

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

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

Transkripsi:

5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut. Pesan asli disebut sebagai plaintext, dan pesan yang telah dirahasiakan disebut sebagai ciphertext. Proses dalam mengubah plaintext menjadi ciphertext disebut sebagai encryption (enkripsi). Proses sebaliknya, untuk mengembalikan ciphertext menjadi plaintext di sisi penerima pesan disebut sebagai decryption (dekripsi). 2.2 Sistem Kriptografi Sistem kriptografi terdiri dari 5 bagian, yaitu (Sadikin, 2012): a. Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext adalah masukan bagi algoritma enkripsi. b. Secret Key: secret key atau kunci rahasia juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. c. Ciphertext: ciphertext adalah keluaran algoritma enkripsi. Ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. d. Algoritma Enkripsi: algoritma enkripsi memiliki 2 masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan ciphertext. e. Algoritma Dekripsi: algoritma dekripsi memiliki 2 masukan yaitu ciphertext dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi. 2.3 Jenis Sistem Kriptografi Berdasarkan Kunci yang Digunakan Sistem kriptografi dapat digolongkan ke dalam dua jenis yaitu sistem kriptografi kunci simetris dan sistem kriptografi kunci asimetris.

6 2.3.1 Sistem Kriptografi Kunci Simetris Sistem kriptografi kunci simetris menggunakan kunci yang sama untuk mengenkripsi plaintext dan mendekripsi ciphertext, Diagram sistem kriptografi kunci simetris dapat dilihat pada Gambar 2.1. Gambar 2.1 Diagram Sistem Kriptografi Kunci Simetris Arti simbol: : Data : Proses : Aliran Pada Gambar 2.1 dapat dilihat bahwa kunci yang digunakan untuk mengenkripsi dan mendekripsi sama yaitu K. Sistem kriptografi ini aman selama kunci rahasia dipastikan hanya diketahui oleh kedua pihak yang saling berkirim pesan. Namun cara untuk mengirim kunci menjadi masalah lain yang sulit untuk diamankan terutama dalam jalur publik seperti internet. 2.3.2 Sistem Kriptografi Kunci Asimetris Berbeda dengan sistem kriptografi kunci simetris, sistem kriptografi asimetris atau disebut juga sistem kriptografi kunci publik menggunakan kunci yang berbeda untuk mengenkripsi dan mendekripsi pesan. Kunci untuk mengenkripsi akan didistribusikan sehingga siapapun yang ingin mengirim pesan secara rahasia dapat menggunakan kunci tersebut, dan kunci untuk mendekripsi dirahasiakan sehingga hanya pemilik

7 kunci yang dapat mendekripsi ciphertext yang telah dienkripsi dengan kunci publik. Diagram sistem kriptografi asimetris dapat dilihat pada Gambar 2.2. Gambar 2.2 Diagram Sistem Kriptografi Kunci Asimetris Pada Gambar 2.2., kunci yang digunakan untuk mengenkripsi dan mendekripsi pesan berbeda, dimana Arifin menggunakan kunci X untuk mengenkripsi pesan menjadi ciphertext, lalu Eric sebagai penerima ciphertext akan mendekripsi pesan menggunakan kunci Y. Ciphertext tidak dapat dikembalikan menjadi plaintext jika Y tidak diketahui. Disini X disebut sebagai public key dan Y disebut sebagai private key. Public key harus didistribusikan kepada siapapun yang ingin mengirim pesan secara rahasia kepada pemilik kunci sedangkan private key harus tetap disimpan secara rahasia. Sistem kriptografi ini memiliki keunggulan dimana pengiriman kunci bukan lagi menjadi masalah karena kunci publik tidak akan menjadi masalah jika diketahui oleh siapapun. 2.4 Matematika untuk Sistem Kriptografi Asimetris Sistem kriptografi asimetris bekerja dengan dasar berbagai perhitungan matematika terutama persoalan teori bilangan. Bagian ini akan membahas beberapa topik matematika yang akan digunakan dalam sistem kriptografi asimteris.

8 2.4.1 Greatest Common Divisor (GCD) dan Algoritma Euclid Jika a dan b adalah bilangan bulat, maka Greatest Common Divisor (GCD) dari a dan b adalah sebuah bilangan positif terbesar yang dapat membagi habis kedua bilangan tersebut. Sebagai contoh, GCD dari 12 dan 18 adalah 6 karena 6 dapat membagi 12 dan 18 dan tidak ada bilangan yang lebih besar dari 6 yang dapat membagi 12 dan 18. Dapat ditulis: GCD(12,18) = 6 Salah satu cara untuk mendapatkan GCD dari dua buah bilangan adalah dengan menggunakan Algoritma Euclid. Teorema Euclid menyatakan: jika a = qb + r maka GCD(a,b) = GCD(b,r) 2.4.2. Relatif Prima Dua buah bilangan a dan b dikatakan relatif prima jika GCD(a, b) = 1. Sebagai contoh 4 dan 7 adalah relatif prima karena GCD(4, 7) = 1. 2.4.3 Aritmatika Modular dan Kongruensi Ketika masih kecil kita mempelajari aritmatika jam dimana angka berikutnya setelah 12 adalah 1 sehingga kita menuliskan (Hoffstein, 2008): 8 + 7 = 3 dan 2 5 = 9 ini masuk akal karena 7 jam setelah jam 8 adalah jam 3. Yang kita lakukan sebenarnya adalah menghitung 8 + 7 = 15 kemudian menguranginya 12 sehingga menghasilkan 3. Dan dengan cara yang sama 5 jam sebelum jam 2 adalah jam 9 dengan menghitung 2 5 = -3 kemudian menambahkannya dengan 12. Konsep ini disebut sebagai dengan teori kongruensi. Kita katakan a dan b kongruen m jika selisih a b dapat dibagi dengan m. Ditulis sebagai berikut: a b (mod m) untuk mengetahui a dan b kongruen, m disebut sebagai modulus. Dari contoh perhitungan jam diatas, maka dapat ditulis:

9 6 + 9 3 (mod 12) dan 2 3 1 (mod 12) 2.4.4 Inversi Modulo Jika dua buah bilangan a dan m relatif prima, maka dapat dipastikan terdapat sebuah bilangan b yang memenuhi: a. b 1 (mod m) pada kongruensi diatas, b disebut sebagai invers modulo dari a modulo m. 2.4.5 Grup Perkalian Sebuah grup perkalian (G, ) dengan G merupakan himpunan simbol dan adalah sebuah operator perkalian yang memenuhi kondisi (Sadikin, 2012): 1. a, b G a c G (Closure) 2. a, b, c G (a b) c = a (b c) (Asosiatif) 3. yang unik e G a G a e = e a = a Elemen e disebut sebagai elemen identitas. 4. a G: a 1 G: a a 1 = a 1 a = e (Invers) 2.4.6 Bilangan Prima Bilangan prima adalah sebuah bilangan yang hanya dapat dibagi habis oleh 1 dan bilangan itu sendiri. Bilangan yang dapat dibagi habis oleh selain 1 dan bilangan itu sendiri disebut sebagai bilangan komposit. Semua bilangan positif integer n dapat dituliskan sebagai hasil product dari bilangan prima seperti berikut: n = p 1 α 1 p 2 α 2 p r α r = p j α j r j=1 2.4.7 Fermat s Little Theorem Teori fermat merupakan fondasi dari banyak pengetesan bilangan prima (Riesel, 2012). Jika p merupakan sebuah bilangan prima dan GCD(a, p) = 1, maka a p 1 1 mod p

10 dan sebaliknya jika n adalah sebuah bilangan komposit dan GCD(a, p) = 1, maka a p 1 1 mod p 2.4.8 Fungsi ϕ Euler Fungsi ϕ Euler atau yang disebut juga fungsi totien euler, dilambangkan dengan ϕ(n) adalah banyaknya bilangan m yang relatif prima terhadap n dimana m < n (Mollin, 2007). Sebagai contoh jika p adalah bilangan prima, maka untuk semua j N dengan j < p pasti relatif prima terhadap p, maka ϕ(p) = p 1. Sebagai contoh beberapa hasil fungsi ϕ(n) adalah (Sadikin, 2012): 1. ϕ(1) = 0 2. ϕ(p) = p 1 jika p adalah bilangan prima. Sebab semua elemen merupakan prima relatif dengan p. 3. ϕ(m n) = ϕ(m) ϕ(n) jika m merupakan prima relatif dengan n. 4. ϕ(p e ) = p e p e 1 dengan p adalah bilangan prima. 2.4.9 Akar Primitif Jika p adalah bilangan prima, maka terdapat sebuah elemen g F p yang jika dipangkatkan dengan setiap elemen di dalam F p (Hoffstein, 2008), misalkan: F p = *1, g, g 2, g 3,, g p 2 +. elemen dengan properti ini disebut dengan akar primitif dari F p atau generator dari F p. Elemen tersebut merupakan elemen dari F p memiliki order p 1. 2.4.10. Algoritma Miller-Rabin Algoritma Miller-Rabin merupakan algoritma probabilistik yang menguji keprimaan sebuah bilangan yang diberikan berdasarkan pada Fermat s LittleTheorem. Algoritma Miller-Rabin menghitung deret berikut secara berulang : a m a 2m a 22m a 2k 1m a 2km (mod n). Pada perhitungan a 2i m dilakukan pengujian Fermat dan pengujian kepemilikan akar kuadrat untuk i = 0, 1, 2,, k. Jika pengujian akar kuadrat ialah positif, n dideklarasikan sebagai bilangan komposit. Jika pengujian Fermat ialah positif, maka n mungkin bilangan prima.

11 2.4.11 Discrete Log Problem Jika g merupakan akar primitif dari F p dan h merupakan sebuah elemen yang tidak nol pada F p. Discrete Log Problem merupakan sebuah masalah dalam menemukan x yang memenuhi persamaan berikut (Hoffstein, 2008): g x h (mod p) Pada persamaan diatas, x disebut sebagai logaritma diskrit dari h untuk basis g dan ditulis sebagai log g (h). 2.4.12 Chinese Remainder Theorem Chinese Remainder Theorem (CRT) diformulasikan sebagai penyelesaian permasalahan kongruen dengan modulus yang berbeda. Secara formal CRT menyelesaikan sistem persamaan kongruen berikut ini: a 1 mod m 1 a 2 mod m 2... a k mod m k dengan nilai a 1, a 2,, a k dan m 1, m 2,, m k diketahui, dan x adalah bilangan yang perlu ditemukan. Berikut adalah algoritma untuk menemukan x: a. Hitung = m 1 m 2 m k b. Hitung 1 = m1, 2 = m2,, k = m k c. Temukan invers modulo untuk setiap 1 1, 2 1,, k 1 terhadap m 1, m 2,, m k d. Temukan x dengan menghitung = ((a 1 1 1 1 ) + + (a k k k 1 )) 2.5 Sistem Kriptografi ElGamal Sistem kriptografi ElGamal adalah sistem kriptografi dengan kunci asimetris yang ditemukan oleh Taher ElGamal pada tahun 1984. Sistem kriptografi ini bersandar pada kesulitan persoalan logaritma diskrit. Diagram proses sistem kriptografi ElGamal dapat dilihat pada Gambar 2.3.

12 Gambar 2.3 Diagram Proses Sistem Kriptografi ElGamal Sistem kriptografi ElGamal bekerja pada sebuah grup perkalian (Z p, ) yang pada grup itu persoalan logaritmik diskrit sulit untuk dipecahkan. Grup perkalian G dapat berupa grup perkalian siklik dengan α adalah akar primitif pada Zp dengan p merupakan bilangan prima. (Sadikin, 2012) 2.5.1 Algoritma ElGamal Algoritma kriptografi ElGamal adalah sebagai berikut: a. Pembangkit kunci ElGamal 1. Pilih bilangan prima p yang cukup besar sebagai basis grup perkalian (Z p, ) 2. Pilih α sebagai akar primitif pada grup (Z p, ) 3. Pilih d yang memenuhi 1 d p 2 4. Hitung β = α d mod p 5. Kunci publik : (p, α, β) 6. Kunci privat : d Setelah kunci publik dan kunci privat didapatkan, kunci publik akan didistribusikan kepada siapapun yang perlu untuk mengirimkan pesan secara rahasia (dienkripsi), sedangkan kunci privat dijaga kerahasiaannya untuk mendekripsi pesan yang telah dienkripsi dengan kunci publik. b. Enkripsi Pesan Orang yang menerima kunci publik dapat mengirimkan pesan secara rahasia kepada pemberi kunci, dengan langkah sebagai berikut: 1. Input : K publik = (p, α, β), P Z p {P adalah plaintext}

13 2. Output : C 1, C 2 Z p 3. r Z p {r dipilih secara acak} 4. C 1 = α r mod p 5. C 2 = P β r mod p c. Dekripsi Pesan Setelah ciphertext diterima, maka pemegang kunci privat dapat mendekripsi pesan dengan cara sebagai berikut: 1. Input : K privat = d, C 1, C 2 Z p 2. Output : P Z p 3. P =,C 2 (C d 1 ) 1 - mod p 2.5.2 Contoh Penerapan Algoritma Kriptografi ElGamal Berikut ini adalah contoh penerapan dari algoritma kriptografi ElGamal, Misalkan Adit memiliki kunci ElGamal sebagai berikut: Kunci publik : α = 345, β = 223, p = 379, Kunci privat : d = 43 Kemudian Adit mendistribusikan kunci publik kepada siapa saja yang mau mengirim pesan kepadanya. Arifin yang juga mendapatkan kunci publik key milik Adit akan mengenkripsi pesan menggunakan kunci publik yang diketahui sebagai berikut: Plaintext : mundur Kode ascii dari plaintext adalah: Tabel 2.1 Kode ASCII dari Plaintext Huruf Kode Ascii m 109 u 117 n 110 d 100 u 117 r 114 Berikut tahap-tahap yang akan dilakukan oleh Arifin untuk mengenkripsi pesan: 1. Memilih nilai r secara acak, didapati r = 143

14 2. Menghitung nilai C1 = α r mod p, sehingga didapati C1 = 10 3. Untuk setiap huruf dalam plaintext, dilakukan pengubahan nilai C 2 = P β r mod p, sehingga didapati: Tabel 2.2 Ciphertext 2, Hasil Enkripsi dari Plaintext mundur Huruf P = P mod p m 109 257 u 117 255 n 110 162 d 100 354 u 117 255 r 114 161 Setelah pesan terenkripsi, Arifin mengirim ciphertext 1 dan ciphertext 2 kepada Adit. Lalu Adit akan mendekripsi ciphertext tersebut kembali menjadi plaintext menggunakan kunci privat sebagai berikut: Tabel 2.3 Hasil Dekripsi dari Ciphertext Ciphertext P=[ ( ) ] Plaintext 255 109 m 162 117 u 354 110 n 255 100 d 161 117 u 255 114 r 2.6 Kriptanalisis Kriptanalisis adalah ilmu yang mempelajari cara untuk mendekripsi ciphertext tanpa memiliki akses terhadap kunci rahasia dengan cara menemukan kelemahan pada sistem kriptografi yang digunakan. Ada banyak teknik yang bisa dilakukan dalam kriptanalisis, tergantung dari apa saja akses yang bisa didapat terhadap sistem kriptografi dan kunci yang digunakan.

15 Di dalam penelitian ini, penulis mengetahui algoritma kriptografi apa yang digunakan dan kunci publik yang telah didistribusikan. Dari itu diketahui bahwa ada algoritma yang dapat digunakan untuk memecahkan kunci privat. Sehingga teknik yang akan digunakan adalah membuat sebuah ciphertext dari kunci publik yang diketahui, lalu mencoba memecahkan kunci privatnya berdasarkan kunci publik dan ciphertext yang telah dibuat. 2.7 Algoritma Silver-Pohlig-Hellman Algoritma Silver-Pohlig-Hellman (SPH) adalah sebuah algoritma untuk menghitung logaritma diskrit dari sebuah grup perkalian. Cara kerja algoritma Silver-Pohlig- Hellman dijabarkan sebagai berikut: a. Diketahui α adalah generator Z p, β Z p, dan kita memiliki faktorisasi berikut: r p 1 = p j a j j=1 a j N dimana p j adalah distinct primes. Cara untuk menghitung α e β (mod p) adalah dengan menghitung e modulo p j a j untuk j = 1, 2,, r, lalu gunakan Chinese Remainder Theorem. b. Untuk menghitung setiap nilai e modulo p j a j kita harus menentukan e dengan basis p j : a j 1 e = b i (j) p j i i=0 untuk menghitung b (j) i, kita lakukan hal berikut. b.1 Set β = β 0 b.2 Temukan b (j) 0 dengan cara sebagai berikut: Hitunglah α (p 1)k p j mod p untuk setiap k = 0, 1,, p j 1 sampai kita dapati: α (p 1)k p j β 0 (p 1) p j (mod p)

16 Pada kondisi diatas, k = b 0 (j) b.3 Hitunglah b i (j) untuk i = 1, 2,, a j 1 seperti berikut. Tentukan β i : β i = β α i 1 k=0 b (j) k k pj Hitunglah nilai α (p 1)k p j mod p untuk setiap k = 0, 1,, p j 1 sampai kita dapati: (p 1)k β (p 1) p j i+1 α p j (mod p) Setelah k didapatkan, isi nilai b (j) i k c. Temukan e dengan menggunakan Chinese Remainder Theorem. Di bawah ini contoh dari penggunaan algoritma Silver-Pohlig-Hellman dalam memecahkan kunci privat ElGamal, Berdasarkan contoh pada penerapan kriptografi ElGamal, diketahui bahwa p = 379, α = 345 dan β 0 = β = 223. Kita ingin mencari kunci privat d = log 345 (223). Pada perhitungan dibawah, semua persamaan berikut diasumsikan sebagai modulo 379. Kita dapati p 1 = 378 = 2 1. 3 3. 7 1 a = p 1 a 1 p 2 a 2 p 3 3 Untuk p 1 = 2: (p 1) p β 1 0 = 223 378 2 = 378 k 0 1 α (p 1)k p 1 1 5 189 = 378 Disini kita dapati b 0 = 1. Maka kita dapati representasi basis 2 dari log 345 (223) mod 2 adalah: a 1 1 b 1 i i p 1 = 1. 2 0 1 (mod 2) i=0 Untuk p 2 = 3: (p 1) p β 2 0 = 223 378 3 51

17 k 0 1 α (p 1)k p 1 1 3 126 51 i 0 1 2 β i 223 339 255 β i (p 1) p 2 i+1 223 126 51 339 42 327 255 14 51 b i 2 1 2 1 Disini kita dapati b 0 = 1, b 1 = 2, b 2 = 1. Maka kita dapati representasi basis 3 dari log 345 (223) mod 27 adalah: a 2 1 b 2 i i p 2 = 1. 3 0 + 2. 3 1 + 1. 3 2 16 (mod 27) i=0 Untuk p 3 = 7: (p 1) p β 2 0 = 223 378 7 195 k 0 1 α (p 1)k p 1 1 3 54 195 Disini kita dapati b 0 = 1. Maka kita dapati representasi basis 7 dari log 345 (223) mod 7 adalah: a 3 1 b 3 i i p 3 = 1. 7 0 1 (mod 7) i=0 Lalu kita akan mencari nilai e dengan menggunakan Chinese Remainder Theorem untuk setiap nilai e j pada basis p j. Dan kita dapati bahwa e = 43, jika nilai e disubstitusikan pada persamaan awal, maka: 345 43 223 (mod 379) Sehingga kita dapati bahwa kunci privat ElGamal berhasil dipecahkan dengan nilai d = 43.

18 2.8 Tinjauan Penelitian yang Relevan Berikut adalah penelitian yang membahas seputar algoritma kriptografi ElGamal: a. Andrian. Y. (2013) membuat penelitian yang berfokus pada penggunaan elemen primitif dan elemen non-primitif pada kunci publik ElGamal. Hasil penelitian menunjukkan bahwa Elemen primitif maupun elemen non-primitif tidak mempengaruhi proses enkripsi, proses dekripsi, dan besarnya file hasil enkripsi. b. Asmar. N. D. (2008) membentuk sebuah sistem yang mengamankan data dan informasi dengan menggunakan Algoritma ElGamal. Hasil penelitian mengungkapkan bahwa Algoritma kriptografi asimetris seperti ElGamal sangat baik digunakan untuk mengatasi masalah distribusi kunci. c. Wijayanti. R. Y. (2013) membuat penelitian yang berfokus pada analisa metode pembangkitan bilangan prima yang lebih baik dalam membuat kunci pada algoritma ElGamal. Hasil penelitian mengungkapkan bahwa waktu enkripsi dengan menggunakan metode Lucas-Lehmer lebih cepat daripada metode Fermat. d. Putra, E. (2013) mengkaji bagaimana menyederhanakan perhitungan pada kriptografi kurva eliptik dan berusaha mempersingkat waktu proses tanpa mengurangi tingkat keamanan dengan menggunakan metode enkripsi Algoritma ElGamal, implementasi juga melibatkan pembangkitan kunci dengan metode pembangkitan bilangan prima Rabin-Miller. Hasil pengujian menunjukkan bahwa dengan membatasi nilai a dan b menjadi 1 pada fungsi kurva eliptik serta membatasi bilangan prima sebanyak dua digit, berhasil mempersingkat waktu proses, enkripsi juga berlangsung dengan baik dan cepat.