Språk

RSAParameters Struct-datatyp

Definition

Representerar standardparametrarna för algoritmen RSA .

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
Arv
RSAParameters
Attribut

Kommentarer

Strukturen RSAParameters representerar standardparametrarna för RSA-algoritmen.

Klassen RSA exponerar en ExportParameters metod som gör att du kan hämta den råa RSA-nyckeln i form av en RSAParameters struktur.

För att förstå innehållet i den här strukturen hjälper det att känna till hur algoritmen RSA fungerar. I nästa avsnitt beskrivs algoritmen kort.

RSA-algoritm

Om du vill generera ett nyckelpar börjar du med att skapa två stora primtal med namnet p och q. Dessa tal multipliceras och resultatet kallas n. Eftersom p och q båda är primtal är de enda faktorerna för n 1, p, q och n.

Om vi bara tänker på tal som är mindre än n, är antalet tal som är relativt prima till n, det vill säga inte har några gemensamma faktorer med n, lika med (p - 1)(q - 1).

Nu väljer du ett tal e, som är relativt primärt för det värde som du beräknade. Den offentliga nyckeln representeras nu som {e, n}.

Om du vill skapa den privata nyckeln måste du beräkna d, vilket är ett tal som (d)(e) mod (p - 1)(q - 1) = 1. I enlighet med Euclidean-algoritmen är den privata nyckeln nu {d, n}.

Kryptering av klartext m till chiffertext c definieras som c = (m ^ e) mod n. Dekryptering skulle sedan definieras som m = (c ^ d) mod n.

Sammanfattning av fält

Avsnitt A.1.2 i PKCS #1: RSA Cryptography Standard definierar ett format för privata RSA-nycklar.

I följande tabell sammanfattas fälten i RSAParameters strukturen. Den tredje kolumnen innehåller motsvarande fält i avsnitt A.1.2 i PKCS #1: RSA Cryptography Standard.

RSAParameters Fältet Innehåller Motsvarande PKCS #1-fält
D d, den privata exponenten privateExponent
DP d mod (p - 1) exponent1
DQ d mod (q - 1) exponent2
Exponent e, den offentliga exponenten publicExponent
InverseQ (InverseQ)(q) = 1 mod p koefficient
Modulus n modul
P p prime1
Q q prime2

Säkerheten för RSA härleds från det faktum att med tanke på den offentliga nyckeln { e, n }, är det beräkningsmässigt omöjligt att beräkna d, antingen direkt eller genom att räkna in n i p och q. Därför måste alla delar av nyckeln som är relaterade till d, p eller q hållas hemliga. Om du bara ringer ExportParameters och ber om information om den offentliga nyckeln får du endast Exponent och Modulus. De andra fälten är endast tillgängliga om du har åtkomst till den privata nyckeln och du begär det.

RSAParameters krypteras inte på något sätt, så du måste vara försiktig när du använder den med den privata nyckelinformationen. Alla medlemmar i RSAParameters är serialiserade. Om någon kan härleda eller fånga upp parametrarna för den privata nyckeln komprometteras nyckeln och all information som krypteras eller signeras med den.

Fält

Name Description
D

Representerar parametern D för algoritmen RSA .

DP

Representerar parametern DP för algoritmen RSA .

DQ

Representerar parametern DQ för algoritmen RSA .

Exponent

Representerar parametern Exponent för algoritmen RSA .

InverseQ

Representerar parametern InverseQ för algoritmen RSA .

Modulus

Representerar parametern Modulus för algoritmen RSA .

P

Representerar parametern P för algoritmen RSA .

Q

Representerar parametern Q för algoritmen RSA .

Gäller för

Se även