German Banking Pool PIN 検査アルゴリズム
このアルゴリズムは、指定された検査データに基づいて、中間 PIN を生成します。 中間 PIN のパーツは、オフセット・データを追加することで調整されます。 結果の一部が抽出されます。 抽出された値は、ユーザー入力 PIN と比較する前に変更できる場合とできない場合があります。
このアルゴリズムには、以下の入力パラメーターが必要です。
- 64 ビット検証データ
- 64 ビット 10 進法化テーブル
- 128 ビット PIN 検査鍵
- オフセット・データ
- ユーザー入力 PIN
オフセット・データの右端 4 桁は PIN オフセットを形成します。
- 検証データは、PIN 検査鍵を使用して暗号化されます。 暗号化された検証データの各桁は、10 進法化テーブル内の数字によって置き換えられます。このテーブルの左端桁から置き換えられたものは、暗号化された検証データの桁の値と同じです。
- 結果の左端 6 桁は、オフセット・データに加算 (モジュロ 10) されます。 モジュロ 10 加算は、桁下がりは無視します。
- 加算 (モジュロ 10) の結果の右端 4 桁が取り出されます。
- 取り出された値の左端桁が、ゼロであるかどうか検査されます。 その桁がゼロである場合、1 に設定されます。ゼロでない場合、その桁は変更されません。 結果の 4 桁は、ユーザー入力 PIN と比較されます。 それらが一致すれば、PIN 検査は成功です。一致しない場合、検査は失敗です。
図 1 は、GBP PIN 検査アルゴリズムを示しています。
図 1. GBP PIN 検査アルゴリズム![REQTEXT](csfb5005.gif)
![REQTEXT](csfb5005.gif)