资讯|5 个重要的密码学知识,值得学一学

2022-06-05 10:46:42  阅读 861 次 评论 0 条

引言

密码学用于将输入(明文)转换为加密的输出(密文)。因此,使用不同的算法将输入转换为输出,大多数情况下需要使用密钥来加密和解密。密码学中的密钥是用于算法的字符序列。然后,密文可用在世界各地的安全存储和传输数据,只有发送者和接收者才能解密和读取明文。

加密分为三种不同的方法:

  • 对称加密(Symmetric Encryption)
  • 非对称加密(Asymmetric Encryption)
  • 散列(Hashing)

对称加密

资讯|5 个重要的密码学知识,值得学一学

对 “FILM” 单词的加密和解密:

对称加密的主要优点是速度快。在速度很重要的用例(VPN、数据流等)中,主要使用对称加密。因此,目前主要使用两种对称加密算法:

  • AES
  • DES

密钥交换

在对称加密中,有一个主要问题必须解决,然后才能够安全地使用它:如何获取彼此的密钥?

Diffie Hellmann

1976 年,该问题的第一个解决方案由 Whitfield Diffie 和 Martin Hellmann  提出,同时该算法被命名为 Diffie Hellmann。Diffie Hellmann 会对通信的两个成员生成相同的密钥,而不需要预先共享密钥。此过程的步骤是:

  1. 约定公有值
  2. 选择私有(秘密)值
  3. 交换由公有值和秘密值计算出来的值
  4. 用步骤 3 得出的值和自己的秘密值计算密钥,对于两个通信员来说该密钥的值是相同的。

这个过程在下图中用颜色(而非数字)进行了可视化,以便理解:

资讯|5 个重要的密码学知识,值得学一学

混合系统

混合系统是使用对称和非对称加密的密码系统。大多数情况下,非对称加密系统用于加密对称加密系统的密钥。因为前者更安全,而后者更快速。

非对称加密

在非对称加密中,需要一个密钥对来进行加密和解密。密钥对由公钥和私钥组成。公钥用于加密数据,然后只能用私钥解密密文。公钥可以公开共享,但私钥必须保密,才能拥有安全的密码系统。转换过程包括以下步骤:

  1. 接收者共享公钥
  2. 发送者用公钥加密数据
  3. 密文被传送至接收者
  4. 接收者用私钥解密密文

该系统的优点是,可以在没有任何安全措施和密钥交换系统的情况下共享公钥。缺点是非对称加密的速度慢。最常见的非对称加密算法有:

  • RSA
  • ECC

散列

散列算法用于生成唯一且固定长度的字符串,也叫做哈希。其要求如下:

  • 输出长度固定(Fixed-Length-Output):输出的长度始终相同
  • 单向函数(One-Way-Function):很容易从输入计算哈希,反向则几乎不可。
  • 碰撞阻力(Collision resistance):不容易找到两个能产生相同输出的输入

当今最流行的散列算法:

  • SHA-2(Secure Hash Algorithm 2)
  • SHA-3(Secure Hash Algorithm 3)
  • MD5(Message-Digest Algorithm 5)→ 不应该再被使用
  • bcrypt → 主要用于密码散列
资讯|5 个重要的密码学知识,值得学一学

输入 Foo 的哈希值示例:

SHA-3

195e5c2ddf90d08e0c12357a75fd11180c85b989a9d3b6bc3327aa23a98f278a

bcrypt

$2a$12$.LJ6zlZXAZ2iRIyzRMcvpeQsPJ6pJ0/zb0daxnhxeGXNqN4KmJ9ny

MD5

1356c67d7ad1638d816bfb822dd2c25d

数字签名

数字签名是一个不同的密码学概念的用例,用于验证数据和文档的真实性。因此使用了非对称加密和散列函数。签名过程的步骤如下:

  1. 计算要被签名文档的哈希值
  2. 用非对称密码系统的私钥来加密哈希值
  3. 创建由文档和加密哈希值组成的签名文档

此过程在下图中可视化:

要验证已签名的文档,必须执行以下步骤:

  1. 使用公钥来解密被附加到文档的哈希值
  2. 计算该文档的哈希值
  3. 将被解密(被传输)的哈希值与根据该文档计算的哈希值进行比较

若这两值匹配,则签名有效,否则签名无效。

资讯|5 个重要的密码学知识,值得学一学

链接:https://medium.com/nerd-for-tech/5-cryptography-concepts-you-should-know-9b2681067a35



       

资料分享 资讯发布 免费 共享 新闻 限免 科技 互联网 攻略 技巧 coolwinker 资源资讯分享君 分享软件 资讯 教程 素材
本文地址:http://blog.02868.cn/?id=38009
版权声明:文章收集于网络,版权归原作者所有!

评论已关闭!