Есть ли библиотека с открытым исходным кодом, реализующая DUKPT или ANSI X9.24

Мне поручено реализовать функциональность дешифрования для устройства с использованием протокола/схемы/алгоритма DUKPT.

Сам алгоритм шифрования - это просто DESEDe, с которым легко работать и имеет хорошую библиотечную поддержку (JCE, BouncyCastle).

Проблема заключается в части DUKPT. У меня есть базовый ключ деривации (общий секрет), серийный номер ключа и шифрованный текст, но я не могу понять, что делать дальше.

Насколько это возможно, я не хочу писать свою собственную реализацию, и я предпочел бы использовать хорошо протестированную библиотеку.

Есть ли такая вещь?

Примечание: DUKPT = Производный уникальный ключ для транзакции

Ответ 1

Я не знаю точно, как работает DUKPT, но используя отличный Thales Simulator Project, я взял код DUKPT и портировал его на Java-библиотека, мой собственный проект crypto-utils.

Отказ от ответственности: Это упражнение для меня и является НЕ производственным кодом. Это может помочь

Ответ 2

Чтобы реализовать безопасность только с использованием симметричных ключей, требуется HSM - не по соображениям производительности, а потому, что в программном обеспечении нет возможности безопасно хранить ключ. Таким образом, вы не найдете многого с точки зрения хорошо поддерживаемого программного обеспечения, которое реализует DUKPT, поскольку оно не имеет практического применения.