.\" .\" enigma (aka. crypt) man page written by Joerg Wunsch. .\" .\" Since enigma itself is distributed in the Public Domain, this file .\" is also. .\" .\" %FreeBSD: src/usr.bin/enigma/enigma.1,v 1.10 2004/07/02 22:22:23 ru Exp % .\" .\" $FreeBSD$ .\" " .Dd May 14, 2004 .Os .Dt ENIGMA 1 .Sh 名称 .Nm enigma , .Nm crypt .Nd 非常に単純なファイルの暗号化 .Sh 書式 .Nm .Op Fl s .Op Fl k .Op Ar password .Nm crypt .Op Fl s .Op Fl k .Op Ar password .Sh 解説 .Nm ユーティリティは .Nm crypt という名前でも知られていますが、 .Dq 秘密鍵 をベースとする .Em 非常に 単純な暗号化プログラムです。 これはフィルタとして働きます。 つまり、標準入力からの一連のデータを 暗号化または復号化し、その結果を標準出力に出力します。 動作は完全に対称なので、 (同じ秘密鍵を用いて) 暗号化された データストリームを再度入力としてエンジンに与えると、 それが復号化されます。 .Pp 秘密鍵をプログラムに渡す方法はいくつかあります。 デフォルトでは、制御端末上で .Xr getpass 3 を用いて、ユーザに鍵を入力するよう促します。 これが安全に鍵を渡す唯一の方法です。 .Pp 別の方法としては、プログラム起動時に、単独のコマンド行引数 .Ar password によって鍵を渡すこともできます。 明らかなことですが、この方法を用いると、 .Xr ps 1 を実行している他のユーザが、簡単に鍵を見破ることができます。 さらにもう 1 つの方法としては、コマンド行引数として .Fl k オプションを与えると、 .Nm は環境変数 .Ev CrYpTkEy から鍵を取得します。 この方法は、一見前述の他の方法よりも安全なように見えますが、 実際はそうではありません。 というのは、環境変数もまた .Xr ps 1 で調べることができるからです。 従って、このオプションは、主に他の実装の .Nm との互換性のために存在します。 .Pp .Fl s オプションを指定すると、 .Nm は、もう少し安全だと思われるように暗号化エンジンを変更しますが、 他の実装との互換性はなくなります。 .Pp .Ss 警告 .Nm の暗号化手法としての価値はかなり小さいです。 このプログラムは、 この手の実装 (通常、 .Xr crypt 1 という名前のもの) を持つ他のオペレーティングシステムとの 互換性を保つためだけのものです。 本格的な暗号化については、 .Xr bdes 1 , .Xr openssl 1 , .Xr pgp 1 , .Xr gpg 1 を参照してください。 しかしながら、いくつかの国ではこのようなツールの輸出、輸入、使用に対する 制限が存在するかもしれないので、これらの強力なツールは、デフォルトでは オペレーティングシステムと一緒には配布されていません。 .Sh 環境変数 .Bl -tag -offset indent -width "XXCrYpTkEy" .It Ev CrYpTkEy .Fl k オプション指定時に、この変数から秘密鍵を取得します。 .El .Sh 使用例 .Bd -literal -offset indent man enigma | enigma > encrypted Enter key: (XXX \(em 鍵は表示されません) .Ed .Pp このマニュアルページを暗号化して、その結果を .Ql encrypted というファイルに格納します。 .Bd -literal -offset indent enigma XXX < encrypted .Ed .Pp 前の例で作成されたファイルを端末上に表示します。 .Sh 関連項目 .Xr bdes 1 , .Xr gpg 1 , .Xr openssl 1 , .Xr pgp 1 , .Xr ps 1 , .Xr getpass 3 .Sh 歴史 .Nm crypt の実装は .Ux オペレーティングシステムの間では非常にありふれたものです。 本プログラムの実装は、パブリックドメインの .Em Cryptbreakers Workbench のものを使用しました。