3

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

Например, если я хочу зашифровать файл в режиме блочного шифрования AES256 CBC:

openssl aes-256-cbc -a -salt -pass pass:MYPASSWORD -in secrets.txt -out secrets.txt.enc

В gpg2 я пытаюсь зашифровать файл следующим образом:

gpg2 --cipher-algo AES256 -a --no-use-agent --passphrase MYPASSWORD -c secrets.txt

Есть две проблемы, с которыми я мог бы получить некоторую помощь:

  • Нет никакой возможности указать, какой блок шифра использовать. Что, если я хочу CTR AES256 или XTS вместо CBC? Какой блок шифра использует --cipher-algo AES256 и как мне указать что-то конкретное?

  • Команда полностью завершится неудачно, если я не введу фразу-пароль в агент паролей gnu (я пытаюсь предоставить фразу-пароль в команде с --passphrase и --no --no-use-agent , для возможной автоматизации на доверенной машине):

    gpg: ПРЕДУПРЕЖДЕНИЕ: «--no-use-agent» является устаревшей опцией - она не имеет никакого эффекта

    gpg: проблема с агентом: недействительная карта

    gpg: ошибка при создании ключевой фразы: операция отменена

    gpg: симметричное шифрование `secretts.txt 'не удалось: операция отменена

2 ответа2

1

Cypher Mode

OpenPGP применяет один данный режим, модифицированный режим CBC, как определено в RFC 4880. Вы не можете изменить это на что-то другое.

Агент GPG

Как уже отмечалось @grawity в комментариях, более поздние версии GnuPG 2 извлекали некоторые криптографические функции для агента, поэтому парольная фраза и закрытый ключ не оставляют эту меньшую программу с более низкой вероятностью уязвимостей.

Я предполагаю, что использование gpg-preset-passphrase (документация для GnuPG 2.1) для программной установки ключевой фразы - это путь для пакетной операции в GnuPG 2. Альтернативой может быть использование параметров `--passphrase [-fd, file] , которые все еще доступны в GnuPG 2.1.

0

Чтобы получить список поддерживаемых шифров, вы можете использовать gpg2 --version . На моей машине я получаю следующий вывод:

Шифр: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256

Я не вижу способа перейти на CTR или XTS.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .