## 8.2 密码学的原则
密码学技术使得发送方可以伪装数据,使入侵者不能从截取到的数据中获得任何信息,并且接受方必须能够从伪装的数据中恢复出初始数据。
* 报文的最初形式被称为明文(Plaintext,Cleartext)。
* 通过加密算法(Encryption Algorithm)加密明文。
* 生成的加密报文称为密文(Ciphertext),密钥(Key)为一串数字或字符,作为加密/解密算法的输入。
* 接受方通过解密算法(Decryption Algorithm)解密密文,以获得明文。
两种加密系统:
* 对称密钥系统(Symmetric Key System):加密和解密用的密钥相同,并且私密。
* 公开密钥系统(Public Key System):使用一对密钥,其中一个密钥为公开,另一个密钥只有发送方或者接受方持有。
### 8.2.1 对称密钥密码体系
**凯撒密码(Caesar Cipher)**:将明文报文中的每个字母用字母表中改字母后第k个字母进行替换,仅有25种可能。
**单码代替密码(Monoalphabetic)**:凯撒密码的改进,使用字母表中的一个字母替换该字母表中的另一个字母,有26!种可能,但是通过词组、频率等因素可以减少破译成本。
**多码代替密码(Polyalphabetic Encryption)**:对单码代替密码的改进,基本思想为使用多个单码代替密码,因此在明文中不同位置的同一字母可能一不同形式编码。
入侵者掌握信息程度:
* 唯密文攻击(Ciphertext-only Attack):入侵者只获得密文。
* 已知明文攻击(Known-plaintext Attack):入侵者获取密文并了解密文中少量信息。
* 选择明文攻击(Chosen-plaintext Attack):入侵者能够选择某一明文并得到该明文对应的密文形式。
对称加密有两种宽泛类型:流密码(Stream Ciphers)和块密码(Block Ciphers)
#### 块密码
需要被加密的明文被处理为K比特的块,每个块被独立加密。但如果K=64,发送方和接收方需维护一张2的64次方的映射表,显然不能实现。
函数模拟随机排列表:
* 64bit被划分成8个8bit的段,每个段由映射表处理。
* 8个输出重新装配成一个64bit块,作为输入块。
* 重复n次,循环的目的是让每个输入比特影响输出的大部分而不是全部。

#### 密码块链接
问题:对于相同的块,块密码将产生相同的密文。
方案:引入随机性。
问题:传输数据量增长。
密码块链接记录(Cipher Block Chaining,CBC):仅随第一个报文发送一个随机值,然后使用计算的编码块代替后继的随机表。
### 8.2.2 公开密钥加密
发送方:
* 获取接收方的公钥(Public Key),`$ K^{+} $`。
* 通过公钥和公开加密算法加密明文,`$ K^{+}(m) $`。
接收方:通过私钥和公开解密算法解密密文,`$ K^{-}(K^{+}(m)) $`。

#### RSA算法(RSA Algorithm)
**生成公钥和私钥**:
* 选择两个大素数p和q(p和q越大,破解RSA越困难,执行解密和加密的时间就越大)。
* 令 `$ n = pq $`,`$ z = (p-1)(q-1) $`。
* 选择一个小于 n 的数 e,且 e 与 z 互质。
* 求一个数 d,使得 `$ ed \mod z = 1 $`。
* 公钥 `$ K^{+}= (n, e) $`,私钥 `$ K^{-}=(n,d) $`。
**加密和解密算法**:
* `$ K^{+}(m)=c=m^e \mod n $`。
* `$ K^{-}(c) = c^d \mod n $`。
#### 会话密钥
RSA要求的指数计算相对耗时,所以一般RSA与对称加密结合使用,通过RSA传递对称加密的密钥 `$ K_s $`。
#### RSA工作原理
z 为 n 的最小循环节。
- 介绍
- 第一章 计算机网络和因特网
- 1.1 什么是因特网
- 1.2 网络边缘
- 1.3 网络核心
- 1.4 分组交换网中的时延、丢包和吞吐量
- 1 .5 协议层次及其服务模型
- 1.6 面对网络攻击
- 1 .7 计算机网络和因特网的历史
- 第二章 应用层
- 2.1 应用层协议原理
- 2.2 Web 和 HTTP
- 2.3 文本传输协议:FTP
- 2.4 因特网中的电子邮件
- 2.5 DNS:因特网的目录服务
- 2.6 P2P应用
- 2.7 套接字编程
- 第三章 运输层
- 3.1 概述和运输层服务
- 3.2 多路复用与多路分解
- 3.3 无连接运输:UDP
- 3.4 可靠数据传输原理
- 3.5 面向连接的运输:TCP
- 3.6 拥塞控制原理
- 3.7 TCP拥塞控制
- 第四章 网络层
- 4.1 概述
- 4.2 虚电路和数据报网络
- 4.3 路由器工作原理
- 4.4 网际协议:因特网的转发和编址
- 4.5 路由选择算法
- 4.6 因特网中的路由选择
- 4.7 广播和多播路由选择
- 第五章 链路层:链路、接入网和局域网
- 5.1 链路层概述
- 5.2 差错检测和纠正技术
- 5.3 多路访问链路和协议
- 5.4 交换局域网
- 5.5 链路虚拟地址:网络作为链路层
- 5.6 数据中心网络
- 5.7 回顾:WEB页面请求的历程
- 第六章 无线网络和移动网络
- 6.1 概述
- 6.2 无线链路和网络特征
- 6.3 WiFi:802.11 无线LAN
- 6.4 蜂窝因特网接入
- 6.5 移动管理:原理
- 6.6 移动IP
- 6.7 蜂窝网中的移动性管理
- 第七章 多媒体网络
- 7.1 多媒体网络应用
- 7.2 流式储存视频
- 7.3 IP语音
- 7.4 实时会话式应用的协议
- 7.5 支持多媒体的网络
- 第八章 计算机网络中的安全
- 8.1 什么是网络安全
- 8.2 密码学的原则
- 8.3 报文完整性和数字签名
- 8.4 端点鉴别
- 8.5 安全电子邮件
- 8.6 使用TCP连接安全:SSL
- 8.7 网络层安全性:IPsec和虚拟专用网
- 8.8 使无线LAN安全
- 8.9 运行安全性:防火墙和入侵检测系统
- 第九章 网络管理
- 9.1 什么是网络管理
- 9.2 网络管理的基础设施
- 9.3 因特网标准管理框架
- 9.4 ASN.1
- 总结
- c.1 第一章小结
- c.2 第二章小结
- c.3 第三章小结
- c.4 第四章小结
- c.5 第五章小结
