Bagikan melalui


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.