openssl BF_cfb64_encrypt потокобезопасность - PullRequest
2 голосов
/ 14 января 2010

Безопасен ли поток openssl BF_cfb64_encrypt ()?

Пример кода, который будет использовать его для шифрования / дешифрования большого количества данных, будет очень полезен.

1 Ответ

1 голос
/ 14 января 2010

Согласно FAQ , подпрограммы OpenSSL являются поточно-ориентированными. Я посмотрел на источник этой функции, и она действительно выглядит поточно-ориентированной. Конечно, это предполагает, что вы не передаете одни и те же буферы ввода / вывода в функцию в разных потоках.

Например, вы можете посмотреть в исходном коде OpenSSL. Существует файл с именем bftest.c, расположенный в openssl / crypto / bf /, в котором есть тестовые вызовы функции.

Редактировать Подумав немного об этом, вероятно, все же разумно использовать функциональность CRYPTO_set_locking_callback для многопоточной блокировки. Алгоритм Blowfish, о котором говорилось в первоначальном вопросе, в настоящее время (в используемой мной версии OpenSSL) не использует эти блокировки, но это не гарантирует, что по какой-то причине он не будет в будущем. Кроме того, это избавит от боли в будущем, если вы в конечном итоге будете использовать функциональность (например, RAND_bytes), для которой нужны эти блокировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...