Я только что обнаружил, что открытые ключи Visa имеют нечетную длину, например 1408 бит. С другой стороны, большинство криптовальных библиотек (OpenSSL, Bouncy Castle, MS crypto API, Java Card) требуют фиксированной длины ключей, например 1024 или 2048. Я вижу, что теоретически RSA-ключ может иметь любую длину, но я не понимаю: 1) почему виза использует странную длину ключа 2) какая из вышеуказанных библиотек будет работать с ключами 1408 бит Спасибо!Visa RSA keys length
1
A
ответ
2
Ключ 1408 является частью инфраструктуры открытого ключа Visa EMV. Он в основном используется со смарт-картами (чипами на карте). Размер ключа был выбран из-за способности карты обрабатывать его (через встроенный ускоритель RSA). На самом деле есть расписание ключей. Срок действия ключа 1408 истекает 31 декабря 2022 года. Ключ 1024 уже истек.
Согласно emvco.com faq, они не используют x.509, а алгоритм цифровой подписи ISO/IEC 9796-2. У Bouncy Castle есть подписчик 9796-2 (org.bouncycastle.crypto.signers.ISO9796d2PSSSigner). Контакт с картой имеет lib и tutorial
Hi, Большое спасибо за ваш ответ. Не могли бы вы объяснить, работает ли криптография RSA (проверка подписи) с помощью 1408-битных ключей на большинстве криптовальных библиотек. Я вижу, что ISO 9796 позволяет вставлять часть данных в подпись, но модуль по-прежнему составляет 1408 бит, поэтому я не уверен, что это сработает. Я думаю, что либо у меня что-то отсутствует (т. Е. Часть модуля содержит подпись), либо я должен попробовать. – user2593018