Java 卡用于 运行 加密协议

Java card for running cryptographic protocol

我的问题是关于 AT90SC25672RCT 芯片上 JavaCard 智能卡的性能。 问题是我想使用 JavaCard 开发与密码学相关的项目用于教育目的。

现在是购买智能卡的时候了,所以我想知道带有这种芯片的卡是否能满足我的需求。问题是我决定使用一些 cryptographic protocol ,这将需要在桌面和智能卡端进行一些计算。

所以我的问题是针对现在拥有 JavaCard 的人,他们可以告诉我是否可以 运行 随机生成器并在合理的时间内计算几个哈希值,或者我应该使用一些协议需要更少的计算?

也欢迎推荐设备或最低要求。

遗憾的是我不知道哪个智能卡里面有那个特定的芯片,但是现在的智能卡真的很强大。它们不仅具有生成随机数和哈希值的能力,而且还可以进行一些密码学功能和签名的生成和验证,如RSA、3DES、AES等。

幸运的是,您可以看到大量智能卡支持的算法列表here.

如前所述,智能卡一般都有协处理器。 DES 和 AES 系列算法的对称算法和 RSA 和椭圆曲线的非对称算法。

我不知道你认为合理的时间是多少,但生成签名从来都不是问题(远低于一秒),而在卡上生成 4096 位 RSA 密钥对可能需要几分钟。

典型的瓶颈是 I/O 接口,很大程度上取决于手头的卡和 reader(除其他外,还取决于外部时钟)。这就是为什么没有人会向卡发送兆字节的文档,只是为了计算哈希值,而是在外部进行哈希值。在加密协议中散列的小随机数当然没有问题。 I/O 方面的卡片也变得越来越快,但经过验证的方法将保留一段时间。