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

Posted

技术标签:

【中文标题】有没有办法在 msp430 中进行多精度算术(整数大于 64 位)?【英文标题】:Is there any way of doing multiprecision arithmetic(with integers that are greater than 64-bit) in msp430? 【发布时间】:2016-12-28 03:47:51 【问题描述】: 我想知道是否有任何方法(如果可能的话,任何简单方法)在 MSP430 上对大于 64 位的整数进行算术运算

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

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

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

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

我几乎没有在 google 上看到任何将 msp430 与 gmp 交叉引用的东西,而且我正试图实现 a miserable 64-bit key sized RSA,这几乎没有用,如果有的话。所以我希望这篇文章及其答案能对某人有所帮助,也希望对我有所帮助。

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

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

谢谢大家。

【问题讨论】:

您是否尝试在此平台上构建 OpenSSL?加密库包含您需要的所有加密算法,并且可能比编写自己的实现更安全。 我确实看到了 OpenSSL,但不确定它是否会起作用,但在这一点上看起来更有希望,也更重要。非常感谢您提醒我。 【参考方案1】:

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

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

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

【讨论】:

以上是关于有没有办法在 msp430 中进行多精度算术(整数大于 64 位)?的主要内容,如果未能解决你的问题,请参考以下文章

用IAR仿真msp430f5438a出现问题,急待解决

msp430无工程时如何固化程序

proteus7.8有msp430的软件仿真吗

哪一个仿真软件支持msp430f149啊?推荐一个啊

MSP430单片机能用啥软件仿真?

MSP430单片机学习视频