1 方向ハッシュ生成 (CSNBOWH または CSNBOWH1 および CSNEOWH または CSNEOWH1)

片方向ハッシュ生成呼び出し可能サービスは、指定のテキストに対して片方向ハッシュを生成する場合に使用します。 このサービスは、以下の方式をサポートします。
  • MD5 - ソフトウェアのみ
  • SHA-1
  • RIPEMD-160 - ソフトウェアのみ
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEOWH および CSNEOWH1 です。

形式

CALL CSNBOWH(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             text_length,
             text,
             chaining_vector_length,
             chaining_vector,
             hash_length,
             hash) 
CALL CSNBOWH1(
              return_code,
              reason_code,
              exit_data_length,
              exit_data,
              rule_array_count,
              rule_array,
              text_length,
              text,
              chaining_vector_length,
              chaining_vector,
              hash_length,
              hash,
              text_id_in) 

パラメーター

return_code
方向 タイプ
出力 整数

戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。

reason_code
方向 タイプ
出力 整数

理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。

exit_data_length
方向 タイプ
入出力 整数

インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。

exit_data
方向 タイプ
入出力 ストリング

このデータはインストール出口に渡されます。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワード数。 値は 1、2、または 3 でなければなりません。

rule_array
方向 タイプ
入力 ストリング

制御情報をこの呼び出し可能サービスに提供するキーワードを表 1 にリストします。 オプションのチェーニング・フラグ・キーワードは、 このサービスに対する呼び出しがバッファー・サイズ制限を超えるために論理的にまとまってチェーニングされているかどうかを示します。 キーワードはそれぞれ、8 バイト・フィールドで左寄せされ、右側にブランクが埋め込まれます。 キーワードはすべて、連続するストレージ内になければなりません。

表 1. 片方向ハッシュ生成規則配列制御情報のキーワード
キーワード 意味
ハッシュ方式 (必須)
MD5 ハッシュ・アルゴリズムは MD5 アルゴリズムです。 このハッシュ方式は、PKCS-1.0 および PKCS-1.1 に使用します。 生成されるハッシュの長さは 16 バイトです。
MD5-LG ハッシュ・アルゴリズムは MD5 アルゴリズムによく似ています。 このハッシュ方式は、PKCS-1.0 および PKCS-1.1 に使用します。 生成されるハッシュの長さは 16 バイトです。 APAR OA33657 より前のリリース HCR7751 以前のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
RPMD-LG ハッシュ・アルゴリズムは RIPEMD-160 によく似ています。 生成されるハッシュの長さは 20 バイトです。 APAR OA33657 より前のリリース HCR7751 以前のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
RPMD-160 ハッシュ・アルゴリズムは RIPEMD-160 です。 生成されるハッシュの長さは 20 バイトです。
SHA-1 ハッシュ・アルゴリズムは SHA-1 アルゴリズムです。 このハッシュ方式は DSS に使用します。 生成されるハッシュの長さは 20 バイトです。
SHA-224 ハッシュ・アルゴリズムは SHA-256 アルゴリズムです。 生成されるハッシュの長さは 28 バイトです。
SHA-256 ハッシュ・アルゴリズムは SHA-256 アルゴリズムです。 生成されるハッシュの長さは 32 バイトです。
SHA-384 ハッシュ・アルゴリズムは SHA-384 アルゴリズムです。 生成されるハッシュの長さは 48 バイトです。
SHA-512 ハッシュ・アルゴリズムは SHA-512 アルゴリズムです。 生成されるハッシュの長さは 64 バイトです。
SHA1LG ハッシュ・アルゴリズムは SHA-1 アルゴリズムによく似ています。 これは、text_length が 256 メガバイト (HCR7770 上の IBM eServer zSeries 990 または IBM eServer zSeries 890 以降の ハードウェアでは 512 メガバイト) 以上の場合にのみ使用します。 このハッシュ方式は DSS に使用します (片方向ハッシュ生成にのみ適用されます)。 生成されるハッシュの長さは 20 バイトです。 APAR OA43937 より前のリリース HCR7770 以降のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
SHA224LG ハッシュ・アルゴリズムは SHA-224 アルゴリズムによく似ています。 これは、text_length が 256 メガバイト (HCR7770 上の IBM eServer zSeries 990 または IBM eServer zSeries 890 以降の ハードウェアでは 512 メガバイト) 以上の場合にのみ使用します。 生成されるハッシュの長さは 28 バイトです。 APAR OA43937 より前のリリース HCR7770 以降のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
SHA256LG ハッシュ・アルゴリズムは SHA-256 アルゴリズムによく似ています。 これは、text_length が 256 メガバイト (HCR7770 上の IBM eServer zSeries 990 または IBM eServer zSeries 890 以降の ハードウェアでは 512 メガバイト) 以上の場合にのみ使用します。 生成されるハッシュの長さは 32 バイトです。 APAR OA43937 より前のリリース HCR7770 以降のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
SHA384LG ハッシュ・アルゴリズムは SHA-384 アルゴリズムによく似ています。 これは、text_length が 256 メガバイト (HCR7770 上の IBM eServer zSeries 990 または IBM eServer zSeries 890 以降の ハードウェアでは 512 メガバイト) 以上の場合にのみ使用します。 生成されるハッシュの長さは 48 バイトです。 APAR OA43937 より前のリリース HCR7770 以降のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
SHA512LG ハッシュ・アルゴリズムは SHA-512 アルゴリズムによく似ています。 これは、text_length が 256 メガバイト (HCR7770 上の IBM eServer zSeries 990 または IBM eServer zSeries 890 以降の ハードウェアでは 512 メガバイト) 以上の場合にのみ使用します。 生成されるハッシュの長さは 64 バイトです。 APAR OA43937 より前のリリース HCR7770 以降のレガシー・ハッシュ値は、以前にアーカイブされたハッシュ値を使用して検証目的で生成されます。
チェーニング・フラグ (オプション)
FIRST これは、当該呼び出しが、チェーニングされた一連の呼び出しにおける最初の呼び出しであることを指定します。 中間結果は hash フィールドに保管されます。
LAST これは、当該呼び出しが、チェーニングされた一連の呼び出しにおける最後の呼び出しであることを指定します。
MIDDLE これは、当該呼び出しが、チェーニングされた一連の呼び出しにおける中間の呼び出しであることを指定します。 中間結果は hash フィールドに保管されます。
ONLY これは、当該呼び出しが唯一の呼び出しでありチェーニングされていないことを指定します。 これがデフォルトです。
text_length
方向 タイプ
入力 整数

text パラメーターの長さ (バイト)。

注: FIRST キーワードまたは MIDDLE キーワードを指定する場合、テキストの長さは、ハッシュ方式のブロック・サイズの倍数でなければなりません。 MD5、RPMD-160、SHA-1、SHA-224 および SHA-256 の場合、これは 64 バイトの倍数です。 SHA-384 および SHA-512 の場合、これは 128 バイトの倍数です。

ONLY および LAST の場合、このサービスでは、指定されたアルゴリズムに従って必要な埋め込みが行われます。

text
方向 タイプ
入力 ストリング
このサービスでハッシュが行われるときの対象となるアプリケーション指定のテキスト。
chaining_vector_length
方向 タイプ
入力 整数

chaining_vector パラメーターのバイト長。 この値は 128 バイトでなければなりません。

chaining_vector
方向 タイプ
入出力 ストリング

このフィールドは 128 バイトの作業域です。 ご使用のアプリケーションで、このストリングに含まれるデータを変更してはなりません。 チェーニング・ベクトルにより、呼び出し間でデータをチェーニングできます。

hash_length
方向 タイプ
入力 整数

指定された hash フィールドの長さ (バイト)。

注: これは、SHA-1 および RPMD-160 の場合は少なくとも 20 バイトでなければならず、MD5 の場合は少なくとも 16 バイトでなければなりません。 SHA-224 および SHA-256 の場合、長さは少なくとも 32 バイトでなければなりません。 SHA-224 ハッシュの長さが SHA-256 より短い場合でも、ハッシュ値の生成時に追加のバイトが作業域として使用されます。 SHA-224 値は左寄せにされて、ゼロが埋め込まれます。

SHA-384 および SHA-512 の場合、長さは少なくとも 64 バイトでなければなりません。 SHA-384 ハッシュの長さが SHA-512 より短い場合でも、ハッシュ値の生成時に追加のバイトが作業域として使用されます。 SHA-384 値は左寄せにされて、ゼロが埋め込まれます。

hash
方向 タイプ
入出力 ストリング

このフィールドには、ハッシュが左寄せにされて含まれます。 フィールドの残りの処理は、実装環境によって異なります。 FIRST キーワードまたは MIDDLE キーワードを指定する場合、このフィールドには中間ハッシュ値が含まれます。 ご使用のアプリケーションで、特定のメッセージに対する一連の FIRST、MIDDLE、および LAST 呼び出しの間に、 このフィールドに含まれるデータを変更してはなりません。

text_id_in
方向 タイプ
入力 整数

これは、CSNBOWH1 の場合に限り、 ハッシュの生成対象となるテキストが含まれているデータ・スペースの ALET です。

使用上の注意

ビット長テキストは、MD5、SHA-1 および SHA-256 では使用できますが、ハッシュ方式についてはサポートされていません。

CSF.CSFSERV.AUTH.CSFOWH.DISABLE SAF リソース・プロファイルが XFACILIT SAF リソース・クラスで定義されている場合は、 このサービスの使用時に CSFSERV クラスに対して SAF 許可検査は行われません。 CSF.CSFSERV.AUTH.CSFOWH.DISABLE が定義されていない場合は、SAF 許可検査が行われます。 SAF 検査を無効にすると、ご使用のアプリケーションのパフォーマンスが向上する可能性があります。

必須ハードウェア

次の表は、サーバー・タイプごとの必須暗号化ハードウェアをリストしたものです。 この表では、この呼び出し可能サービスに対する制限について説明します。

表 2. 片方向ハッシュ生成必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項
IBM eServer zSeries 990

IBM eServer zSeries 890

CP Assist for Cryptographic Functions

SHA-1 には CPACF が必要です。

キーワード SHA-224、SHA-256、SHA-384 および SHA-512 はサポートされていません。

IBM System z9 EC

IBM System z9 BC

CP Assist for Cryptographic Functions

キーワード SHA-384 および SHA-512 はサポートされていません

IBM System z10 EC

IBM System z10 BC

CP Assist for Cryptographic Functions  
IBM zEnterprise 196

IBM zEnterprise 114

CP Assist for Cryptographic Functions  
IBM zEnterprise EC12

IBM zEnterprise BC12

CP Assist for Cryptographic Functions  
IBM z13 CP Assist for Cryptographic Functions