2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计

2019-2020-1 20175234 20175205 20175217 实验二 固件程序设计

实验内容

(1)MDK

  • 实验要求
    • 两人(个别三人)一组
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身份运行uVision4,破解MDK(破解程序中target一定选ARM)
    • 提交破解程序中产生LIC的截图
    • 提交破解成功的截图
  • 实验步骤
    • 安装并破解uVision4
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第1张图片

(2)LED

  • 实验要求
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
    • 实验报告中分析代码
  • 实验步骤
    • 安装SC000芯片库
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第2张图片

    • 打开LED闪烁的工程文件,点击编译,产生后缀名为.bin 的可执行代码
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第3张图片

    • 将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第4张图片

    • 当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择bin目录打开,最后点击下载

    • 重启试验箱,即可看到LED灯闪烁
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第5张图片

    • 代码分析
      • 死循环中不断输出高、低电平,使LED闪烁

(3)UART

  • 实验要求
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
    • 实验报告中分析代码
  • 实验步骤
    • SC000芯片库上一实验已安装
    • 打开UART发送与中断接收的工程文件,点击编译,产生后缀名为.bin 的可执行代码
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第6张图片

    • 将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,在电脑上找到“Z32开发指南\2.软件资料\Z32下载调试工具”目录打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第7张图片

    • 当左边框出现“1设备已连接”,设备选择中显示芯片型号,此时就可以下载程序了。我们点击窗口右下方“确认下载”一栏的“浏览”,选择bin目录打开,最后点击下载

    • 重启试验箱,在电脑上打开串口助手,选择对应的串口号,设置波特率为 115200, 偶校验(Even),选中“发送新行”,然后打开串口,看到以下信息
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第8张图片

    • 代码分析
      • 首先初始化:清除接收fifo、清除寄存器状态、将偶校验置零
      • UART_SendString、UART_SendNum等最后都是将输送内容转化后调用UART_SendByte发送

(4)国密算法

  • 实验要求
    • 网上搜集国密算法标准SM1,SM2,SM3,SM4
    • 网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
    • 四个算法的用途?
    • 《密码学》课程中分别有哪些对应的算法?
    • 提交2,3两个问题的答案
    • 提交在Ubuntu中运行国密算法测试程序的截图
  • 实验步骤
    • SM1
      SM1 算法是由国家密码管理局编制的一种商用密码分组标准对称算法
      算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式 存在于芯片中
      对应AES、DES等分组加密

    • SM2
      SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
      随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第9张图片

    • SM3
      SM3是中华人民共和国政府采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第10张图片

    • SM4
      SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第11张图片

(5)SM1

  • 实验要求
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
    • 实验报告中分析代码
  • 实验步骤
    • 打开并编译SM1的工程文件,产生后缀名为.bin 的可执行代码
    • 将实验箱接入电源,用USB公对公线将实验箱的USB接口连接到电脑的USB接口上,打开Z32下载调试工具NZDownloadTool.exe。打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别
    • 插入IC卡
    • 加密后使用正确密钥解密
    • 加密后使用错误密钥解密
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第12张图片
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第13张图片
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第14张图片
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第15张图片
      2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计_第16张图片

你可能感兴趣的:(2019-2020-1 20175210 20175211 20175219 实验二 固件程序设计)