• Tidak ada hasil yang ditemukan

Simulasi Pencarian Kunci Privat Dengan Metode Modifikasi Pollard Rho Pada Algoritma Kriptografi Rsa

N/A
N/A
Protected

Academic year: 2017

Membagikan "Simulasi Pencarian Kunci Privat Dengan Metode Modifikasi Pollard Rho Pada Algoritma Kriptografi Rsa"

Copied!
10
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1 Kriptografi

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi. Kriptografi klasik umumnya merupakan teknik penyandian dengan kunci simetrik dan menyembunyikan pesan yang memiliki arti ke sebuah pesan yang nampaknya tidak memiliki arti dengan metode pergantian huruf (substitusi) atau transpose (pertukaran

tempat).

2.1.1 Sistem Kriptografi

Sistem kriptografi terdiri dari 5 bagian, yaitu :

1. Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext adalah masukan bagi algoritma enkripsi. Untuk selanjutnya digunakan istilah teks

asli sebagai padanan kata plaintext.

2. Secret Key: secret key yang juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkipsi. Untuk selanjutnya digunakan istilah kunci rahasia sebagai padanan kata secret key.

(2)

4. Algoritma Enkripsi: algoritma enkripsi memiliki 2 masukan teks asli dan 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 algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi (Sadikin, 2012).

Algoritma

Gambar 2.1 Sistem Kriptografi Konvensional Sumber Gambar: (Sadikin, 2012)

Pada Gambar 2.1 kunci rahasia dibangkitkan oleh pembangkit kunci dan dikirim melalui saluran aman ke pihak penyandi (encryptor) maupun penerima sandi (decryptor). Teks sandi dikirim melalui saluran umum sehingga ada pihak ketiga yang dapat membaca teks sandi itu (Sadikin, 2012).

2.2 Sistem Kriptografi RSA

Pada tahun 1977, Rivest, Shamir, dan Adleman merumuskan algoritma praktis yang mengimplementasikan sistem kriptografi kunci publik yang disebut dengan sistem kriptografi RSA. Meskipun pada tahun 1977 badan sandi Inggris memublikasikan bahwa Clifford Cock telah merumuskan sistem kriptografi RSA 3 tahun lebih dahulu daripada Rivest, Shamir dan Adleman.

(3)

dengan n = p · q, p dan q adalah bilangan prima dan Φ (n) = (p – 1) (q – 1). Gambar 2.2 mengilustrasikan sistem kriptografi kunci publik RSA (Sadikin, 2012).

C = Pemod n

Teks asli Enkripsi Teks sandi Dekripsi

Gambar 2.2 Sistem kriptografi dengan kunci publik RSA.

Sumber Gambar: (Sadikin, 2012)

Pada Gambar 2.2 digambarkan skema sistem kriptografi RSA biasa tanpa tambahan modifikasi apapun dimana terdapat kunci public (n,e) dan kunci private d. Nilai n dapat diakses oleh publik, sehingga rentan terhadap serangan faktorisasi. Pada saat ini RSA yang dianggap aman adalah RSA dengan ukuran 1024 sampai dengan 2048 bit

(Sadikin, 2012).

Sistem kriptografi RSA dapat dimodifikasi, beberapa varian yang ada diantaranya: RSA-CRT, Multiprime-RSA, Takagi-RSA (Galbraith, 2012). Modifikasi ini muncul untuk meningkatkan waktu komputasi dan tingkat keamanan algoritma RSA dari berbagai serangan. Sistem Kriptografi RSA biasanya dimanfaatkan sebagai pengaman pesan pendek misalnya sebagai otentikasi atau digital signature (Sadikin, 2012).

2.2.1 Algoritma RSA

Proses atau cara kerja dari algoritma RSA dapat dilihat sebagai berikut:

1. Menentukan dua bilangan prima p ≠ q secara acak dan terpisah untuk tiap-tiap p dan q.

2. Melakukan perhitungan n = p · q (n merupakan hasil perkalian dari p dikalikan dengan q).

(4)

4. Menentukan nilai e dengan syarat bahwa bilangan tersebut merupakan bilangan

bulat (integer) 1 < e < Φ (n) dan nilai GCD (Φ (n), e) = 1 dimana e ialah kunci

publik.

5. Menghitung kunci dekripsi yang dilakukan dengan perhitungan kunci enkripsi

dengan rumus d ≡ e -1 (mod Φ (n)) dimana d ialah kunci privat.

6. Setelah mendapatkan kunci-kunci tersebut maka dapat dilakukan proses enkripsi

maupun proses dekripsi.

7. Rumus untuk melakukan proses enkripsi adalah C = P emod n.

8. Rumus untuk melakukan proses dekripsi adalah P = C d mod n (Simarmata, 2012).

Contoh:

Diketahui bilangan prima p = 17 dan q = 31.

Selanjutnya dihitung parameter kunci publik (e, n) sebagai berikut: n = p · q = 17 · 31 = 527

Φ (n)= (p – 1) · (q – 1) = 16 x 30 = 480

Misalnya e dipilih 77, nilai 77 memenuhi syarat karena GCD (480, 77) = 1. Jadi kunci publik (Kpublik) = (77, 527).

Sedangkan parameter d = 77-1 mod 480 = 293. Jadi kunci privat (Kprivat)=293.

2.3 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 : �� ≡ �2� ≡ �22� ≡ ⋯ ≡

�2�−1� ≡ �2��(���). Pada perhitungan 2�� 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 (Sadikin, 2012).

Berikut Algoritma Miller-Rabin:

1. Input sebuah bilangan yang akan diuji keprimaannya yaitu n. 2. Jika n < 2 atau n habis dibagi 2, maka n bukan prima (STOP).

(5)

4. Pilih sebuah bilangan acak a (1 < a < n-1).

5. x = am mod n. Jika x = 1 atau x = n-1, maka lanjutkan ke tahap 9.

6. x = x2 mod n. Jika x = 1, maka n bukan prima (STOP). Jika x = n-1, maka

lanjutkan ke tahap 9.

7. Lakukan perulangan pada tahap 6 sebanyak k-1. 8. Jika x != n-1, maka n bukan prima (STOP).

9. Lakukan perulangan pada tahap 4-8 sebanyak t (panjang digit n). 10. n mungkin prima (Sadikin, 2012).

2.4 Algoritma Euclid GCD

Algoritma Euclid merupakan salah satu metode untuk menemukan Greatest Common Divisor (GCD).

Berikut Algoritma Euclid GCD:

1. Input 2 buah bilangan yang akan dicari GCD-nya yaitu m dan n. 2. Usahakan agar m > n. Jika tidak, maka tukar nilai m dan n. 3. Hitung r = m mod n.

4. Selama r != 0, lakukan: m = n,

n = r,

r = m mod n.

5. Maka, nilai n saat ini adalah GCD dari m dan n.

2.5 Metode Pollard ρ

Metode Pollard ρ (baca Pollard Rho) dipublikasikan oleh John Pollard pada tahun 1975. Metode ini dipilih untuk menemukan faktor prima dari bilangan bulat yang besar dengan hanya menggunakan jumlah lokasi memori yang konstan (Sutomo, 2005). Metode ini dikenal sebagi metode faktorisasi Pollard Monte Carlo. Algoritma Pollard ρ berdasar pada hal berikut ini:

1. Terdapat x1 dan x2 sehingga s relatif prima terhadap (x1– x2) tetapi N tidak relatif

(6)

2. Dapat dibuktikan bahwa s = GCD (x1 – x2) sehingga GCD(x1 – x2, N) dapat

bernilai 1 atau sebuah faktor N (Sadikin, 2012).

Metode Pollard ρ ialah metode probabilistik untuk memfaktorkan sebuah angka N dengan mengiterasikan sebuah fungsi polynomial di dalam modulo N. Umumnya fungsi yang digunakan ialah f(x) = x2+1, karena telah terbukti bekerja dengan baik untuk masalah faktorisasi, namun fungsi polynomial lain dapat digunakan. John Pollard menyarankan untuk membandingkan x1.i dengan x2.i untuk i = 1, 2, 3, …. Untuk setiap i, diperiksa apakah GCD(x1.i – x2.i, N) merupakan faktor pembagi dari N. Jika GCD(x1.i – x2.i, N) bernilai 1 atau N, maka proses iterasi dilanjutkan hingga faktor pembagi ditemukan (Barnes, 2004).

Berikut Algoritma Pollard ρ:

1. Input sebuah bilangan yang akan difaktorkan yaitu N.

2. Terdapat x1 dan x2. Dipilih seed (x1 = 2, dan x2 = x1) dan fungsi polynomial

f(x) = x2+1.

3. Lakukan perhitungan pada x1 = f(x1) dan x2 = f(f(x2)).

4. Dilakukan perhitungan modulus pada x1= x1 mod N dan x2 = x2 mod N. 5. Dilakukan perhitungan GCD untuk mencari faktor yaitu s = GCD(|xi- x2.i|, N) 6. Lakukan perulangan pada tahap 3, 4 dan 5 hinnga s ≠ 1 dan s ≠ N

7. Jika s ≠ 1 dan s ≠ N, maka kedua faktor N ialah s dan N/s (Barnes, 2004).

Kompleksitas algoritma Pollard ρ membutuhkan perhitungan aritmatika sebanyak √s,

akan tetapi karena s diharapkan lebih kecil atau sama dengan √N maka tetap saja algoritma faktorisasi Pollard ρ tidak memungkinkan untuk bilangan integer besar.

Kompleksitas operasi-bit Pollard ρ adalah eksponensial yaitu, O(2nb/4) dengan nb adalah jumlah bit N (Sutomo, 2005).

(7)

x7≡ x9≡ 7 (mod 29)

x6≡ 8 (mod 29)

x5 = 226 23 (mod 29)

x4 = 3146 14 (mod 29)

x3 = 677 10 (mod 29)

x2 = 26

x1 = 5

x0 = 2

x8≡ x10≡ 21 (mod 29)

Gambar 2.3 Illustrasi Metode Pollard ρ

Gambar 2.3 menunjukkan bahwa ketika x9 dicapai, perhitungan berada dalam periode bolak-balik x7 dan x8. Ini membentuk sebuah sirkuit. Bentuk ini mengingatkan pada simbol yunani ρ (baca rho) (Mollin, 2005).

Pada RSA dengan n berukuran 1024 bit, maka faktorisasi dengan algoritma Pollard ρ membutuhkan paling tidak 2256 operasi aritmatika. Misalnya sebuah komputer mampu melakukan operasi sebanyak 230 per detiknya maka faktorisasi Pollard ρ membutuhkan 2226 detik (Sadikin, 2012).

2.5.1. Modifikasi Pollardρ

(8)

fungsi polynomial pembangkit bilangan prima dengan harapan bahwa akan didapat faktor dari sebuah bilangan N dengan lebih cepat.

2.5.2. Fungsi Polynomial

Legendre mengatakan bahwa tidak ada fungsi algebra rasional yang selalu menghasilkan bilangan prima. Fungsi polynomial terbaik yang dapat membangkitkan sangat banyak bilangan prima menurut Euler (1772), Nagel (1951), Gardner (1984), Ball dan Coxeter (1987) yaitu: n2 + n + 41 yang menghasilkan bilangan prima berbeda untuk 40 urutan bilangan bulat n = 0 - 39. Menurut Legendre pada tahun 1798, Fungsi n2 – n +41 menghasilkan 40 bilangan prima untuk n = 1 – 40 dan bilangan tersebut disebut sebagai “Euler Numbers”. Fungsi polynomial digunakan dalam membangkitkan deret bilangan pada metode Pollard ρ. Berikut merupakan tabel fungsi polynomial hasil modifikasi yang digunakan dalam penelitian ini.

Tabel 2.1 Daftar Fungsi Polynomial Polynomial Dapat difaktorkan Konstanta

x2 + 1 Tidak Ganjil

x2 + 12x + 11 Ya Prima

x2 + 2x + 23 Tidak Prima

3x2 + 4x + 1 Ya Ganjil

x2 – x + 1 Tidak Ganjil

Pada Tabel 2.1 terdapat 5 fungsi polynomial yang berbeda. Fungsi x2 + 1 merupakan fungsi polynomial standard yang paling sering digunakan pada metode Pollard ρ, sedangkan sisanya merupakan fungsi polynomial modifikasi yang dibangun berdasarkan 2 kriteria, yaitu: apakah fungsi polynomial tersebut dapat difaktorkan dan nilai konstanta dari fungsi tersebut.

2.5.3. Faktorisasi Kunci RSA dengan Metode Pollardρ

Sistem Kriptografi RSA memiliki kunci publik (e, n) untuk enkripsi dan kunci privat (d) untuk dekripsi. Dengan memfaktorkan (n) akan didapat p dan q. Kemudian

(9)

Contoh:

Diketahui Kunci public (e, n) dimana e = 77, n = 527. Kemudian n akan difaktorkan untuk mendapatkan p dan q sehingga N = n = 527. Selanjutnya dicari faktor dari N dengan metode Pollard ρ.

1. Dipilih seed dan fungsi polynomial.

x1= 2, x2 = x1 dan f(x) = x2+1.

2. Lakukan perhitungan pada x1 = f(x1) dan x2 = f(f(x2)).

x1= x12 + 1 = 22 + 1 = 5, x2 = x22 + 1 = 22 + 1 = 5, x2 = x22 + 1 = 52 + 1 = 26.

3. Dilakukan perhitungan modulus pada x1= x1 mod N dan x2 = x2 mod N.

x1 = 5 mod 527 = 5 x2 = 26 mod 527 = 26

4. Dilakukan perhitungan GCD untuk mencari faktor yaitu s = GCD(|x1- x2|, N)

s = GCD(|5-26|, 527) = 1

5. Lakukan perulangan pada tahap 2, 3 dan 4 hinnga s ≠ 1 dan s ≠ N

x1= x12 + 1 = 52 + 1 = 26 x2 = x22 + 1 = 262 + 1 = 677 x2 = x22 + 1 = 6772 + 1 = 458330. x1 = 26 mod 527 = 26 x2 = 458330 mod 527 = 367 s = GCD(|26-367|, 527) = 31

6. Jika s ≠ 1 dan s ≠ N, maka kedua faktor N ialah p dan q dimana p = s = 31 dan

q = N / s = 527 / 31 = 17

Selanjutnya dengan memanfaatkan p dan q tersebut dapat dihitung kunci privat d dengan algoritma RSA.

Φ (n)= (p – 1) x (q – 1) = 16 x 30 = 480

(10)

2.6 Tinjauan Penelitian yang Relevan

1. B.R. Ambedkar dan S.S. Bedi dari MJP Rohilkhand University mengangkat judul

penelitian “A New Factorization Method to Factorize RSA Public Key Encryption”. Pada penelitian ini, metode faktorisasi baru diajukan untuk mendapatkan faktor dari sebuah bilangan bulat positif N. Penelitian ini berfokus pada faktorisasi pada seluruh bilangan bulat trivial dan nontrivial dan membutuhkan tahap yang lebih sedikit untuk proses faktorisasi RSA modulus N. Metode ini didasarkan pada metode Pollard ρ (Ambedkar & Bedi 2011).

2. Kuldeep Singh, Rajesh Verma dan Ritika Chehal mengangkat judul penelitian

“Modified Prime Number Factorization Algorithm (MPFA) for RSA Public Key Encryption”. Penelitian ini berfokus pada faktorisasi pada seluruh bilangan bulat trivial dan nontrivial seperti halnya metode Fermat dan membutuhkan tahap yang lebih sedikit untuk proses faktorisasi RSA modulus N. Hasil eksperimen

menunjukkan peningkatan kecepatan faktorisasi dibandingkan metode lain seperti Trial Division method, Fermat Factorization, Brent’s Factorization method dan Pollard ρ factorization method (Singh & Verma 2012).

3. Prasasti Imani dari Institut Pertanian Bogor mengangkat judul skripsi “Analisis

Keamanan Kriptosistem Kunci Publik RSA”. Tugas Akhir ini bertujuan untuk mempelajari dan menganalisis algoritma RSA serta beberapa kemungkinan serangan yang dapat dilakukan oleh musuh terhadap kriptosistem ini. Salah satu serangannya yaitu analisis algoritma faktorisasi bilangan komposit menggunakan Pollard ρ. Hasil dari penganalisisan menunjukkan bahwa inti keamanan RSA adalah pada masalah RSA dan faktorisasi bilangan komposit (Imani, 2002). 4. Toni Sutomo dari Universitas Indonesia mengangkat judul skripsinya “Metode

Gambar

Gambar 2.1 Sistem Kriptografi Konvensional
Gambar 2.2 Sistem kriptografi dengan kunci publik RSA.
Gambar 2.3 Illustrasi Metode Pollard ρ
Tabel 2.1 Daftar Fungsi Polynomial

Referensi

Dokumen terkait

Adapun impilikasi dari pembahasan di atas adalah sehubungan dengan hasil penelitian yang telah dikemukakan di atas dan berbagai keterbatasan yang dimiliki penulis

1) The first stage : cognitive loyalty, tahap dimana pengetahuan langsung maupun tidak langsung konsumen akan merek, dan manfaatnya, dan dilanjutkan ke pembelian berdasarkan

Tabel 5 menunjukkan bahwa setelah diberikan penyuluhan tentang deteksi dini kanker payudara, pada kelompok kontrol tidak ada yang memiliki perilaku yang menurun ( negative

3 Tahun adalah kesatuan masyarakat hukum adat di Provinsi Bali yang mempunyai satu kesatuan tradisi dan tata krama pergaulan hidup masyarakat umat Hindu secara turun-temurun

Penelitian ini telah mengukur tekanan darah pada penderita hipertensi di PSTW unit Abiyoso tahun 2012 yang diadakan pada kelompok eksperimen yang diberikan jus tomat selama 7

Penyusunan rencana strategik Pusat Komunikasi Publik Tahun 2010–2014 adalah untuk memberi arah dan pedoman dalam pengelolaan program dan kegiatan komunikasi publik yang

Seperti pada gambar 1 terlihat topology yang sering dahulu digunakan untuk mengkoneksikan banyak kantor cabang dan para pegawai yang mobile menggunakan infrastruktur penyedia jasa

 Mesin Frais adalah salah satu mesin perkakas yang prinsip kerjanya, pisau (pahat frais) berputar pada arbor sedangkan benda kerja dicekam pada rahum / chuck, kemudian