¿Existe alguna utilidad para cifrar un archivo con una clave que creé?

¿Existe alguna utilidad para cifrar un archivo con una clave que creé?

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 opensslque 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 opensslutilidad 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 -Kpara 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).

información relacionada