对称加密

密码学在加密算法上分类

点点圈 提交于 2020-05-05 15:13:42
单向加密算法 单向加密算法主要用于对信息完整性的验证 ,这种技术就是由散列函数提供的消息认证技术。 散列函数,也称做哈希函数、消息摘要函数、单向函数或杂凑函数。通过散列函数,可以为数据创建“数字指纹”(散列值)。散列值通常是一个字母和数字组成的字符串。 其消息认证流程如下: 在上述认证流程中,信息收发双方在通信前已经商定了具体的散列算法,并且该算法是公开的。如果消息在传递过程中被篡改,则该消息不能与已获得的数字指纹相匹配。 散列函数具有以下的特征: 消息的长度不受限制 对于给定的消息,其散列值的计算是很容易的。 如果两个散列值不相同,则这两个散列值的原始输入消息也不相同,这个特性使得散列函数具有确定性的结果。 散列函数的运算过程是不可逆的,这个特性称为函数的单向性。这也是单向函数命名的由来。 对于一个已知的消息及散列值,要找到另一个消息使其获得相同的散列值是可不能的。这个特性称为抗弱碰撞性。这被用来防止伪造。 任意两个不同消息的散列值一定不同。这个特性称为抗强碰撞性。 散列函数广泛用于信息完整性的验证,是数据签名的核心技术,散列函数的常用算法有MD----消息摘要算法、SHA-----安全散列算法及MAC-----消息认证码算法。 对称密码体制 对称密码体制的保密模型如下图所示。对称密码体制要求加密和解密使用同一个密钥,解密是加密的逆运算,由于通信双方共享同一个密钥

遨游密码世界(二)

感情迁移 提交于 2020-03-02 12:42:50
上一篇介绍了消息传递存在的问题: 机密性 、 完整性 、 认证 、 不可否认性 。本篇介绍解决这些问题的方案,我们形象的把它们统称为 密码工具箱 ,工具箱里的 工具 列举如下: 对称加密 : 解决 机密性 的工具; 公钥加密(也叫非对称加密) : 解决 机密性 的工具; 单向散列函数 :解决 完整性 的工具 (接上文: 遨游密码世界(一) ) 二、密码学工具箱 1. 对称加密 1)异或运算 最强大脑有个 层叠消融 的项目,本质上就是属于密码学中的对称加密。 层叠消融 把两个图形重叠在一起,相同的部分会消失,不同的部分会显示。如果这么说不太理解的话,可以看下面的 异或 运算,和 加减 运算一样简单。 0 XOR 0 = 0; 0 XOR 1 = 1; 1 XOR 0 = 1; 1 XOR 1 = 0; XOR 和 + 、 - 都是数学里面的运算符号,叫做 异或运算符 。它的规则是相同的数字做运算之后结果为 0,不同的数字做异或运算之后结果为 1。这里即可看出 层叠消融 的本质即异或运算。 2)对称加密的核心就是异或运算 随机生成两个相同位数的数字 01001100 和 10101010,对第一个数字记做 A,第二个数字记做 B,对它两进行异或运算。 0 1 0 0 1 1 0 0 // A 1 0 1 0 1 0 1 0 // B 1 1 1 0 0 1 1 0 // 结果 将结果

基于HTTPS的安全机制的研究(一)

a 夏天 提交于 2019-11-29 20:40:57
##1 问题提出 现在广泛使用的HTTP协议采用的是一种明文传输的方式,因此通信双方的数据在网络上传输是十分不安全的。 ##2 解决方案 一种简单的解决方案就是对传输的数据进行加密处理。 目前流行的加密方式有两种:对称加密和非对称加密。 ###2.1 对称加密 首先讨论对称加密方式。 对称加密指的是通信双方使用同一套密钥对数据进行加密和解密。 如果使用对称加密就意味着通信的双方必须都知道密钥,才能完成加密和解密操作。 一种典型的场景是:客户端发送密钥至服务器,服务器接受该密钥,之后所有的数据传输都采用该密钥进行加密和解密; 该方法虽然可以解决明文传输的问题,却存在安全隐患。在密钥协商阶段,客户端需要发送密钥给服务器,此时如果攻击者监测到该密钥,就可以使用该密钥来解密之后所有的数据,那么本次经对称加密后的数据传输也就变为明文传输。 因此,如何确保对称加密方式中密钥的安全是此方式中最为核心的问题。 ###2.2 非对称加密 接下来我们讨论非对称加密方式。 非对称加密的密钥有公钥和私钥之分,使用公钥加密的数据只有私钥才能解密,同理使用私钥加密的数据只有公钥才能解密。 那么对传输数据进行非对称加密是不是就是安全的呢? 非对称加密一种典型的场景是: 由服务器生成公钥和私钥,并将公钥发送给客户端,之后服务器和客户端之间所有的数据都采用公钥和私钥加密。 接下来我们分析下这种场景。