1. 程式人生 > >2018-2019-1 20165323 20165333 20165336 實驗二 韌體程式設計

2018-2019-1 20165323 20165333 20165336 實驗二 韌體程式設計

實驗二 韌體程式設計-1-MDK

  • 0. 注意不經老師允許不準燒寫自己修改的程式碼
  • 1. 三人一組
  • 2. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.1-1.5安裝MDK,JLink驅動,注意,要用系統管理員身分執行uVision4,破解MDK(破解程式中target一定選ARM)
  • 3. 提交破解程式中產生LIC的截圖
  • 4. 提交破解成功的截圖

    實驗過程

    1、找到exp2\軟體資料\MDK4.74路徑下的mdk474.exe檔案,點選並安裝。注意此過程中安裝目標路徑是自己建立的一個名為Keil 4的資料夾
    2、安裝Ulink驅動
    3、在桌面上建立的快捷方式“Keil uVision4”上右鍵,選擇“以管理員身份執行”
    4、破解MDK4.74(執行uVision4,點選File->License Management…,在彈出的視窗中複製CID)
    5、執行註冊機,貼上CID並選擇ARM,生成LIC


    6、將LIC複製並將其貼上到keil4中的LIC輸入框中,進行破解,破解成功如下

實驗二 韌體程式設計-2-LED

  • 0. 注意不經老師允許不準燒寫自己修改的程式碼
  • 1. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
  • 2. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.9”完成LED實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 3. 實驗報告中分析程式碼

    實驗過程

    1、新增SC000庫:通過安裝軟體資料中的MDK-ARM_AddOn_SC000_Support.exe檔案完成庫的新增
    2、選擇SC000庫:通過新建工程>晶片庫選擇框選擇庫>選擇具體的CPU型號,點開ARM結構目錄,選擇SC000


    3、開啟exp2\LED閃爍目錄下的Z32.uvproj工程檔案,然後編譯;

    4、下載程式

    此時核心板上L2燈開始閃爍

實驗二 韌體程式設計-3-UART

  • 0. 注意不經老師允許不準燒寫自己修改的程式碼
  • 1. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
  • 2. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.0”完成UART傳送與中斷接收實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 3. 實驗報告中分析程式碼

    實驗過程

    1、初始步驟同韌體程式設計-2-LED實驗中的步驟
    2、使用串列埠除錯工具來觀察串列埠通訊收發的資料
    3、用九針串列埠線將Z32模組的串列埠與電腦USB介面連線
    4、選擇Z32對應的串列埠號,選擇波特率為115200,選擇校驗位為Even,勾選“傳送新行”,點選“開啟串列埠”
    5、關閉Z32電源開關,再開啟,在串列埠除錯助手的字串輸入框輸入字串“abcdefg“,然後點擊發送按鈕

實驗二 韌體程式設計-4-國密演算法
0. 網上搜集國密演算法標準SM1,SM2,SM3,SM4
1. 網上找一下相應的程式碼和標準測試程式碼,在Ubuntu中分別用gcc和gcc-arm編譯
2. 四個演算法的用途?
3. 《密碼學》課程中分別有哪些對應的演算法?
4. 提交2,3兩個問題的答案
5. 提交在Ubuntu中執行國密演算法測試程式的截圖
2、答:SM1:應用於系列晶片、智慧IC卡中的加密;SM2:加解密及數字簽名;SM3:商用密碼應用中的數字簽名和驗證;SM4:加密保護靜態儲存和傳輸通道中的資料
3、答:相同型別的演算法(1)SM1(分組密碼演算法):DES、IDEA(2)SM2(公鑰演算法):RSA、ELGamal、揹包演算法、Rabin、Diffe Hellman金鑰交換協議中的公鑰加密演算法(3)SM3(摘要演算法):MD4、MD5、SHA1、SHA256、TIGER(4)SM4(分組密碼演算法):DES、IDEA
SM3:

SM4:

實驗二 韌體程式設計-5-SM1

  • 0. 注意不經老師允許不準燒寫自己修改的程式碼
  • 1. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
  • 2. 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.16”完成SM1加密實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 3. 實驗報告中分析程式碼

    實驗過程

    1、初始步驟同韌體程式設計-3-UART步驟基本相同,顯示屏顯示

    2、插入IC卡

    3、按下矩陣鍵盤的A鍵,再次按下A鍵,螢幕會顯示“按-A 鍵校驗密碼”,再次按下A鍵,顯示校驗成功。再按下A鍵

    4、進入SM1加解密實驗介面,按“1鍵”選擇加密,螢幕顯示觀看串列埠除錯助手,電腦上串列埠除錯助手介面會顯示初始資料以及加密金鑰,確認加密後按A鍵可以存入IC卡,螢幕會重新回到加解密介面。

    5、按“2”鍵選擇解密,首先按“A“鍵進入讀取介面,成功後選擇1、正確金鑰還是2、錯誤金鑰。按”1“鍵選擇正確金鑰,再按”A“鍵確認解密,串列埠會顯示正確金鑰資訊,解密完成後串列埠會顯示解密後的資料,螢幕會顯示按A鍵返回。如果按”2“鍵選擇錯誤金鑰,串列埠顯示 的解密後的資料與原資料不符,解密失敗。
    正確結果:

    錯誤結果:

實驗中的問題及解決過程

問題一:新增SC00庫時不彈出晶片庫 選擇框。
解決:關閉後,再用管理員身份開啟一次,結果成功。
問題二:用9針串列埠線將電腦與Z32部分連線後,開啟串列埠助手,始終提示“沒有串列埠接入”
解決:在“這臺電腦或我的電腦”上右鍵“管理”。然後開啟“裝置管理器”中的“埠”,先禁用代表實驗箱的關口,再啟動,電腦就可以識別了。