關於wolfssl RSA加密與解密注意事項

2021-10-06 13:11:47 字數 465 閱讀 9895

wolfssl 執行在微控制器上,作業系統freertos,我的秘鑰長度是2048bit,需要說明的是棧大小至少5kb,小於5kb會fault,而且還是瘋狂的fault。

另外,需要注意的是,編譯的時候請關閉優化,否則rsa解密結果不正確,因為wolfssl 有許多的巨集函式,如果開了優化,巨集展開和替換的時候會改變一些原意,導致錯誤的運算結果,我開優化只是為了減少一點ram占用,結果神奇的一幕出現了,能加密,但是不能解密,老提示buffer error, output too small or input too big。我把輸出緩衝調大,解出來居然是亂碼。通過單步跟蹤發現:在rsaunpad函式內有一段**計算有問題,如下圖,標紅處的**計算結果跟我在電腦上計算出來的不一樣,導致無法解密。

後來我關了優化,一切正常,看來還是要慎用優化。

關於對稱加密與非對稱加密

1 保密 這個很容易理解,就比如你寫的日記,不想被父母看到。2 鑑別 認證 這個就比如有個人說他是你爸爸,你如何鑑別他不是你爸爸呢?比如驗血嘛,就是個鑑別認證。3 完整性 完整性也很容易理解,就是資料是否是完整的,沒有被篡改啥的。4 不可否認性 不可否認性就是比如像古代按手印來證明是你已經確認了。這...

關於對稱加密

彼此通訊的a b雙方在交換傳遞資料的時候,加密解密用的是同一種演算法,所以必須提前將規則告訴對方,否則就無法解密。優點 演算法公開 計算量小 加密速度快 加密效率高。缺點 秘鑰傳遞安全性得不到保證,且每次使用對稱加密演算法時,a b都需要使用其他人不知道的惟一鑰匙,這會使得通訊雙方所擁有的鑰匙數量呈...

關於sqlite 加密

在移動裝置上,不管是ios還是android大家都喜歡使用sqlite,它體積小功能卻不錯,滿足大家的需求。但是使用過大家都清楚免費版sqlite資料是明文的,如果存放的是使用者敏感資訊,只要取出應用中的資料庫,神馬使用者名稱,密碼都一目了然。那麼你還敢使用手機登入什麼網銀神馬的麼?使用免費版本的沒...