ABSTRAK
Nama : Pusaka Kaleb Setyabudi
Program Studi : Ilmu Komputer
Judul : Faktorisasi Integer Besar dengan Algoritma Number Field
Sieve untuk Aplikasi Kriptografik
Faktorisasi integer adalah salah satu hal yang menjadi perhatian dalam bidang
kriptografi karena menjadi salah satu fondasi keamanan dalam dunia digital.
Belum adanya solusi yang efisien terhadap faktorisasi integer menjadi salah satu
alasan diciptakannya beberapa skema dan protokol keamanan yang bergantung
pada tingkat kesulitan faktorisasi integer besar seperti pembuatan digital signature
dan sistem enkripsi-dekripsi kunci publik RSA. Hingga saat ini, beberapa
algoritma faktorisasi integer dengan kompleksitas waktu sub-eksponensial telah
diciptakan, seperti Quadratic Sieve dan General Number Field Sieve (GNFS).
Pada tugas akhir ini, dilakukan penelaahan dan implementasi terhadap algoritma
faktorisasi integer GNFS, serta faktorisasi terhadap beberapa integer semiprime
(biprime) besar. Untuk memahami General Number Field Sieve diperlukan pemahaman
terkait pengetahuan lain seperti aljabar abstrak dan teori bilangan pada kriptografi,
seperti aritmetika modular dan residu kuadratik. Program hasil implementasi
General Number Field Sieve dibuat dengan menggunakan bahasa pemrograman
Python versi 3.3.5 dan dieksekusi pada sistem berprosesor Intel R! CoreTM
i7 4720HQ dengan 4 core (8 logical core) @ 2.6GHz, RAM 12 GB, dan dengan
sistem operasi Ubuntu 16.04.1 LTS. Beberapa strategi telah diterapkan untuk
mempercepat faktorisasi dengan algoritma GNFS seperti penyesuaian (tuning)
terhadap parameter-parameter bebas dalam GNFS, penggunaan struktur data
yang lebih efisien untuk menyimpan matriks biner, serta pemanfaatan komputasi
secara paralel. Meski demikian, beberapa bagian implementasi belum memanfaatkan
metode yang paling optimal karena keterbatasan pemahaman untuk menggunakan
metode tersebut, salah satunya adalah pemanfaatan algoritma Lanczos
dalam mencari solusi nontrivial dalam sistem kongruensi linier. Program hasil
implementasi mampu memfaktorkan integer semiprime (biprime) dengan 40 digit
yaitu 2630492240413883318777134293253671517529 dalam waktu 23 menit 19
detik. Sebagai pembanding, algoritma Trial Division tidak mampu mendapatkan
faktor dari integer tersebut dalam batas waktu 4 jam.
Kata Kunci:
faktorisasi integer, General Number Field Sieve
|
|