muszę wdrożyć RSA szyfrowania/deszyfrowania przy użyciu C#Mapowanie szyfrowanie RSA Parametry z CRT (Chińskie twierdzenie reszta) do formatu .NET
Mam klucz prywatny z następującymi parametrami:
mod n
, exponent
, p
, q
, dP
, dQ
, a (p
-1
mod q)
Powyższe parametry są wytłumaczyć ed w Chinese remainder algorithm
Jednakże C# .NET realizacji RSA ma inny zestaw parametrów, jak następuje:
Modulus
, Exponent
, P
, Q
, DP
, DQ
, D
, InverseQ
Kiedy próbuję do odwzorowania danych z CRT
na DOTNET
, pojawia się błąd Bad Data
Dla p
, q
, dP
i dQ
mapowanie jest oczywiste, ale o pozostałych parametrach nie jestem pewien.
Byłoby wspaniale, jeśli mogę uzyskać pomoc mapowanie tych paramters
GregS, W moim przypadku mam tylko jeden wykładnik, który jest liczbą pierwszą. powinienem użyć go jako wykładników szyfrujących i deszyfrujących? Innymi słowy, przypisz ten sam numer zarówno do D, jak i do wykładnika? – AaA
Nie, szyfruj i odszyfruj wykładniki są różne, chociaż można je wyprowadzić z innych, jeśli masz obie liczby pierwsze. –
Kiedy generuję klucz RSA w języku C#, 'D' ma taki sam rozmiar jak moduł (128 bajtów lub 1024bity). Jak widzisz, moje dane nie zawierają D ani nic takiego o nazwie Potęgowanie Szyfrowania/Odszyfrowywania. Czy istnieje praktyczne odniesienie do obliczenia D z danych? Wszystkie przykładowe kody, które mogłem znaleźć, zawierają liczbę całkowitą Modulus (2 bajty), co nie jest moim przypadkiem. – AaA