提交破解程序中产生LIC的截图:
算法
提交破解成功的截图
安全
注意必定要用管理员身份运行uVision4,否则真的会失败!!!认真看好老师的任务细节!!函数
参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
测试
主函数:加密
-SystemInit ()
系统初始化;.net
if(0 == GPIO_GetVal(0))
{
BtApiBack(0x55555555, 0xAAAAAAAA);
}
判断按键,返回 boot 条件,确认是否进行程序下载;设计
GPIO_PuPdSel(0,0);
GPIO_InOutSet(0,0);
设置 GPIO0 状态为上拉输出;3d
while(1)
{
delay(100);
GPIO_SetVal(0,0); //输出低电平,点亮 LED
delay(100);
GPIO_SetVal(0,1); //输出高电平,熄灭 LED
}
进入循环程序, LED 灯间隔 100ms 闪烁。调试
参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
blog
参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0”完成UART发送与中断接收实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32便可被电脑识别,进行下载调试。提交运行结果截图
void UART_Irq Service(void) 是进行串口中断服务;
void UART_BrpSet(UINT16 set)是进行波特率设置;
void UART_Init(void) 是进行串口初始化;
void UART_SendByte(UINT8 dat) 是用于发送单字节;
void UART_SendString(UINT8 * str) 是用于发送字符串;
void uart_SendString(UINT8 buf[],length) 是用于发送某一长度的字符串;
void UART_SendNum(INT32 num) 是用于发送单个十进制整数;
void UART_SendHex(UINT8 dat) 是用于发送单个十六进制整数;
UINT8 UART_GetByte(*data) 是用于接收单字节;
void UART_Receive(UINT8 *receive, len) 是用于接收多字节;
SM3杂凑算法:
SM3密码杂凑(哈希、散列)算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可知足多种密码应用的安全需求。
对应MD5算法
运行截图
此算法采用非线性迭代结构,是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。
对应3DES算法
运行截图
SM3算法有消息填充、分块、迭代压缩三个步骤:
SM4
1.基本运算:SM4密码算法使用模2加和循环移位做为基本运算。
2.基本密码部件:SM4密码算法使用了S盒、非线性变换τ、线性变换部件L、合成变换T基本密码部件。
3.轮函数:SM4密码算法采用对基本轮函数进行迭代的结构。利用上述基本密码部件,即可构成轮函数。SM4密码算法的轮函数是一种以字为处理单位的密码函数。
4.加密算法:SM4密码算法是一个分组算法。数据分组长度为128比特,密钥长度为128比特。加密算法采用32轮迭代结构,每轮使用一个轮密钥。
5.解密算法:SM4密码算法是对合运算,所以解密算法与加密算法的结构相同,只是轮密铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
6.密钥扩展算法:SM4密码算法使用128位的加密密钥,并采用32轮法代加密结构,每一轮加密使用一个32位的轮密钥,共使用32个轮密钥。所以须要使用密钥扩展算法,从加密密钥产生出32个轮密钥。
7.SM4的安全性:SM4密码算法通过我国专业密码机构的充分分析测试,能够抵抗差分攻击、线性攻击等现有攻击,所以是安全的。
参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图
链接与下载成功
剩下的步骤将用图片一张一张演示
按照提示插入SLE4428 IC卡;
按A键进行校验,校验成功后选择加密和解密;
按1选择加密,再按A确认加密,在串口助手上能够看到观察明文、秘钥和密文;
再按A键,将加密数据存入IC卡中;
按2选择解密,选择正确秘钥后,再按A键确认解密,串口助手上能够看到解密后的信息;
再按A键返回菜单。
主函数:
初始化IC卡插入检测IO口GPIO6;
B:
按下A键,显示屏第一行“加密解试验”,第2、三行分别示“ 1. 加密”“ 2. 解密”两个选项。
加密:
关闭SM1加密安全模块;
解密:
关闭SM1加密安全模块;