Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Ключи RSACryptoServiceProvider


Автор: СерегаГоляков 26.11.2011, 13:00
Делал RSA в ручную, и передавал как положено P и Q, решил сделать через встроенные средства и появилось непонятка,а что же является ключом, например открытым?
Код

const int KeyLen = 1024;
                                const int MaxRSABlockSize = KeyLen / 8 - 11 - 30 - 1; //тут документация нагло врет (-30 -чтобы шифровалось, -1-чтобы дешифровалось)
                                RSAParameters rsaencpub, rsaencpriv;
                                bool EncPubPresent, EncPrivPresent;
                                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(KeyLen);
                                rsaencpriv = rsa.ExportParameters(true);//сгенерирован приватнеый ключ
                             rsaencpub=rsa.ExportParameters(false);//сгенерирован публичный ключ
                                EncPrivPresent = true;
                                EncPubPresent = true;
  • Ниже перечисленные компоненты и есть части ключа?
    Т.к. наш публичный ключ rsaencpub имеет такие компоненты:
    Код

    rsaencpub.DP;
    rsaencpub.DQ;
    rsaencpub.Exsponent;
    rsaencpub.InverseQ;
    rsaencpub.P;
    rsaencpub.Q;
    rsaencpub.Modulus;
  • И все эти части нужно передать от сервера клиенту как сессионный ключ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)