Получение ключа Javacard (hmac) с использованием javacardx.security.derivation
Я пытаюсь выяснить, как работают функции деривации javacard, и должен признать, что я не понимаю, как настроить эти функции.
Я решил, что DerivationFunction можно использовать для получения ключа, а с помощью ALG_KDF_HKDF я мог указать желаемое получение ключа на основе HMAC. Однако я не понимаю, как мне установить секрет и соль. Интерфейс KDFHmacSpec определяет только геттеры. Он не указывает, как устанавливать значения. Пока я не могу понять, как мне их установить.
Я хочу использовать его для генерации ключа XOR (желательно указанной длины) на основе секрета и некоторого случайного общедоступного значения.
Это для javacard 3+.
1 ответ
Единственное, что я могу придумать, это то, что это действительно interface
. Интерфейсы, которые вы можете реализовать в классе, который вы определяете сами.
Это имеет недостаток, заключающийся в том, что вам, возможно, придется копировать массивы, такие как соль (которая не так часто используется для функций вывода ключей), в временный массив памяти.
Преимущество состоит в том, что другие ключевые параметры деривации могут быть просто частью определения класса, если их не нужно изменять.
Я бы посоветовал вам создать один, многократно используемый, изменяемый класс для вашей функции HKDF.