原來專案要用到RSA加密,我沒有了解過就去學,后來發現很專業,本來想自己寫的但沒時間和經歷,在網上找了下也沒有合適的原始碼,最后差點打算外掛加密芯片。有幸論壇中有大神回復說他的RSA加密解密速度挺快,我問他原始碼哪搞的,他說從openssl。于是大概了解了下openssl,整個協議很大,雖然我也找到了相關的原始碼,但是目前暫時不能完整提取出來自用,因為不太了解整個openssl框架,此外openssl好像應用在基于OS的平臺比較多,像我這種奇葩需求有人做過嗎?
我對RSA演算法主要有兩個需求,一個需求是全功能的,包括公密鑰的生成和資料傳輸的加密(用于LPC芯片系列,主頻100M);
另外一個是用于身份驗證,只需要對資料進行加解密(用于16位單片機,主頻32M)。
uj5u.com熱心網友回復:
曾經這樣用過,只用了加解密的函式.uj5u.com熱心網友回復:
請問第二個功能實作了嗎? RSA原始碼能直接移植到單片機嗎uj5u.com熱心網友回復:
能把演算法移植,不難。uj5u.com熱心網友回復:
在16位單片機,32M主頻上運行RSA1024,不借助協處理器的話,運算時間可能會無法接受。平均秘鑰對生成時間可能會到15秒以上;
加密可能會比較快,估計128位元組的資料,加密時間會在1-3秒;
解密時間也會相當慢,時間也在10秒級。
如果非要用到非對稱演算法,建議用ECC
uj5u.com熱心網友回復:
這個很有實際,關注中,目前我在做門鎖,需要用到這一演算法。uj5u.com熱心網友回復:
門鎖沒有必要使用RSA吧
uj5u.com熱心網友回復:
您好,我現在也要在stm32中用到rsa加解密演算法,不知道您是否有這方面的原始碼嗎,我看了openssl也是很畝訓,提取太復雜了,如果有的話,,能不能發我郵箱,感激 [email protected]uj5u.com熱心網友回復:
用 SOC 型別的密碼芯片(安全芯片),內置協處理器的。如通過國密認證的 HSC32K1:
1024位RSA密鑰對平均生成時間:0.725秒@48MHz
1024位RSA簽名(解密)速度(使用中國剩余定理):76.9次/秒@48MHz
2048位RSA密鑰對平均生成時間:4.87秒@48MHz
2048位RSA簽名(解密)速度(使用中國剩余定理):17.2次/秒@48MHz
uj5u.com熱心網友回復:
純軟體運行RSA的話,處理器性能不強很吃虧的, 耗時會比較大。uj5u.com熱心網友回復:
要解密和簽名的話還是跑 ECC 吧, 我在 160M 的MCU上跑軟體的 SECP256K1 的秘鑰交換大約 250毫秒, 簽名和驗證稍微慢點 400毫秒不到 ...32M 的 16位機跑非對稱加密壓力太大了吧, 如果不要解密, 簽名 只需要加密和驗證簽名, 跑 1024 位的 RSA, E=3 勉強應該可以 ...
openssl 的BN庫寫的很簡單的, 速度很慢, 沒啥優化, 自己寫一個速度也差不多, 要快還是移植 gmp 啥的, 就是太大了 ...
uj5u.com熱心網友回復:
您好,我一個小白,最近在做畢業設計,是128位RSA加解密并移植到stm32上,請問有相關的代碼及原理圖什么的嗎。如果有的話,可以發郵箱[email protected] 嗎,感激!!uj5u.com熱心網友回復:
您好我是個小白,我也碰到跟你一樣的問題,請問你的解決了嗎?作為過來人,能不能給我指條明路?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/153980.html
標籤:智能硬件
下一篇:軟體設計師考試——國慶節篇1
