Iklan

Social Icons

Powered by Blogger.

Makalah Tentang Kriptografi Kurva Eliptik ( ECC )



Advertisements



BAB III
PEMBAHASAN

contoh makalah kriptografi eliptik

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]:
y= x+ 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
𝑦𝑥+ 𝑎𝑥 + 𝑏
  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),
(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)

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.
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 (è)
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 : £##èáòéðéîôåò
Pada pesan tersebut titik X menjadi £ dan Y menjadi karakter yang tidak dikenal oleh format ASCII.

Proses Dekripsi :
-----------------------
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
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...

1 Response to "Makalah Tentang Kriptografi Kurva Eliptik ( ECC )"