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

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

我在互联网上进行了搜索,出于被误导的绝望,我安装了 linux 发行版以使用GMP,但惨遭失败。我在USB(2.0) 记忆棒上安装了 Kali 和后来的 Lubuntu ,结果却遭受了无法忍受的冻结,不知道它是否可以工作。后来尝试了 VMBox 的魔力,之后事情变得更容易了,尽管还没有定论。我最终使用 mps430-gcc 和 mspdebug 来调试一些示例代码,并看到它们工作,但由于主要是库错误(对 mpz_t init 的未定义引用等),仍然无法进行 GMP 操作。 .

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

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

我几乎没有在 google 上看到任何有 msp430 与 gmp 交叉引用的东西,而且我正试图实现一个可怜的 64 位密钥大小的 RSA,如果有的话,它几乎不能工作。所以我希望这篇文章及其答案对某人有所帮助,也希望在以后对我有所帮助。

另外我忘了提一下,我读过 relic toolkit,(但没有花时间尝试实现它,因为 GMP 看起来更像该领域的标准),我想知道:

  • 是否有可以链接的假人遗物指南,以及是否可以在 MSP430 上使用它?

谢谢大家。

4

1 回答 1

1

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

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

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

于 2016-12-28T07:36:49.097 回答