【密码学系列】|| 据说你还不知道分组密码,有必要来看看。

用心分享,共同成长

没有什么比你每天进步一点点更实在了

 继上一期的流密码之后,我们就趁热打铁赶紧来看看分组密码是怎么一回事呢?

 在常用的一些密码系统中,分组密码在维护系统安全中仍然扮演着一个重要角色,同流密码一样,分组密码的使用也有许许多多需要我们注意的问题。

 分组密码是什么呢?分组分组顾名思义就是将明文消息分成来进行加密,也就是说,加密器每次只能处理特定长度的一组数据,这里的"一组数据"就被称之为分组。我们也将每一个分组的比特数就称为分组长度

 <font face="宋体" color=blue size=4>噔噔噔噔!画重点来喽!</font>

image

 看完分组密码的解释,你就能明白流密码和分组密码的加密器中是否含有记忆元件的解释了:对于分组密码,它处理完一个分组就结束一次加密进程,因此不需要通过内部状态来记录加密的进度;相反的是,对于流密码来说,它是对一个数据流进行连续的加密处理,因此需要加密其中的记忆元件来记录加密器内部的状态。

分组密码:

 分组密码,就是将明文消息编码表示后的数字序列 x0 , x1 , …, xi , …,将其划分成长为 n 的组 x = ( x0 , x1 , …, xn - 1 ),各一个长度为 n 的分组都分别在密钥 k = ( k0 , k1 , …, kt - 1 ) 控制下,变换成长度为m的等长的输出数字序列 y = ( y0 , y1 , …, ym - 1 ),其加密函数 E: Vn× K→ Vm,Vn和Vm分别是 n 维和 m 维矢量空间,K为密钥空间。

image

 在图中可以看到,输入一个长度为n的明文分组,经过加密器后输出一个长度为m的密文,但是在一般情况下,我们取m=n,如果遇到n>m,则说明在数据加密中存在数据压缩,若n<m,则在数据加密中有数据扩展。

 下面来看看几种简单的设计分组密码常用的方法。

代换:

 如果明文和密文的分组长度都为 n 比特, 则明文的每一个分组都有2的n次方个可能的取值。

  为保证加密后得到的密文可以通过解密运算还原成为明文消息,明文的每一个分组都应产生惟一的一个密文分组,我们把这样的变换称为可逆的, 称明文分组到密文分组的可逆变换为代换。

 我们以n=4为例,来看看分组密码到底数怎样加密的?

image

 对于分组长度为4的代换结构,我们可以依据代换表给出代换以后的密文。

image

 但是,这种代换结构在实际应用中还有一些问题需要考虑。

 如果分组长度太小,如 n = 4,系统则等价于古典的代换密码,容易通过对明文的统计分析而被攻破。

 这个弱点不是代换结构固有的,只是因为分组长度太小。如果分组长度n足够大,而且从明文到密文可有任意可逆的代换,明文的统计特性就不会太过明显,这样以来,利用代换结构就不容易被攻破。

feistel结构:

Feistel,基本上使每一个刚接触密码学的小伙伴们最头疼的部分了,别怕别怕,今天龙叔跟你细说Feistel结构。

 其实对于很多分组密码来说,它们的结构从本质上说都是基于一个称为 Feistel 网络的结构。Feistel 提出利用乘积密码可获得简单的代换密码,目的是为了使最后结果的密码强度高于每个基本密码系统产生的结果。

乘积密码:依次使⽤两个或两个以上基本密码。

下来我们看看真正的feistel结构。

image

 上图为整个feistel的n轮结构,但其实每一轮都是进行同样的操作,接下来我们就分析在一轮中到底都做了些什么?

image
  • Feistel加密1轮的迭代过程

​ - 明⽂2w⽐特,被分为等⻓的两部分

​ - 第i轮⼦密钥由初始密钥K推导出的

​ - ⼀般来说,每轮⼦密钥与K不同,也互不相同

​ - F称为轮函数(每轮都⼀样)

image

 在每一轮中,都要进行左右的一次运算,并将运算结果传递给下一轮。

 再来看看我们的feistel解密过程。

image
  • Feistel解密1轮迭代过程

​ - 被解密的数据左右交换

​ - 解密过程按照与加密过程相反顺序使⽤密钥

image

 解密同加密一样,也需要进行左右消息分组的运算,并且要将运算结果传递给下一轮。

 通过feistel结构的加密和解密,我们可以发现在明文消息在经过加密以后的密文,可以通过解密算法将其还原为原始的明文,也就是说该加密算法是可逆的。

 分组密码的应用非常广泛,它易于构造伪随机数生成器、流密码、消息认证码(MAC)和杂凑函数等,还可进而成为消息认证技术、数据完整性机制、实体认证协议以及单钥数字签字体制的核心组成部分。

 实际应用中对于分组密码可能提出多方面的要求,除了安全性外,还有运行速度、存储量(程序的长度、数据分组长度、高速缓存大小)、实现平台 (硬件、软件、芯片)、运行模式等限制条件。 这些都需要与安全性要求之间进行适当的折中选择。

 今天就先和大家说到这里,下一期呢,本应按照计划讲讲DES算法,但是DES算法在之前我们就已经说过啦,还有不明白的小伙伴可以翻回去再看看,链接给大家,请尽情暴击!
精选文章都同步在公众号里面,公众号看起会更方便,随时随地想看就看。微信搜索 龙跃十二即可订阅。

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

推荐阅读更多精彩内容

  • 密码编码学与网络安全 review lecture01 经典加密技术 什么是安全,如何认识信息安全? 安全性是绝对...
    lucipher1987阅读 2,476评论 1 1
  • 密码学 基本概念 完整性---信息仅能被合法用户访问,不能泄漏给非法用户,实体或过程 保密性---自由只有在授权方...
    styxx阅读 1,320评论 0 0
  • CTF中那些脑洞大开的编码和加密 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问...
    查无此人asdasd阅读 6,024评论 0 19
  • 计算机安全的核心 :CIA 1.机密性[防止信息泄露]C数据机密性隐私性2.完整性[防止信息被篡改]I数据完整性系...
    王古阅读 2,276评论 0 0
  • 早安,要早睡早起。睡晚了,起不来的。
    秋风秋叶秋瑟瑟阅读 11评论 0 1