网络空间安全导论--第4章 数据加密

第4章 数据加密

本章围绕数据加密的主题,介绍保障网络空间安全的核心技术——密码学,纵观密码学的发展历程,阐述密码学的理论基础,总结密码学的应用现状

学习目标

  1. 对称密码
    掌握对称密码机制的基本原理,简单了解常见的对称密码算法
  2. 公钥密码
    掌握公钥密码机制的基本原理,简单了解常见的公钥密码算法
  3. 摘要与签名
    掌握摘要与签名的基本原理,简单了解常见的摘要算法与数字签名算法
    在这里插入图片描述

一、对称密码

掌握对称密码机制的基本原理,简单了解常见的对称密码算法

基本原理:加密和解密使用相同的密钥:KE=KD;密钥必须使用秘密的信道分配
基本设计原则:扩散(重新排列消息中的每一个比特,使明文中的冗余度能够扩散到整个密文,将每一个比特明文的影响尽可能作用到较多的输出密文位中)和扰乱(密文和密钥之间的统计特性关系尽可能复杂化。如果密钥的一位发生变化,密文的绝大多数位也发生变化)
基本设计方法:多次迭代

1. 分组密码

五种迭代模式:
在这里插入图片描述
支持并行运算:ECB,CFB的解密,CTR

1ECB
优点:
(1)每个分组的处理相互独立,可以并行操作
(2)一个密文块传输错误不会影响后续密文解密, 是分组密码的标准工作模式
缺点:
(1)因分组相互独立,信息块可被替换、重排、删除、重放,所以对明文的主动攻击是可能的
(2)无法纠正传输中的同步错误
在这里插入图片描述
2.CBC(Cipher Block Chaining模式(密码分组链接模式))
优点:
(1)能够隐藏明文的数据模式,相同的明文可对应不同的密文
(2)在一定程度上抵抗主动攻击
(3)误差有限传递
缺点: 加密不支持并行计算

在这里插入图片描述
3CFB(Cipher FeedBack 模式(密文反馈模式) )
优点:
(1)能够隐藏明文的数据模式
(2)在一定程度上抵抗主动攻击
(3)解密支持并行计算
缺点:
(1)加密不支持并行计算
(2)一个密文块传输错误会影响后续密文解密

在这里插入图片描述
4OFB(Output FeedBack 模式 (输出反馈模式) )
优点:
没有错误传播,一个密文单元的损坏只影响本单元的解密
缺点:
(1)对密文的主动攻击难以检测
(2)加密时不支持并行计算

在这里插入图片描述
5CTR(Counter模式)
优点:
(1) 可以随机地对任意一个密文分组进行解密,对该密文分组的处理与其他密文处理无关
(2) 能并行加解密处理,多个分组同时进行,效率高
缺点:
对密文的主动攻击难以检测

在这里插入图片描述

2. DES算法

  • 分组长度为64 bits (8 bytes),密文分组长度也是64 bits
  • 密钥长度为 64 bits,有8 bits奇偶校验,有效密钥长度为 56 bits
  • 16个子密钥产生器

算法主要包括:初始置换、16轮迭代的乘积变换、逆初始置换。

原理:
首先把明文分成以64 bit为单位的块m,对于每个m, 执行如下操作:
DES(m)=IP-1 • T16 • T15 •… T2 • T1 • IP(m)

  • 初始置换, IP
  • 16轮迭代,Ti , i=1,2,…16
  • 末置换,IP-1
    在这里插入图片描述
    DES的轮结构:
    4个过程,明文E表扩展,与密钥异或,S盒代换,P盒置换
    在这里插入图片描述

DES的密钥编排
在这里插入图片描述

3. 流密码

一般以1比特、8比特或32比特等为单位进行加密或解密,对一串数据流进行连续处理

   分组密码处理完一个分组就结束了,因此不需要通过内部状态来记录加密的进度;相对地,流密码是对一串数据流进行连续处理,因此需要保持内部状态。

4. 一次性密码本

安全度最高的一种加密方法

二、公钥密码

掌握公钥密码机制的基本原理,简单了解常见的公钥密码算法

1. 加密原理

每个通信实体有一对密钥(公钥,私钥),公钥公开,用于加密和验证签名,私钥保密,用作解密和签名,A向B 发送消息,用B的公钥加密,B收到密文后,用自己的私钥解密。

2. RSA算法

1.安全性基于大数分解的难度
2.RSA算法既可以用于公钥密码也可以用于数字签名
3.具体内容
在这里插入图片描述
加解密:
在这里插入图片描述

3. 应用

  • 加密/解密
  • 数字签名:发送方用自己的私钥签署报文,接收方用对方的公钥验证对方的签名
  • 密钥交换:双方协商会话密钥

其中,RSA均可实现,Diffie-Hellman只能实现密钥交换,DSA只能实现数字签名

三、摘要与签名

掌握摘要与签名的基本原理,简单了解常见的摘要算法与数字签名算法
在这里插入图片描述

1. 散列函数

把任意长度的消息压缩为固定长度的二进制串:散列值(hash value):ℎ=𝐻(𝑚)
是进行消息认证的基本方法,主要用于消息完整性检测和数字签名

在这里插入图片描述
(1)根据任意长度的消息计算出固定长度的散列值
(2)能够快速计算出散列值
(3)具有单向性
在这里插入图片描述
(4)消息不同散列值也不同

哈希算法实例:
在这里插入图片描述
RIPEMD160

  • 输出:160位的哈希值
  • 用途:比特币地址生成,可以让地址更短
  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值