加密算法

加密算法

Guderian出品

想获得更佳阅读体验?戳https://g-ss-hacker.github.io/G-SS-Hacker.github.io/%E4%BB%80%E4%B9%88%E6%98%AF%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/

加密算法的历史

加密算法是一种古老的算法,在人类几千年来的历史进程中,加密算法随着一场场战争的爆发而不断进步,从古罗马时代到第二次世界大战,从凯撒密码恩尼格玛密码。然而,就像矛和盾的关系一样,加密技术和解密技术也在不断螺旋式发展。下面,笔者将向读者朋友们介绍一种古老的科技:凯撒密码

在战争中,命令的传递往往需要通过传令兵。如:

后方指挥部 ———传令兵携带命令“攻打X城”———>我方部队
可是,一旦传令兵被敌方抓获,重要的军事情报就会泄露给敌方。
后方指挥部命令“攻打X城”—>敌方部队
甚至,敌人可能会篡改命令,并发出假传令兵把假情报传给我方部队。
后方指挥部命令“攻打X城”—>敌方部队命令“攻打Y城”—>我方部队
这样一来,我方部队就会完全落入敌方陷阱中。为了防止这种情况发生,在没有更好的传达命令的方法的情况下,我们不妨修改命令的内容,让敌人即使截获了命令,也无法看懂命令的内容,这就是对信息的加密。
后方指挥部命令“@#¥!!”—>敌方部队:???
如何进行加密呢?有一种非常朴素的加密方法叫凯撒密码,它的基本思路就是偏移。

如图所示,图中第一行的字母代表明文,第二行字母代表密文。这个加密算法十分简单,选择一个偏移量,此处是3,把明文当中的所有字母按照字母表的顺序向后偏移三位,从而生成密文。比如:

A - > D
B - > E
C - > F
LOL - > MPM

这样一来,就算我军的密码被敌军截获,敌军也无法看懂。一旦我方部队收到了我方的命令,只要逆转原来加密的过程,把密文以偏移量3往左偏移解密为明文,就可以正确收到我方的命令。假设敌军已知我方的加密算法,想要破解,把26个字母都试一遍,终究可以得到正确的原文,这就叫暴力破解。

现代加密算法

1.对称加密算法

明文-- 密钥--> 密文-- 密钥--> 明文
这很好理解,这就好比给你需要传递的信息加上一把锁,这把锁的钥匙只有你和信息接收方拥有,这样就算信息被截获,也只能看出一堆乱码。只要传递方与接收方事先得到一致的密钥,双方就可以安全进行信息往来。

常见的对称加密算法有DES算法和3DES算法,它的基本方法是替换+移位;还有美国联邦政府采用的AES算法;还有RC-5算法和IDEA算法。office WordExcelPowerfulpdfWinRAR的加密算法都属于对称加密算法。

对称加密算法的优点是简单高效,然而缺点却也很明显,那就是安全性低。比如下面这种情况:

你想要给某人通过QQ发送一个加了密的word文档,你发过去了但你的小伙伴打不开,那他当然会向你要密码。为了让他能顺利打开这个文档,你又要给他发送文档的密码。这样一来,你的文档就没有任何安全性可言了。如果你的文档被不怀好意的人截获,那他当然也能截获你的密码。

为了解决对称加密算法安全性低的问题,科学家发明了非对称加密算法。

2. 非对称加密算法

明文-- 公钥--> 密文-- 私钥--> 明文
明文-- 私钥--> 密文-- 公钥--> 明文
在非对称加密算法中有一对密钥,其中一个叫公钥、另一个叫私钥。如果要加密一个文档,我们既可以用公钥加密文档,用私钥解密文档;也可以用私钥加密文档,用公钥解密文档。最常见的非对称加密算法就是大名鼎鼎的`RSA`算法,几乎无法破解。

非对称加密算法的缺点是效率低下,然而其优点是安全性极高,解决了对称加密算法的安全性低的问题。比如下面这种情况:

在一间公司中,每一个员工都有自己的一对公钥和私钥,公钥可以交给他人,但是私钥只有自己知道。员工之一的你想要给同样为员工的某人通过QQ发送一个文档,你只需要向接受者索要他的公钥,他就会光明正大地通过QQ发给你,你再利用他的公钥给文档加密,然后光明正大地通过QQ发给他,他接收到你发送的已用他的公钥加密过的文档之后,就可以用他的私钥解密,从而顺利的查看文档了。在这个过程中,就算文档和公钥都被截获,因为没有相应的私钥,也无法正常还原。因此,这个非对称加密算法的安全性比对称加密算法提高了一个等级。

我的博客:https://g-ss-hacker.github.io

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值