kriptografi kurva eliptik

12
1  Analisis Algoritma dan Keaman an pada Kriptografi Kurva Eliptik Jasson Prestiliano (972009005) Magister Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60 Salatiga 50711  [email protected] 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 men gamankan 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.

Upload: jasprelao

Post on 10-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

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.