DES(Data Encryption Standard, 数据加密标准)对称加密算法,即加密解密采用相同的密钥。1972年美国IBM公司研制的对称密码体制加密算法,1977年美国政府正式采用此算法,故而DES又称美国数据加密标准。1983年公开免费使用。

DES算法安全性
一.安全性比较高的一种算法,目前只有一种方法可以破解该算法,那就是穷举法. 
二.采用64位密钥技术,实际只有56位有效,8位用来校验的.譬如,有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法.
因为以上两点,DES曾经号称是绝对安全的算法,但作为安全人员,都有个认识,这世上没有绝对的安全,随着技术的改进,及对算法的研究,DES也不得不承认它的不足。为什么DES不再安全呢?请看:
1、计算机运算速度的提升,降低了DES的安全性。
2、分布式穷举很大程度上缩短了DES穷举所需要的时间。
3、专用的DES破解仪器,计算机是通用设备,破解DES或许需要很长的时间,但是在1998年,EFF为了向世人证明DES不再安全,耗资20万美元打造了一款专用的DES解密设备(Deep Crack),1536个CPU,每秒920亿个KEY的速度对DES进行破解,4天左右可以破解DES的加密,这对DES来说是致命的,至此,廉颇老矣。
4、1980年,牛B的马丁.赫尔曼提出了一个牛B的构想,用海量的存储预先将所有有可能的KEY(A)与可能的明文进行加密得到密文B,把(A,B)存储起来,那么我们就可以通过索引来获取我们想要的结果(现代的MD5解密就是这么作的,当然MD5同样号称被破解了),但这样来说我们需要一个近乎不可能存在的存储空间来存储这样一个海量的信息库。当然牛B的马丁提出了一种稍次的替代方案,选择一定的KEY(通过一定的规则)把(A,B)存储起来,当然这时候就不会是那么精确了,会有一个范围,我们通过索引索引到这个小的范围,再在这个小的范围里进行穷举。这就像树(分层的概念)如果你想作这么一件事,或许你可以多分几层,这样更加能缩短你需要的存储空间。
5、继马丁之后,牛B的以色列人发明了一种微分算法来对DES进行破解(以色列在密码方面挺牛叉的),只需要对特殊的明文、密文采样247对,就可以短时间获取到需要的信息。
6、日本一个年轻科学家发明了一种线性分析方法,也很大程度上削弱了DES的安全性。
综上所述,DES己经不再安全了,我们需要一种更安全的替代方案,但是DES作为一种相当优秀的加密算法,还是需要学习一下。

早先提过DES是一种对称密码,因此DES有三个参数(KEY、DATA、MODE),KEY和DATA都是8字节,64位,得到的密文也是64位,MODE是指工作模式(包含加密、解密)。
1初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长3 2位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。
2逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。
DES实际上只用到64bit中的56bit第8、16、24、32……等8位未参与加密,因此需要避免这些位为有效位的密钥。

针对DES的不安全性,也为了安全性需要,人们亟待一种更加强壮的加密算法来保障我们生产的需要,因此一种过渡性算法诞生了-3DES
在EFF公布DES破解设备后的一年(1999年)NIST公布了3-DES(Triple DES)作为一种过渡的加密算法,它采用了3对64bit(或许称之为56bit更合适,因为它只有56位是有效的)对数据进行三次运算,用第一对密钥对K1数据进行加密,得到的密文用第二对密钥对K2进行解密,再用第三对密钥K3对结果进行加密,得到的最终输出就是3-DES加密结果。同样它的解密过程是互逆的,用第一对密钥对密文进行解密后,再用第二对密钥对密文进行加密,最后用第三对密文进行解密。那么,在三对密钥全不相同的前提下(注意第无效位),相当于把密钥由64bit提升到了168bit,在很大程度上提升了DES算法的安全性,但这仅仅在密钥上作了加强,没有根本上解决3-DES的不安全性,所以它注定只能担当过渡者的身份,终于在2000年的10月,享年28岁的它与世长辞,另一个牛B的接班人AES正式走上舞台。

转载于:https://www.cnblogs.com/0x0001/archive/2011/12/19/2293748.html

加密算法五虎上将之DES相关推荐

  1. 第十五章 五虎上将中谁最冷血

    五虎上将中谁最冷血 笔者有一个发现:名字为"平"或"萍"的人中,搞艺术的数量相当可观,例子多得顺手就可拈来,如:作曲家王立平.赵季平,漫画家张乐平,导演何平,相 ...

  2. 《BI那点儿事》三国数据分析系列——蜀汉五虎上将与魏五子良将武力分析,绝对的经典分析...

    <BI那点儿事>三国数据分析系列--蜀汉五虎上将与魏五子良将武力分析,绝对的经典分析 原文:<BI那点儿事>三国数据分析系列--蜀汉五虎上将与魏五子良将武力分析,绝对的经典分析 ...

  3. 王者荣耀8月15日服务器维护,王者荣耀8月15日更新维护公告 马超五虎上将新版本上线...

    王者荣耀在8月15日这天正式服更新,马超五虎上将版本正式上线,很多玩家还不清楚更新了什么,下面就来为大家汇总一下. 亲爱的召唤师: 我们计划在2019年8月15日0:00-9:30对于正式服及抢先服进 ...

  4. 看了最高估值的“五虎上将”,你会不会觉得科创板已经疯了?

    "你真的懂科创板的玩法吗? 大数据产业创新服务媒体 --聚焦数据 · 改变商业 众所周知,6月底以来股市启动了狂涨行情,中小创业板势头不减,科创板更是异乎寻常地疯狂.只是现在还没有科创板指数 ...

  5. 第八章 五虎上将中谁最有心计

    五虎上将中谁最有心计 秦明虽然性急,却也并非毫无心计,而他的下家双鞭呼延灼则是梁山五虎上将中最有心计的人. 我们大家都知道,在大宋朝的历史传奇中,杨家将和呼家将是忠君爱国,不畏奸邪的两面互相呼应的旗帜 ...

  6. 如何进行任务与缺陷跟踪管理?~ TechExcel DevSuite 五虎上将篇之任务与缺陷管理高手 DevTrack(一)

    本篇是TechExcel DevSuite 五虎上将系列的第二篇,介绍任务与缺陷跟踪管理工具,"前将军" ---  DevTrack. 个人资料: 姓名:DevTrack 家族:T ...

  7. 2022年中国PCB企业五虎上将是哪几家?

    得益于通信电子.计算机.消费电子.汽车电子.国防及航空航天等领域需求的增长,中国印制电路板市场规模增长迅猛,中国PCB行业也涌现出一批优秀的PCB厂商.今天为大家盘点下2022年中国PCB企业五虎上将 ...

  8. 五虎上将常山赵子龙java_五虎上将是哪些人?常山赵子龙为何不是

    后刘备奔袁绍于邺与云相遇,随从至荆州,战博望,出长阪,迁为牙门将军,仅为一名护卫偏将,随刘备南定诸郡后,方升为偏将军,领桂阳太守,而关羽已是襄阳太守.荡寇将 军,张飞也是宜都太守,征虏将军,后刘备入蜀 ...

  9. des加密算法python代码_python des加密算法代码(pydes模块加密)

    python加密解密模块:pyDES模块,用来提供 DES.Triple-DES 的加密算法. 专题教程: DES加密算法,DES加密解密 python des加密解密算法 例子,Python DES ...

最新文章

  1. 2040张图片训练出的ViT,准确率96.7%,连迁移性能都令人惊讶 | 南京大学
  2. VTK:可视化之MoveCamera
  3. IE 10的新HTML​解析规则​
  4. Fortran执行语句中的“双冒号” ::
  5. Windows 7 IIS HTTP 错误 403.14 - Forbidden
  6. python海贼王logo_Python 实现的下载op海贼王网的图片(网络爬虫)
  7. 8s pod 查看 的yaml_k8s之深入解剖Pod(三)
  8. “10亿赌约”董明珠赢了!格力电器2018年总收入超2000亿
  9. 一位Erlang程序猿的自白
  10. win7 IIS服务启动和停止
  11. Android 文件系统路径
  12. 机械设计二级减速器设计
  13. 利用PIL将图像处理为黑白和灰色图片
  14. 八:微服务调用组件Dubbo
  15. Rational Rose 2007 使用方法
  16. Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作
  17. 工业级4G路由器的应用特点
  18. 模拟计算 |“五重解读”带你玩转CO2RR描述符-科学指南针
  19. 印象笔记终于支持 Markdown 了
  20. 利用Python在环境气象海洋领域实现基础计算与绘图

热门文章

  1. MyBatis核心源码剖析(SqlSession XML解析 Mapper executor SQL执行过程 自定义类型处理器 缓存 日志)
  2. 传统节日祝福问候时机分析
  3. 前端面试题:谈一谈vue和react的区别?
  4. PowerDesigner 设置
  5. vivoiqoo系统会加入鸿蒙吗,iQOO正式官宣,11款vivo系机型,开始公测最新系统了!...
  6. SpringBoot中condition注解的使用
  7. 程序员经常用到的十个网站,值得收藏
  8. core nagios 中文版_Nagios core4.3.4 安装配置
  9. JSP+ssm计算机毕业设计晨光心雨文具店销售管理系统l80v7【源码、数据库、LW、部署】
  10. JavaScript高级(详细总结)