私は自分で作成して管理するキーでファイルを暗号化(AES 256を使用)したいと思います。これをサポートするLinuxコマンドラインユーティリティはありますか?いいえ、私もそうはgpg
思いませんか?openssl
参考までに、私はキーを自分で作成して管理するのが最も難しいことをよく知っています。いいえ安全またはベストプラクティスと見なされます。それでも私自身の特別な理由のためにこれが私がしたいことです。他のすべての方法が失敗した場合は、これを行うためにJavaで何かを作成できますが、既存のユーティリティがある場合は、そのユーティリティを使用することをお勧めします。
答え1
gpgはAES256をサポートしているので、設定ファイルを変更するだけです。好みのパスワードを設定するオプションと暗号化するときのオプションがあります。
gpgでは、暗号化パスワードがデフォルト設定に基づいて自動的に選択され、互換性を最大化するためにサポートされているパスワードが多いため、設定しないことをお勧めします。
ここでサポートされているパスワードを確認できます。
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
無効なパスワードを再利用してください。
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
答え2
説明に従ってmcryptを確認すると、必要に応じて機能します。自分のキーが使えるからです。なぜgpgが利用できないのか分かりません。ネットワークまたは署名ソフトウェアでこの暗号化を使用する場合は、TinyCAは別のオプションです。
自己署名の注意事項を理解していると表示しましたので判断にお任せいたします。
答え3
コマンドラインユーティリティはopenssl
ファイルのパスワードを使用してこれを実行できます。
openssl aes-256-ctr -pass file:./passwordfile < file.plain > file.enc
openssl aes-256-ctr -d -pass file:./passwordfile < file.enc > file.plain
-K
パスワードからキーを派生する代わりに、それを使用して実際に使用されるキーを設定できますが、IVを手動で設定する必要があるため、それほど便利ではありません。
マンページは次のとおりですenc(1)
。