[2020.06.17][学习笔记]计算机安全第二章-加密介绍

第二章 加密介绍

一、加密目标和术语

1.1 目标

针对计算机安全中的保密性(Confidentiality)原则,防御拦截(interception)的攻击内容,发送的信息通过钥匙(key)加密使得字面无法解读。

1.2 术语

明文(plaintext)
密文(ciphertext)
加密过程(cipher)
钥(key)
加密(encrypt/encipher)
解密(decrypt/decipher)
加密学(cryptography)
密码破解(cryptanalysis)
密码学(cryptology)

二、加密的特征要求

  1. 确保加密前后的信息无损
  2. 扰乱明文中的频率等统计学特征
  3. 雪崩特征,一个微小的密钥或者明文信息的变化,就会引起大范围的密文变化。
  4. 混乱(confusion),通过替换实现统计学特征的扰乱。
  5. 扩散(diffusion),通过移位实现最大化雪崩特征。
  6. 从信息安全的角度需要实现无条件安全
  7. 从计算能力的角度需要实现时间安全代价安全,即破解花费的时间和代价远远超过了收获。

三、传统密钥加密

3.1 替换加密(substitution)

凯撒加密(Ceaser Cipher)

C = E(k,P) = (P+k) mod 26
P = D(k,C) = (C-k) mod 26


凯撒加密.png

单字母映射加密

内容:一一映射,需要通信双方预先沟通好映射表。
破解:总共有26!≈4*10^26中可能,除此之外,不同字符出现的频率是不同的,通过频率攻击(单个字符、两个字符、三个字符等)可以增加破解的概率。

双字母映射加密 Playfair

内容:使用5*5的表格进行双字母映射。

  1. 如果两个字母是一样的,那么在中间填充一个不一样的字母。
  2. 如果两个字母是同一行的,那么依次变为右一个。
  3. 如果两个字母是同一列的,那么依次变为下一个。
  4. 其他情况,第一个字母转换到(行1,列2),第二个字母转换为(行2,列1)。

破解:如果给定几百个文件,依然无法抵挡频率攻击。

多字母映射加密

Vegenere加密

内容:使用一个单词,并循环重复使用这个单词,一直到延长至和明文一样的长度,然后作为密钥和明文进行凯撒式映射。
破解:可以根据重复出现的block(由Kasiski发现)判断单词的长度。然后对于单词的每个位置分别进行频率攻击。

Vegenere改进

内容:使用一个单词,延长方式为直接将明文贴在单词后面,一直延长至和明文一样的长度,然后作为密钥和明文进行凯撒式映射。
破解:通过破解一开始的字母可以获取所有的明文内容。

One-Time Pad

内容:使用完全随机的方式生成和明文一样长度的密钥,然后与明文进行凯撒是映射。
破解:每次加密都需要生成一次不一样的随机密钥。虽然香农整明了能够实现完美的保密,但需要真实随机的生成数。

3.2 移位加密(transmission/permutation)

内容:通过给字符重新排序进行字符扰乱。
破解:字符频率特征依然保留在文本当中。

Rail Fence 加密

内容:将字符顺次循环拆分成不同的行,最后一次排列行。

行移位加密

内容:将字符顺次循环拆分成不同的行,密钥此时作为不同的列的排序,根据密钥顺序进行列排列。

3.3 多重加密(product)

单独的传统替换加密或者传统移位加密都无法确保足够的保密性。
现代加密是这两者的结合。

四、加密分析(攻击)

假设在了解加密算法的情况下,通过攻击手段得出密钥。

4.1 暴力破解

尝试所有有可能的密钥。
平均每个算法需要尝试所有密钥可能的50%才能得出正确的密钥。

4.2 破解分析

根据算法的特性进行破解。
破解分析有五种方式,难度依次递减:

  1. 只有密文攻击(only-cipher)
  2. 密文明文对攻击(known-plaintext)
  3. 选择明文攻击(chosen-plaintext)
  4. 选择密文攻击(chosen-ciphertext)
  5. 选择文本攻击(chosen-text)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。