0

我们需要执行一些加密操作,我想知道哪些加密库可以满足我的需要。

以下是上下文:

鉴于我们有以下事实:

  • 存储在HSM中的 EC 私钥
  • EC公钥(公共点)
  • 加密的 AES 密钥
  • 使用 EC 公钥 ECDH 计算的 MAC

我们需要执行以下操作:

  • 使用EC 私钥和 EC 公钥中的 ECKA-DH 算法计算共享点(K~X~,K~Y~)。(见 BSI TR 03111)
  • 使用带有 SHA-256 的 KDF2(x, l)导出K~ENC~ 和 K~MAC~。K~ENC~ 是输出的前 8 个字节。K~MAC~ 是输出的最后 8 个字节。(见 ISO/IEC 18033-2)
  • 针对 MAC ==> MAC = AES-CMAC(加密的 AES 密钥 || ValueA || ValueB,K~MAC~)验证加密的 AES 密钥上的 MAC。
  • 解密加密的 AES 密钥 ==> AES 密钥 = AES-CBC(加密的 AES 密钥,K~ENC~)。

基于私钥存储在 HSM 中的事实,哪些加密库将帮助计算共享点?

Bouncy Castle 可以与 IAIK PKCS#11 包装器一起使用吗?

IAIK-JCE 可以帮助 IAIK 的商业产品吗?

谢谢您的帮助。

此致。

4

1 回答 1

0

由于您使用的是 HSM(您的椭圆曲线私有存储在 HSM 上),您可以使用来自 hsm 供应商的 API 来执行您的加密操作。例如:在 Safenet HSM 的情况下,Gemalto 在 Java 中提供了类似 JSP 和 JCProv API 的 crystoki 库来执行您所说的所有操作。

于 2019-04-10T13:53:36.097 回答