German Banking Pool PIN 検査アルゴリズム

このアルゴリズムは、指定された検査データに基づいて、中間 PIN を生成します。 中間 PIN のパーツは、オフセット・データを追加することで調整されます。 結果の一部が抽出されます。 抽出された値は、ユーザー入力 PIN と比較する前に変更できる場合とできない場合があります。

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

図 1 は、GBP PIN 検査アルゴリズムを示しています。

図 1. GBP PIN 検査アルゴリズム
REQTEXT