Javacard Java卡PBKDF2的实现

Javacard Java卡PBKDF2的实现,javacard,Javacard,我试图在java卡上实现pbkdf2,但该卡不支持相同的功能。有人能帮忙吗。PBKDF2是一个关键的强化算法。尽管顶级智能卡处理器现在已经接近100 MHz(大约是我以前的MSX的33倍,这还不包括缓存、指令和计时方面的进步),但在智能卡上执行PBKDF2之类的功能不是一个好主意 PBKDF2的思想是在CPU周期和输入键控材料的安全性之间进行权衡。不幸的是,任何桌面处理器核心的性能都至少是智能卡处理器的50倍。因此,即使我们不考虑旁听,对手也会有至少50的优势。 相反,您可以使用具有重试计数的,

我试图在java卡上实现pbkdf2,但该卡不支持相同的功能。有人能帮忙吗。

PBKDF2是一个关键的强化算法。尽管顶级智能卡处理器现在已经接近100 MHz(大约是我以前的MSX的33倍,这还不包括缓存、指令和计时方面的进步),但在智能卡上执行PBKDF2之类的功能不是一个好主意

PBKDF2的思想是在CPU周期和输入键控材料的安全性之间进行权衡。不幸的是,任何桌面处理器核心的性能都至少是智能卡处理器的50倍。因此,即使我们不考虑旁听,对手也会有至少50的优势。
相反,您可以使用具有重试计数的,这限制了对手的尝试次数。

PBKDF2是一种密钥增强算法。尽管顶级智能卡处理器现在已经接近100 MHz(大约是我以前的MSX的33倍,这还不包括缓存、指令和计时方面的进步),但在智能卡上执行PBKDF2之类的功能不是一个好主意

PBKDF2的思想是在CPU周期和输入键控材料的安全性之间进行权衡。不幸的是,任何桌面处理器核心的性能都至少是智能卡处理器的50倍。因此,即使我们不考虑旁听,对手也会有至少50的优势。
相反,您可以使用具有重试计数的,这限制了对手的尝试次数。

除了我的答案之外,代码请求在Stackoverflow上是离题的。PBKDF2只需要HMAC,HMAC只需要一个安全哈希作为底层原语;PBKDF2的实现应该是完全可能的。除了我的答案,代码请求在Stackoverflow上是离题的。PBKDF2只需要HMAC,HMAC只需要一个安全哈希作为底层原语;PBKDF2的实现应该是完全可能的。如果你只是想要一个超时,你可以在一个循环中使用任何较慢的加密算法,但要注意,超时取决于CPU速度,CPU速度取决于传送到芯片的功率大小。您可能需要一些特定于CPU的配置和测试。当然,完全有可能在智能卡中实现PBKDF2,是的,您也可以在所有者密码中保护结果。如果您只想超时,您可以在循环中使用任何较慢的加密算法,但请注意,超时取决于CPU速度,而CPU速度取决于传输到芯片的电量。您可能需要一些特定于CPU的配置和测试。当然,在智能卡中实现PBKDF2是完全可能的,您也可以在OwnerPIN中保护结果。