文章目录

雪月书韵茶香

昨夜西风凋碧树,独上高楼,望尽天涯路


X

密码学基础

  1. 古典密码
    1. 基础术语
    2. 斯巴达人密码棒装置
    3. 凯撒密码
    4. 古典密码的加密方法
    5. 古典秘密加密算法
  2. 机械密码
    1. ENIGMA 的组成部分
  3. 对称密码
    1. 对称密码分类
      1. 分组密码
        1. 分组密码的工作模式
      2. 流密码
        1. 流密码的特点
    2. 对称密码的密钥分配
  4. 公钥密码
    1. 公钥密码思路
    2. 公钥算法的重要特性:
    3. RSA 公钥算法:
    4. 公钥密码总结
    5. 公钥密码应用场景:

古典密码

基础术语

  • 明文:需要发送的需要
  • 密文:密文是由 明文被加密后得到的乱码信息
  • 密钥:密钥是在加解密运算所选取需要输入的参数

斯巴达人密码棒装置

enter description here

他们通过事先选取两根长度与宽度类似的木棒,外加用于加密的布条,完成整个加解密的过程。我们可以用下图来具体的说明它的加密过程。
enter description here
我们先用虚线来表示所选的木棒,在用斜直线表示在这木板上所藏的布条。
假设输入的铭文是如下所示,

enter description here
翻译成中文就是在凌晨发动攻击。为了加密上述明文,我们首先需要根据所用的布条大小,将铭文按照行的顺序逐行的填写到布条上,即将输入的铭文分割成 3 行 4 列的分块,

enter description here
那这就完成了整个的加密过程。

enter description here

而后呢我们再将布条取下交给信使发送给接收方。注意到此时的布条上的字母的排列顺序呢是按照列的输出及对应的输出密文是 ACDTKATAWATN,由于敌人并不知道加密木棒的长度信息,他因此也无法直接将密文恢复成对应的明文。那在上述算法中呢,我们可以把密钥看成是由木棒的长度和宽度信息所决定。

凯撒密码

相传此密码是由罗马凯撒大帝所发明,其加密方法就是将字母表中的每个字母用它后面的第三个字母代替,具体可以看如下表。

在以输入明文是 ACCTACK AT DOWN 为例,考察其在凯撒密码加密下的输出明文。我们可以发现它的输出密文呢是
enter description here
DWWDFNDWGDZQ,注意到我们将其向后循环移位了三位,那这个呢就是我们在这个加密算法中的密钥信息利用上述密钥信息 ,消息接收者可以很容易的将密文恢复成对应的明文。

古典密码的加密方法

  • 置换密码:将输入明文的字母顺序加以打乱,而不是改变明文字母的位置。
  • 代换密码:将明文字母进行替换,而不改变顺序

古典秘密加密算法

隐写术:通过隐藏消息的存在来保护消息

  • 隐形墨水
  • 字符格式的变化
  • 图像变形
  • 藏头诗
  • 隐语法
  • 析字法

机械密码

ENIGMA 的组成部分

  • 键盘
    enter description here
  • 显示器

enter description here

  • 转子
    enter description here

enter description here

enter description here
enter description here

反射器使得操作者可以使用同一台 ENIGMA 进行加密和解密操作。

对称密码

由于对称密码在加解密操作时的计算效率非常高,因此呢它在信息安全领域有着非常广泛的应用。如我们手机的信用卡加密或者网络支付的加密场景等等,我们可以用下图来演示对称密码加解密的具体过程。首先通信双方甲和乙他们要共享一个相同的加密参数及共享一个密钥。而后甲利用上述密钥信息加密所需要发送的明文信息,并利用网络的方式加密文信息发送给乙,乙在收到密文后,再利用共享的密钥来进行解密操作,得到对应的明文。

enter description here

对称密码分类

分组密码

enter description here

分组密码的工作方式是将明文分成固定长度的分组,如 N bit 长度的分组,再由相应的对称密码算法和对应的输入密钥对明文进行加密,最后输出 N bit 长的密文。

目前国际上比较有名的分组密码算法

  • DES 算法

DES 分组加密算法是美国政府于 1977 年公布的数据加密标准,它是世界上最著名的分组密码算法之一,DES 算法通过接受 56 比特的输入密钥,能将 64 比特的输入明文转换成对应的 64 比特的输出密文。
enter description here

DES 算法的缺陷和不足:
①DES 的设计可能隐含有陷阱,S 盒的设计原理至今未公布。
②密钥容量太小:56 位不太可能提供足够的安全性

1997 年密码工作者通过穷举算法根绝当时的运算速度,只需要 59 天既可以破解 DES 算法。

enter description here

  • 3DE 算法

enter description here

在原有 DES 基础上连续三次调用 DES 算法进行加密,提高 DES 算法安全性。

3DES 缺陷::3DES 运行效率要比原有 DES 算法低的多

  • AES 算法

1997 年,美国国家标准技术研究所发起征集高级加密标准 AES 的活动,活动目的是选出一个分组密码算法,作为新的数据加密标准。

对 AES 的基本要求:支持 128、192 以及 256 比特这三种不同长度的密钥输入,并且每次能加密 128 比特的输入明文。

相比于 DES,AES 算法的加密明文长度更长,由于分组密码每次只能加密固定长度的明文信息,比如 DES 算法,它每次只能加密 64 比特的明文,那如果我们现在需要加密的明文比特数是 200 比特,那要怎么办呢?那为了解决上述问题,我们需要引入分组密码的几种工作模式

分组密码的工作模式

  • ECB
  • CBC
  • CFB
  • OFB

这里介绍一下最简单的 ECB 模式

enter description here
ECB 模式也叫做电子密码本模式。在 ECB 模式下,我们首先需要将这 200 比特的输入明文填充成 64 比特的最小整数倍,即 256 比特,而后再将其分割成 4 个 64 比特分组,在不停的调用 DES 算法对其中每一个分组按顺序来进行加密操作,得到对应的密文。

流密码

流密码的特点

那除了分组密码外流密码也是一种重要的对称密码算法,相比于分组密码,流密码具有

  • 实现简单
  • 便于硬件实施
  • 加解密速度更快

的特点。
具体的加密过程可以如下图所示
enter description here
首先利用有限状态自动机生成与明文序列等长的密钥流序列再通过向主比特异或等等操作方式来生成对应的密文序列。

对称密码的密钥分配

  • 由于通信双方都使用相同密钥,因此如果通信双方之中存在着恶意用户,就使得上述密码的安全性得不到保证,即存在密钥安全问题。
  • 每队用户每次使用对称加密算法时,都需要使用其他人不知道的唯一密钥,这会使得发收信双发所拥有的密钥数量成几何级数增长,造成用户存储与管理密钥时的负担
  • 对称密码无法用于数字签名。

公钥密码可以克服上述问题

公钥密码

对称密码存在如下不足:

  • 密钥更新,管理与分配的问题
  • 无法应用于数字签名

介绍一下数字签名:

数字签名:是指如何为数字化的消息或文件提供一种类似于书面文件手书签字的方法。

公钥密码思路

通信爽啊所持有的密钥不同,即加解密所需输入的参数不同。

古典密码、机械密码以及对称密码,都是采用代换和置换这两种基本设计思想。
采用这种设计思路的密码算法,要求加解密密钥相同。

公钥密码所采用的基本工具不再是代换和置换,而是以困难数学问题为基础,如大整数分解问题,离散对数问题等。

公钥密码构造了两个密钥,将加解密操作分开。一个密钥是公开的称为公钥用于加密操作,一个是保密的被称为私钥的用于解密操作。 只有与公钥对应的私钥才能解密相应的公钥的加密信息。因此公钥密码算法也被称为双钥密码。

enter description here

公钥算法的重要特性:

已知密码算法和加密密钥,求解密 密钥在计算上是不可行的。

enter description here

RSA 公钥算法:

该算法是以初等数论中的 Euler(欧拉)定理为基础,并建立在大整数分解的困难性问题之上。

enter description here
enter description here

公钥密码总结

  • 利用公钥思想,每个人都可以通过查询接受方的公钥信息,这就避免了为每对通信方都存储会话密钥的不足。
  • 用户还可以利用其私钥加密信息,并以对应的公开钥解密,以此达到数字签名的效果。

公钥密码应用场景:

  • 网络协议包含 SSL/TLS、IPsec/IKE、SSH、S/MIME、POP/IMAP\DNSsec、SBGP······

现实生活中:

  • 网上购物
  • 网上银行
  • 智能卡
  • 电子邮件
  • 移动交互领域
  • 数字签名

密码学基础


标题:密码学基础
作者:shuaibing90
版权声明:本站所有文章除特别声明外,均采用 CC BY-SA 4.0转载请于文章明显位置附上原文出处链接和本声明
地址:https://xysycx.cn/articles/2020/04/14/1586877109861.html
欢迎加入博主QQ群点击加入群聊:验证www.xysycx.cn