欢迎光临散文网 会员登陆 & 注册

密码学——对称加密、非对称加密与哈希加密

2022-10-26 17:31 作者:Vector永远的神  | 我要投稿

因为最近要开始研究无人机反制,所以就要针对传输协议做一些了解研究,所以就开始学一下密码学,来充实一下自己之前没有学习的内容。

文章部分内容来源于公开的百科与公开图书,侵删。

密码学是数学的一个分支,加密算法主要分为对称加密非对称加密算法,对称加密指的是接受和发送双方的加密解密的密钥相同,非对称指的则是双方的密钥不同;还有一种不需要密钥的哈希算法。

常见的 对称加密 算法主要有 DES、3DES、AES 等,常见的 非对称算法 主要有 RSA、DSA 等,散列算法 主要有 SHA-1、MD5 等。

对称加密算法

应用的时间比较早,技术也比较成熟,数据发送方将数据明文和加密密钥一起经过加密算法加密后发送,接收方使用相同的密钥对其进行解密,就可以阅读明文了。在这个过程当中,使用到的密钥只有一个,需要确保双方之前都已经知道该密钥。

对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。

不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法提供了认证的功能,但无法提供签名功能,如果密钥被提前获知的话,接收方就无法保证明文数据是发送方所发出的。

数据加密标准(Data Encryption Standard,缩写为DES)曾经是世界标准。DES的整个体制是公开的,系统的安全性完全靠密钥保密。DES 加密算法是一种 分组密码,以 64 位为 分组对数据 加密,它的 密钥长度 是 56 位,加密解密 用 同一算法。DES 加密算法是对 密钥 进行保密,而 公开算法,包括加密和解密算法。这样,只有掌握了和发送方 相同密钥 的人才能解读由 DES加密算法加密的密文数据。因此,破译 DES 加密算法实际上就是 搜索密钥的编码。对于 56 位长度的 密钥 来说,如果用 穷举法 来进行搜索的话,其运算次数为 2 ^ 56 次。


非对称加密算法

这个算法类似对密钥进行保密,将私钥一直不发出,利用公钥在网络间进行传递加密,然后用私钥进行解密的过程,以此来确保安全性和可靠性。公钥和私钥是一对,公钥用作加密,只有对应的私钥才能将其解密。

由于是由不同的密钥进行加密解密,因此称为不对称加密,算法很复杂,加密解密的速度相对来说比较慢。在对称加密的过程中,密钥的传输是需要严格保证安全性的。但是非对称传输里面,公钥是公开的,安全性不需要太多的保证,只需解密的时候使用自己的私钥进行就可以了。

  1. 初始状态下,通讯网络内的A和B都要产生一对用于加密算法和解密的公钥和私钥。

  2. A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。相当于公钥就在通讯网络上进行传播,私钥始终自我保留。

  3. A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。

  4. B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。

RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA 是第一个能同时用于 加密 和 数字签名 的算法,它能够 抵抗 到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 加密算法基于一个十分简单的数论事实:将两个大 素数 相乘十分容易,但想要对其乘积进行 因式分解 却极其困难,因此可以将 乘积 公开作为 加密密钥。

Hash算法

这里的哈希算法的基础和Java里面的哈希表类似,都是根据元素自身的元素特性通过哈希函数计算取余。哈希函数就是把任意长度的消息压缩到固定长度的消息摘要的函数。

散列函数是一个多对一的函数,在理论上必定存在不同的输入对应相同的散列输出,但这种情况在实际中必须不可能出现。(通过分块操作使其在计算上不可行)


正向快速:给定明文和hash算法,在有限时间和有限资源内计算Hash值。

不可逆性:给定任意的Hash值,在有限时间内很难逆推出明文。

输入敏感:如果输入的数据信息被轻微修改,输出的Hash值也会有很明显的变化。

抗碰撞性:如果满足x≠y且H(x)=H(y),则称为碰撞。任意输入不同的数据,其输出的Hash值不可能相同,如果给定一个数据块去找出其具有相同的Hash值,那是几乎不可能。


哈希函数的安全性需求

SHA—256算法是最常使用的哈希加密算法,中本聪在加密比特币的时候就是使用了这个算法。无论输入的长度是多少,都只输出64个字符,32个字节长度,256bit,只包含0-9和A-F。


密码学——对称加密、非对称加密与哈希加密的评论 (共 条)

分享到微博请遵守国家法律