RSAParameters RSAParameters RSAParameters RSAParameters Struct

Definice

Představuje standardní parametry RSA algoritmus.Represents the standard parameters for the RSA algorithm.

public value class RSAParameters
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct RSAParameters
type RSAParameters = struct
Public Structure RSAParameters
Dědičnost
RSAParametersRSAParametersRSAParametersRSAParameters
Atributy

Poznámky

RSA Třídy zpřístupňuje ExportParameters metodu, která vám umožňuje načíst nezpracované klíče RSA ve formě RSAParameters struktury.The RSA class exposes an ExportParameters method that enables you to retrieve the raw RSA key in the form of an RSAParameters structure. Pochopení obsah této struktury vyžaduje znalost jak RSA fungování algoritmů.Understanding the contents of this structure requires familiarity with how the RSA algorithm works. Následující části stručně popisuje algoritmus.The next section discusses the algorithm briefly.

Algoritmus RSARSA Algorithm

Generování páru klíčů, je spustit tak, že vytvoříte dva vysokých prvočísel s názvem p a q.To generate a key pair, you start by creating two large prime numbers named p and q. Tato čísla jsou vynásobené a výsledek se nazývá n.These numbers are multiplied and the result is called n. Protože jsou obě prvočísel, pouze faktory n jsou 1, p, q a n p a q.Because p and q are both prime numbers, the only factors of n are 1, p, q, and n.

Pokud budeme přemýšlet o jenom čísla, která jsou menší než n, počet čísla, která jsou relativně prvotní n, to znamená mít žádné faktory v běžných s n, rovná se (p - 1)(q-1).If we consider only numbers that are less than n, the count of numbers that are relatively prime to n, that is, have no factors in common with n, equals (p - 1)(q - 1).

Nyní můžete zvolit číslo e, což je poměrně prvotní podle hodnoty, kterou jste vypočítali.Now you choose a number e, which is relatively prime to the value you calculated. Veřejný klíč je nyní představena jako {e, n}.The public key is now represented as {e, n}.

Chcete-li vytvořit privátní klíč, je nutné vypočítat d, což je číslo tak, aby (d)(e) mod (p - 1)(q-1) = 1.To create the private key, you must calculate d, which is a number such that (d)(e) mod (p - 1)(q - 1) = 1. V souladu s Euclidean algoritmus privátního klíče je teď {d, n}.In accordance with the Euclidean algorithm, the private key is now {d, n}.

Šifrování jako prostý text m c šifrovaného textu je definován jako c = (m ^ e) mod n.Encryption of plaintext m to ciphertext c is defined as c = (m ^ e) mod n. Dešifrování by pak měl být definován jako m = (c ^ d) mod n.Decryption would then be defined as m = (c ^ d) mod n.

Souhrn políSummary of Fields

Části A.1.2 z PKCS #1: RSA Cryptography Standard na webu laboratoře RSA lokality definuje formát pro privátní klíče RSA.Section A.1.2 of the PKCS #1: RSA Cryptography Standard on the RSA Laboratories Web site defines a format for RSA private keys.

Následující tabulka shrnuje pole RSAParameters struktury.The following table summarizes the fields of the RSAParameters structure. Třetí sloupec obsahuje odpovídající pole v části A.1.2 z PKCS č. 1: RSA Cryptography Standard.The third column provides the corresponding field in section A.1.2 of PKCS #1: RSA Cryptography Standard.

RSAParameters PoleRSAParameters field ObsahujeContains Odpovídající pole PKCS č. 1Corresponding PKCS #1 field
D d, privátní exponentd, the private exponent privateExponentprivateExponent
DP d mod (p - 1)d mod (p - 1) exponent1exponent1
DQ d mod (q - 1)d mod (q - 1) exponent2exponent2
Exponent e, veřejné exponente, the public exponent publicExponentpublicExponent
InverseQ (InverseQ) q = 1 mod p(InverseQ)(q) = 1 mod p koeficientcoefficient
Modulus nn modulusmodulus
P pp prime1prime1
Q qq prime2prime2

Zabezpečení RSA je odvozena ze skutečnosti, že zadaný veřejný klíč {e, n}, je výpočetně k výpočtu d, buď přímo nebo které budou zohledňovat n p a otázky.The security of RSA derives from the fact that, given the public key { e, n }, it is computationally infeasible to calculate d, either directly or by factoring n into p and q. Proto všechny součástí klíče související s d, p nebo q musí být udržen v tajnosti.Therefore, any part of the key related to d, p, or q must be kept secret. Při voláníIf you call

ExportParameters a požádat o pouze údaje o veřejném klíči, to je důvod, proč se zobrazí pouze Exponent a Modulus.ExportParameters and ask for only the public key information, this is why you will receive only Exponent and Modulus. Ostatní pole jsou k dispozici pouze v případě, že máte přístup k privátnímu klíči a vyžádejte si ho.The other fields are available only if you have access to the private key, and you request it.

RSAParameters nejsou šifrována žádným způsobem, musíte být opatrní při použití s informace o soukromém klíči.RSAParameters is not encrypted in any way, so you must be careful when you use it with the private key information. Ve skutečnosti může být serializován žádné z polí, které obsahují informace o soukromém klíči.In fact, none of the fields that contain private key information can be serialized. Pokud se pokusíte k serializaci RSAParameters strukturu vzdálené komunikace volání nebo některou z serializátory, zobrazí se jenom informace o veřejném klíči.If you try to serialize an RSAParameters structure with a remoting call or by using one of the serializers, you will receive only public key information. Pokud chcete předat informace privátního klíče, budete muset ručně odesílat data.If you want to pass private key information, you will have to manually send that data. Ve všech případech se může kdokoli odvozovat parametry, klíč, který můžete přenášet stane zbytečné.In all cases, if anyone can derive the parameters, the key that you transmit becomes useless.

.NET core 2.1.0 a později: Serializace jsme odebrali omezení a všichni členové RSAParameters serializují..NET Core 2.1.0 and later: The serialization restrictions have been removed and all members of RSAParameters are serialized. Péče o musí být excercised při vytváření nebo aktualizaci kódu oproti .NET Core 2.1.0 nebo novější, protože pokud kdokoli odvozovat nebo zachytit privátní klíče parametry klíč a všechny informace zašifrované nebo podepsán ho dojde k ohrožení.Care must be excercised when writing or upgrading code against .NET Core 2.1.0 or later, because if anyone can derive or intercept the private key parameters the key and all the information encrypted or signed with it are compromised.

Pole

D D D D

Představuje D parametr RSA algoritmus.Represents the D parameter for the RSA algorithm.

DP DP DP DP

Představuje DP parametr RSA algoritmus.Represents the DP parameter for the RSA algorithm.

DQ DQ DQ DQ

Představuje DQ parametr RSA algoritmus.Represents the DQ parameter for the RSA algorithm.

Exponent Exponent Exponent Exponent

Představuje Exponent parametr RSA algoritmus.Represents the Exponent parameter for the RSA algorithm.

InverseQ InverseQ InverseQ InverseQ

Představuje InverseQ parametr RSA algoritmus.Represents the InverseQ parameter for the RSA algorithm.

Modulus Modulus Modulus Modulus

Představuje Modulus parametr RSA algoritmus.Represents the Modulus parameter for the RSA algorithm.

P P P P

Představuje P parametr RSA algoritmus.Represents the P parameter for the RSA algorithm.

Q Q Q Q

Představuje Q parametr RSA algoritmus.Represents the Q parameter for the RSA algorithm.

Platí pro

Viz také