RSAParameters Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
RSA algoritması için standart parametreleri temsil eder.
public value class RSAParameters
public struct RSAParameters
[System.Serializable]
public struct RSAParameters
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct RSAParameters
type RSAParameters = struct
[<System.Serializable>]
type RSAParameters = struct
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type RSAParameters = struct
Public Structure RSAParameters
- Devralma
- Öznitelikler
Açıklamalar
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.
Alanlar
| Name | Description |
|---|---|
| D |
Algoritmanın |
| DP |
Algoritmanın |
| DQ |
Algoritmanın |
| Exponent |
Algoritmanın |
| InverseQ |
Algoritmanın |
| Modulus |
Algoritmanın |
| P |
Algoritmanın |
| Q |
Algoritmanın |