Advertisements
BAB III
PEMBAHASAN
1. Pengertian dan
perkembangan ECC
Elliptic
Curve Cryptography atau yang lebih dikenal dengan ECC, merupakan metode
kriptografi yang penggunaannya semakin pesat setiap tahunnya dan mulai
menggantikan metode RSA. Metode RSA pada awal perkenalannya merupakan metode
yang sangat kuat. Bahkan, sang penemu RSA, Rivest-Shamir- Adleman mengutarakan
bahwa untuk membobol sistem ini adalah dengan memecahkan permasalah matematika
yang sangat sulit.. Mencari sebuah faktor adalah permasalahan yang dimaksud dan
hal ini sudah ada dari sejak jaman dahulu. Jika ada sebuah cara untuk mencari
sebuah faktor, maka penemuan ini akan menjadi sebuah berita yang sangat besar.
Karena hampir semua sistem kriptografi saat ini menggunakan metode RSA, maka
akan terjadi perombakan besar besaran jika masalah tersebut terpecahkan. Dalam
sistem bit, terdapat sebuah algoritma untuk mencari faktor faktor tersebut.
Seiring dengan berkembangnya jaman, sumber daya komputer saat ini cukup untuk
melakukan perhitungan dalam memecahkan
algoritma RSA. Satu satunya cara yang ditawarkan untuk menanggulangiya adalah
dengan menambahkan kunci bit agar semakin besar pada RSA. Hal ini
berakibat sistem RSA bukan merupakan sistem yang ideal untuk masa depan
kriptografi. Sehingga belakangan ini, ECC mulai mengambil alih peranan RSA dalam sistem kriptografi yang ada.
ECC
adalah salah satu pendekatan algoritma kriptografi kunci publik berdasarkan
pada struktur aljabar dari kurva ellips pada daerah finite. Penggunaan elliptic
curve pertama kali dicetuskan oleh Neal Koblitz dan Viktor S Miller PADA TAHUN
1985. Elliptic Curve juga digunakan pada beberapa algoritma pemfaktoran integer
yang juga diaplikasikan dalam kriptografi seperti Lenstra Elliptic Curve Factorization.
ECC adalah teknologi yang sangat efisien untuk PKI (Public Key
Infrastructur). Keamanan dari sistem kunci publik yang menggunakan
elliptic curve berdasarkan kesulitan dalam komputasi algoroitma diskrit pada
group dengan poin pada elliptic curve yang didefinisokan atas finite field.
Beberapa
pondasi matematika dari ECC adalah aritmatika modular, groups dan finite field
yang di dalamnya terdapat groups, order group an generator, subgroup, finite
field, dan The Discrete Logarithm Problem (DLP). The Discrete
Logarithm Problem (DLP) didefinisikan sebagai berikut : Berdasarkan
panduan yang digunakan disarankan menggunakan elliptic
curve atas field prima. Elliptic Curve Cryptography adalah
kriptografi kunci publik. Pada kriptografi kunci publik, masing-masing user
atau device mengambil bagian dalam komunikasi yang memiliki pasangan kunci
yaitu kunci publik dan kunci privat. Hanya pengguna yang cocok yang dapat
menggunakan privat key yang sesuai, tetapi kunci public yang
digunakan disebarkan kepada pihak yang akan mengirimkan data kepada pemilik
privat key. Beberapa algoritma kunci publik menyediakan pendefinisian konstanta
yang akan disebarkan ke semua bagian yang ikut berpartisipasi dalam komunikasi.
2. kelebihan dan
kekurangan ECC
ECC
memiliki beberapa kelebihan dan kekurangan, diantaranya adalah :
Kelebihan
:
a. Masalah
keamanan pada distribusi kunci dapat lebih baik
b. Masalah
manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan
:
a. Kecepatan
yang lebih rendah bila dibandingkan dengan algoritma simetris
b. Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan
dengan algoritma simetris.
3. Teori Aljabar Abstrak
a.
Grup
Grup
(group) adalah sistem aljabar yang terdiri dari:
-
sebuah himpunan G
-
sebuah operasi biner *
sedemikian
sehingga untuk semua elemen a, b, dan c di dalam G berlaku aksioma berikut:
1.
Closure Closure: a * b harus berada di dalam G
2.
Asosiatif: a * (b * c) = (a * b) * c
3.
Elemen netral: terdapat e ∈
G sedemikian sehingga a * e = e * a = a
4.
Elemen invers: terdapat a’ ∈
G sedemikian sehingga a * a’ = a’ * a = e •
Notasi:
<G,*> , contoh :
-
<G,+> menyatakan
sebuah grup dengan operasi penjumlahan.
-
<G, . > menyatakan
sebuah grup dengan operasi perkalian
Sebuah
grup dikatakan grup komutatif atau grup abelian (atau disingkat abelian saja)
jika berlaku aksioma komutatif a * b = b * a untuk semua a, b ∈ G.
•<R,+>
dan <R, . >adalah abelian
•
<Z,+> dan <Z, . > adalah abelian
b.
Medan (Field)
Medan
(field) adalah himpunan elemen (disimbolkan dengan F) dengan dua operasi biner,
biasanya disebut penjumlahan (+) dan perkalian (⋅).
Sebuah
struktur aljabar disebut medan jika dan hanya jika:
1.
<F,+> adalah grup abelian
2.
<F-{0}, . >adalah grup abelian
3. Operasi ⋅ menyebar terhadap
operasi + (sifat distributif) Distributif:
x
⋅ ( y + z) = (x ⋅ y) + (x ⋅ z)
(x
+ y) ⋅
z = (x ⋅
z) + (y ⋅
z)
•
Jadi, sebuah medan memenuhi aksioma: closure, komutatif, asosiatif, dan
distributif
Persoalan
lain menyangkut perhitungan aljabar ab = 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]:
y2 = x3 +
ax + b
Contoh kurva eliptik dapat
dilihat pada gambar 2.8 dan gambar 2.9.
Gambar 2.8
Contoh Kurva Eliptik Untuk Persamaan y2 = x3 – x
Gambar
2.9 Contoh Kurva Eliptik Untuk Persamaan y2 = x3 + 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
menggunakan
parameter yang lebih kecil dibandingkan sistem algoritma konvensional. Elliptic Curve Cryptosystem sendiri
sudah dipelajari selama bertahun – tahun. Kurva eliptik menghasilkan bilangan
prima Zp atau menghasilkan batasan GF (2n), 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.
4. Medan Berhingga Fp
Kelas
medan berhingga yang penting adalah Fp. Fp adalah adalah medan berhingga dengan himpunan
bilangan bulat {0, 1, 2, …, p – 1} dengan p bilangan prima, dan dua operasi
yang didefinisikan sbb:
1.
Penjumlahan Jika a, b ∈
Fp, maka a + b = r, yang dalam hal ini r = (a + b) mod p, 0 ≤ r ≤ p – 1
2.
Perkalian Jika a, b ∈
Fp, maka a ⋅
b = s, yang dalam hal ini s = (a ⋅
b) mod p, ≤ s ≤ p – 1
Contoh
:
F23
mempunyai anggota {0, 1, 2, …, 22}.
Contoh
operasi aritmetika:
-
12 + 20 = 9 (karena 32
mod 23 = 9)
-
8 ⋅ 9 = 3 (karena 72
mod 23 = 3)
5. Perhitungan ECC
Kurva
eliptik yang digunakan dalam kriptografi didefinisikan dengan menggunakan dua
tipe daerah terbatas yakni daerah karakteristik
ganjil ( 𝐹𝑝 dimana
𝑝
> 3 adalah bilangan prima yang
besar) dan karakteristik
dua ( 𝐹2𝑚
). Karena perbedaan itu menjadi tidak
begitu penting, kedua daerah terbatas tersebut dapat ditunjukkan sebagai 𝐹𝑝 ,
dimana 𝑞
= 𝑝 atau 𝑞 = 2𝑚
. Elemen dari 𝐹𝑝
adalah integer (0 ≤ 𝑥
< 𝑝)dimana
elemen tersebut dapat dikombinasikan menggunakan modul aritmatik. teknik dasar
kurva eliptik dalam bidang terbatas 𝐹𝑝
dimana 𝑝
adalah bilangan prima lebih besar dari 3. Selanjutnya kurva eliptik secara umum
didefinisikan sebagai field berhingga
(finite field). Sebuah
kurva eliptik 𝐸
didefinisikan
𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏
dimana 𝑎, 𝑏 ∈ 𝐹𝑝 dan 4𝑎3 + 27𝑏2 ≠ 0 dan dan sebuah
titik O, yang disebut titik tak
hingga (infinity). Titik tak hingga adalah identitas atau
titik ideal. Himpunan 𝐸(𝐹𝑝)
adalah semua titik (𝑥, 𝑦) untuk 𝑥, 𝑦 ∈ 𝐹𝑝 yang memenuhi persamaan diatas .
Untuk
menjelaskan uraian di atas, berikut ini diberikan contoh pencarian himpunan
pada ℝ dan 𝐸(𝐹𝑝) . Diberikan persamaan kurva
eliptik 𝐸: 𝑦2 = 𝑥3 + 𝑥
+ 1.Untuk 𝐸(𝐹𝑝) dipilih
𝑝 = 23 , sehingga
grup 𝐹23(𝑎 = 1, 𝑏 = 1). Maka untuk nilai 4𝑎3 + 27𝑏2 = 4 + 27 ≠
0 membuat 𝐸
ada dalam kurva eliptik.
Contoh
proses Enkripsi dan Dekripsi CCE :
Bilangan
Prima (acak random) p=193
Anggota
Himpunan Penyelesaian di atas dengan batas atas bilangan prima 193
(0,1),
(0,192), (1,14), (1,179), (3,80), (3,113), (4,29), (4,164),
(5,18), (10,25), (10,168), (11,68), (11,125), (12,2), (12,191), (15,66),
(15,127), (19,33), (19,160), (20,84), (20,109), (22,40), (22,153),
(5,18), (10,25), (10,168), (11,68), (11,125), (12,2), (12,191), (15,66),
(15,127), (19,33), (19,160), (20,84), (20,109), (22,40), (22,153),
(23,15),
(23,178), (25,37), (25,156), (27,5), (27,188), (28,65), (28,128),
(29,78),
(29,115), (31,78), (31,115), (32,50), (32,143), (35,79), (35,114),
(39,84), (39,109), (41,86), (41,107), (45,70), (45,123), (49,82), (49,111),
(51,43), (51,150), (52,93), (52,100), (53,30), (53,163), (54,80), (54,113),
(55,79), (55,114), (56,64), (56,129), (58,56), (58,137), (61,70), (61,123),
(62,6), (62,187), (66,46), (66,147), (67,41), (67,152), (69,38), (69,155),
(70,66), (70,127), (71,57), (71,136), (72,32), (72,161), (73,14), (73,179),
(74,81), (74,112), (79,2), (79,191), (81,1), (81,192), (82,67), (82,126),
(83,28), (83,165), (84,47), (84,146), (85,49), (85,144), (87,70), (87,123),
(90,55), (90,138), (91,34), (91,159), (93,42), (93,151), (94,59), (94,134),
(95,92), (95,101), (96,182), (100,19), (100,174), (101,13), (102,2),
(102,191), (103,79), (103,114), (104,92), (104,101), (108,66), (108,127),
(109,63), (109,130), (111,96), (111,97), (112,1), (112,192), (113,23),
(113,170), (114,34), (114,159), (115,94), (115,99), (117,105), (119,14),
(119,179), (120,81), (120,112), (123,49), (123,144), (127,3), (127,190),
(128,23), (128,170), (133,78), (133,115), (134,84), (134,109), (135,95),
(135,98), (136,80), (136,113), (138,55), (138,138), (140,35), (140,158),
(142,58), (142,135), (145,23), (145,170), (147,85), (147,108), (155,17),
(158,55), (158,138), (163,50), (163,143), (165,71), (165,122), (166,39),
(166,154), (168,62), (168,131), (169,7), (169,186), (171,77), (171,116),
(175,83), (175,110), (178,49), (178,144), (179,36), (179,157), (180,53),
(180,140), (181,34), (181,159), (187,92), (187,101), (188,8), (188,185),
(189,60), (189,133), (191,50), (191,143), (192,81), (192,112)
(39,84), (39,109), (41,86), (41,107), (45,70), (45,123), (49,82), (49,111),
(51,43), (51,150), (52,93), (52,100), (53,30), (53,163), (54,80), (54,113),
(55,79), (55,114), (56,64), (56,129), (58,56), (58,137), (61,70), (61,123),
(62,6), (62,187), (66,46), (66,147), (67,41), (67,152), (69,38), (69,155),
(70,66), (70,127), (71,57), (71,136), (72,32), (72,161), (73,14), (73,179),
(74,81), (74,112), (79,2), (79,191), (81,1), (81,192), (82,67), (82,126),
(83,28), (83,165), (84,47), (84,146), (85,49), (85,144), (87,70), (87,123),
(90,55), (90,138), (91,34), (91,159), (93,42), (93,151), (94,59), (94,134),
(95,92), (95,101), (96,182), (100,19), (100,174), (101,13), (102,2),
(102,191), (103,79), (103,114), (104,92), (104,101), (108,66), (108,127),
(109,63), (109,130), (111,96), (111,97), (112,1), (112,192), (113,23),
(113,170), (114,34), (114,159), (115,94), (115,99), (117,105), (119,14),
(119,179), (120,81), (120,112), (123,49), (123,144), (127,3), (127,190),
(128,23), (128,170), (133,78), (133,115), (134,84), (134,109), (135,95),
(135,98), (136,80), (136,113), (138,55), (138,138), (140,35), (140,158),
(142,58), (142,135), (145,23), (145,170), (147,85), (147,108), (155,17),
(158,55), (158,138), (163,50), (163,143), (165,71), (165,122), (166,39),
(166,154), (168,62), (168,131), (169,7), (169,186), (171,77), (171,116),
(175,83), (175,110), (178,49), (178,144), (179,36), (179,157), (180,53),
(180,140), (181,34), (181,159), (187,92), (187,101), (188,8), (188,185),
(189,60), (189,133), (191,50), (191,143), (192,81), (192,112)
Privat
key k (untuk penerima) = 4
Private
key ini adalah salah satu angka yang ada pada Himpunan Penyelesaian persamaan
di atas. Titik awal kurva P = (133,78)
Dipilih secara random.Public Key k.P, dihitung dengan cara mengalikan
private key k ke titik awal kurva P
k*P
= 4*(133,78)
[133,78]
+[133,78] =[112,192]
[112,192]+[112,192]=[163,143]
Jadi,
Public Key k.P = (163,143)
Catatan
: Perkalian dan perhitungan titik kurva menggunakan aturan perkalian,
penjumlahan, penggandaan, dan invers, Jadi perkaliannya tidak sama denga
perkalian matriks.
Dari
pre-proses di atas didapatkan beberapa informasi:Persamaan yang dipakai adalah
: y^2 = x^3+x+1
Bilangan
prima p : 193
Private
key : 4
Titik
kurva Awal : (133,78)
Public
Key k.P : (163,143)
Pesan
yang akan di enkripsi : haripinter
Proses
Enkripsi :
-----------------------
- Menentukan titik kkP sebagai titik pengenkripsi.
- Menentukan titik kkP sebagai titik pengenkripsi.
k*kP
= 4*(163,143)
[163,143]+[163,143]=[1,179]
[1,179] +[1,179]
=[128,170]
Titik
kkP : (128,170)
Menentukan titik Awal proses dekripsi.
(Sebenarnya ini adalah titik k.P yang sudah dihitung sebelum) k*P = 4* (133,78)
[133,78]
+[133,78] =[112,192]
[112,192]+[112,192]=[163,143]
Titik
kP : (163,143)
Titik
x dan y kP dikonversi ke karakter, selanjutkan karakter tersebut akan dikirim
sebagai header pada pesan terenkripsi.Karakter x, y, dan pesan akan dipisahkan
oleh karakter #. Sehingga format pesan yang nantinya akan dikirim adalah
X#Y#pesan_terenkripsi. Selanjutnya ambil titik absis kkP untuk di-xor-kan ke
pesan.128 -> 10000000
Konversi
pesan ke integer sesuai format ASCII, kemudian jadikan biner. Selanjutnya di
xor dengan absis titik kdP. Setelah di xor, rangkai lagi menjadi pesan baru
yang terenkripsi:
h -> 104 -> 1101000 xor 10000000 => 232 (è)
h -> 104 -> 1101000 xor 10000000 => 232 (è)
a
-> 97 -> 1100001 xor 10000000
=> 225 (á)
r
-> 114 -> 1110010 xor 10000000 => 242 (ò)
i
-> 105 -> 1101001 xor 10000000 => 233 (é)
p
-> 112 -> 1110000 xor 10000000 => 240 (ð)
i
-> 105 -> 1101001 xor 10000000 => 233 (é)
n
-> 110 -> 1101110 xor 10000000 => 238 (î)
t
-> 116 -> 1110100 xor 10000000 => 244 (ô)
e
-> 101 -> 1100101 xor 10000000 => 229 (å)
r
-> 114 -> 1110010 xor 10000000 => 242 (ò)
Angka
desimal pesan diatas kemudian dikembalikan menjadi karakter, Pesan Baru
terenkripsi : èáòéðéîôåò
Gabungkan karakter titik kP pada pesan. Titik kP + Pesan terenkripsi : £##èáòéðéîôåò
Gabungkan karakter titik kP pada pesan. Titik kP + Pesan terenkripsi : £##èáòéðéîôåò
Pada
pesan tersebut titik X menjadi £ dan Y menjadi karakter yang tidak dikenal oleh
format ASCII.
Proses Dekripsi :
Proses Dekripsi :
-----------------------
Pesan terenkripsi : £##èáòéðéîôåò
Pesan terenkripsi : £##èáòéðéîôåò
Pisahkan
header dan pesan asli. Kemudian ambil ke titik kP (163,143),Hitung titik kP
dengan k untuk mendapatkan titik-titik pesan
4*(163,143)
[163,143]+[163,143]=[1,179]
[1,179] +[1,179]
=[128,170]
Titik
kkP : (128,170)
Ambil
titik absis kkP untuk di-xor-kan ke pesan terenkripsi.
128 -> 10000000
128 -> 10000000
Ambil
pesan perkarakter, jadikan biner, kemudian xor-kan ke kkP
è
-> 232 -> 11101000 xor 10000000 => 104 (h)
á
-> 225 -> 11100001 xor 10000000 => 97 (a)
ò
-> 242 -> 11110010 xor 10000000 => 114 (r)
é
-> 233 -> 11101001 xor 10000000 => 105 (i)
ð
-> 240 -> 11110000 xor 10000000 => 112 (p)
é
-> 233 -> 11101001 xor 10000000 => 105 (i)
î
-> 238 -> 11101110 xor 10000000 => 110 (n)
ô
-> 244 -> 11110100 xor 10000000 => 116 (t)
å
-> 229 -> 11100101 xor 10000000 => 101 (e)
ò
-> 242 -> 11110010 xor 10000000 => 114 (r)
Rangkai
kembali menjadi pesan asli :haripinter
6.
Perbandingan keamanan kunci ECC dan RSA
6.1
Tingkat Keamanan
Yang dimaksud dengan 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 termasuk ke dalam persamaan matematis Integer Factorization Problem (IFP)
sedangkan ECDSA termasuk ke dalam Elliptic
Curve Discrete Logarithm Problem (ECDLP). Tingkat keamanan dihitung
berdasarkan panjang kunci dari masingmasing algoritma kriptografi, parameter
kunci RSA yang digunakan adalah panjang bit n , yaitu perkalian antara faktor
prima p dan q, sedangkan untuk ECDSA 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
ECDSA adalah Pollard Rho Method Attacks
yang memiliki
Ơ = 2 n/2.
Jika diasumsikan hardware yang digunakan
mampu menjalankan 1000000 instruksi per detik (1 MIPS (Million Instruction per
Second)) maka akan dihitung tingkat keamanan kunci ECDSAsebagai berikut : 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 n yang
berbedabeda sehingga diperoleh tabel hubungan panjang kunci ECDSA dengan
tingkat keamanannya sebagai berikut :
Sedangkan
untuk hubungan panjang kunci RSA dan tingkat keamanannya menurut dapat dilihat
dalam tabel berikut ini:
Hubungan
antara tingkat keamanan RSA dan ECDSA dapat dilihat pada grafik berikut ini :
6.2
Performansi
Untuk membahas tingkat performansi dari
ECDSA maupun RSA ada tiga kriteria yang menjadi pertimbangan yaitu :
a. Ukuran pajang kunci, kunci publik RSA
adalah pasangan (n,e), dimana n adalah modulo sedangkan e adalah kunci publik.
Jika sistem kriptografi RSA yang dibangun 1024 bit, maka tentunya n juga
mempunyai panjang 1024 bit dan kunci publik yang digunakan adalah e = 216 +
1=65537. Ukuran kunci publik RSA yang diperlukan adalah 128 bytes untuk modulo
dan 3 bytes untuk kunci publik, sehingga totalnya adalah 131 bytes. Sedangkan
jika sistem kriptografi ECDSA menggunakan 160 bit, maka panjang kunci publik
ECDSA adalah sebuah titik pada kurva Q(x,y) yang masing masing elemennya , x
dan y, juga mempunyai panjang 160 bit. Sehingga total ukuran kunci publik ECDSA
adalah 160 bit = 40 bytes, yang jauh lebih kecil jika dibandingkan dengan RSA.
b. Ukuran panjang tanda tangan digital,
panjang tanda tangan digital ECDSA = 320 bit (2 x 160 bit, tanda tangan
merupakan pasangan r dan s yang masing-masing panjangnya 160 bit), atau 40
bytes. Sedangkan ukuran tanda tangan digital RSA adalah 1020 bit ≈ 1024 bit =
128 bytes. Sehingga total ukuran tanda tangan digital ECDSA jauh lebih kecil
dari RSA.
c. Kecepatan proses signing dan
verifying, waktu yang diperlukan untuk
proses signing dan verifying dapat dilihat pada tabel berikut ini :
Berdasarkan tabel di atas ECDSA baik digunakan untuk proses yang banyak
menggunakan pembangkitan tanda tangan digital, misalnya digunakan oleh orang
yang sering menggunakan webmail karena di setiap suratnya, dia harus selalu
menandatanganinya. Sebaliknya RSA baik digunakan untuk proses yang sering
melakukan verifikasi tanda tangan digital, misalnya pihak CA (Certification
Authority) yang hanya menadatangani sertifikat kunci publik sekali saja tetapi
sertifikat tersebut nantinya akan sering diverifikasi orang lain.
1.
ECC dan Bitcoin
7.1
Penggunaan ECC pada Bitcoin
Bitcoin adalah uang elektronik atau mata
uang virtual. Bitcoin meupakan mata uang elektronik yang menggunakan jaringan
pembayaran peer-to-peer (pengguna ke pengguna) yang bersifat terbuka. Bitcoin
berbentuk virtual sehingga apabila seseorang ingin melihat bagaimana
bentuk fisik dari
mata uang ini,
maka jawabannya adalah
tidak ada! Bentuknya bukan seperti mata uang fisik yang dikeluarkan oleh
sebuah bank dan bukan pula mata uang dari sebuah Negara.
Bitcoin adalah yang pertama dan mudah
serta uang digital paling populer atau mata uang yang menggunakan kriptografi
untuk mengendalikan penciptaan, administrasi dan keamanan. Mata uang ini
digagas tahun 2008 oleh seseorang atau
sekelompok yang menggunakan nama Satoshi Nakomoto dan diperkenalkan di
dunia setahun sesudahnya yaitu 2009.15 Identitas sebenarnya dari
Satoshi Nakomoto masih
menjadi sebuah misterius,bahkan banyak orang yang meragukan
apakah ia adalah seorang atau sebuah komunitas.
Bitcoin sendiri menggunakan metode
Elliptic Curve dalam sistemnya karena tingkat keamanan yang baik dan panjang
kunci yang rasional. Kunci privat yang dihasilkan akan disimpan dan dikelola
dalam dompet bitcoin sementara kunci publik akan diproses lebih lanjut menjadi
alamat bitcoin. Oleh sebab itu, menyebarkan alamat bitcoin tidak akan
menyebabkan uang yang tersimpa dapat dicuri, sebab kunci publik emang untuk
disebarluaskan.
7.2
Tanda
Tangan Elektronik
Tanda tangan elektronik merupakan teknik
kriptografi yang memanfaatkan PKC (Public key criptografi) untuk memveripikasi
identitas seseorang atas isi dokumen atau informasi elektronik. Tujuannya
adalah untuk menentukan apakah dokumen tersebut dibuat oleh orang yang
sah.Tanda tangan elektronik berasumsi bahwa kunci privat yangdigunakan untuk
membuat tanda tangan hanya diketahui oleh orang yang bersangkutan. Prosses
dibagi dua yaitu proses tanda tangan dan perivikasi
Proses penanda tanganan dimulai dari
penyiapan dokumen elektronik, kemudian dokumen tersebut dihitung nlai hash-nya.
Nilai hash tersebut dienkripsi menggunakan kunci privat yang dimiliki. Hasil
enkripsi inilah yang disebut tanda tangan elektronik.tanda tangan elektronik
ini kemudian ditempel pada dokumen dan diantar kepada orang yang bersangkutan.
Proses Verifikasi dimulai dari perolehan
dokumen beserta tanda tangan elekronik. Kemudian, dokumen tersebut dinilai
nilai hash-nya.sementara tanda tangan elektronik dideskripsi mengunakan kunci
publik pembuat dokumen.hasil dari deskripsi tersebut adalah nilai hash. Lalu
bandingakn apakah nilai hash dokumen sama, bila sama maka tada tangan tersebut
dinyatakan sah.
Tanda tangan digital dengan menggunakan
fungsi hash satu arah (one way hash function) secara 2 umum mempunyai tiga
macam proses utama, yaitu : pembangkitan pasangan kunci, pemberian tanda tangan
digital (signing), dan verifikasi terhadap keabsahan tanda tangan digital
tersebut (verifying).
Signing, pesan yang hendak dikirim diubah
terlebih dahulu menjadi bentuk yang ringkas yang disebut message digest.
Message digest (MD) diperoleh dengan cara mentransformasikan pesan M
menggunakan fungsi hash satu-arah (one-way) H,
MD
= H(M) (1)
Pesan yang sudah diubah menjadi message
digest oleh fungsi hash tidak dapat dikembalikan lagi menjadi bentuk semula
walaupun digunakan algoritma dan kunci yang sama (itulah sebabnya dinamakan
fungsi hash satu-arah). Sembarang pesan yang berukuran apapun diubah oleh
fungsi hash menjadi message digest yang berukuran tetap (umumnya 128 bit).
Selanjutnya, message digest MD dienkripsikan dengan algoritma kunci-publik
menggunakan kunci rahasia (SK) pengirim menjadi tanda tangan tanda tangan S,
S
= ESK(MD) (2)
Pesan M disambung (append) dengan tanda
tangan tanda tangan S, lalu keduanya dikirim melalui saluran komunikasi. Dalam
hal ini, kita katakan bahwa pesan M sudah ditandatangani oleh pengirim dengan
tanda tangan digital S.
Verifying, Pesan M dan tanda tangan
digital S yang dikirim melalui saluran komunikasi akan diterima oleh pihak
penerima. Di tempat penerima, pesan diverifikasi untuk dibuktikan
keotentikannya dengan cara tanda tangan digital S didekripsi dengan menggunakan
kunci publik (PK) pengirim pesan, menghasilkan message digest semula, MD,
sebagai berikut:
MD
= DPK(S) (3)
Pengirim kemudian mengubah pesan M menjadi
message digest MD’ menggunakan fungsi hash satu-arah yang sama dengan fungsi
hash yang digunakan oleh pengirim. Jika MD’ = MD, berarti pesan yang diterima
otentik dan berasal dari pengirim yang benar.
Proses
pembuktian keotentikan tanda tangan digital ini dijelaskan sebagai berikut:
1. Apabila
pesan M yang diterima sudah berubah, maka MD’ yang dihasilkan dari fungsi hash
berbeda dengan MD semula. Hal ini berarti bahwa pesan sudah tidak asli lagi
(data integrity).
2. Apabila
pesan M tidak berasal dari orang yang sebenarnya, maka message digest MD yang
dihasilkan dari persamaan 3 berbeda dengan message digest MD’ yang dihasilkan pada proses verifikasi (hal
ini karena kunci publik yang digunakan oleh penerima pesan tidak berkoresponden
dengan kunci rahasia pengirim). Bila MD = MD’, ini berarti pesan yang diterima
adalah pesan yang asli (message authentication) dan orang yang mengirim adalah
orang yang sebenarnya (user authentication). Karena proses signing menggunakan
kunci rahasia pengirim maka pengirim pesan tidak dapat menyangkal aktivitas yang telah dilakukannya
(nonrepudiation).
Bitcoin memanfaatkan teknik tanda tangan
elektronik ECDSA(Eclips Curve Digital Signature Algortihm) dengan spesifikasi
secp256k1. Tanda tangan elektronik ini digunaka untuk memastikan apakah orang
tersbut merupakan orang yang sah atas kepemilikan uang didalam bitcoin.
8. Aplikasi ECC
Aplikasi
yang menerapkan kriptografi ECC adalah :
-
Piranti komunikasi
nirkabel
-
Smart cards
-
Web server yang
membutuhkan penangangan banyak sesi enkripsi
-
Sembarang aplikasi yang
membutuhkan keamanan tetapi memiliki kekurangan dalam power, storage and
kemampuan komputasi adalah potensial memerlukan ECC
Artikel Terkait
Advertisements
Title : Makalah Tentang Kriptografi Kurva Eliptik ( ECC )
Description : BAB III PEMBAHASAN 1. Pengertian dan perkembangan ECC Elliptic Curve Cryptography atau yang lebih dikenal dengan ECC, meru...
Description : BAB III PEMBAHASAN 1. Pengertian dan perkembangan ECC Elliptic Curve Cryptography atau yang lebih dikenal dengan ECC, meru...
min, mau tanya proses perhitungannya bisa gk?
ReplyDelete