Upload
jasprelao
View
228
Download
0
Embed Size (px)
Citation preview
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 1/12
1
Analisis Algoritma dan Keamanan pada Kriptografi Kurva
Eliptik
Jasson Prestiliano (972009005)
Magister Sistem InformasiFakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60 Salatiga 50711 [email protected]
Abstrak
Algoritma kriptografi untuk mengamankan data masih terus dikembangkan, dimana salah satunya adalah Algoritma Kriptografi Kurva Eliptik. Algoritma ini
termasuk ke dalam sistem sistem kriptografi kunci publik yang mendasarkankeamanannya pada permasalahan matematis kurva eliptik. Algoritma ini memilikikeuntungan 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.
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 2/12
2
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 sepertiAslinya. Dekripsi sendiri berarti merubah pesan yang sudah disandikan menjadi pesan aslinya.
Pesan asli biasanya disebut plaintext , sedangkan pesan yang sudah disandikan disebutciphertext [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.
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 konvensionaladalah 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.
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 padakerahasiaan 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:
Plain
Text
Enkripsi DekripsiChipper
Text
Plain
Text
Kunci K
Plain
Text
Enkripsi DekripsiChipper
Text
Plain
Text
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 3/12
3
Ek (P) = CDk (C) = P
Contohnya seperti pada Gambar 2.3 bila seseorang ingin mengirim pesan kepada oranglain maka orang tersebut menggunakan kunci public orang tersebut untuk mengenkripsi pesan
yang kita kirim kepadanya lalu orang tersebut akan mendekripsi pesan tersebut dengan kunci privatmiliknya.
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 akandikeluarkan sebelum nilai lainnya (misalnya tanda tangan pihak lain) diterima.
6. Koordinasi, di dalam komunikasi dengan banyak pihak, setiap pihak dapat berkoordinasiuntuk tujuan yang sama walaupun terdapat kehadiran musuh.
3. Kriptografi Kurva Eliptik
Elliptic Curve Cryptography atau Kriptografi Kurva Eliptik adalah sebuah algoritmakriptografi 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 keuntungandalam 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
Plain
Text
Enkripsi DekripsiChipper
Text
Plain
Text
Kunci Public Kunci Private
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 4/12
4
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,
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 5/12
5
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-operasitersebut 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 sebuahtitik –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 sendiriuntuk 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
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 6/12
6
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 yangdisebutkan 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 yangdikirim 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.
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 7/12
7
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 kunciDSA 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 tingkatkeamanan 80 bit[5].
4.2. ECDH (Elliptic Curve Diffie Hellman).
ECDH ( Elliptic Curve Diffie Hellman) adalah sebuah protokol perjanjian kunci yangmemungkinkan 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 berbagiadalah 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 dapatmemecahkan prosesor aritmatika Kurva Logaritma Diskrit.
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 8/12
8
5. Implementasi Kriptografi Kurva Eliptik
Kriptografi kurva eliptik dapat digunakan untuk mengenkripsi pesan ( plain text ), M,
menjadi chiper text s. 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, n A < n dan menghitung kunci publik P A
sebagai: P A = n AG. 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:
P C = [(kG ), (P M + kP B )]
Setelah menerima pasangan titik dari chiper text , P C , 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):
(P M + kP B ) − [n B (kG )] = (P M + kn B G ) − [n B (kG )] = P M
Yang mana merupakan titik dari pesan ( plain text ), berkorespondensi ke pesan M. Hanya
user B yang mengetahui kunci privat n B, yang dapat melepaskan nB(kG) dari titik kedua dari dari pasangan titik cipher text , misalnya ( P M + kP B), dan oleh karenanya mengambil informasi dari
pesan P M .
Contoh Enkripsi dengan menggunakan Kriptografi Kurva Eliptik. Diketahui terdapatkurva eliptik sebagai berikut:
y 2 = x 3 + ax + b mod p y 2 = x 3 − 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) = E 751(−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/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 9/12
9
Jika user A ingin mengirim pesan M kepada user B yang telah dienkripsi menjadi titik
plain text PM = (443 , 253) ϵ E 751(−1 , 188). User A harus menggunakan kunci publik user B
untuk mengenkripsinya. Misalnya user B memiliki kunci rahasia atau kunci privat n B = 85, makakunci publiknya adalah:
P B = n B G = 85(0, 376)P B = (671, 558)
User A memilih angka acak, misalnya k = 113 dan menggunakan kunci publik user B P B = (671 ,558) untuk mengenkripsi titik pesan menjadi pasangan titik cipher text pair of points:
P C = [(kG ), (P M + kP B )]P C = [113 × (0, 376), (443, 253) + 113 × (671, 558)]P C = [(34, 633), (443, 253) + (47, 416)]P C = [(34, 633), (217, 606)]
Ketika menerima pasangan titik dari cipher text , P C = [(34 , 633) , (217 , 606)], user B
menggunakan kunci privatnya nB = 85, untuk menghitung titik pesan ( plain text ), P M , 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 ) P M = (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 yangdimiliki 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 algoritmakriptografi, 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 danhardware yang terbaik. Algoritma terbaik yang diketahui untuk menyelesaikan IFP pada RSAadalah 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
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 10/12
10
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 :
MIPS = 2 149/2 / 1000000.3600.24.365 = 598981035 MIPS years
Dengan cara yang sama dihitung tingkat keamanan untuk kunci dengan panjang bit nyang 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.
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 11/12
11
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 panjangkunci 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 kurvaeliptik 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.
8/8/2019 Kriptografi Kurva Eliptik
http://slidepdf.com/reader/full/kriptografi-kurva-eliptik 12/12
12
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.