• Tidak ada hasil yang ditemukan

IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM PADA SKEMA BLIND SIGNATURE

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM PADA SKEMA BLIND SIGNATURE"

Copied!
6
0
0

Teks penuh

(1)

IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM PADA SKEMA BLIND SIGNATURE

Is Esti Firmanesa Lembaga Sandi Negara

e-mail: isesti.firmanesa@lemsaneg.go.id / isestif@yahoo.com ABSTRACT

Some blind signature schemes (blind signature) previously proposed based on the Integer Factorization Problem (IFP), such as RSA and Discrete Logarithm Problem (DLP) such as ElGamal algorithm. However, both of these schemes has not meet the two properties as stated by Chaum, that every blind signature protocol should hold two basic properties, namely blindness (blindness) and complexity (intractableness). For this reason, some researchers make blind signature scheme based on Elliptic Curve Cryptography (ECC) which is proven to meet these two properties. This study will discuss the blind signature scheme based on algorithm based ECC, namely the Elliptic Curve Digital Signature Algorithm (ECDSA) where security depends on the difficulty of solving the Elliptic Curve Discrete Logarithm Problem (ECDLP). ECDSA is the development of DSA-based on the DLP, namely the DSA analogous to the ECC-based on the ECDLP.

Keywords : Blind Signature, ECC, ECDLP, ECDSA PENDAHULUAN

Internet telah memberikan kontribusi dan andil yang sangat besar bagi perkembangan dunia. Kehadiran internet telah menghapus batas dan jarak terhadap akses informasi. Perkembangan internet juga telah mempengaruhi perkembangan ekonomi. Berbagai transaksi jual beli yang sebelumnya hanya bisa dilakukan dengan cara tatap muka (dan sebagian sangat kecil melalui pos atau telepon), kini sangat mudah dan sering dilakukan melalui internet. Transaksi melalui internet ini dikenal dengan

nama e-commerce. Sekarang, tantangannya adalah meningkatkan keamanan dan anonimitas

orang-orang dalam lingkungan internet yang tidak terkendali dan berbahaya ini. Hal ini untuk menghindari penipuan/pemalsuan atau tindakan-tindakan ilegal lainnya secara online. Salah satu solusinya adalah

menerapkan konsep blind digital signature atau disebut juga blind signature. Konsep ini

diperkenalkan pertama kali oleh Chaum pada tahun 1982 dan beberapa aplikasi blind signature telah dikembangkan melalui bidang e-commerce dan e-voting [İsmail Butun, Mehmet Demirera].

Beberapa skema blind signature yang diusulkan sebelumnya didasarkan pada IFP dan DLP. Namun kedua skema ini belum memenuhi dua sifat/syarat seperti yang dinyatakan oleh Chaum, bahwa setiap protokol blind signature harus memegang dua sifat dasar, yaitu kebutaan (blindness) dan kerumitan (intractableness) [Fuh-Gwo Jeng, Tzer-Long Chen, Tzer-Shyong Chen]. Oleh karena itu, peneliti-peneliti membuat skema blind signature baru yang menerapkan Elliptic Curve Cryptography

(ECC) untuk memperoleh keamanan dan keefisiensian yang lebih baik dalam penggunaan resources. Dalam hal ini, skema blind signature menggunakan ECDSA yang berbasis ECDLP.

Tujuan dari skema ini adalah memanfaatkan keuntungan yang melekat pada ECC, yaitu dengan tingkat keamanan yang sama, ukuran kunci ECC lebih kecil dan waktu perhitungannya lebih cepat dari pada RSA dan ElGamal. Demikian juga berdasarkan hasil simulasi dari penelitian sebelumnya terjadi peningkatan kinerja hingga 96% jika dibandingkan dengan skema yang diusulkan sebelumnya. Oleh karena itu, skema ini telah terbukti kuat dan sangat sulit untuk dilacak yaitu, serta dapat diusulkan untuk digunakan dalam berbagai aplikasi seperti e-voting, digital cash, dan lain-lain.

Keamanan dari skema blind signature yang kuat adalah untuk menghindari usaha pemalsuan

otentikasi tanda tangan dan data dari pihak yang tidak berwenang atau lawan, sehingga integritas data, keabsahan pengirim, dan anti-penyanggahan dapat dijamin.

METODE PENELITIAN

Metode penelitian yang digunakan dalam paper ini adalah Metode Penelitian dan

Pengembangan, yaitu skema blind signature yang mengimplementasikan ECDSA (berbasis ECDLP)

(2)

kekuatan algoritma dan keefisiensian dalam penggunaan resources (biaya komputasi, ukuran kunci dan bandwidth).

PEMBAHASAN

Skema yang dibuat dalam paper ini adalah skema blind signature analog dengan ECC yang

berbasis keamanan ECDLP. Sebelum membahas skema blind signature tersebut akan dibahas

landasan teori yang mendukung skema tersebut.

Digital Signature

Tanda tangan digital (digital signature) digunakan proses pengiriman dan penerimaan pesan melalui jalur pribadi berdasarkan kesepakatan antara semua user terkait. Pesan ini dienkripsi dan didekripsi menggunakan sistem kriptografi tertentu untuk menjamin kerahasiaan dan integritas pesan.

Peran digital signature dalam proses pengiriman/penerimaan pesan ini adalah untuk menjamin

integritas, otentikasi (pesan dan user), dan non-repudiasi. Konsep digital signature awalnya berasal dari kriptografi yang didefinisikan sebagai metode untuk pesan pengirim yang dienkripsi atau didekripsi dengan melibatkan fungsi hash untuk menjamin kerahasiaan pesan ketika ditransmisikan. Ketika fungsi hash digunakan untuk pesan, maka digital signature yang dihasilkan disebut pesan

digest. Fungsi hash adalah algoritma matematika yang membuat pesan dari input dengan panjang sembarang sebagai masukan dan menghasilkan output dengan panjang tetap. Karena syarat yang satu arah, maka bagi pihak ketiga tidak mungkin untuk mendekripsi pesan yang terenkripsi.

Fase

Signing

Proses dari penandaan (signing) memerlukan pentransformasian beberapa pesan rahasia yang dibawa oleh user ke dalam suatu tanda pengenal yang disebut tanda tangan (signature). Pertma kali pengirim membuat pesan/data sebagai input dari fungsi hash kemudian menghasilkan pesan digest

sebagai output-nya. Yang ke-2, pesan digest ini dienkripsi dengan kunci rahasia pengirim dan digital signature pesan ini sudah dilakukan. Akhirnya, pengirim mengirim pesan/datanya dengan digital signature-nya ke penerima.

Fase Verifikasi

Pertama kali penerima memperoleh pesan dengan digital signature-nya, dia mengulang proses yang sama dengan yang dilakukan oleh pengirim, yaitu menggunakan pesan tersebut sebagai input ke fungsi hash untuk memperoleh pesan digest pertama sebagai output. Kemudian mendekripsi digital signature dengan menggunakan kunci publik pengirim untuk memperoleh pesan digest ke-2. Terakhir, memverifikasi apakah dua pesan digest ini sama atau tidak. Pada fase verifikasi, apabila diketahui

bahwa kedua pesan digest tersebut tidak sama berarti ada gangguan terhadap keontetikasi dan

integritas pesan/data dari pihak lain yang tidak berwenang.

Blind Signature

Signer menandatangani pesan requester dan tidak mengetahui apapun tentang ini, selain itu tidak seorang pun mengetahui tentang hubungan antara pasangan pesan-signature kecuali requester. Proses blind signature adalah sebagai berikut:

Fase Blinding

Awalnya pengirim memilih bilangan secara acak yang disebut faktor blind untuk menyamarkan

pesannya sehingga signer akan membutakan pesan tersebut. Fase Signing

Ketika signer memperoleh pesan blinded, dia langsung mengenkripsi pesan blinded dengan kunci rahasianya dan kemudian mengirimkan blind signature kembali ke pengirim.

Fase Unblinding

Pengirim menggunakan faktor blind-nya yang ditentukan dalam (1) untuk menemukan kembali digital signature-nya signer dari signature yang dibutakan (blinded signature).

Fase Verifikasi Signature

Siapapun dapat menggunakan kunci publik signer untuk memverifikasi apakah signature tersebut adalah asli.

(3)

Protokol blind signature berbasis kriptosistem RSA pertama kali diusulkan oleh Chaum. Kemudian penelitian selanjutnya adalah membuat protokol blind signature berbasis kriptosistem ElGamal. Pada tahun 1994, Camenisch memberikan definisi lebih jauh tentang “blindness” untuk sebuah skema signature. Skema signature dikatakan blind sesuai definisi Camenisch adalah bahwa ada faktor blinding yang unik untuk sepasang pesan-signature (m, s(m)) sehingga dua pesan yang sama ditandai akan menghasilkan dua signature yang berbeda.

Elliptic Curve Cryptography

Masalah Komputasi Berbasis Keamanan

a. Misalkan diberikan n, p, q∈Ժ . IFP adalah menghitung p dan q sehingga n = pq. b. Misalkan diberikan suatu prima p, sebuah generator

α

dari Ժכ dan elemen

β

Ժ

כ. DLP adalah menghitung x,0 ≤xp-2 sehingga

α

x

β

(mod p).

c. Misalkan E(Ժp) adalah kurva eliptik dan P, Q adalah titik-titik pada E(Ժp), diberikan PE(Ժp) berorder n (jumlah titik hasil perkalian titik P), Q∈〈P〉, dan Q=aP, a∈[0, n-1]. ECDLP adalah menghitung a sehingga Q=aP.

Kurva Eliptik atas Ժp.Misalkan p > 3 adalah bilangan prima dan 4a3 + 27b2 ≠ 0, dimana a, b∈ R.

Kurva eliptik Ep(a, b) = {(x, y) ∈ R2 / y2 = x3 + ax + b, 4a3 + 27b2 ≠ 0, x, y, a, b R}∪{O(titik infinity)}. (E(Ժp), +) membentuk grup abelian denganOsebagai identitasnya.

Kurva eliptik E adalah himpunan titik (x, y) dengan x, yE yang memenuhi y2=x3+ax+b disertai

dengan sebuah elemen tunggal, yaitu O.

Order kurva eliptik E(Ժp) adalah jumlah maksimun titik yang terdapat pada suatu kurva eliptik E(Ժp) yang dinotasikan #E(Ժp) berada pada interval p + 1 - 2√p≤ #E(Ժp) ≤ p + 1 + 2√p.

Misalkan: a=1, b=6 dan p=11, persamaan kurva eliptik y2 = x3 + x + 6 (mod11), sehingga 4a3+27b2

= 4.13+27.62 = 976 (mod 11) = 8 (mod 11). Selanjutnya dicari elemen-elemen grup eliptik E 11(1,6)

atas Z11, dengan Z11={0,1,2,3,4,5,6,7,8,9,10}. Sebelum menentukan elemen-elemen E11(1,6), terlebih

dahulu mencari residu kuadrat modulo 11 untuk mendapatkan nilai pasangan (x,y). Setelah melalui semua perhitungan tersebut diperoleh semua titik pada kurva eliptik E11(1, 6) adalah {(2, 4), (2, 7), (3,

5), (3, 6), (5, 2), (5, 9), (7, 2), (2, 9), (8, 3), (8, 8), (10, 2), (10, 9), O }.

Untuk suatu titik P pada kurva eliptik, (O+P+PP+…) adalah grup siklik. Notasinya adalah 〈P〉 = {0P=O, 1P=P, 2P=P+P, 3P=P+P+P, ...}. Operasi penjumlahan ini disebut juga perkalian skalar, yaitu kP menunjukkan penjumlahan P sebanyak k kali, yaitu kP=P+P+…+P.

Order dari suatu titik P E(Ժp) adalah bilangan bulat positif terkecil k, sehingga kP = O dan titik

P disebut titik hingga (finite point). Jika tidak ada integer positif yang memenuhinya, maka order titik tersebut dikatakan tidak berhingga (infinity).

Struktur Grup Kurva Eliptik:

Diberikan sebarang himpunan tidak kosong Ep) dan operasi penjumlahan titik kurva eliptik, maka

(Ep), +) disebut grup jika dipenuhi hal-hal sebagai berikut:

Misalkan P, Q, dan R adalah titik-titik pada kurva eliptik, maka:

a. memenuhi sifat tertutup terhadap penjumlahan dalam E(Ժ௣): P+Q=R E(Ժ௣);

(4)

b. memenuhi sifat asosiatif: (P+Q)+R=P+(Q+R);

Gambar 2. Penjumahan tiga titik memenuhi sifat asosiatif (P+Q)+R=P+(Q+R) c. mempunyai identitas, yaitu titik infinity O;

Gambar 3. Operasi Penjumlahan Identitas d. mempunyai invers, misal –P dari P (lihat gambar 3).

Operasi aritmetika penjumlahan pada E(Ժp) adalah sebagai berikut: a. P+O=O+P=P , untuk semua PEp) (lihat Gambar 3);

b. Jika P(x,y)∈Ep), maka (x,y)+(x,-y)=O ((x,-y)∈Ep) dinotasikan –P dan disebut negatif P) .

c. Penjumlahan dua titik yang berbeda. Misal P=(x1,y1)∈E(Ժp), Q=(x2,y2)∈E(Ժp), P ≠ ± Q, maka P + Q = (x3, y3), dimana x3 =

λ

2 - x1 - x2; y3 =

λ

(x1 – x3) – y1; dan

λ

= (y2-y1)/(x2-x1) (lihat

Gambar 1); Contoh:

Misalkan titik P(3,10) dan Q(9,7) dalam E23(1,1), maka P+Q=R(xR,yR), dengan xR dan yR

diperoleh dengan menghitung nilai

λ

terlebih dahulu.

λ

= (y2-y1)/(x2-x1) = (7-10)/(9-3) =-3/6 = -1/2 = -2-1 (mod 23) = 11,

kemudian dapat dihitung nilai x3dan y3, yaitu:

x3 =

λ

2 - x1 - x2 = 112-3-9 (mod 23) =17 dan y3 =

λ

(x1 – x3) – y1 = 11(3-17)-10 (mod 23) = 20.

Jadi P+Q=(17,20).

d. Penjumlahan dua titik yang sama.

Misal P=(x1,y1)∈Ep), P+P=2P=(x3,y3), dimana x3 =

λ

2 - 2x1; y3 =

λ

(x1–x3)–y1; dan

λ

= (3x12 + a) / 2y1. Operasi ini disebut doublingsuatu titik.

Contoh:

Misalkan titk P(x1,y1)=P(3,10) dalam E23(1,1), sehingga perkalian skalar 2P=P+P dihitung

dengan cara berikut ini.

λ

= (3x12 + a) / 2y1 = (3.32+1) / 2.10 (mod 23) = 6 x3 =

λ

2 - 2x1= 36-6 (mod 23) = 7 dan y3 =

λ

(x1–x3)–y1 = 6(3-7)-10 = 12.

(5)

Gambar 4. Operasi doubling jika yP = 0 dan yP ≠ 0

Elliptic Curve Digital Signature Algorithm (ECDSA) membantu kita dalam penerapan pendekatan

kriptografi ini (ECC) untuk digital signature. ECDSA adalah pengembangan dari DSA yang

menggunakan aritmatika ECC atas finite field. Skema blind signature berbasis ECDSA adalah untuk menghasilkan blind signature yang efektif dan memuaskan. Skema blind signature berbasis ECDSA diyakini lebih unggul dari algoritma kriptografi lainnya, seperti RSA, DSA, dan lain-lain.

ECDSA merupakan algoritma standar yang sudah disahkan dalam American National Standard

X9.62-1998, yaitu Publik Key Cryptography For The Financial Service Industry: The Elliptic Curve Digital Signature Alorithm (ECDSA).

Skema Blind Signature Berbasis Ecdsa

Skema blind signature yang menerapka ECDSA mempunyai lima fase, yaitu: a. Initialization

Signer mendefinisikan parameter kurva eliptik, kemudian memilih secara acak integer k setiap permintaan dan menghitung:

R’ = kG = (x1, y1) ... (1) r’ = x1, r’

0 ... (2)

Ketika signer memeriksa apakah (2) dipenuhi maka signer mengirimkan titik R ke requester.

Jika tidak memenuhi maka signer akan memilih secara acak integer k lagi dan mengulang perhitungan (1) dan (2) sampai memenuhi (2).

Signer membangkitkan kunci privat d ∈ (1, n – 1) secara acak dan kunci publik dibangkitkan dari perhitungan Q = dG = (xQ,yQ).

b. Blinding

Untuk membutakan pesan m, requester memerlukan parameter kurva eliptik dari signer. 1) Signer mengirimkan titik R’ ke requester sebagai faktor blinding.

2) Requester menghitung r’.

3) Requester memilih integer A dan B ∈ (1, n – 1) secara acak. 4) Requester menghitung R = A R + BG = (x1, y1).

5) Requester membangkitkan pesan blinded m’ dan mengirimkan ke signer untuk operasi

signing: m’ = A H(m) r’ r -1 (mod n). c. Signing

Setelah signer menerima pesan blinded m’ dari requester, signer membangkitkan blind signature s’, yaitu s’ =d r’ + k m’ (mod n).

d. Unblinding

Ketika requester menerima blind signature s’ dari signer, operasi unblinding dibutuhkan untuk membangkitkan digital signature (s, R) untuk pesan m, yaitu s = s’ r (r’)-1 + B H(m) (mod n).

e. Verifying

Setiap pihak yang memiliki parameter signer dapat memverifikasi digital signature (s, R) atas pesan m dengan menghitung u1 = sG (mod n) dan u2 = rQ + H(m) R (mod n). Jika u1 = u2, maka signature yang diverifikasi benar dan sebaliknya.

(6)

f. Pembuktian kebenaran skema blind signature berbasis ECDSA Berawal dari persamaan,

u2 = rQ + H(m) R (mod n) = rdG + H(m)AR’ + H(m)BG (mod n) = rdG + H(m)AkG + H(m)BG (mod n).

Kemudian dengan persamaan u1 = sG (mod n) dan diketahui s = s’ r (r’)-1 + B H(m) (mod n)

maka u1 = (s’ r (r’)-1 + B H(m))G (mod n)

= rdGr’(r’)-1 + k A H(m) r’ r -1 r (r’)-1G + B H(m)G (mod n)

= rdG + H(m) A k G + H(m)BG (mod n).

Sehingga dapat dilihat bahwa u1 = u2 dan terbukti bahwa verifikasi digital signature benar. KESIMPULAN

Kesimpulan yang diperoleh dari penelitian ini adalah sebagai berikut:

1. Skema blind signature berbasis ECDLP mempunyai kompleksitas yang lebih rendah (yaitu dalam hal bebasn komputasi) dan memberikan keamanan yang lebih baik dibandingkan dengan BDS

berbasis IFP dan DLP. Skema blind signature yang menggunakan ECDSA menyediakan semua

keuntungan atas algoritma PKC lainnya. Skema ini menawarkan panjang kunci yang lebih kecil untuk tingkat keamanan yang diinginkan, proses kriptografi dengan kecepatan tinggi yang mengarah ke persyaratan kompleksitas hardware dan software rendah.

2. Keuntungan ini sangat diperlukan untuk aplikasi di mana kekurangan sumber daya adalah sangat penting terutama dalam platform mobile. Skema yang diusulkan kami dapat digunakan dalam aplikasi di mana tidak hanya pengguna anonimitas tapi kali juga pengolahan sangat penting di bawah kendala hardware tertentu.

3. Skema blind signature berbasis ECDLP memberikan koefisiensian lebih besar karena

membutuhkan penyimpanan lebih hemat dan komputasional lebih sedikit jika dibandingkan dengan skema blind signature lainnya. Hal ini dikarenakan dengan level keamanan yang sama, panjang kunci ECC lebih pendek daripada kedua kriptografi berbasis IFP maupun DLP tersebut. Di samping itu ECC telah memenuhi syarat skema blind signature. Penerapan skema ini untuk

smart card, e-commerce, dan e-voting untuk tugas masa depan bagi kita yang perlu dipertimbangkan.

UCAPAN TERIMA KASIH

Dengan tersusunnya penelitian ini, saya mengucapkan terima kasih kepada Institusi saya, yaitu Lembaga Sandi Negara selaku pendukung dana penelitian ini.

DAFTAR PUSTAKA

D. Johnson, A. Menezes, S. Vanstone, 2001. The Elliptic Curve Digital Signature Algorithm

(ECDSA). International Journal of Information Security, Vol. 1, Springer Berlin. Darrel Hankerson, Alfred Menezes, S. Vanstone, 2003. Guide to Elliptic Curve Cryptography.

Springer-Verlag.

Fuh-Gwo Jeng, Tzer-Long Chen, Tzer-Shyong Chen, 2010. An ECC-Based Blind Signature Scheme.

Journal Of Network. Academy Publisher.

Is Esti Firmanesa, 2009. Konstruksi Algoritma Penandaan Dijitel ElGamal Berbasis Grup Kurva Eliptik. Tesis Program Magister Matematika Terapan, IPB.

Is Esti Firmanesa, 2014. Skema Blind Signature Berbasi Elliptic Curve Discrete Logarithm Problem,

Prosiding Konferensi Nasional Teknologi Informasi dan Aplikasinya 2014.

İsmail BÜTÜN, Mehmet DEMİRERA, 2013. Blind Digital Signature Scheme Using Elliptic Curve Digital Signature Algorithm, Turkish Journal of Electrical Engineering & Computer Sciences.

S. A. Vanstone, 1997. Elliptic Curve Cryptosistem-The Answer to Strong, Fast Public-key

Cryptography for Securing Constrained Environments. Information Security Technical Report

Gambar

Gambar 1. Penjumlahan dua titik P dan Q yang berbeda.
Gambar 2.  Penjumahan tiga titik memenuhi sifat asosiatif  (P+Q)+R=P+(Q+R)  c.  mempunyai  identitas, yaitu titik infinity O;
Gambar 4.  Operasi doubling jika  yP = 0 dan yP ≠ 0

Referensi

Dokumen terkait

perhitungan harga pokok produksi menurut sistem akuntansi biaya tradisional dengan Activity Based Costing System (ABC system ) yang hasilnya adalah kesemua produk

Waktu tempuh perjalanan rata-rata 6-10 menit dan kebutuhan fasilitas pendukung pejalan kaki di dalam Kampus Universitas Sriwijaya Inderalaya yaitu Rute eksisting

Berdasarkan hasil analisisi probit dan pengamatan secara deskriptif hasil uji efikasi insektisida K-OTHRINE 20 EW ® secara pengasapan menunjukkan bahwa dosis 100 dan 200 ml/ha baik

Pada proses pengujian yang dilakukan dapat diketahui kemampuan dari system yang dibuat mampu mengenali segala aktifitas yang dilakukan intruder dalam usaha untuk menyusup

Pada penelitian ini peneliti akan mencoba memamfaatkan kombinasi energi angin dan enegi matahari sebagai penghasil tenaga listrik, yang mana saat siang hari energi

Dan hasil penelitian didapatkan kesimpulan bahwa opini pendengar terhadap lagu “Udin Sedunia” dari Sualudin mendapatkan respon netral karena masyarakat sudah menganggap biasa

Membaca 3.1 Menentukan makna kata tertentu dalam kamus secara cepat dan tepat sesuai dengan konteks yang diinginkan melalui kegiatan membaca memindai.. Mampu

1) Peserta didik menyusun bahan paparan tentang landasan politik luar negeri politik luar negeri pada masa Orde Lama, Orde Baru, dan masa Reformasi... 2) Peserta didik