信息安全技术——(二)密码技术

1.密码学基本概念和设计原则

1.1密码学

密码学(Cryptology)分为密码编码学(Cryptography)和密码分析学(Cryptanalysis),前者寻求提供信息机密性完整性、真实性和非否认性等的方法,后者研究加密消息的破译和伪造等破坏密码技术所能提供安全性的方法。

1.2密码方案

密码方案是指一个密码算法、相关参数及其使用方法的总和,其中,参数主要包括密钥、明文和密文
在这里插入图片描述

1.3Kerckhoffs(柯克霍夫)准则

  • 密码算法的安全性必须建立在密钥保密的基础上,即使敌手知道算法,若不掌握特定密钥也应难以破译密码算法。
  • Kerckhoffs准则认为,一个安全保护系统的安全性不是建立在它的算法对于对手来说是保密的,而是应该建立在它所选择的密钥对于对手来说是保密的。
  • 密码学中两种常见的密码算法为对称密码算法(单钥密码算法)和非对称密码算法(公钥密码算法)。

1.4密码分析(密码攻击)

在这里插入图片描述

  1. 唯密文攻击
    定义:唯密文攻击(COA)是指仅仅知道密文的情况下进行分析,求解明文或密钥的密码分析方法。
    简单理解:只知道密文,推出明文或密钥,一般用穷举攻击
    在这里插入图片描述
  2. 已知明文攻击
    定义:已知明文攻击(KPA)是指攻击者掌握了部分的明文M和对应的密文C,从而求解或破解出对应的密钥和加密算法。
    简单理解:知道部分的明文和密文对,推出密钥和加密算法。
    在这里插入图片描述
  3. 选择明文攻击
    定义:选择明文攻击(CPA)是指攻击者除了知道加密算法外,还可以选定明文消息,从而得到加密后的密文,即知道选择的明文和加密的密文,但是不能直接攻破密钥。
    简单理解:知道明文就知道密文,目标为推出密钥。
  4. 选择密文攻击
    定义:选择密文攻击(CCA)是指攻击者可以选择密文进行解密,除了知道已知明文攻击的基础上,攻击者可以任意制造或选择一些密文,并得到解密的明文,是一种比已知明文攻击更强的攻击方式。
    简单理解:知道密文就知道明文,目标为推出密钥。
    在这里插入图片描述

2.对称密码

  • 对称密码可分为古典密码、分组密码和序列密码。
    在这里插入图片描述
  • 对称密码Shannon香农原则
    • 密码设计必须遵循**扩散(Diffusion)和混淆( confusion )**的原则,前者指每一位明文编码的影响要尽可能地扩散到更多的密文中,后者是将明文和密文之间的统计关系复杂化
    • 让26个字母在密文上的使用频次差不多,防止反向推导
    • 单表代换太简单,容易破解
    • 对称密码的设计包括分组密码、序列密码和现代对称密码

2.1古典密码(依靠密码本)

  1. 分类
    • 单表代换密码
      对字母表中的每一个字母用别的字母代换形成密文。
      a b c…z(所有字母往后加4位)e f g…d
    • 多表代换密码
      针对单表代替密码容易被频率分析法破解的缺点,人们提出多表
      代换密码,用一系列(两个以上)代换表依次对明文消息的字母
      进行代换。
      如第1张表往后加1位,第2张表往后加2位,第3张表往后加3位
      th/e a/ir,th用第1张表,ea用第2张表,ir用第3张表,类推
    • 多字符代换密码
      单表代换的一个简单改进,也就是把原来的代换表,由单
      个字符到单个字符的映射,变成了多个字符到多个字符的
      映射。比如,原来在单表代换中,明文字符a用b代换,字
      符b用d代换,故ab,加密成bd;而多字符代换则是一次加
      密多个明文字符,比如ab,直接用另一个字符对ac代替,
      形成密文ac
  2. 多字符代换密码-Hill(希尔)加密
    在这里插入图片描述在这里插入图片描述
    3.字节Byte和比特位bit以及之间的换算
    • 比特bit是二进制位(Binary digit)的简称,一个二进制包含的信息量成为一比特bit。比特bit是计算机内部数据存储的最小单位。二进制在效率和成本方面的优势为全世界所接受,现在电脑所有的信息都是二进制的,就是0和1组成的。
      在这里插入图片描述
    • 字节Byte是计算机数据处理的最小单位,习惯上用大写的B表示,每个字节有8个二进制位,其中最右边的一位为最低位,最左边的一位为最高位,每个二进制位的值不是0就是1。一个字节由8个二进制位组成。也就是1字节Byte等于8比特Bit。

2.2分组密码

在这里插入图片描述

  • AES加密:
    在这里插入图片描述
    在这里插入图片描述
  • 异或加法
    异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
    在这里插入图片描述

2.3序列密码(流密码)

在这里插入图片描述

  • 借助非线性滤波和非线性组合,形成线性反馈移位寄存器,定期更新密钥。
    在这里插入图片描述
  • 其他
    1.USB形状的完全封闭的加密密钥key,上面6位数字,每1分钟变1次;
    2.登录时,输入名字,在数字6位字符,验证后输入自己密码,再输入一次USB key上的6位码
    3.这样总共3次密码。

2.4单向函数

在这里插入图片描述

2.5陷门单向函数

在这里插入图片描述
在这里插入图片描述

3.公钥密码和数字签名技术基本原理

3.1公钥密码

  1. 公钥密码中,密钥分为加密密钥解密密钥两种。
  2. 发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。
    • 发送者只需要加密密钥。
    • 接收者只需要解密密钥。
    • 解密密钥不可以被窃听者获取。
    • 加密密钥被窃听者获取是没问题的。
  3. 公钥密码中,加密密钥一般是公开的,因此被称为公钥(public key)。相对地,解密密钥是绝对不能公开的,不可以将它发送给别人(通信对象也不可以),只能由自己使用,因此被称为私钥(private key)。公钥和私钥是一一对应的,一对公钥和私钥统称为密钥对(key pair)。密钥对中的两个密钥之间具有非常密切的数学关系,因此公钥和私钥是不能分别单独生成的。

3.2Hash表

Hash表也称散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。它基于数组,通过把关键字映射到数组的某个下标来加快查找速度,但是又和数组、链表、树等数据结构不同,在这些数据结构中查找某个关键字,通常要遍历整个数据结构

3.3Hash函数(典型的陷门单向函数)

  • 单向散列函数(one-way hash function)是指对不同的输入值,通过单向散列函数进行计算,得到固定长度的输出值。这个输入值称为消息(message),输出值称为散列值(hash value)
  • 单向散列函数也被称为消息摘要函数(message digest function)哈希函数或者杂凑函数。输入的消息也称为原像(pre-image)。输出的散列值也称为消息摘要(message digest)或者指纹(fingerprint),相当于该消息的身份证
  • 单向散列函数有多种实现算法,常见的有:MD5、SHA-1、SHA-2和 SHA- 3。

3.4电子签名

在这里插入图片描述

扫描二维码关注公众号,回复: 16712670 查看本文章

3.5HTTP/HTTPS

在这里插入图片描述

3.6HTTPS与SSL

在这里插入图片描述

3.7为何要迁移到HTTPS

在这里插入图片描述

4.密钥分配与协商基本原理

4.1密钥管理

在这里插入图片描述

4.2密钥分配方法

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_63853448/article/details/126650740