简话密码学2 - 安全通信密码技术分类

简话密码学2 - 安全通信密码技术分类

1 对称加密与非对称加密

​ 加密的方法主要分为两个大类,对称加密和非对称加密。

对称加密

通信双方加密解密使用的是同样的密钥,继续举个例子,A和B约定,在发送消息的时候,将消息的每个字节加1发送,那么这里的1我们可以理解为密钥Key,每个字节加一个值,我们可以理解为加密方法,那么B在收到消息后,就需要将消息的每个自己减1才能还原的原始的消息。这里A和B所加密解密时使用的都是同一个密钥,这种就称为对称加密。

非对称加密/公开密钥加密

​ 非对称加密(也称为公开密钥加密)使用的密钥为一个密钥对,公钥和私钥,加密和解密需要使用不同的密钥,使用公钥加密的内容只能用私钥进行解密,反之使用私钥加密的内容只能用公钥进行解密。使用非对称加密的好处就是通信双方不需要事先约定密钥。还是以A和B通信举例,A手中有密码对,公钥m和私钥n,公钥可以公开,即所有人都可以知道,私钥需要自己保管,不能让任何人知道。这时B需要发送消息给A的时候,就用A的公钥m对消息进行加密,其他人能够收到消息,但这是只有A的私钥n才能对消息进行解密,所以无法得知消息的内容。当A需要给B发送消息时,就使用B的公钥进行加密,这样双发并没有事先私下商量密钥,而完成了加密通信。

​ 对称加密的缺点是需要通信双方事先确定好密钥,这在实际应用中有诸多不便,但是由于对称加密的算法复杂度较低(相对于对称加密),有加密速度快的优点。而对称加密虽然不需要通信双方事先商量好密钥,但是由于算法复杂度较大,会导致加密解密时间较长,在实际的通信应用的,通常需要将两者结合起来,先使用非对称加密的方法来约定对称加密的密钥,然后再使用对称加密进行通信,这样一来就不需要双方事先单独约定密钥,同时也能让整个通信的加密解密时间降低。

1.2 消息摘要

​ 消息摘要可以理解成消息的指纹,主要有以下几个特点:

​ 1 就像人的指纹一样,不同消息的指纹也完全不一样(或者说概率低到可以忽略),也就是说消息内容更改一点点,消息摘要也会很不同。

​ 2 通过较少的信息去验证大量的数据,验证一个人的身份,只需要通过验证指纹一个信息即可。消息摘要也一样,不论是几百M上G的数据,还是几kb的数据,消息摘要都是固定的长度(例如32 bytes)。

​ 在平常生活中,我们在网上下载文件的时候会经常用到消息摘要,如下在MSDN中下载文件时,SHA1的值就是一种消息摘要算法计算所得到的摘要,这里也可以看出,对然win10的系统文件有近5GB,但是文件摘要依然只有20 Bytes,我们从该网站下载了文件后,在本地通过计算所下载文件的SHA1值是否和网站提供的一致,就可以判定下载的过程中,文件是否被损坏。
在这里插入图片描述

​ 消息摘要通常使用的单向散列算法,平常所说的哈希,SHA等都是单向散列算法的一种,具体的算法内容将会在后面详说。

消息摘要用来验证消息的完整性,并用能用于消息的机密性。

1.3 消息认证码

​ 消息认证码就是平常说的MAC(message authentication code),消息认证码可以简单的理解为将密钥加入到运算过程的一种消息摘要算法。显而易见,消息认证码不仅仅能够做到和消息摘要一样,用于验证数据的完整性,也由于加入密钥进行运算,也能够提供认证机制。就如在前面的内容中所说,A和B通信的时候,在消息正文的后面加入消息认证码,认证所用的密钥仅仅只有A和B知道,那么其他人则无法伪造两者的身份进行通信欺骗。因为其他人并不知道密钥的值。

1.4 数字签名

数字签名用于防止对消息内容的否认,如字面意思一样,数字签名就和实际的签名一样,意味着对签名内容的认可,防止通信对象事后对消息内容的否认。就如我们在签合同等场合,需要签字画押一样,利用数字签名,让我们可以在数字通信中,对相关内容进行签字画押,防止时候的否认赖账。除此之外,数字签名同样具备验证消息完整性、认证通信对象等功能。

1.5 随机数产生器

​ 随机数产生器看似没有和安全通信没有必然的联系,但其实在在加密解密中扮演这十分重要的角色,在安全通信的过程中,为了防止攻击者的回溯攻击等,必须要将随机数加入其中,比如,在正真的通信消息中,加入一定数量的随机数,使得即使在发送同一消息的时候,正真的发出去的消息内容也是不同的。所以安全系统中,一个优秀的随机数产生器同样扮演这十分重要的角色。

结:下一章将会围绕这四个点对具体的相关算法作介绍。

PS:以上内容为学习中的个人理解,其中有些定义可能从学术上来说不够严谨乃至是错误的,旨在分享个人的理解,如有建议,欢迎提出,谢谢。也欢迎加我微信好友一起学习交流。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值