EN JA
ENIGMA(1)
ENIGMA(1) FreeBSD General Commands Manual ENIGMA(1)

名称

enigma, crypt非常に単純なファイルの暗号化

書式

enigma [ -s][ -k][ password]

crypt [ -s][ -k][ password]

解説

enigma ユーティリティは、 crypt という名前でも知られていますが、“秘密鍵”をベースとする 非常に 単純な暗号化プログラムです。これはフィルタとして働きます。つまり、標準入力からの一連のデータを暗号化または復号化し、その結果を標準出力に出力します。動作は完全に対称なので、(同じ秘密鍵を用いて) 暗号化されたデータストリームを再度入力としてエンジンに与えると、それが復号化されます。

秘密鍵をプログラムに渡す方法はいくつかあります。デフォルトでは、制御端末上で getpass(3) を用いて、ユーザに鍵を入力するよう促します。これが安全に鍵を渡す唯一の方法です。

別の方法としては、プログラム起動時に、単独のコマンド行引数 password によって鍵を渡すこともできます。明らかなことですが、この方法を用いると、 ps(1) を実行している他のユーザが、簡単に鍵を見破ることができます。さらにもう 1 つの方法としては、コマンド行引数として -k オプションを与えると、 enigma は環境変数 CrYpTkEy から鍵を取得します。この方法は、一見前述の他の方法よりも安全なように見えますが、実際はそうではありません。というのは、環境変数もまた ps(1) で調べることができるからです。従って、このオプションは、主に他の実装の enigma との互換性のために存在します。

-s オプションを指定すると、 enigma は、もう少し安全だと思われるように暗号化エンジンを変更しますが、他の実装との互換性はなくなります。

警告

enigma の暗号化手法としての価値はかなり小さいです。このプログラムは、この手の実装 (通常、 crypt(1) という名前のもの) を持つ他のオペレーティングシステムとの互換性を保つためだけのものです。本格的な暗号化については、 bdes(1), openssl(1), pgp(1) ( ports/security/pgp), gpg(1) ( ports/security/gnupg) を参照してください。しかしながら、いくつかの国ではこのようなツールの輸出、輸入、使用に対する制限が存在するかもしれないので、これらの強力なツールは、デフォルトではオペレーティングシステムと一緒には配布されていません。

環境変数

CrYpTkEy
-k オプション指定時に、この変数から秘密鍵を取得します。

使用例

man enigma | enigma > encrypted 
Enter key: (XXX —鍵は表示されません)

このマニュアルページを暗号化して、その結果を encrypted というファイルに格納します。

enigma XXX < encrypted

前の例で作成されたファイルを端末上に表示します。

歴史

crypt の実装は、 UNIX オペレーティングシステムの間では非常にありふれたものです。本プログラムの実装は、パブリックドメインの Cryptbreakers Workbench のものを使用しました。
May 14, 2004 FreeBSD