Shimel
Professional
- Messages
- 109
- Reaction score
- 25
- Points
- 18
Прошу горячими котяхами не забрасывать.
Существуют 2а алгоритма генерации/верификации пина(известные мне): IBM 3624 и VISA PVV
Ну начнем с более распространенного и многим известного: VISA PVV
Начнем с расшифровки сокращений:
PAN11-двоичное представление последних 11 цифр номера карты(отсчитываются справа-налево, пропуская крайнюю слева цифру).
Например: номер карты: 1234 5678 9012 3456, то PAN11: 56789012345
PVKI-двоичное представление индекса, определяющего 3DES-ключ эмитета карты
PIN-ну тут все просто.
Появляется вопрос, зачем нам вся это абракадабра?
А все просто, для того, чтоб понять, что-такое TSP(Transformed Security Parameter) и с чем его едят.
TSP=PAN11+PVKI+PIN обычно TSP зашифрован алгоритмом DES, но встречались и более продвинутого типа:tripleDES
По индексу PVKI можно извлеч пару ключей, которые и формируют 3DES-ключ эмитета.
Расшифровываем первый ключ, зашифровываем(второй ключ и расифрованный первый) все шифрования/расшифрования происходят с помошью алгоритма DES(еще эти значения называют PGK).
Слева направо выписываются все десятичные значения(того, что у нас получилось после операций с шифрованием), а затем второй раз выписываются шестнадцатеричные значения(при этом, предварительно, от каждого значения, отнимаем 10). Эта процедура называется: децимилизация.
Значение PVV(или простым языком пина) равно четырем цифрам слева.
Фух, можно выдохнуть))
Перейдим ко второму алгоритму: IBM 3624
Берем номер карты(это и будет PAN)
Вычисляем значение 3DES ключа от PAN и PGK.
Применяем децимилизацию.
Должно получиться 16 десятичных цифр. По системе, выбираем 4 цифры, которые называются PIN natural
Ищим значение PIN Offset(хранится на магнитной полосе или у банка эмитета.
Значения PIN natural складываются со значением PIN offset
Из всего выше сказанного можно понять, что значение пина полностью определяется значением номера карты и велечиной PIN offset.
На этом мы закончим, скажем так: некоторые банки хранят кое-какие интересные данные на магнитных полосах.
ЗЫ: извиняюсь за орфографию, она мне очень тяжело дается)))
Спасибо за внимание.
Существуют 2а алгоритма генерации/верификации пина(известные мне): IBM 3624 и VISA PVV
Ну начнем с более распространенного и многим известного: VISA PVV
Начнем с расшифровки сокращений:
PAN11-двоичное представление последних 11 цифр номера карты(отсчитываются справа-налево, пропуская крайнюю слева цифру).
Например: номер карты: 1234 5678 9012 3456, то PAN11: 56789012345
PVKI-двоичное представление индекса, определяющего 3DES-ключ эмитета карты
PIN-ну тут все просто.
Появляется вопрос, зачем нам вся это абракадабра?
А все просто, для того, чтоб понять, что-такое TSP(Transformed Security Parameter) и с чем его едят.
TSP=PAN11+PVKI+PIN обычно TSP зашифрован алгоритмом DES, но встречались и более продвинутого типа:tripleDES
По индексу PVKI можно извлеч пару ключей, которые и формируют 3DES-ключ эмитета.
Расшифровываем первый ключ, зашифровываем(второй ключ и расифрованный первый) все шифрования/расшифрования происходят с помошью алгоритма DES(еще эти значения называют PGK).
Слева направо выписываются все десятичные значения(того, что у нас получилось после операций с шифрованием), а затем второй раз выписываются шестнадцатеричные значения(при этом, предварительно, от каждого значения, отнимаем 10). Эта процедура называется: децимилизация.
Значение PVV(или простым языком пина) равно четырем цифрам слева.
Фух, можно выдохнуть))
Перейдим ко второму алгоритму: IBM 3624
Берем номер карты(это и будет PAN)
Вычисляем значение 3DES ключа от PAN и PGK.
Применяем децимилизацию.
Должно получиться 16 десятичных цифр. По системе, выбираем 4 цифры, которые называются PIN natural
Ищим значение PIN Offset(хранится на магнитной полосе или у банка эмитета.
Значения PIN natural складываются со значением PIN offset
Из всего выше сказанного можно понять, что значение пина полностью определяется значением номера карты и велечиной PIN offset.
На этом мы закончим, скажем так: некоторые банки хранят кое-какие интересные данные на магнитных полосах.

ЗЫ: извиняюсь за орфографию, она мне очень тяжело дается)))
Спасибо за внимание.
Last edited: