Криптографические библиотеки для C/C++?

пытаюсь разобраться с различными криптографическими функциями, конкретно для моих проектов меня интересуют алгоритмы(sha, rsa,ecdh, aes), и хочу найти информацию по поводу существующих библиотек на эту тему.
В связи с этим, есть несколько вопросов к знающим, какие криптографические библиотеки можно использовать для программирования на Си/Си++.
1) Я знаю что есть два популярных решения OpenSSL(libcrypto), и Crypto++. Может есть какие-то гайды или туторы по программированию на этих библиотеках, или на другие хорошие библиотеки? Т.к осилить официальную документацию openssl я не смог, а все поиски гайдов по ней заканчивались очередным видео по установки ssl-сертификата на домен.
2)Мне интересно узнать ваше мнение, как вы думаете, насколько безопастно/грамотно использовать самописные крипто-либы, и использовали ли вы бы такие библиотеки для какого-то продакшена? (Конечно, моя самописная библиотека будет содержать 2-3 алгоритма от силы, только то что я использую в проекте, но все же ? )
  • Вопрос задан
  • 990 просмотров
Решения вопроса 2
конкретно для моих проектов меня интересуют алгоритмы(sha, rsa,ecdh, aes), и хочу найти информацию по поводу существующих библиотек на эту тему.

https://www.cryptopp.com/wiki/RSA_Cryptography - вот страничка на cryptopp-шной wiki по RSA, пробовали читать? Что понятно/непонятно? Вы уверены, что вам нужна информация именно по библиотеке, а не по самим алгоритмам?

Мне интересно узнать ваше мнение, как вы думаете, насколько безопастно/грамотно использовать самописные крипто-либы, и использовали ли вы бы такие библиотеки для какого-то продакшена?

Вам - категорически не советую. Если бы вы знали достаточно для самостоятельной безопасной реализации таких алгоритмов - вы бы не задавли этот вопрос. Кроме того, вы бы понимали, что гораздо проще разобраться с существующей библиотекой, чем писать свою реализацию.

Судя по вашему вопросу, вы пытаетесь обойти необходимость разбираться со сложными вещами, в том числе путём велосипедостроения. Криптография - это область, которая не терпит такого подхода. Разумеется, люди время от времени реализовывают свои собственные решения с нуля (ведь кто-то же начал проекты cryptopp и openssl), но они хорошо осведомлены как о всех существующих решениях, так и сложностях с созданием своего собственного. И о практическом выхлопе от затрат на качественную реализацию своего решения.

Если это серьёзный продакшен - то криптовелосипеды от начинающего разрабочтика там ни к чему.
Если это учебный проект или пет-проект - ну тут риски не оценить без дополнительной информации. Если вам просто хочется попрактиковаться в реализации SHA - тогда и спрашивать смысла нет, берите и реализуйте.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
Ни в коем случае НЕ используейте самописные крипто-либы. Если нельзя использовать XOR для "шифрования", то ни в коем случае не испоьзуйте самописных библиотек. Криптографические библиотек иразрабатывают сотни человек десятками лет и они всё-равно содержат ошибки и уязвимости. Самописная либа на 99.99999% будет уязвима.
Конкретных либ рекомендовать не буду, но я бы выбирал исключительно бибилиотеки, которые реализуют хорошо описанный алгоритм с открытым кодом (или хотя бы математическим описанием алгоритма шифрования). Если алгоритм шифрования засекречен, то независимые эксперты не могут его проанализирвоать и указать на ошибки и нет причит ему доверять.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы