BAB I PENDAHULUAN 1.1 - Analisis Algoritma Baby-Step Giant-Step dan Pohlig-Hellman untuk Menyelesaikan Masalah Logaritma Diskrit

BAB I PENDAHULUAN

1.1 Latar Belakang

  Problema logaritma diskrit adalah sebuah fundamental penting untuk proses pembentukan kunci pada berbagai algoritma kriptografi yang digunakan sebagai sekuritas dari algoritma. Problema logaritma diskrit ini dikatakan susah untuk dicari solusinya. Hal ini dikarenakan problema logaritma diskrit ini susah dihitung dan dicari solusinya secara manual. Cara termudah untuk mencari solusi dari problema ini adalah dengan cara brute force. Namun, hal ini akan memakan waktu yang lama.

  Dalam literatur matematika, dapat ditemukan berbagai algoritma yang dipublikasikan oleh beberapa ahli yang dapat digunakan untuk menyelesaikan problema logaritma diskrit, diantaranya Baby-step giant-step dan Pohlig-Hellman. Kedua algoritma tersebut dirancang untuk digunakan pada grup bilangan yang berbeda-beda, yaitu Baby-step giant-step pada grup yang berubah-ubah (arbitrary

  group) dan Pohlig-Hellman untuk grup dengan faktor prima kecil. Pada teori

  grup, algoritma baby-step giant-step adalah sebuah rangkaian dari langkah yang terdefinisi dengan baik untuk menghitung logaritma diskrit. Algoritma ini merupakan modifikasi dari pengujian perkalian (trial multiplication). Sementara itu, algoritma Pohlig-Hellman adalah sebuah algoritma untuk komputasi dari logaritma diskrit pada grup perkalian dimana order adalah sebuah integer.

  Berdasarkan uraian di atas, maka penulis merasa tertarik untuk mempelajari beberapa algoritma perhitungan logaritma diskrit sekaligus membandingkan proses eksekusi dari beberapa algoritma tersebut dalam mencari solusi dari problema logaritma diskrit. Oleh karena itu, penulis mengambil skripsi yang berjudul “Analisis Algoritma Baby-Step Giant-Step dan Pohlig-Hellman untuk Menyelesaikan Masalah Logaritma Diskrit”.

  1.2 Perumusan Masalah

  Berdasarkan latar belakang penelitian, yang menjadi permasalahan dalam skripsi ini adalah:

  1. Menentukan algoritma yang lebih baik dari Algoritma Baby-Step Giant-Step dengan menentukan Algoritma Pohlig-Hellman di dalam menyelesaikan logaritma diskrit.

  2. Sulitnya memahami proses kerja penyelesaian logaritma secara manual.

  3. Sulitnya memecahkan problema logaritma diskrit secara manual.

  1.3 Pembatasan Masalah

  Masalah yang akan dibahas dalam skripsi ini mencakup:

  1. Bilangan yang digunakan merupakan himpunan bilangan bulat positif dengan batasan nilai antara 10 sampai 9999

  2. Bilangan prima yang digunakan akan dibangkitkan dan diuji dengan menggunakan metode Rabin Miller.

  3. Perangkat lunak akan menampilkan proses perhitungan dari kedua algoritma secara bertahap.

  1.4 Kajian Pustaka Logaritma Diskrit merupakan invers dari eksponensial diskrit dalam grup cyclic.

  Jika diasumsikan G adalah sebuah grup cyclic terbatas dengan order n, g adalah sebuah generator dari G (G = <g>) dan y  G. Logaritma diskrit dari y pada dasar

  g, yang disimbolkan dengan log y adalah integer unik x dan x  Z sedemikian

  g n x

  sehingga y = g . (Boris S. Verkhovsky, 2009, 674).

  Sedangkan, problema logaritma diskrit dapat dideskripsikan sebagai berikut:

  1. Discrete Logarithm Problem (DLP): diberikan sebuah bilangan prima besar p, sebuah generator g dari Z * dan sebuah elemen y  Z *. Problema logaritma

  

p p

x

  diskrit adalah untuk menemukan integer = y  Zp* sedemikian sehingga g mod p.

  2. Group Discrete Logarithm Problem (GDLP): diberikan sebuah grup cyclic terbatas G dengan order n, sebuah generator g  G dan sebuah elemen y  G,

  x GDLP adalah untuk menemukan integer x sedemikian sehingga g = y.

  Sementara itu, asumsi dari logaritma diskrit dapat dideskripsikan sebagai berikut: (Boris S. Verkhovsky, 2009, 674-675)

  Diberikan sebuah bilangan prima besar p yang dipilih secara hati-hati, sedemikian sehingga algoritma diatas tidak bekerja pada DLP. Asumsikan g adalah sebuah generator dari Z * dan sebuah elemen y Z *. Maka secara p p komputasi akan sulit untuk menemukan sebuah integer x sedemikian sehingga y = x g mod p.

  Algoritma yang dapat digunakan untuk menghitung logaritma diskrit mencakup:

  1. Baby-step giant-step

  2. Pohlig-Hellman

  3. Efisien kalkulus indeks

  4. Function field sieve

  5. Pollard’s rho dan Pollard’s lambda

  1. Algoritma Baby-Step Giant-Step Pada teori group, sebuah cabang dari matematika, algoritma baby-step giant-step adalah sebuah rangkaian dari langkah yang terdefinisi dengan baik untuk menghitung logaritma diskrit. Masalah logaritma diskrit adalah merupakan landasan penting pada area kriptografi kunci publik. Kebanyakan dari sistem kriptografi yang paling sering digunakan berdasarkan pada asumsi bahwa logaritma diskrit sangat sulit untuk dihitung, semakin sulit untuk dihitung, maka sekuritasnya dalam transfer data akan semakin tinggi. Salah satu cara untuk meningkatkan kesulitan dari masalah logaritma diskrit adalah dengan mendasarkan kriptosistem pada sebuah group yang besar. (Andrew V. Sutherland, 2007, 49)

  Algoritma baby-step giant-step ini berdasarkan pada sebuah waktu-jarak (space-time tradeoff). Algoritma ini merupakan modifikasi sederhana dari pengujian perkalian (trial multiplication), metode naive untuk menemukan logaritma diskrit.

  Diberikan sebuah grup siklis (cyclic group) G dari order n, sebuah generator  dari grup dan sebuah elemen grup , masalahnya adalah untuk menemukan sebuah integer x sedemikian sehingga:

  x

  =  

  Algoritma baby-step giant-step berdasarkan pada penulisan ulang x sebagai x = im + j, dengan m = n dan 0  i < m dan 0  j < m, sehingga diperoleh:

  • m i j

  ) = ( 

  j

  Algoritma ini akan menghitung nilai  untuk beberapa nilai j terlebih dahulu. Kemudian, memilih sebuah nilai m dan mencoba nilai i pada bagian kiri dari kongruen diatas, sesuai dengan proses dari pengujian perkalian. Pengujian ini dilakukan untuk melihat apakah kongruen dipenuhi oleh salah satu nilai dari j,

  j dengan menggunakan nilai yang telah dihitung sebelumnya.

   Rincian dari algoritma ini adalah sebagai berikut: (Andrew V. Sutherland, 2007, 50)

  Input : sebuah cyclic group G dari order n, memiliki sebuah generator

   dan sebuah elemen .

  x Output : sebuah nilai x yang memenuhi persamaan =  .

  1) mCeiling (√n) (pembulatan ke atas)

  2) Untuk semua nilai j dimana 0 ≤ j < m:

  j j Hitung dan simpan pasangan nilai (j, ) pada sebuah tabel.

  α α

  −m 3) Hitung nilai .

  α 4) γ ← β. 5) Untuk i = 0 sampai (m

  − 1):

  j

  a. Cek apakah ) dari sembarang pasangan pada γ adalah komponen kedua (α tabel.

  b. Jika ya, maka kembalikan nilai im + j.

  −m c. Jika tidak, maka .

  γ ← γ • α

  2. Algoritma Pohlig-Hellman Dalam matematika, algoritma Pohlig-Hellman adalah sebuah algoritma untuk menghitung logaritma diskrit pada sebuah grup perkalian dengan order berupa sebuah integer kecil. Algoritma ini berdasarkan pada Chinese Remainder Theorem.

  Algoritma ini ditemukan oleh Roland Silver, tetapi pertama kali dipublikasikan oleh Stephen Pohlig dan Martin Hellman. Algoritma ini akan dijelaskan dalam grup yang dibentuk dengan mengambil semua elemen dari Z

  p yang relatif prima terhadap nilai p.

  Input : integer p, g, e. x Output : integer x, sedemikian sehingga e (mod p).

   g 1) Tentukan faktorisasi prima dari order dari grup (hitung nilai totient) :

  ? (? ) = ? . ? . …. ? ? ? ?

  2) Dari Chinese Remainder Theorem, diketahui bahwa x = a p + b . Sekarang,

  1

  1

  1

  cari nilai b agar persamaan berikut dipenuhi dengan menggunakan sebuah

  1

  algoritma cepat seperti algoritma Baby-step giant-step:

  ? ( ? ) ? ? ? ( ? ) ? ⁄ ? ⁄ ?

  ? ) (? (mod p)

  ≡

  ? ? ? ( ? ) ? ? ? ( ? ) ? ? ⁄

  ?? ? ? (mod p)

  ? ? ? ( ? ) ? ? ⁄

  = ?? ? (mod p) (menggunakan teorema Euler) ? ( ? ) ?

  ⁄ ? ?

  Perlu dicatat bahwa apabila ≡ 1 (mod p) maka order dari g adalah

  ? ( ? ) ? ⁄ ?

  ?

  lebih kecil dari (mod p) harus sama dengan 1 agar terdapat sebuah solusi. Pada kasus ini, akan terdapat lebih dari satu buah solusi untuk x yang lebih kecil daripada

  φ(p), tetapi karena tidak diperlukan keseluruhan set, maka dapat diset nilai b = 0. Operasi yang sama juga dilakukan untuk p hingga p .

  1 2 n Sebuah modifikasi minor diperlukan ketika sebuah bilangan prima diulang.

  Misalkan ditemukan nilai p sebanyak k+1 buah. Maka dapat diketahui bahwa

  i k+1 k c pada persamaan x = a p + b p +c , dan dapat ditemukan nilai b dengan i i i i i i i cara yang sama seperti sebelumnya.

  3) Proses diakhiri dengan kongruen simultan yang cukup sehingga x dapat diselesaikan dengan menggunakan Chinese Remainder Theorem.

  3. Chinese Remainder Theorem (CRT) Pada abad pertama, seorang matematikawan Tiongkok yang bernama Sun Tzu mengajukan pertanyaan sebagai berikut :

  “Tentukan sebuah bilangan bulat yang bila dibagi dengan 5 menyisakan 3, bila dibagi 7 menyisakan 5, dan bila dibagi 11 menyisakan 7”.

  Pertanyaan Sun Tzu dapat dirumuskan ke dalam sistem kongruen linier : x  3 (mod 5) x  5 (mod 7) x  7 (mod 11) Teorema Chinese Remainder berikut akan digunakan untuk menemukan solusi sistem kongruen linier seperti di atas :

  • m

  1

  2

  ) Jika bentuk (b

  2

  ) (mod m

  1

  2

   (b

  k

  ) (mod m

  1.

  ) m

  2

  (mod m

  2

   b

  1

  1

  2

  1

  2

  1 ) < m

  2

  Jika (b

  ) tersebut. Sehingga, proses dapat dilanjutkan seperti berikut :

  1

  2

  . Hasil modulo menggantikan nilai (b

  ) harus di-modulo nilai m

  ) yang dihasilkan tidak valid, maka ubahlah ke bentuk valid. Bentuk valid dari kongruen linier harus memenuhi persyaratan bahwa nilai sisa modulo harus lebih kecil daripada nilai bilangan modulo. Dalam hal ini, nilai (b

  1

  2

  valid, maka nilai (b

  . Jika tidak

  2

  ) harus lebih kecil daripada nilai m

  1

  2

  k

  ) b

  2 maka

  j

  . m

  1

  ) mempunyai sebuah solusi unik dalam modulo m = m

  k

  (mod m

  k

  ) = 1 untuk i  j. Maka sistem kongruen linier x  a

  , m

  . … . m

  i

  adalah bilangan bulat positif sedemikian sehingga GCD(m

  n

  , …, m

  2

  , m

  1

  Misalkan m

  2

  n .

  2

  1

  (mod m

  2

   b

  2) Substitusikan bentuk hubungan kongruen linier pertama tersebut ke dalam kongruen linier kedua, yang dapat dijabarkan seperti berikut : x

  1 .

  .k

  1

  ) ke dalam hubungan x = b

  Proses penyelesaian sebuah sistem kongruen linier dengan menggunakan

  1

  (mod m

  1

   b

  Secara garis besar, cara kerja dari Chinese Remainder Theorem ini adalah sebagai berikut : 1) Ubahlah kongruen linier pertama x

  Selain itu, Chinese Remainder Theorem juga menggunakan teknik matematika dasar yang digunakan untuk menyelesaikan sistem persamaan linier, yaitu sistem substitusi persamaan.

  1) Proses pencarian nilai invers modulo dengan menggunakan algoritma Extended Euclidean. 2) Proses pencarian hasil dari sistem kongruen linier dengan menggunakan bantuan hasil nilai invers modulo yang diperoleh.

  Chinese Remainder Theorem dapat dibagi menjadi beberapa 2 tahapan, yaitu:

  • m 1.
    • – b
    • – b
    • – b
    • – b
    • – b
    • – b

  h = (b – b )

  2

1 Jika tidak,

  h = (b – b ) mod m

  2

  1

  2

  m k ) 1.

  1  h (mod m

  2

  • -1

  k ) . m (mod m )

  1

  2

  1

  2

  ≡ h (mod m Bagian bercetak tebal tersebut dapat dicari dengan menggunakan algoritma

  • 1

  Extended Euclidean. Misalkan m (mod m ) = z, maka :

  1

  2

  k  h . z (mod m )

  1

  2 Sama seperti proses di atas, jika bentuk h . z (mod m ) yang dihasilkan tidak

  2 valid, maka ubahlah ke bentuk valid. Sehingga, proses dapat dilanjutkan

  seperti berikut :

  Jika h . z < m maka

  2 g = h . z Jika tidak, g = h . z mod m

  2

  k ) ; atau :  g (mod m

  1

  2

  k = g + m .k

  1

  2

  2

  3) Substitusikan hasil yang didapat ke dalam bentuk hubungan kongruen linier pertama, seperti dijabarkan berikut ini : x = b + m .k

  1

  1

  1

  x = b + m .(g + m .k )

  1

  1

  2

  2

  x = b + m .g + m .m .k

  1

  1

  1

  2

  2

  x = (b + m .g) + (m .m ).k

  1

  1

  1

  2

  2

  4) Ulangi langkah (2) dan (3) di atas untuk semua kongruen linier lainnya hingga kongruen linier terakhir (misalkan = n), didapatkan : x = (b + m .g) + (m .m ).k

  n – 1 n – 1 n – 1 n n Hasil yang memenuhi sistem kongruen linier adalah sebesar (b + m .g). n – 1 n – 1

  1.5 Tujuan Penelitian

  Tujuan penyusunan skripsi ini adalah menentukan algoritma yang lebih baik diantara kedua Algoritma Baby-Step Giant-Step dengan Algoritma Pohlig-

  Hellman yang diuji dengan cara membuat suatu perangkat lunak yang

  menerapkan prosedur kerja dari kedua algoritma dalam mencari solusi dalam masalah logaritma diskrit sekaligus membandingkan kecepatan eksekusi dari kedua algoritma tersebut.

  1.6 Manfaat Penelitian

  Manfaat dari penyusunan skripsi ini, yaitu:

  1. Memperoleh hasil analisis mengenai kinerja dari algoritma Baby-step giant- step dan Pohlig-Hellman dalam mencari solusi dari masalah logaritma diskrit.

  2. Mengetahui algoritma terbaik dari kedua algoritma yang diuji.

  1.7 Metode Penelitian

  Tahapan dan langkah-langkah metodologi penelitian dalam tulisan ini adalah sebagai berikut:

  1. Studi Kepustakaan Mengumpulkan dan mempelajari materi yang berhubungan dengan topik dari buku dan internet terutama mengenai proses kerja dari algoritma Baby-step

  giant-step dan Pohlig-Hellman dalam mencari solusi dari masalah logaritma diskrit.

  2. Kajian Teoritis Menganalisis proses kerja dari setiap algoritma.

  3. Analisis Memodelkan sistem dengan menggunakan use case.

  4. Perancangan (Desain) Merancang tampilan dari perangkat lunak.

  5. Implementasi Program Menggunakan Microsoft Visual Basic 2008.

  6. Pengujian Sistem Menguji perangkat lunak dan memperbaiki kesalahan yang muncul.

  7. Penulisan Laporan Menyusun laporan tugas akhir.

1.8 Sistematika Penulisan

  Agar pembahasan lebih sistematika, maka tulisan ini dibuat dalam lima bab, yaitu:

Dokumen yang terkait

BAB I PENDAHULUAN 1.1 Latar Belakang - Perilaku Makan Siap Saji (Fast Food) dan Kejadian Obesitas pada Remaja Putri di SMAN 1Barumun Kecamatan Barumun Kabupaten Padang Lawas Tahun 2014

0 1 7

Perilaku Makan Siap Saji (Fast Food) dan Kejadian Obesitas pada Remaja Putri di SMAN 1Barumun Kecamatan Barumun Kabupaten Padang Lawas Tahun 2014

0 0 13

Lampiran 1 Sampel dan Populasi NO NAMA PERUSAHAAN KRITERIA SAMPEL1 2 3

0 0 17

BAB II TINJAUAN PUSTAKA 2.1 Teori Keagenen (Agency Theory) - Pengaruh karakteristik perusahaan terhadap voluntary disclosure perusahaan pada perusahaan manufaktur yang terdaftar di Bursa Efek Indonesia

0 1 39

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah - Pengaruh karakteristik perusahaan terhadap voluntary disclosure perusahaan pada perusahaan manufaktur yang terdaftar di Bursa Efek Indonesia

0 0 8

Pengaruh Corporate Governance dan Dewan Komisaris Terhadap Manajemen Laba pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia

0 0 15

BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka 2.1.1 Teori Agensi - Pengaruh Corporate Governance dan Dewan Komisaris Terhadap Manajemen Laba pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia

0 0 19

BAB I PENDAHULUAN 1.1 Latar belakang masalah - Pengaruh Corporate Governance dan Dewan Komisaris Terhadap Manajemen Laba pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia

1 3 8

Pengaruh Corporate Governance dan Dewan Komisaris Terhadap Manajemen Laba pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia

0 1 11

BAB II LANDASAN TEORI A. Perilaku Menolong - Hubungan antara belief in just world dengan perilaku menolong pengemis

0 0 8