BAB III HASIL DAN PEMBAHASAN
Pada bab ini akan dijelaskan hal-hal yang berhubungan dengan masalah logaritma diskret pada
dan bagaimana mengeksplorasinya dengan menggunakan algoritme Exhaustive Search, Baby-Step Giant-Step, Pollard’s rho,
Pohlig-Hellman, dan Index Calculus.
3.1
MASALAH LOGARITMA DISKRET PADA FINITE FIELD
3.1.1 FINITE FIELD
Galois Field adalah nama populer untuk field dengan jumlah elemen terbatas finite. Disebut Galois Field, sebagai penghargaan terhadap Evariste
Galois yang menemukan hubungan antara grup dan persamaan polinomial. Galois Field dinotasikan
, berorder , dengan
prima dan integer positif.
Jika = , maka menurut Teorema 2.3.28
atau bisa juga dinotasikan ℤ
adalah integer modulo p berbentuk field berorder . Setiap operasi aritmetikanya dilakukan dalam modulo
agar hasilnya tetap berada dalam daerah .
Selanjutnya pembahasan akan difokuskan pada .
Berdasarkan Teorema 2.3.31 adalah perluasan field
ℤ . Berdasarkan Definisi 2.3.20
ℤ [x] adalah himpunan semua polinomial dalam peubah x dengan koefisien dalam
ℤ merupakan sebuah ring di bawah operasi penjumlahan dan perkalian polinomial. Misalkan
polinomial tak konstan atas ℤ [ ], maka berdasarkan Teorema 2.3.32 ada ∈
sedemikian sehingga = . Jika ada seperti ini, maka
disebut algebraic atas ℤ Definisi
2.3.33. Selanjutnya berdasarkan Teorema 2.3.43, jika deg
, ℤ = , maka ℤ
merupakan ruang vektor atas ℤ
berdimensi- dengan basis
{ , , , … . , ,
}. ℤ adalah field. Misalkan
∈ ℤ[ ]adalah polinomial irredusibel atas ℤ berderajad , maka menurut Teorema 2.3.14
adalah suatu ideal,
20
dengan = {
| ∈ ℤ
[ ]}. Selanjutnya, berdasarkan Teorema 2.3.34
ℤ [ ] adalah finite field berorder
, dengan operasi penjumlahan dan perkalian polinomial dilakukan dalam modulo
. Dari uraian di atas dan berdasarkan Teorema 2.3.37 dan Teorema 2.3.38,
jika diberikan polinomial irredusibel ∈ ℤ[ ]berderajad
dan = ,
maka setiap
∈ ℤ dapat dinyatakan secara unik dalam bentuk
= + +
+ + , dimana
∈ ℤ , −, dan
≅ ℤ [ ] ≅ ℤ
≅{ + + +
| ∈ ℤ untuk semua
}.
Contoh 1 Finite Field
= +
+ adalah polinomial irredusibel berderajad 4 atas ℤ , dan =
+ + =
= + , maka
= ℤ [ ] = { , , , , , , , , , ,
, ,
, ,
, }
= { , , , , , + , + , + , +
+ , + , + ,
+ + ,
+ + , + + + , +
+ , + } Dari uraian di atas, ada beberapa cara yang dapat dilakukan untuk
merepresentasikan elemen-elemen , diantaranya adalah
dengan representasi grup siklik, representasi polinomial, representasi vektor dan
representasi himpunan. 1
Representasi grup siklik : 0, ,
1
, ..., , dengan
adalah generator
∗
, dimana
∗
= − { }.
2 Representasi polinomial dalam peubah
: +
+ + +
, dimana ∈ ℤ ,
−. 3
Representasi vektor : [ ,
, , ...], dengan
∈ ℤ 4
Representasi himpunan : { ,
, , ...}, dengan
. Cara merepresentasikan elemen-elemen
dengan representasi himpunan mengacu pada tesis Rosdiana 2009. Representasi himpunan selanjutnya
diperlukan pada saat komputasi untuk menentukan masalah logaritma diskret. Pada contoh 1 di atas cara merepresentasikan elemen-elemen
adalah
21
dengan representasi grup siklik dan representasi polinomial. Tabel 3.1.1 berikut memperlihatkan elemen-elemen
dalam beberapa representasi.
Tabel 3.1.1 Elemen-elemen
No Representasi
Himpunan Representasi
Vektor Representasi
Grup Siklik Representasi
Polinomial 1
{} [0,0,0,0]
2 {0}
[1,0,0,0] 1
1 3
{1} [0,1,0,0]
1 1
4 {2}
[0,0,1,0]
2 2
5 {3}
[0,0,0,1]
3 3
6 {0,1}
[1,1,0,0]
4
+ 7
{1,2} [0,1,1,0]
5
+
2
8 {2,3}
[0,0,1,1]
6
+
3
9 {0,1,3}
[1,1,0,1]
7
+ +
3
10 {0,2}
[1,0,1,0]
8
+
2
11 {1,3}
[0,1,0,1]
9
+
3
12 {0,1,2}
[1,1,1,0]
10
+ +
2
13 {1,2,3}
[0,1,1,1]
11
+ +
3
14 {0,1,2,3}
[1,1,1,1]
12
+ + +
3
15 {0,2,3}
[1,0,1,1]
13
+ +
3
16 {0,3}
[1,0,0,1]
14
+
3
Setiap operasi aritmetika dilakukan terhadap polinom yang tidak
dapat direduksi lagi irredusibel dalam ℤ . Secara umum dapat dituliskan sebagai
berikut. Misalkan adalah polinomial irredusibel atas
ℤ berderajad , maka operasi penjumlahan dan perkalian dalam
dapat didefinisikan sebagai berikut :
1. Penjumlahan
Jika = +
+ + +
, = +
+ + +
∈ . Maka
+ =, dimana = +
+ + +
dengan +
mod 2. 2.
Perkalian
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