千家信息网

关于数据传输中加密解密那点事儿(一)

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,随着互联网的兴起,越来越多的信息和资源要通过网络传输完成;然而在这些数据传输中总有一些"无关人员"做一些窃听、盗取、篡改等危害数据安全的行为,所以我们要对数据进行加密处理,以保证数据的安全传输;所以有
千家信息网最后更新 2024年11月11日关于数据传输中加密解密那点事儿(一)

随着互联网的兴起,越来越多的信息和资源要通过网络传输完成;然而在这些数据传输中总有一些"无关人员"做一些窃听、盗取、篡改等危害数据安全的行为,所以我们要对数据进行加密处理,以保证数据的安全传输;

所以有了一下几种加密方式:

一、对称加密:

这种算法简单来说就是 数据的发送方和接收方都必须要有同一种密钥(加密数据所用到的密钥),在数据的传输中 数据与密钥都通过加密的方式传送;

特性:在数据加密中,数据被分成固定大的块,逐个加密;加密和解密速度也快;

缺陷:因为加密和解密使用同一种密钥,所以需要发送方和传送方都要保留密钥,导致对于保存密钥的数量也会越来越多;密钥的分发的保密性也过于困难;

二、单向加密:

这种加密方式就是单纯的加密过程,无法自己进行解密;所以不能用作直接进行加密数据信息。常用的算法有两种:MD5和SHA算法,用这种方法对数据中的某一段进行加密处理,获得一个叫"特征码"的东西。 这种"特征码"可以用来确定原数据真伪性和数据的完整性;

特性:定长输出;雪崩效应(更改原数据中任意一个字节,都会使得特征码有截然不同的变化)

三、公钥加密算法:

这种算法中所用到的密钥有两种:私钥和公钥(由私钥抽取生成的)

私钥的大小:512bit、1024bit、2048bit、4096bit、8192bit、16384bit;

这种加密方式对数据的加密安全等级较高;简单来说就是使用私钥加密数据,解密则必须用公钥来解密;若使用公钥加密,则必须使用私钥来解密;

由于私钥的大小过大,对于数据的加密所消耗的系统资源和时间也会过多;所以就产生了缺陷;

通常这种加密方式很少用来加密大批量的数据,所以它可以用来加密以下几种:

⑴数字签名的加密

数字签名是用来让数据的接收方确认发送方的身份的;

⑵密钥加密

在对称加密中的密钥交换时,可以用公钥加密法来加密密钥;

⑶小段数据的加密

当所需要传送的数据是少量的情况下,可以使用公钥加密;

常用的公钥加密算法:

RSA:加密数字签名

DSA:数字签名算法;只能实现数字签名的功能;有时该算法被称为DSS;

ELgamal


有了以上几种加密方式,在数据传输中的联合应用,就可以达到安全传输数据的目的;

从公钥加密方式可知,传输数据双方都要有对方的公钥才可以对数据进行解密;那么问题来了,这个公钥如何获得?所以这里产生了第三方机构,也就是CA(Certification Authority)。


CA是认证身份的中心,是用来确认公钥拥有者的真实身份的;类似于我们生活中的×××;


CA机构的工作:

1.通信双方交换证书;

2.双方协商加密算法;

3.双方验证证书的真伪;

4.用CA的公钥解密证书中CA的签名,能解密说明证书来源可靠

5.用通用的加密算法加密证书,取得特征值;与解密出来的特征值比较,如果相同,说明证书完整性可靠;

6.检查证书的有效期是否在合法时间范围,如果过期则证书不被认可;

7.检查证书的主体名称和此通信的目标是否能够对应


国际标准化组织(ISO)定义了证书的机构和认证标准,X.509协议标准

证书里面主要包括:

拥有者的名称:

拥有者所提交的公钥

有效期

证书的版本号

证书的序列号

签发算法ID

签发CA的名称

主体名称

发证者的唯一标识

发证者的数字签名;

扩展信息;

有了这个机构我们就能安心的在网络中传输数据了;简单的总结下数据是如何传输的:

1.通信双方互相交换证书,并到信任的CA进行证书验证;


2.发送方使用某种对称加密算法对数据进行加密;对加密后的数据使用单向加密计算其特征值;发送方再用自己的私钥加密此特征值,以证明数据来源的可靠;发送方使用接收方的证书加密对称密钥;


3.接收方在收到数据之后,先使用自己的私钥解密对称密钥;然后使用发送方的公钥解密特征值,再利用相同的单向加密算法,重新结算加密数据的特征值;比较两个特征值;如果特征值一致,则表明数据完整;再用解密出来的对称密钥解密出原始数据


0