2017-2018-1 20155311 20155305实验二 固件程序设计
2017-2018-1 20155311 20155305实验二 固件程序设计
实验1MDK
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
- 提交破解程序中产生LIC的截图
- 提交破解成功的截图
实验步骤
1.找到“exp2\软件资料\MDK4.74”路径下的mdk474.exe文件,点击并安装。注意此过程中“安装目标路径”是自己创建的一个名为“Keil 4”的文件夹;
2.安装Ulink驱动;
3.在桌面上创建的快捷方式“Keil uVision4”上右键,选择“以管理员身份运行”
4.点击File->License Management…,在弹出的窗口中复制CID;
5.打开“exp2\软件资料\keil-MDK注册机\keil mdk474注册机”路径下的“KEIL MDK4.74crack.exe”,运行Keil-MDK注册机,将刚才复制的CID粘贴到“CID”中,“TARGET”选择“ARM”,然后点击Generate,生成LIC;
6.将LIC复制并将其粘贴到刚才License Management窗口中的“New License ID Code(LID)”一栏中;
7.点击“ADD LIC”。若破解成功则结果如下:
实验2LED
- 学习 GPIO GPIOGPIO原理
- 掌握 Z32安全模块驱动LED的工作原理
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
- 实验报告中分析代码
实验步骤:
1.安装SC000库:在任务一完成的基础上,打开“exp2\软件资料\MDK-ARM-SC000库支持”路径下的MDK-ARM_AddOn_SC000_Support.exe文件,安装路径我们选择刚才创建的Keil 4文件夹;
2.在 keil MDKkeil 工程选择 SC000库:用管理员身份打开uVision4,选择然后点击
Project->New uVision Project;
3.新建一个文件夹作为新工程的保存路径;
4.在芯片库 选择框Generic SC000 Device Database ;
5.点开 ARM 结构目录,选择 SC000;
6.“exp2\LED闪烁”目录下的Z32.uvproj工程文件,然后编译;
7.用USB公对公线连接电脑和试验箱;
打开“exp2\软件资料\Z32下载调试工具”目录下的NZDloadTool.exe;
8.按住Reboot按钮的同时两次开关试验箱左上角部分的电源开关;
9.左侧显示“1设备已连接”后,下载LED项目编辑后生成的Z32HUA.bin文件,目录是“exp2\LED闪烁\bin”;
10.下载成功后关闭-打开电源开关,即可看到LED灯L2闪烁的实验现象。
实验3 UART
- 学习串口通信原理
- 掌握 SP3232芯片的使用方法
- 掌握 Z32的串行口工作原理
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.10”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
实验报告中分析代码
实验步骤
1.与任务二类似,不同的是要打开“exp2\UART发送与中断接收”目录下的Z32HUA.uvproj工程文件并编译;将生成的.bin文件下载到实验箱;
2.除了要用USB公对公线连接电脑和实验箱,还需要用9针串口线将电脑与Z32部分连接;
3.打开“exp2\软件资料\串口调试助手”目录下的“sscom42.exe”即串口助手,完成相关设定后关闭再打开实验箱Z32部分的电源开关;
4.可以在串口助手上发现,已经接受到了由Z32串口发来的消息;
5.在串口助手的字符串输入框输入字符,点击发送,可以在串口调试助手上看到我们刚刚输入的字符串。
实验4 国密算法
网上搜集国密算法标准SM1,SM2,SM3,SM4
网上找一下相应的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译
四个算法的用途?
《密码学》课程中分别有哪些对应的算法?
提交2,3两个问题的答案
提交在Ubuntu中运行国密算法测试程序的截图
实验步骤
-
SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
-
SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
-
SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
-
SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上u高于3DES算法。
-
SM2对应RSA,SM3对应SHA,SM4对应DES
实验5 SM1
- 学习 SM1SM1 加解密算法原理,掌握 SM1SM1 加、解密算法
用法 - 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
- 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图
实验报告中分析代码
实验步骤
1.与任务三类似,不同的是要打开“exp2\SM1”目录下的Z32HUA.uvproj工程文件并编译;将生成的.bin文件下载到实验箱;
2.同样需要用9针串口线将电脑与Z32部分连接;
3.打开“exp2\软件资料\串口调试助手”目录下的“sscom42.exe”即串口助手,完成相关设定后关闭再打开实验箱Z32部分的电源开关;
4.按照电子屏的提示插入IC卡;
5.插入正确的卡后显示相应信息,然后按A校验密码;
6.显示校验成功后,先按1选择加密
7.按A确认加密,在串口助手上可以观察到明文、密钥,加密完成后还会看到密文;
8.按A将密文存入IC卡;串口助手上显示已经写入IC卡
9.按2 选择解密;
10.按A读取IC卡中的密文信息和密钥信息;串口助手上显示读取的密文信息;
11.读取成功后,先按1选择用正确密钥加密;串口助手上显示使用的正确密钥;
12.按A确认解密,串口助手上显示解密后的信息,与正确的明文相同;
13.按A返回,再经过相同的过程,选择用错误密钥解密;
14.最终在串口助手上可以观察到经过错误密钥解密的错误明文