2

我试图弄清楚 javacard 派生函数是如何工作的,我必须承认我对如何设置函数感到迷茫。

我认为 DerivationFunction 可用于派生密钥,并且使用 ALG_KDF_HKDF 我可以指定所需的基于 HMAC 的密钥派生。但是,我不明白我如何设置秘密和盐。KDFHmacSpec 接口仅指定 getter。它没有指定如何设置这些值。到目前为止,我无法弄清楚如何设置这些。

我想用它来生成 XOR 密钥(最好指定长度),基于一个秘密和一些随机的公共值。

这适用于 javacard 3+。

4

1 回答 1

0

我能想到的一件事是它确实是一个interface. 您可以在自己定义的类中实现的接口。

这样做的缺点是您可能必须将诸如盐之类的数组(在密钥派生函数中没有太多使用)复制到瞬态内存数组中。

优点是,如果不需要更改其他密钥派生参数,它们可以简单地成为类定义的一部分。

我建议你为你的 HKDF 函数创建一个单一的、可重用的、可变的类。

于 2020-04-24T12:15:33.790 回答