我正在C中实现一些加密算法,其中涉及一个80位 key 。
特定的操作涉及旋转移位键x位数。

我已经尝试了long double类型,如果我没记错的话,它是80bits,但这不适用于bitshift运算符。

我唯一能想到的选择是使用带有一些复杂循环和if-else的10元素char数组。

我的问题是是否有一些简单有效的方法来执行此操作。

谢谢。

最佳答案

这里有些困惑。如果我对您的理解正确,则说明您在FPGA上使用的是“软” CPU。

  • 传统上,人们使用FPGA通过VHDL/Verilog来制作自己的移位寄存器。这类算法实现起来非常轻松,而且速度非常快。回到大学时,我是为密码学项目做的。
  • 此外,您提到的论文还讨论了128位 key 。这样会更容易实现吗?
  • 关于c - 在C中处理80位数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9849764/

    10-08 21:14