[密码学] DES(二)
文章目录
- DES
- DES的安全性
- 期望的安全性
- S盒的设计原则(唯一的非线性部件)
- 雪崩效应
- 密钥的安全隐患
- 互补性
- 弱密钥和半弱密钥
- 密钥搜索攻击——穷举攻击
DES
https://blog.csdn.net/Qtuanqi/article/details/115795481
DES的安全性
期望的安全性
①密文的每个比特都依赖于密钥和明文的所有比特
②明密文之间没有明显的统计关联(频率的特性)
③改变任意单个明文比特或密钥比特都会使密文的每个比特以1/2的概率改变
④改变密文的一个比特会使被恢复的明文分组产生不可预见的变化
S盒的设计原则(唯一的非线性部件)
①每个S盒的每一行都是整数0~15的一个置换
②每个S盒的输出都不是它的输入的线性或仿射函数
③改变S盒的一个输入比特,其输出至少有2比特发生改变
④对任何S盒和任何输入x,S(x)和S(x⊕001100)至少有2比特不同
⑤对任何S盒和任何输入x,以及e,f∈{0,1},S(x)≠S(x⊕11ef00)
⑥对任何S盒,当它的任一输入位保持不变,其他5位输入发生变化时,输出的数字中的0和1的总数接近相等。
雪崩效应
在不知道密钥的情况下,明文的1比特发生改变,密文的每一个比特变与不变的概率均为1/2。
当然,固定明文,选择两个不同的密钥(有1比特不同)得到的密文基本上也稳定在32个比特不同。
密钥的安全隐患
互补性
通过选择明文攻击:
需要的穷举的密钥数量降低了一半。
弱密钥和半弱密钥
密钥搜索攻击——穷举攻击
密钥太短,密钥量为2^56个
[密码学] DES(二)相关推荐
- 格理论与密码学(二)
格理论与密码学(二) Babai最近向量算法 高斯格基约简算法 LLL格基约简算法 Babai最近向量算法 设 L ⊂ R n L\subset\R^n L⊂Rn是一个格, v 1 , v 2 , . ...
- 密码学--DES算法(图形化界面)python
密码学--DES算法python 要求 原理 主要功能界面 具体功能代码 源码 要求 网上搜索DES的源代码. 利用DES源代码实现下面功能: 给定某个Sbox的输入差分情况下,计算所有输入对和所有S ...
- [密码学] DES(一)
文章目录 DES算法描述 加密 Feistel结构 轮函数f Step1:E扩展 Step2:过S盒 Step3:P置换 密钥生成方案 解密 双重与三重DES 各种变换的值 文件链接 DES算法描述 ...
- 信息安全密码学实验二:序列密码的设计与实现
序列密码的设计与实现 一.实验目的 理解线性反馈移位寄存器的基本构造,编程实现一个简单的线性反馈移位寄存器并用输出序列对给定明文实施逐比特加密. 二.实验原理 给定前一状态的输出,将该输出的线性函数再 ...
- 密码学(二):古典密码之维吉尼亚密码的破解
维吉尼亚密码的破解 一.引言 上一章我们介绍了维吉尼亚密码的原理,是通过移位替换的加密方法进行加密,但是因为概率论的出现这种简单的移位或替换就容易破解了,其原理很简单,英文中字母出现的频率是不一样 ...
- 实验吧-密码学(二)
11.最近在论证一个问题,到底是先有鸡还是先有蛋 Ijm,lo 3wsdr4 6tghu7 解题链接: http://ctf5.shiyanbar.com/crypto/1/dan.html 在键盘上 ...
- 密码学——DES算法计算
1.初始置换ip 分成俩组L0 和R0 3.L0不变对R0进行操作 (1)e-box (2) E-box 和子密钥48 位进行异或操作 先求子密钥: 1.Pc-1 2.循环左移 3.pc-2 E-bo ...
- HTTPS安全通讯 1. 密码学基础
文章目录 一. 密码学发展 1. 古代保密之术 2. 近代密码学发展 二.数论 三. 群论与有限域 1. 抽象加法与群论 2. 有限域 四.加密基元与加密工具包 五.随机数 1. 随机数分类 2. 命 ...
- 密码学的100个基本概念
密码学的100个基本概念 一.密码学历史 二.密码学基础 三.分组密码 四.序列密码 五.哈希函数 六.公钥密码 七.数字签名 八.密码协议 九.密钥管理 十.量子密码 2022年主要完成了密码学专栏 ...
最新文章
- 教你用webpack搭一个vue脚手架[超详细讲解和注释!]
- 服务器应用缓存热点问题思考
- 安卓事件机制与页面跳转
- 进程间通信之管道通信
- Educational Codeforces Round 54 (Rated for Div. 2) D Edge Deletion (SPFA + bfs)
- python+opencv简单人脸识别(源码)(有手就行)
- Vue中computed,watch,Methods的比较
- 算法设计与分析——背包问题(Java)
- Linux驱动的地址空间和硬件地址空间说明——摘自华清远见嵌入式园地 .
- 闰年和平年的区别python_利用Python实现图书超期提醒
- 公司组织管理与权限管理的设计原则
- Android肝帝战纪之网络请求框架封装(Retrofit的封装)
- 癌症的治疗方法有哪些?有一种方法比化疗好,副作用小
- LeetCode509(力扣509) :斐波那契数列 C++ 多种思路与详细解析
- velocity页面js引入#foreach遍历list
- 视频教程-其实你还不懂Word-Office/WPS
- 拍照比“剪刀手”会泄露指纹信息,1.5米之内百分百还原。
- 《怎样才是最好的学习》读后感
- 华中科技大学计算机博士好考吗,【经验】谈谈我的三次华科考博经历--申请版主加分...
- 美国加息全球死伤一大片,它到底加了什么?
热门文章
- java获取密钥长度_java.security.InvalidKeyException:解密期间密钥大小错误
- 数据中心运维管理社区祝大家新春快乐,虎年大吉!
- 模块化是数据中心设计的未来
- 数据中心用多模光纤技术及发展趋势
- 一份完整的机房建设方案
- 动力专业节假日保障预案
- mysql数据库truncate 夯住_MySQL如何优雅的删除大表实例详解
- github流程图_10月份Github上最热门的JavaScript开源项目
- Dataset:GiveMeSomeCredit数据集的简介、下载、使用方法之详细攻略
- 成功解决import win32api, sys, osImportError: DLL load failed: 找不到指定的模块。