German Banking Pool PIN Generation algorithm
This algorithm generates a 4-digit PIN based on account-related data or person-related data, namely the validation data.
- A 64-bit validation data
- A 64-bit decimalization table
- A 128-bit PIN-generation key
The validation data is enciphered using the PIN generation key. Each digit of the enciphered validation data is replaced by the digit in the decimalization table whose displacement from the leftmost digit of the table is the same as the value of the digit of enciphered validation data. The result is an intermediate PIN. The rightmost 4 digits of the leftmost 6 digits of the intermediate PIN are extracted. The leftmost digit of the extracted 4 digits is checked for zero. If the digit is zero, the digit is changed to one; otherwise, the digit remains unchanged. The resulting four digits is the generated PIN.
Figure 1 illustrates the German Banking Pool (GBP) PIN generation algorithm.
