Красная шапочка Inc.
Меня тянет поделиться с миром информацией о том, что пин код пластиковой карты генерируется криптографически из ее номера.
Сначала номер счета клиента дополняется нулями или другой константой до 16 шестнадцатеричных цифр (то есть, 8 байт). Затем получившиеся 8 байт шифруются по алгоритму DES с использованием секретного ключа. Из полученного шифртекста длиной 8 байт поочередно выделяют 4-битовые блоки, начиная с младшего байта. Если число, образуемое этими битами, меньше 10, то полученная цифра включается в PIN, иначе это значение не используется. Таким путем обрабатывают все 64 бита (8 байт). Если в результате обработки не удалось получить сразу требуемое количество десятичных цифр, то обращаются к неиспользованным 4-битовым блокам, из которых вычитают 10.
Все предельно просто.
Ненавижу алгоритм DES, он у меня никогда правильно с первого раза не получается...
Сначала номер счета клиента дополняется нулями или другой константой до 16 шестнадцатеричных цифр (то есть, 8 байт). Затем получившиеся 8 байт шифруются по алгоритму DES с использованием секретного ключа. Из полученного шифртекста длиной 8 байт поочередно выделяют 4-битовые блоки, начиная с младшего байта. Если число, образуемое этими битами, меньше 10, то полученная цифра включается в PIN, иначе это значение не используется. Таким путем обрабатывают все 64 бита (8 байт). Если в результате обработки не удалось получить сразу требуемое количество десятичных цифр, то обращаются к неиспользованным 4-битовым блокам, из которых вычитают 10.
Все предельно просто.
Ненавижу алгоритм DES, он у меня никогда правильно с первого раза не получается...