什么是加密?
本课程讲解了什么是加密以及其工作原理。
如今,许多人使用互联网进行通信、共享数据、网上银行、购物以及其他各种活动。这种广泛使用带来的问题是,网络犯罪和其他隐私侵犯威胁正在迅速增加。黑客可能在数据通过网络传输时监听我们的信息。如果我们发送的是密码等敏感数据,这将带来严重问题。
保护互联网上传输数据的最佳方法之一是加密。
加密是一种将明文转换为密文(第三方无法理解的编码文本)的技术。加密需要使用加密密钥和加密算法。密钥用于将明文加密或解密为密文,而如何使用密钥进行加密则由加密算法定义。发送方和接收方都必须拥有相同的加密密钥。

加密的类型
加密主要有两种类型:
1. 对称加密
在对称加密中,加密和解密使用相同的密钥。可以用一个类比来说明对称加密的工作原理:
假设约翰需要向卡尔发送一条消息。约翰把消息放进一个盒子并上锁。卡尔已经拥有一把与锁匹配的钥匙副本。卡尔收到盒子后,用这把钥匙打开它。这就是对称加密。相比非对称加密,对称加密速度更快,适用于大量数据的加密。
这种加密方式的缺点是,发送方和接收方必须互相传递密钥。攻击者可能在密钥传输过程中截获它,从而读取所有信息。对称加密使用的密钥长度通常不大,最大为256位。
2. 非对称加密
在非对称加密中,发送方和接收方使用不同的密钥进行加密和解密。这也被称为公钥基础设施(PKI)。
这种加密的优势在于密钥不会在网络上传输,因此比对称加密更安全。它基于公钥-私钥模型实现。
接收方会将公钥发送给所有发送方。发送方使用该公钥加密消息。当接收方收到消息后,使用自己的私钥进行解密。非对称加密使用的密钥长度较长,通常可达2048位。
由于非对称加密速度较慢,通常只用于一次安全地交换加密密钥。之后的所有通信均采用对称加密完成。
什么是加密算法?
加密算法是一种数学公式,用于将数据转换为密文。加密算法利用加密密钥将明文转换为密文。密文可以通过解密算法和解密密钥还原为明文。
以下是一些常用的加密算法:
- AES
- DES
- Blowfish
- Twofish
- RC4、RC5、RC6
什么是暴力破解攻击?
在暴力破解攻击中,攻击者试图猜测解密密钥。攻击者无需手动尝试,而是借助计算机软件自动执行这一过程。为了防止此类攻击,密钥必须足够强,使得计算机无法在合理时间内穷举所有可能组合。
我们来看看什么是“强密钥”。我们知道,在计算机中数据以比特表示,每个比特的值只能是0或1。如果密钥长度为2位,则共有四种可能组合:00、01、10、11。这对计算机来说很容易破解。
假设密钥长度为256位,那么可能的组合总数为 。一个256位的私钥将有 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 种可能组合。没有任何超级计算机能在合理时间内破解这样的密钥。因此,要防范暴力破解攻击,密钥必须具有足够的长度。
在下一课中,我们将学习SSL证书。