Для генерации безопасных комбинаций банковских карт и обеспечения их защиты используются различные алгоритмы, например:
- Алгоритм криптографической чек-суммы (MDK MAC). xakep.ru С его помощью рассчитывается код верификации (CVV, CVC, CID), который написан на обратной стороне карты. xakep.ru Для этого используется 128-битный ключ от информации, записанной на магнитной полосе. xakep.ru
- Криптография с открытым ключом по протоколу RSA. xakep.ru Этот метод применяется для аутентификации карты, чтобы платёжный терминал мог проверить, что карта подлинная и действительно выпущена определённым банком. xakep.ru
- Симметричный алгоритм шифрования. cyberleninka.ru С его помощью вычисляется дополнительный PIN-код (ПИН2). cyberleninka.ru Он представляет собой последовательность из 16 шестнадцатеричных цифр и известен только владельцу карты и её эмитенту. cyberleninka.ru
- Хэш-функции. security.stackexchange.com cyberleninka.ru Их применяют к номеру карты, сумме и дате транзакции, а также к случайному числу, которое генерирует платёжный терминал. cyberleninka.ru
Использование вычисляемого кода верификации вместо случайного помогает защитить карту от атак, когда злоумышленник подменяет сервисный код. xakep.ru