はじめのいっぽ  ページ一覧  更新履歴

enc(1)

 =pod
 
 =head1 NAME

NAME

 enc - symmetric cipher routines

enc - 対称暗号ルーチン

 =head1 SYNOPSIS

SYNOPSIS

 B<openssl enc -ciphername>
 [B<-in filename>]
 [B<-out filename>]
 [B<-pass arg>]
 [B<-e>]
 [B<-d>]
 [B<-a>]
 [B<-A>]
 [B<-k password>]
 [B<-kfile filename>]
 [B<-K key>]
 [B<-iv IV>]
 [B<-p>]
 [B<-P>]
 [B<-bufsize number>]
 [B<-nopad>]
 [B<-debug>]
 =head1 DESCRIPTION

DESCRIPTION

 The symmetric cipher commands allow data to be encrypted or decrypted
 using various block and stream ciphers using keys based on passwords
 or explicitly provided. Base64 encoding or decoding can also be performed
 either by itself or in addition to the encryption or decryption.

対称暗号コマンドは、パスワードや明示的に与えられたものに基づいた鍵を使う様々なブロック暗号やストリーム暗号を利用して、データの暗号化あるいは復号化を可能にする。Base64 エンコードあるいはデコードも、それ自身、あるいは別のものを利用して暗号化あるいは復号化が可能である***。

 =head1 OPTIONS

OPTIONS

 =over 4
 
 =item B<-in filename>
 
 the input filename, standard input by default.

-in filename

入力ファイル名。デフォルトは標準入力。

 =item B<-out filename>
 
 the output filename, standard output by default.

-out filename

出力ファイル名。デフォルトは標準出力。

 =item B<-pass arg>
 
 the password source. For more information about the format of B<arg>
 see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.

-pass arg

パスワードソース。引数のフォーマットについては openssl(1) の PASS PHRASE ARGUMENTS を参照の事。

 =item B<-salt>
 
 use a salt in the key derivation routines. This option should B<ALWAYS>
 be used unless compatibility with previous versions of OpenSSL or SSLeay
 is required. This option is only present on OpenSSL versions 0.9.5 or
 above.

-salt

鍵生成ルーチンでソルトを利用する。以前のバージョンの OpenSSL あるいは SSLeay との互換性が必要ではない限り、このオプションは「必ず」利用されなければならない。このオプションは OpenSSL 0.9.5 以降のバージョンで利用できる。

 =item B<-nosalt>
 
 don't use a salt in the key derivation routines. This is the default for
 compatibility with previous versions of OpenSSL and SSLeay.

-nosalt

鍵生成ルーチンでソルトを利用しない。これは、以前のバージョンの OpenSSL あるいは SSLeay との互換性を保ためのデフォルトである。

 =item B<-e>
 
 encrypt the input data: this is the default.

-e

入力されたデータを暗号化する : これはデフォルトである。

 =item B<-d>
 
 decrypt the input data.

-d

入力されたデータを復号化する。

 =item B<-a>
 
 base64 process the data. This means that if encryption is taking place
 the data is base64 encoded after encryption. If decryption is set then
 the input data is base64 decoded before being decrypted.

-a

データを base64 処理する。暗号化作業も行なわれる場合は、データは暗号化された後に base64 処理されることになる。もしも復号化が設定されれば、入力データは復号化作業を行なう前に、base64 デコードが行なわれる。

 =item B<-A>
 
 if the B<-a> option is set then base64 process the data on one line.

-A

-a オプションが設定されている場合、base64 は一行でデータを処理する***。

 =item B<-k password>
 
 the password to derive the key from. This is for compatibility with previous
 versions of OpenSSL. Superseded by the B<-pass> argument.

-k password

鍵を生成するためのパスワード。これは以前のバージョンの OpenSSL との互換性を保つためである。-pass 引数に取って変わられた。

 =item B<-kfile filename>
 
 read the password to derive the key from the first line of B<filename>.
 This is for computability with previous versions of OpenSSL. Superseded by
 the B<-pass> argument.

-kfile filename

鍵生成のためのパスワードを filename ファイルの1行目から読み込む。これは以前のバージョンの OpenSSL との互換性を保つためである。-pass 引数に取って変わられた。

 =item B<-S salt>
 
 the actual salt to use: this must be represented as a string comprised only
 of hex digits.

-S salt

実際に利用するソルト: これは、16進表記だけからなる文字列でなければならない。

 =item B<-K key>
 
 the actual key to use: this must be represented as a string comprised only
 of hex digits. If only the key is specified, the IV must additionally specified
 using the B<-iv> option. When both a key and a password are specified, the
 key given with the B<-K> option will be used and the IV generated from the
 password will be taken. It probably does not make much sense to specify
 both key and password.

-K key

実際に利用する鍵: これは、16進表記だけからなる文字列でなければならない。鍵だけが指定されている場合、-iv オプションを利用して IV も指定しなければならない。鍵とパスワードの両方が指定されている場合、鍵は -K オプションで指定されたものが利用され、IV は指定されたパスワードから生成される。鍵とパスワードの両方の指定はおそらくあまり意味がない。

 =item B<-iv IV>
 
 the actual IV to use: this must be represented as a string comprised only
 of hex digits. When only the key is specified using the B<-K> option, the
 IV must explicitly be defined. When a password is being specified using
 one of the other options, the IV is generated from this password.

-iv IV

実際に利用する IV (初期ベクタ) : これは、16進表記だけからなる文字列でなければならない。鍵だけが指定されている場合、IV は明示的に指定されなければならない。その他のオプションでパスワードが指定されている場合は、IR はこのパスワードから生成される。

 =item B<-p>
 
 print out the key and IV used.

-p

利用される鍵とIVを出力する。

 =item B<-P>
 
 print out the key and IV used then immediately exit: don't do any encryption
 or decryption.

-P

利用される鍵とIVを出力するだけでコマンドを終了する。: 一切の暗号化や復号化を行なわない。

 =item B<-bufsize number>
 
 set the buffer size for I/O

-bufsize number

I/O のバッファサイズを設定する。

 =item B<-nopad>
 
 disable standard block padding

-nopad

標準のblock padding を無効にする。

 =item B<-debug>
 
 debug the BIOs used for I/O.

-debug

I/O で利用される BIOs をデバグする。

 =back
 
 =head1 NOTES

NOTES

 The program can be called either as B<openssl ciphername> or
 B<openssl enc -ciphername>.

プログラムは openssl ciphername あるいは openssl enc -ciphername のどちらでも呼び出せる。

 A password will be prompted for to derive the key and IV if necessary.

必要であれば、鍵や IV を生成するためにパスワードプロンプトが表示される。

 The B<-salt> option should B<ALWAYS> be used if the key is being derived
 from a password unless you want compatibility with previous versions of
 OpenSSL and SSLeay.

以前のバージョンのOpenSSL や SSLeay との互換性を必要としないなら、パスワードを利用して鍵を生成する際に、 -salt オプションを必ず利用すべきである。

 Without the B<-salt> option it is possible to perform efficient dictionary
 attacks on the password and to attack stream cipher encrypted data. The reason
 for this is that without the salt the same password always generates the same
 encryption key. When the salt is being used the first eight bytes of the
 encrypted data are reserved for the salt: it is generated at random when
 encrypting a file and read from the encrypted file when it is decrypted.

-salt オプションを利用しない場合、パスワードの辞書攻撃や、ストリーム暗号データ攻撃が可能となる。なぜなら、ソルトを利用しない場合、同じパスワードはいつでも同じ暗号鍵を生成するからである。ソルトが利用されていれば、暗号データの最初の8バイトはソルトのために予約される。: それはファイルを暗号化する際にランダムに生成され、復号化する際に暗号化されたファイルから読まれる。

 Some of the ciphers do not have large keys and others have security
 implications if not used correctly. A beginner is advised to just use
 a strong block cipher in CBC mode such as bf or des3.

ある種の暗号は、大きな鍵を持たず、別のものは、正しく利用されなければセキュリティに影響を及ぼす。初心者は bf や des3 といった CBC モードの強いブロック暗号のみを利用した方がよい。

 All the block ciphers normally use PKCS#5 padding also known as standard block
 padding: this allows a rudimentary integrity or password check to be
 performed. However since the chance of random data passing the test is
 better than 1 in 256 it isn't a very good test.

すべてのブロック暗号は、通常 標準ブロックパディングとして知られる PKCS#5 パディングを利用する : これは基本的な完全性***あるいはパスワードチェックの実行を許可する。しかし、ランダムなデータがテストに合格する可能性は 256 分の 1 以上であり、あまり良いテストとはいえない。

 If padding is disabled then the input data must be a multiple of the cipher
 block length.

もしも、パディングが不可能であれば、入力データは複数の暗号ブロック長を持たなければならない。

 All RC2 ciphers have the same key and effective key length.

RC2 暗号はすべて鍵と有効鍵長が同じである。

 Blowfish and RC5 algorithms use a 128 bit key.

Blowfish 及び RC5 アルゴリズムは 128 bit の鍵を利用する。

 =head1 SUPPORTED CIPHERS

SUPPORTED CIPHERS

  base64             Base 64
 
  bf-cbc             Blowfish in CBC mode
  bf                 Alias for bf-cbc
  bf-cfb             Blowfish in CFB mode
  bf-ecb             Blowfish in ECB mode
  bf-ofb             Blowfish in OFB mode
 
  cast-cbc           CAST in CBC mode
  cast               Alias for cast-cbc
  cast5-cbc          CAST5 in CBC mode
  cast5-cfb          CAST5 in CFB mode
  cast5-ecb          CAST5 in ECB mode
  cast5-ofb          CAST5 in OFB mode
 
  des-cbc            DES in CBC mode
  des                Alias for des-cbc
  des-cfb            DES in CBC mode
  des-ofb            DES in OFB mode
  des-ecb            DES in ECB mode
 
  des-ede-cbc        Two key triple DES EDE in CBC mode
  des-ede            Alias for des-ede
  des-ede-cfb        Two key triple DES EDE in CFB mode
  des-ede-ofb        Two key triple DES EDE in OFB mode
 
  des-ede3-cbc       Three key triple DES EDE in CBC mode
  des-ede3           Alias for des-ede3-cbc
  des3               Alias for des-ede3-cbc
  des-ede3-cfb       Three key triple DES EDE CFB mode
  des-ede3-ofb       Three key triple DES EDE in OFB mode
 
  desx               DESX algorithm.
 
  idea-cbc           IDEA algorithm in CBC mode
  idea               same as idea-cbc
  idea-cfb           IDEA in CFB mode
  idea-ecb           IDEA in ECB mode
  idea-ofb           IDEA in OFB mode
 
  rc2-cbc            128 bit RC2 in CBC mode
  rc2                Alias for rc2-cbc
  rc2-cfb            128 bit RC2 in CBC mode
  rc2-ecb            128 bit RC2 in CBC mode
  rc2-ofb            128 bit RC2 in CBC mode
  rc2-64-cbc         64 bit RC2 in CBC mode
  rc2-40-cbc         40 bit RC2 in CBC mode
 
  rc4                128 bit RC4
  rc4-64             64 bit RC4
  rc4-40             40 bit RC4
 
  rc5-cbc            RC5 cipher in CBC mode
  rc5                Alias for rc5-cbc
  rc5-cfb            RC5 cipher in CBC mode
  rc5-ecb            RC5 cipher in CBC mode
  rc5-ofb            RC5 cipher in CBC mode
 =head1 EXAMPLES

EXAMPLES (例)

 Just base64 encode a binary file:
 
  openssl base64 -in file.bin -out file.b64

バイナリファイルに base64 エンコードのみ行なう :

openssl base64 -in file.bin -out file.b64

 Decode the same file
 
  openssl base64 -d -in file.b64 -out file.bin 

同じファイルをデコードする。

openssl base64 -d -in file.b64 -out file.bin

 Encrypt a file using triple DES in CBC mode using a prompted password:
 
  openssl des3 -salt -in file.txt -out file.des3 

パスワードをプロンプトから入力し、CBCモードのトリプルDESを利用してファイルを暗号化する。

openssl des3 -salt -in file.txt -out file.des3

 Decrypt a file using a supplied password:
 
  openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword

与えられたパスワードを利用して、ファイルを解読する。

openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword

 Encrypt a file then base64 encode it (so it can be sent via mail for example)
 using Blowfish in CBC mode:
 
  openssl bf -a -salt -in file.txt -out file.bf

ファイルを暗号化し、CBC モードのBlowfish を利用して base64 エンコードする (そうすることで、例えばメールで送信できる)。

openssl bf -a -salt -in file.txt -out file.bf

 Base64 decode a file then decrypt it:
 
  openssl bf -d -salt -a -in file.bf -out file.txt

ファイルを base64 デコードした後に解読する。

openssl bf -d -salt -a -in file.bf -out file.txt

 Decrypt some data using a supplied 40 bit RC4 key:
 
  openssl rc4-40 -in file.rc4 -out file.txt -K 0102030405

与えられた 40 bit の RC4 鍵を利用して、あるデータを解読する。

openssl rc4-40 -in file.rc4 -out file.txt -K 0102030405

 =head1 BUGS

BUGS

 The B<-A> option when used with large files doesn't work properly.

大きなファイルに対して -A オプション利用すると、 正確に動作しない。

 There should be an option to allow an iteration count to be included.

イテレーションカウントを許すオプションが必要である。

 The B<enc> program only supports a fixed number of algorithms with
 certain parameters. So if, for example, you want to use RC2 with a
 76 bit key or RC4 with an 84 bit key you can't use this program.

enc プログラムは、特定のパラメータの決まったアルゴリズムのみをサポートする。そのため、例えば 76 bit の鍵の RC2 あるいは 84 bit の鍵の RC4 を利用したい場合に、このプログラムは利用できない。

 =cut
更新日時:2004/05/06 06:24:38
キーワード:
参照:[はじめのいっぽ] [OpenSSL のマニュアルの翻訳] [0.9.7f→0.9.8(無印)の変更と追加]