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 enc
perintah 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) -v
opsi 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 --symmetric
maka 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-algo
opsi harus menggunakan "Cipher simetris default yang digunakan adalah AES-128" (seperti man gpg
halaman 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 --version
opsi, 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 --output
opsi kecuali Anda menyukainya, gpg akan menambah & menghapus .gpg
ekstensi 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)