Нам нужно выполнить некоторые криптографические операции, и я хочу знать, какие криптографические библиотеки могут удовлетворить мои потребности.
Следующий контекст:
Учитывая тот факт, что у нас есть:
- Закрытый ключ EC, хранящийся в HSM
- Открытый ключ EC (публичная точка)
- Зашифрованный ключ AES
- MAC рассчитан с открытым ключом EC ECDH
Нам нужно выполнить следующее:
- Рассчитать a общую точку (K ~ X ~, K ~ Y ~) с использованием алгоритма ECKA-DH из закрытых ключей EC и открытых ключей EC. (См. BSI TR 03111)
- Получите K ~ ENC ~ и K ~ MAC ~, используя KDF2 (x, l) с SHA-256. K ~ ENC ~ - первые 8 байтов вывода. K ~ MAC ~ - это последние 8 байтов вывода. (См. ИСО / МЭК 18033-2)
- Проверьте MAC по зашифрованному ключу AES с MAC ==> MAC = AES-CMAC (Зашифрованный ключ AES || ValueA || ValueB, K ~ MAC ~).
- Расшифровать зашифрованный ключ AES ==> Ключ AES = AES-CBC (зашифрованный ключ AES, K ~ ENC ~).
Какие криптографические библиотеки помогут рассчитать общую точку на основе
тот факт, что закрытый ключ хранится в HSM?
Можно ли использовать Bouncy Castle совместно с оберткой IAIK PKCS # 11?
Может ли IAIK-JCE коммерческий продукт IAIK помочь в этом?
Спасибо за вашу помощь.
С уважением.