Zipや7Zipなど圧縮プログラムの多くは自己解凍型形式を提供しています。そのタイプは大抵WindowsやmacOSの実行ファイルとして提供され、Linuxでは使えないのではないでしょうか。ファイルをセキュアにしたいと思いつつも、お互いの環境に同じプログラムをインストールしないといけないのは不便です。 そんな悩みはlockmanを使えば解決します。圧縮機能はありませんが、自己復号化が可能なファイルを生成します。

lockmanの使い方

lockmanは公開鍵を使って暗号化します。

$ lockman -k ~/.ssh/id_rsa.pub -f Makefile 

復号化時には秘密鍵を指定します。ファイル自体は実行形式になっていますので(実行権限がついていないだけ)、受け取った先ではlockmanは不要です。

$ sh ./Makefile.bash -k ~/.ssh/id_rsa
c - 46f5c833d3f02bfa476dc62215484d275bc848f71c164236e35db9766a9f2a8d
x - 46f5c833d3f02bfa476dc62215484d275bc848f71c164236e35db9766a9f2a8d/encrypted_data.bin
x - 46f5c833d3f02bfa476dc62215484d275bc848f71c164236e35db9766a9f2a8d/originalfilename
x - 46f5c833d3f02bfa476dc62215484d275bc848f71c164236e35db9766a9f2a8d/encrypted_key.bin.base64

lockmanは圧縮機能はありませんので単に暗号化するだけです。Dockerコンテナなど、ごくごく簡単な環境しかない状態でも安全にファイルの送受信ができます。余計なファイルをインストールしないで済むというのは手軽です。

lockmanはShellスクリプト製のオープンソース・ソフトウェア(MIT License)です。

metalefty/lockman: Self-decrypting file encryption utility