为了好玩,我正在为 DCPU-16(游戏 0x10c 的虚构 CPU)编写汇编流密码。该处理器只有 16 位寄存器,运行频率为 100 Khz。然而,就目前而言,内存访问和乘法和除法之类的东西非常快(使用两个间接内存访问的DIV
只需要 5 个周期)。
有了这些限制,我最好的选择是什么?我正在考虑RC4,但是我担心使用我的代码的其他人将无法正确使用它,并且我们可能会遇到另一场WEP灾难。我觉得我需要做一些比 RC4 更复杂的事情来保护其他程序员免受自己的伤害,但我担心使用幻数或预计算表的算法,这些算法期望 8 位字节作为最小单位而不是 16 位字。
"但是我担心使用我的代码的其他人将无法正确使用它,我们可能会遇到另一场WEP灾难"
任何密码都是如此 - RC4 应该可以正常工作。
您可能还想查看 eStream 密码。 特别是,Grain 声称是"为受限的硬件环境设计的"。 不过,我没有这方面的经验,所以我不知道在软件中实现它有多容易。