RSAParameters Yapı

Tanım

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
RSAParameters
Ö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 D parametresini RSA temsil eder.

DP

Algoritmanın DP parametresini RSA temsil eder.

DQ

Algoritmanın DQ parametresini RSA temsil eder.

Exponent

Algoritmanın Exponent parametresini RSA temsil eder.

InverseQ

Algoritmanın InverseQ parametresini RSA temsil eder.

Modulus

Algoritmanın Modulus parametresini RSA temsil eder.

P

Algoritmanın P parametresini RSA temsil eder.

Q

Algoritmanın Q parametresini RSA temsil eder.

Şunlara uygulanır

Ayrıca bkz.