Какие криптографические библиотеки помогут вычислить общую точку и получить ключи? - PullRequest
0 голосов
/ 07 марта 2019

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

Следующий контекст:

Учитывая тот факт, что у нас есть:

  • Закрытый ключ 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 помочь в этом?

Спасибо за вашу помощь.

С уважением.

1 Ответ

0 голосов
/ 10 апреля 2019

Поскольку вы используете HSM (ваша личная эллиптическая кривая хранится в HSM), вы можете использовать API от поставщиков hsm для выполнения своих криптографических операций. Например: в случае Safenet HSM Gemalto предоставляет библиотеку crystoki, такую ​​как JSP и JCProv API в java, для выполнения всех указанных вами операций.

...