ECDSA

Tingkat Menengah
Diperbarui Aug 20, 2026

Apa Itu ECDSA?

ECDSA, atau Elliptic Curve Digital Signature Algorithm, adalah skema tanda tangan digital kunci publik yang digunakan untuk membuktikan kepemilikan aset digital tanpa mengungkapkan kunci privat. 
Ini adalah salah satu alat inti kriptografi yang memungkinkan transaksi Bitcoin dan Ethereum: saat Anda mengirim kripto, ECDSA menghasilkan tanda tangan yang membuktikan bahwa Anda mengotorisasi transfer tersebut, dan siapa pun di jaringan dapat memverifikasi tanda tangan itu tanpa mengetahui kunci privat Anda.

ECDSA mengandalkan kriptografi kurva eliptis yang memberikan tingkat keamanan yang sama seperti sistem lama seperti RSA, tetapi dengan ukuran kunci yang jauh lebih kecil. Efisiensi ini membuatnya praktis untuk blockchain, tempat setiap transaksi harus diverifikasi oleh ribuan node.

Cara Kerja ECDSA

ECDSA melibatkan tiga langkah. Pertama, pembuatan kunci: sistem membuat kunci privat, yaitu angka yang dipilih secara acak, dan menurunkan kunci publik darinya menggunakan perkalian kurva eliptis. Kunci privat harus tetap rahasia.

Kunci publik dapat dibagikan secara bebas. Hubungan matematis di antara keduanya bersifat satu arah: menghitung kunci publik dari kunci privat itu mudah, tetapi membalikkan prosesnya secara komputasional tidak memungkinkan.

Kedua, penandatanganan: untuk mengotorisasi transaksi, penanda tangan menggunakan kunci privat mereka dan nilai acak yang disebut nonce untuk menghasilkan tanda tangan. Tanda tangan terdiri dari dua angka, yang biasanya disebut r dan s. Nonce harus unik untuk setiap tanda tangan dan tidak boleh digunakan kembali.

Ketiga, verifikasi: siapa pun yang memiliki kunci publik, pesan, dan tanda tangan dapat memverifikasi bahwa tanda tangan tersebut dihasilkan oleh kunci privat yang sesuai. Proses verifikasi tidak mengungkapkan kunci privat. Inilah yang membuat ECDSA cocok untuk blockchain publik, tempat setiap node harus memverifikasi transaksi secara mandiri.

Cara ECDSA Digunakan dalam Kripto

Baik Bitcoin maupun Ethereum menggunakan ECDSA dengan kurva eliptis tertentu yang disebut secp256k1. Saat Anda membuat dompet kripto, dompet tersebut menghasilkan kunci privat menggunakan ECDSA. Setiap transaksi yang Anda kirim menyertakan tanda tangan ECDSA yang mengotorisasi transfer. Jaringan memverifikasi tanda tangan tersebut sebelum memasukkan transaksi ke dalam sebuah blok.

ECDSA juga digunakan dalam konteks kripto lainnya di luar pembayaran, termasuk penandatanganan pesan untuk autentikasi dan skema multitanda tangan, yaitu beberapa pihak harus menandatangani untuk mengotorisasi transaksi.

Pertimbangan Keamanan

ECDSA aman secara komputasional jika diimplementasikan dengan benar, tetapi keamanannya sangat bergantung pada kualitas nonce. Jika nonce yang sama digunakan untuk menandatangani dua pesan yang berbeda, kunci privat dapat dipulihkan secara matematis dari dua tanda tangan tersebut.

Risiko ini bukan sekadar teori: Pada tahun 2013, bug pada generator angka acak Android menyebabkan beberapa dompet Bitcoin menghasilkan nonce duplikat, lalu penyerang mencuri dana dengan memulihkan kunci privat.

Pembuatan nonce yang buruk, bahkan tanpa penggunaan ulang yang persis sama, juga dapat mengekspos kunci privat. Dompet modern menggunakan pembuatan nonce deterministik (RFC 6979), yang menurunkan nonce dari kunci privat dan pesan, sehingga menghilangkan risiko penggunaan ulang yang tidak disengaja.

Ke depannya, ECDSA pada akhirnya mungkin akan digantikan oleh skema tanda tangan pascakuantum, karena komputer kuantum secara teoretis dapat memecahkan masalah logaritma diskret kurva eliptis yang menjadi dasar ECDSA. Untuk saat ini, ECDSA tetap menjadi standar untuk otorisasi transaksi Bitcoin dan Ethereum.