題:
輕量級加密庫以驗證簽名
user220201
2015-07-30 01:40:24 UTC
view on stackexchange narkive permalink

有沒有可以在嵌入式系統或其他受內存限制的地方(例如引導ROM)中使用的開源密碼庫?我正在尋找僅能編譯所需算法的庫,而將其餘的排除在外。可以說出包括在啟動ROM中在內的加密實現的標準過程是什麼?

我正在專門尋找這些實現,以便可以驗證簽名的二進製文件

  • RSA ,
  • DSA或
  • ECDSA
另請參閱[是否有輕量級庫可以為嵌入式應用程序執行RSA-2048加密?](http://softwarerecs.stackexchange.com/questions/20560/is-there-a-lightweight-library-that-c​​an- perform-rsa-2048-encryption-for-embed)(我沒有作為重複內容關閉,因為要求不完全相同,並且每個問題都接受了不適合另一個問題的答案)
三 答案:
#1
+2
Steve Barnes
2015-07-30 11:05:10 UTC
view on stackexchange narkive permalink

您可以從此處下載OpenSSL libcrypto的源代碼,並使用-具有適當的屬性-啟動ROM中所需的部分。

受支持的算法,(根據 Wikipedea

  • 密碼
    • AES,河豚,山茶,SEED,CAST-128,DES, IDEA,RC2,RC4,RC5,三重DES,GOST 28147-89
  • 加密哈希函數
    • MD5,MD4,MD2,SHA-1,SHA -2,RIPEMD-160,MDC-2,GOST R 34.11-94
  • 公鑰加密
    • RSA DSA ,Diffie-Hellman密鑰交換,橢圓曲線,GOST R 34.10-2001

它已獲得Apache / BSD許可,因此您可以在其他產品中使用它,但請注意某些國家/地區的密碼/加密技術出口限制。

人們通常會這樣做嗎?我希望會有專門的RSA或EC庫。
這取決於項目的性質和預算等,如果您正在執行“開源”,則幾乎總是在預算高的商業項目中使用VxWorks或QNX之類的東西,那麼它們中就有可用的庫。
#2
+1
TMSZ
2015-07-31 00:12:27 UTC
view on stackexchange narkive permalink

Easy-ecc為我工作,就簡單性而言,它比其他一切都快兩個數量級。

https://github.com/esxgx/easy-ecc

我的第二個選擇是libtomcrypt(+ libtommath),儘管上次嘗試使用它時,我無法在32位DSP上將它迅速切成小於100 kB的二進製文件,所以可能對於引導程序不可行。

#3
+1
Gilles 'SO- stop being evil'
2015-07-31 01:46:20 UTC
view on stackexchange narkive permalink

我會臨時建議 mbed TLS,以前稱為PolarSSL。暫時嘗試一下,因為我從未在嵌入式項目中實際使用過它。

它由ARM維護,並且設計為非常適合低端平台。源代碼相當乾淨,可移植C。您可以輕鬆選擇感興趣的源文件,而忽略其余文件。支持RSA和ECDSA,但不支持傳統DSA。 -GPL開源代碼。還可以付費使用允許進行閉源分發的許可證。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...