实验二 20155307 20155335 20155338 实验报告 固件程序设计
一、实验内容:
1.安装MDK,JLink驱动,运行uVision4,破解MDK
2.KEIL-MDK 中添加Z32 SC-000芯片库,完成LED实验
3.完成UART发送与中断接收实验
4.理解国密算法标准SM1,SM2,SM3,SM4并用gcc和gcc-arm编译
5.完成SM1加密实验
二、实验步骤
在开始试验之前,先安装MDK,JLink驱动,运行uVision4,破解MDK,
很多付费软件为了保证试用和购买安全,都会使用单独的注册机,比如CorelstudioX系列工作软件等。图为破解MDK,因为正版的太贵了而且性价比很低。
将LIC复制到keil4中的LIC输入框,点击Add LIC,破解完成。软件可以正常使用了,
KEIL-MDK 中添加Z32 SC-000芯片库,完成LED实验
第一项:LED灯亮灭
实验步骤:
1.建Z32工程基础编程环境:建立new uVision Project,选择完安装路径后,弹出芯片库选择框,在下拉框中选择Generic SC000 Device Database,在弹出框中点开ARM目录,选择SC000。
2.打开实验1-LED 闪烁\Z32HUA.uvproj以打开LED闪烁实验项目,编译项目生成实验1-LED 闪烁\bin\Z32HUA.bin
3.将实验箱接入电源,连接实验箱与电脑,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别
4.显示1设备已连接后,点击浏览,选择\实验 1-LED 闪烁\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
5.关闭Z32电源,再打开,下载完的程序自动运行,可以看到核心板上LED灯闪烁。
下面两图为LED灯闪烁的抓拍
第二项:完成UART发送与中断接收
实验步骤:
1.打开实验 2-UART 发送与中断 接收\Z32HUA.uvproj以打开UART 发送与中断 接收实验项目,编译项目生成实验 2-UART 发送与中断接收\bin\Z32HUA.bin
2.将实验箱接入电源,连接实验箱与电脑,用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,
3.显示1设备已连接后,点击浏览,选择\实验 2-UART 发送与中断接收\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
4.打开串口助手,设置相应参数。
5.关闭Z32电源,再打开,下载完的程序自动运行,在串口调试助手的字符串输入框输入字符串“abcdefgh”,然后点击发
送按钮。
下图为我们小组成功识别了电脑并且建立了链接
第三项:完成国密算法
1.网上搜集国密算法标准SM1,SM2,SM3,SM4
2.网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
3.四个算法的用途
4,《密码学》课程中分别有哪些对应的算法
提交在Ubuntu中运行国密算法测试程序的截图
- 我们组查了一下相关资料,百度上面对国密算法定义和用途的解释是:用于实现商用密码算法的加密、解密和认证等功能,商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。
国密算法SM1:算法未公开 SM2:ECC SM3:MD5 SM4:DES
下面是运行测试国密算法的截图:
第四项:完成SM1加密
实验步骤:
1.打开实验 8-SM1\Z32HUA.uvproj以打开UART 发送与中断 接收实验项目,编译项目生成实验 8-SM1\bin\Z32HUA.bin
2.将实验箱接入电源,连接实验箱与电脑,用 9 针串口线将 Z32 模块的串口与电脑 USB 接口连接,打开Z32下载调试工具软件资料\Z32下载调试工具\NZDownloadTool.exe打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,
3.显示1设备已连接后,点击浏览,选择\实验 8-SM1\bin\Z32HUA.bin,点击下载,绿色进度条加载完成后,程序下载成功
打开串口助手,设置相应参数。
4.关闭Z32电源,再打开,下载完的程序自动运行,显示屏显示“SLE4428 实验!请插入 IC 卡.”。插入IC卡后:用户代码为:”,第四行显示用户代码“D27600000400”。再按下矩阵键盘的“A”键,屏幕 第一行显示提示“按-A 键校验密码”并在第二行显示两个字节的校验密码 “校验 0xFF,0xFF”。按下矩阵键盘的“A”键,屏幕第三行显示“校验成功”,第四行显示校验 剩余机会“剩余机会:8 次”。
5.按下矩阵键盘的“A”键,则屏幕第一行显示“加密解密实验”,第二、三行分别显示选项“1.加密”,“2.解密”。按“1”键选择加密,屏幕第一行显示“观看串口调试 助手”,第二行显示“A 键确认加密”。此时,串口调试助手显示原始数据和 加密密钥。按下“A”键确认加密后,屏幕第三行显示“加密完成”,第四行显示提示 “A 键存入 IC 卡”。串口调试助手显示加密后的数据。按“A”键,将加密数据存入 IC 卡,此时串口显示“已将数据写入 IC 卡”。 屏幕回到加密解密实验选择菜单。
图为成功显示
图为选择加密还是解密
下面进行加密实验。
1.第一行显示“ 观看串口调试助手”,第二行显示“A键确认加密”,通过 串口发送字符“将加密以下数据:”并将发送加密前的数据发送至 PC 机, 发送换行,串口继续发送“加密钥:”并将加密密钥数组发送至 PC 机, 发送完毕等待“ A”键按下;
2.通过串口发送字符“加密后的数据:”并将加密后的数据发送至 PC 机, 换行,在液晶屏第三显示“ 加密完成”,第四行显示“A键存入 IC 卡”, 等待“ A”键按下。当“ A”键按下后,向 SLE4428 IC卡发送加密后的数据, 通过串口向 PC 发送“已将数据写入 IC 卡。”跳转至B段程序。
图为加密成功:
实验中的问题及解决过程
1.破解MD5失败:
主要是没有认真读题目要求,按照题目要求使用管理员权限打开就没问题了,估计是破解版软件,不用权限怕是杀毒软件会报错的。
2.电脑不能被识别:
识别不了无非是从两个方面考虑问题:一个是硬件方面,一个是软件方面。我们首先从硬件方面考虑,通过转换usb接口的方式成功连接,但是每次新的实验都需要重新识别,我们惊奇的发现每次都使用新的usb接口就可以实现识别了。最后三个usb接口用完了,我们重启电脑之后普又可以重新使用了。