マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

decrypt(1)

名前

encrypt , decrypt - ファイルの暗号化または復号化

形式

/usr/bin/encrypt -l
/usr/bin/encrypt -a algorithm [-v] 
     [-k key_file | -K key_label [-T token_spec]]
     [-i input_file] [-o output_file]
/usr/bin/decrypt -l
/usr/bin/decrypt -a algorithm [-v] 
     [-k key_file | -K key_label [-T token_spec]]
     [-i input_file] [-o output_file]

説明

このユーティリティーは、指定されたアルゴリズムを使用して、指定されたファイルまたは stdin を暗号化または復号化します。出力ファイルが指定されていない場合、標準出力に出力されます。cryptoadm -i オプションと –o オプションが同じファイルを指定している場合は、暗号化された出力が同じファイルシステム内の一時作業ファイルに書き込まれてから、元のファイルを置き換えるために使用されます。

復号化時に cryptoadm -i オプションと –o オプションが同じファイルを指定している場合は、平文によって暗号化テキストファイルが置き換えられます。

encrypt の出力ファイルと decrypt の入力ファイルには、次の情報が含まれています。

  • 出力形式バージョン番号 (ネットワークバイトオーダーの 4 バイト)。現在のバージョンは 1 です。

  • 鍵生成関数で使用される繰り返し (ネットワークバイトオーダーの 4 バイト)。

  • IV (ivlen バイト)[1]。iv データは、1 ブロックサイズと等しいランダムバイトにより生成されます。

  • 鍵生成に使用される salt データ (16 バイト)。

  • 暗号化テキストデータ。

オプション

サポートしているオプションは、次のとおりです。

–a algorithm

暗号化または復号化プロセスで使用するアルゴリズムの名前を指定します。詳細については、「使用法」の「アルゴリズム」を参照してください。

–i input_file

入力ファイルを指定します。input_file が指定されていない場合、デフォルトは標準入力です。

–k key_file

暗号化アルゴリズムのキー値を含むファイルを指定します。PKCS#11 仕様で規定されているように、各アルゴリズムには固有のキー素材要件があります。–k が指定されていない場合、encryptgetpassphrase(3C) を使用してキー素材の入力を要求します。鍵ファイルのサイズにより鍵の長さが決まります。また、可変長鍵を使用した暗号化用の 128 ビット長鍵の生成には、端末から設定されたパスフレーズが常に使用されます。

鍵ファイルの生成については、pktool(1)genkey サブコマンドを参照してください。また、dd(1M) を使用することもできます。

–K key_label

PKCS#11 トークン内で対称トークンキーのラベルを指定します。

–l

システムで利用可能なアルゴリズムの一覧を表示します。この一覧は、暗号化フレームワークの構成によって変わります。キーサイズはビット単位で表示されます。

–o output_file

出力ファイルを指定します。output_file が指定されていない場合のデフォルトは標準出力です。ファイルへのリダイレクトなしに標準出力が使用される場合、暗号化または復号化された raw データにより端末エミュレーションが中断されるため、端末ウィンドウがハングアップしたように見える場合があります。これは、バイナリファイルを表示しているときに時折発生する状態によく似ています。

–T token_spec

–K が指定されている場合に、デフォルトのソフトトークンオブジェクトストア以外の PKCS#11 トークンを指定します。

token_spec は次の形式になります。

token_name [:manuf_id [:serial_no]]

トークンラベルの末尾にスペースがある場合でも、このオプションではユーザーがスペースを入力する必要はありません。

トークン識別文字列はコロンで区切ります。いずれかの部分に文字としてコロン (:) を含める場合、そのコロンをバックスラッシュで (\) でエスケープする必要があります。コロン (:) がない場合、文字列全体が (最大 32 文字) がトークンラベルと見なされます。コロンが (:) 1 つだけある場合、文字列はトークンラベルと作成者となります。

–v

詳細な情報を表示します。Verbose を参照してください。

使用法

アルゴリズム

–l オプションを指定すると、サポートされるアルゴリズムと、鍵の最小サイズおよび最大サイズが表示されます。これらのアルゴリズムは、暗号化フレームワークによって提供されます。サポートされる各アルゴリズムは PKCS #11 メカニズムの別名であり、特定のアルゴリズムタイプでもっともよく使用され、もっとも制限が少ないバージョンです。たとえば、desCKM_DES_CBC_PAD の別名、arcfourCKM_RC4 の別名です。パディングや ECB のない派生アルゴリズムは、サポートされていません。

これらの別名は –a オプションとともに使用され、大文字と小文字が区別されます。

パスフレーズ

–k オプションが暗号化および復号化タスクで使用されない場合、ユーザーはパスフレーズの入力を求められます。パスフレーズは、PKCS #5 で指定されている PBKDF2 アルゴリズムを使用して処理され、より安全な鍵に変換されます。

暗号化および復号化でパスフレーズが使用される場合、ユーザーが入力したパスフレーズが PBKDF2 アルゴリズムを使用して暗号化鍵に変換されます。詳細は、http://www.rsasecurity.com の「PKCS #5 v2.0.」を参照してください。

詳細

コマンドに入力ファイルが指定されている場合、進行状況が画面に表示されます。進行状況の表示では、25% 完了するごとにパイプ記号 (|) が表示されます。 標準入力からの入力の場合は、40KB 読み取られるたびにピリオド (.) が表示されます。両方の入力方法が完了すると、「Done」が出力されます。

使用例 1 使用できるアルゴリズムの一覧表示

次の例では、使用できるアルゴリムが一覧表示されます。


example$ encrypt -l
     Algorithm       Keysize:  Min   Max
     -----------------------------------
     aes                       128   128
     arcfour                     8   128
     des                        64    64
     3des                      192   192
使用例 2 AES を使用して暗号化する

次の例では、AES を使用して暗号化し、暗号化鍵の入力を求めます。


example$ encrypt -a aes -i myfile.txt -o secretstuff
使用例 3 鍵ファイルの作成後に AES を使用して暗号化する

次の例では、鍵ファイルの作成後に AES を使用して暗号化します。


example$ pktool genkey keystore=file keytype=aes keylen=128 \
            outkey=key
example$ encrypt -a aes -k key -i myfile.txt -o secretstuff

使用例 4 インパイプを使用して暗号化されたテープバックアップを指定する

次の例では、インパイプを使用して、暗号化されたテープバックアップを提供します。


example$ ufsdump 0f - /var | encrypt -a arcfour \
     -k /etc/mykeys/backup.k | dd of=/dev/rmt/0
使用例 5 インパイプを使用してテープバックアップを復元する

次の例では、インパイプを使用してテープバックアップを復元します。


example$ decrypt -a arcfour -k /etc/mykeys/backup.k \
     -i /dev/rmt/0 | ufsrestore xvf -
使用例 6 3DES アルゴリズムを使用して入力ファイルを暗号化する

次の例では、des3key ファイルに格納された 192 ビット鍵を使用して inputfile ファイルを暗号化します。


example$ encrypt -a 3des -k des3key -i inputfile -o outputfile
使用例 7 DES トークンキーを使用して入力ファイルを暗号化する

次の例では、ソフトトークンキーストア内の DES トークンキーを使用して入力ファイルを暗号化します。DES トークンキーは、pktool(1) で生成できます。


example$ encrypt -a des -K mydeskey \
     -T "Sun Software PKCS#11 softtoken" -i inputfile \
     -o outputfile

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生した。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実

関連項目

digest(1), pktool(1), mac(1), dd(1M), getpassphrase(3C), libpkcs11(3LIB), attributes(5), pkcs11_softtoken (5)

Oracle Solaris 11.2 でのシステムおよび接続されたデバイスのセキュリティー保護

RSA PKCS#11 v2.11: http://www.rsasecurity.com

RSA PKCS#5 v2.0: http://www.rsasecurity.com