Cryptology Academy · Pelajaran

Tanda Tangan RSA: Menandatangani & Memverifikasi

Ikuti langkah-langkah matematika untuk menandatangani hash dokumen dengan kunci privat.

Pelajaran 2 dari 413 langkah

Tanda Tangan RSA: Menandatangani & Memverifikasi adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

Tanda tangan RSA membalik peran kunci: kunci pribadi digunakan untuk menandatangani dan kunci publik digunakan untuk memverifikasi. Hal ini memungkinkan siapa pun memverifikasi identitas Anda menggunakan kunci publik Anda.

Matematika Penandatanganan RSA

Untuk menandatangani pesan M dengan kunci pribadi (d, n): 1. H = SHA256(M) 2. sig = H^d mod n Tanda tangan tersebut adalah bilangan dengan panjang bit yang sama seperti n.

Matematika Verifikasi RSA

Untuk memverifikasi tanda tangan sig dengan kunci publik (e, n): 1. H' = sig^e mod n 2. H = SHA256(M) 3. Valid jika H == H' Siapa pun yang memiliki kunci publik dapat memverifikasi—tidak diperlukan rahasia.

Pengisian Tanda Tangan PKCS#1 v1.5

Tanda tangan RSA mentah dapat dimodifikasi. PKCS#1 v1.5 mengisi hash sebelum penandatanganan: 0x00 0x01 [0xFF padding] 0x00 [DigestInfo] [Hash] Verifikasi memeriksa struktur pengisian yang tepat.

RSA-PSS: Pengisian yang Lebih Baik

RSA-PSS (Skema Tanda Tangan Probabilistik) menggunakan nilai acak tambahan, sehingga setiap tanda tangan berbeda meskipun pesannya sama. Terbukti aman dalam model oracle acak. Lebih diutamakan daripada PKCS#1 v1.5.

Penandatanganan RSA Python (PSS)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes signature = private_key.sign( message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() )

Verifikasi RSA Python

try: public_key.verify( signature, message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() ) print('Valid!') except InvalidSignature: print('Invalid!')

Panjang Tanda Tangan

Tanda tangan RSA-2048: 256 byte. RSA-4096: 512 byte. Tanda tangan ECDSA-256: ~71 byte (pengodean DER yang bervariasi). Tanda tangan berisi seluruh keluaran pemangkatan modular.

Tanda Tangan Buta

Tanda tangan buta memungkinkan penanda tangan menandatangani pesan tanpa melihat isinya. Tanda tangan ini digunakan dalam pemungutan suara elektronik dan uang elektronik: bank menandatangani token yang disamarkan, lalu pengguna mengembalikannya ke bentuk asli—uang yang tidak dapat dilacak.

Tanda Tangan RSA dalam Rantai Sertifikat

Let's Encrypt menandatangani sertifikat server Anda dengan kunci pribadi RSA milik CA perantaranya. Kunci publik server Anda berada di dalam isi sertifikat. Klien TLS memverifikasi rantai ini secara otomatis.

Transparansi Sertifikat

Certificate Transparency mencatat semua sertifikat yang diterbitkan dalam pohon Merkle yang dapat diverifikasi secara kriptografis. Stempel Waktu Sertifikat Bertanda Tangan (SCT) membuktikan penyertaan dalam log sebelum penerbitan.

Pemeriksaan Singkat

Dalam verifikasi tanda tangan RSA, kunci apa yang digunakan untuk memverifikasi tanda tangan?

Ringkasan

Tanda tangan RSA aman jika menggunakan pengisian yang tepat. Selanjutnya kita membandingkan skema tanda tangan RSA dengan DSA dan ECDSA.
Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tanda Tangan RSA: Menandatangani & Memverifikasi” gratis?

Ya — teks lengkap “Tanda Tangan RSA: Menandatangani & Memverifikasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Tanda Tangan RSA: Menandatangani & Memverifikasi”?

Ikuti langkah-langkah matematika untuk menandatangani hash dokumen dengan kunci privat. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Tanda Tangan RSA: Menandatangani & Memverifikasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Tanda Tangan Digital?
  2. Tanda Tangan RSA: Menandatangani & Memverifikasi
  3. Skema Tanda Tangan DSA & ECDSA
  4. Tanda Tangan di Dunia Nyata: Penandatanganan Kode & Email
← Kembali ke Cryptology Academy