Мне нужно зашифровать небольшой блок данных (16 байтов) с использованием открытого ключа с открытым битом RSA - довольно простая задача для большинства известных мне криптографических библиотек, за исключением MS CSP API. Документация для CryptEncrypt функции утверждает, чтоКак зашифровать небольшой блок данных только с открытым ключом RSA с помощью Microsoft ECSP?
для Microsoft Enhanced Cryptographic Provider поддерживает прямое шифрование с открытым ключом RSA и дешифрования с секретными ключами RSA. Шифрование использует дополнение PKCS # 1.
Это не сработало для меня, хотя. Ну, мой код работает и создает зашифрованный блок данных с правильным размером, но openssl не может его дешифровать. Это похоже на то, что CryptEncrypt по-прежнему использует симметричный cypher.
К сожалению, все примеры, которые я нашел, относятся к комбинированной криптографии с симметричным cypher, поэтому у меня нет рабочего примера на руках, что определенно упростит ситуацию.
Может ли кто-нибудь указать мне на такой пример или сообщить мне, есть ли некоторые из этих очевидных ошибок, которые я пропустил?
спасибо.
Бинго. Спасибо, что указали это. Ловушка была слишком очевидна :) –