网络信息安全原理、密码学相关知识点




目录

目录

第三章与第四章 

    1.  系统框架图如下图1:

    2.  对框图的解释

    3.  DES

    4.  AES

    5.  杂七杂八的



第三章与第四章 

    1.  系统框架图如下图1:

      

图1

    2.  对框图的解释

      ①对称密码也称传统密码,它的特点是发送方和接收方共享一个密钥,加密密钥和解密密钥相同。对称密码分为两类:分组密码(Block Ciphers)和流密码(Stream Ciphers)。分组密码也称为块密码,它是将信息分成一块(组),每次操作(如加密和解密)是针对一组而言。流密码也称序列密码,它每次加密(或者解密)一位或者一个字节。但如果从发展阶段来看,我们把计算机技术出现以前的对称密码称为古典加密技术,把之后的对称密码称为现代对称加密技术。

      ②对称密码技术主要使用两种技巧:代换和置换。
代换是将明文中的每个元素映射成另一个元素。置换是将明文中的元素重新排列。在20世纪70年代以前的加密技术都是对称加密技术,并且只使用了代换或者置换技巧(如最简单的凯撒密码)。这个时期的加密技术也称为古典加密技术;在20世纪70年代以后出现的对称加密技术(如DES、AES等)则同时使用了代换和置换两种技巧。这两个阶段的加密技术还有一个典型区别:古典加密技术一般将加密算法保密,而现代的对称加密技术则公开加密算法,加密算法的安全性只取决于密钥,不依赖于算法。非对称密码技术则产生于20世纪70年代。

      ③古典加密技术分为两类:一类是单字母代换密码,它将明文的一个字符用相应的一个密文字符代替。单字母代换密码又分为单表代换密码和多表代换密码。单表代换密码只使用一个密文字母表,并且用密文字母表中的一个字母来代替一个明文字母表中的一个字母;另一类是多字母代换密码(常见的有Playfair密码和hill密码),它是同时对多于一个字母进行代换,有利于隐藏字母的自然出现频率。多表代换密码是将明文消息中出现的同一个字母,在加密时不完全被同一个固定的字母代换,而是根据其出现的位置次序,用不同的字母代换。

      ④对密码的攻击方法有基于密码算法性质的密码分析穷举搜索攻击,而密码分析方法有线性分析和差分密码分析。线性分析是一种已知明文攻击,是一种统计攻击,它以求线性近似为基础。通过寻找现代密码算法变换的线性近似来攻击。差分密码分析在许多方面与线性密码分析相似,它与线性密码分析的主要区别在于差分密码分析包含了将两个输入的异或与其相对应的两个输出的异或相比较。差分密码分析也是一个选择明文攻击。差分密码分析被公认为近年来密码分析的最大成就。它的基本思想是:通过分析明文对的差值与密文对的差值的影响来恢复某些密钥位。

      ⑤DES是第一个加密标准,它与古典加密技术不一样,DES同时使用了代换和置换两种技巧。用56位密钥加密64位明文
AES是用来取代DES的高级加密标准,其结构与DES不同,它是用128、192或者256位密钥加密128位的分组SM4是我国官方公布的第一个商用密码算法,它是一种分组对称密码算法,用128位密钥加密128位的分组;RC6是RSA公司提交给NIST的一个候选高级加密标准算法,其效率非常高;RC4是被广泛使用的一种同步流密码;在密码学中的很多场合下都要使用随机数,安全的随机数应该满足随机性和不可预测性;密钥分配为通信的双方发送会话密钥。

    3.  DES

      1949年Shannon的论文《保密系统的通信理论》,标志着密码学作为一门独立的学科的形成。Shannon建议采用扩散(Diffusion)混淆Confusion)和乘积迭代的方法设计密码。所谓扩散就是将每一位明文和密钥的影响扩散到尽可能多的密文数字中。产生扩散的最简单的方法是置换混淆用于掩盖明文和密文之间的关系。使得密钥的每一个位影响密文的许多位,以防止对密钥进行逐段破译,并且明文的每一个位也应影响密文的许多位,以便隐蔽明文的统计特性。用代换方法可以实现混淆。混淆就是使密文和密钥之间的关系复杂化。密文和密钥之间的关系越复杂,则密文和明文之间、密文和密钥之间的统计相关性就越小,从而使统计分析不能奏效。设计一个复杂的密码一般比较困难,而设计一个简单的密码相对比较容易,因此利用乘积迭代的方法对简单密码进行组合选代,可以得到理想的扩散和混淆,从而得到安全的密码。近代各种成功的分组密码(如DES、AES等),都在一定程度上采用和体现了Shannon的这些设计思想。

      ①DES(Data Encryption Standard)是分组密码的典型代表,也是第一个被公布出来的加密标准算法。现代大多数对称分组密码也是基于Feistel密码结构的。

      ②DES的加密过程

      DES同时使用了代换和置换两种技巧。它用56位密钥加密64位明文,最后输出64位密文整个过程由两大部分组成:一个是加密过程;另一个是子密钥产生过程。

      加密过程如下:

      可分为如下的三部分。

      (1)64位明文经过初始置换被重新排列,然后分左右两半,每半各32位。注意第一步只是进行了位置变换,不涉及代换。
      (2)左右两半经过16轮置换和代换迭代,即16次实施相同的变换,然后再左右两半互换。在这里要求熟悉每一轮的结构,如图2加密函数F是由每一轮的右半部分(即32位),与每一轮的子密钥(48位)的异或,但是因为位数不同,所以要先进行处理,如图3。先使用扩展置换E,将右半部分扩展为48位,然后与子密钥异或输出48位,然后再使用8个s盒压缩成32位,再经过置换函数p,输出32位的加密函数F。在加密函数计算过程中使用了8个S盒,S盒是DES保密性的关键所在,它是一种非线性变换,也是DES中唯一的非线性运算。S盒有6位输入,4位输出,因此48位即对应32位输出。

图2
图3

      (3)互换后的左右两半合并,再经过逆初始置换输出64位密文。

      子密钥产生过程如下:

      DES总共要16轮加密,,每轮加密密钥都不同,所以需要产生16个48位的子密钥,这些子密钥由算法的56位密钥产生。

主要包括置换选择和循环左移。

    4.  AES

      美国国家标准技术研究所NIST)(DES也是它公开征集)在1997年公开征集新的高级加密标准(Advanced Encryption Standards,AES),要求AES比3DES快而且至少和3DES一样安全,并特别提出高级加密标准的分组长度为128位的对称分组密码,密钥长度支持128位、192位和256位。

    5.  杂七杂八的

      ①一次一密是绝对安全的密码,人们尝试用流密码来仿效一次一密密码.

      ②一般情况下,密码分析者可以得到密文,知道明文的统计特性、加密体制、密钥空间其统计特性,但不知道加密截获的密文所用的特定密钥。这个假设称为Kerckhoff假设。

      ③密码攻击类型

      ·唯密文攻击(Ciphertext-Only Attack)。密码分析者有一些消息的密文,密码分析者知道的东西只有两样:加密算法和待破译的密文。
      ·已知明文攻击(Known-Plaintext Attack)。密码分析者除知道加密算法和待破译的密文外,即还知道一定数量的明文和对应的密文。
      ·选择明文攻击(Chosen-Plaintext Attack)。密码分析者知道加密算法和待破译的密文,并且可以得到所需要的任何明文所对应的密文,这些明文和待破译的密文是用同一密钥加密得来的。
      ·选择密文攻击(Chosen-Ciphertext Attack)。密码分析者知道加密算法和待破译的密文,密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,即知道选择的密文和对应的明文。解密这些密文所使用的密钥与解密待破解的密文的密钥是一样的。这种攻击主要用于公钥密码算法。
      ·选择文本攻击(Chosen Text Attack)。选择文本攻击是选择明文攻击和选择密文攻击的结合。密码分析者知道加密算法和待破译的密文,并且知道任意选择的明文和它对应的密文,和任意的密文对应的明文。

 

发布了18 篇原创文章 ·
获赞 6 ·
访问量 2282