2017-2018-1 20155331 20155336 实验二 固件程序设计
实验内容:
固件程序设计-1-MDK
0. 注意不经老师允许不准烧写自己修改的代码
1. 两人(个别三人)一组
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
3. 提交破解程序中产生LIC的截图
4. 提交破解成功的截图
固件程序设计-2-LED
0. 注意不经老师允许不准烧写自己修改的代码
1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3. 实验报告中分析代码
安装截图
运行结果截图
固件程序设计-3-UART
0. 注意不经老师允许不准烧写自己修改的代码
1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3. 实验报告中分析代码
安装截图
运行结果截图
固件程序设计-4-国密算法
0. 网上搜集国密算法标准SM1,SM2,SM3,SM4
1. 网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
2. 四个算法的用途?
3. 《密码学》课程中分别有哪些对应的算法?
4. 提交2,3两个问题的答案
5. 提交在Ubuntu中运行国密算法测试程序的截图
四个算法用途如下:
-
SM1分组密码算法是我国自主设计的通用的分组对称加解密算法,分组长度为128位,密钥长度都为128比特,采用该算法已经研制了系列芯片、智能IC卡、等安全产品,广泛应用于电子政务、电子商务、VPN加密、文件加密、通信加密、数字电视、电子认证及国民经济的各个应用领域。
-
SM2算法和RSA算法都是公钥密码算法SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。在我们国家商用密码体系中被用来替换RSA算法。
-
SM3可以用MD5作为对比理解。该算法已公开。校验结果为256位。适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
-
SM4分组密码算法是用于无线局域网和可信计算系统的专用分组密码算法,该算法的分组长度为128比特,密钥长度为128比特,可以用于网络数据的加密保护,以及存储数据或文件的加密保护。
固件程序设计-5-SM1
0. 注意不经老师允许不准烧写自己修改的代码
1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3. 实验报告中分析代码
固件程序设计-6-清理
实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机
0. 只有用实验室机器的小组做
1. 提交你们小组使用的计算机的编号照片
2. 提交插好网线的照片
3. 提交盖好后盖的照片
实验中的问题:
- 问题二:添加SC00库时不弹出芯片库 选择框。
- 解决:关闭后,再用管理员身份打开一次,结果成功。
新学到的知识点
通过本次实验我们学习到了以下知识点:
- 如何利用uVision4和MDK破解MD5;
- 如何在 keil MDKkeil 工程选择 SC000库;
- 如何定位Z32电子屏的某一行并显示相应的字符串;
- 如何通过串口助手实现试验箱Z32和电脑之间的数据传输和通信;
- 如何下载程序到试验箱;
- 如何利用SM1的库函数进行加解密。
- 通过查阅资料,学习国密sm1、2、3、4这四种算法的加解密算法时也了解了它们与国际上类似算法的不同之处。