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