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

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

噔噔噔噔!画重点来喽!

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

分组密码:

分组密码,就是将明文消息编码表示后的数字序列 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为密钥空间。

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

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

代换:

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

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

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

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

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

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

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

feistel结构:

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

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

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

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

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

  • Feistel 加密 1轮的迭代过程

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

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

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

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

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

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

  • Feistel 解密 1轮迭代过程

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

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

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

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

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

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

Juniper 210 密码清不掉_《密码学系列》——分组密码相关推荐

  1. Juniper 210 密码清不掉_三分钟学会如何找回mysql密码

    一.在测试工作中我们肯定会写一些sq查询语句方便我们验证数据是否正确,从而判断当前软件是否存在缺陷,但是查询的过程中肯定需要我们先连接数据库,如果数据库密码忘记我们就无法完成工作,这里就教会大家如何快 ...

  2. Juniper 210 密码清不掉_手机丢后分分钟被洗劫一空,教你设置 SIM 卡密码 - SIM卡,隐私...

    工信部近日发布了一个重要提醒:用户需要及时设置 SIM 卡密码,丢失手机后要第一时间挂失.为什么工信部突然这么强调这点?这和最近发生的案件有关. 据报道,最近有不法分子偷盗个人手机后,在某政务 APP ...

  3. Juniper 210 密码清不掉_苹果id密码忘了怎么办?苹果Apple ID密码找回、重置方法...

    以上就是"苹果id密码忘了怎么办?苹果Apple ID密码找回.重置方法"的全部内容了,希望能对大家有所帮助哦. 苹果id密码忘了怎么办?AppleID是iOS设备的核心灵魂之一, ...

  4. Juniper 210 密码清不掉_MySQL修改root密码

    在日常维护中,如果忘记MySQL的root密码了,需要重新设置密码,简单介绍一下在CentOS下修改密码, 系统版本CentOS 7.2 数据库版本MySQL 5.7 一.在知道root密码的情况下修 ...

  5. 修改密码逻辑修复建议_一项更改以修复技术

    修改密码逻辑修复建议 Put a Friendly Bot Between You and the Evil Bots 在您和邪恶的机器人之间放一个友好的机器人 Movies like The Soc ...

  6. 网络安全_密码学实验_非对称加密算法RSA

    网络安全_密码学实验_非对称加密算法RSA 一.实验环境 二.非对称加密RSA 1.理解RSA算法原理 2.加密过程 解密过程 一.实验环境 PyCharm 2019.2.4 (Professiona ...

  7. 网络安全_密码学实验_对称加密算法DES

    网络安全_密码学实验_对称密码非对称密码_加密算法DES RSA 一.实验环境 二.对称加密DES 1.理解DES算法原理 2.加密过程 3.解密过程 三.运行结果 一.实验环境 PyCharm 20 ...

  8. 密码学系列(一):密码行业、政策介绍

    密码学系列(一):密码行业.政策介绍 管理部门 <密码法>(19年) <密码法>具体章节 第3章 商用密码 第4章 法律责任 相关零散知识 管理部门 国家密码管理局--商密办- ...

  9. 密码学系列(二):专有名词缩写【持更】

    密码学系列(二):遇到的一些专有名词缩写[持更] 密码学相关 密码产品所需 密码学相关 CRL:证书吊销列表 在线证书状态协议(OCSP):一个互联网协议,用于获取符合X.509标准的数字证书的状态. ...

最新文章

  1. php自动装载编程,php 类自动载入的方法
  2. JAVA虚拟机内存不够解决办法
  3. 【机器学习】opencv-人脸识别
  4. 融合Thread网路协议 ZigBee新版规范Q3出笼
  5. Sauce Labs将分析和扩展调试添加到其持续测试云中
  6. SharpDevelop 如何切换设计视图和代码视图
  7. directx sdk march 2009_小视科技极致轻量级模型人脸识别sdk支持活体检测总模型仅8M...
  8. ubuntu11.04下如何发送文件到U盘如何添加发送文件到U盘的右键菜单
  9. linux删除用户名命令,linux删除用户命令
  10. wps编号无法继续_wps自动编号取消不了
  11. android 音频压缩 silk,有损音频压缩格式大比拼─MP3、Ogg、AAC、HE-AAC、HE-AACv2、Opus究竟谁才是王者?...
  12. 使用libmp3lame库编码mp3
  13. 安装Windows Outlook邮箱客户端
  14. FMCW雷达动作原理
  15. 前端基础知识点-每天一个基本知识点(100+个前端小知识,你是否都知道?)
  16. 平面设计新手怎么构思设计?有什么技巧!
  17. 数据分析 时间序列分析 MA模型
  18. Google账户_GooglePlay_关联
  19. 四人中三人说真话一人说假话如何用编程去判断这样的条件
  20. ProcessLookupError: [Errno 3] No such process

热门文章

  1. 百练_3142:球弹跳高度的计算
  2. 【案例教程】ArcGIS在洪水普查、风险评估及区划中的实践技术
  3. 用Python实现拟一维喷管流动的数值解
  4. 微秒(us)延时 程序
  5. 蓝牙网关蓝牙不同模式下速率——蓝牙单链接
  6. 脑力洗脑背后的思想黑客
  7. 计算机left函数的应用,计算机二级考试Excel函数应用详解
  8. Android培训班(1)
  9. 第二次 过程性考核
  10. 闯关答题小程序-学习地图模式