获得徽章 0
- 假如小白发给小田的消息是你家姑娘真漂亮,而小田收到的消息却是你儿子真帅。但是小田收到消息后并不知道小白发送的消息真实性,如何验证消息的真实性呢?可以使用数字签名。数字签名与公钥密码(非对称加密)相反,小白生成公钥和私钥,使用私钥对消息进行加密并生成签名,将消息和签名一并发送给小田,小田使用小白的公钥对签名进行解密得到消息和直接接收小白发送的消息进行对比验证,如果两者一致说明小白发送的消息并没有被篡改或者伪造。展开赞过11
- 混合密码是将对称加密和非对称加密相结合。以大周给小田发送消息为例,大周生成会话密钥(本次通信随机生成的临时密钥)作为对称加密的密钥,大周用会话密钥给消息进行加密。小田生成公钥和私钥并把公钥发送给了大周,大周用公钥加密了会话密钥并且将加密后的密文结合起来一起发给了小田。小田拿到二者的结合体,先用自己的私钥解密了会话密钥,拿到会话密钥之后,用它来解密了加密的消息。解决了密钥配送问题的同时利用对称加密解决了加密速度问题。展开赞过评论1
- 非对称加密需要两个密钥,一个是公开密钥(公钥),另一个是私有密钥(私钥)。公钥和私钥是一一对应的,不能单独生成。其中 RSA 是使用的比较广泛的非对称加密算法。假设有小田大周珍珍三个人都想给小白发送消息,消息需要加密为密文。此时,小白可以生成密钥对,将公钥发给小田大周和珍珍,小田大周和珍珍使用小白的公钥对消息进行加密,小白收到消息后使用自己的私钥进行解密,最终拿到明文内容。因为私钥是只有小白一个人保有,所以解决了密钥配送的问题。非对称加密相对安全,但是加密速度不如对称加密。由于对称加密速度快但是无法很好的解决密钥配送问题,非对称加密解决密钥配送问题但是速度又不快,所以需要利用混合密码系统解决这个问题。展开赞过评论1
- 对称加密,加密用的密钥和解密用的密钥是相同的。常见对称加密算法有DES、3DES、AES。在使用对称加密时,一定会遇到密钥配送问题,在配送密钥的过程中可能会被窃取。可以使用非对称加密解决密钥配送问题。3点赞
- 散列函数:又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息和数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。
散列算法也被用来加密存在数据库中的密码字符串,由于散列算法计算出的散列值具有不可逆的性质,因此可以有效的保护密码。
常见的散列算法:MD5,SHA等展开赞过21 - 在一颗二叉树中,若除最后一层外的其余层都是满的,并且最后一层要么是满的,要么在右边缺少连续若干节点,则此二叉树为完全二叉树(Complete Binary Tree)。
#完全二叉树的概念赞过31