Existe um utilitário para criptografar um arquivo com uma chave que criei?

Existe um utilitário para criptografar um arquivo com uma chave que criei?

Gostaria de criptografar um arquivo (usando AES 256) com uma chave que eu mesmo crio e gerencio. Existe algum utilitário de linha de comando do Linux que suporte isso? gpgnão, e eu acho que openssltambém não?

Para sua informação, estou plenamente ciente de que criar e gerenciar chaves você mesmo énãoconsiderado seguro ou melhor prática. No entanto, pelas minhas razões idiossincráticas, é isso que quero fazer. Se tudo mais falhar, posso escrever algo em java para fazer isso, mas se houver um utilitário, prefiro usá-lo.

Responder1

gpg suporta AES256, você só precisa alterar o arquivo de configuração, há opções para definir a cifra preferida e há opções no momento da criptografia.

O gpg desaconselha a configuração da cifra de criptografia, pois ela seleciona automaticamente com base na preferência e, para maximizar a compatibilidade, há diversas cifras suportadas.

aqui você pode ver as cifras suportadas:

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

e novamente com cifras desativadas:

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

Responder2

Confira o mcrypt com base na sua descrição, ele deve fazer o que você precisa. Pois permite que você use suas próprias chaves. Embora eu não saiba por que você não pode usar o gpg? TinyCA é outra opção se você estiver tentando usar essa criptografia para a web ou software de assinatura.

Você já notou que entende as advertências da autoassinatura, então deixarei isso para seu julgamento.

Responder3

O opensslutilitário de linha de comando pode fazer isso usando uma senha de um arquivo:

openssl aes-256-ctr -pass file:./passwordfile < file.plain > file.enc

openssl aes-256-ctr -d -pass file:./passwordfile < file.enc > file.plain

Você poderia usar -Kpara definir a chave real usada, em vez de derivá-la de uma senha, mas também é necessário definir o IV manualmente, o que não é muito útil.

A página do manual éenc(1).

informação relacionada