要求:
算法
代碼分析:安全
代碼分析:
學習
0. 網上搜集國密算法標準SM1,SM2,SM3,SM4
1. 網上找一下相應的代碼和標準測試代碼,在Ubuntu中分別用gcc和gcc-arm編譯
2. 四個算法的用途?
3. 《密碼學》課程中分別有哪些對應的算法?
4. 提交2,3兩個問題的答案
5. 提交在Ubuntu中運行國密算法測試程序的截圖測試
關於2,3兩個問題的答案:1.SM1 爲對稱加密。其加密強度與AES至關。該算法不公開,調用該算法時,須要經過加密芯片的接口進行調用。
SM2爲非對稱加密,基於ECC。該算法已公開。因爲該算法基於ECC,故其簽名速度與祕鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的
一種)安全強度比RSA 2048位高,但運算速度快於RSA。
SM3 消息摘要。能夠用MD5做爲對比理解。該算法已公開。校驗結果爲256位。
SM4 無線局域網標準的分組數據算法。對稱加密,密鑰長度和分組長度均爲128位。加密
SM2算法:SM2橢圓曲線公鑰密碼算法是我國自主設計的公鑰密碼算法,包括SM2-1橢圓曲線數字簽名算法,SM2-2橢圓曲線密鑰交換協議,SM2-3橢圓曲線公鑰加密算法,分別用於實現數字簽名密鑰協商和數據加密等功能。SM2算法與RSA算法不一樣的是,SM2算法是基於橢圓曲線上點羣離散對數難題,相對於RSA算法,256位的SM2密碼強度已經比2048位的RSA密碼強度要高。設計
SM3算法:SM3雜湊算法是我國自主設計的密碼雜湊算法,適用於商用密碼應用中的數字簽名和驗證消息認證碼的生成與驗證以及隨機數的生成,可知足多種密碼應用的安全需求。爲了保證雜湊算法的安全性,其產生的雜湊值的長度不該過短,例如MD5輸出128比特雜湊值,輸出長度過短,影響其安全性SHA-1算法的輸出長度爲160比特,SM3算法的輸出長度爲256比特,所以SM3算法的安全性要高於MD5算法和SHA-1算法。 SM4算法:SM4分組密碼算法是我國自主設計的分組對稱密碼算法,用於實現數據的加密/解密運算,以保證數據和信息的機密性。要保證一個對稱密碼算法的安全性的基本條件是其具有足夠的密鑰長度,SM4算法與AES算法具備相同的密鑰長度分組長度128比特,所以在安全性上高於3DES算法。
2.3DES、SHA-一、RSA3d
0. 注意不經老師容許不許燒寫本身修改的代碼
1. 參考雲班課資源中「信息安全系統實驗箱指導書.pdf 「第一章,1.4」 KEIL-MDK 中添加 Z32 SC-000 芯片庫,提交安裝截圖
2. 參考雲班課資源中「信息安全系統實驗箱指導書.pdf 「第一章,1.16」完成SM1加密實驗,注意「打開Z32的電源開關前,按住Reboot按鍵不放,兩次打開電源開關,Z32便可被電腦識別,進行下載調試。提交運行結果截圖
3. 實驗報告中分析代碼調試
分析代碼:
code
在作實驗2、三和五的時候按照任務中描述的按住reboot鍵連開兩次並無效果,真正的作法是將試驗箱電源重啓,這樣才能正確將試驗箱和電腦連接起來。blog
初步掌握了固件程序設計的過程,瞭解了mdk的破解方法,以及mdk自己的大體用法。