C 在智能卡上

C on smartcards

我的任务是用 C 编写一些加密的东西并使其轻量级。使其轻量级背后的想法是,它可以 运行 在不提供太多计算能力和内存的智能卡上。它实际上不会 运行 将其写入智能卡,也不会用于任何实际用途。

但是,我很好奇我是否可以 运行 智能卡上的程序而不进行重大调整。我知道我可能必须更改 IO 部分中的某些内容,但让我们把它放在一边。 "smartcard" 我的意思是普通智能卡,大多数个人都可以买得起,而不是一些花哨的东西。

进一步限制问题: 如果我在我的程序中只使用 8 位整数并且体系结构 >= 8 位,并且保持在内存限制以下,我可以 运行 不修改程序吗? 如果没有,为什么不呢?

由于 CPU 能力有限,SC 大多拥有自己的 security/encryption 硬件和 OS。例如,后者控制对界面和密钥存储等关键功能的访问。此外,其中一些具有针对典型攻击场景的对策,例如差分密码分析等

有可用的标准,但选择哪种取决于实际使用的卡。市场上有各种具有不同功能和需求的 SC。

您的程序不太可能 运行 不进行重大修改。

请注意,大部分规格仅在 NDA 下可用,并且可能需要您提供额外保证。实际级别取决于能力和卡供应商。