前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手画 DES 加密算法流程

手画 DES 加密算法流程

作者头像
码农UP2U
发布2020-08-26 14:44:51
9260
发布2020-08-26 14:44:51
举报
文章被收录于专栏:码农UP2U码农UP2U

看许式伟的文章时,他提到“怎样成为一个优秀的软件架构师”时,说了这么一句话:“一靠匠心,二靠悟心”(这里他的确写的是悟心,不是悟性,这里的悟心,也许是指“领悟心”的意思吧)。我不知道怎么算匠心,也不知道什么算悟心,但是作为一个做技术的人,也许通过不断的积累和提高自己,慢慢会理解这话的内涵吧。

加密算法

一直一来我对加密算法都有抵触的心理,原因很简单,想要理解加密算法会涉及到一些计算相关的内容。虽然以前学习过一段时间“软件逆向工程”,但是关于加密算法始终没有去学习过。最近因为自己的心态,与各种其他方面的原因,促使自己想要去把一些常见的加密算法去熟悉一下,至少应该去理解一些常见加密算法的流程。

手画 DES 加密算法流程

在自己想要学习加密算法的驱动下,学习了一个不算特别复杂的加密算法 —— DES 加密算法,流程不多,数学知识少。关于 DES 加密算法的具体细节不想描述了,毕竟网上有太多了。

DES 加密算法有几个主要的流程,只要掌握了主要的流程,以及每个流程要处理的内容,我觉得也就算是大体了解了。通过自己几个小时(不是连续几个小时,是每天一个多小时)的学习和理解,在不断的看书、记录、看书、整理……这么一个过程中算是把 DES 算法的流程搞明白了,在搞明白的基础上,自己在纸上画出了 DES 加密算法的流程。

字是比较丑,但是请不要关注我的字。这 3 个流程图就是 DES 加密算法的主要流程了。基本上流程图中每个环节大体要做的内容我也可以描述出来,比如初始置换 IP 和逆初始置换 IP-1 是做什么,S 盒做什么,为什么 64 位的密钥实际只使用了 48 位等都可以按照自己的理解描述出来。当然了,要让我把 S 盒背出来那是不可能的。

最后

很多时候,在解决遇到的问题时都是需要对知识有一个细致的了解,比如知识的原理或技术的本质。这些内容在翻书或学习时也会看到,但是学习时会自动屏蔽掉一些内容,比如想当然的认为这个知识自己用不到,或者这个知识不是自己需要的,而把这些知识跳过去。但是等真正需要使用的时候,自己却发现很多被跳过去的知识是很有用的。

虽然我学习了加密算法,从短期看它并不能给我的工作带来什么变化,但是在学习加密算法的过程中收获了一些数学和加密设计思路相关的知识,而这些知识可能在未来的某个方面会被应用到。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档