• 现代密码学 - 知识点汇总


    第一章

    1、信息安全所受到的威胁:人为威胁和自然威胁

    2、人为攻击:主动攻击(中断、篡改、伪造),被动攻击

      被动攻击因不对消息做任何修改,因而是难以预测的,对弈对抗这种攻击重点在于预防而非检测。

      绝对防止主动攻击是十分困难的,因此抗击主动攻击的主要途径是检测。

    3、安全业务:保密业务、认证业务、完整性业务、不可否认业务、访问控制

    4、安全的网络通信必须考虑以下四个方面:

    (1)加密算法

    (2)用于加密算法的秘密信息

    (3)秘密信息的分布和共享

    (4)使用加密算法和秘密信息以获得安全服务所需的协议

    5、保密系统应满足的要求:

    (1)系统即使达不到理论上是不可破的,也应当为实际上是不可破的(从截获的密文或者密文对上决定密钥或者任意明文在计算上是不可行的)

    (2)系统的保密性不依赖于对加密体制或者算法的保密,而依赖于密钥(Kerckhoff原则)

    (3)加密和解密算法适用于密钥空间中的所有元素

    (4)系统便于实现和使用

    6、密码体质从原理上可分为两大类:单钥体制和双钥体制。

    7、双密钥体制是由Diffie和Hellman于1976年首先引入的

    8、

       对密码系统的攻击类型

    攻击类型

    攻击者掌握的内容

    唯密文攻击

    加密算法

    截获的密文部分

    已知明文攻击

    加密算法

    截获的部分密文

    一个或多个明文密文对

    选择明文攻击

    加密算法

    截获的部分密文

    自己选择的明文消息,及由密钥产生的相应明文

    选择密文攻击

    加密算法

    截获的部分密文

    自己选择的密文消息,及相应的被解密的明文

     

    9、除了一次一密方案外,再无其他的加密方案是无条件安全的

    10、计算上是安全的:

    (1)破译密文的代价超过被加密信息的价值

    (2)破译密文所花的时间超过信息的有用期

    第二章

    1、分组密码与流密码的区别在于有无记忆性

    2、有限状态自动机:

    (1)有限状态集

    (2)有限输入字符集和有限输出字符集

    (3)转移函数

    3、同步流密码的关键是密钥流产生器

    4、密钥流产生器分成驱动部分和非线性组合部分:驱动部分控制生成器的状态转移,并为非线性组合部分提供统计性能良好的序列。而线性组合部分要利用这些序列组合出满足要求的密钥流序列

    5、线性反馈移位寄存器输出序列的周期与状态周期相等,小于等于。

    6、序列的周期达到最大值的序列称为m序列

    7、 特征多项式: p(x)= 1 + c1x + …… + cn-1x^n-1 + cnx^n

    本原多项式: 若n次不可约多项式p(x)的阶为2^n – 1,则称p(x)为n次本原多项式

    8、伪随机序列应满足的条件:

    (1)的周期相当大

    (2)的确定在计算上是容易的

    (3)由密文及相应的明文的部分信息,不能确定整个

    9、设计序列密码的基本要求:

    (1)长周期(2)高线性复杂度(3)统计性能良好(4)足够的“混乱”

    (5)足够的“扩散”(6)抵抗不同形式的攻击

    第三章

    1、如果明文和密文的分组长都为n比特,那么不同的可逆变换有个。

    2、扩散和混淆是由Shannon提出的设计密码系统的两个基本方法

    3、Feistel加密结构的轮函数:

    4、

                     DES的运行模式

    模式

    描述

    用途

    ECB(电密码本模式)

    每个明文组独立地以同一密钥加密

    传送短数据(如一个加密密钥)

    CBC(密码分组链接模式)

    加密算法的输入是当前明文组与前一密文组的异或

    传送数据分组;

    认证

    CFB(密码反馈模式)

    每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文

    传送数据流;

    认证;

    OFB(输出反馈模式)

    与CFB类似,不同之处是本次加密算法的输入为前一次加密算法的输出

    有扰信道上(如卫星通信)传送数据流

    5、 DES的明文分组长度为64比特,密钥长度为56比特

    IDEA算法分组长度为64比特,密钥长度为128比特

    6、AES算法的原型是Square算法,它的设计策略是宽轨迹策略

    7、SM4算法是用于WAPIDE分组密码算法,其中数据分组长度为128比特,密钥分组长度也为128比特,加密算法与扩展密钥算法都采用32轮迭代函数,以字节(8位)和字(32位)位单位进行数据处理

    8、抵抗中途相遇攻击的一种方法是使用三个不同的密钥做3次加密EDE

    9、祖冲之密码的输入时128比特的初始密钥和128比特的初始向量,输出是以32比特长的字为单位的密钥流

    10、祖冲之密码的算法结构:

    上:线性反馈移位寄存器

    中:比特重组

    下:非线性函数F

    第四章

    1、离散对数P(102)

    2、双线性映射:(1)双线性 (2)非退化性 (3)可计算性 P(107)

    3、公钥密码算法应满足的要求:

    (1)接收方B产生密钥对(公钥私钥)在计算上是容易的

    (2)发方A用收方的公开钥对消息m加密以产生密文c在计算上是容易的

    (3)收方B用自己的私密钥对c解密在计算上是容易的

    (4)敌手由B的公开钥恢复明文m在计算上是不可行的

    (5)敌手由密文c和公开钥恢复明文m在计算上是不可行的

    (6)加解密次序可以变换

    4、陷门单项函数是一族可逆函数,满足

    (1)当已知k和X时,易于计算

    (2)已知k和Y时,易于计算

    (3)当已知Y但k未知时,求在计算上是不可行的

    5、对公钥密码体制的攻击:

    穷举搜索攻击,寻找公开钥计算密钥的方法,可能字攻击

    对RSA的攻击:共模攻击,低指数攻击

    第五章

    图5-1,图5-4

    1、单钥体制中的密钥控制技术:密钥标签,矢量控制

    2、公钥的分配方法:公开发布,公用目录表,公钥管理机制,公钥证书

    3、Diffie-Hellman中间人攻击

    4、随机序列要满足随机性和不可预测性。

    5、保障序列随机性的准则:

    (1)均匀分布——数列中每个数出现的频率应相等或近似相等

    (2)独立性——数列中任意一个数不能由其他数推出

    6、门限方案的概念:设秘密s被分成n个部分信息,每一部分信息称为一个子密钥或影子,由一个参与者持有,使得:

    (1)由k个或多于k个参与者所持有的部分信息可重构s

    (2)由少于k个参与者所持有的部分信息则无法重构s

    第六章

    1、消息认证码是指消息被一个密钥控制的公开函数作用后产生的,用作认证符的、固定长度的数值也称为密码校验和

    2、哈希函数应满足的性质:

    (1)函数的输入可以是任意长

    (2)函数的输出是固定长

    (3)已知x,求H(x)较为容易,可用硬件或软件实现

    (4)已知h,求使得H(x)=h的x 在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向哈希函数

    (5)已知x,找出y()使得H(x)=H(y)在计算上是不可行的。如果单向哈希函数门族这一性质,称其为单向哈希函数

    (6)找出任意两个不同的输入x,y使得H(x)=H(y)在计算上是不可行的。如果单向哈希函数满足这一性质,称其为强单向哈希函数

      性质(5、6)给出了哈希函数无碰撞的概念,如果哈希函数对不同的输入可以产生相同的输出,称该函数具有碰撞性

    3、第一类生日攻击:(对哈希函数H寻找y)

    已知一个哈希函数H有n 个可能的输出,H(x)是一个特定的输出,如果对H随机取k个输入,则至少有一个输入y使得H(y) = H(x)的概率为0.5时,k有多大?  

    4、第二类生日攻击:(寻找哈希函数具有相同输出的两个任意输入)

    设哈希函数有个可能的输出,如果k个随机输入中至少有两个产生相同输出的概率大于0.5则

    5、压缩函数f的算法表达比特长的初始值

    6、算法的核心技术是设计无碰撞的压缩函数f;

    7、MD5算法分为518比特长的分组,128比特的消息摘要

      SHA算法分为512比特长的分组,160比特的消息摘要

    8、2005年,王小云等提出了对SHA-1的碰撞搜索攻击

    第七章

    1、数字签名的性质:

    (1)能够验证签名产生者的身份,以及签名产生的时间和日期

    (2)能用于证实被签消息的内容

    (3)数字签名可由第三方验证,从而能够解决通信双方的争议。

    由此可见数字签名具有认证功能。

    2、数字签名的要求:

    (1)签名的产生必须使用发方独有的一些信息以防伪造和否认。

    (2)签名的产生应较为容易。

    (3)签名的识别和验证应较为容易

    (4)对已知的数字签名构造一个新的消息或对已知的消息构造一个假冒的数字签名在计算上不可行

    3、签名算法可用多项式时间算法的三元组表示:

    (1)密钥生成

    (2)签名

    (3)验证

      算法的安全性在于从M(消息)和(签名)难以推出密钥x或伪造一个消息使可被验证为真。

    4、数字签名的执行方式有两类:直接方式和具有仲裁的方式

      直接方式是指数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密钥,或者接收方知道发送方的公开钥。

      仲裁方式是指:发方X对发往收方Y的消息签名后,将消息及其签名先发送给仲裁者A,A对消息及其签名验证完成后,再连同一个表示已通过验证的指令一起发往接收方Y,此时由于A的存在,X无法对自己发出的消息予以否认

    5、合谋攻击

    抵抗合谋攻击:

    (1)X->A:

    (2)A->Y:

    6、数字签名标准(DSS)是由美国NIST公布的联邦信息处理标准。

    7、RSA算法既能用于加密和签名,又能用于密钥交换。DSS使用的算法只能提供数字的签名功能。

    8、A、B两个用户在建立共享密钥时需要考虑的核心问题是保密性和实时性。

    9、保证实时性常用的方法:时间戳,询问—应答

    10、时间戳不能用于面向连接的应用过程。

    询问—应答方式不适合于无连接的应用过程。

    11、单钥加密体制:

    Needham-Schroeder协议:

    (1)A->KDC:

    (2)KDC->A:

    (3)A->B:

    (4)B->A:

    (5)A->B:

    该协议易遭受重放攻击

    12、如果发送方的时钟超前于接受方的时钟,敌手可以截获发送方发出的消息,等待消息中的时间戳接近于接收方的时钟时,再重发这个消息,这种攻击称为等待重放攻击。

    13、改进:

    (1)A->B:

    (2)B->KDC:

    (3)KDC->A:

    (4)A->B:

    14、单向认证公钥加密:

    主要关心保密性 :A->B: 

    主要关心认证性: A->B:

    既要提供保密性又要提供认证性:A->B:

    第八章

    1、不经意传输协议

    2、交互式证明系统由两方参与,分别称为证明者和验证者。

    3、交互式证明和数学证明的区别是:数学证明的证明者可以自己独立的完成证明,相当于笔试;而交互式证明是由P一步一步的产生证明,V一步一步的验证证明的有效性来实现的,相当于口试,因此双方之间通过某种信道的通信是必要的。

    4、交互式证明系统的要求:

    (1)完备性:如果P知道某一秘密,V将接受P的证明

    (2)可靠性:如果P能以一定的概率使V相信P的证明,则P知道相应的秘密

    5、零知识证明起源于最小泄露证明。

    6、在交互式证明系统中,设P知道某一秘密,并向V证明自己掌握这一秘密,但又不向V泄露这一秘密,这就是最小泄露证明。如果V除了知道P能证明某一事实外,不能得到其他任何信息,则称P实现了零知识证明。


    __EOF__

  • 本文作者: 3cH0_Nu1L
  • 本文链接: https://www.cnblogs.com/3cH0-Nu1L/p/17818043.html
  • 关于博主: Keep Learning.
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    c 的网络I/O库总结(libevent,libuv,libev,libeio)
    PMP提分练习
    LCD实现鸿蒙开机页面-材料准备篇
    JavaScript小技能:变量
    计算节点的网络地址(用16进制表示)
    在Python中实现限定抽奖次数的机制
    U-Boot 移植深入
    全能文字转语音 - 具备真人发声效果的智能配音软件
    高级IO/多路转接-select/poll(1)
    excel导入导出demo笔记
  • 原文地址:https://www.cnblogs.com/3cH0-Nu1L/p/17818043.html