• Tidak ada hasil yang ditemukan

Pemfaktoran Kunci RSA dengan Metode Penyaringan Kuadratik

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pemfaktoran Kunci RSA dengan Metode Penyaringan Kuadratik"

Copied!
28
0
0

Teks penuh

(1)

 

 

1

 

 

PEMFAKTORAN KUNCI RSA DENGAN METODE

PENYARINGAN KUADRATIK

HERY MULYONO

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

 

 

1

 

 

PEMFAKTORAN KUNCI RSA DENGAN METODE

PENYARINGAN KUADRATIK

HERY MULYONO

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

ii

ABSTRAK

HERY MULYONO. Pemfaktoran Kunci RSA dengan Metode Penyaringan Kuadratik. Dibimbing oleh SUGI GURITMAN dan SISWANDI.

Data yang dikirim melalui jaringan tidak jarang disadap oleh orang lain untuk kepentingan

tertentu. Oleh karena itu, data harus dienkripsi sebelum dikirim. RSA (Rivest Samir Adleman)

adalah salah satu metode kriptografi kunci publik untuk mengenkripsi data. Keamanan algoritme

ini terletak pada sulitnya memfaktorkan bilangan bulat positif yang besar menjadi faktor prima.

Pemfaktoran dilakukan untuk memperoleh kunci privat. Dalam skripsi ini kita mempelajari salah satu metode faktorisasi disebut penyaringan kuadratik. Pada metode ini, pemilihan nilai B,disebut faktor basis, akan sangat berpengaruh pada proses komputasi.

(4)

i

ABSTRACT

HERY MULYONO. Factoring RSA Keys with Quadratic Sieve Method. Supervised by SUGI GURITMAN and SISWANDI.

Sending data by network might be hacked by others for certain purposes. Therefore, the data should be encrypted before it is sent. RSA (Rivest Samir Adleman) is one of public key cryptosystem method for encrypting data. Security of this algorithm relies on the difficulty of factoring large positif integer to prime factors. Factoring is used to obtain a private key. In this thesis, we study one of factoring methods called quadratic sieve. In this method, selection the basic factor will greatly affect on the computational processes.

(5)

iii

PEMFAKTORAN KUNCI RSA DENGAN METODE

PENYARINGAN KUADRATIK

HERY MULYONO

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Sains pada

Departemen Matematika

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(6)

iv

Judul : Pemfaktoran Kunci RSA dengan Metode Penyaringan Kuadratik

Nama : Hery Mulyono

NIM : G54104065

Menyetujui,

Pembimbing I

Dr. Sugi Guritman

NIP. 19620927 199203 1 004

Pembimbing II

Drs. Siswandi, M.Si

NIP. 19640629 199103 1 001

Mengetahui,

Ketua Departemen

Dr. Berlian Setiawaty, MS

NIP.

19650505 198903 2 004

(7)

v

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah SWT atas segala nikmat, karunia, dan pertolongan-Nya sehingga penulisan karya ilmiah ini berhasil diselesaikan. Sholawat dan salam semoga senantiasa tercurahkan kepada nabi besar Muhammad SAW. Terima kasih penulis ucapkan kepada :

1 Dr. Sugi Guritman dan Drs. Siswandi selaku pembimbing pertama dan kedua yang telah dengan sabar membimbing penulis dalam menyusun karya ilmiah ini,

2 Dr. Ir. Hadi Sumarno, MS. selaku dosen pembimbing akademik, Teduh Wulandari Mas’oed,

M.Si. selaku dosen penguji, dan seluruh dosen Departemen Matematika FMIPA IPB, 3 Ibu dan Bapak tercinta atas doa, dukungan, kasih sayang, nasihat, dan kepercayaannya,

4 teman-teman Matematika 41 atas segala dukungan, bantuan, dan ketulusan hati yang telah diberikan,

5 teman-teman DOTA lab: Deni, Amin, Irwan, Kopet, Ali, Judin, Aswin, Akil, Ihsan, Tendi, Haryanto, TB atas doa, nasihat dan bantuan kepada penulis,

6 teman-teman Baristar Squad atas rasa kekeluargaan yang telah diberikan,

7 seluruh staf Departemen Matematika : Bapak Yono, Mas Heri, Ibu Ade, Bapak Acep, Ibu Susi, Mas Bono, Mas Deni yang telah membantu penulis dalam administrasi dan sebagainya. Penulis menyadari bahwa dalam tulisan ini masih terdapat kekurangan, oleh kerena itu penulis mengharapkan saran dan kritik dari semua pihak. Semoga tulisan ini bermanfaat bagi semua pihak yang memerlukan .

Bogor, April 2012

(8)

vi

RIWAYAT HIDUP

Penulis dilahirkan di Bogor,pada tanggal 1 Oktober 1986 dari pasangan Willy Suparman dan Gusnimar Aliawaty. Penulis merupakan putra pertama dari satu bersaudara. Pendidikan yang telah ditempuh oleh penulis antara lain SDN Empang II (Bogor, Jawa Barat) tahun 1992-1998, SLTPN 4 Bogor (Bogor, Jawa Barat) tahun 1998-2001, SMAN 3 Bogor (Bogor, Jawa Barat) tahun 2001-2004, dan Institut Pertanian Bogor Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam 2004-2012. Penulis diterima di Institut Pertanian Bogor melalui jalur SPMB (Seleksi Penerimaan Mahasiswa Baru) pada tahun 2004.

Disamping kegiatan akademis, penulis pernah menjadi asisten praktikum matakuliah Algoritma dan Pemrograman pada tahun ajaran 2006-2007. Penulis juga aktif dalam kegiatan kemahasiswaan yaitu menjadi panitia pada Try Out Gumatika tahun 2006, Matematika Ria pada

(9)

vii

DAFTAR ISI

Halaman

DAFTAR TABEL ………. viii

DAFTAR LAMPIRAN ………. viii

I PENDAHULUAN 1.1 Latar Belakang ………...…. 1

1.2 Tujuan ………. 1

II LANDASAN TEORI ……….. 1

III PEMBAHASAN 3.1 Faktorisasi Trial Division ………... 5

3.2 Faktorisasi Fermat ………... 5

3.3 Faktorisasi Kraitchik dan Dixon ………..………... 5

3.4 Smoothness………... 6

3.5 Faktorisasi Penyaringan Kuadratik ………..………... 7

IV SIMPULAN 4.1 Simpulan ………. 10

4.2 Saran ………... 10

DAFTAR PUSTAKA ……… 11

(10)

viii

DAFTAR TABEL

Halaman 1 Perbandingan waktu ……… 9

2 Pemfaktoran N………. 9

DAFTAR LAMPIRAN

Halaman

1 Pembangkitan kunci RSA ……… 13

2 Pembangkitan bilangan prima acak ………. 13

(11)

1

I PENDAHULUAN

1.1Latar Belakang

Kriptografi „cryptography‟ berasal dari bahasa yunani „cryptos‟ artinya rahasia dan „graphein‟ artinya tulisan, jadi kriptografi berarti tulisan rahasia. Sedangkan menurut definisi kriptografi adalah studi teknik matematik yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi data.

Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976 saat Diffie dan Hellman mempublikasikan ”New Directions in Cryptography”. Tulisan ini

memperkenalkan konsep revolusioner

kriptografi kunci publik dan juga

memberikan metode baru untuk pertukaran

kunci, keamanan yang berdasar pada

kekuatan masalah logaritma diskret.

Meskipun Diffie dan Hellman tidak memiliki realisasi praktis pada ide enkripsi kunci publik saat itu, idenya sangat jelas dan menumbuhkan ketertarikan yang luas pada komunitas kriptografi. Pada 1978 Rivest, Shamir dan Adleman menemukan rancangan enkripsi kunci publik dan tanda tangan digital, yang sekarang disebut RSA. Rancangan RSA berdasar pada masalah faktorisasi yang sulit untuk kriptografi, dan menggiatkan kembali

usaha untuk menemukan metode yang lebih efisien untuk pemfaktoran.

Pada awalnya pemfaktoran ini

menggunakan metode Trial Division,

kemudian digantikan oleh metode Fermat karena jauh lebih cepat. Namun metode iterasi Fermat masih terlalu lambat untuk memfaktorkan bilangan berdigit ratusan contohnya untuk faktorisasi kriptografi RSA. Beberapa metode baru telah dikembangkan

untuk memecahkan masalah tersebut

diantaranya metode Elliptic Curve, metode Continued Fraction, metode Quadratic Sieve, dan metode Number Field Sieve.

Metode Quadratic Sieve (Penyaringan

Kuadratik) ditemukan oleh Carl Pomerence pada tahun 1981, sebagai perluasan ide dari Kraitchik dan Dixon. QS adalah algoritme

pemfaktoran tercepat sampai metode Number

Field Sieve ditemukan pada tahun 1993. 1.2Tujuan

Tujuan dari penulisan ini adalah untuk

mempelajari metode Quadratic Sieve

sehingga dapat memfaktorkan kunci dari kriptografi RSA dan mengimplementasikan algoritme Quadratic Sieve dengan perangkat lunak Maple 13.

II LANDASAN TEORI

Definisi 2.1 (Keterbagian)

Misalkan Bilangan b dikatakan membagi a jika ada integer n sehingga , dinotasikan . Dalam hal ini b disebut juga pembagi atau faktor dari a. Untuk kasus b tidak membagi a dinotasikan dengan .

[Menezes, 1997] Definisi 2.2 (Pembagi Bersama)

Suatu bilangan bulat c dikatakan pembagi bersama dari a dan b jika dan .

[Niven, 1991] Teorema 2.1 (Teorema Dasar Aritmatika (TDA))

Setiap integer dapat dituliskan sebagai hasil kali beberapa bilangan prima.

dengan adalah integer

dan bilangan prima, untuk [Crandall, 2005]

Definisi 2.3 (Pembagi Bersama Terbesar)

Suatu bilangan bulat tak negatif d,

dikatakan sebagai pembagi bersama terbesar atau greatest common divisor (gcd) dari bilangan bulat a dan b jika

Dengan adalah

bilangan bulat positif.

[Niven, 1991] Definisi 2.4 (Floor)

Floor dari x yang dinotasikan oleh adalah bilangan bulat terbesar yang kurang dari atau sama dengan x.

[Menezes, 1997] Definisi 2.5 (Ceilling)

Ceiling dari x yang dinotasikan oleh adalah bilangan bulat terkecil yang lebih besar atau sama dengan x.

(12)

2

Definisi 2.6 (Prima)

Integer dikatakan bilangan prima jika bilangan tersebut hanya dapat dibagi oleh 1 dan p. Integer positif yang bukan prima disebut komposit.

[Crandall, 2005] Definisi 2.7 (Relatif Prima)

Jika maka dua integer a dan b dikatakan relatif prima.

[Menezes, 1997] Definisi 2.8 (Fungsi Phi Euler)

Dinotasikan dengan adalah

banyaknya integer positif yang kurang dari n dan koprima (relatif prima) dengan n, untuk

.

[Guritman, 2010] Definisi 2.9 (Himpunan Bilangan Bulat Modulo n)

Misalkan N adalah suatu integer positif.

Himpunan integer modulo N, dinotasikan ,

merupakan suatu himpunan dari integer

– .

[Menezes, 1997] Definisi 2.10 (Kongruensi)

Jika a dan b adalah integer, maka a disebut kongruen ke b modulo n ditulis

, apabila n membagi – .

integer n disebut modulus dari kongruensi. [Menezes, 1997] Teorema 2.2

Misalkan dan . Maka : 1. Jika , maka . 2. Jika , maka .

[Guritman, 2010] Teorema 2.3 (Sifat-sifat Kongruensi)

Untuk semua maka

berlaku berikut ini.

1. Refleksif : .

2. Simetrik : jika , maka

3. Transitif : jika dan

, maka

4. Jika dan ,

maka

5. Jika dan ,

maka

6. Jika maka

7. Jika , maka

.

8. Jika , maka

[Guritman, 2010] Algoritme 2.1 (Euclid yang diperluas) Input : Dua integer tak negatif, a dan b

dengan .

Output: dan bilangan bulat x dan y yang memenuhi . 1. Jika maka tetapkan

.

2. Tetapkan nilai

.

3. Selama lakukan iterasi berikut : 3.1Tentukan – 3.2Tentukan 4. Didapatkan [Menezes, 1997] Teorema 2.4 (Sifat-sifat Fungsi Euler) 1. Jika p prima maka – .

2. Jika , maka

3. Jika , maka

[Guritman, 2010] Teorema 2.5 (Faktorisasi Trial Division)

Misalkan , maka salah satu

faktor a dan b pasti kurang dari atau sama dengan ⌊ ⌋ .

[Crandall, 2005] Teorema 2.6 (Faktorisasi Fermat)

Jika N adalah bilangan komposit maka ada bilangan x dan y sehingga

[Crandall, 2005] Definisi 2.11 (B-smooth)

Misalkan B sebuah bilangan bulat positif. Sebuah bilangan bulat N dikatakan B-smooth jika semua faktor prima dari N kurang dari atau sama dengan B.

(13)

3

Teorema 2.7 (Faktorisasi Kraitchik dan Dixon)

Untuk mendapatkan faktor a pada

dan maka

pelacakannya dapat dilakukan dengan

algoritme dengan

,

[Crandall, 2005] Definisi 2.12 (Fungsi)

Misalkan A dan B himpunan. Relasi biner f dari A ke B merupakan suatu fungsi jika

setiap anggota di dalam A dihubungkan

dengan tepat satu anggota di dalam B. Jika f adalah fungsi dari A ke B maka dapat

dituliskan f A: B yang artinya f

memetakan A ke B.

Himpunan A disebut domain dan

himpunan B disebut codomain. Jika

maka image dari x adalah himpunan B

dimana aturan f berlaku pada x. Imagey dari x dinotasikan sebagai

Jika maka sebuah preimage dari B

adalah sebuah anggota dimana

Himpunan seluruh anggota dalam

Y memiliki sedikitnya sebuah preimage

disebut image dari f, dinotasikan Im(f). [Munir, 2006] Definisi 2.13 (Fungsi satu-satu)

Suatu f A: Bdisebut fungsi satu-satu (1-1) jika tidak ada dua anggota A yang

memiliki image (bayangan) yang sama.

Dengan kata lain, jika a dan b adalah anggota

himpunan A, maka bilamana

Jika maka implikasinya

adalah .

[Munir, 2006] Definisi 2.14 (Fungsi Onto)

Suatu f A: Bdisebut fungsi onto jika

setiap anggota himpunan B merupakan

bayangan dari satu atau atau lebih anggota himpunan A.

[Munir, 2006] Definisi 2.15 (Fungsi Bijeksi)

Jika f A: B adalah fungsi satu-satu dan fungsi onto, maka f disebut fungsi bijeksi.

[Munir, 2006]

Definisi 2.16 (Fungsi Satu Arah)

Suatu fungsi f A: B disebut dengan

fungsi satu arah jika untuk setiap

a

A

,

( )

f a

adalah mudah dihitung, tetapi untuk

“kebanyakan“

b

Im( )

f

adalah secara

perhitungan tidak layak (computationally

infeasible) dapat menentukan

a

A

sehingga

b

f a

( ).

[Guritman, 2003] Definisi 2.17 (Fungsi Satu-Arah Pintu Jebakan)

Fungsi satu-arah pintu jebakan adalah

fungsi satu-arah

f

:

A

B

yang apabila

diberikan informasi ekstra (yang disebut informasi pintu jebakan), maka perhitungan

mencari nilai

x

A

,

diketahui

y

B

sehingga

y

f x

( ),

menjadi mudah. [Guritman, 2003] Definisi 2.18 (Residu Kuadratik)

Misalkan m adalah integer positif dan a

adalah sembarang integer sehingga

Maka, a disebut residu

kuadratik modulo m jika kongruensi

mempunyai solusi, sebaliknya

(jika tidak mempunyai solusi) a disebut non-residu kuadratik modulo m.

[Guritman, 2003] Definisi 2.19 (Sistem Residu Terreduksi)

Himpunan berkardinal r, dengan , yaitu disebut sistem residu terreduksi (SRT) modulo n jika

dan

.

[Niven, 1991] Definisi 2.20 (Legendre )

Misalkan p prima ganjil dan a adalah sembarang integer, simbol Legendre didefinisikan sebagai 0 jika , 1 jika a adalah residu kuadratik modulo p, dan -1 jika a adalah non-residu kuadratik modulo p.

(14)

4

III PEMBAHASAN

Data yang dikirim melalui jaringan tidak jarang disadap oleh orang lain untuk kepentingan tertentu, sehingga timbul usaha untuk melakukan pengkodean terhadap data sebelum dikirim melalui jaringan agar tidak bisa dibaca oleh penyadap. Pengubahan data asli menjadi kode rahasia disebut proses data encryption (enkripsi). Setelah data rahasia sampai ke tujuan maka data ini dikembalikan ke bentuk aslinya, proses ini disebut data decryption (dekripsi). Ilmu matematik yang mendasari teknik enkripsi dan dekripsi disebut kriptologi sedangkan teknik dan sains

dari proses enkripsi-dekripsi disebut

kriptografi. Naskah asli disebut sebagai plainteks dan naskah rahasia (yang telah di-enkrip) disebut cipherteks.

Kriptografi secara garis besar dibagi kedalam kriptografi modern dan klasik. Pada kritografi klasik, kriptografer menggunakan

algoritme yang sederhana, yang

memungkinkan cipherteks dapat dipecahkan dengan mudah (melalui penggunaan statistik, terkaan, intuisi, dan sebagainya). Algoritme

kriptografi modern dibuat sedemikian

sehingga kritanalis (pihak yang berusaha menemukan rahasia (plaintext atau kunci) dari chiperteks) sangat sulit memecahkan cipherteks tanpa mengetahui kunci.

Algoritme kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter. Operasi dalam mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1. Algoritme enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk

rangkaian bit. Rangkaian bit yang

menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit, demikian sebaliknya. Secara garis besar ada dua kategori teknik kriptografi, yaitu: teknik simetris dan teknik asimetris. Teknik simetris berarti kunci/kode untuk melakukan enkripsi sama dengan kunci/kode untuk melakukan dekripsi. Teknik asimetri disebut juga sebagai teknik kunci publik, menggunakan kunci yang berbeda antara enkripsi dan dekripsi.

Dari sekian banyak algoritme kriptografi asimetris yang pernah dibuat, algoritme yang paling populer adalah algoritme RSA. Keamanan kriptografi RSA yaitu terletak pada sulitnya memfaktorkan bilangan yang

besar menjadi faktor-faktor prima.

Pemfaktoran dilakukan untuk memperoleh kunci privat. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritme yang mangkus, maka selama itu pula keamanan algoritme RSA tetap terjamin.

Pembangkitan Kunci RSA

1. Pilih dua bilangan prima p dan q yang

memenuhi syarat keamanan, .

2. Hitung dan – – . 3. Pilih e yang relatif prima dengan .

4. Gunakan algoritme Euclidean diperluas

untuk menghitung integer

.

5. Kunci publik pasangan kunci

privat d. Contoh 3.1

Misalkan Hery akan membangkitkan kunci publik dan kunci privat. Hery memilih

dan (dalam praktek, p dan

q haruslah bilangan yang memenuhi syarat keamanan). Selanjutnya, Hery menghitung

dan

– – . Kemudian Hery

memilih , karena 47 relatif prima dengan 220, dengan menggunakan algoritme Euclidean diperluas didapatkan . Sehingga didapatkan pasangan kunci publik (253,47) dan kunci privat 103.

Tujuan kriptanalis di dalam skema kunci publik yang menggunakan algoritme RSA adalah ingin mendapatkan plainteks m dari

cipherteks c dengan bermodalkan kunci

publik . Di dalam teori bilangan, masalah ini disebut problem RSA. Salah satu cara untuk memecahkan problem RSA yaitu dengan cara mencari faktor dari ,

kemudian menghitung

( – ( – , dan selanjutnya menghitung

d sebagai invers dari e yang pada akhirnya didapatkan . Dengan pendekatan ini dapat dikatakan bahwa problem RSA

ekuivalen dengan problem faktorisasi n.

Sejauh ini belum ada algoritme yang efisien

untuk memecahkan problem tersebut.

Beberapa algoritme tentang faktorisasi

integer: Trial Division, Pollard’s rho, Elliptic Curve, Quadratic Sieve, Number Field Sieve Factoring, dan lain-lain.

(15)

5

Sebelum masuk kepembahasan metode

faktorisasi penyaringan kuadratik, ada

baiknya kita mengetahui metode–metode

yang mendasari faktorisasi penyaringan kuadratik.

3.1Faktorisasi Trial Division

Misalkan maka salah satu

faktor a dan b pasti kurang dari atau sama dengan ⌊ ⌋ . Jika N genap salah satu faktornya pasti 2. Jika N ganjil untuk mendapatkan faktornya, N diuji apakah habis dibagi 3 dan seterusnya sampai ⌊ ⌋. Metode ini sangat lambat terutama jika N berukuran sangat besar dan produk dari dua prima yang ukurannya hampir sama.

3.2Faktorisasi Fermat

Jika N adalah bilangan komposit dan N

dapat dinyatakan sebagai maka

adalah faktor dari N.

Jika N ganjil dan , maka bentuk

dijamin tercapai dengan

dan karena N ganjil maka a dan b pasti ganjil, sehingga x dan y pasti integer.

Berdasarkan ide dasar diatas, untuk

memformulasikan algoritmenya kita

definisikan fungsi yang

berfungsi untuk mencari nilai , dengan x adalah integer dengan nilai terkecil ⌈ ⌉ dan setiap nilai x diuji apakah kuadrat. Jika sudah diperoleh kuadrat, maka proses

berhenti dan .

Sehingga semakin kecil y maka looping akan semakin sedikit. Dengan demikian kasus terbaik algoritme Fermat terjadi ketika nilai a dan b berdekatan

) dan kasus terburuknya terjadi pada saat

untuk p prima. Dari kasus

terburuknya diperoleh

⌋ ⌊

Dari deskripsi di atas, kecepatan

algoritme Fermat dan Trial Division bisa

dikatakan berimbang, keduanya sama – sama

memerlukan O( operasi.

3.3Faktorisasi Kraitchik dan Dixon Metode faktorisasi Kraitchik dan Dixon adalah pengembangan dari faktorisasi Fermat

.

Teorema 3.1

Jika

maka dapat disimpulkan

bahwa

Bukti:

Misal .Jika

maka dapat

disimpulkan bahwa . Adb :

.

Misal :

Karena gcd tidak negatif dan

maka kita tinggal membuktikan

.

Untuk dan berarti kontradiksi dengan .

Untuk dan berarti kontradiksi dengan .

Jadi haruslah Dengan demikian untuk mendapatkan faktor a dalam formulasi algoritmenya, dapat dilakukan pelacakan pada integer x dan y sedemikian sehingga

,

Dengan ide dasar ini, maka metode

Fermat bisa dipercepat sebagaimana

dideskripsikan dalam formulasi berikut ini

sehingga dapat didefinisikan barisan

dengan

⌈ ⌉ dan

dengan sifat dengan

Pada metode Fermat N didapatkan pada

saat kuadrat. Sedangkan pada metode

Kraitchik tidak harus menunggu sampai kuadrat, tetapi manakala ada subbarisan

{ } { } dengan ∏

kuadrat, maka faktor dari N bisa diperoleh. Dari persamaan diatas didapatkan

∏ ∏

∏ ∏ atau dapat

ditulis dengan

dan √∏

Algorime pelacakan

(16)

6

2. Didefinisikan himpunan

B disebut

faktor basis dan adalah banyaknya semua prima kurang dari atau sama dengan B.

3. Mulai dari integer ⌈ ⌉ sampai

dengan didefinisikan barisan dan dengan langkah penyaringan :

a)

b) Faktorkan dalam representasi

TDA,

c) Jika setiap p berada dalam F, maka x dan s masuk dalam barisan.

4. Tentukan subbarisan dan

dengan cara :

a) Dari masing-masing representasi

TDA untuk didefinisikan vektor

biner dengan

panjang

b) Dengan metode aljabar linear,

masuk dalam barisan jika

tak – bebas linear.

5. Hitung ∏

√∏ Jika maka

salah satu faktor nontrivial dari N adalah

dan jika atau

maka N adalah bilangan prima.

Contoh 3.2

Misalkan diberikan N = 253.

1. Definisikan B = 10, maka F = {2,3,5,7}.

2. Hitung ⌈ ⌉ maka

Faktor TDA dari

Dari kalkulasi ini diperoleh

3. Hitung maka

Faktor TDA dari

Dari kalkulasi diperoleh

4. Hitung maka

Faktor TDA dari

karena maka x tidak terpilih.

5. Hitung maka

Faktor TDA dari

Dari kalkulasi diperoleh

tak – bebas linear, sehingga

dan

( , jadi salah satu

faktor dari 253 adalah

Dengan berdasarkan ide dasar yang sama

( tetapi sedikit berbeda pada

pelacakannya. Untuk mencari x dan y yang

memenuhi persamaan

pada metode faktorisasi

Dixon dipilih x secara acak dan menghitung

sehingga . Maka

salah satu faktor nontrivial dari N adalah

.

Contoh 3.3

Misalkan diberikan

1. Ambil sembarang x, misal

2. Cari x dan y sehingga persamaan

terpenuhi.

,

,

3. Lihat didapatkan

sehingga kita mempunyai

Perhatikan

bahwa

dan bahwa

sehingga persamaan

terpenuhi.

4. Hitung karena

maka didapatkan salah

satu faktor dari 3.4Smoothness

Berdasarkan teorema dasar aritmatika (teorema 2.1), setiap integer dapat dituliskan sebagai hasil kali beberapa

bilangan prima. dengan

adalah integer dan bilangan prima untuk

lalu untuk setiap tidak nol

atau kurang dari sama dengan batas smoothness, katakanlah B, maka integer n, dikatakan B-smooth.

Contoh 3.4

Misal diberikan jika kita

tetapkan apakah n 7-smooth?

Diketahui karena

faktor – faktor prima dari N yaitu maka dengan demikian N adalah 7-smooth,

tetapi jika batas smoothness B dirubah

menjadi 5, maka N dikatakan tidak 5-smooth. 3.5Faktorisasi Penyaringan Kuadratik

(17)

7

pengoptimalan pada metode penyaringannya. Hal ini terkait dengan:

1. Memilih nilai B yang cukup optimal.

2. Memilih barisan prima

yang bisa mempercepat proses

penyaringan.

3. Menentukan barisan pelacakan

sehingga memperbesar

probabilitas bahwa semua faktor prima

dari berada dalam

Dalam hal ini

disebut B-smooth.

Pada metode Kraitchik kita mengambil sembarang B sehingga didapatkan himpunan F. Dalam tahapan penyaringan dari metode Kraitchik, besar kecilnya nilai B sangat

mempengaruhi kecepatan keberhasilan

faktorisasi dan penggunaan memori. Jika nilai B kecil, kita mempunyai keuntungan sehingga kita tidak membutuhkan banyak B-smooth residu untuk mendapatkan s, tetapi jika B terlalu kecil maka akan sulit untuk

mendapatkan s yang B-smooth. Sehingga

dibutuhkan nilai B yang optimal sehingga dapat mengoptimalkan waktu dan memori. Fakta yang cukup relevan adalah probabilitas

bahwa suatu anggota dalam merupakan

B-smooth adalah sekitar (Crandall, 2005). Sebagai ilustrasi, jika

maka peluang integer

acak dalam merupakan B-smooth adalah

0.0510. Jika penentuan barisan menggunakan

metode Fermat √ maka peluang

bahwa s adalah B-smooth menjadi lebih baik,

yaitu sekitar

Pada

pelacakan ini penghitung s cukup dengan

dan s positif.

Misalkan diberikan suatu nilai B, berapa waktu yang diperlukan untuk menguji bahwa suatu nilai s adalah B-smooth untuk suatu

nilai x? Pertanyaan tersebut perlu

mendapatkan perhatian karena peluang

bahwa s adalah B-smooth cukup kecil

sehingga uji tersebut akan dilakukan

berulang-ulang. Metode termudah yang terkait dengan pertanyaan tersebut adalah dengan trial division (dengan representasi TDA). Metode tercepat adalah dengan

Penyaringan Eratosthenes yang hanya

melibatkan (ln ln B) operasi, namun metode ini memerlukan memori besar.

Dalam penyaringan Kraitchik dan Dixon

dipilih F adalah himpunan semua prima

dengan merupakan

banyaknya semua prima kurang dari atau

sama dengan B. Sebagaimana dinyatakan

sebelumnya bahwa nilai terkait

banyaknya vektor biner tak-bebas linear yang diperlukan. Jadi nilai yang kecil akan mempercepat proses penyaringan.

Jika p adalah prima yang membagi

maka ini

berarti N merupakan residu kuadratik modulo

p (bilangan Legendre Dengan

demikian, prima yang menyebabkan N

bukan residu kuadratik modulo p tidak layak

untuk dijadikan anggota F. Jadi, F

selayaknya didefinisikan sebagai

{ } sehingga

(Crandall, 2005).

Perhatikan bahwa karena probabilitas

untuk satu s merupakan B-smooth adalah

maka harapan untuk mendapatkan satu s

yang B-smooth adalah Dengan demikian,

harapan untuk mendapatkan s yang B-smooth

sebanyak adalah melibatkan

langkah (operasi) sebanyak

Jika pengujian s adalah B-smooth

diasumsikan menggunakan metode Fermat,

maka langkah yang diperlukan bisa

dinyatakan sebagai fungsi

(

dari pendefinisian fungsi ini, akan dicari (dengan pendekatan) nilai B sebagai fungsi

dari N yang meminimalkan T(B). Untuk

menyederhanakan didefinisikan sehingga

kemudian dicari bilangan

kritisnya diperoleh dari persamaan karena dan

maka persamaannya menjadi

dengan pendekatan selanjutnya diperoleh

sehingga

(18)

8

dari hasil ini menunjukkan bahwa estimasi running time adalah ketika dipilih nilai B adalah √

Secara garis besar algoritme Penyaringan kudratik adalah sebagai berikut.

1. Inisialisasi

a. Tentukan nilai B

⌈√ ⌉

b. Tentukan himpunan

{ | }

2. Penyaringan

a. Saring barisan untuk

⌈ ⌉ dan

yang memenuhi merupakan

B-smooth. Catatan bahwa nilai awal barisan bisa kurang dari ⌈ ⌉ asalkan nilainya tidak jauh dari

Dalam hal ini, haruslah

yang terkait

dengan formulasi vektor binernya. b. Dapatkan sebanyak +c) hasil

saringan pasang dan

dihimpun kedalam himpunan S. Catatan bahwa nilai c adalah integer positif kecil (misalkan

tergantung besarnya N).

Nilai digunakan untuk

mengatisipasi terjadinya

kegagalan faktorisasi pada

langkah terakhir. 3. Kalkulasi Aljabar Linear

a. Untuk setiap nyatakan s dalam representasi TDA

dengan secara terurut. b. Dari setiap repsentasi TDA dari s,

definisikan vektor biner Dengan panjang bit. Cacatan

bahwa jika maka bit

pertama dari adalah “0” ketika

dan “1” ketika

c. Dari sebanyak

vektor biner definisikan matrik A berukuran

d. Dari matriks A, dengan metode

aljabar linear, pilih r vektor yang tak-bebas linear dan himpunan anggota-anggota S yang terkait

yaitu ( (

(

4. Faktorisasi

a. Dari himpunan H, hitung

(∏ √∏ b. Hitung

c. Jika maka g adalah

faktor dari N. Jika

faktorisasi gagal.

Catatan bahwa dalam kasus gagal, bisa kembali ke Langkah-3 untuk mencari r vector tak-bebas linear yang lain. Jika A tidak memuat himpunan vektor yang tak-bebas linear, maka nilai B atau c harus diperbesar.

Contoh 3.4:

Misalkan diberikan N = 253 1. Inisialisasi

Tentukan nilai √ maka

didapatan himpunan 2. Penyaringan ⌈ ⌉ 3. Kalkulasi Aljabar Linear

[ ] 4. Faktorisasi

Dari himpunan H didapat,

dan

( Jadi salah

satu faktor dari 253 adalah

Pada metode Penyaringan Kuadratik pemilihan nilai B akan mempengaruhi cepat atau lambatnya proses penyaringan dan

kalkulasi Aljabar Linearnya, seperti

(19)
[image:19.595.98.526.39.812.2]

9

Tabel 1 Perbandingan Waktu

No bit p q B Waktu (detik)

Penyaringan Kalk alin

1 10 733 691 19 0 0

2 20 596209 746153 110 2.542 0.015

3 30 812972143 669145397 471 14.773 0.046

4 30 812972143 669145397 4710 1.185 1.404

5 40 648485443343 1022548977533 1654 245.202 0.015

6 40 648485443343 1022548977533 16540 20.576 12.994

7 50 806704852939511 945719412570883 5072 1924.823 1.762

8 50 806704852939511 945719412570883 50720 606.875 142.538

Spesifikasi computer yang digunakan adalah sebagai berikut prosesor Intel®

Core™ i3 CPU 530 @ 2.93GHz, RAM 4GB,

system type 32-bit OS. Dari tabel terlihat bahwa untuk nilai p dan q yang sama tetapi nilai B yang berbeda, didapatkan perbedaan waktu komputasi pada penyaringan dan kalkulasi aljabar linearnya. Dari tabel tersebut juga terlihat bahwa setiap penambahan bit pada nilai p dan q akan meningkatkan waktu komputasinya. Untuk nilai p dan q sebesar 60 bit, 2 jam proses komputasi tidak menghasilkan solusi, sehingga saya hentikan proses komputasinya.

Untuk menguji keakuratan algoritme Penyaringan Kuadratik diatas maka akan

dilakukan 10 percobaan dengan memasukkan nilai N secara acak.

Tabel 2 Pemfaktoran N

No N g

(20)

10

IV SIMPULAN DAN SARAN

4.1 Simpulan

Ada banyak metode untuk menfaktorkan suatu bilangan komposit tetapi sampai sekarang belum ditemukan metode yang benar-benar efektif dan efisien, sehingga kriptografi RSA masih layak digunakan.

Pemilihan nilai B akan sangat

berpengaruh pada proses komputasi dari Metode Penyaringan Kuadratik. Jika nilai B

kecil maka proses penyaringan akan

memakan waktu yang lama, bahkan jika nilai B terlalu kecil maka solusi tidak akan

didapatkan. Tetapi jika nilai B terlalu besar maka proses perhitungan pada Aljabar Linear akan memakan waktu yang lama.

4.2 Saran

Bagi yang berminat, algoritme ini masih dapat dikembangkan, karena masih belum

ditemukan algoritme yang benar-benar

(21)

11

DAFTAR PUSTAKA

Crandall, R. dan Pemorance, C. 2005.

Prime Number a Computational

Perspective. Springer. New York. Guritman, S. 2010. Faktorisasi dan

Logaritme Diskret. Departemen

Matematika FMIPA IPB. Bogor. Menezes, A.J. Oorschot, P.C.V. dan S

Vanstone. 1997. Handbook of

Cryptography. CRC Press. Inc. New York.

Munir, A. 2006. Kriptografi. Informatika. Bandung.

Niven, I. Zuckerman, H.S. dan Montgomery, L.H. 1991. An

Introduction to The Theory of

(22)

12

 

(23)

13

LAMPIRAN

1. Pembangkitan kunci RSA

>

2. Pembangkitkan bilangan prima secara acak

(24)

14

3. Penyaringan Kuadratik

Prosedur untuk melis semua bilangan prima

>

Prosedur untuk menentukan vektor biner yang direpresentasikan dengan TDA

>

(25)

15

(26)

16

Prosedur untuk memfaktorkan integer berdasarkan TDA

>

(27)

17

(28)

Gambar

Tabel 1 Perbandingan Waktu

Referensi

Dokumen terkait

[r]

Dalam hal pembelian Unit Penyertaan REKSA DANA BNP PARIBAS RUPIAH PLUSdilakukan oleh Pemegang Unit Penyertaan melalui media elektronik, maka formulir pemesanan pembelian

Berdasarkan hasil penelitian yang telah dilakukan di dapatkan hasil berupa aplikasi Kmois yang dapat berjalan di sistem android dan petunjuk peggunaan sebagai

Pada siklus II ini disampaikan materi tentang pemanfaatan bagian tumbuhan yang sering dimanfaatkan manusia yang dapat mempengaruhi keseimbangan lingkungan (ekosistem).

(1) Instrumen pengumpulan data profil desa dan kelurahan sebagaimana dimaksud dalam Pasal 24 huruf a terdiri dari daftar isian data dasar keluarga, daftar isian

Penelitian ini bertujuan untuk mengetahui pengaruh dari PEG 4000 sebagai basis dan Texapon ® N70 sebagai surfaktan terhadap sifat fisis dan stabilitas krim dari ekstrak buah

Didalam ekosistem, komponen biotik harus dapat berinteraksi dengan komponen biotik lainnya dan juga dengan komponen abiotik agar tetap bertahan hidup. Jadi, interaksi

Hal ini sesuai dengan kepustakaan yang menyatakan bahwa hordeolum internum merupakan infeksi pada kelenjar Meibom sehingga ia bertumbuh ke arah konjungtiva tarsal dan