2.3 Kriptografi Kurva Eliptik
2.3.1 Pengenalan
The Elliptic Curce Cryptosystem ECC diperkenalkan pada tahun 1985 oleh Neal Koblitz dan Victor Miller dari Universitas Washington. Kurva eliptik mempunyai masalah logaritma
yang terpisah sehingga sulit untuk dipecahkan. Kriptografi kurva eliptik termasuk sistem kriptografi kunci publik yang mendasarkan keamanannya pada permasalahan matematis kurva
eliptik. Tidak seperti permasalahan matematis logaritma diskrit Discrete Logarithm Problem DLP dan pemfaktoran bilangan bulat Integer Factorization Problem IFP, tidak ada
algoritma waktu sub-eksponensial yang diketahui untuk memecahkan permasalahan matematis algoritma diskrit kurva eliptik Elliptic Curve Discrete Logarithm Problem
ECDLP. Oleh karena alasan tersebut algoritma kriptografi kurva eliptik mempunyai keuntungan bila dibandingkan algoritma kriptografi kunci publik lainnya, yaitu dalam hal
ukuran kunci yang lebih pendek tetapi tingkat keamanan yang sama.[8] Kurva eliptik juga digunakan pada beberapa algoritma pemfaktoran integer yang juga
memiliki aplikasi dalam kriptografi, seperti Lenstra Elliptic Curve Factorization. Algoritma kunci publik didasarkan pada variasi perhitungan matematis yang terbilang sangat sulit
dipecahkan tanpa pengetahuan tertentu mengenai bagaimana perhitungan tersebut dibuat. Pembuat algoritma menyimpan kunci rahasia dan menyebarkan kunci publiknya. Algoritma
kunci publik digunakan untuk mengenkripsi pesan dimana hanya pembuat algoritma yang dapat memecahkannya. Sistem kunci publik awal, seperti algoritma RSA, menggunakan dua
bilangan prima yang sangat besar. Pengguna memilih dua bilangan prima acak yang besar sebagai kunci rahasianya dan mempublikasikan hasil perhitungannya sebagai kunci publik.
Pemfaktoran bilangan – bilangan besar yang sangat sulit dapat menjaga kerahasiaan kunci rahasia itu dari orang lain.[1]
Persoalan lain menyangkut perhitungan aljabar a
b
= c, dimana a dan c diketahui. Perhitungan semacam itu menyangkut bilangan kompleks atau real yang dapat dengan mudah
dipecahkan menggunakan algoritma. Tetapi dalam kumpulan bilangan terbatas yang besar, menemukan solusi untuk perhitungan semacam itu sangat sulit dan dikenal sebagai discrete
logarithm problem. Kurva eliptik dapat ditulis dengan perhitungan matematis sebagai berikut [10]:
y
2
= x
3
+ ax + b
Universitas Sumatera Utara
Contoh kurva eliptik dapat dilihat pada gambar 2.8 dan gambar 2.9.
Gambar 2.8 Contoh Kurva Eliptik Untuk Persamaan y
2
= x
3
– x
Gambar 2.9 Contoh Kurva Eliptik Untuk Persamaan y
2
= x
3
+ x + 1
Kumpulan titik pada kurva dapat membentuk kumpulan abelian dengan titik pada tak terhingga sebagai elemen identitas. Jika nilai x dan y dipilih dari daerah terbatas yang besar,
solusi akan membentuk suatu kumpulan abelian terbatas. Permasalahan logaritma diskrit pada kumpulan kurva eliptik tersebut dipercaya lebih sulit dibandingkan permasalahan yang sama
perkalian bilangan tidak nol dalam daerah terbatas. Selain itu, kunci dalam algoritma kriptografi kurva eliptik dapat dipilih yang lebih pendek untuk keamanan yang cukup tinggi.
Sebagai salah satu sistem kripto kunci publik, belum ada pembuktian matematis untuk tingkat kesulitan Elliptic Curve Cryptosystem yang telah dipublikasikan sampai tahun 2006.[1]
Elliptic Curve Cryptosystem mempunyai panjang kunci 160 bit yang dipercaya mempunyai tingkat keamanan yang setara dengan RSA 1024 bit. Elliptic Curve Cryptosystem
Universitas Sumatera Utara
menggunakan parameter yang lebih kecil dibandingkan sistem algoritma konvensional. Elliptic Curve Cryptosystem sendiri sudah dipelajari selama bertahun – tahun. Kurva eliptik
menghasilkan bilangan prima Z
p
atau menghasilkan batasan GF 2
n
, merupakan sesuatu yang menarik sebab digunakan untuk menyediakan suatu cara membangun algoritma kriptografi.
Elliptic Curve Cryptosystem mempunyai potensi untuk menyediakan kunci umum sistem kripto yang lebih cepat dengan ukuran kunci yang lebih kecil.[1]
2.3.2 Sistem Kriptografi Kurva Eliptik
Kurva eliptik yang digunakan dalam kriptografi didefinisikan dengan menggunakan dua tipe daerah terbatas : daerah karakteristik ganjil F
p
, dimana p 3 adalah bilangan prima yang besar dan daerah karakteristik dua F2
m
. Karena perbedaan itu menjadi tidak begitu penting, kedua daerah terbatas tersebut dapat ditunjukkan sebagai F
q
, dimana q = p atau q = 2
m
. Elemen dari F
p
adalah integer 0 ≤ � � di mana elemen tersebut dapat dikombinasikan
menggunakan modul aritmetik. Untuk F2
m
sedikit lebih kompleks : salah satu mengandung representasi yang berbeda dari elemen daerah sebagai bit string untuk pilihan polinomial fx
biner yang irreducible yang derajat m. Bidang terbatas finite field atau yang biasa disebut dengan Galois Field GF adalah
bidang yang hanya memiliki elemen bilangan yang terbatas. Derajat order dari bidang terbatas adalah banyaknya elemen yang ada dalam bidang. Jika q adalah pangkat prima prime
order, maka hanya ada satu bidang terbatas dengan derajat q. Bidang tersebut dilambangkan dengan F
q
atau GFq. Banyak cara untuk merepresentasikan elemen dari F
q
, jika q = p
m
, dimana p adalah bilangan prima dan m adalah bilangan integer positif, maka p disebut sebagai
karakteristik dari F
q
dan m disebut sebagai derajat perluasan extension degree dari F
q
. Bidang terbatas yang digunakan dalam kriptografi adalah q = p, dimana p adalah bilangan
prima ganjil, yang dilambangkan dengan F
p
odd prime, dan q = 2
m
, dimana m adalah integer lebih besar dari satu, yang dilambangkan dengan F2
m
characteristic two or even.[2] Bidang terbatas F
p
merupakan sebuah bidang yang beranggotakan bilangan integer 0, 1, …, p-1 dan p merupakan bilangan prima. Setiap perhitungan dikalkulasikan dengan
modulo p agar hasilnya tetap berada dalam daerah F
p
. Operasi yang berlaku dalam bidang terbatas F
p
adalah :[2]
Universitas Sumatera Utara
1. Penjumlahan addition, jika a, b ∈ F
p
, dimana a + b = r, dimana r adalah sisa pembagian a + b dengan bilangan prima p, 0
≤ � ≤ � − 1. Penjumlahan seperti ini disebut penjumlahan modulo p mod p.
2. Perkalian multiplication, jika a,b ∈ F
p
, maka a b = s, dimana s adalah sisa pembagian a b dengan bilangan prima p, 0
≤ � ≤ � − 1. Perkalian seperti ini disebut perkalian modulo p mod p.
Bidang terbatas F2
m
biasa disebut dengan bidang terbatas biner biner finite field, dapat dipandang sebagai ruang vector dimensi m pada F2. Karena itu ada
himpunan yang beranggotakan m elemen { �0, �1, … , �� − 1} di dalam F2
m
sedemikian rupa sehingga setiap a ∈ F2
m
dapat ditulis secara unik ke dalam bentuk :[2]
a = a �
+ a
1
�
1
+ …+ a
m-1
�
�−1
+ a
m
�
�
, untuk a
i
∈ {0,1}
Salah satu cara untuk merepresentasikan elemen – elemen pada F2
m
adalah dengan representasi basis polinomial. Pada representasi basis polynomial elemen pada
F2
m
merupakan polinomial dengan derajat lebih kecil dari m, dengan koefisien bilangan 0 atau 1.[2]
{a
m-1
x
m-1
+ …+ a
2
x
2
+ a
1
x
1
+ a x
| a
i
: 0,1} �
3
= �
1 2
+ �
�
1 2
�
3
= �
1 2
+ ��
1
+ �
1
�
1
� �
3
+ �
3
Persamaan kurva eliptik menggunakan rumus �
2
= �
3
+ �� + � yang
digambarkan diatas �
�
dimana a, b ∈ �
�
. �
�
disebut bilangan prima jika dan hanya jika p 3 yang merupakan kelompok ganjil. Kurva eliptik EC dapat diubah menjadi
kelompok abelian dengan semua titik dari EC, yang meliputi ketidak-terbatasan O dibawah kondisi 4a
3
+27b
2
≠ 0 mod p, jika x
1
,y
1
dan Qx
2
,y
2
ada pada kurva eliptik. Titik yang ketiga R adalah P + Q = x
3
,y
3
. Titik yang ketiga dari R bisa digambarkan sebagai berikut : Pertama digambarkan sebuah garis yang melewati P
dan Q. cari persimpangan titik –R pada kurva eliptik dan kemudian temukan titik
Universitas Sumatera Utara
pemantulan dari R berkenaan dengan X-axis, yang merupakan penjumlahan dari P dan Q.[2]
Salah satu ECC yang terkenal adalah Elliptic Curve Direcrete Logarithm Problem ECDLP yang dinyatakan sebagai berikut : Diambil suatu bilangan prima p
dan tentukan persamaan kurva eliptik, kemudian xp menyatakan titik P yang ditambahkan dengan dirinya sendiri sebanyak x kali, dan bila Q merupakan kelipatan
P maka Q = xP untuk suatu x. Keamanan dari ECDLP diperoleh dari sulitnya mendapatkan x bila P dan Q diketahui, apalagi nilai P dan Q cukup besar.
Kompleksitas algoritma untuk mencarinya dengan eksponensial dan diperlukan logaritma diskrit.[2]
Contoh : Diketahui p = 17, dipilih a = 1 dan b = 5 dan menggunakan persamaan sebelumnya dengan Z
17
menjadi �
2
= �
3
+ � + 5 mod 17. Karenanya
penyamaan yang diberikan kurva eliptik:[1]
1. P = 3,1 dan Q8,10 dua titik pada kurva eliptik. Kemudian P + Q = Rx
3
,y
3
merupakan hasil perhitungan di bawah ini :
� + � = 3,1 + 8,10 �
3
= �
�
2
− �
1
�
2
− �
1
�
2
− �
1
− �
2
= �
9 5
�
2
− 3 − 8 Karena 9 x 5
−1
mod 17 = 9 x 7 mod 17 = 12. Ini menghasilkan x
3
= 12
2
-3-8mod 17 =14 �
3
= −1 + �
9 5
� ∗ 3 − 14 = −1 + 12 ∗ −11 = −133 ��� 17 = 3 Maka P + Q = R14,3
2. P = 3,1 kemudian 2P = P + P = x
3
,y
3
. Perhitungannya seperti di bawah ini : 2
� = 3,1 + 3,1 �
3
= �
3 �
1 2
+ �
2 �
1
�
2
− 2�
1
= �
27 + 1 2
�
2
− 6 = 14
2
− 6 = 190��� 17 = 3 dan
�
3
= −�
1
+ �
3 �
1 2
+ �
2 �
1
� �
1
− �
3
= −1 + 143 − 3 = −1��� 17 = 16
Maka 2P = 3,16
Universitas Sumatera Utara
2.3.3 Field
Field adalah kumpulan dari elemen, X dan Y, yang terdapat dalam fungsi. Beberapa contoh dari field adalah bilangan real, bilangan kompleks, bilangan rasional
dan bilangan integer modulo bilangan prima. Contoh yang terakhir ini merupakan salah satu contoh finite field. Persyaratan dari sebuah field adalah penjumlahan dan
perkalian biasa, ditambah eksistensi dari inversi penjumlahan dan perkalian, kecuali 0 yang tidak mempunyai inversi perkalian. Dengan perkataan lain, sebuah field
mempunyai penjumlahan, pengurangan, perkalian dan pembagian. Operasi-operasi ini selalu menghasilkan sebuah hasil yang terdapat di dalam field tersebut dengan
pengecualian pembagian dengan bilangan nol yang tidak terdefinisi.[1]
Bilangan kompleks dapat didefinisikan sebagai b.i + a dengan aturan reduksi t
2
+ 1 = 0. Untuk melakukan perkalian bilangan kompleks, kita dapat menganggap t sebagai unknown tak dikenal, mengumpulkan bilangan pangkat dari t dan
menerapkan aturan reduksi untuk menyederhanakan hasilnya. Konstruksi ini berlaku untuk aturan reduksi lainnya yang mengandung bilangan pangkat lebih besar dari t.
Koefisien dari bilangan pangkat dari t boleh berasal dari semua field, tetapi bila kita mengambil integer modulo p sebagai field-nya, kita mendapatkan sebuah finite field
dengan p
m
elemen, dimana m adalah derajat dari aturan reduksi. Tidak semua aturan reduksi berlaku, kita harus menggunakan polinomial yang tidak dapat direduksi lagi
irreducible polynomial. [1]
Sebagai catatan, ketika mengalikan elemen dari field sebenarnya dua aturan reduksi bekerja secara simultan, yaitu aturan untuk mereduksi koefisien modulo p dan
aturan untuk mereduksi pangkat besar dari t. Konstruksi ini bekerja untuk semua p dan m, selama p adalah bilangan prima. Faktanya, setiap finite field dapat dikonstruksikan
dengan cara ini. Fakta ini sebenarnya direferensikan kepada Galois field dengan p
m
elemen, dengan menggunakan notasi GFp
m
. Bilangan prima p merupakan karakteristik dari field.[1]
Universitas Sumatera Utara
Representasi field menentukan bit-pattern mana yang akan digunakan untuk merepresentasikan bermacam-macam elemen field. Representasi dipilih untuk
membuat operasi aritmatika field menjadi efisien.[1]
2.3.4 Group
Group merupakan kumpulan dari field. Terdapat tiga buah group utama yang sangat disukai oleh para ahli kriptografi yaitu :[1]
1. Group perkalian dari field bilangan prima : GFp. 2. Group perkalian dari finite field dari karakteristik 2 : GF2
n
. 3. Elliptic Curve Group pada finite field F : ECF.
Jika p adalah modulus dan bilangan prima, maka kompleksitas untuk mencari logaritma diskrit pada GFp pada dasarnya sama dengan memfaktorisasi sebuah
integer n, dimana n adalah pemangkatan dari dua buah bilangan prima yang hampir sama panjang.[1]
2.4 Bilangan Prima