密码学源于希腊语,意为“隐藏的文字”, 是一种隐藏传输信息的科学,以便只有预期的接收者才能读取。密码学的应用无穷无尽。从 WhatsApp上日常的端到端消息认证到法律表格上的实用数字签名,甚至是用于挖掘加密货币的耗费 CPU 的密码,密码学已成为数字世界的一个重要方面,也是 保护敏感数据免受黑客和其他网络犯罪分子攻击的关键网络安全组件。
密码学的实践可以追溯到古代,最早的例子之一归功于尤利乌斯·凯撒本人。现代密码系统要先进得多,但仍然以类似的方式运作。大多数密码系统都以未加密的消息(称为明文)开始,然后 使用一个或多个加密密钥将其加密为无法解密的代码(称为密文)。
然后,密文被发送给接收者。如果密文被拦截,并且加密算法很强,那么密文对于任何未经授权的窃听者来说都是无用的,因为他们无法破解代码。但是,如果预期的接收者拥有正确的解密密钥,他们就能够轻松解密文本。
在深入探讨之前,让我们先来看看强加密框架的核心特征:
- 保密性: 加密信息只能由指定人员访问,其他任何人都不能访问。
- 完整性: 加密信息在存储过程中或在发送方和预期接收方之间传输时无法被修改,否则会被检测到任何更改。
- 不可否认性: 加密信息的创建者/发送者不能否认其发送信息的意图。
- 身份验证: 确认发送者和接收者的身份以及信息的来源和目的地。
- 密钥管理: 用于加密和解密数据(以及相关任务,如密钥长度、分发、生成、轮换)的密钥是安全的。
3 种加密类别
尽管确实存在混合系统(例如 SSL 互联网协议),但大多数加密技术属于以下三大类之一:对称加密算法、非对称加密算法或哈希函数。
对称密钥加密
对称密钥加密也称为私钥加密、秘密密钥加密或单密钥加密,它在加密和解密过程中仅使用一个密钥。对于此类系统,每个用户都必须拥有相同的私钥。
私钥可以通过先前建立的安全通信渠道(如私人快递或安全线路)共享,或者更实际地,通过安全密钥交换方法(如 Diffie-Hellman 密钥协议)共享。
对称密钥算法有两种类型:
- 分组密码: 在分组密码中,密码算法针对固定大小的数据块进行加密。例如,如果块大小为8,则每次加密8个字节的明文。通常,加密/解密操作的用户界面会通过反复调用低级密码函数来处理比块大小更长的数据。
- 流密码: 流密码不是以块为基础工作的,而是一次转换一位(或一个字节)数据。基本上,流密码根据提供的密钥生成密钥流。然后将生成的密钥流与明文数据进行异或。
对称加密的一些示例包括:
- 数据加密标准: 数据加密标准 ( DES ) 由 IBM 在 20 世纪 70 年代初开发,虽然现在认为它容易受到暴力攻击,但其架构在现代密码学领域仍然具有很大的影响力。
- 三重 DES: 虽然计算机技术的进步在 1999 年使 DES 变得不安全,但在原始 DES 基础上构建的 DES 加密系统增加了额外的安全级别,现代机器无法破解。
- Blowfish: 一种快速、免费、公开的分组密码,由 Bruce Schneer 于 1993 年设计。
- 高级加密标准: 高级加密标准 ( AES ) 是美国国家安全局批准用于最高机密信息的第一个也是唯一一个可公开访问的密码。
非对称密钥加密
在非对称加密中,使用一对密钥:一个密钥和一个公钥。因此,这些算法也称为公钥算法。公钥加密被认为比对称加密技术更安全,因为即使一个密钥是公开的,加密消息也只能用预期收件人的私钥解密。
非对称加密的一些示例包括:
- RSA:RSA算法于1977年以其创始人Rivest、Shamier和Adleman的名字命名,是最古老、最广泛使用的用于安全数据传输的公钥密码系统之一。
- ECC:椭圆曲线密码术是一种高级的非对称加密形式,使用椭圆曲线的代数结构来创建强加密密钥。
单向哈希算法
加密哈希算法从可变长度的输入字符串生成固定长度的输出字符串(通常称为摘要)。输入用作明文,输出哈希为密码。从实际目的来看,以下陈述对于好的哈希函数是正确的:
- 抗碰撞: 如果数据的任何部分被修改,则会生成不同的哈希值,从而确保数据完整性。
- 单向: 该函数不可逆。也就是说,给定一个摘要,不可能找到生成它的数据,从而确保数据安全。
出于这些原因,哈希算法是一种有效的密码系统,因为它可以直接加密数据,而不需要不同的密钥。本质上,明文就是它自己的密钥。
以存储银行账户密码的数据库的安全漏洞为例。任何有权或未经授权访问银行计算机系统的人都有可能读取所有密码。
为了保证数据安全,银行和其他企业会将密码等敏感信息加密为哈希值,并只将该加密值存储在数据库中。如果不知道用户的密码,哈希值就无法被破解。
密码学的未来
量子密码学
随着技术的进步和日益复杂的网络攻击,密码学领域也在不断发展。 量子密码学或量子加密,是指基于自然发生和不变的量子力学定律安全地加密和传输数据以用于网络安全的应用科学。
虽然量子加密仍处于早期阶段,但它可能比以前的加密算法更加安全,理论上甚至是无法被破解的。
后量子密码学
不要与依赖自然物理定律来产生安全密码系统的量子密码学相混淆,后量子密码算法使用不同类型的数学密码学来创建量子计算机防护加密。
尽管量子计算尚未实现,但 它是计算机科学中一个发展迅速的领域,具有成倍增加处理能力的潜力——甚至超过当今运行的最快超级计算机。虽然仍处于理论阶段,但原型机已经证明,实用的量子计算机可能有望在未来 10 到 50 年内破解最安全的公钥加密系统。根据美国国家标准与技术研究所的数据中,后量子密码学(也称为抗量子密码学或量子安全密码学)的目标是“开发对量子和传统计算机都安全的密码系统,并能与现有通信协议和网络互操作”。