2019-2020-1 20175310 20175317 20175320 实验二 固件程序设计
2019-2020-1 20175310 20175317 20175320 实验二 固件程序设计
小组成员
20175310 奚晨妍
20175317 钟睿文
20175320 龚仕杰
实验步骤
一、固件程序设计-1-MDK
实验要求:
1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
2.提交破解程序中产生LIC的截图
3.提交破解成功的截图
步骤:
按照实验指导书进行安装以及破解即可,类似的破解操作我们在数字电路的实验中也进行过,在过程中没有遇到较大的问题。破解成功截图如下:
二、固件程序设计-2-LED
实验要求:
1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.实验报告中分析代码
步骤:
1.将试验箱与电脑之间连好线,这里需要使用串口线以及usb线。
2.在KEIL-MDK 中添加 Z32 SC-000 芯片库。
3.找到exp2\LED闪烁目录下的Z32.uvproj工程文件进行编译,生成的.bin文件需要下载到实验箱。
4.打开exp2\软件资料\Z32下载调试工具中的NZDloadTool.exe。
5.按住Reboot按键不放,两次打开电源开关,使得电脑可以识别z32,将程序下载到z32芯片中,在这里使用z32上的小开关并不能使电脑识别z32,需要关闭红色总开关。程序下载完成后关闭主开关再打开,可以看见红色led灯闪烁的现象。
三、固件程序设计-3-UART
实验要求:
1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.实验报告中分析代码
步骤:
1.使用串口线以及usb线连接实验箱和电脑,因为之前已经添加了Z32 SC-000 芯片库,所以这里不用再次添加。
2.打开exp2\UART发送与中断接收文件夹中的Z32HUA.uvproj工程文件并编译,生成的.bin文件即为需要下载到实验箱的文件。
3.打开exp2\软件资料\Z32下载调试工具中的NZDloadTool.exe。
4.按住Reboot按键不放,两次打开电源开关,使得电脑可以识别z32,将程序下载到z32芯片中,在这里使用z32上的小开关并不能使电脑识别z32,需要关闭红色总开关。下载完成后打开串口调试助手,设置相应参数。最后关闭主开关再打开,在串口调试助手的输入框输入字符串abcdefgh,然后点击发送按钮。
固件程序设计-4-国密算法
实验要求:
1.网上搜集国密算法标准SM1,SM2,SM3,SM4
2.网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
3.四个算法的用途?
4.《密码学》课程中分别有哪些对应的算法?
5.提交2,3两个问题的答案
6.提交在Ubuntu中运行国密算法测试程序的截图
步骤:
从网上查找相应密码算法并在ubuntu中运行即可,需要注意的是,由于SM1是保密的加密算法,网络上找不到相应的代码。
相关提问的回答:
SM1:广泛应用于电子政务、电子商务及国民经济的各个应用领域,密码学中对应AES
SM2:主要在金融领域使用的椭圆曲线公钥密码算法,密码学中对应RSA
SM3:是一种密码散列函数标准,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,密码学中对应SHA-256
SM4:是一种无线局域网标准的分组数据算法,主要用于数据加密,密码学中对应DES
代码运行结果:
五、固件程序设计-5-SM1
实验要求:
1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.实验报告中分析代码
步骤:
1.使用串口线以及usb线连接实验箱和电脑,因为之前已经添加了Z32 SC-000 芯片库,所以这里不用再次添加。
2.打开exp2\SM1文件夹中的Z32HUA.uvproj工程文件并编译,生成的.bin文件即为需要下载到实验箱的文件。
3.打开exp2\软件资料\Z32下载调试工具中的NZDloadTool.exe。
4.按住Reboot按键不放,两次打开电源开关,使得电脑可以识别z32,将程序下载到z32芯片中,在这里使用z32上的小开关并不能使电脑识别z32,需要关闭红色总开关。下载完成后打开串口调试助手,设置相应参数。最后关闭主开关再打开。
5.插入白色的IC卡,按A显示提示信息,再按一次A进行校验密码。
6.再次按下A,之后可通过1、2来进行加解密,之后可在串口助手中查看初始数据、加密密钥以及加密后的数据。
实验感想
本次实验操作起来并没有太大的问题,上一个实验中花费了大量时间来进行终端之间的连接,本次实验在前期准备过程中并没有花费太多的时间。实验过程中按照实验指导即可较为快速地完成实验,我们组在实验箱连接的时候遇到了点小困难,即两次打开z32的开关后电脑不识别,后来发现需要将实验箱的总开关打开再关闭,而下载后的程序需要将实验箱重新通电后才可运行。