我之所以问这个问题是因为我正在尝试在 msp430g2553 平台上实现加密算法(RSA,AES,哈希函数,数字签名等)。
我通过互联网进行搜索,并由于误入歧途的绝望而安装了Linux发行版,以便使用GMP,但失败了。我安装了Kali,然后在USB(2.0)内存棒上安装了Lubuntu,只是遭受了难以忍受的卡住之苦,无法知道它是否有效。后来尝试了VMBox的魔力,此后事情变得更加轻松,尽管尚无定论。我最终使用mps430-gcc和mspdebug达到目的,可以调试一些示例代码,并查看它们的工作原理,但由于大部分库错误(对mpz_t init的 undefined reference 等),仍然无法执行GMP操作。 。
据我了解,GMP是一个可以在特定处理器体系结构上工作的多精度算术库,而MSP430并不是其中一种,尽管在这一点上,如果它是其中的一种,我也不会感到惊讶。我得到的最佳答案是,一些TI员工不熟悉它。所以;
msp430g2553?
我几乎没有在Google上看到任何与gmp交叉引用msp430的东西,而且我指的是要实现的a miserable 64-bit key sized RSA几乎无法工作(如果有的话)。因此,我希望这篇文章及其答案能对以后的人有所帮助,并希望对我也有所帮助。
我也忘了提一下,我已经阅读了有关遗物工具包的信息,(但是我并没有花时间尝试实现它,因为GMP看起来更像那个领域的标准),我想知道:
感谢大家。
最佳答案
这些库中的任何一个都不太可能针对嵌入式16位体系结构进行编译。
MSP430 CPU具有“带进位”和类似的指令,这就是编译器实现32位和64位整数的方式。
因此,从理论上讲,可以自己编写带有很多(内联)汇编的这些算法。
但是我怀疑G2553是否有足够的存储空间。
(有一个原因,一些较大的MSP430具有AES硬件加速器,而没有一个用于RSA的加速器。)
关于c - 有什么方法可以在msp430中执行多精度算术(整数大于64位)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41355079/