We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Шифрование и безопасное хранение данных в Termux с GnuPG и OpenSSL – практические примеры

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

Termux – мощный терминал для Android, позволяющий использовать привычные Linux‑утилиты. В статье рассматриваем, как обеспечить конфиденциальность и целостность данных с помощью GnuPG и OpenSSL.

Установка необходимых пакетов

pkg update && pkg upgrade -y
pkg install gnupg openssl -y

Создание асимметричной пары ключей GnuPG

Генерируем ключ с RSA‑2048 и задаём срок действия 2 года.

gpg --full-generate-key

В интерактивном диалоговом окне выбираем:

  • Тип ключа: RSA and RSA
  • Размер ключа: 2048
  • Срок действия: 2y
  • Имя, email и пароль

Экспорт публичного и приватного ключей

# Публичный ключ
gpg --armor --export your@email.com > public_key.asc

# Приватный ключ (защищённый паролем)
gpg --armor --export-secret-keys your@email.com > private_key.asc

Шифрование и дешифрование файлов

Шифрование для конкретного получателя:

gpg --encrypt --recipient your@email.com secret.txt

Полученный файл secret.txt.gpg можно безопасно передать.

Дешифрование:

gpg --decrypt secret.txt.gpg > secret.txt

Подпись и проверка подписи

Создаём цифровую подпись:

gpg --clearsign document.md

Проверяем подпись:

gpg --verify document.md.asc

Симметричное шифрование с OpenSSL

Для быстрого шифрования небольших файлов удобно использовать AES‑256‑CBC.

# Шифрование
openssl enc -aes-256-cbc -salt -in notes.txt -out notes.txt.enc -pbkdf2

# Дешифрование
openssl enc -d -aes-256-cbc -in notes.txt.enc -out notes.txt -pbkdf2

Пароль запрашивается интерактивно; можно передать его через переменную $OPENSSL_PASS (не рекомендуется хранить в открытом виде).

Безопасное хранение паролей и ключей

Для доступа к приватному ключу без постоянного ввода пароля используем gpg-agent:

gpg-agent --daemon --allow-preset-passphrase
# Сохраняем пароль (пример)
echo -n "your_passphrase" | gpg --batch --yes --passphrase-fd 0 --quick-set-key 

Для временного хранения пароля OpenSSL можно применить secret-tool (часть libsecret):

secret-tool store --label="OpenSSL password" service termux openssl-pass
# Получение
PASS=$(secret-tool lookup service termux openssl-pass)
openssl enc -aes-256-cbc -salt -in file -out file.enc -pbkdf2 -pass pass:$PASS

Бэкапы и перенос ключей

Экспортированные .asc файлы удобно сохранять в зашифрованный архив:

tar -czf keys.tar.gz public_key.asc private_key.asc
gpg --symmetric --cipher-algo AES256 keys.tar.gz

Для восстановления:

gpg --decrypt keys.tar.gz.gpg | tar -xzf -

Заключение

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

Если вам требуется более глубокая настройка безопасности, аудит мобильных решений или интеграция криптографии в собственные скрипты, обращайтесь в RybinskLab. Мы предоставляем консалтинг, разработку и поддержку безопасных решений под Android и Linux.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект