Владимир Мешков
Самым надежным способом скрыть информацию от посторонних глаз является ее
шифрование. В настоящее время существует большое количество стойких
криптографических алгоритмов, позволяющих надежно защитить конфиденциальные
данные и множество их программных реализаций, доступных для свободного
использования.
Сегодня мы поговорим о библиотеке OpenSSL. Эта свободно распространяемая
библиотека предоставляет в распоряжение пользователя набор утилит, реализующих
различные криптографические алгоритмы, такие как Triple-DES, Blowfish, AES, RSA
и другие.
Порядок использования утилит был подробно описан
Всеволодом Стаховым в статье «Теория и практика OpenSSL» [1].
Кроме готовых к применению утилит, библиотека
содержит набор функций, с помощью которых пользователь может разрабатывать
собственные программы для криптографической защиты данных или создавать
расширения, не входящие в стандартный набор. Большинство этих функций
достаточно хорошо документированы, и наличие примеров программ значительно
облегчает задачу изучения порядка их использования.
Не углубляясь в детали реализации алгоритмов,
рассмотрим несколько практических примеров использования библиотеки OpenSSL для
генерации псевдослучайных чисел, вычисления хэшей и шифрования данных с
использованием симметричных и асимметричных алгоритмов. Основное внимание
акцентируем на вопросах, которые, на мой взгляд, недостаточно полно
освещены в официальной документации и требуют более детальной проработки.
Далее по тексту библиотека OpenSSL будет
именоваться просто библиотека, кроме специально оговоренных случаев.