• 2018-2019-1 20165309 20165312 20165330 实验二 固件程序设计


    2018-2019-1 20165309 20165312 20165330 实验二 固件程序设计

    实验步骤

    1-MDK

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

      • File->License Management...->复制CID码->粘贴并选择“ARM”后再复制产生的LIC->将其粘贴回License Management的LIC框中->破解成功
    • 提交破解程序中产生LIC的截图:

    • 提交破解成功的截图

    • 注意一定要用管理员身份运行uVision4,不然真的会失败!!!认真看好老师的任务细节!!

    2-LED

    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库
      • 提交安装截图
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
      • 连接与下载成功
      • 灯闪烁——灯亮
      • 灯闪烁——灯灭

    3-UART

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

    4-国密算法

    • SM1对称密码
      SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法不公开,仅以IP核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

      • 对应AES算法
    • SM2椭圆曲线公钥密码算法
      SM2算法就是ECC椭圆曲线密码机制,推荐了一条256位的曲线作为标准曲线。包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。

      • 对应ECC算法
      • 运行截图
    • SM3杂凑算法
      SM3密码杂凑(哈希、散列)算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

      • 对应MD5算法
      • 运行截图
    • SM4对称算法
      此算法采用非线性迭代结构,是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。

      • 对应3DES算法
      • 运行截图
    • 代码来源:关于国密算法 SM1,SM2,SM3,SM4 的笔记

    • 由于学术不精,直接看这几个算法的代码我并没有看懂,下面大致是我找到的相关资料及尝试理解代码的过程:

      • SM2

      • 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密码算法经过我国专业密码机构的充分分析测试,可以抵抗差分攻击、线性攻击等现有攻击,因此是安全的。

    5-SM1

    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库
      • 提交安装截图
    • 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.16”完成SM1加密实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。
      • 连接与下载成功
      • 插入IC卡
      • 加密后使用正确密钥解密
      • 加密后使用错误密钥解密

    实验中遇到的问题及解决方法

    • 问题:在编译SM2算法时遇到“未定义的引用”问题

    • 解决办法:参考了以往学长学姐的博客,得知在编译时添加参数-lssl -lcrypto即能解决:

    实验感受

    • 跟着老师的PDF版《信息安全系统实验箱指导书》很容易就能完成实验,有趣:)
    • 团队合作的重要性,特别是在进行连接的时候。三个人一起做实验提高了效率。
  • 相关阅读:
    Linux查看所有用户用什么命令
    Sudoku Solver
    Restore IP Addresses
    Implement strStr()
    Insert Interval
    Recover Binary Search Tree
    First Missing Positive
    Rotate List
    Longest Palindromic Substring
    4Sum
  • 原文地址:https://www.cnblogs.com/cxgg/p/9901345.html
Copyright © 2020-2023  润新知