Jika Anda menggunakan versi stabil gpg, dengan --cipher-algo AES256, maka itu harus mengenkripsi menggunakan AES256 dengan benar (SHA256 adalah hash).
Itu mengambil putaran transformasi garam & kunci itu sendiri secara otomatis, jadi Anda tidak perlu (dan tidak bisa) memilih opsi yang berpotensi lemah sendiri. OpenSSL memiliki banyak opsi, tetapi defaultnya (terutama dengan itu enc) mungkin bukan yang terkuat. Q Anda yang ditautkan sebenarnya mereferensikan jawaban saya yang lain tentang OpenSSL vs GPG - pada dasarnya gpg berfungsi, telah diuji selama beberapa dekade, dapat mengalahkan pemerintah besar, dan encperintah OpenSSL mungkin masih tidak memiliki opsi untuk penghitungan iterasi (halaman manual 1.1.0f dari 2017 -11-02 masih mencantumkan bug itu).
Tambahkan beberapa (beberapa) -vopsi untuk melihat lebih detail seperti garam (772B0F3B94AD86BA di bawah):
$ 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
Jika Anda menghilangkan --symmetricmaka gpg akan mencoba dan menebak apa yang Anda maksud, jika file tersebut tidak dienkripsi maka gpg akan menyerah / gagal:
$ 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
Menghilangkan --cipher-algoopsi harus menggunakan "Cipher simetris default yang digunakan adalah AES-128" (seperti man gpghalaman mengatakan tentang opsi itu) tetapi default dapat bervariasi menurut versi atau saya percaya ditimpa oleh pengaturan pribadi Anda. Algoritma FYI yang tersedia dapat dicantumkan dengan --versionopsi, seperti:
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
Anda juga tidak benar-benar membutuhkan --outputopsi kecuali Anda menyukainya, gpg akan menambah & menghapus .gpgekstensi sesuai kebutuhan.
- FYI, inilah tautan ke RFC2440 yang menggambarkan elemen data yang digunakan oleh OpenPGP (setidaknya pada tahun 1999, meskipun saya yakin itu hampir seluruhnya masih relevan, terutama deskripsi hal-hal seperti String-to-key (s2k) dan iterasi dan garam)