Algoritme LLL dan Aplikasinya dalam Pembongkaran Sistemkripto Knapsack Merkle-Hellman

ALGORITME LLL
DAN APLIKASINYA DALAM PEMBONGKARAN
SISTEMKRIPTO KNAPSACK MERKLE-HELLMAN

ARI AGUSTIANSA

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2012

ABSTRAK
ARI AGUSTIANSA. Algoritme LLL dan Aplikasinya dalam Pembongkaran Sistemkripto
Knapsack Merkle-Hellman. Dibimbing oleh SUGI GURITMAN dan BIB PARUHUM
SILALAHI.
Algoritme LLL adalah algoritme yang dapat digunakan untuk menentukan hampiran dari
vektor terpendek pada suatu latis. Algoritme reduksi ukuran merupakan langkah penting
pada algoritme LLL. Algoritme LLL dapat diterapkan dalam berbagai bidang. Pada karya
ilmiah ini dibahas bagaimana algoritme LLL dapat digunakan dalam pembongkaran salah
satu sistemkripto yang terkenal, yaitu sistemkripto knapsack Merkle-Hellman. Sistemkripto
knapsack Merkle-Hellman adalah sistemkripto asimetrik yang menggunakan masalah jumlah

subhimpunan sebagai tumpuan keamanan. Masalah jumlah subhimpunan dapat diubah
menjadi masalah menentukan vektor terpendek pada suatu latis, sehingga algoritme LLL
dapat juga digunakan untuk menyelesaikan masalah jumlah subhimpunan. Karena masalah
jumlah subhimpunan dapat diselesaikan dengan mudah dengan menerapkan algoritme LLL,
maka sistemkripto knapsack Merkle-Hellman juga dapat dengan mudah dihancurkan.
Kata kunci: latis, algoritme LLL, sistemkripto knapsack.

ABSTRACT
ARI AGUSTIANSA. LLL Algorithm and Its Application in Breaking Merkle-Hellman
Knapsack Cryptosystem. Supervised by SUGI GURITMAN and BIB PARUHUM
SILALAHI.
LLL algorithm is an algorithm that can be used to determine an approximation of the
shortest vector in a lattice. Size reduction algorithm is an important step of LLL algorithm.
The LLL algorithm can be applied in many …elds. This paper shows how LLL algorithm can
be used in breaking one of the famous cryptosystem, namely the Merkle-Hellman knapsack
cryptosystem. Merkle-Hellman knapsack cryptosystem is an asymmetric cryptosystem using
the subset sum problem as the support of security. Subset sum problem can be transformed
into the problem of determining shortest vector in a lattice, so that LLL algorithm can also
be used to solve the subset sum problem. Since the subset sum problem can be easily solved
by applying LLL algorithm, then the Merkle-Hellman knapsack cryptosystem can also be

easily be destructed.
Keywords: lattice, LLL algorithm, knapsack cryptosystem.

ALGORITME LLL
DAN APLIKASINYA DALAM PEMBONGKARAN
SISTEMKRIPTO KNAPSACK MERKLE-HELLMAN

ARI AGUSTIANSA

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains pada
Departemen Matematika

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2012

Judul Skripsi


: Algoritme LLL dan Aplikasinya dalam Pembongkaran Sistemkripto
Knapsack Merkle-Hellman

Nama

: Ari Agustiansa

NIM

: G54080040

Menyetujui
Pembimbing I

Pembimbing II

Dr. Sugi Guritman
NIP. 19620927 199203 1 004


Dr. Ir. Bib Paruhum Silalahi, M.Kom.
NIP. 19670101 199203 1 004

Mengetahui
Ketua Departemen Matematika

Dr. Berlian Setiawaty, MS.
NIP. 19650505 198903 2 004

Tanggal Lulus : .........................................

PRAKATA
Puji syukur penulis panjatkan ke hadirat Allah SWT atas segala limpahan rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan karya ilmiah ini. Penyusunan karya
ilmiah ini juga tidak terlepas dari dukungan doa, moril dan materiil dari berbagai pihak.
Pada kesempatan ini, penulis menyampaikan terima kasih kepada :
1. Dr. Sugi Guritman dan Dr. Ir. Bib Paruhum Silalahi, M.Kom. selaku pembimbing
pertama dan kedua yang telah dengan sabar membimbing penulis dalam menyusun
karya ilmiah ini,
2. Dr. Paian Sianturi selaku dosen pembimbing akademik, Muhamad Ilyas, M.Si. selaku

dosen penguji, dan seluruh dosen Departemen Matematika FMIPA IPB,
3. Bapak dan almarhumah Ibu tercinta atas doa, dukungan, kasih sayang, nasihat, dan
kepercayaannya,
4. Retno Wulandari, yang senantiasa menemani, mendukung, membantu, dan memberi
semangat kepada penulis,
5. teman-teman Matematika 45 atas segala dukungan, bantuan, dan ketulusan hati yang
telah diberikan,
6. seluruh staf Departemen Matematika : Bapak Yono, Mas Heri, Ibu Ade, Bapak Acep,
Ibu Susi, Mas Bono (Alm), 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, Oktober 2012

Ari

RIWAYAT HIDUP
Penulis dilahirkan di Jakarta, pada tanggal 22 Agustus 1990 dari pasangan Hazarin

dan Zubaidah. Penulis merupakan putra kedua dari tiga bersaudara. Pada tahun 2002,
penulis lulus dari SD Negeri Sunter Agung 13 Jakarta. Pada tahun 2005, penulis lulus dari
SMP Negeri 116 Jakarta. Pada tahun 2008, penulis lulus dari SMA Negeri 80 Jakarta dan
pada tahun yang sama penulis diterima di Departemen Matematika IPB melalui jalur USMI
(Undangan Seleksi Masuk IPB)
Disamping kegiatan akademis, penulis pernah menjadi asisten beberapa mata kuliah,
diantaranya:
Pengantar Metode Komputasi pada tahun ajaran 2010-2011,
Persamaan Diferensial Biasa pada tahun ajaran 2010-2011,
Pemodelan Matematika pada tahun ajaran 2011-2012,
Analisis Numerik pada tahun ajaran 2012-2013.
Penulis juga aktif dalam kegiatan kemahasiswaan yaitu menjadi anggota Himpunan Keprofesian
Departemen Matematika IPB (Gumatika) sebagai staf divisi keilmuan.

DAFTAR ISI

Halaman
DAFTAR GAMBAR .................................................................................................... viii
DAFTAR LAMPIRAN ................................................................................................. viii
I


PENDAHULUAN .................................................................................................
1.1 Latar Belakang .............................................................................................
1.2 Tujuan ..........................................................................................................

1
1
1

II

LANDASAN TEORI ............................................................................................

1

III

PEMBAHASAN ...................................................................................................
3.1 Latis dan Basis .............................................................................................
3.2 Gram-Schmidt dan Determinan ....................................................................

3.2.1 Kompleksitas Gram-Schmidt ................................................................
3.3 Permasalahan dalam Latis ............................................................................
3.4 Algoritme LLL ..............................................................................................
3.4.1 Pengertian Basis Terreduksi ..................................................................
3.4.2 Reduksi Ukuran .....................................................................................
3.4.3 Algoritme LLL dan Analisisnya ............................................................
3.5 Sistemkripto Knapsack Merkle-Hellman .......................................................
3.6 Pembongkaran Sistemkripto Knapsack Merkle-Hellman ...............................

3
3
6
8
9
10
10
11
18
22
24


IV

SIMPULAN DAN SARAN ...................................................................................
4.1 Simpulan .......................................................................................................
4.2 Saran .............................................................................................................

24
24
24

DAFTAR PUSTAKA .................................................................................................... 25
LAMPIRAN .................................................................................................................. 26

vii

DAFTAR GAMBAR

Halaman
Gambar 3.1: Latis dengan basis B = f(0; 1); (1; 0)g ......................................................


3

Gambar 3.2: Latis dengan basis B = f(2; 1); (3; 1)g ......................................................

3

Gambar 3.3: Latis dengan basis B = f(1; 2); (2; 1)g ......................................................

4

Gambar 3.4: Latis dengan basis B = f(1; 1)g ................................................................

4

Gambar 3.5: Parallelepiped dasar dengan B = f(2; 1); (1; 2)g..........................................

6

DAFTAR LAMPIRAN

Halaman
Lampiran 1: Sintaks Mathematica Algoritme LLL ....................................................... 27
Lampiran 2: Sintaks Mathematica Pembangkitkan kunci ............................................. 28
Lampiran 3: Sintaks Mathematica Enkripsi .................................................................. 28
Lampiran 4: Sintaks Mathematica menentukan solusi masalah jumlah subhimpunan ... 28
Lampiran 5: Sintaks Mathematica Dekripsi .................................................................. 29

viii

I PENDAHULUAN
1.1 Latar Belakang
Latis (lattice) merupakan obyek
geometrik dalam ruang dimensi-n yang
diilustasikan sebagai himpunan titik-titik
dengan susunan yang teratur dan periodik
(Guritman 2012).
Dalam
latis,
terdapat
suatu
permasalahan yang sangat mendasar, yaitu
masalah menentukan vektor terpendek
(shortest vector problem) yang disingkat
SVP. SVP adalah suatu masalah yang
sangat sulit diselesaikan dalam komputasi.
Hingga pada tahun 1982, A. K. Lenstra,
H. W. Lenstra, Jr, dan L. Lovasz berhasil
menemukan sebuah algoritme untuk
menentukan hampiran dari masalah SVP
yang bernama algoritme LLL. Walaupun
algoritme LLL tidak dapat menyelesaikan
masalah SVP secara eksak, algoritme
ini cukup ampuh dalam menjawab SVP.
Sehingga algoritme ini lebih disukai karena
memiliki waktu running polinomial.
Setelah ditemukannya algoritme LLL,
bahasan tentang latis menjadi lebih
berwarna.
Kini latis dapat diterapkan

pada banyak bidang ilmu komputer, seperti
aljabar komputer (computer algebra), teori
koding (coding theory), dan kriptologi
(kriptogra… dan kriptanalisis).
Salah satu yang akan dibahas dalam
karya ilmiah ini adalah penerapan latis
dalam membongkar sistemkripto knapsack
Merkle-Hellman. Terbukti bahwa masalah
latis dapat diterapkan pada pembongkaran
sistemkripto knapsack Merkle-Hellman.
Hal ini membuat sistemkripto knapsack
Merkle-Hellman mengalami kejatuhan.
1.2 Tujuan
Tujuan dari penulisan karya ilmiah ini
antara lain adalah :
1. merekonstruksi ulang dan melakukan
analisa pada algoritme LLL.
2. mengaplikasikan algoritme LLL dalam
pembongkaran sistemkripto knapsack
Merkle-Hellman.
3. mengimplementasikan proses pembongkaran
sistemkripto knapsack Merkle-Hellman
dalam software Mathematica 8.0.

II LANDASAN TEORI
De…nisi 2.1 Jika m adalah bilangan
bulat positif, maka sebuah m-tuple
terurut adalah barisan m bilangan real
(a1 ,a2 ,. . . ,am ).
Himpunan dari semua
m-tuple disebut m-ruang Euclidean dan
dinotasikan sebagai Rm .
(Anton 2000)
De…nisi 2.2 Jika u = (u1 ; u2 ; : : : ; um ) dan
v = (v1 ; v2 ; : : : ; vm ) adalah vektor-vektor
yang berada dalam Rm , maka hasil kali
dalam Euclidean u v dide…nisikan sebagai
u v = u1 v1 + u2 v2 + ::: + um vm :
(Anton 2000)
De…nisi 2.3 Panjang Euclidean (atau
norm Euclidean) dari sebuah vektor u =
(u1 ; u2 ; : : : ; um ) dalam Rm dide…nisikan
sebagai
q
kuk = u21 + u22 + ::: + u2m :
(Anton 2000)

De…nisi 2.4 Dua vektor u dan v disebut
ortogonal jika u v = 0:
(Anton 2000)
De…nisi 2.5 Sebuah vektor w disebut
kombinasi linear dari vektor-vektor
v1 ; v2 ; :::vr jika dapat diekspresikan dalam
bentuk
w = k1 v1 + k2 v2 + ::: + kr vr
dengan k1 ; k2 ; :::kr adalah skalar.
(Anton 2000)
De…nisi 2.6 Jika S = fv1 ; v2 ; : : : ; vr g
adalah himpunan tak kosong yang berisi
vektor-vektor, maka persamaan
k1 v1 + k2 v2 + ::: + kr vr = 0
memiliki minimal satu solusi, yaitu:
k1 = 0,

k2 = 0,...,

kr = 0:

Jika hanya didapatkan satu solusi, maka
S disebut himpunan vektor bebas linear.
Jika terdapat solusi lain maka S disebut
himpunan vektor bergantung linear.
(Anton 2000)

2
De…nisi 2.7 Jika a dan b adalah
bilangan bulat, dengan a 6= 0, dan
jika terdapat sebuah bilangan bulat c
sedemikian sehingga b = ac, maka kita
katakan bahwa a membagi b, dan ditulis
ajb. Jika a tidak membagi b, maka ditulis
a - b:
(Stark 1970)
De…nisi 2.8 Sebuah bilangan bulat
yang nilainya lebih besar dari nol dan
hanya memunyai satu pembagi positif
yaitu bilangan itu sendiri, maka bilangan
tersebut disebut bilangan prima. Sebuah
bilangan yang lebih besar dari satu yang
bukan merupakan bilangan prima disebut
bilangan komposit.
(Stark 1970)
De…nisi 2.9 Misalkan a dan b adalah
bilangan positif tak nol. Dan misalkan
d adalah bilangan terbesar yang berada
dalam himpunan pembagi bersama dari
a dan b.
Maka kita sebut d adalah
pembagi bersama terbesar (greatest
common divisor ) dari a dan b. Dan ditulis
sebagai d = gcd(a; b):
(Stark 1970)
De…nisi 2.10 Misalkan a dan b adalah
bilangan bulat tak nol. Jika gcd(a; b) = 1,
maka kita katakan bahwa a dan b relatif
prima.
(Stark 1970)

De…nisi 2.11 Misalkan a dan b adalah
bilangan bulat dan n sebuah bilangan bulat
positif. Jika nj(a b), maka kita katakan
bahwa a kongruen ke b modulo n dan kita
tulis
a

b mod n:
(Stark 1970)

De…nisi 2.12 Misalkan S adalah
subhimpunan dari R. u 2 R disebut sebagai
batas atas dari S jika s
u untuk semua
s 2 S. Serupa dengan sebelumnya, w 2 R
disebut sebagai batas bawah dari S jika
w s untuk semua s 2 S.

(Bartle 1964)

De…nisi 2.13 Misalkan S adalah
subhimpunan dari R yang terbatas di atas.
Sebuah batas atas dari S disebut sebagai
supremum (batas atas terkecil) dari S jika
nilainya lebih kecil dari batas atas yang
lain dari S. Serupa dengan sebelumnya,
sebuah batas bawah dari S disebut sebagai
in…mum (batas bawah terbesar) dari S jika
nilainya lebih besar dari batas bawah yang
lain dari S.
(Bartle 1964)

III PEMBAHASAN
3.1 Latis dan Basis
Seperti yang telah dijelaskan dalam
pendahuluan bahwa latis merupakan obyek
geometrik dalam ruang dimensi-n yang
diilustasikan sebagai himpunan titik-titik
dengan susunan yang teratur dan periodik.
Secara formal, de…nisi latis diberikan
sebagai berikut.
De…nisi 3.1 Misalkan B = fb1 ; b2 ; : : : ;
bn g adalah himpunan n vektor bebas
linear dalam ruang vektor Rm .
Latis
L(B) adalah subgrup aditif diskrit dari
Rm , yang beranggotakan semua kombinasi
linear intejer dari B:
9
8
n
=

2

3.4.3 Algoritme LLL dan Analisisnya
Dari pembahasan sebelumnya, dapat
disimpulkan bahwa algoritme LLL adalah
algoritme yang mentransformasikan basis
B menjadi basis B 0 dengan menerapkan
algoritme reduksi ukuran.
Kemudian,
ketika kondisi Lovasz tidak memenuhi,
algoritme LLL akan melakukan penukaran
pada vektor pasangan vektor (bj ; bj+1 ) dan
reduksi ukuran kembali dilakukan. Jika
ada beberapa pasang vektor (bj ; bj+1 )
yang tidak memenuhi kondisi Lovasz,
tidak ada masalah pasangan vektor yang
harus ditukar terlebih dahulu. Bahkan
pasangan vektor tersebut dapat ditukar
secara bersamaan, yang mengarah pada
varian algoritme LLL paralel. Algoritme
yang asli akan melakukan penukaran pada
pasangan vektor dengan nilai j terkecil.
Berikut merupakan garis besar deskripsi
algoritme LLL.

2

Sedangkan bentuk praktis algoritme
LLL diberikan sebagai berikut.

2

maka tukar bj 1 dan bj , kemudian
kembali ke langkah 1:
3. Jika tidak, algoritme selesai.

bj , maka
i. jika j = 2,
A. tukar b1 dan b2
B. b1 := b2
ii. jika j > 2,
A. tukar bj 1 dan bj
B. j := j 1
Selainnya, j := j + 1
4. return([b1 ; b2 ; : : : ; bn ]
dan [b1 ; b2 ; : : : ; bn ])
Algoritme LLL merupakan algoritme
yang mampu menghitung menghitung
vektor terpendek dalam suatu latis L(B).
Namun ketika n cukup besar dan basis
B cukup jauh dari ortogonal, maka
algoritme LLL sulit untuk menghasilkan
vektor terpendek.
Hal ini disebabkan
karena prinsip algoritme LLL yang
mentransformasikan B ke suatu basis yang
"hampir ortogonal". Sehingga jika basis B
jauh dari ortogonal, maka kerja algoritme
LLL semakin berat.
Karena basis B memengaruhi kinerja
dari algoritme LLL, maka suatu basis dapat
diklasi…kasikan berdasarkan jauh dekatnya
basis tersebut dari ortogonal.
De…nisi 3.14 Basis latis B dikatakan bagus
jika B mendekati ortogonal. Sedangkan
basis latis B dikatakan buruk jika basis
tersebut jauh dari ortogonal.

19
Suatu nilai yang dapat menjadi
indikator sebuah basis baik atau buruk
dide…nisikan sebagai berikut.
De…nisi 3.15 Rasio Hadamard dari suatu
basis latis B = fb1 ; b2 ; : : : ; bn g, dinotasikan
dengan H(B), dide…nisikan sebagai
1 n1
0
C
B
B det( ) C
C
B
H(B) = B n
C
A
@Y
kbj k
j=1

Karena nilai 0 < H(B)
1 dan
memenuhi sifat "semakin dekat nilai H(B)
ke 1, semakin dekat B ke ortogonal". Maka
basis B dikatakan bagus jika nilai H(B)
dekat ke 1 dan basis B dikatakan buruk jika
nilai H(B) dekat ke 0.
Selanjutnya akan dilakukan analisis
terhadap algoritme LLL dengan cara
membatasi banyaknya iterasi dan dan
membatasi besarnya bilangan yang
dilibatkan.
Membatasi banyaknya iterasi
Diasumsikan bahwa basis latis yang
digunakan dalah intejer, artinya B Zn .
Terlihat bahwa algoritme LLL cepat
selesai ketika langkah penukaran (swap)
yang dilakukan tidak terlalu banyak.
Oleh karena itu, hal pertama yang
perlu diperhatikan dalam menganalisis
algoritme LLL adalah seberapa besar
jumlah maksimum terjadinya penukaran.
Dengan demikian, akan dide…nisikan suatu
intejer positif yang terkait dengan basis B
berikut ini.
Ingat kembali de…nisi determinan suatu
latis berikut.
det(L([b1 ; b2 ; : : : ; bj ])) =

j
Y

i=1

kbi k

dimana matriks

b1

b2

D=

bj

Dari asumsi Bj adalah matriks intejer, jelas
bahwa
2

(det(L(Bj ))) 2 Z
Dengan demikian, dapat dide…nisikan
intejer positif D yang terkait dengan

n
Y

det(L(Bj ))2

j=1

dan kemudian berlaku sifat dalam proposisi
berikut ini.
Proposisi 3.8 Langkah reduksi ukuran
tidak mengubah nilai D, tetapi setiap
terjadi penukaran mengakibatkan nilai D
menurun dengan faktor .
Bukti:
Berdasarkan teorema 3.3, perhatikan
bahwa langkah reduksi ukuran tidak akan
mengubah nilai D.
Dengan demikian,
selanjutnya tinggal ditunjukkan bahwa
setiap terjadi penukaran, nilai D menurun
dengan faktor .
Misalkan terjadi
penukaran bj dan bj