System.Security.Cryptography.RSAParameters yapısı
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
Yapısı, RSAParameters RSA algoritması için standart parametreleri temsil eder.
sınıfı, RSA ham RSA anahtarını bir ExportParameters yapı biçiminde almanıza olanak tanıyan bir RSAParameters yöntemi kullanıma sunar.
Bu yapının içeriğini anlamak için algoritmanın RSA nasıl çalıştığı hakkında bilgi sahibi olmanıza yardımcı olur. Sonraki bölümde algoritma kısaca ele alınmaktadır.
RSA algoritması
Anahtar çifti oluşturmak için p ve q adlı iki büyük asal sayı oluşturarak işe başlarsınız. Bu sayılar çarpılır ve sonuç n olarak adlandırılır. p ve q asal sayılar olduğundan, n'nin tek faktörü 1, p, q ve n'dir.
Yalnızca n'den küçük sayıları dikkate alırsak, görece asal olan sayıların sayısı n, eşittir (p - 1)(q - 1) ile ortak bir faktöre sahip değildir.
Şimdi, hesapladığınız değere göre daha asal olan bir e sayısı seçersiniz. Ortak anahtar artık {e, n} olarak temsil edilir.
Özel anahtarı oluşturmak için, (d)(e) mod (p - 1)(q - 1) = 1 gibi bir sayı olan d değerini hesaplamanız gerekir. Öklid algoritmasına uygun olarak özel anahtar artık {d, n} olur.
Düz metin m ile şifreleme c = (m ^ e) mod n olarak tanımlanır. Daha sonra şifre çözme m = (c ^ d) mod n olarak tanımlanabilir.
Alanların özeti
PKCS #1: RSA Şifreleme Standardı'nın A.1.2 bölümü, RSA özel anahtarları için bir biçim tanımlar.
Aşağıdaki tabloda, yapının alanları özetlemektedir RSAParameters . Üçüncü sütun, PKCS #1: RSA Şifreleme Standardı'nın A.1.2 bölümünde karşılık gelen alanı sağlar.
RSAParameters Alan | Contains | İlgili PKCS #1 alanı |
---|---|---|
D | d, özel üs | privateExponent |
DP | d mod (p - 1) | exponent1 |
DQ | d mod (q - 1) | exponent2 |
Exponent | e, genel üs | publicExponent |
InverseQ | (TersQ) (q) = 1 mod p | Katsayısı |
Modulus | n | mod |
P | ös | prime1 |
Q | q | prime2 |
RSA'nın güvenliği, { e, n } ortak anahtarı verildiğinde, doğrudan veya p ve q'ya n hesaba katarak d hesaplamanın işlem açısından mümkün olmamasından kaynaklanır. Bu nedenle anahtarın d, p veya q ile ilgili herhangi bir bölümü gizli tutulmalıdır. Yalnızca ortak anahtar bilgilerini arar ExportParameters ve sorarsanız, bu nedenle yalnızca Exponent ve Modulusalırsınız. Diğer alanlar yalnızca özel anahtara erişiminiz varsa ve bunu istediğinizde kullanılabilir.
RSAParameters herhangi bir şekilde şifrelenmediğinden, özel anahtar bilgileriyle kullanırken dikkatli olmanız gerekir. tüm üyeleri RSAParameters serileştirilir. Herhangi biri özel anahtar parametrelerini türetebilir veya araya girebilirse, anahtar ve şifrelenen veya onunla imzalanan tüm bilgiler tehlikeye girer.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin