В криптографии значение контрольной суммы ключа ( KCV) — это контрольная сумма криптографического ключа . [1] Он используется для проверки целостности ключа или сравнения ключей без знания их фактических значений. KCV вычисляется путем шифрования блока байтов, каждый со значением «00» или «01», с помощью криптографического ключа и сохранения первых 6 шестнадцатеричных символов зашифрованного результата. Он используется для управления ключами в различных устройствах шифрования, таких как SIM-карты или аппаратные модули безопасности (HSM) .
В технических спецификациях GlobalPlatform KCV определен для ключей DES/3DES и AES следующим образом: [2]
Для ключа DES значение проверки ключа вычисляется путем шифрования 8 байтов, каждый со значением «00», с использованием проверяемого ключа и сохранением 3 байтов высшего порядка зашифрованного результата. Для ключа AES значение проверки ключа вычисляется путем шифрования 16 байтов, каждый со значением «01», с использованием проверяемого ключа и сохранением 3 байтов высшего порядка зашифрованного результата.
То же определение использует GSMA . [3]
В индустрии платежных карт используется следующее определение, как указано в требовании 15-1 стандарта безопасности PIN-кода PCI . [4] Те же определения можно также найти в стандартах ASC X9 в соответствии с ANSI x9.24-1-2017 Управление симметричными ключами для розничных финансовых услуг, часть 1 [5]
Проверочные значения могут быть рассчитаны двумя методами. TDEA может использовать любой метод. AES должен использовать только метод CMAC . В первом методе контрольные значения вычисляются путем шифрования блока, состоящего из двоичных нулей, с использованием ключа или компонента в качестве ключа шифрования с использованием крайних левых n битов результата; где n не превышает 24 бит (6 шестнадцатеричных цифр/3 байта). Во втором методе KCV рассчитывается путем MAC-анализа блока, состоящего из всех двоичных нулей, с использованием алгоритма CMAC , как указано в ISO 9797-1 (см. также NIST SP 800-38B). Проверочным значением будут самые левые n бит результата, где n не превышает 40 бит (10 шестнадцатеричных цифр). Блочный шифр, используемый в функции CMAC, такой же, как и блочный шифр самого ключа. Ключ TDEA или компонент ключа TDEA будет иметь MAC-код с использованием блочного шифра TDEA , а 128-битный ключ или компонент AES будет иметь MAC-код с использованием блочного шифра AES -128 .