zoukankan      html  css  js  c++  java
  • 密码学复习

    为准备期末考试,现开始复习,重点分为四部分:古典密码、分组密码、序列密码、公钥密码

    复习内容课后题、例题、平时作业、课件

    复习思路先滤清每个知识点、做一个总体概括

    总体概括

    古典密码

    知识点概括

    分类

    1、按秘钥使用数量是单一秘钥还是多个秘钥分类

    单表密码:明文字母对应的密文字母在密文中保持不变

    多表密码:明文中不同位置的同一明文在密文中对应的密文不同

    2、按明文空间和密文空间是否一致分类

    (1)凯撒密码

    (2)Playfair密码

    构造秘钥字母表:

    从左到右,从上到下一次填入秘钥字母,若有重复,去掉重复,I和J相同,若未填满,将剩下的字母按字母顺序依次填入

    加密:

    解密:

    和加密相似,但右边改左边,上面改下面

    (3)Vigenere密码:

    加密:

    明文字母变数字

    秘钥字母变数字

    明文数字和秘钥数字相加后模26,换成字母,得到密文

    解密:

    密文字母变数字

    秘钥字母变数字

    密文数字和秘钥数字相减后模26,换成字母,得到明文

    (4) 仿射密码

    加密:E(m) = am+b mod 26

    解密:D(c) = a-1 ( c - b ) mod 26

    统计分析

    1、判断是单表还是多表?——“重合指数法

    2、单表密码体制用字母统计规律可以破译

    3、 若是多表密码体制:

      (1)寻找相同字母段,求可能得密钥长度

      (2)求解重合指数来确定秘钥长度

      (3)求解交互重合指数确定秘钥位移

      (4)求解方程确定秘钥字

    重点

    1、置换时,求逆置换

    2、参考:课后习题

    分组密码

    分组密码和序列密码的区别:

    1、分组密码以一定大小作为每次处理的基本单元,而序列密码是以一个元素作为基本处理单元

    2、序列密码使用一个根据时间变化的加密变换,分组密码不按时间进行变换

    知识点概括

    重点

    1、DES 参考:链接1   链接2  

    2、AES 参考:链接1   链接2

    3、SM4 参考:链接1 

    公钥密码

    RSA

    困难问题:大整数难分解

    1、秘钥对生成

    2、加密

    3、解密

    ElGamal

    困难问题:离散对数难解

    1、秘钥产生

    2、加密

    3、解密

    ECC

    1、椭圆曲线点集的产生

    2、判别平方剩余

    3、求解平方根

    4、运算规则

    5、选取参数

     

    6、加密

    7、解密

    SM2

    是一种ECC算法,基于ECC的离散对数问题

    1、初始化

    2、加密

    3、解密

    考试内容

    1、RC4

    2、周期密码

    3、AES中手推字节代换

    4、ElGamal,证明解密加密过程

  • 相关阅读:
    python 学习 3-1 (编码)
    mongdb备份
    docker 部署redis , mongodb ,rabbitmq
    python学习第一天第二天总结
    python 学习 (1-3)
    python学习(day1-2)
    Activiti工作流搭建教程
    docker Compose安装
    CAS 单点登录(代码部分)
    推送自定义docker镜像到阿里云
  • 原文地址:https://www.cnblogs.com/pam-sh/p/14159316.html
Copyright © 2011-2022 走看看