首页 > 编程知识 正文

网络信息加密最常用的方式,通信加密

时间:2023-05-06 10:08:37 阅读:105718 作者:1680

当人类面对荒诞的外界时,人身安全是首要需求,人们需要互相传授安全防范的经验和技能。 当人类进入信息社会时,我们发现信息安全是我们的首要需要,比以往任何时候都更需要普及信息安全的意识和知识。

—— 《密码学》序,某未具名中科院成都计算机应用研究所研究员/博导

在不懂计算机的人眼里,黑客们大多性格孤僻,在人造人的世界里无孔不入、一事无成的代名词——当然不是真的,这要归功于编剧们的奇思妙想。 这个误差的很大一部分来自于不了解网络安全的人,这是这个网络空间的重要一环。

人们普遍认为黑客技术深奥神秘,但事实并非如此(当然,它有申必码)。 但是,网络通信和密码破解有什么手段,从什么意义上说,它来自哪里呢? 今天我们来介绍一下网络通信中常见的两种加密方式:对称加密和非对称加密

基本概念的Hash今天既然选择了加密作为我们讨论的重点,那就先谈谈hash ~

Hash,音译又称为pldgtx,又称哈希,是一种生成信息摘要的方式。 我知道计算机是用二进制存储数据的,但所有二进制都是一个数字。 Hash所做的就是通过计算这样的数字来得到固定长度的消息摘要。 这样的消息摘要大致有两个特性。 不可逆,低碰撞。 不可逆的意思我很明白。 通过Hash处理的消息摘要无法恢复到消息本身,这相当于单方面的加密过程。 另外,几乎不能解密。 低冲突意味着尽量避免两个不同的消息获得相同的散列。 但是,在这一点上,一些Hash算法偏向于一点差别会带来很大的差异。 但是,相应地,两个不同的文件很可能会发生冲突。 其他算法侧重于两个不同的文件不冲突。

Tips:Hash不是某一特定算法,而是具有相同思想和特性的算法的总称,常见的Hash算法有MD5、SHA-1等。

一般术语的解释明文是指原始信息,理想情况下只有收发才能看到明文,但由于这种情况很难实现,往往是通过传输密文来保证安全性,在数据的加密和解密中无法暴露的信息。

密文是指被加密的消息,密文最重要的特性之一是没有私钥就不能解密。 因此,互联网通信中常见的加密解密主要关注密钥,在数据加密解密中是可暴露的信息。

密钥是控制加密/解密过程的标志型信息(数字、字符串、其他信息),根据算法,密钥分为公用密钥、加密密钥、解密密钥等,是数据加密解密中几乎不暴露的信息。

算法是指加密/解密的过程,通过用某个密钥运算某些信息得到。 在数据的加密和解密中,最好不要暴露信息,但好的加密算法和加密体系必须确保算法被暴露也不能解密密文。

关于安全性,需要注意的是,考虑一下——,虽然任何算法都无法抵挡无敌的穷举法,但是期待尽可能地延长解密时间。 如果你的手机号码需要一千年才能通过超算被破解,这个算法不安全吗? 相反,在实际应用中,解密——并不是完全困难的,它注重提高入侵者的攻击成本,阻止解密。

对称加密对称加密可以说是最古老的加密形式。 密文操作和明文操作可以通过加密/解密过程和一组私钥再现。 有了钥匙,谁都可以锁门,谁都可以打开。 ——就像你家的钥匙。

最简单的对称加密是旧的凯撒密码,用以下几个字符替换一连串字符中的几个字符。 例如,a变得c,b变得d。 在解密密码时,如果知道有人走在后面,就能解密密文——。 该密码满足军事密码通信的要求,但在计算机性能日新月异的现代,该密码还不够。 但最棘手的是,这种算法并不容易被暴力破解。 ——在现代,只要密钥不泄露,对称加密技术就可以说是最安全、最高效的加密手段。 例如,DES、AES、甚至3DES等,这里只限于纸面不展开详细的讨论算法)。 唯一的问题是,在网络通信中,我们一贯假设通信也可能被监听和篡改,所以如何安全地交钥匙就成了鸡下蛋还是下蛋的问题。 为此,提出了一种非对称加密算法。

不得不提到非对称加密或者非对称加密,其是RSA算法,这是典型的非对称加密算法。 此类算法的最大特点是加密密钥和解密密钥不是同一密钥,所以服务器可以公开自己的加密密钥,任何人都可以使用该密钥加密数据。 (但是,只有服务器自己才能解密用这个公钥加密的数据——。 这意味着服务器自己的私钥可以独立加密,而无需公开。 这样可以保证服务器接收到的数据没有被篡改,也不会被截获。

非对称加密算法的唯一问题是他们的速度比对称加密算法慢得多。 ——也可以说是在要求高性能的场景中不可接受的延迟。

端到端的通信如上所述,对称加密算法的问题在于密钥不可靠,而非对称加密算法的问题在于不能支持大量的数据流。 因此,聪明的你一定认为很快,就可以用不对称算法传递对称密钥,这样进行通信。

是的,完全没错。 这就是端到端通信中的加密手段。 客户端首先向服务器请求公钥——。 这是因为不需要加密。 公钥最初是公开的,用该公钥对自己的对称密钥/加密公钥进行加密并传输给服务器,服务器用自己的私钥进行解密。 这就是有名的SSL。

注:虽然SSL在工作流中包含了防止攻击和确保数据完整性的额外努力,但其基本原理是这样的。

证明书

书签名

好的,一切看起来都很完美,但是有一个小问题:如果我们的数据被篡改了怎么办?
假设客户端和服务器中间有一个转发者,他截获了客户端发出的请求并将自己的公钥返回给了客户端,然后再将客户端的请求发给了服务器,客户端用攻击者的密钥加密了自己的对称密钥——但私钥却不在服务器,而是在攻击者手里,很显然这条连接将是一条裸奔的加密连接——而且双方都对此毫不知情,这该怎么办呢?
现代的安全专家们采用了一个非常巧妙的方式来解决这个问题:他们重新构建了另一套非对称密钥(为了方便和上面的连接密钥区分,我们称其为证书密钥),这套非对称密钥中的公钥是解密用的密钥,而私钥(即加密密钥)掌握在服务器自己手里。
这样,当其他人询问的时候,服务器就会将传输密钥、身份信息组合成一个字符串,然后将计算它的pldgtx并它加密,最后将密文和pldgtx同时打包发送——这证明了打包者同时知晓原文和密钥,原因如下:
1.因为只有原文才能得出pldgtx,而pldgtx本身不可逆,所以得到pldgtx者必然需要知道原文/pldgtx中的一条。
2.因为非对称密钥中加密密钥和解密密钥相对应,如果能成功解码消息则起码证明发送密文者知晓密钥和原文。
我们常说“孤证不立”,在密码学中也有类似的说法,即“单一信息无法验证自己是否可信”,读者们可以自己思考一下为什么一定要pldgtx和密文同时发送才能证明密文发送者是服务器(即一定持有加密用的证书私钥)。
在这种情况下,只要我们确保解密用的解密密钥可信,我们就可以确保和我们通信的一定是这个解密密钥对应的加密密钥——即一定是这台服务器。
但很显然,我们没有办法保证解密密钥的可信,最后解决这个问题的办法是我们提前在计算机里设置一些绝对可信的解密密钥,当我们遇到一个声称“自己安全”的解密密钥时,便去询问这些服务器,由他们来证明这个解密密钥安全。这些密钥、还有一些额外的信息(比如密钥pldgtx、身份等)一起打个包,就变成了我们熟知的数字证书。

结语

好的,那么这就是小编给大家分享的网络通信加解密有什么手段、什么意思、出自哪里。希望大家看完这篇由小编精心整理的内容后,能对相关知识有所了解,解决你的困惑!(狗头保命)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。