鍵ハッシュ処理モードの選択

鍵に関連した制御ベクトルを変更するには、制御ベクトル変換呼び出し可能サービスを使用します。 規則配列キーワードは、呼び出しで処理される鍵半分を決定します。これについては、図 1 で示しています。
図 1. 制御ベクトル変換呼び出し可能サービス. この図では、CHANGE-CV は、要求された制御ベクトル変換の変更を意味します。LEFT および RIGHT は、鍵の左半分と右半分およびその制御ベクトルを意味します。
キーワード
意味
SINGLE
このキーワードにより、ソース鍵の左半分の制御ベクトルが変更されます。 更新された鍵の半分は、ターゲット鍵トークンのターゲット鍵の左半分に入れられます。 ターゲット鍵の右半分は変更されません。

キーワード SINGLE は、単一長の鍵を処理したり、倍長の鍵の左半分を最初に処理したりする (右半分の処理がそれに続く) ときに役立ちます。

RIGHT
このキーワードにより、ソース鍵の右半分の制御ベクトルが変更されます。 更新された鍵の半分は、ターゲット鍵トークンのターゲット鍵の右半分に入れられます。 ソース鍵の左半分は、ターゲット鍵トークンのターゲット鍵の左半分に、未変更のままコピーされます。
BOTH
このキーワードにより、ソース鍵の両方の半分の制御ベクトルが変更されます。 更新された鍵は、ターゲット鍵トークンのターゲット鍵に入れられます。

単一セットの制御情報は、各鍵の半分に適用される制御ベクトル変更を許可する必要があります。 通常、制御ベクトルのビット位置 41、42、105、および 106 は、鍵の半分ごとに異なります。 したがって、マスク配列要素 B1、B2、および B3 内で、ビット 41 と 42 を B'00' に設定します。

ソースおよびターゲットの鍵トークンに制御ベクトルがあることは、ビット位置 40 から 42、および 104 から 106 の「フォーム・フィールド」ビットにある対応するビットで検査できます。 マスク配列 B4 のビット 40 から 42 が B'111' に設定されていることを確認します。

LEFT
このキーワードにより、単一長の鍵を提供し、倍長の鍵を入手できます。 ソース鍵トークンには、以下が含まれている必要があります。
  • KEK で暗号化された単一長の鍵
  • 単一長の鍵の制御ベクトル (多くの場合、これはヌル値です)。
  • 制御ベクトル (通常は右半分の制御ベクトルが格納されるソース・トークン内に格納される) は、鍵がターゲットの右半分について処理されるときに、単一長のソース鍵を復号するために使用されます。

このサービスは、SINGLE キーワードと同様に、最初にソースとターゲットのトークンを処理します。 次にソース・トークンは、単一長の暗号化鍵およびソース・トークンの右半分の制御ベクトルを使用して処理され、実際の鍵値を取得します。 次にこの鍵値は、ターゲット・トークン内で、鍵の右半分に対して、KEK および制御ベクトルを使用して暗号化されます。

この方式は、単一長の鍵のみをサポートするシステムから倍長の CCA 鍵を入手する必要がある場合によく使用されます。これは例えば、非 CCA システムから受け取った PIN 鍵または鍵暗号鍵を処理する場合などです。

サービスが各鍵バイトに奇数パリティーがあることを確認しないようにするために、NOADJUST キーワードを指定することができます。 NOADJUST キーワードを指定しない場合、または ADJUST キーワードを使用する場合、ターゲット鍵の各バイトに奇数パリティーがあることがサービスにより確認されます。