僕の使っているコマンドラインツールの #ひかえめなアドベントカレンダー2023 12月7日分はgpgです。OpenPGP準拠の、というかOpenPGPの基になったpgp互換の、非対称鍵暗号を含むハイブリッド暗号を扱うフリーソフトウェアです。
非対称鍵暗号については、手前味噌ですが、 https://mitome.in あたりをざっくり読んでみるとなんとなく理解できた気になるかもしれません。僕とメールなどでのやりとりを暗号化する場合には、https://keyoxide.org/f60960d80b224382ca8d831cb56c20316d6e8279 などから僕の公開鍵を入手してください。暗号化してメールをやりとりするような相手はいまのところ居ないけどな!
僕は、メールの他、ざっくりローカルで情報を保護したい場合にも利用しています。私有鍵と暗号化したファイルを同じ場所に置いてあるので、なにかの拍子に不正ログインされた場合は、私有鍵にかけてあるパスフレーズの強度で情報の保護の強度が決まります。
鍵対のある環境で、暗号化したいファイルsecret.txtから
$ gpg -ea --default-recipient-self secret.txt
して暗号化したファイルsecret.txt.ascを作成して、
$ cat secret.txt.asc | gpg -d
して復号します。私有鍵が必要になるとpinentryがパスフレーズの入力を促し、得られた私有鍵をgpg-agentがしばらくのあいだ覚えておいてくれます。ssh先では端末内でpinentryを起動してもらいたいので、~/.bashrcなどに下記を追加しておきます。
export GPG_TTY=$(tty)
復号できることを確かめたら暗号化前のファイルは消しておきます。
$ shred secret.txt
$ rm secret.txt
https://www.cipherdyne.org/blog/2008/02/interfacing-vim-with-gnupg-encrypted-files.html などを参考に、暗号化したファイルをvimで編集することもできます。