MASALAH LOGARITMA DISKRET PADA

22 Jika = + + + + , = + + + + ∈ . Maka . =, dimana s= + + + + dengan = ∑ mod , −. Penjumlahan dan perkalian dalam ini dihitung dengan menggunakan algoritme standar untuk integer dan aritmetika polinomial. Unsur identitas penjumlahannya adalah polinomial 0, dan unsur identitas perkaliannya adalah polinomial 1. Pengurangan adalah invers dari penjumlahan; jika ∈ maka invers penjumlahan dari dinotasikan − pada adalah solusi unik untuk persamaan + = dalam . Selanjutnya, pembagian adalah invers dari perkalian; jika ∈ maka invers perkalian dari dinotasikan pada adalah solusi unik untuk persamaan . = pada . Invers perkalian dalam dapat dihitung secara efisien dengan menggunakan Algoritme Euclidean yang Diperluas. Dalam pembahasan selanjutnya akan dibahas tanpa elemen {0}, dinotasikan dengan ∗ , membentuk grup di bawah operasi perkalian Definisi 2.3.29.

3.1.2 MASALAH LOGARITMA DISKRET PADA

∗ Berdasarkan Teorema 2.3.30, ∗ adalah grup siklik yang berorder = − . Karena ∗ merupakan grup siklik maka terdapat suatu generator yang membangun ∗ yang disebut elemen primitif. Jika diberikan elemen primitif dari ∗ dan diketahui order dari ∗ adalah , maka ℴ = Teorema 2.3.9, sehingga : ∗ = = { , , , … , } dan berdasarkan Teorema 2.3.6 , , , … , semuanya berbeda. Berdasarkan Definisi 2.4.1 dan Definisi 2.4.4, jika diberikan grup siklik ∗ berorder , generator ∗ , ∈ ∗ , dan adalah polinomial irredusibel atas ℤ . Logaritma diskret dengan basis adalah integer unik , −, sedemikian sehingga : mod 23 dan bagaimana menentukan disebut masalah logaritma diskret. Nilai pada rentang − yang merupakan solusi masalah logaritma diskret mod dijamin ada Teorema 2.4.6. Menentukan masalah logaritma diskret menjadi sulit apabila order grup multiplikatif ∗ besar. Karena itu diperlukan suatu teknik tertentu untuk menyelesaikannya. Beberapa teknik yang dapat digunakan untuk menentukan masalah logaritma diskret ini adalah Algoritme Exhaustive Search, Baby-Step Giant-Step, Pollard’s rho, Pohlig Hellman, dan Index Calculus. Dalam Menezes et el. 1997 kelima algoritme tersebut dikenakan pada grup siklik G umum, sedangkan pada tulisan ini dikenakan pada sistem aritmatik grup multiplikatif ∗ . 3.2 SOLUSI MASALAH LOGARITME DISKRET PADA ∗ Untuk menentukan masalah logaritma diskret diatas ada beberapa algoritme yang bisa digunakan, diantaranya adalah Algoritme Exhaustive Search, Baby-Step Giant-Step, Pollard’s rho, Pohlig-Hellman dan Index Calculus. Algoritme untuk menentukan masalah logaritma diskret dalam Menezes et al. 1997 dijelaskan secara umum dalam grup siklik berhingga berorder dengan generator , dan untuk pendekatan yang lebih konkrit dipilih grup multiplikatif ℤ ∗ berorder − dimana operasi grupnya adalah operasi perkalian modulo . Pada tulisan ini algoritme-algoritme tersebut dieksplorasi untuk menentukan masalah logaritma diskret pada ∗ . 3.2.1 Solusi Masalah Logaritma Diskret pada ∗ dengan Algoritme Exhaustive Search Ide dasar Algoritme Exhaustive Search adalah Definisi Masalah Logaritma Diskret Definisi 2.4.4.Misalkan adalah polinomial irredusibel atas ℤ dan algebraic atas ℤ , maka ∗ = = { , , , … , = , … , }. Menentukan masalah logaritma diskret pada ∗ sehingga = dengan Algoritme Exhaustive Search adalah dengan mencoba semua kemungkinan nilai , − , sampai ditemukan yang benar, artinya jika dipangkatkan 24 akan sama dengan dalam mod dinotasikan mod . Atau dengan bahasa sederhana untuk menentukan masalah logaritma diskret , kalikan dengan sampai ditemukan . Banyaknya langkah dalam proses perkalian ini adalah , − . . = . = . = . = . = = Selama proses perkalian jika ditemukan , maka direduksi ke mod dan dalam proses reduksi berlaku aturan penjumlahan dan perkalian dalam . Selanjutnya dari dan diperoleh : = = log = log = Jadi = mod . Berikut Algoritme Exhaustive Search yang dieksplorasi dari Definisi Masalah Logaritma Diskret secara umum Definisi 2.4.4 Algoritme 3.2.1 Algoritme Exhaustive Search untuk menentukan masalah logaritma diskret pada ∗ Input : generator grup multiplikatif ∗ berorder = − , ∈ ∗ , dan polinomial irredusibel atas ℤ berderajad . Output : logaritma diskret log mod . 1 Untuk setiap , −, hitung nilai mod . 2 Setelah langkah ke- dimana mod , maka proses berhenti. 3 Solusi dari mod adalah mod . 25 Dalam Menezes et al. 1997 nilai harapan kompleksitas waktu Algoritme Exhaustive Search adalah . Algoritme Exhaustive Search ini diimplementasikan dengan bantuan sofware Maple 11, dapat dilihat pada Lampiran 3.1 Contoh 2 Menentukan masalah logaritma diskret pada grup multiplikatif ∗ dengan Algoritme Exhaustive Search Diketahui : adalah generator grup multiplikatif ∗ , = + + + ∈ ∗ , dan = + + . Tentukan log mod . Solusi : Grup multiplikatif ∗ dibangun oleh suatu polinomial berderajad 7 irredusibel atas ℤ . Diketahui adalah generator grup multiplikatif ∗ . Perkalian dari elemen-elemen ∗ adalah perkalian dalam modulo , sehingga mod + + mod − − + mod , sebab − dalam ℤ . Grup multiplikatif ∗ berorder = − = , artinya ada 127 kemungkinan nilai , , yang memenuhi mod . Dengan Algoritme Exhaustive Search, akan dicari nilai sedemikian sehingga + + + mod . Kita akan coba untuk setiap kemungkinan nilai , , sampai ditemukan nilai yang benar yang memenuhi mod . Tabel 3.2.1 Representasi Polinomial mod untuk ∗ dengan = + + + mod 1 26 mod 2 3 4 5 6 7 + 8 + 9 + 10 + 11 + 12 + 13 + + 14 + 15 + 16 + 17 + 18 + 19 + + 20 + + 21 + + + Pada saat = , diperoleh kongruensi + + + mod . Dengan demikian diperoleh solusi dari log mod adalah mod mod 127. Karena Algoritme Exhaustive Search ini metodenya yaitu dengan mencoba semua kemungkinan solusi yang ada, maka solusi yang tepat secara pasti akan ditemukan. Namun kelemahannya adalah kompleksitas waktu yang besar sehingga tidak efisien digunakan untuk menyelesaikan masalah logaritma diskret dalam ∗ berorder besar. Oleh karena itu diperlukan metode lain agar penyelesaian masalah logaritma diskret pada ∗ menjadi lebih efisien untuk kasus yang relatif besar. 27

3.2.2 Solusi Masalah Logaritma Diskret pada