blob: fbbb100916a41eb77f1c65500947c455ef518075 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
.\"
.\" 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.1.2.4 1999/08/29 15:27:28 peter Exp %
.\"
.\" jpman %Id: enigma.1,v 1.4 1999/01/31 11:05:26 horikawa Stab %
.\" "
.Dd October 30, 1998
.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 enigma
は
.Nm crypt
という名前でも知られていますが、
.Dq 秘密鍵
をベースとする
.Em 非常に
単純な暗号化プログラムです。
これはフィルタとして働きます。つまり、標準入力からの一連のデータを暗号化
または復号化し、その結果を標準出力に出力します。
入力データがすでに暗号化されているかどうかを自動的に検出し、すでに
暗号化されている場合は復号モードに切り替わります。
.Pp
秘密鍵をプログラムに渡す方法はいくつかあります。
デフォルトでは、制御端末上で
.Xr getpass 3
を用いて、ユーザに鍵を入力するよう促します。
これが安全に鍵を渡す唯一の方法です。
.Pp
別の方法としては、プログラム起動時に、単独のコマンドライン引数
.Ar password
によって鍵を渡すこともできます。
明らかなことですが、この方法を用いると、
.Xr ps 1
を実行している他のユーザが、簡単に鍵を見破ることができます。
さらにもう一つの方法としては、コマンドライン引数として
.Fl k
オプションを与えると、
.Nm
は環境変数
.Ev CrYpTkEy
から鍵を取得します。
この方法は、一見前述の他の方法よりも安全なように見えますが、
実際はそうではありません。というのは、環境変数もまた
.Xr ps 1
で調べることができるからです。
従って、このオプションは、主に他の実装の
.Nm enigma
との互換性のために存在します。
.Pp
.Fl s
オプションを指定すると、
.Nm
は、もう少し安全だと思われるように暗号化エンジンを変更しますが、
他の実装との互換性はなくなります。
.Pp
.Ss 警告
.Nm
は暗号化の手法としてはほとんど価値がありません。このプログラムは、この
実装を持つ他のオペレーティングシステムとの互換性を保つためだけのもの
です。
本当の暗号化については、
.Xr bdes 1
(DES配布パッケージに含まれます)、または、
.Xr pgp 1
(ports コレクションに含まれます) を参照してください。
しかしながら、いくつかの国ではこのようなツールの輸出、輸入、使用に対する
制限が存在するかもしれないので、これらの強力なツールは、デフォルトでは
オペレーティングシステムと一緒には配布されていません。
.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 pgp 1 ,
.Xr ps 1 ,
.Xr getpass 3
.Sh 歴史
.Nm crypt
の実装方法は
.Ux
オペレーティングシステムの間では非常にありふれたものです。
本プログラムの実装は、パブリックドメインの
.Em Cryptbreakers Workbench
のものを使用しました。
|