Megosztás a következőn keresztül:


System.Security.Cryptography.RSAParameters struktúra

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

A RSAParameters struktúra az RSA-algoritmus szabványos paramétereit jelöli.

Az RSA osztály egy ExportParameters metódust tesz elérhetővé, amely lehetővé teszi a nyers RSA-kulcs lekérését struktúra RSAParameters formájában.

A struktúra tartalmának megértéséhez segít megismerni az RSA algoritmus működését. A következő szakasz röviden ismerteti az algoritmust.

RSA-algoritmus

Kulcspár létrehozásához először hozzon létre két nagy prímszámot p és q néven. Ezek a számok meg vannak szorozva, és az eredmény neve n. Mivel a p és a q egyaránt prímszám, az n csak 1, p, q és n.

Ha csak az n-nél kisebb számokat vesszük figyelembe, akkor a viszonylag prím-n számok száma, vagyis nincs közös tényezője az n-nek, egyenlőnek (p - 1)(q - 1).

Most válasszon egy e számot, amely viszonylag prímérték a kiszámított értékhez. A nyilvános kulcs mostantól {e, n} néven jelenik meg.

A titkos kulcs létrehozásához ki kell számítani a d értéket, amely olyan szám, amely (d)(e) mod (p - 1)(q - 1) = 1. Az Euklideszi algoritmusnak megfelelően a titkos kulcs most {d, n}.

Az egyszerű szöveg m és a c titkosítása c = (m ^ e) mod n. A visszafejtés ezután m = (c ^ d) mod nként lesz definiálva.

Mezők összegzése

A PKCS #1: RSA titkosítási standard A.1.2 szakasza az RSA titkos kulcsok formátumát határozza meg.

Az alábbi táblázat a struktúra mezőit RSAParameters foglalja össze. A harmadik oszlop a PKCS #1: RSA titkosítási szabvány A.1.2 szakaszában található megfelelő mezőt tartalmazza.

RSAParameters Mező Tartalmazza Megfelelő PKCS #1 mező
D d, a privát kitevő privateExponent
DP d mod (p - 1) exponent1
DQ d mod (q - 1) kitevő2
Exponent e, a nyilvános kitevő publicExponent
InverseQ (InverseQ) (q) = 1 mod p Együttható
Modulus n Modulus
P p prime1
Q q prime2

Az RSA biztonsága abból a tényből ered, hogy a nyilvános kulcs { e, n } alapján számításilag nem kiszámítható a d, akár közvetlenül, akár az n p-be és q-ba történő faktorálásával. Ezért a d, p vagy q kulcshoz kapcsolódó bármely részét titokban kell tartani. Ha csak a nyilvános kulcsra vonatkozó információkat hívja meg ExportParameters és kéri, ezért csak és Moduluskizárólag Exponent a nyilvános kulcsokat fogja megkapni. A többi mező csak akkor érhető el, ha rendelkezik hozzáféréssel a titkos kulcshoz, és ön kéri.

RSAParameters semmilyen módon nincs titkosítva, ezért óvatosnak kell lennie, amikor a titkos kulcs információival használja. Az összes tag RSAParameters szerializálva van. Ha bárki képes levezetni vagy elfogni a titkos kulcs paramétereit, a kulcs és a vele titkosított vagy aláírt összes információ sérül.