Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
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, n ile ortak bir faktöre sahip olmayan görece asal sayıların sayısı (p - 1)(q - 1) eşittir.
Ş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 tablo RSAParameters yapısının alanlarını özetler. Üçü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 | İçerir | İlgili PKCS #1 alanı |
|---|---|---|
| D | d, özel üs | privateExponent |
| DP | d mod (p - 1) | exponent1 |
| DQ | d mod (q - 1) | exponent2 |
| Exponent | e, açık üstel | publicExponent |
| InverseQ | (TersQ)(q) = 1 mod p | katsayı |
| Modulus | n | Modülü |
| P | p | 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. ExportParameters'ı ararsanız ve yalnızca ortak anahtar bilgilerini isterseniz, bu yüzden yalnızca Exponent ve Modulus alı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 üyeler RSAParameters tarafından serileştirilir. Herhangi biri özel anahtar parametrelerini türetebilir veya araya girebilirse, anahtar ve şifrelenen veya onunla imzalanan tüm bilgiler tehlikeye girer.