Если вы используете стабильную версию gpg с --cipher-algo AES256
, то она должна правильно шифроваться с использованием AES256 (SHA256 - это хеш).
Он автоматически выбирает собственные раунды преобразования соли и ключа, поэтому вам не нужно (и не можете) выбирать потенциально слабые варианты самостоятельно. OpenSSL имеет много опций, но его настройки по умолчанию (особенно с enc
) могут быть не самыми сильными. Ваш связанный Q на самом деле ссылается на мой другой ответ об OpenSSL против GPG - в основном gpg работает, он тестировался десятилетиями, может ставить в тупик большие правительства, и команда enc
OpenSSL все еще может не иметь опции для подсчета итераций (это 1.1.0f man page from 2017-11-02 все еще перечисляет эту ошибку).
Добавьте несколько (несколько) опций -v
, чтобы увидеть больше деталей, таких как соль (772B0F3B94AD86BA ниже):
$ gpg -vvvvvvvvv test.gpg
gpg: using character set 'utf-8'
gpg: WARNING: no command supplied. Trying to guess what you mean ...
# off=0 ctb=8c tag=3 hlen=2 plen=13
:symkey enc packet: version 4, cipher 9, s2k 3, hash 2
salt 772B0F3B94AD86BA, count 9961472 (211)
gpg: AES256 encrypted data
# off=15 ctb=d2 tag=18 hlen=2 plen=0 partial new-ctb
:encrypted data packet:
length: unknown
mdc_method: 2
gpg: encrypted with 1 passphrase
# off=36 ctb=a3 tag=8 hlen=1 plen=0 indeterminate
:compressed packet: algo=1
# off=38 ctb=ad tag=11 hlen=3 plen=25420
:literal data packet:
mode b (62), created 1519523431, name="test",
raw data: 25405 bytes
gpg: original file name='test'
gpg: decryption okay
Если вы опустите --symmetric
то gpg попытается угадать, что вы имеете в виду, если файл не зашифрован gpg, то он сдастся / потерпит неудачу:
$ gpg -vvvvvvvvv --cipher-algo AES256 test
gpg: using character set 'utf-8'
gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: no valid OpenPGP data found.
gpg: processing message failed: Unknown system error
Для пропуска опции --cipher-algo
следует использовать «Используемый по умолчанию симметричный шифр - AES-128» (как об этом говорит страница man gpg
), но значения по умолчанию могут различаться в зависимости от версии или, я полагаю, переопределены вашими личными настройками. FYI доступные алгоритмы могут быть перечислены с опцией --version
, например:
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Вам также не нужен параметр --output
если он вам не нравится, gpg добавит и удалит расширение .gpg
мере необходимости.
- К вашему сведению, вот ссылка на RFC2440, описывающая элементы данных, используемые OpenPGP (по крайней мере, в 1999 году, хотя я уверен, что это почти все еще актуально, особенно описания таких вещей, как String-to-key (s2k) и итераций и соли)