Struktur System.Security.Cryptography.RSAParameters
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Struktur RSAParameters mewakili parameter standar untuk algoritma RSA.
Kelas ini RSA mengekspos ExportParameters metode yang memungkinkan Anda mengambil kunci RSA mentah dalam bentuk RSAParameters struktur.
Untuk memahami isi struktur ini, ini membantu terbiasa dengan cara RSA kerja algoritma. Bagian berikutnya membahas algoritma secara singkat.
Algoritma RSA
Untuk menghasilkan pasangan kunci, Anda mulai dengan membuat dua angka utama besar bernama p dan q. Angka-angka ini dikalikan dan hasilnya disebut n. Karena p dan q keduanya adalah angka utama, satu-satunya faktor n adalah 1, p, q, dan n.
Jika kita hanya mempertimbangkan angka yang kurang dari n, jumlah angka yang relatif prima untuk n, yaitu, tidak memiliki faktor yang sama dengan n, sama dengan (p - 1)(q - 1).
Sekarang Anda memilih angka e, yang relatif prima dengan nilai yang Anda hitung. Kunci publik sekarang direpresentasikan sebagai {e, n}.
Untuk membuat kunci privat, Anda harus menghitung d, yang merupakan angka seperti mod (d)(e) (p - 1)(q - 1) = 1. Sesuai dengan algoritma Euclidean, kunci privat sekarang adalah {d, n}.
Enkripsi teks biasa m ke ciphertext c didefinisikan sebagai c = (m ^ e) mod n. Dekripsi kemudian akan didefinisikan sebagai mod m = (c ^ d) n.
Ringkasan bidang
Bagian A.1.2 dari PKCS #1: Standar Kriptografi RSA mendefinisikan format untuk kunci privat RSA.
Tabel berikut ini meringkas RSAParameters bidang struktur. Kolom ketiga menyediakan bidang yang sesuai di bagian A.1.2 dari PKCS #1: Standar Kriptografi RSA.
RSAParameters bidang | Contains | Bidang PKCS #1 terkait |
---|---|---|
D | d, eksponen privat | privateExponent |
DP | d mod (p - 1) | eksponen1 |
DQ | d mod (q - 1) | eksponen2 |
Exponent | e, eksponen publik | publicExponent |
InverseQ | (InverseQ) (q) = 1 mod p | Koefisien |
Modulus | n | modulus |
P | p | prime1 |
Q | q | prime2 |
Keamanan RSA berasal dari fakta bahwa, mengingat kunci umum { e, n }, secara komputasi tidak layak untuk menghitung d, baik secara langsung atau dengan memperhitungkan n ke p dan q. Oleh karena itu, setiap bagian dari kunci yang terkait dengan d, p, atau q harus dirahasiakan. Jika Anda hanya memanggil ExportParameters dan meminta informasi kunci publik, inilah sebabnya Anda hanya Exponent akan menerima dan Modulus. Bidang lain hanya tersedia jika Anda memiliki akses ke kunci privat, dan Anda memintanya.
RSAParameters tidak dienkripsi dengan cara apa pun, jadi Anda harus berhati-hati saat menggunakannya dengan informasi kunci privat. Semua anggota diserialisasikan RSAParameters . Jika ada yang dapat memperoleh atau mencegat parameter kunci privat, kunci dan semua informasi yang dienkripsi atau ditandatangani dengannya disusupi.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk