RSAParameters Struct

Definitie

Vertegenwoordigt de standaardparameters voor het RSA algoritme.

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
Overname
RSAParameters
Kenmerken

Opmerkingen

De RSAParameters structuur vertegenwoordigt de standaardparameters voor het RSA-algoritme.

De RSA klasse maakt een ExportParameters methode beschikbaar waarmee u de onbewerkte RSA-sleutel kunt ophalen in de vorm van een RSAParameters structuur.

Als u de inhoud van deze structuur wilt begrijpen, is het handig om vertrouwd te zijn met de werking van het RSA algoritme. In de volgende sectie wordt het algoritme kort besproken.

RSA-algoritme

Als u een sleutelpaar wilt genereren, begint u met het maken van twee grote priemgetallen met de naam p en q. Deze getallen worden vermenigvuldigd en het resultaat wordt n genoemd. Omdat p en q beide priemgetallen zijn, zijn de enige factoren van n 1, p, q en n.

Als we alleen getallen beschouwen die kleiner zijn dan n, is het aantal getallen dat relatief priem is met n, dat wil zeggen, geen factoren gemeen heeft met n, gelijk aan (p - 1)(q - 1).

Nu kiest u een getal e, dat relatief priem is ten opzichte van de waarde die u hebt berekend. De openbare sleutel wordt nu weergegeven als {e, n}.

Als u de persoonlijke sleutel wilt maken, moet u d berekenen, wat een getal is dat (d)(e) mod (p - 1)(q - 1) = 1. In overeenstemming met het Euclidean-algoritme is de persoonlijke sleutel nu {d, n}.

Versleuteling van plaintext m naar ciphertext c wordt gedefinieerd als c = (m ^ e) mod n. Ontsleuteling zou dan worden gedefinieerd als m = (c ^ d) mod n.

Samenvatting van velden

Sectie A.1.2 van de PKCS #1: RSA Cryptography Standard definieert een indeling voor persoonlijke RSA-sleutels.

De volgende tabel bevat een overzicht van de velden van de RSAParameters structuur. De derde kolom bevat het bijbehorende veld in sectie A.1.2 van PKCS #1: RSA Cryptography Standard.

RSAParameters Veld Bevat Overeenkomend PKCS #1-veld
D d, de privé-exponent privateExponent
DP d mod (p - 1) exponent1
DQ d mod (q - 1) exponent2
Exponent e, de openbare exponent publicExponent
InverseQ (InverseQ)(q) = 1 mod p coëfficiënt
Modulus n modulo
P p prime1
Q q prime2

De beveiliging van RSA is afgeleid van het feit dat, gezien de openbare sleutel { e, n }, het rekenkundig onfeilbaar is om d te berekenen, hetzij rechtstreeks of door n in p en q te factoring. Daarom moet een deel van de sleutel met betrekking tot d, p of q geheim worden gehouden. Als u ExportParameters belt en alleen om de informatie over de openbare sleutel vraagt, ontvangt u daarom alleen Exponent en Modulus. De andere velden zijn alleen beschikbaar als u toegang hebt tot de persoonlijke sleutel en u deze aanvraagt.

RSAParameters is op geen enkele manier versleuteld, dus u moet voorzichtig zijn wanneer u deze gebruikt met de persoonlijke sleutelgegevens. Alle leden van RSAParameters zijn geserialiseerd. Als iemand de parameters voor de persoonlijke sleutel kan afleiden of onderscheppen, worden de sleutel en alle versleutelde of ondertekende gegevens aangetast.

Velden

Name Description
D

Vertegenwoordigt de D parameter voor het RSA algoritme.

DP

Vertegenwoordigt de DP parameter voor het RSA algoritme.

DQ

Vertegenwoordigt de DQ parameter voor het RSA algoritme.

Exponent

Vertegenwoordigt de Exponent parameter voor het RSA algoritme.

InverseQ

Vertegenwoordigt de InverseQ parameter voor het RSA algoritme.

Modulus

Vertegenwoordigt de Modulus parameter voor het RSA algoritme.

P

Vertegenwoordigt de P parameter voor het RSA algoritme.

Q

Vertegenwoordigt de Q parameter voor het RSA algoritme.

Van toepassing op

Zie ook