zoukankan      html  css  js  c++  java
  • 2018-2019-2 20165221课程设计学习-week1

    2018-2019-2 20165221课程设计学习-week1

    目录


    任务理解与分工

    • 团队任务
      • 小组讨论对课程设计任务的理解:
        • 我们的题目是基于python的GMSSL的实现,和老师及小组内部讨论后,认为我们的任务就是用Python编程实现国密算法。
      • 进行任务的功能划分和分工
        • 每人在国密算法中选一个算法,弄懂基本原理,用python语言跑通,后续的修改代码和添加小功能再由小组协助完成。
      • 任务的进度安排:
        • week1:完成所有的前期准备,学习Python的一些基本语法,理解自己所选的国密算法。
        • week2:继续Python的学习,网上搜集算法相关资料,开始准备代码。
        • week3:基本实现代码跑通,开始小组讨论后续加分项。
        • week4:进入收尾工作
    • 个人任务:
      • 我选择SM3算法的实现,进度安排同上,与小组进度保持一致。

    任务一:完成Python环境的搭建

    • 我选择在Windows下搭建Python的环境
    • 先到python官网下载安装包-->去配置环境变量-->path
    • 最终搭建成功后,找到存放目录,用命令行查看
    • 在Windows中打开

    任务二:完成git和上传码云的配置

    - 参考学长的博客和[度娘](https://www.jianshu.com/p/a6ac5ae5c810),搭建成功,并建立本地仓库,命名为```20165221 / 2018-2019-2课程设计``` ![](https://img2018.cnblogs.com/blog/1322987/201905/1322987-20190508105909395-542043930.png)

    任务三:尝试简单的Python代码编写并推到码云上

    - 使用Python编写的几个简单命令 ![](https://img2018.cnblogs.com/blog/1322987/201905/1322987-20190508110018019-1996056819.png) ![](https://img2018.cnblogs.com/blog/1322987/201905/1322987-20190509171307233-935042831.png)
    • 将其推到码云上


    • 完成代码量的统计

    • 使用statistics来进行代码的统计,使用方法是在.py文件存放目录中运行。

    任务四:了解熟悉几个国密算法

    • 国密即:国家密码管理局认定的国产密码算法。主要有:SM1,SM2,SM3,SM4.
    SM1 :为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
    
    SM2 :为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
    
    SM3 :消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
    
    SM4 :无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
    
    • 与密码学相对应的算法总结
    国密算法 对应密码学算法
    SM1 AES算法(高级加密标准)
    SM2 ECC (椭圆加密算法)
    SM3 MD5 (信息摘要算法)
    SM4 DES(数据加密标准)

    五 . 学习笔记

    编译和解释:

    • 编译:一次性翻译,之后不再需要源代码,类似于英文翻译

    • 解释:每次程序运行时随着翻译来执行,类似于实时的同声传译

    编程语言的分类

    • 根据执行方式的不同,分为两类
      • 静态语言 使用编译执行的语言-->C/C++,Java语言
      • 脚本语言 使用解释之行的编程语言-->Python语言/JavaScript语言/PHP语言

    程序的基本编写方法

    • IPO模式

    Python学习笔记

    • Python的的两种编写方式:
      • 交互式: 对每个输入语句即时运行结果
      • 文件式:批量执行一组语句并运行结果

    程序元素:

    • 注释:不会被计算机所执行

      • 单行注释以#开头,
      • 多行注释以'''开头,以'''结尾
    • 关联标识符与保留字

      • 关联标识符
      • 保留字
    • 输入函数:

      • <变量>=input(<提示性文字>),获得的用户输入存放在变量中,紧跟提示性文字后面出现
    • 输出函数:

      • 格式化使用方法
    • eval函数:

    • 缩进

      • 单层缩进
      • 多层缩进
    • 表达式:

      • 若字符串长度为L,则第一个字节的索引为0或-L,最后一个字节索引为L-1或-1。[0, L-1],[-L,-1]
      • 索引和切片
    • 实例分析

      • tHndex='python'

        • tHndex[1:-2]---->'yth'
        • tHndex[4]---->'o'
        • tHndex[-4]---->'t'
      • val =28c

        • val[0:2],表示的是28
        • val[0:-1],表示取除去最后一个字符外的字符串
    • 循环语句:for i in range (10),表示该循环执行10次。

    六 .本周学习总结

    - 本周自己只是做了一些基础的学习,完成了本次课设的所有前期准备工作 - 至于python的学习,在同组队友的推荐下,自己在慕课上,跟着北京理工大学老师的[**网课**](https://www.icourse163.org/course/BIT-268001)在学习,收获还是有的,但自己还是要加快进度,毕竟课设时间紧,任务重..... - 本周最大的难点还是在彻底搞懂自己选择的国密算法,但是自己在学,困难应该不是问题。 - 因为本周还没有完成课设代码,所以码云上的代码,都是自己找来练手的。 - [**码云链接**](https://gitee.com/tx0630/course_design_for_201810192)
  • 相关阅读:
    Spring AOP切点表达式用法总结
    各种文档地址记录
    回顾乐信集团工作经历
    Redux的简单使用
    简单介绍软件测试(一)
    jupyter notebook 安装代码提示功能
    解决matplotlib不显示中文的问题
    前端生成二维码并下载(PC端)
    XSS绕过常见方式
    JWT的安全问题
  • 原文地址:https://www.cnblogs.com/0630tx/p/10830632.html
Copyright © 2011-2022 走看看