Me gustaría cifrar un archivo (usando AES 256) con una clave que creo y administro yo mismo. ¿Existe alguna utilidad de línea de comandos de Linux que admita esto? gpg
¿No lo hace, y creo openssl
que tampoco?
Para su información, soy plenamente consciente de que crear y administrar claves usted mismo esnoconsideradas seguras o mejores prácticas. Sin embargo, por razones idiosincrásicas, eso es lo que quiero hacer. Si todo lo demás falla, puedo escribir algo en Java para hacer esto, pero si existe una utilidad, prefiero usarla.
Respuesta1
gpg admite AES256, solo necesita cambiar el archivo de configuración, hay opciones para configurar el cifrado preferido y hay opciones en el momento del cifrado.
gpg desaconseja configurar el cifrado de cifrado, ya que se selecciona automáticamente según las preferencias y, para maximizar la compatibilidad, hay varios cifrados compatibles.
aquí puedes ver los cifrados soportados:
mike@mike-laptop4:~$ gpg --cipher-algo name --version
gpg (GnuPG) 2.1.15
libgcrypt 1.7.3-beta
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: /home/mike/.gnupg
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
y nuevamente con cifrados deshabilitados:
mike@mike-laptop4:~$ gpg --cipher-algo name --version
gpg (GnuPG) 2.1.15
libgcrypt 1.7.3-beta
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: /home/mike/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: AES256, CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Respuesta2
Consulte mcrypt según su descripción, debería hacer lo que necesite. Ya que te permite utilizar tus propias claves. Aunque no estoy seguro de por qué no puedes usar gpg. TinyCA es otra opción si está intentando utilizar este cifrado para la web o software de firma.
Ya notó que comprende las advertencias de la autofirma, así que lo dejaré a su criterio.
Respuesta3
La openssl
utilidad de línea de comando puede hacer eso, usando una contraseña de un archivo:
openssl aes-256-ctr -pass file:./passwordfile < file.plain > file.enc
openssl aes-256-ctr -d -pass file:./passwordfile < file.enc > file.plain
Podría usar -K
para configurar la clave real utilizada, en lugar de derivarla de una contraseña, pero luego también requiere configurar el IV manualmente, por lo que no es muy útil.
La página del manual esenc(1)
.