2016-12-28 35 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)。

相關問題