密码学复习摘要

密码学复习提纲
1. 密码学概念
(1) 密码学的学科特点
 解决信息的机密性保护、可鉴别和抗抵赖。是信息安全重要理论基础,密码技术已经到信息安全各个领域。密码编码学,密码分析学。为信息提供机密性、数据完整性、鉴别、抗抵赖。
(2) 研究的主要内容
 密码编码学:寻求有效密码算法和协议,以保证信息的机密性或认证性的方法。它主要研究密码算法 的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是保密系统设计的基础。
 密码分析学 :研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。
(3) 密码系统的安全条件:理论不可破译和实际不可破译,实际可用密码系统须具备的特性。
 理论不可破译:攻击者观察密文前后明文的不确定性相等,也即攻击者通过观察密文不会得到任何有助于破译密码系统的信息。一次一密。
 实际不可破译:当密码系统的密钥空间足够大时,由于攻击者受计算条件、资源的限制,而且有其特定的目的,若不能在希望的时间内或实际可能的条件下破译成功

  1. 计算量(计算时间)巨大
  2. 破译该密码系统所需要的计算时间超过被加密信息有用的生命周期。
  3. 破译费用超过了信息本身的价值。
    (4) 两类重要密码体制,即对称密码体制和非对称密码体制的主要特点
     对称密码体制中
  4. 加解密密钥相同或可相互导出;
  5. 算法效率高;
  6. 密钥管理困难;
  7. 开放性差;
  8. 需要可靠密钥传输信道;
  9. 难以实现数字签名;
  10. 常用于数据加密。
     非对称密码
  11. 每个用户有两个密钥,一个加密密钥(可公开)和一个解密密钥(保密),两个密钥不相同,且不可由公开的加密密钥导出解密密钥;
  12. 密钥管理相对简单;
  13. 适用于开放的应用环境;
  14. 可方便实现数字签名和验证;
  15. 算法计算效率较低;
  16. 常用于密钥协商和数字签名。
    (5) 两种保密通信模型及原理
     对称
  17. 对称密码体制的主要优点是加密、解密的处理速度快,效率高,算法安全性高。
  18. 对称密码算法的密钥分发过程复杂,所花代价高。
  19. 密钥管理量的困难。
  20. 保密通信系统的开放性差。
  21. 存在数字签名的困难性。
     公钥
  22. 密钥分配简单。
  23. 系统密钥量少,便于管理。
  24. 系统开放性好。
  25. 可以实现数字签名。
    2. 数论基础
    模运算及有关性质、求逆运算(扩展的Euclid算法)、方幂运算、解同余方程组(应用中国剩余定理),有限域GF(2) 上的多项式表达与运算(AES基本运算,如字节加法、乘法以及x乘法)
    AES:
    加法:异或
    乘法:相乘 取余
    X乘法:
    3. 古典密码技术
    (1) 替换密码与置换密码的概念与表示方法 :
     替换:是将明文中的一个字母由其他字母、数字或符号替换的一种方法。替代密码是指先建立一个替换表,加 密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的 字符串,即密文;解密时则利用对应的逆替换表,将需要解密的密文依次通过查表,替换为相应的字符 即可恢复出明文。替代密码的密钥就是其替换表。
     置换密码又称为换位密码,这种密码通过改变明文消息各元素的相对位置,但明文消息元素本身的 取值或内容形式不变。这种密码是把明文中各字符的位置次序重新排列来得到密文的一种密码体制。

(2) 单表替换密码、多表替换密码的概念
 根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。

  1. 单表替代密码。密码算法加解密时使用一个固定的替换表。这时对明文消息中出现的同一个字 母,在加密时都用同一个固定的字母来替代,而不管它出现在什么地方。
  2. 多表替代密码。密码算法加解密时使用多个替换表。这样,明文消息中出现的同一个字母,在 加密时不是完全被同一个固定的字母替代,而是根据其出现的位置次序,用不同的字母替代。
  3. 多表替代主要优势:密文中字母的统计特性与明文中的统计特性不相同。
    (3) 掌握Hill密码的特性与计算方法
     Hill 密码特点:
  4. 多字母代替密码:可以较好地抑制自然语言的统计特性,不再有单字母替换的一一对应关系,对抗“惟密文攻击” 有较高安全强度。
  5. 密钥空间较大,在忽略密钥矩阵 K 可逆限制条件下,|K |=26n×n。
  6. 易受已知明文攻击及选择明文攻击(详见 11.2.3 节相关分析)。
  7. 古典密码特例,多表替换密码

    (4) 了解其它密码原理与方法:
     单表
  8. 一般单表替代密码
  9. 移位密码
  10. 仿射密码:线性变换
  11. 密钥短语密码
  12. Playfair: 双字母单表替代密码
     多表
  13. 维吉尼亚密码
  14. 一次一密
    a) 密钥是真正的随机序列;
    b) 密钥长度大于等于明文长度;
    c) 每个密钥只用一次(一次一密)。
     置换(HILL密码特例)
  15. 周期置换
  16. 列置换
     转轮机密码

4. 分组密码体制
(1) 分组密码的特点、基本要求,乘积密码的概念
 特点:

  1. 速度快
  2. 易于标准化
  3. 便于软硬件实现
  4. 属于对称密码体制
     要求:
  5. 分组长度和密钥长度尽量大
  6. 扰乱原则:又称混淆原则:得密钥和明文以及密文之间的依赖关系相当复杂。算法复杂
  7. 扩散原则:密钥的每一位影响密文的许多位,隐蔽统计特性
  8. 软件实现
  9. 硬件实现

 乘积密码:就是以某种方式连续执行两个或多个密码, 以使得所得到的最后结果或乘积比其任意一个组成密码都更强。乘积密码通常伴随一系列置换与代换操作,常见的乘积密码是迭代密码,即对同一种密码进行迭代使用。
(2) 分组密码原理与概念
 在密钥K控制下一次变换一个明文数据块的密码体制。
(3) 数据加密标准DES、三重DES, IDEA, AES,SM4等算法原理与基本特性(如分组大小、密钥长度、循环次数、基本运算/函数等)
 DES:

  1. 明文分组为 64 位
  2. 有效密钥 56 位,密钥空间2^56
  3. 输出密文 64 位的
  4. 16 轮迭代
  5. DES 由初始置换,16 轮迭代,初始逆置换组成。
  6. 唯一的非线性变换是8个S盒子
  7. 加密解密算法相同
  8. P置换是混淆作用
     IDEA:
  9. 明文和密文分组都是 64 位
  10. 密钥的长度是 128 位。IDEA 一次完整的加密运算需要 52 个子密钥。这 52 个16 位的子密钥都是由一个 128 位的加密密钥产生的。
  11. 同一算法既可用于加密又可用于解密
  12. IDEA 的扩散特性是建立在乘法/加法(MA)的基本结构上。
  13. 逐位异或+模65536加法+模65537乘法
  14. 8轮迭代
     AES:
  15. 分组长度:128位
  16. 密钥长度:128,192,256位
  17. 字节替换:唯一非线性
  18. 行位移
  19. 列混合
  20. 轮密钥加法
  21. 加密解密函数不同

 SM4:

  1. 分组长度128位
  2. 密钥长度128位
     三重DES
  3. 密钥长度 112 或 168
  4. 速度慢
  5. 分组长度64位
    (4) 分组密码的操作方式及特点(ECB、CBC、CFB、OFB)。
     分组密码的操作模式是将分组密码用于对大文件进行加密。
     电码本模式( ECB,Electronic Code Book)
     原理:将每块明文加密成相应的密码块,若最后一块不足64bit, 则用一些任意二进制序列填充。这样相同的明文块总被加密成相同的密文块。
     特点:
  6. 一种最简易的工作方式;
  7. 相同密钥作用下,密文块与明文块一一对应,易于 暴露明文的固有格式;
  8. 各密文块间缺乏相关性,信息易于受到块替换攻击 。 算法本质上相当于一个“大的单字母替换”。
     密码块链接模式(CBC,Cipher Block Chain)
     原理:加入反馈机制,当前明文块在加密之前要与前面的密文块进行异或。
     特点:
  9. 同一明文块会产生不同的密文块;算法不再是一个 “大的单字母替换”
  10. 有误码扩散,同时又有自同步特性;若Ci在传送过程中出错,则解密时会造成mi和mi+1两个 明文块都出错,但后面的密文块仍然能自动正确恢复。
  11. 只有当所有64比特块到达后才能开始编解码,不能直接用于交互式终端。否则传输带宽浪费严重。
     密码反馈模式(CFB,Cipher FeedBack )
     原理:CFB数据是按比分组小得多的单位进行加密的,密文依赖于前面所有的明文。
     特点:
  12. 移位寄存器的的内容与明文整个以前的历史有关,同样需要一个初始向量(寄存器初值);
  13. 存在误码扩散(仍有自同步特性)
  14. 将分组密码转换为流密码(序列密码),实现即时加密;
     输出反馈模式(OFB,Output FeedBack )
     原理:与CFB模式相似,但它是在块内部进行反馈,其反馈机 制既不依赖明文也不依赖密文流,所以又称为内部反馈模式。
     特点:
  15. 没有误码扩散,适用于传输信息长度变化较大的数据,如 语音、图像等;
  16. 比CFB更易受对消息流的篡改; 攻击者有可能通过对消息数据部分和校验部分的篡改, 而以检错码不能检测的方 式篡改密文。
  17. 链接相关性,密文与前面的明文无关。
  18. 应用时要求一次一密方式(OTP,One-Time Pad)
    5. 公钥密码体制
    (1) 体制概述(与对称密码体制相比较,各自的主要特点):diffie-hellman提出
     对称:
  19. 密钥管理的困难性问题
  20. 系统的开放性问题
  21. 数字签名问题
    (2) RSA、ElGamal加密算法特点和安全性基础;熟练掌握RSA、ElGamal密码体制的计算和应用方法,如平方-乘法算法、应用中国剩余定理实现RSA快速运算。
     RSA特点:
  22. 平方乘法快速加密解密;中国剩余定理快速解密
  23. 大素数产生:一个比较高效和流行的素性检测算法是 Miller-Rabin 算法
  24. 安全:
    a) 用户之间不要共享模数 n
    b) 不同的用户选用的素数不能相同
    c) 一般不能直接应用 RSA 进行加解密
    d) 加密结果确定
  25. 安全性:大整数分解问题

 ELGamal:

  1. 安全性:有限域上的离散对数分解
  2. 加密结果有随机性。随机数K不能重用。
  3. 明文空间密文空间大小不同

(3) 国密算法SM2特点、椭圆曲线EC上的基本运算及概念(逆元、点加、倍点等)
 椭圆曲线:

  1. 密钥长度小:相同性能优于RSA
  2. 算法性能好
  3. 运算(x,y)
    a) 逆元(x,-y)
    b) 倍点

c) 加法

6. 散列函数与消息鉴别
(1) 密码散列函数的概念和6个基本性质
 概念:散列函数又称为哈希函数(Hash 函数)、杂凑函数,它是一种单向密码体制,是一个从 明文到密文的不可逆映射,只有加密过程,没有解密过程。散列函数是可将任意长度的输入消息 (Message)压缩为某一固定长度的消息摘要(MD,Message Digest)的函数,输出的消息摘要也称为 散列码。散列函数的这种单向特性和输出数据长度固定的特征,使得可利用它生成文件或其它数据块的 “数字指纹”,因此在数据完整性保护、数字签名等领域得到广泛应用。
 基本性质:

  1. h(m)算法公开,不需要密钥。
  2. 具有数据压缩功能,可将任意长度的输入数据转换成一个固定长度的输出。
  3. 对任何给定的 m,h(m)易于计算。
  4. 具有单向性。给定消息的散列值 h(m),要得到消息 m 在计算上不可行;
  5. 具有弱抗碰撞性(Weak collision resistance)。也称弱抗冲突性:对任何给定的消息 m,寻找与 m 不同的消息 m ’,使得它们的散列值相同,即 h(m’)=h (m),在计算上不可行。
  6. 具有强抗碰撞性(Strong collision resistance) 。也称强抗冲突性:寻找任意两个不同的消息 m 和 m ’, 使得 h(m)=h (m’) 在计算上不可行。
    (2) 散列函数的基本应用方式(基于散列函数的6种报文鉴别方式,掌握P93,图5.16)

(3) 单向散列函数的设计、构造问题
 简单的散列函数的不安全性
 散列函数的生日攻击问题
(4) MD5、SHA-1、SHA-256、SM3等典型散列函数的基本特性(单向散列性、输出位数)
 SHA-1:输出160位
 SHA-256:输出256位。输出是一个160比特的报文摘要,它所接受的输入报文的最大长度不超过2 64比特。即高位字节存储在低地址字节上。
 MD5:输出128位,报文分组512位,散列码长度128位:
 SM3:输出256位

  1. SM3是我国密码管理局颁布的商用密码Hash函数。
  2. SM3对数据进行填充和扩展,然后迭代压缩生成Hash值。
  3. 输入数据L比特 , 1≤ L ≤ 264 。
  4. 输出Hash值长度为256比特
    (5) 鉴别的概念、分类(报文鉴别与实体鉴别)
     报文鉴别:对通信中实体和数据原发(数据源)的鉴别。
     实体鉴别:证实对方身份或消息来源的通信协议。
    (6) 实现报文鉴别主要方法。(基于报文加密、散列函数和报文鉴别码的报文鉴别方式)
     消息鉴别码(MAC,Message Authentication Code)或报文鉴别码,是用于提供数据原发鉴别和数据完 整性的密码校验值。
     特性:
  5. 容易计算
    (7) 利用分组密码CBC方式构造报文鉴别码及hash函数的原理与问题(密钥公开问题、抗冲突性问题)
     密钥不能公开
     存在冲突
    (8) 生日攻击概率为根号n,n为明文空间大小
    7. 数字签名
    (1) 数字签名的概念,基本特性
     概念:把数字形式的消息和某个源发实体相联系的数据串,把它附加在一个消息或 完全加密的消息上,以便于消息的接收方能够鉴别消息的内容,并证明消息只能源发于所声称的发送方。
     特性:数字签名的目的同样是保证信息的完整性和真实性,即消息内容没有被篡改,而且签名也没有被 篡改,消息只能始发于所声称的发送方。
  6. 签名是不可伪造的:
  7. 签名是不可抵赖的:无法否认
  8. 签名是可信的:验证容易
  9. 签名是不可复制的。
  10. 签名的消息是不可篡改的。
    (2) 数字签名两种执行方式
     直接:数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密密钥,或者接收一 方知道发送方的公开密钥。例如消息接收者可以获得消息发送者的公钥,发送者用其自己的私钥对整个 消息或者消息散列码进行签名来形成数字签名。方案的有效性依赖于发送方秘密密钥的安全性
     仲裁:具有仲裁的数字签名是在通信双方的基础上引入了第三方仲裁者参与。通常的做法是所有从发送方 到接收方的签名消息首先送到仲裁者,仲裁者将消息及其数字签名进行一系列的测试,以检查其来源和 内容,并将消息加上时间戳,与已被仲裁者验证通过的数字签名一起发送给接收方。在这种方式下,仲 裁者扮演裁判的角色,起着重要作用并应取得所有的参与者的信任。
    (3) 数字签名的应用过程
     系统初始化过程:产生数字签名方案中用到的所有系统和用户参数,有公开的,也有秘密的。
     签名产生过程:用户利用给定的签名算法和参数对消息产生签名,这种签名过程可以公开也 可以不公开,但一定包含仅签名者才拥有的秘密信息(签名密钥)。
     签名验证过程:验证者利用公开的验证方法和参数对给定消息的签名进行验证,得出签名的 有效性。
    (4) 熟练掌握典型公开密钥密码体制的数字签名算法(RSA、ElGamal)原理、计算方法与应用
     RSA:
  11. 上述 RSA 数字签名算法采用了对整个消息进行签名的方法,由于公开密钥密码体制一般速度 都比较慢
  12. 安全性取决于 RSA 公开密钥密码算法的安全性(基于大整数分解的困难性)
  13. 如果消息 m1、m2 的签名分别是 s1和 s2,则任何知道 m1,s1,m2,s2的人都可以伪造对消息 m1m2 的签名 s1s2,这是因为在 RSA 的数字签名方案中,Sig(m1m2) = Sig(m1)Sig(m2)。
    (5) 了解国密SM2
    (6) DSS散列算法为SHA-1.DSS签名算法DSA。DSA是ElGamal 数字签名方案的改进,安全性仍然是基于有限域上计算离散对数的困难性。
    8. 密钥管理
    (1) 密钥管理基本内容和概念
     是在授权各方之间实现密钥关系的建立和维护的一整套技术和程序。
     密钥管理负责密钥 从产生到最终销毁的整个过程,包括密钥的生成、存储、分发、使用、备份/恢复、更新、 撤销和销毁等。密钥管理作为提供机密性、实体认证、数据源认证、数据完整性和数字签名 等安全密码技术的基础。
    (2) 理解密钥分配与密钥协商的目标与特点
     目标:都是用以在保密通信双方之间建立通信所使用密钥的安全协议(或机制)。
     特点:
     (1) 密钥分发被定义为一种机制,保密通信中的一方利用此机制生成并选择秘密密钥,然后把该密钥发送给通信的另一方或通信的其他多方;
     (2) 密钥协商则是保密通信双方(或更多方)通过公开信道的通信来共同形成秘密密钥的协议。
    (3) 掌握公钥证书的概念与基本内容,以及证书真实性、有效性的确认(包括用CA的公钥验证数字签名),持有人的确认方法。
     公钥证书:是一种包含持证主体标识、持证主体公钥等信息,并由可信任的 CA 签署的信 息集合。公钥证书主要用于确保公钥及其与用户绑定关系的安全。公钥证书的持证主体可以 是人、设备、组织机构或其他主体。
     公钥证书的内容主要包括用户的名称、用户的公钥,证书的有效日期和 CA 的签名等。公钥证书能以明文的形式进行存储和分发。

     任何一个用户只要知道签证机构的公钥,就能检查对证书的签名的合法性;
     使用证书持有人的公钥加密信息来确认证书持有人的有效性和真实性。
    (4) Diffie-Hellman密钥交换算法及安全性基础,熟练掌握计算方法及应用中的相关问题。
     安全性基础:有限域 Zp的离散对数问题
     没有身份鉴别,中间人攻击。引入鉴别机制。端到端。
    9. 身份鉴别技术
    (1) 身份鉴别的基本方式(鉴别实体所知、所拥有、所具有的唯一特征)
    a) 验证实体已知什么,如一个口令或通行短语(Password)。
    b) 验证实体拥有什么,如通行证、磁卡、智能 IC 卡、口令生成器、U 盾、手机号(短 信验证码、手机令牌)等。
    c) 验证实体不可改变的特性,如笔迹、指纹、掌纹、声音、视网膜等生物学测定得 来的标识特征。
    d) 相信可靠的第三方建立的鉴别(递推)。
    e) 环境(如主机地址)。
    f) 实体:声称者,验证者
    (2) 基于动态口令的身份鉴别原理与实现方案
    a) 散列函数
    b) Salt 机制
    c) 一次性口令(OTP)
    i. 质询响应: 系统随机给出一个信息,用户将该信息连同其鉴别信息(可能经过计算处理)提交系统进行鉴别
    ii. 时钟同步: 是随机信息是同步时钟信息
    iii. S-KEY

(3) 密码协议对抗重放攻击的两种基本方法(时间戳、质询-响应机制)
a) 质询响应:由验证者给声称者发送一个确定的值(质询消 息),该值参与鉴别信息的运算。产生的非重复质询消息完全由验证者决定,使得每次传输 的鉴别信息不同。
b) 时间戳:在系统每次输出的密文信息中附加日期与时间信息,鉴别双方都可以根据密文中的日期时间来判断消息是否是当前的
(4) Kerberos系统的密码学特点(基于对称密码体制)和基本原理
a) 对称密码
b) 它采用对称密钥加密技术来提供可信任的第三方鉴别服务。通信双 方共享一个密钥 K,通信的一方可以通过验证对方是否知道密钥 K,来验证对方的身份。这种鉴别存 在一个密钥分发问题,即通信双方如何知道他们的共享密钥。显然不能把共享密钥通过通信线路明文传 输,那样容易被监听者窃取。Kerberos 采用如下机制来解决这个问题:它建立一个公正的第三方密钥 分发中心(KDC,Key Distribution Center),KDC 负责给通信双方生成共享密钥,并通过票据(Ticket) 给通信双方分发共享密钥。
c) Kerberos 鉴别系统有三个参与方:客户机、应用服务器、密钥分发中心 KDC
d)
e) 缺陷
i. 不能抵抗口令猜测攻击:用户的秘密密钥与口令有关,攻击者可以收集口令信息对密钥进行破解。改进:增加密钥强度。
ii. 重放攻击问题:票据的生存周期比较长,所以可以对票据进行主动攻击。缩短票据的生存周期。
iii. 密钥安全:服务器保管用户密钥。需要安全措施加密密钥,以及备份,可能造成很大的开销。

10. 序列密码
(1) 了解序列密码的基本特点;
a) 序列密码也称为流密码(stream cipher),它是对称密码算法的一种。
b) 序列密码具有
i. 软件 实现简单、
ii. 便于硬件实现、
iii. 加解密处理速度快、
iv. 没有或只有有限的错误传播等特点,
v. 因此序 列密码在实际应用中,特别是在军事或外交保密通信应用领域有着突出优势。
vi. 分为自同步与同步。
c) 特点:
i. 序列密码以一个符号(如一个字符或一个比特)作为基本的处理单元,而分组密 码以一定大小的分组作为基本的处理单元;
ii. 序列密码使用一个随时间变化的简单的加密变换,即不同时刻所用的密钥不同, 而分组密码在不同时刻所用的密钥是相同的。
d) 序列密码可以进一步划分成同步序列密码和自同步序列密码两种。
i. 同步:密钥流的产生与明密文消息独立

  1. 无错误传播
  2. 有同步要求。发送方和接收方必须保持精确的同步。
    ii. 自同步:
  3. 有限错误传播。
  4. 自同步
    (2) 了解线性反馈移位寄存器(LFSR)的结构与特点
    a)
    b) 特点:
    i. LFSR 非常适合硬件实现;
    ii. 它们能产生大的周期序列;
    iii. 它们能产生好的统计特性的序列;
    iv. 它们的结构能够应用代数方法进行很好的分析。
    (3) 了解基于LFSR的序列密码
    a) 而 LFSR 序列密码可破译的根本原因在于线性移位寄存器序列是线性的
    b) 对一个或多个线性移位寄存器序列进行非线性组合可以获得良好的非线性序列。
    c) 在这里用线性移位寄存器序列作为驱动源来驱动非线性电路产生非线性序列,其 中用线性移位寄存器序列来确保所产生序列的长周期和均匀性,用非线性电路来确保输出序 列的非线性和其他密码性质。
    d) 生成器:
    i. Geffe 发生器
    ii. 钟控发生器
    iii. 交错停走式发生器
     综合应用
  5. 散列函数的基本应用方式 (基于散列函数的鉴别/认证)
  6. 采用常规加密算法和散列函数对通信报文实现机密性和完整性。
  7. 利用密码技术设计提供信息的机密性、完整性和可鉴别性服务的信息安全传输方案。(掌握P93,图5.16)
  8. 混合密码体制的应用模型(PGP)
    a) 混合密码体制
    b)
    c) 鉴别,机密性,鉴别+机密性,压缩
    d) 密钥环:公钥环+私钥环
    e) 谨慎
  9. PKI是公钥基础设施。公钥基础设施 PKI 是一个基于公开密钥理论与技术实施和提供安全服务的具有普适性的安全基础设施的总称,它并不特指某一密码设备及其管理设备。

大题:
HILL
RSA
ElGamal
DIFFIE-HELLMAN

你可能感兴趣的:(密码学复习摘要)