• Tidak ada hasil yang ditemukan

Solusi Masalah Logaritma Diskret pada ∗ dengan Algoritme Baby-Step Giant-Step

HASIL DAN PEMBAHASAN

3.2 SOLUSI MASALAH LOGARITME DISKRET PADA ∗

3.2.2 Solusi Masalah Logaritma Diskret pada ∗ dengan Algoritme Baby-Step Giant-Step

AlgoritmeBaby-Step Giant-Step pertama kali dipublikasikan oleh Shanks pada tahun 1971. Algoritme ini merupakan time-memory trade-off dari Algoritme Exhaustive Search yakni situasi dimana memori komputer digunakan untuk mengurangi biaya dan waktu eksekusi program (Menezes et al.1997).

Berikut analisis Algoritme Baby-Step Giant-Step untuk ∗ yang dieksplorasi dari Algoritme Baby-Step Giant-Stepuntuk grup siklik umum.

Misalkan adalah sebuah generator grup siklik ∗, dengan order

adalah , dan polinomial irredusibel berderajad

atas ℤ . Masalah logaritma diskret adalah menentukan , −,

sedemikian sehingga log mod . Untuk menentukan log mod , dengan Algoritme Baby-Step Giant-Step ada dua fase

yang harus dilewati yaitu fase baby-step dan fase giant-step. Ide dasarnya adalah membagi dengan , = √ , sampai ditemukan dalam himpunan { , , , … , }.

Langkah pertama menentukan nilai = √ dimaksudkan untuk menentukan batas minimal banyaknya representasi polinomial yang akan disimpan dalam memori komputer.

Langkah kedua adalah membentuk tabel dengan pasangan , (mod ), < −, dimaksudkan untuk menentukan representasi polinomial sebanyak yang akan disimpan di memori komputer, yakni { , , , … , }. Untuk membentuk tabel pasangan , (mod ) dapat digunakan Algoritme Exhaustive Search. Selanjutnya representasi polinomial– polinomial disimpan dalam memori komputer. Penyimpanan representasi polinomial–polinomial ini disebut fase baby-step.

Langkah ketiga Algoritme Baby-Step Giant-Stepadalah menentukan nilai dan sedemikian sehingga (mod ), untuk suatu . Caranya adalah dengan membagi dengan representasi polinomial sampai ditemukan yang merupakan salah satu anggota { , , , … , }. Banyak

langkah dalam proses pembagian ini adalah . Dalam proses pembagian ini berlaku aturan penjumlahan dan perkalian polinomial dalam .

∶ = : = ∶ = ∶ = ∶ = = Untuk menentukan nilai dan dengan cara membagi dengan representasi polinomial sama artinya dengan mengalikan dengan polinomial . Kalau cara kedua ini yang digunakan maka langkah pertama adalah menentukan dengan menggunakan Algoritme Euclidean yang Diperluas. Selanjutnya kalikan dengan representasi polinomial sampai diperoleh = . Proses menghitung nilai ini disebut fase giant-step.

Jika sudah ditemukan nilai dan , maka selanjutnya dapat ditentukan nilai logaritma diskret . Berdasarkan Definisi Logaritma Diskret :

log mod ⇔ mod Sehingga dari (1) dan (2) diperoleh :

= = = log = log − = = +

Jadi solusi dari mod adalah = + log mod . Algoritme 3.2.2

Algoritme Baby-Step Giant-Step untuk menentukan masalah logaritma diskret

pada ∗

Input : generator grup siklik ∗ berorder = − , dan ∈ ∗, dan polinomial irredusibel atas berderajad .

1) Menetapkan nilai = √

2) Bentuk tabel dengan pasangan , mod , dimana −. 3) Hitung , kemudian tetapkan nilai = .

Bentuk tabel dengan pasangan , mod , , sampai diperoleh nilai dari = .

4) Solusi dari mod adalah + mod .

Dalam Menezes et al.(1997) nilai harapan kompleksitas waktu Algoritme Baby-Step Giant-Stepadalah √ . Implementasinya dengan bantuan sofware Maple 11 dapat dilihat pada Lampiran 3.3.

Contoh 3 (Menentukan masalah logaritma diskret pada grup multiplikatif

dengan Baby-Step Giant-Step)

Diketahui : adalah generator grup multiplikatif ∗,

= + + + + ∈ ∗, dan

= + + . Tentukan log mod . Penyelesaian :

1. Order dari ∗adalah = − =

Jadi = √ = . Artinya banyaknya representasi polinomial yang akan disimpan di memori komputer minimal adalah 12, , yakni

{ , , , … , }

2. = + + polinomial irredusibel atas ℤ , dengan generator

sehingga :

mod + + mod

Tabel 3.2.2 Representasi Polinomial ( mod untuk ∗dengan = + + + + Representasi polinomial mod 0 1 1 2 3 4 5 6 7 + 8 + 9 + 10 + 11 +

Pada Tabel 3.2.2 ini terlihat jika , maka polinomial direduksi ke

mod .

3. Menentukan nilai , = , , , … yang memenuhi kongruensi mod . Agar mudah tentukan terlebih dahulu mod . Untuk menentukan gunakan Algoritme Euclidean

Diperluas : + + + + + + + + + + + + + + mod = + + +

Tabel 3.2.3Hasil Perhitungan , : mod , untuk ∗ dengan = + + + + . Representasi Polinomial : mod 0 + + + + 1 + + + 2 + + + 3 +

Pada saat = , diperoleh nilai = = + , dengan = .

4. Jadi solusi = log mod = + = . + =

Tiga algoritme berikut (Algoritme Baby-Step Giant-Step 2, Algoritme Baby-Step Giant-Step 3, AlgoritmeNaif Square) juga dieksplorasi dari Algoritme Baby-Step Giant-Stepuntuk grup siklik umum.

3.2.3 Solusi Masalah Logaritma Diskret pada dengan Algoritme Baby-Step Giant-Step 2

Misalkan adalah sebuah generator grup siklik ∗, dengan order

adalah , dan polinomial irredusibel berderajad

atas ℤ . Masalah logaritma diskret adalah menentukan , −,

sedemikian sehingga log mod . Untuk menentukan log mod , dengan Algoritme Baby-Step Giant-Step2 juga ada dua

fase yang harus dilewati yaitu fase baby-step dan fase giant-step. Ide dasarnya adalah membagi dengan , sampai ditemukan dalam himpunan { , , , … , }.

Langkah pertama menentukan nilai = √ dimaksudkan untuk menentukan batas minimal banyaknya representasi polinomial yang akan disimpan dalam memori komputer. Sebenarnya tidak harus sama dengan √ ,

boleh kurang atau lebih dari √ tergantung dari kapasitas memori komputer yang digunakan, tetapi pada tulisan ini untuk komputasi diambil nilai = √ .

Langkah kedua adalah membentuk tabel dengan pasangan , (mod ), < −, dimaksudkan untuk menentukan polinomial sebanyak yang akan disimpan di memori komputer, yakni { , , , … , }. Untuk membentuk tabel pasangan , (mod ) dapat digunakan Algoritme Exhaustive Search. Selanjutnya representasi polinomial–polinomial disimpan dalam memori komputer. Penyimpanan polinomial–polinomial ini disebut fase baby-step.

Langkah ketiga Algoritme Baby-Step Giant-Stepadalah menentukan nilai dan sedemikian sehingga (mod ), untuk suatu . Caranya adalah dengan membagi dengan representasi polinomial sampai ditemukan yang merupakan salah satu anggota { , , , … , }. Banyak langkah dalam proses pembagian ini adalah . Dalam proses pembagian ini berlaku aturan penjumlahan dan perkalian polinomial dalam .

∶ = : = ∶ = ∶ = ∶ = = Proses menghitung nilai ini disebut fase giant-step.

Jika sudah ditemukan nilai dan , maka selanjutnya dapat ditentukan nilai logaritma diskret . Berdasarkan Definisi Logaritma Diskret :

log mod ⇔ mod Sehingga dari (1) dan (2) diperoleh :

= = = log = log − = = +

Algoritme 3.2.3

Algoritme Baby-Step Giant-Step 2 untuk menentukan masalah logaritma diskret

pada ∗

Input : generator grup multiplikatif ∗ berorder = − , ∈ ∗, dan polinomial irredusibel atas berderajad .

Output : logaritma diskret log mod 1) Menetapkan nilai = √

2) Bentuk tabel dengan pasangan , mod , dimana −. 3) Hitung , kemudian tetapkan nilai = .

Bentuk tabel dengan pasangan , mod , , sampai diperoleh nilai dari = .

4) Solusi dari mod adalah + mod .

Dalam Menezes et al.(1997) nilai harapan kompleksitas waktu Algoritme Baby-Step Giant-Stepadalah √ . Implementasinya dengan bantuan sofware Maple 11 dapat dilihat pada Lampiran 3.4.

Contoh 4 (Menentukan masalah logaritma diskret pada grup multiplikatif

dengan Baby-Step Giant-Step2)

Diketahui : adalah generator grup multiplikatif ∗,

= + + + + ∈ ∗, dan

= + + . Tentukan log mod . Penyelesaian :

1) Order dari ∗adalah = − =

Jadi = √ = . Artinya banyaknya representasi polinomial yang akan disimpan di memori komputer minimal adalah 12, −, yakni

{ , , , … , }

2) = + + polinomial irredusibel atas ℤ , dengan generator

sehingga :

+ mod

Representasi polinomial yang akan disimpan di memori komputer dapat dilihat pada Tabel 3.2.2 hal 30.

3) Menentukan nilai , = , , , … yang memenuhi kongruensi mod . Agar mudah menentukan terlebih dahulu tentukan

mod dengan menggunakan Algoritme Euclidean yang Diperluas :

Jadi + + + + + mod .

Tabel 3.2.4 Hasil Perhitungan , : mod , untuk ∗

dengan = + + + + . Representasi Polinomial : mod 0 + + + + 1 + + + 2 + + 3 + + + 4 + + 5 + 6

Pada saat = , diperoleh nilai = = , dengan = . 4) Jadi solusi = log mod = + = . + =.

+ +

+ + + + + = +

+ + + + + +

3.2.4 Solusi Masalah Logaritma Diskret pada dengan Algoritme Baby-Step Giant-Step 3

Misalkan adalah sebuah generator grup multiplikatif ∗, dengan order ∗ adalah , ∈ ∗ dan polinomial irredusibel berderajad atas ℤ . Masalah logaritma diskret adalah menentukan , −, sedemikian sehingga log mod . Untuk menentukan log mod seperti halnya pada Algoritme Baby-Step Giant-Step dan Algoritme Baby-Step Giant-Step 2, Algoritme Baby- Step Giant-Step 3 juga harus melewati fase baby-step dan fase giant-step. Ide dasarnya adalah membagi dengan sampai ditemukan ; = ,

< , −, integer positif, < , dengan adalah salah satu anggota himpunan { , , , … , , … , }.

Langkah pertama menentukan nilai = , < , dimaksudkan untuk menentukan batas minimal banyaknya representasi polinomial ,

−. yang akan disimpan di memori komputer.

Langkah kedua adalah membentuk tabel dengan pasangan , mod , ∀ , dimana −, dimaksudkan untuk menentukan representasi polinomial yang akan disimpan di memori komputer, yakni { , , , … , }. Sama seperti pada algoritme Baby-Step Giant-Step, untuk membentuk tabel pasangan , (mod )) juga dapat digunakan Algoritme Exhaustive Search. Fase ini disebut fase baby-step.

Langkah ketiga Algoritme Baby-Step Giant-Step 3 adalah menentukan nilai , dan sedemikian sehingga (mod ), untuk suatu

< , . Caranya adalah membagi dengan representasi polinomial sampai ditemukan , dimana merupakan salah satu anggota { , , , … , }. Dalam proses pembagian ini berlaku aturan penjumlahan dan perkalian polinomial dalam . Banyak langkah dalam proses pembagian ini adalah .

∶ =

∶ =

∶ =

∶ = = Proses menghitung nilai ini disebut fase giant-step.

Jika sudah ditemukan nilai , dan , maka selanjutnya dapat ditentukan nilai logaritma diskret . Berdasarkan Definisi Logaritma Diskret :

log mod ⇔ mod Sehingga dari (1) dan (2) diperoleh :

= = = log = log − = + = + +

Jadi solusi dari mod adalah = + +

log mod .

Algoritme 3.2.4

Algoritme Baby-Step Giant-Step 3 untuk menentukan masalah logaritma diskret

pada ∗

Input : generator grup multiplikatif ∗berorder = − , ∈ ∗, dan polinomial irredusibel atas berderajad .

Output : logaritma diskret log mod . 1) Tetapkan nilai = , < .

2) Bentuk tabel dengan pasangan , mod , ∀ , dimana −.

3) Mencari nilai , dan , sedemikian sehingga mod , untuk suatu < dan .

Nilai harapan kompleksitas waktu Algoritme Baby-Step Giant-Step 2 adalah √ (Menezes et al. 1997). Implementasinya dengan bantuan sofware Maple 11 dapat dilihat pada Lampiran 3.5.

Contoh 5 (Menentukan masalah logaritma diskret pada grup siklik = ∗ denganBaby-Step Giant-Step3)

Diketahui : adalah generator grup multiplikatif ∗,

= + + + + ∈ ∗, dan

= + + . Tentukan log mod . Penyelesaian :

= + + irredusibel atas ℤ . Ambil = √ = √ − = . Jadi banyaknya representasi polinomial yang akan disimpan di memori komputer sebanyak =12 yaitu { , , … , }, generator, maka

= + + = = +

Representasi polinomial yang akan disimpan di memori komputer dapat dilihat pada Tabel 3.2.2 hal 30.

Selanjutnya menentukan nilai dan , yang memenuhi kongruensi

mod . Agar mudah menentukan dan terlebih dahulu tentukan

mod . Ambil = , Sehingga diperoleh = = . Untuk

menentukan gunakan Algoritme Euclidean yang Diperluas :

Jadi mod = + + + + +

Selanjutnya tentukan terlebih dahulu mod , untuk .

+ +

+ + + + + = +

Tabel 3.2.5 Hasil Perhitungan , : mod , untuk ∗ dengan = + + + + . : mod = + + + + + + + = + + + + + + + + = + + + + = + + = =

Pada saat = , diperoleh kongruensi :

+ mod ; = , = , dan = .

Sehingga : + + mod

× + + mod mod 127)

Pada contoh ini banyaknya proses pembagian hingga ditemukan ada 6 langkah. Langkah ini lebih banyak jika dibandingkan dengan banyaknya langkah pada contoh 4 yang menggunakan Algoritme Baby-Step Giant-Step. Dari contoh ini terlihat bahwa jika representasi polinomial yang disimpan di memori komputer besar, maka proses pembagian sampai diperoleh representasi polinomial , ∈ { , , , , … }, akan lebih cepat (banyaknya langkah lebih sedikit), begitu juga sebaliknya.

3.2.5 Solusi Masalah Logaritma Diskret pada dengan Algoritme

Dokumen terkait