判断数据是否安全主要有4个要素,分别为机密性、完整性、身份认证和不可抵赖性。
如上图,明文进过秘钥变成密文的过程称为加密,密文进过秘钥变成明文的过程就是解密。秘钥是在明文转换为密文或将密文转换为明文的算法中输入的参数。加密算法可以分为对称加密算法和非对称加密算法。
如上图所示,首先明文加上秘钥经过加密算法得到所需要的密文进行传输,接受者又使用相同的秘钥经过解密算法得到明文。而在加解密过程中秘钥是一样的,此算法就称为对称秘钥算法。
对称秘钥加密典型算法如下:
如上图所示,用户B有两个对应的秘钥,其中一个加密,另一个解密,两者一一对应。“公钥加密,私钥解密”或“私钥加密,公钥解密”。用户B将其中私钥私下保存,公钥公开发布,公钥和私钥不可相互推算。如果A想发送秘密信息给B,首先A需要获得B的公钥,然后A使用该用药机密信息发送给B,最后B使用自己的私钥解密信息。
非对称加密典型算法如下:
如上面两幅图所示,明文随机产生一个会话秘钥并经过对称加密算法对信息进行加密,再使用B的公钥对会话秘钥进行加密,将加密后的信息和加密后的会话秘钥一同传递给B,B通过自己的私钥得到会话秘钥,再通过会出秘钥得到最后的明文。
数据进过Hash算法会形成一段序列,也称为摘要,然后将数据和摘要发送给接收方,当接收方收到数据后会使用同样的Hash算法形成一个新的摘要,这是可以查看新生成的摘要与传过来的摘要是否相同,若相同则数据完好,若不相同则数据遭到了破坏。
数字签名是用签名方的私钥对信息摘要进行加密的一个过程。签名过程所得到的密文即称为签名信息。
数字签名主要功能:
1、保证信息传输的完整性;
2、对发送者进行身份认证;
3、防止交易中的抵赖发生。
如上图所示,明文通过Hash摘要算法形成一段摘要,之后使用A的私钥将摘要进行加密得到了数字签名,最后将数字签名和明文发送给接收方,接收方在接收到数字签名和明文后使用A的公钥对摘要进行解密得到传输过来的摘要,同时接收方又使用摘要算法得到新的摘要,然后比较两个摘要是否相同,若相同则数据完好,若不同则数据损坏。