Установка криптографических инструментов и настройка среды

LinuxBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы настроите базовую среду для криптографической разработки в системе Ubuntu 22.04. Правильная среда имеет решающее значение как для изучения, так и для безопасной реализации криптографических принципов. Мы установим два ключевых компонента: OpenSSL — надежный и универсальный инструментарий командной строки для криптографии общего назначения и безопасной связи, а также библиотеку Python cryptography, которая предоставляет высокоуровневые рецепты и низкоуровневые интерфейсы к распространенным криптографическим алгоритмам.

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

Обновление списка пакетов

На этом шаге мы обновим список пакетов в нашей системе Ubuntu. Перед установкой любого нового программного обеспечения хорошей практикой является синхронизация локального индекса пакетов с центральными репозиториями. Команда apt update загружает информацию о пакетах из всех настроенных источников, гарантируя, что мы сможем установить самые последние доступные версии программного обеспечения.

Обратите внимание, что эта команда не обновляет уже установленные пакеты, она только обновляет список доступных пакетов.

Выполните следующую команду в терминале для обновления списка пакетов. Поскольку эта операция изменяет информацию о пакетах на уровне системы, нам необходимо использовать sudo.

sudo apt update

Вы увидите вывод, показывающий получение списков пакетов из репозиториев Ubuntu. Вывод может немного отличаться, но в целом будет выглядеть следующим образом:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [119 kB]
...
Fetched 3,334 kB in 2s (1,950 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Установка OpenSSL

На этом шаге вы установите OpenSSL. OpenSSL — это мощный и широко используемый инструментарий с открытым исходным кодом для протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL). Он также служит криптографической библиотекой общего назначения, предоставляя богатый набор инструментов командной строки для генерации ключей, создания сертификатов, шифрования/дешифрования файлов и многого другого.

Мы будем использовать команду apt install для установки пакета openssl. Мы также добавим флаг -y, который автоматически подтверждает установку, предотвращая паузу команды для запроса вашего подтверждения.

Выполните следующую команду в терминале:

sudo apt install -y openssl

После завершения команды вы увидите вывод, подробно описывающий процесс установки, включая устанавливаемые и настраиваемые пакеты.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
openssl is already the newest version (3.0.2-0ubuntu1.15).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Ваша система может показать, что openssl уже установлен, что часто встречается во многих базовых образах. Выполнение команды гарантирует его присутствие.

Установка Python и pip

На этом шаге мы убедимся, что установлены Python и его установщик пакетов pip. Python — чрезвычайно популярный язык для широкого спектра приложений, включая кибербезопасность и криптографию, благодаря своей читаемости и обширной экосистеме сторонних библиотек. pip — это стандартный инструмент для установки и управления этими пакетами Python.

Хотя среда LabEx поставляется с предустановленным Python, выполнение этой команды гарантирует, что и python3, и python3-pip корректно установлены и управляются системным менеджером пакетов.

Выполните следующую команду для установки обоих пакетов. Опять же, мы используем -y, чтобы продолжить без интерактивных запросов.

sudo apt install -y python3 python3-pip

Вывод подтвердит, что пакеты устанавливаются или уже имеют самую новую версию.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3 is already the newest version (3.10.6-1~22.04).
python3-pip is already the newest version (22.0.2+dfsg-1ubuntu0.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Установка пакета Cryptography

На этом шаге вы установите пакет cryptography для Python. Это современная, высокоуровневая библиотека, которая предоставляет простой и безопасный способ использования криптографических алгоритмов. Ее часто называют «криптография для людей», поскольку она абстрагирует многие сложные и подверженные ошибкам детали низкоуровневых криптографических API. Она активно разрабатывается и рекомендуется для большинства приложений Python, требующих криптографии.

Мы будем использовать pip, установщик пакетов Python, который мы только что проверили, для загрузки и установки библиотеки cryptography из Python Package Index (PyPI).

Выполните следующую команду в терминале:

pip install -U cryptography

Вы увидите вывод от pip по мере загрузки и установки пакета и его зависимостей. Флаг -U используется для обновления пакета до последней версии.

Successfully installed cffi-2.0.0 cryptography-46.0.3 typing-extensions-4.15.0

Проверка установки

На этом заключительном шаге мы проверим, что все установленные нами инструменты работают корректно. Это важная проверка, чтобы убедиться, что наша среда правильно настроена, прежде чем мы начнем использовать ее для разработки.

Сначала проверим утилиту командной строки openssl. Запуск ее с аргументом version выведет информацию о версии, подтверждая, что система может ее найти и выполнить.

openssl version

Вывод должен отобразить установленную версию OpenSSL.

OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

Далее проверим, что библиотека Python cryptography правильно установлена и может быть импортирована интерпретатором Python. Мы можем сделать это с помощью простой однострочной команды, используя флаг -c, который выполняет строку кода.

python -c "import cryptography"

Если эта команда выполняется без вывода каких-либо сообщений, это означает, что импорт прошел успешно. При возникновении проблемы с установкой Python вывел бы трассировку ошибки ImportError. Отсутствие вывода в данном случае является признаком успеха.

После прохождения этих двух проверок ваша среда разработки для криптографии готова к работе.

Резюме

Поздравляем с завершением этой лабораторной работы! Вы успешно настроили базовую, но мощную среду для криптографической разработки на Ubuntu.

В этой лабораторной работе вы научились:

  • Обновлять списки пакетов вашей системы с помощью apt update.
  • Устанавливать необходимый набор инструментов командной строки openssl.
  • Устанавливать python3 и его менеджер пакетов pip.
  • Использовать pip для установки высокоуровневой библиотеки Python cryptography.
  • Проверять, что все компоненты установлены и доступны.

Эта среда предоставляет основу, необходимую для начала изучения и реализации различных криптографических концепций: от простого хеширования и шифрования с помощью OpenSSL до создания сложных безопасных приложений на Python.