Anda di halaman 1dari 12

Analisis Algoritma dan Keamanan pada Kriptografi Kurva

Eliptik

Jasson Prestiliano (972009005)


Magister Sistem Informasi
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60 Salatiga 50711
jasprelao@yahoo.com

Abstrak
Algoritma kriptografi untuk mengamankan data masih terus dikembangkan, di
mana salah satunya adalah Algoritma Kriptografi Kurva Eliptik. Algoritma ini
termasuk ke dalam sistem sistem kriptografi kunci publik yang mendasarkan
keamanannya pada permasalahan matematis kurva eliptik. Algoritma ini memiliki
keuntungan jika dibandingkan dengan algoritma kriptografi kunci publik lainnya
yaitu dalam hal ukuran panjang kunci yang lebih pendek tetapi memiliki tingkat
keamanan yang sama. Ada dua protokol yang dibahas di dalam jurnal ini, yaitu
ECDSA (Elliptic Curve Digital Signature Algorithm) dan ECDH (Elliptic Curve
Diffie Hellman). Jurnal ini membahas tentang analisis algoritmanya, bagaimana
mempergunakan algoritma tersebut dan keamanan algoritma ini bila dibandingkan
dengan RSA 1024.

1. Pendahuluan

Sebuah data penting biasanya disimpan di dalam basis data bila telah dienkripsi, agar bila
ada yang mencoba menyerang sistem, data tersebut tidak dapat diketahui begitu saja. Namun,
sebaik apapun enkripsi dari data tersebut, selalu ada algoritma untuk memecahkannya, walaupun
membutuhkan waktu yang tidak sedikit untuk memecahkannya.
Apabila data yang telah dienkripsi tersebut berhasil dipecahkan oleh sang penyerang,
maka keamanan data yang ada di dalam sistem berada dalam bahaya. Karena itu sampai saat ini
masih terus dikembangkan sistem-sistem yang dapat dipakai untuk mengamankan data tersebut
Ilmu kriptografi adalah ilmu yang mempelajari tentang penyembunyian huruf atau tulisan
sehingga membuat tulisan tersebut tidak dapat dibaca oleh orang yang tidak berkepentingan[1].
Kriptografi sudah dipakai sejak jaman Julius Caesar dimana akan mengirimkan pesan kepada
panglimanya tetapi tidak mempercayai kurir pembawa pesan tersebut.
Kriptografi terus menerus dikembangkan dari sisi kerumitan algoritma dan pembentukan
kunci. Dan di antara algoritma-algoritma tersebut ada yang mudah dipecahkan dan ada yang sulit
untuk dipecahkan. Di dalam jurnal ini dibahas tentang sebuah algoritma yang disebut Kriptografi
Kurva Eliptik.

1
2. Kriptografi

Kriptografi mempunyai 2 (dua) bagian yang penting, yaitu enkripsi dan dekripsi. Enkripsi
adalah proses dari penyandian pesan asli menjadi pesan yang tidak dapat diartikan seperti
Aslinya. Dekripsi sendiri berarti merubah pesan yang sudah disandikan menjadi pesan aslinya.
Pesan asli biasanya disebut plaintext, sedangkan pesan yang sudah disandikan disebut
ciphertext[1].
Pada Gambar 1 dapat dilihat bahwa masukan berupa plaintext akan masuk ke dalam blok
enkripsi dan keluarannya akan berupa ciphertext, kemudian ciphertext akan masuk ke dalam
blok dekripsi dan keluarannya akan kembali menjadi plaintext semula.

Plain Enkripsi Chipper Dekripsi Plain


Text Text Text

Gambar 1 Enkripsi dan Dekripsi

Ada 2 (dua) model algoritma enkripsi yang menggunakan kunci, yaitu kunci simetrik dan
kunci asimetrik[2, 3]. Enkripsi kunci simetrik yang biasanya disebut enkripsi konvensional
adalah enkripsi yang menggunakan kunci yang sama untuk enkripsi maupun dekripsi, dari
Gambar 2 terlihat bahwa untuk mengenkripsi maupun mendekripsi pesan hanya menggunakan
satu buah kunci (K) saja.

Kunci K

Plain Enkripsi Chipper Dekripsi Plain


Text Text Text

Gambar 2 Enkripsi-dekripsi Kunci Simetrik

Penggunaan metode ini membutuhkan persetujuan antara pengirim dan penerima tentang
kunci sebelum mereka saling mengirim pesan. Keamanan dari kunci simetrik tergantung pada
kerahasiaan kunci, apabila seorang penyusup dapat menemukan kunci maka dengan mudah dapat
membaca pesan yang sudah dienkripsi.
Enkripsi kunci simetrik dapat dibagi kedalam 2 (dua) kelompok yaitu metode stream
cipher dan metode block cipher. Enkripsi kunci asimetrik (biasa disebut enkripsi kunci publik)
dibuat sedemikian rupa sehingga kunci yang dipakai untuk enkripsi berbeda dengan kunci yang
dipakai untuk dekripsi. Enkripsi kunci public disebut demikian karena kunci untuk enkripsi
boleh disebarluaskan kepada umum sedangkan kunci untuk mendekripsi hanya disimpan oleh
orang yang bersangkutan. Enkripsi asimetrik dapat ditulis seperti berikut:

2
Ek (P) = C
Dk (C) = P

Contohnya seperti pada Gambar 2.3 bila seseorang ingin mengirim pesan kepada orang
lain maka orang tersebut menggunakan kunci public orang tersebut untuk mengenkripsi pesan
yang kita kirim kepadanya lalu orang tersebut akan mendekripsi pesan tersebut dengan kunci
privat
miliknya.

Kunci Public Kunci Private

Plain Enkripsi Chipper Dekripsi Plain


Text Text Text

Gambar 3 Enkripsi Kunci Asimetrik

Seperti juga perkembangan ilmu kriptografi, tujuan-tujuan dari kriptografi teruslah


berkembang. Bila pertama kali dibuat hanya untuk keamanan data saja, tetapi sekarang semakin
banyak tujuan-tujuan yang ingin dicapai[1], yaitu:
1. Privasi, Musuh tidak dapat membongkar tulisan yang kita kirim.
2. Autentikasi, Penerima pesan dapat meyakinkan dirinya bahwa pesan yang diterima tidak
terjadi perubahan dan berasal dari orang yang diinginkan.
3. Tanda tangan, penerima pesan dapat meyakinkan pihak ketiga bahwa pesan yang
diterima berasal dari orang yang diinginkan.
4. Minimal, Tidak ada yang dapat berkomunikasi dengan pihak lain kecuali berkomunikasi
dengan pihak yang diinginkan.
5. Pertukaran bersama, suatu nilai (misalnya tanda tangan sebuah kontrak) tidak akan
dikeluarkan sebelum nilai lainnya (misalnya tanda tangan pihak lain) diterima.
6. Koordinasi, di dalam komunikasi dengan banyak pihak, setiap pihak dapat berkoordinasi
untuk tujuan yang sama walaupun terdapat kehadiran musuh.

3. Kriptografi Kurva Eliptik

Elliptic Curve Cryptography atau Kriptografi Kurva Eliptik adalah sebuah algoritma
kriptografi kunci publik, yaitu algoritma di mana setiap pihaknya memiliki sepasang kunci privat
dan kunci publik. Kunci privat hanya dimiliki oleh pribadi-pribadi yang berkepentingan,
sedangkan kunci publik disebarluaskan ke semua pihak [2].
Pendekatan yang dilakukan untuk menghasilkan algoritma Kriptografi Kurva Eliptik
adalah dengan menggunakan struktur matematika yang sangat unik yang memungkinkan
pemrosesan titik dengan memiliki dua buah titik dalam sebuah kurva eliptik dan menghasilkan
sebuah titik lain yang ada pada kurva tersebut. Struktur yang unik ini memberikan keuntungan
dalam kriptografi dikarenakan kesulitan untuk menemukan 2 buah titik yang menentukan sebuah
titik tertentu tersebut tidak dapat ditemukan dengan mudah.Tingkat kesulitan untuk menemukan
2 buah titik termasuk dalam golongan yang rumit sama seperti kesulitan untuk memperhitungkan

3
variasi eksponensial yang digunakan dalam algoritma RSA yang telah banyak
diimplementasikan. Untuk memecahkan Kriptografi Kurva Eliptik sendiri dibutuhkan
perhitungan matematis yang sangat tinggi.
Kriptografi Kurva Eliptik terdiri dari beberapa operasi basic dan juga aturan yang
mendefinisikan penggunaan dari operasi operasi basic seperti penambahan, pengurangan,
perkalian dan perpangkatan yang didefinisikan sesuai dengan kurva-kurva yang ada.
Operasi matematika yang digunakan pada Elliptic Curve Cryptography didefinisikan dengan
persamaan

y2 = x3 + ax + b dengan 4a3+27b2 ≠ 0

Setiap prubahan nilai dari ‘a’ dan’b’ akan menghasilkan elliptic curve yang berbeda. Contoh
Elliptic Curve bisa dilihat pada Gambar 4 di mana Gambar 4(a) merupakan representasi kurva
eliptik dari y2 = x3 -12x + 3 sedangkan Gambar 4(b) merupakan representasi kurva
eliptik dari y2 = x3 -2x + 1. [3]

(a) (b)
Gambar 4 Beberapa Representasi Kurva Eliptik [2, 3]

Setiap kurva eliptik akan mendefinisikan kumpulan titik pada bidang dan dapat
membentuk kumpulan albelian (kumpulan titik dangan titik tak hingga sebagai elemen identitas).
Jika nilai x dan y yang dipilih adalah daerah terbatas (finit) yang besar, solusi akan menghasilkan
suatu albelian finite. Kurva ellips yang digunakan dalam Kriptografi Kurva Eliptik didefinisikan
dengan dua buah bidang terbatas.
Kunci publik pada algoritma Kriptografi Kurva Eliptik adalah sebuah titik pada kurva
eliptik dan kunci privatnya adalah sebuah angka random. Kunci publik diperoleh dengan
melakukan operasi perkalian terhadap kunci privat dengan titik generator G pada kurva eliptik.
Keamanan Kriptografi Kurva Eliptik bergantung pada masalah logaritma diskrit yang
sulit untuk dipecahkan. Misalnya P dan Q adalah dua titik pada suatu kurva eliptik, sedemikian
rupa sehingga kP = Q, di mana k adalah sebuah nilai skalar. Dengan mengetahui nilai P dan Q,

4
tidak mungkin bisa mendapatkan nilai k, jika k adalah nilai yang sangat besar. k adalah
logaritma diskrit basis P terhadap Q.
Ada tiga operasi yang perlu dijabarkan dalan Kriptografi Kurva Eliptik ini. Operasi-operasi
tersebut antara lain perkalian titik, pertambahan titik dan penggandaan titik. Namun semua
operasi tersebut berawal mula dari operasi Perkalian titik. Oleh karena itu, operasi utama pada
Kriptografi Kurva Eliptik adalah perkalian titik.[4]
Pada operasi Perkalian Titik, sebuah titik P pada kurva eliptik dikalikan dengan bilangan
skalar k dengan menggunakan persamaan kurva eliptik untuk mendapatkan titik Q pada kurva
eliptik yang sama. Dengan demikian kP = Q. Perkalian titik didapatkan dengan melakukan dua
operasi dasar kurva eliptik sebagai berikut :
a. Operasi pertambahan titik, yaitu menambahkan dua buah titik J dan K untuk
mendapatkan titik L. Dengan demikian L = 2J.
b. Operasi penggandaan titik, yaitu menambahkan titik J dengan dirinya sendiri untuk
mendapatkan titik L. Dengan demikian L = 2J.
Pada operasi pertambahan titik, dua buah titik J dan K pada sebuah kurva eliptik
ditambahkan satu sama lain untuk mendapatkan titik L pada kurva eliptik yang sama. Perhatikan
Gambar 5 sebagai representasi Pertambahan titik pada Kurva Eliptik.

Gambar 5 Representasi Contoh Operasi Pertambahan Titik pada Kurva Eliptik [4]

Pada Gambar 5, titik J dan K adalah titik yang berada pada kurva eliptik. Jika K ≠ -J
maka sebuah garis yang melewati J dan K akan memotong kurva eliptik dan melewati sebuah
titik –L. Pencerminan dari –L terhadap sumbu X akan menghasilkan titik L, yang merupakan
hasil dari penambahan J dan K.
Penggandaan titik adalah penambahan titik J pada kurva eliptik dengan dirinya sendiri
untuk mendapatkan titik L pada kurva eliptik yang sama. Untuk mendapatkan L dengan
menggandakan titik J, sehingga L = 2J, misalkan ada sebuah titik J pada kurva eliptik. Jika
ordinat titik J tidak sama dengan nol, maka garis yang tangen pada J akan melalui –L. –L adalah

5
pencerminan L terhadap sumbu X, dengan demikian L = 2J. Perhatikan Gambar 6 sebagai
representasi operasi penggandaan titik.

Gambar 6 Representasi Contoh Operasi Penggandaan Titik pada Kurva Eliptik [4]

4. Jenis-jenis Kriptografi Kurva Eliptik

Ada dua jenis kriptografi kurva eliptik yang dibahas, yaitu algoritma penandatanganan
pesan yang disebut dengan ECDSA ( Elliptic Curve Digital Signature Algorithm) dan ECDH
(Elliptic Curve Diffie Hellman).

4.1. ECDSA ( Elliptic Curve Digital Signature Algorithm)


Algoritma penandatanganan pesan menggunakan Kriptografi Kurva Eliptik yang
disebutkan sebagai ECDSA adalah salah satu variasi dari Digital Signature Algorithm yang
beroperasi dengan kelompok kurva eliptik sebagai basis perhitungan dari proses
penandatanganan. Agar dapat menyamakan suatu tanda tangan digital dari sebuah pesan yang
dikirim oleh dua orang, maka kedua orang tersebut harus memiliki kurva elliptic yang sama.
Seorang pngirim pesan yang akan ditandatangani akan memiliki sebuah kunci pribadi
yang merupakan sbuah integer yang dipilih acak kurang dari n yang merupakan urutan kurva,
pada meter kurva eliptik domain. Dan kunci publik yang merupakan titik yang dibangkitkan
dengan kurva eliptik domain dngan perhitungan sebagai berikut:

QA = dA * G

Pembangkitan Kunci:
1. Memilih sebuah bilangan bulat random dA, yang nilainya diantara [1,n-1]
2. Menghitung QA = dA * G = (x1,y1)
3. Kunci rahasia = dA, dan kunci publik = QA.

6
Penandatanganan Digital:
1. Memilih sebuah bilangan bulat random k, yang nilainya diantara [1,n-1].
2. Menghitung QA = k * G = (x1,y1) dan r = x1 mod n, jika r = 0, maka kembali ke langkah 1.
3. Menghitung k-1 mod n
4. Menghitung e = Hash(m)
5. Menghitung s = k-1 {e+dA * r} mod n tanda tangan si pengirim untuk message m adalah (r,s)

Verifikasi Tanda Tangan Digital:


1. Memverifikasi bahwa r dan s adalah bilangan bulat yang antara [1,n-1]
2. Menghitung e = Hash (m)
3. Menghitung w = s-1 mod n
4. Menghitung u1 = ew mod n dan u2 = rw mod n
5. Menghitung u1 * G + u2 * QA = (x1,y1)
6. Menghitung v = x1 mod n
7. Menerima tanda tangan jika dan hanya jika v = r

Seperti dengan kriptografi kurva eliptik pada umumnya, ukuran bit dari kunci publik
diyakini diperlukan untuk ECDSA adalah sekitar dua kali ukuran tingkat keamanan, dalam bit.
Sebagai perbandingan, pada tingkat keamanan 80 bit, berarti penyerang membutuhkan sekitar
setara dengan sekitar 280 generasi tanda tangan untuk menemukan kunci pribadi, ukuran kunci
DSA publik setidaknya 1024 bit, sedangkan ukuran sebuah kunci publik ECDSA akan menjadi
160 bit. Di sisi lain, ukuran tanda tangan adalah sama untuk kedua DSA dan ECDSA: 4t bit,
dimana t adalah tingkat keamanan yang diukur dalam bit, yaitu, sekitar 320 bit untuk tingkat
keamanan 80 bit[5].

4.2. ECDH (Elliptic Curve Diffie Hellman).

ECDH (Elliptic Curve Diffie Hellman) adalah sebuah protokol perjanjian kunci yang
memungkinkan dua pihak pengirim dan penerima , yang pada awalnya masing-masing memiliki
kurva eliptik sepasang kunci publik-privat masing-masing, dan mengirimkan sebuah kunci
rahasia bersama melalui saluran yang tidak aman. Ini adalah varian dari protokol Diffie-Hellman
yang digunakan untuk menyamakan kunci untuk menggunakan kriptografi kurva eliptik.
Misalkan Pengirim ingin menyepakati sebuah kunci bersama dengan Penerima, tapi
saluran hanya tersedia bagi mereka mungkin disadap oleh pihak ketiga. Awalnya, parameter
domain yaitu (p, a, b, G, n, h) dalam kasus perdana atau (m, f (x), a, b, G, n, h) dalam kasus
biner) harus disepakati. Selain itu, masing-masing pihak harus memiliki sepasang kunci yang
cocok untuk kriptografi kurva eliptik, terdiri dari sebuah kunci pribadi d: (a integer yang dipilih
secara acak dalam interval [1n - 1]), dan kunci publik Q (mana Q = DG). sepasang kunci
Pengirim (dA, QA) dan sepasang kunci Penerima (dB,QB). Setiap pihak harus memiliki kunci
publik pihak lain (pertukaran harus terjadi).
Pengirim menghitung (xk, yk) dAQB =. Penerima menghitung k = dBQA. Kunci berbagi
adalah xk (koordinat x dari titik tersebut). Jumlah hasil penghitungan oleh kedua belah pihak
seharusnya menghasilkan jumlah yang sama, karena dAQB = dAdBG = dBdAG = dBQA.
Protokol aman karena tidak ada yang diungkapkan (kecuali untuk kunci publik, yang tidak
rahasia), dan tidak ada pihak yang dapat menurunkan kunci pribadi yang lain kecuali dapat
memecahkan prosesor aritmatika Kurva Logaritma Diskrit.

7
5. Implementasi Kriptografi Kurva Eliptik

Kriptografi kurva eliptik dapat digunakan untuk mengenkripsi pesan (plain text), M,
menjadi chiper texts. Pesan M di enkripsi menjadi PM dari himpunan terbatas dari titik-titik
dalam lingkup eliptik, Ep(a, b).
Langkah awal yang dilakukan yaitu memilih sebuah titik Generator atau G, di mana G ∈ Ep(a,
b), di mana nilai terkecil dari n di dalam nG = O adalah sebuah bilangan prima yang sangat
besar. Kurva eliptik Ep(a, b) dan titik Generator G dibuat menjadi kunci publik [3].
Setiap pengguna memilih sebuah kunci privat, nA < n dan menghitung kunci publik PA
sebagai: PA = nAG. Untuk mengenkripsi pesan PM untuk user B, maka user A memilih sebuah
bilangan bulat (integer) acak k dan menghitung chiper text yang merupakan pasangan titik PC
menggunakan kunci publik dari user B:

PC = [(kG), (PM + kPB)]

Setelah menerima pasangan titik dari chiper text, PC, user B mengalikan titik pertama, (kG)
dengan kunci privat yang dimilikinya, nB, kemudian menambahkan hasilnya ke dalam titik
kedua di dalam pasangan titik dari chiper text, (PM + kPB):

(PM + kPB) − [nB(kG)] = (PM + knBG) − [nB(kG)] = PM

Yang mana merupakan titik dari pesan (plain text), berkorespondensi ke pesan M. Hanya
user B yang mengetahui kunci privat nB, yang dapat melepaskan nB(kG) dari titik kedua dari dari
pasangan titik cipher text, misalnya (PM + kPB), dan oleh karenanya mengambil informasi dari
pesan PM.
Contoh Enkripsi dengan menggunakan Kriptografi Kurva Eliptik. Diketahui terdapat
kurva eliptik sebagai berikut:

y2 = x3 + ax + b mod p
y2 = x3 − x + 188 mod 751

dari persamaan tersebut didapatkan a = −1, b = 188, and p = 751. Grup Kurva Eliptik kemudian
dibangkitkan oleh kurva eliptik yaitu Ep(a, b) = E751(−1, 188). Titik Generator point G = (0,
376). Kemudian perkalian kG dari titik Generator G adalah (untuk 1 ≤ k ≤ 751):

G = (0, 376) 2G = (1, 376) 3G = (750, 375)


4G = (2, 373) 5G = (188, 657) 6G = (6, 390)
7G = (667, 571) 8G = (121, 39) 9G = (582, 736)
10G = (57, 332) ... 761G = (565, 312) 762G = (328, 569)
763G = (677, 185) 764G = (196, 681) 765G = (417, 320)
766G = (3, 370) 767G = (1, 377) 768G = (0, 375)
769G = O(titik yang tidak terbatas)

8
Jika user A ingin mengirim pesan M kepada user B yang telah dienkripsi menjadi titik
plain text PM = (443, 253) ϵ E751(−1, 188). User A harus menggunakan kunci publik user B
untuk mengenkripsinya. Misalnya user B memiliki kunci rahasia atau kunci privat nB = 85, maka
kunci publiknya adalah:

PB = nBG = 85(0, 376)


PB = (671, 558)

User A memilih angka acak, misalnya k = 113 dan menggunakan kunci publik user B PB = (671,
558) untuk mengenkripsi titik pesan menjadi pasangan titik cipher text pair of points:

PC = [(kG), (PM + kPB)]


PC = [113 × (0, 376), (443, 253) + 113 × (671, 558)]
PC = [(34, 633), (443, 253) + (47, 416)]
PC = [(34, 633), (217, 606)]

Ketika menerima pasangan titik dari cipher text, PC = [(34, 633), (217, 606)], user B
menggunakan kunci privatnya nB = 85, untuk menghitung titik pesan (plain text), PM, sebagai
berikut:

(PM + kPB) − [nB(kG)] = (217, 606) − [85(34, 633)]


(PM + kPB) − [nB(kG)] = (217, 606) − [(47, 416)]
(PM + kPB) − [nB(kG)] = (217, 606) + [(47,−416)] (since −P = (x1,−y1))
(PM + kPB) − [nB(kG)] = (217, 606) + [(47, 335)] (since −416 ≡ 335 (mod 751))
(PM + kPB) − [nB(kG)] = (443, 253)

Dan titik koordinat dari pesan (plain text) PM = (443, 253) kembali menjadi pesan asli M.

6. Analisis Tingkat Keamanan Kriptografi Kurva Eliptik

Tingkat keamanan pada sistem kriptografi kunci publik adalah berapa waktu yang
diperlukan untuk memecahkan suatu kunci rahasia berdasarkan persamaan matematis yang
dimiliki oleh algoritma kriptografinya. RSA (Rivet Shamir Addleman) termasuk ke dalam
persamaan matematis IFP (Integer Factorization Problem) sedangkan Kriptografi Kurva Eliptik
termasuk ke dalam ECDLP (Elliptic Curve Discrete Logarithm Problem).
Tingkat keamanan dihitung berdasarkan panjang kunci dari masing-masing algoritma
kriptografi, parameter kunci RSA yang digunakan adalah panjang bit n, yaitu perkalian antara
faktor prima P dan Q, sedangkan untuk Kriptografi Kurva Eliptik parameter kunci yang
digunakan juga panjang bit n, tetapi merupakan orde dari titik basis yang digunakan dalam
persamaan kurva eliptik.
Untuk memecahkan persamaan matematis tersebut harus digunakan software dan
hardware yang terbaik. Algoritma terbaik yang diketahui untuk menyelesaikan IFP pada RSA
adalah algoritma General Purposed Number Field Sieve yang memiliki kompleksitas algoritma
Ơ = exp [1,923 (ln n)1/3 (ln ln n)2/3], sedangkan untuk menyelesaikan ECDLP pada Kriptografi
Kurva Eliptik, terkhusus pada ECDSA adalah Pollard Rho Method Attacks yang memiliki Ơ = 2
n/2. Jika diasumsikan hardware yang digunakan mampu menjalankan 1000000 instruksi per

9
detik (1 MIPS (Million Instruction per Second)) maka akan dihitung tingkat keamanan kunci
ECDSA [5]. Misalkan untuk n = 149 bit , maka tingkat keamanan dihitung sebagai berikut :
149/2
MIPS = 2 / 1000000.3600.24.365 = 598981035 MIPS years

Dengan cara yang sama dihitung tingkat keamanan untuk kunci dengan panjang bit n
yang berbedabeda sehingga diperoleh tabel hubungan panjang kunci kriptografi kurva eliptik
yang lebih spesifik pada metode ECDSA dengan tingkat keamanannya dapat dilihat pada Tabel
1. Sedangkan untuk hubungan panjang kunci RSA dan tingkat keamanannya dapat dilihat dalam
Tabel 2.
Tabel 1 Hubungan Panjang Kunci dengan Tingkat keamanan pada Kriptografi Kurva Eliptik

Tabel 2 Hubungan Panjang Kunci dengan Tingkat keamanan pada RSA

Hubungan antara tingkat keamanan RSA dan Kriptografi Kurva Eliptik yang lebih
dikhususkan pada ECDSA dapat dilihat pada grafik yang terdapat di dalam Gambar 7.

10
Gambar 7 Perbandingan Tingkat Keamanan ECDSA dan RSA

7. Kesimpulan

Algoritma Kriptografi Kurva Eliptik dapat dijadikan sebagai sebuah algoritma kriptografi
pilihan di mana untuk memecahkannya diperlukan usaha untuk memecahkan persamaan
logaritma yang cukup rumit karena melibatkan titik, garis dan kurva.Oleh karena itulah,
Kriptografi Kurva Eliptik termasuk ke dalam ECDLP (Elliptic Curve Discrete Logarithm
Problem).
Kriptografi Kurva Eliptik yang dalam hal lebih spesifik adalah ECDSA dengan panjang
kunci 160 bit mempunyai tingkat keamanan yang relatif sama dengan RSA dengan panjang
kunci 1024 bit. Jadi algoritma kriptografi kurva eliptik mempunyai keuntungan berupa ukuran
panjang kunci yang lebih kecil jika dibandingkan dengan algoritma kunci publik lainnya (RSA)
tetapi sudah memiliki tingkat keamanan yang relatif sama sehingga algoritma kriptografi kurva
eliptik cocok untuk diimplementasikan pada peralatan perangkat keras yang memiliki daya dan
memori yang terbatas. Contoh nyata penggunaan algoritma kriptografi kurva eliptik ini adalah
pada pengamanan data smart card, pengamanan data mobile device dan pengamanan data game
yang disimpan pada memory card dari Nintendo Wii.

11
8. Daftar Pustaka

[1] Munir, Rinaldi. 2003. Kumpulan Bahan Kuliah Kriptografi.


http://www.mail.informatika.org/~rinaldi/, diakses tanggal 20 Juli 2010.
[2] Tirtawinata, Kevin. 2010. Studi dan Analisis Elliptic Curve Cryptography. Bandung:
STEI – ITB
[3] Lopez, Julio. Dahab, Ricardo. 2000. An Overview of Elliptic Curve Cryptography.
http://citeseer.ist.psu.edu/cache/papers/, Diakses tanggal 20 juli 2010.
[4] Aprilia, Shieny. 2009 Analisis dan Implementasi Elliptic Curve Cryptography dan
Aplikasinya pada Sistem File Save Game Nintendo Wii. Departemen Teknik Informatika
– ITB.
[5] Triwinarko, Andi. 2004. Elliptic Curve Digital Signature Algorithm (ECDSA).
Departemen Teknik Informatika – ITB.

12