图解密码技术学习-第三章 对称密码(共享密钥密码)

必要的基础知识

编码

将现实世界的内容(文字、图片、视频等所有的信息)转换成比特序列的过程就叫做编码。例如,ASC||编码

XOR(异或)

XOR运算是很基础的比特运算。只有当运算两个运算数不相同时,结果才是1;如果两个运算数相同,则结果是0。具体如下:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

为什么要在密码技术中把XOR作为必要的基础知识呢?
我们把上面的运算式的等号和XOR互换一个位置,再从右往左读:
0 = 0 XOR 0
0 = 1 XOR 1
1 = 0 XOR 1
1 = 1 XOR 0

我们能看到什么呢?就是A和B的异或结果C,再和B异或一次,就等于A
这对于密码来说,就相当于加密和解密:
加密:明文 XOR 密钥 = 密文
解密:密文 XOR 密钥 = 明文

一次性密码本

一次性密码本是不能破译的,但也无法真正使用

一次性密码本原理

原理还是比较简单的,假设明文就是64比特的比特序列。随机生成等长的64比特的密钥,然后再和明文做异或运算。解密的时候,再用密文和密钥做一次异或运算就可以了。

一次性密码本是无法破译的

这里的破译是指,哪怕计算机的计算能力无限强大也无法破译。原因肯定不是出在密钥没有被暴力破解,而是说即使计算出来了也无法判断它是否正确
举个例子,原文是midnight,有可能破译出midnignht、mistress等等

一次性密码本为什么没有被使用

  • 密钥问题。一次性密码本的密钥特点是,密钥和明文等长;密钥由于是随机生成,所以密钥需要很好的保存;密钥无法重用。
    简单的说:密钥跟明文等长的情况下,面临着和明文一样的发送、保存问题,那么这跟保存明文有什么区别呢?相当于制作、发送、保存了两份明文。
    所以一次性密码本没有实用价值。

流密码

一次性密码本诞生了一个概念:流密码,这么叫法是因为是针对每个比特进行加密的。流密码是用伪随机数生成器产生的比特序列。

DES

概述

DES ( Data Encryption Standard ),是一种对称密码,目前此密码已经能够被破解。

加解密原理

  • 分组密码。其实就是将明文按照固定长度分割,然后针对每个分组进行加密。
  • 模式。由于分组密码只能针对固定长度进行加密,所以就会涉及到对多个分组的迭代加密。迭代的具体方式被称为模式。
  • DES结构(Feistel网络)
    • 每一轮有个子密钥。
    • 一轮分组64比特,分成两个分组。
    • 子密钥跟轮函数获得的输出,跟左侧32比特的明文进行异或,获得一个加密的左边密文。
    • 右边不经过任何处理直接使用。
    • 左右合并获得一轮加密后的密文输出。
  • 多轮加密
    第一轮的左侧加密,右侧没有加密。
    第二轮的左侧是第一轮的右侧,第二轮的右侧是第一轮加密后的左侧。
    以此类推
  • 解密。由于加密其实就是异或,所以解密实际上是用每一轮的子密钥,再异或一次即可。

三重DES

  • 因为DES是可以被暴力破解的,所以三重DES就是增加了DES强度。其实就是重复三次得到的加密算法。
  • 简单的说,有三个密钥,明文分别用三个DES密钥进行 " 加密 -> 解密 -> 加密 " 得到密文。
  • 第二步不是加密,而是解密,主要原因就是为了兼容普通DES。假设第一步加密和第二步解密的密钥是相同的,前两步的结果相当于明文。第三步再进行加密,就相当于普通的DES。
  • 解密的过程其实就是反过来再加密一把即可。
  • 目前还有银行机构在使用此加密算法,但是处理速度不高,且安全性问题逐渐被暴露。

AES

概述

AES (Advanced Encryption Standard)。这其实就是一种标准的名称,是美国标准化机构NIST选定的密码算法。
当时是公开竞标的,也就是说其实AES有多种候选算法,最终选定的是Rijndael。

AES加解密的特点

  • 同样是分组加解密。分组长度是128bit,也就是16字节。
  • 加密第一步,针对每个分组逐个字节的进行SubBytes的操作。笼统的说,就是每个字节根据256个值的替换表,将当前字节替换成另外一个字节。
  • 加密第二步,以单个字节为单位进行ShiftRows处理,就是将字节有规律的打乱。
  • 加密第三部,再以4字节为单位进行MixColumns处理,就是进行比特运算变成另外的4个字节。
  • 加密第四步,还是4字节为单位与轮密钥进行XOR运算。至此一轮运算就结束了。
  • 解密的过程就是加密的逆向过程。

当前对称密码算法的应用

DES已经不推荐使用,三重DES目前只有兼容性场景才使用,目前认定使用的算法就是AES。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 概述 什么是模式 第三章介绍的对称密码算法DES、AES都属于分组密码,分组密码的特点是分组的长度是固定的。但是由...
    JMasche阅读 3,067评论 0 4
  • 前言 本文章是对《图解密码技术》一书第一部分的一个总结。 密码分类 密码算法需要密钥,根据密钥的使用方法,可以将密...
    发仔很忙阅读 1,412评论 1 2
  • 前言 《图解密码技术》一书介绍了很多关于密码的知识,通读一遍需要不少时间。为了方便学习,我对书中关键的部分进行了总...
    咖枯阅读 7,167评论 1 25
  • 对称加密算法,即加密和解密使用一样的密钥的加解密算法。分组密码(block cipher),是每次只能处理特定长度...
    linjinhe阅读 11,911评论 3 16
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,475评论 5 29