Как зашифровать файл с помощью открытого ключа в C#?

У меня есть открытый ключ длиной 2048 бит (асимметричный, RSA), из которого я знаю модуль и экспоненту, и мне нужно зашифровать строку.

В идеале я хочу зашифровать небольшую строку в C#, а затем расшифровать ее с помощью Python.

1 ответ

Вам нужно будет тщательно проверить все используемые стандарты, эти шифрования должны быть кроссплатформенными, но они уязвимы. Это помогает, если у вас есть настройка, где вы можете проверить все различные байтовые массивы, вы не хотите гоняться за ошибкой, которая возникает из-за разницы в кодировке ASCII/UTF8.

Ваш заголовок упоминает "файл", обратите внимание, что RSA шифрует данные только до размера ключа. Обычно он используется для шифрования (MD5/SHA1) хэшей или ключей для других шифрований. Классы RSA имеют расширенную поддержку для подписи и проверки подписей.

Вы найдете наиболее подходящие шаги здесь (MSDN). Обратите внимание, что вам придется импортировать ключи, тогда как пример экспортирует их.

Другие вопросы по тегам