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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: