2018-2019-1 20165313 20165212 20165222 实验二 固件程序设计

固件程序设计-1-MDK

任务详情:

参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)

提交破解程序中产生LIC的截图提交破解成功的截图

实验步骤:

这一步相当简单,先根据实验指导书安装好MDK,再用注册机生成LIC,复制粘贴上去即可。

结果如下:

固件程序设计-2-LED

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

 结果截图:

代码分析:

1, 系统初始化,中断设置,使能所有中断;

2,判断按键,返回 boot 条件,确认是否进行程序下载;

3 ,GPIO_PuPdSel(0,0);将0号引脚设置为上拉,即在无输入的情况下为0为高电平。GPIO_InOutSet(0,0);再将0号引脚设置为0,即为输出引脚。然后是一个循环,使灯不停闪烁。在这循环里包含了一个时延函数delay,包含了参数ms和i,当参数变化100*950时,即系统内i从0到949执行100次时,执行一次GPIO_SetVal(0,0);使0号引脚电平变为低电平,灯亮,在经过一个同样的时延函数,执行GPIO_SetVal(0,1),使0号引脚电平为1,即为高电平,灯灭。因此就能形成led灯不断闪烁。

 

固件程序设计-3-UART

1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.实验报告中分析代码

实验结果截图:

代码分析:

1, 系统初始化,中断设置,使能所有中断;

2,判断按键,返回 boot 条件,确认是否进行程序下载;

3,UART_Init(); 初始化uart。

4,UART_SendByte发送一个字符,UART_SendString发送字符,UART_SendNum发送十进制数,UART_SendHex发送16进制数。

5,进入循环程序,等待串口中断到来并判断数据是否接受完毕,若中断到来,转入执行串口中断服务程序,待接收数据完毕,Z32将数据发回串口助手。

 固件程序设计-4-国密算法

 

0.网上搜集国密算法标准SM1,SM2,SM3,SM4
1.网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
2.四个算法的用途?
3.《密码学》课程中分别有哪些对应的算法?
4.提交2,3两个问题的答案
5.提交在Ubuntu中运行国密算法测试程序的截图

 

 

SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。对应算法:AES.

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。对应算法:ECC椭圆曲线加密算法。

SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。对应算法:DM5算法。

SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。对应算法:DES算法。

运行截图:

固件程序设计-5-SM1

1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
3.实验报告中分析代码

运行截图:

posted @ 2018-11-04 14:54  李勖  阅读(191)  评论(0编辑  收藏  举报