UNIX / crypt
(主に商用) UNIX 上で提供される簡易暗号化ツール。
crypt コマンドの説明
Linux にも crypt という同名のコマンドがあるが、これはログインパスワードの暗号化に使用されるもので全く違います。
UNIX の crypt コマンドとは、簡易暗号化ソリューションで、標準入力のデータストリームを暗号化して標準出力へ吐き出します。
man による説明は下記の通りです。
crypt は、ドイツの Enigma の方法に準じて設計された 1 ロータ・マシンを インプリメントしますが、256 要素のロータを使って設計されています。その ようなマシンに対する暗号化方法は広くはないが知られています。
肝心の使い方は、こんな感じです。
cat <暗号化したいファイル> | crypt > <暗号化されたファイル>
でも通常は、こう使うと思われます。下記は、必要なファイルを暗号化してテープに書き出す例です。
[tar ver] $tar cvbf 20 - <暗号化したいファイル> | crypt | dd of=/dev/rmt/0m obs=20b
[tgz ver] $tar cvbf 20 - <暗号化したいファイル> | gzip -c -9 | crypt | dd of=/dev/rmt/0m obs=20b
上のコマンドを実行すると、crypt が暗号化に使用するパスワードを聞いてくるので、8文字以内のパスワードを入力すれば良いです。
次に復元例。
[tar ver] $dd if=/dev/rmt/0m bs=20b | crypt | tar xvbf 20 -
[tgz ver] $dd if=/dev/rmt/0m bs=20b | crypt | gzip -dc | tar xvbf 20 -
この場合も、同様にパスワードを入力すれば良いです。
この crypt は、内部処理としては暗号化と暗号化解除の区別がない(同じフィルタを2回通すと元に戻る)ので、gzip を展開する場合のような -d 等の特別なオプションはありません。
さて、この crypt コマンド、HP-UX や solaris などの商用パッケージでは標準的にインストールされているが、Linux のインストールパッケージでは含まれていないというか、別の動作をするコマンドになっています。 で、Linux 上で同じの動作をする、つまり全く同じ暗号化/複合化ロジックを搭載した pdcrypt というコマンドが、パブリックドメインであり作者不詳ですが存在します。
pdcrypt.tar.gz @ 7575 bytes, A PD replacement for UN*X 'crypt' command. ( Will need this to unencrypt Brl-Cad for starters.. ).
DAT が落ちていたときにわざわざ覗く奴がどれくらいいるかは別として、持ち出すときに暗号化しておけば、電車にカバンを置き忘れても多分会社の秘密はまもれます。(パスワード長が ASCII 8 文字であることからも、暗号強度がそんなに高くないことに注意。DES やAES などの国家機密はまもれません。でも普通の人間ならあきらめるのに十分な暗号強度です。)
windows 版は?
仕事柄ちょこっとした tar を持ち歩くことも多いので、crypt の windows 版を作ったらちょっと便利だろうと思って、前章で紹介した pdcrypt コマンドを、MinGW 上でコンパイルしてみました。
おお。何となく(←いや、完璧に、ですが)正しく暗号化できた。使い道は(冗談以外)ないけど…
探してみたが前例は無いっぽいので、せっかくだから置いておくことにします。