4.分组密码

引人入胜

重点:

分组密码的设计思想

分组密码的基本特点

AES、DES密码算法

AES和DES各自组成、每部分的实现过程以及特点

AES和DES的相似和不同

分组密码的五种操作模式各自特点(重点:ECB,CBC,CTR)

1 分组密码


分组密码简图

1.1 概述

    -应用最为广泛、影响最大的一种密码体制,

    -主要任务是提供数据保密性,也可以用到许多方面,如构造伪随机数生成器、序列密码、认证码和哈希函数等

    -又分为对称分组密码和非对称分组密码;习惯上,分组密码一词多指:对称分组密码,简称分组密码

    -由于分组密码加解密速度较快,安全性好,以及得到许多密码芯片的支持,现代分组密码发展非常快,应用广泛

1.2 含义


1.3 分组密码要求

分组长度足够大:分组长度较小时,难于抵御选择明文攻击

密钥量足够大:密钥量小,攻击者可以通过穷举密钥的方法进行破译

密码变换足够复杂:除了穷举攻击外,找不到其他有效的攻击方法

加密和解密运算简单:便于软件和硬件实现,性能好

无数据扩散或压缩:实际应用中很重要。

1.4 设计思想

(1)扩散

要将算法设计成明文每一比特的变化尽可能多得影响到输出密文序列的变化,以便隐蔽明文的统计特性。形象地成为雪崩效应。

另一层意思是密钥每一位的影响尽可能迅速地扩散到较多的密文比特中去。扩散的目的是希望密文中的任一比特都要尽可能与明文、密钥相关联,或者说,明文和密钥中任何一比特值发生改变,都会某种程度上影响到密文值的变化,以防止将明文或密钥分解成若干个孤立的小部分,然后被各个击破。

(2)混乱

加解密变换过程中明文、密钥以及密文之间的关系尽可能地复杂化,以防密码破译者采用解析法(即通过建立并求解一些方程)进行破译攻击。

混乱可以用“搅拌机”来形象地解释,将一组明文和一组密钥输入到算法中,经过充分混合,最后变成密文。同时要求,执行这种“混乱”作业的每一步都必须是可逆的,即明文混乱以后得到密文,反之,密文经过逆向的混乱操作后能会付出明文。(按照混乱原则,分组密码算法应有复杂的非线性因素)

1.5 分组密码的基本特点

(1)分组长度:能够抵御选择明文攻击

(2)密钥长度:能够抵御穷举攻击

(3)子密钥

子密钥的生成是迭代分组算法的一个重要组成部分,是从初始(种子)密钥产生各轮迭代要使用的子密钥的算法

轮函数F的功能是在子密钥的参与和控制下实现的,

评价指标:

        实现简单、速度,满足轮函数F的要求;

        种子密钥的所有比特对每个子密钥比特的影响大致相同

        没有弱密钥或弱密钥容易确定

(4)轮函数F

轮函数F的设计准则(轮函数F是分组密码的核心,是分组密码中单轮加解密函数)

        --非线性:主要依赖S盒

        --可逆性:能够实现解密

        --雪崩效应

主要性能指标是:安全性、速度、灵活性。

(5)迭代

分组密码一般采用简单的、安全性弱的密码函数进行多轮迭代运算,使得安全性增强。一般来说,分组密码迭代轮数越多,密码分析越困难;但也不是越多越好,过多会使加解密算法性能下降。

决定迭代论述的准则:密码算法分析的难度大于简单穷举搜索攻击的难度;

分组密码迭代轮数一般采用8/10/12/16/20

2 DES算法

2.1 概述

分组加密算法:明文和密文为64位分组长度

密码算法:加密和解密除密钥编排不同外,使用同一算法

密钥长度:56位,但存在弱密钥,容易避开

采用混乱和扩散的组合,每个组合先代换后置换,共16轮;

只使用了简单的逻辑运算,易于实现,速度快

现代密码学诞生的标志之一,揭开了商用密码研究的序幕

2.2 加密流程图


公式化描述:

轮函数F实现流程:

压缩替代S盒:

2.3 解密算法

公式化描述

解密流程图:

2.4 DES安全性

(1)互补性

互补性会使DES在选择明文攻击下所需的工作量减半

(2)弱密钥和半弱密钥

弱密钥

    如果给定初始密钥k,经过子密钥产生器产生的各个子密钥都相同,即有 k1=k2=…=k16,则称给定的初始密钥k为弱密钥

    若k为弱密钥,则对任意的64bit信息有: Ek(Ek(m))=m和Dk(Dk(m))=m

半弱密钥

    若给定初始密钥k,产生的16个子密钥只有两种,且每种都出现8次,则称k为半弱密钥。

    半弱密钥特点是成对出现

    此外,还有四分之一弱密钥和八分之一弱密钥;

(3)密钥搜索

DES的强度:56比特的密钥长度

AES(128位)取代DES

(4)差分分析和线性分析

查分分析

        一种攻击迭代密码体制的选择明文攻击方法,不是直接分析密文或密钥和明文的统计相关性,而是分析一对给定明文的异或与对应密文对的异或之间的统计相关性。

        基本思想:在攻击的迭代密码系统中找出某些高概率的明文差分和密文差分对来推算密钥;

        理论上有意义 2^47

线性分析

        试图通过大量的“明-密文对”找出分组密码算法中与密钥有关的线性方程,然后试着得到大量的这类关系从而确定密钥。

        基本思想是 以最佳的先行函数逼近DES的非线性变换S盒,是一种已知明文攻击方法

        针对DES在实际上仍然不可行

3. AES算法

3.1 算法特点

安全性:稳定的数学基础,没有算法弱点,算法抗密码分析强度高

性能:能在多个平台上以较快的速度实现

大小:不占用大量的存储空间和内存

易实现:灵活性、硬件和软件适应性、算法的简单性

3.2 分类

加密流程:

轮函数加密:

行位移:

列混淆:

3.3 AES设计上的考虑

与DES相比,扩散的效果更快,即两轮可达到完全扩散;

S盒使用清晰而简单的代数方法构造,避免任何对算法留有后门的怀疑

密钥扩散方案实现对密钥位的非线性混合,即实现了均等效应,也实现了非对称性

比穷举攻击更好的攻击进行到6轮,多出4轮可以提供足够的安全性(AES-128)

3.4 安全性

弱密钥:设计上不是对称的,其加密和解密过程不一致,这也避免弱密钥的存在;

差分分析和线性分析:在设计时考虑了这两种攻击的方法,因此AES具有较好的抗击其攻击的能力。

密钥穷举攻击:平均需要2^127次AES运算,按目前的计算不能力是不可能完成的

3.5 AES和DES对比

(1)相似之处

两者的轮函数都是有四层构成,非线性层,移位层,线性混合层、子密钥异或,知识顺序不同;

AES的非线性运算是字节代换,对应于DES中的非线性运算S盒

行移位运算保证了每一行的字节不仅仅影响其他行对应的字节,而且影响其他行所有的字节,这与DES中置换P相似;

AES中的列混淆运算的目的是让不同的字节相互影响,而DES中F函数的输出与左边一半数据相加也有类似的效果。

AES的子密钥异或对应于DES中S盒之前的子密钥异或。

(2)不同之处

AES的密钥长度(128、192、256)是可变的,而DES的密钥长度固定为56位

DES是面相比特的运算,AES是面相字节的运算

AES的加密运算和解密运算不一致,因而加密器不能同时做解密器,而DES的加密器可用做解密器,只是子密钥的顺序不同。

4.分组密码的操作模式

分组加密算法智能加密固定长度的分组,通常加密的明文长度会超过分组密码的分组长度,这是需要对分组密码算法进行迭代,以便将很长的明文全部加密,而迭代的方法就称为分组密码的模式。

密码模式通常是基本密码、一些反馈和一些简单运算的组合。

4.1 ECB--电子密码本模式:Electronic Code Book


示意图

模式特点:

模式操作简单,主要用于内容较短且随机的报文的加密传递;

相同明文(在相同密钥下)得出相同的密文,即明文中的重复内容可能将在密文中表现出来,易实现统计分析攻击、分组重放攻击和代换攻击

链接依赖性:各组的加密都独立于其他分组,可实现并行处理

错误传播:单个密文分组中有一个或多个比特错误只会影响该分组的解密结果

4.2 CBC--密码分组链接模式:Clipher Block Chaining

示意图

模式特点:

一种反馈机制在分组密码中的应用,每个密文分组不仅依赖于产生它的明文分组,还依赖于它前面的所有分组;

相同的明文,即使相同的密钥下也会得到不同的密文分组,隐藏了明文的统计特性;

链接依赖性:对于一个正确密文分组的正确解密要求它之前的那个密文分组也正确,不能实现并行处理;

错误传播:密文分组中的一个分组出现错误会影响到本组和其后分组的揭解密,错误传播为两组;

初始化向量IV不需要保密,它可以明文相似与密文一起传送。

4.3 CTR--计数器模式:Counter

模式特点:

效率高:能并行处理多块明(密)文,可用来提供流水线、每个时钟周期的多指令分派等并行特征;

预处理:基本加密算法的执行并不依靠明文或密文的输入,可预先处理,当给出明文或密文时,所需的计算仅是进行一系列的以后运算;

随机访问:密文的第i个明文组能够用一种随机访问的方式处理;

简单性:只要求实现加密算法而不要求实现解密算法,像AEs这类加解密算法不同就更能体现CTR的简单性。

4.4 CFB--密文反馈模式:Cipher Feedback

模式特点:

消息被看做数据分组流,不需要整个数据接受完后才能进行加解密;

可用于自同步序列密码;

具有CBC模式的优点

对信道错误较敏感且会造成错误传播

数据加解密的速率降低,其数据率不会太高

4.5 OFB--输出反馈模式:Output Feedback

模式特点:

OFB模式是CFB模式的一种变形,克服由错误传播带来的问题,但对密文被篡改难于进行检测;

OFB模式不有自同步能力,要求系统保持严格的同步,否则难于解密;

4.6 小结

EBC:最快、最简单;安全性最弱,不推荐;若果是加密随机数,如密钥,ECB是最好的选择

CBC:适合文件加密,且有少量错误时不会造成同步失败;软件加密的最后选择;

CTR:结合ECB和CBC的优点,ATM网络和IPSec中起到重要作用;

CFB:加密分组序列所选择;能容忍少量错误扩展,且具有同步恢复功能;

OFB:在极易出错的环境中选用的模式,需有高速同步机制。

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

推荐阅读更多精彩内容

  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,291评论 5 29
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,232评论 0 6
  • 前言 《图解密码技术》一书介绍了很多关于密码的知识,通读一遍需要不少时间。为了方便学习,我对书中关键的部分进行了总...
    咖枯阅读 7,013评论 1 25
  • 概述 什么是模式 第三章介绍的对称密码算法DES、AES都属于分组密码,分组密码的特点是分组的长度是固定的。但是由...
    JMasche阅读 2,870评论 0 4
  • 今天学习归来,看着孩子们好奇的眼神就知道他们也想我了,分离两周,多亏了实习生雅和曹老师,爱她们。同时更感恩她们。准...
    亲爱的上善若水阅读 183评论 0 1