密码学重点

文章目录

        • 一、基本概念
        • 二、流密码
        • 三、分组密码
        • 四、公钥密码
        • 五、数字签名
        • 五、消息认证和哈希函数

参考书本:杨波 —《现代密码学》;结城浩 — 《图解密码技术》
参考网站: CTF Wiki
整理了常用的加密算法,算是比较全的密码学内容。


一、基本概念
  • 香农理论:香农首次将密码学研究置于坚实的数学基础上

  • 密码学新方向提出了公(双钥)密码的概念:Diffie和Hellman 1976年提出

  • 数据加密标准DES是由IBM公司设计的分组长度64bit,密码长度为56bit适合芯片实现的商用产品。标志着密码学从艺术走向科学

  • 现代密码学由密码编码学和密码分析学构成

    • 密码编码学(Cryptography):密码由五元组(P, C, K, E, D)构成,即明文空间、密文空间、密钥、加密算法、解密算法
    • 密码分析学(Cryptanalytics):攻击强度 — 唯密文攻击 < 已知明文攻击 < 选择明文击 < 选择密文攻击。Shannon在1949年开创的信息论理论第一次透彻地阐明了密码分析的基本问题。
      密码学重点_第1张图片
  • 密码体制分类

    • 单钥体制 —— 加密密钥和解密密钥相同(对称密码体制)
      • 流密码:明文消息按字符逐位地加密,依赖于密钥流产生器所生成序列的随机性和不可预测性,核心问题是密钥流生成器的设计
      • 分组密码:将明文消息分组(含有多个字符),逐组进行加密,是很多系统安全的一个重要组成部分
    • 双钥(公钥)体制 —— 加密和解密密钥不同(非对称密码体制)
      • 公钥加密
      • 数字签名:签名是可信的、不可伪造的、不可复制的、不可改变的、不可抵赖的
      • 密钥交换
      • 密钥封装
  • 古典密码

    • 代换密码:单字母代换和多字母代换密码
      • 单表代换密码:移位代换密码、凯撒密码、仿射变换、多项式代换密码、乘数密码
      • 多表代换密码:维吉尼亚密码、博福特密码、滚动密钥密码、弗纳姆密码、转轮密码、希尔密码(Hill)
        密码学重点_第2张图片
        密码学重点_第3张图片
    • 置换密码
  • 破译或攻击密码方法

    • 穷举破译法
    • 分析法(确定性和统计性两类)
二、流密码
密码学重点_第4张图片
  • 基本概念

    • 同步流密码:如果密钥流产生算法和明文(密文)无关,则所产生的密钥序列也与明文(密文)无关
    • 自同步流密码:如果密钥流产生算法和明文(密文)相关,则所产生的密钥序列也与明文(密文)相关
  • 移位寄存器是流密码产生密钥流的一个主要组成部分,GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数f(a1, a2, …, an)组成。每一个状态对应于GF(2)上的一个n维向量,共有2^n中可能的状态

    密码学重点_第5张图片

  • 线性反馈移位寄存器,总是假定Ci中至少有一个≠0,否则f(a1,a2,…,an)恒等于0

    密码学重点_第6张图片
    密码学重点_第7张图片

  • m序列的伪随机性:如果密钥流是周期的,要完全做到随机性是困难的,严格来说这样的序列不可能做到随机,只能要求截获比周期短的一段时不会泄露更多的信息。

    • 伪随机周期序列要求
      密码学重点_第8张图片
  • 非线性序列

    • 二元序列的线性复杂度:指生成该序列的最短LFSR的级
    • 二元序列的极小特征多项式:最短LFSR的特征多项
    • Geffe序列生成器:由三个LFSR组成,LFSR2做为控制生成器使用
    • J-K触发器
    • Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构成
三、分组密码
  • 性质:混淆性、扩散性

  • 加密模式

    密码学重点_第9张图片

  • Feistel网络:在第i+1轮中,把输入分成长度一样的左右分组,分别记为Li和Ri,则有


    其中F函数通常是非线性且不可逆的。加解密使用的密钥Ki的次序相反。DES轮数取16
    密码学重点_第10张图片

  • DES

    密码学重点_第11张图片

    • F函数

      密码学重点_第12张图片
      密码学重点_第13张图片

    • 第i轮子密钥的生成

      密码学重点_第14张图片

    • 安全性:互补性、弱密钥和半弱密钥

    • 二重DES,密钥的长度为112(128-2x8),可用中途相遇攻击法

    • 三重DES:分组长度64,密钥112;三个DES模块的级联;第一个密钥和第三个密钥相同;第二个DES模块是DES的逆模块

  • AES

    密码学重点_第15张图片

    • RIJNDAEL,系数在有限域GF(2^8)上的多项式
      • 字节代替 (ByteSub)
        密码学重点_第16张图片
      • 行移位(ShiftRow)
        密码学重点_第17张图片
      • 列混合(MixColumn)
        密码学重点_第18张图片
      • 加密钥(AddRoundKey)
    • 迭代的轮数Nr与明文阵列的列数Nb和密钥种子阵列的列数Nk有关
      密码学重点_第19张图片
四、公钥密码
  • 公钥体制的基本原理是陷门单向函数
  • RSA:基于大数分解的困难性
    密码学重点_第20张图片
    密码学重点_第21张图片
  • Rabin:基于大数分解的困难性
    密码学重点_第22张图片
    密码学重点_第23张图片
  • ElGamal:基于离散对数的困难性
    密码学重点_第24张图片
  • ECC(椭圆曲线公钥密码):基于离散对数的困难性
    密码学重点_第25张图片
五、数字签名
  • 性质

    • 完整性
    • 身份唯一性(不可伪造性)
    • 不可否认性(公开课可验证性)
  • 公钥密码的签名思想:以公钥密码为基础的数字签名算法

  • RSA数字签名算法

    密码学重点_第26张图片

  • ElGamal数字签名

    密码学重点_第27张图片
    密码学重点_第28张图片

  • Schnorr数字签名

    密码学重点_第29张图片

  • DSA数字签名:不能用于加密或密钥分配,算法中可能设有陷门

    密码学重点_第30张图片

  • 特殊用途的数字签名

    • 盲签名:签名的人不知道签名文件的内容
    • 群签名:
      密码学重点_第31张图片
五、消息认证和哈希函数
  • 消息认证码是指消息被一个密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和。消息认证码在输入包括任意长度的消息和一个发送者与接收者之间的共享密钥后,输出固定长度的数据,该数据称为MAC值。

  • 哈希函数:把消息或数据缩成摘要,使得数据量变小

    • 基本需求

      密码学重点_第32张图片

    • 目前的Hash函数主要有以下这几种

      密码学重点_第33张图片

  • MD5

    • 输入:任意长的消息,512比特长的分组 输入:128比特的消息摘要

      密码学重点_第34张图片
      密码学重点_第35张图片

    • 补充

      密码学重点_第36张图片

  • SHA1

    • 过程参考:https://www.cnblogs.com/block2016/p/5632234.html 建议看书,太多就不贴图了
    • 输入:任意长的消息,分为 512 比特长的分组。首先在消息右侧补比特 1,然后再补若干个比特 0,直到消息的比特长度满足对 512 取模后余数是 448,使其与 448 模 512 同余;输出:160 比特的消息摘要。
    • 补充
      密码学重点_第37张图片
  • MD5和SHA1差异

    密码学重点_第38张图片

    • 安全性:SHA1所产生的摘要比MD5长32位。若两种散列函数在结构上没有任何问题的话,SHA1比MD5更安全。
    • 速度:两种方法都是主要考虑以32位处理器为基础的系统结构。但SHA1的运算步骤比MD5多了16步,而且SHA1记录单元的长度比MD5多了32位。因此若是以硬件来实现SHA1,其速度大约比MD5慢了25%。
    • 简易性:两种方法都是相当的简单,在实现上不需要很复杂的程序或是大量存储空间。然而总体上来讲,SHA1对每一步骤的操作描述比MD5简单。
  • HMAC:主要应用于身份验证中

    密码学重点_第39张图片

  • CBC-HMAC:CBC-MAC是最为广泛使用的消息认证算法之一,同时它也是一个ANSI标准(X9.17)。CBC-MAC实际上就是对消息使用CBC模式进行加密,取密文的最后一块作为认证码。

    密码学重点_第40张图片

你可能感兴趣的:(信息安全,密码学)