【2019-2020-1】20175330 20175324 20175311 实验二 固件程序设计
实验二 固件程序设计
固件程序设计-1-MDK
0. 注意不经老师允许不准烧写自己修改的代码
1. 两人(个别三人)一组
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
3. 提交破解程序中产生LIC的截图
4. 提交破解成功的截图
- 打开EDGE粘贴CID
- 选择ARM
- 生成破解码
- 破解完成
固件程序设计-2-LED
0. 注意不经老师允许不准烧写自己修改的代码
1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3. 实验报告中分析代码
- 打开软件
- 按照指导书调试
- 下载完成
代码分析
主函数代码:
- 系统初始化;
SystemInit ();
- 判断按键,确认是否进行程序下载;
if(0 == GPIO_GetVal(0)) { BtApiBack(0x55555555, 0xAAAAAAAA); }
- 设置 GPIO0 状态为上拉输出;
GPIO_PuPdSel(0,0); // 设置 GPIO0 为上拉 GPIO_InOutSet(0,0); // //设置 GPIO0为输出
- 进入循环程序, LED 灯间隔 100ms 闪烁。
while(1) { delay(100); GPIO_SetVal(0,0); // 输出低电平,点亮 LEDLED delay(100); GPIO_SetVal(0,1); // 输出高电平,熄灭 LEDLED }
固件程序设计-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,SM2,SM3,SM4。密钥长度和分组长度均为128位。 ~SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 ~SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。 ~SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。 ~SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
问题二:
- SM1采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加 密 机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政 务 通、警务通等重要领域)。
- SM2:在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法。自2011年7月1日起,投入运行并使用公钥密码的信息系统,应使用SM2算法。
- SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
- SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。
密码学中的对应:
SM1对应AES算法; SM2对应ECC算法; SM3对应MD5算法; SM4对应3DES算法;
固件程序设计-5-SM1
实验要求
0.注意不经老师允许不准烧写自己修改的代码
1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,提交运行结果截图
注意:打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试
实验完成