gam*_*erx 8 c cryptography rotation bit-shift fpga
我在C中实现了一些涉及80位密钥的加密算法.特定操作涉及旋转移位键x位数.
我已经尝试过long double类型,如果我没有错,那就是80位,但这对于bitshift运算符不起作用.
我能想到的唯一选择是使用10元素char数组和一些复杂的循环和if-else.
我的问题是,是否有一些简单而有效的方法来实现这一目标.
谢谢.
Ben*_*Ben 4
遗憾的是你需要一个 bignum 库。虽然 C 本机数据类型支持 80 位浮点数,但它实际上并不能满足您的要求。
可以链接诸如GMP之类的东西,甚至可以使用不太理想的方法,例如 10 个字符数组或长和短的两个数字(64 位和 16 位整数)。
两者都不是特别漂亮,但它们确实有效,如果您打算将其用于除课程以外的其他用途,那么GMP是您的最佳选择。否则,你最终可能会遇到一团乱七八糟的定时攻击,你可以围绕这些攻击进行编码,但它可能会变得非常令人讨厌、非常快。
归档时间:
13 年,11 月 前
查看次数:
325 次
最近记录: