1. 程式人生 > >2018-2019-1 20165211 20165230 20165208 實驗二 韌體程式設計-1

2018-2019-1 20165211 20165230 20165208 實驗二 韌體程式設計-1

2018-2019-1 20165211 20165230 20165208 實驗二 韌體程式設計

實驗步驟

1-MDK

實驗要求

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

實驗過程

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

5.開啟exp2\軟體資料\keil-MDK註冊機\keil mdk474註冊機路徑下的KEIL MDK4.74crack.exe,執行Keil-MDK註冊機,將剛才複製的CID貼上到“CID”中,TARGET選擇ARM,然後點選Generate,生成LIC
6.將LIC複製並將其貼上到剛才License Management視窗中的New License ID Code(LID)一欄中即可得到結果


2-LED

實驗要求

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

實驗過程

  1. 安裝SC000庫:在任務一完成的基礎上,開啟exp2\軟體資料\MDK-ARM-SC000庫支援路徑下的MDK-ARM_AddOn_SC000_Support.exe檔案,安裝路徑我們選擇剛才建立的Keil 4資料夾

  1. 在 keil MDKkeil 工程選擇 SC000庫:用管理員身份開啟uVision4,選擇然後點選
    Project->New uVision Project
  2. 新建一個資料夾作為新工程的儲存路徑
  3. 在晶片庫 選擇框Generic SC000 Device Database
  4. 點開 ARM 結構目錄,選擇 SC000
  5. exp2\LED閃爍目錄下的Z32.uvproj工程檔案,然後編譯;

7.用USB公對公線連線電腦和試驗箱;
開啟exp2\軟體資料\Z32下載除錯工具目錄下的NZDloadTool.exe;
8.按住Reboot按鈕的同時兩次開關試驗箱左上角部分的電源開關;
9.左側顯示“1裝置已連線”後,下載LED專案編輯後生成的Z32HUA.bin檔案,目錄是exp2\LED閃爍\bin;

10.下載成功後關閉-開啟電源開關,即可看到LED燈L2閃爍的實驗現象。


3-UART

實驗要求

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

實驗過程

1.開啟exp2\UART傳送與中斷接收目錄下的Z32HUA.uvproj工程檔案並編譯;將生成的.bin檔案下載到實驗箱

2.將實驗箱接入電源,連線實驗箱與電腦,用 9 針串列埠線將 Z32 模組的串列埠與電腦 USB 介面連線,開啟Z32下載除錯工具軟體資料\Z32下載除錯工具\NZDownloadTool.exe開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,顯示1裝置已連線後,點選瀏覽,選擇\實驗 2-UART 傳送與中斷接收\bin\Z32HUA.bin,點選下載,綠色進度條載入完成後,程式下載成功。
3.開啟串列埠助手,設定相應引數。

4.關閉Z32電源,再開啟,下載完的程式自動執行,在串列埠除錯助手的字串輸入框輸入字串abcdefgh,然後點擊發送按鈕。

分析程式碼


4-國密演算法

實驗要求

  1. 網上搜集國密演算法標準SM1,SM2,SM3,SM4
  2. 網上找一下相應的程式碼和標準測試程式碼,在Ubuntu中分別用gcc和gcc-arm編譯
  3. 四個演算法的用途?
  4. 《密碼學》課程中分別有哪些對應的演算法?
  5. 提交2,3兩個問題的答案
  6. 提交在Ubuntu中執行國密演算法測試程式的截圖

實驗過程

  • SM1:對應密碼學中分組密碼演算法,是由國家密碼管理局編制的一種商用密碼分組標準對稱演算法。演算法安全保密強度及相關軟硬體實現效能與 AES 相當,該演算法不公開,僅以 IP 核的形式存在於晶片中,呼叫該演算法時,需要通過加密晶片的介面進行呼叫。廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政 務通、警務通等重要領域)。
  • SM2:對應密碼學中公鑰密碼演算法RSA,是由國家密碼管理局於2010年12月17日釋出,全稱為橢圓曲線演算法,用於加解密及數字簽名。
  • SM3:對應密碼學中摘要演算法MD5,是中國國家密碼管理局於2010年公佈的中國商用密碼雜湊演算法標準,適用於商用密碼應用中的數字簽名和驗證,是在SHA-256基礎上改進實現的一種演算法。
  • SM4:對應密碼學中分組密碼演算法DES,於2006年公佈,用於無限區域網產品使用,這是我國第一次公佈自己的商用密碼演算法。

實驗截圖


5-SM1

實驗要求

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

實驗過程

1.開啟exp2\SM1目錄下的Z32HUA.uvproj工程檔案並編譯;將生成的.bin檔案下載到實驗箱
2.用9針串列埠線將電腦與Z32部分連線
3.開啟exp2\軟體資料\串列埠除錯助手目錄下的sscom42.exe串列埠助手,完成相關設定後關閉再開啟實驗箱Z32部分的電源開關
4.按照電子屏的提示插入IC卡。
5.插入正確的卡後顯示相應資訊,然後按A校驗密碼

6.按照步驟進行進一步的加解密。

分析程式碼


實驗中的問題及解決過程

虛擬機器USB無法識別連結

在實驗過程中我們選擇使用了虛擬機器作為實驗環境,出現了虛擬機器無法識別實驗箱的USB公對公線。

解決方法:虛擬機器工具欄設定斷開主機連線。
image

新學到的知識點

  1. 利用uVision4破解MDK
  2. 通過串列埠助手實現試驗箱Z32和電腦之間的資料傳輸和通訊
  3. 如何下載程式到試驗箱
  4. 國密演算法標準SM1,SM2,SM3,SM4

    SM1:對應密碼學分組密碼演算法,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政 務通、警務通等重要領域)。

    SM2:對應密碼學公鑰密碼演算法RSA,用於加解密及數字簽名。

    SM3:對應密碼學摘要演算法MD5,適用於商用密碼應用中的數字簽名和驗證。

    SM4:對應密碼學分組密碼演算法DES,用於無限區域網產品使用。