Home / Konsep Dasar Bitcoin / Tanda Tangan Digital (Digital Signatures) 1
Tanda Tangan Digital 1

Tanda Tangan Digital (Digital Signatures) 1

Peran dan Fungsi Tanda Tangan Digital (Digital Signatures)

Bagian selanjutnya pada kesempatan kali ini kita akan membahas tentang Tanda Tangan Digital, atau Digital Signature. Tanda tangan digital dibutuhkan dalam proses membuat blok pada mata uang digital.

Teknisnya, tanda tangan digital ini seperti halnya membubuhkan tanda tangan di atas kertas pada umumnya. Hanya saja, pembubuhan tanda tangan ini dilakukan secara digital, bisa pada dokumen, atau sebuah file.

Ada dua hal yang perlu dilakukan agar tanda tangan digital ini bisa berfungsi layaknya tanda tangan tulisan tangan diatas kertas. Pertama, pembubuhan tanda tangan digital ini hanya bisa dilakukan oleh anda sendiri. Namun, orang lain yang bisa melihatnya, akan bisa memferifikasi keabsahannya.

Kedua, pembubuhan tanda tangan ini sebagai pengikat atas sebuah dokumen tertentu. Sehingga tidak bisa digunakan untuk menunjukkan persetujuan ataupun dukungan anda pada dokumen tertentu lainnya.

Selanjutnya, bagaimana bisa membuat tanda tangan digital ini dalam kriptografi? Skema tanda tangan digital terdiri dari tiga algoritma berikut:

(sk, pk): = generateKeys (keysize)
Metode generateKeys ini berfungsi untuk memperoleh ukuran key dan juga membuat generate key pair-nya. Sementara sk adalah private key yang bersifat rahasia dan dijaga kerahasiaannya untuk menandatangani sebuah pesan. Dan, pk adalah public key yang bisa diberikan kepada orang lain. Dengan key ini, orang lain akan bisa melakukan verifikasi atas tanda tangan digital itu.

Sebagai catatan dalam hal ini, bahwa generateKeys dan sign bisa berupa algoritma acak. Pada dasarnya generateKeys akan lebih baik jika diacak. Karena dengan begitu bisa membuat key yang berbeda untuk orang yang berbeda pula. Di lain hal, selalu menjadi deterministik, sesuai dengan fungsinya.

⦁ sig: = sign(sk, message)
Metode ini akan mengambil key dan juga pesan (message). Selanjutnya, sk sebagai input, untuk bisa menghasilkan output berupa tanda tangan pada pesan dibawah sk .

isValid: = verify (pk, message, sig)
Cara ini untuk mengambil pesan, tanda tangan, dan public key sebagai inputnya. Lalu, menjadikannya bernilai boolean, yakni benar atau salah (true atau false). Sedangkan isValid akan menghasilkan pernyataan true, jika sig dalam pesan tersebut berisikan tanda tangan yang valid, dibawah public key (pk). Selanjutnya, akan bernillai false jika menunjukkan kebalikannya.

Ketiga algoritma tersebut, harus bisa memenuhi dua hal berikut:
⦁ Tanda tangan yang valid, harus terverifikasi terlebih dahulu.
verify(pk, message, sign(sk, message)) == true
⦁ Tanda tangan bersifat existentially unforgeable (tidak bisa dirubah).

 

Bersambung

 

Lanjutkan Membaca
Bitconnect

About Edukasi Bitcoin

EdukasiBitcoin adalah media online untuk berbagi pengetahuan dasar tentang Bitcoin. Harapannya, agar bisa dijadkan sebagai sumber informasi maupun sebagai referensi penambah pengetahuan yang bermanfaat, berkaitan dengan Bitcoin dan teknologi yang melingkupinya.

Check Also

3 Konsensus Bitcoin

3 Konsensus Bitcoin Yang perlu Dipahami

3 Konsensus Bitcoin Yang perlu Dipahami – Telah Jadikan Bitcoin Begitu Populer 3 Konsensus Bitcoin. …

Leave a Reply

Your email address will not be published. Required fields are marked *