Различные метки и хэш-функции MGF1 с использованием RsaCng с OAEP - PullRequest
0 голосов
/ 07 ноября 2019

Мы должны расшифровать зашифрованный текст, зашифрованный с помощью RSA OAEP, и мы пытаемся использовать RsaCng. Зашифрованный текст был создан с использованием Java, а Java API позволяет вам указать другую хеш-функцию для метки и для функции генерации маски (MGF1). В данном конкретном случае SHA-256 использовался в первом случае, а SHA-1 - во втором (да, это не очень хорошая идея, но мы не можем это контролировать).

Теперь, насколько я понимаю, я используюRsaCng Я могу указать только одну хеш-функцию (используя RSAEncryptionPadding.OaepXXX), и эта функция будет использоваться в обоих местах. Это означает, что я всегда не смогу расшифровать зашифрованный текст. Есть ли способ обойти это с помощью КПГ? Глядя на низкоуровневые функции Win API C (BCryptDecrypt), видно, что существует то же ограничение. Я считаю, что BouncyCastle обеспечивает такую ​​гибкость, но из-за необходимости интеграции с HSM мы не можем использовать BC.

Спасибо за вашу помощь,

Dinis

...