EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2009
PERNYATAAN MENGENAI TUGAS AKHIR DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis dengan judul Eksplorasi (2) adalah karya saya dengan Masalah Logaritma Diskret pada Finite Field arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Bogor Agustus 2009 Yana NRP G551070411
ABSTRACT YANA. The Exploration of Discrete Logarithm Problem over Finite Field Under direction of SUGI GURITMAN and NUR ALIATININGTYAS. (2). Discrete logarithm problem represents a problem which is defined as modular arithmetic. It is often used to generate a key pair on public key cryptography as security object. Given cyclic group G of order n α generator of G and β then in general discrete logarithm problem is determined as the integer 0 1such that α β(mod ). In Menezes et al. (1997) the algorithm to solve the discrete logarithm problem in common cyclic group G are Exhaustive Search algorithm Baby-Step Giant-Step Pollard's rho Pohlig Hellman and Index Calculus. Furthermore these algorithms are explored to determine the solution of (2). The reconstructed algorithms are discrete logarithm problem on implemented using Maple 11 software. These implementation can be used to measure security level of cryptography algorithm which is based on security aspects of discrete logarithm problem. Keywords : discrete logarithm problem cyclic group finite field (2).
RINGKASAN YANA. Eksplorasi Masalah Logaritma Diskret Pada Finite Field Dibimbing oleh SUGI GURITMAN dan NUR ALIATININGTYAS. (2). (2 ) ℤ [ ]/ ( ) adalah field berorder 2 dengan ( )adalah polinomial irredusibel atas ℤ berderajad. Setiap (2 ) dapat dinyatakan dimana secara unik dalam bentuk (2 (2 ) )\{0} ℤ 0.1 adalah grup di bawah operasi penjumlahan dan perkalian modulo 2. generator (2) (2 ) berorder Jika diberikan grup siklik (2) dan ( ) adalah polinomial irredusibel atas ℤ. Logaritma diskret dengan basis adalah integer unik 0 1sedemikian sehingga (mod ( )) dan bagaimana menentukan disebut masalah logaritma diskret. Dalam Menezes et al. (1997) lima algoritme untuk menyelesaikan masalah logaritma diskret pada grup siklik umum adalah Algoritme Exhaustive Search Baby-Step Giant-Step Pollard s rho Pohlig Hellman dan Index Calculus. Kelima algoritme ini dieksplorasi untuk menentukan masalah logaritma diskret pada (2). Ide dasar Algoritme Exhaustive Search untuk menentukan logaritma diskret adalah Definisi Masalah Logaritma Diskret yaitu dengan mencoba setiap kemungkinan nilai 0 2 1 sampai ditemukan yang benar. Baby-Step Giant-Step adalah merupakan time-memory trade-off dari Algoritme Exhaustive Search yakni situasi dimana memori komputer digunakan untuk mengurangi biaya dan waktu eksekusi program. Representasi polinomial adalah order (2). akan disimpan di memori komputer sebanyak Semakin besar maka representasi polinomial yang disimpan di memori komputer semakin banyak juga. Ide dasar algoritme ini adalah membagi dengan suatu representasi polinomial hingga ditemukan salah satu representasi polinomial yang disimpan di memori komputer. Ide dasar Algoritme Pollard s rho adalah menemukan cycle dalam barisan { }. Untuk menemukan cycle dalam barisan { } digunakan Algoritme Floyd s Cycle-Finding dengan membandingkan sampai sehingga pasangan ditemukan. elemen-elemen Selanjutnya Birthday Paradox digunakan untuk menjamin bahwa mulai adanya satu atau lebih bilangan yang sama dalam barisan bilangan sedikitnya setelah langkah ke- 2 ln 2 dengan peluang lebih dari setengah. Misalkan (2) adalah grup siklik dibawah operasi perkalian berorder 2 1 adalah bilangan prima berbeda dan 1. Ide dari Algoritme Pohlig Hellman untuk menentukan masalah logaritma diskret (mod ( )) adalah menemukan mod dengan terlebih dahulu log menentukan mod untuk setiap 1 menggunakan Teorema Sisa Cina. Artinya komputasi dilakukan pada subgrup berorder prima berpangkat ). integer positif (
Kekuatan Algoritme Index Calculus terletak pada faktorisasi polinomial. Faktorisasi polinomial dapat dilakukan dalam 4 tahap. Tahap pertama adalah faktorisasi bebas kuadrat kedua faktorisasi bebas kuadrat berderajad ketiga faktorisasi berderajad dan terakhir faktorisasi lengkap ( ) ( ) ( ) ( ). Ide dasar Algoritme Index Calculus adalah dengan memilih subset dari (2 ) sebagai faktor basis sedemikian sehingga elemen-elemen (2 ) secara efisien dapat dinyatakan sebagai produk elemen-elemen. Kata kunci : masalah logaritma diskret grup siklik finite field (2 ).
Hak Cipta milik IPB tahun 2009 Hak Cipta dilindungi Undang-Undang 1. Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumber. a. Pengutipan hanya untuk kepentingan pendidikan penelitian penulisan karya ilmiah penyusunan laporan penulisan kritik atau tinjauan suatu masalah b. Pengutipan tidak merugikan kepentingan yang wajar IPB 2. Dilarang mengumumkan dan memperbanyak sebagian atau seluruh Karya Tulis dalam bentuk apapun tanpa izin IPB.
EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A Tesis sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Program Studi Matematika Terapan SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2009
Penguji Luar Komisi pada Ujian Tesis: Drs. Prapto Tri Supriyo M.Kom.
Judul Tesis : Eksplorasi Masalah Logaritma Diskret pada Finite Field (2 ) Nama : Yana NRP : G551070411 Disetujui Komisi Pembimbing Dr. Sugi Guritman Ketua Dra. Nur Aliatiningtyas M.Si. Anggota Diketahui Ketua Progam Studi Matematika Terapan Dekan Sekolah Pascasarjana Dr. Ir. Endar H. Nugrahani M.S. Prof. Dr. Ir. Khairil A. Notodiputro M.S. Tanggal Ujian : 13 Agustus 2009 Tanggal Lulus :
PRAKATA Puji dan syukur penulis panjatkan ke hadirat Allah SWT atas segala rahmat dan karunianya tugas akhir yang berjudul Eksplorasi Masalah Logaritma Diskret pada Finite Field (2) ini bisa terselesaikan sebagai salah satu syarat untuk menyelesaikan pendidikan pada Program Studi Matematika Sekolah Pascasarjana Institut Pertanian Bogor. Terimakasih yang mendalam penulis sampaikan kepada Abah dan Mama atas segala doa dan kasih sayangnya. Terimakasih juga penulis sampaikan kepada Dr. Sugi Guritman dan Dra. Nur Aliatiningtyas M.Si selaku pembimbing yang telah membantu dan mengarahkan penulis selama penyusunan tugas akhir ini serta Drs. Prapto Tri Supriyo M.Kom. selaku dosen penguji. Ucapan terima kasih juga penulis sampaikan kepada Departemen Agama Republik Indonesia yang telah memberikan beasiswa kepada penulis selama menempuh pendidikan di IPB. Terimakasih juga penulis sampaikan kepada Ai Tusi Fatimah Salamia Lathifaturrahmah dan semua pihak yang tidak dapat dituliskan namanya satu persatu atas segala bantuannya selama penelitian. Tentu saja dari awal hingga selesainya tulisan ini tidak terlepas dari dukungan motivasi dan doa dari suami tercinta dan semua keluarga. Akhirnya penulis menyadari bahwa tugas akhir ini masih begitu banyak kekurangan. Dengan segala keterbatasan yang ada semoga tugas akhir ini bermanfaat. Bogor Agustus 2009 Yana
RIWAYAT HIDUP Penulis dilahirkan di Tambarangan Banjarmasin pada tanggal 13 Juni 1977 sebagai anak pertama dari tiga bersaudara. Pada tahun 2001 penulis menyelesaikan pendidikan strata satu di Program Studi Pendidikan Matematika FKIP UNLAM Banjarmasin dan langsung bekerja sebagai tenaga pengajar pada Madrasah Tsanawiyah Negeri Binuang sampai sekarang. Pada tahun 2007 penulis diberi kesempatan melanjutkan studi di Program Studi Matematika Sekolah Pascasarjana Institut Pertanian Bogor dengan beasiswa dari Departemen Agama Republik Indonesia.
DAFTAR ISI Halaman DAFTAR ISI..... x DAFTAR TABEL... xii DAFTAR ALGORITME... xiv DAFTAR LAMPIRAN... xv BAB 1 PENDAHULUAN... 1.1 Latar Belakang... 1.2 Tujuan Penelitian... 1.3 Manfaat Penelitian... 1 1 3 4 BAB 2 TINJAUAN PUSTAKA... 2.1 Teori Bilangan... 2.2 Integer Modulo... 2.3 Struktur Aljabar... 2.4 Masalah Logaritma Diskret... 2.5 Sistem Persamaan Linear... 2.6 Algoritme Berlekamp s Q-Matrix..... 2.7 Kompleksitas Waktu Asimptotik... 5 5 6 8 15 16 17 17 BAB 3 HASIL DAN PEMBAHASAN... (2 ).... 3.1 Masalah Logaritma Diskret pada Finite Field 3.1.1 Finite Field (2 )... 3.1.2 Masalah Logaritma Diskret pada (2 ).... 3.2 Solusi Masalah Logaritma Diskret pada (2 )... 3.2.1 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Exhaustive Search..... 3.2.2 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Baby-Step Giant-Step.... 3.2.3 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Baby-Step Giant-Step 2..... 3.2.4 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Baby-Step Giant-Step 3..... 3.2.5 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Naif Square.... 3.2.6 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Pollard s rho..... 3.2.7 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Pohlig Hellman...... 3.2.8 Solusi Masalah Logaritma Diskret pada GF(2 ) dengan Algoritme Index Calculus... 3.2.8.1 Faktorisasi Polinomial.... 19 19 19 22 23 23 27 31 35 38 42 54 65 65
3.2.8.2 Solusi Masalah Logaritma Diskret pada (2 ) dengan Algoritme Index Calculus.. 84 3.3 Komputasi Masalah Logaritma Diskret pada (2 )... 89 BAB 4 KESIMPULAN DAN SARAN... 96 4.1 Kesimpulan...... 96 4.2 Saran...... 97 DAFTAR PUSTAKA... 98 LAMPIRAN... 100
DAFTAR TABEL Halaman 2.7.1 Oh-Besar... 18 (2 )... 21 1... 3.1.1 Elemen-elemen 3.2.1 Representasi Polinomial ( 3.2.2 Representasi Polinomial ( 3.2.3 Hasil Perhitungan ( : dengan (mod ( )) untuk (2 ) dengan 30 (2 ) 1.. 31 3.2.6 Hasil Perhitungan ( dengan 25 3.2.5 Hasil Perhitungan ( : dengan (2 ) dengan 1.. 3.2.4 Hasil Perhitungan ( : dengan (mod ( )) untuk mod ( ) ) 0 untuk mod ( ) ) 0 untuk (2 ) 1.. 34 mod ( ) ) 0 untuk (2 ) 1.. 38 1.. 41 (2 ) mod ( ) ) 0 untuk 3.2.7 Hasil Perhitungan Birthday Paradox... 44 3.2.8 Beberapa Kemungkinan Pendefinisian Keanggotaan Himpunan (2 ) 123 untuk Algoritme Pollard s rho... 46 (2 ) dengan 49 (2 ) dengan 50 (2 ) dengan 1. 51 dan (2 ) dengan 1. 52 dan (2 ) dengan 53 3.2.9 Hasil Perhitungan 3.2.10 Hasil Perhitungan 3.2.11 Hasil Perhitungan 3.2.12 Hasil Perhitungan 3.2.13 Hasil Perhitungan 3.2.14 Hasil Perhitungan dan dan dan pada pada pada pada pada... 1 1 pada (2 ) dengan
dan 53 3.2.15 Hasil Perhitungan ( ) h ( ) dan ( ) dengan ( ) 1... 69 3.2.16 Hasil perhitungan ( ): ( ( ))... 78 3.2.17 Nilai Harapan Kompleksitas Waktu Algoritme. 89 3.3.1 Waktu Komputasi dengan Algoritme Exhaustive Search..... 89 3.3.2 Waktu Komputasi dengan Algoritme Baby-Step Giant-Step... 90 3.3.3 Waktu Komputasi dengan Algoritme Baby-Step Giant-Step 2. 91 3.3.4 Waktu Komputasi dengan Algoritme Baby-Step Giant-Step 3. 91 3.3.5 Waktu Komputasi dengan Algoritme Naif Square 92 3.3.6 Waktu Komputasi dengan Algoritme Pollard s rho. 93 3.3.7 Waktu Komputasi dengan Algoritme Pohlig-Hellman..... 94 3.3.8 Waktu Komputasi dengan Algoritme Index Calculus... 94 3.3.9 Waktu Komputasi Logaritma Diskret dengan Beberapa Algoritme 95
DAFTAR ALGORITME Halaman 2.6.1 Algoritme Berlekamp s Q-Matrix... 17 3.2.1 Algoritme Exhaustive Search... 24 3.2.2 Algoritme Baby-Step Giant-Step... 28 3.2.3 Algoritme Baby-Step Giant-Step 2... 33 3.2.4 Algoritme Baby-Step Giant-Step 3 36 3.2.5 Algoritme Naif Square...... 40 3.2.6 Algoritme Pollard s rho...... 47 3.2.7 Algoritme Pohlig Hellman..... 57 3.2.8 Algoritme Faktorisasi Bebas Kuadrat 1..... 68 3.2.9 Algoritme Faktorisasi Bebas Kuadrat 2... 70 3.2.10 Algoritme Faktorisasi Bebas Kuadrat 3...... 71 3.2.11 Algoritme Faktorisasi Bebas Kuadrat Berderajad 72 3.2.12 Algoritme Sisa Bagi 1.... 74 3.2.13 Algoritme Sisa Bagi 2 75 3.2.14 Algoritme Satu Faktor Derajad.... 77 3.2.15 Algoritme Faktorisasi Lengkap..... 82 3.2.16 Algoritme Index Calculus.. 86
DAFTAR LAMPIRAN Halaman 1 Program Aritmetika Finite Field 2 Program Faktorisasi Polinomial (2 )... 101 (2 )... 105 2.1 Faktorisasi Bebas Kuadrat 1... 105 2.2 Faktorisasi Bebas Kuadrat 2... 105 2.3 Faktorisasi Bebas Kuadrat 3... 106 2.4 Faktorisasi Bebas Kuadrat Berderajad 106 2.5 Sisa Bagi 1...... 106 2.6 Sisa Bagi 2..... 106...... 107 2.8 Faktorisasi Lengkap... 107 2.7 Satu Faktor Derajad 3 Program Solusi Masalah Logaritma Diskret pada (2 )..... 108 3.1 Exhaustive Search.... 108 3.2 Penyimpanan Baby-Step...... 108 3.3 Baby-Step Giant-Step.... 109 3.4 Baby-Step Giant-Step 2. 109 3.5 Baby-Step Giant-Step 3.. 109 3.6 Naif Square.. 110 3.7 Pollard s rho... 110 3.8 Pohlig Hellman 111 3.9 Index Calculus. 112