在msp430中有没有办法进行多精度算术(整数大于64位)?

Nae*_*Nae 7 c gcc gmp msp430 relic

  • 我想知道在MSP430上是否有任何方法,如果可能的话,用任何简单的方法对大于64位的整数进行算术运算

我之所以这么具体,是因为我正在尝试在msp430g2553平台上实现加密算法(RSA,AES,哈希函数,数字签名等).

我通过互联网搜索,并通过误导的绝望,我安装了Linux发行版,以便使用GMP,但失败了.我安装了Kali,然后安装一个USB(2.0)棒的Lubuntu ,只是因为无法忍受的冻结而受到影响,并且不知道它是否会起作用.后来尝试了VMBox的魔力,之后事情变得更容易了,虽然没有定论.我最终得到了一个点mps430-gcc和mspdebug,我可以调试一些示例代码,并看到它们工作,但仍然无法进行GMP操作,因为主要是库错误(未定义引用mpz_t init ...等) .

据我所知,GMP是一个用于特定处理器架构的多精度算术库,而MSP430不是其中之一,但是,在这一点上,如果它是其中之一,我不会感到惊讶.我得到的最佳答案是,一些TI员工对此并不熟悉.所以;

  • 是否可以在MSP430上使用GMP,或者更具体地说在msp430g2553上使用GMP?

我几乎没有在谷歌上看到任何与gmp交叉引用msp430的东西,而我正在努力实现一个可怜的64位密钥大小的RSA,如果有的话,几乎不能正常工作.所以我希望这篇文章及其答案可以帮助某些人,并希望以后能够帮助我.

我也忘了提到,我已经阅读了遗物工具包,(但是没有花时间尝试实施它,因为GMP看起来更像是该领域的标准),我想知道:

  • 是否有可以链接的假人遗物指南,如果可以在MSP430上使用它,可以再次使用吗?

感谢大家.

CL.*_*CL. 1

这些库中的任何一个都不太可能针对嵌入式 16 位体系结构进行编译。

MSP430 CPU 具有进位加法和类似指令,这就是编译器实现 32 位和 64 位整数的方式。因此,从理论上讲,可以通过大量(内联)汇编来自己编写这些算法。但我怀疑 G2553 是否有足够的内存来执行此操作。

(一些较大的 MSP430 具有 AES 硬件加速器,但没有一个用于 RSA,这是有原因的。)