哪些加密库将有助于计算共享点并导出密钥?

时间:2019-03-07 11:06:06

标签: ecdsa hsm ecdh

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

以下是上下文:

鉴于我们拥有以下事实:

  • 存储在 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〜)验证MAC上已加密的AES密钥。
  • 解密加密的AES密钥==> AES密钥= AES-CBC (加密的AES密钥,K〜ENC〜)。
  

哪些加密方法可以帮助计算基于的共享点   私钥存储在HSM中的事实?

     

充气城堡可以与IAIK PKCS#11包装器一起使用吗?

     

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

谢谢您的帮助。

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

由于您使用的是HSM(您的椭圆曲线专用存储在HSM上),因此可以使用hsm供应商提供的API来执行加密操作。例如:对于Safenet HSM,金雅拓在Java中提供了JSP和JCProv API之类的crystoki库,以执行您所述的所有操作。