2016-12-28 47 views
7
  • 我想知道是否有任何方法,如果可能的话,任何简单的方法,在MSP430上做大小大于64位的整数的算术运算

我专门问这个,因为我想一个msp430g2553平台上实现加密算法(RSA,AES,散列函数,数字签名等)。在msp430中有没有什么办法可以做到多精度算术(整数大于64位)?

我通过互联网搜索,并通过一个错误的绝望我安装Linux发行版,以便使用GMP但失败惨败。我安装了Kali,后来Lubuntu 上有一个USB(2.0)的接口,只能忍受无法忍受的死机,并且不知道它是否工作。后来尝试了VMBox的魔力,然后事情变得更加容易,虽然没有结果。我最终得到了mps430-gcc和mspdebug,我可以调试一些示例代码,并看到它们可以工作,但由于大多数库错误(未定义的引用mpz_t init等等)仍然无法执行GMP操作。 。

据我了解,GMP是一种多精度算法库,可用于特定的处理器架构,而MSP430不是其中之一,尽管如此,如果它是其中之一,我不会感到惊讶。我得到的最佳答案是TI的一些员工是与此不熟悉的。所以;

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

我几乎没有看到谷歌任何有MSP430的符合GMP交叉引用,和我在我试图实现a miserable 64-bit key sized RSA多数民众赞成几乎没有工作,如果在所有点。所以我希望这篇文章,以及其答案对某人有帮助,并希望稍后对我也有帮助。

另外我忘了提及,我已经阅读了关于遗迹工具箱的内容(但没有花费时间试图实现它,因为GMP看起来更像是该领域的标准),并且我想知道:

  • 有没有可以链接的虚拟文档指南,以及是否可以在MSP430上使用它?

谢谢大家。

+2

你有没有试图建立OpenSSL的这个平台上?加密库拥有您需要的所有加密算法,并且可能比编写您自己的实现更安全。 – dbush

+0

我确实看到OpenSSL,但并不确定它是否可行,但在这一点上看起来更有希望,也更重要。非常感谢提醒我。 – Nae

回答

2

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

MSP430 CPU具有随附加进位和类似的指令,编译器如何实现32位和64位整数。 因此理论上可以自己编写这些算法,并使用很多(内联)程序集。 但我怀疑G2553有足够的内存。

(是有原因的,一些较大的MSP430s有AES硬件加速器,并且没有有一个RSA)。

相关问题