C соответствующая функция декодирования для rsa.EncryptOAEP() в Golang

#c #go #openssl #rsa

#c #Вперед #openssl #rsa

Вопрос:

Я работаю над внедрением протокола связи между клиентом на c и сервером на golang.

Общий секрет должен быть зашифрован rsa на сервере golang с использованием открытого ключа, предоставленного клиентом c . Клиенту на c необходимо использовать закрытый ключ для расшифровки и получения общего секрета.

В настоящее время я использую EncryptOAEP для шифрования секрета в golang. И расшифруйте сообщение с помощью RSA_private_decrypt и дополнения, используя RSA_PKCS1_OAEP_PADDING предоставленный openssl. Однако это не преобразует зашифрованный секрет обратно в обычный текст.

Есть ли какая-либо другая расшифрованная функция rsa, которую мне нужно использовать для расшифровки зашифрованного текста из golang? Заранее спасибо.

Примечание: предпочтительная функция из libcrypto версии 1.1

Комментарии:

1. Вы не показываете никакого кода, поэтому мы не знаем, какие параметры вы предоставляете. Просмотр документов для каждого показывает, что Go рекомендует использовать sha256, но openssl по умолчанию использует sha1. Попробуйте использовать sha1 в программе Go. Обратите внимание, что, хотя SHA1 устарел, его использование в OAEP по-прежнему считается безопасным. Было бы лучше найти способ использовать SHA256 в коде C .

2. @Джеймс К. Полк очень признателен за ваши советы. Я попытался изменить хэш-функцию, чтобы использовать sha1 в golang, и это заставляет дешифрование работать! Я продолжу поиск, чтобы узнать, можно ли использовать sha256 в c . Спасибо!