源码先锋

源码先锋

对称加密与非对称加密(超级简单)

admin 180 94

对称和非对称加密是保护传输数据的两种方法。如果没有这些加密方法,数据将以明文形式发送,任何人都可以查看。

在讨论对称加密和非对称加密时,我们谈论的是将消息转换为只能使用特定密钥解码的秘密代码的两种方法。虽然这两种方法的目标相同,但它们都有独特的数据保护方式。

在本文中,我们将解密非对称和对称加密的秘密过程,了解它们的不同之处,查看它们的一些用例,并讨论每种加密的优缺点。

你准备好了吗?我们开始吧。

什么是加密?

加密将明文数据转换为不可读的代码(或密文),只有解密后才能理解。有多种类型的加密算法用于加密数据。正如我们稍后将看到的那样,有些算法比其他算法安全得多。

公元前600年,斯巴达战士使用一种scytale密码来伪装信息。密码是一条皮带,缠绕在一根木棍上。如果读出写在皮带上的信息,就会发现它毫无意义。要解密,阅读者必须有正确的木棍。

尤利乌斯·凯撒推广了一种将字符向右移动三位的密码。因此,A变成D,B变成E。这是一种简单的密码,但如果您不知道如何解密,它仍然可能有效。

这是使用凯撒密码加密的消息的示例。

快进几千年,我们发现加密在二战期间发挥了重要作用。密码学家艾伦·图灵在解密纳粹秘密信息方面发挥了重要作用。

直到20世纪70年代,加密技术才开始数字化。IBM发明了第一种数字密码DES,用于加密客户数据。1973年,美国将其定为国家标准。

2000年,高级加密标准(AES)取代DES成为国家标准。我们还看到了RSA,ECC和Diffie-Hellman等非对称加密算法的兴起。

如今,互联网上的绝大多数数据都是加密的。

什么是对称加密?

有两种方法可以使数据不可读。一种方法是对称加密。

当我们使用对称密钥加密对数据进行编码时,我们使用单个密钥来加密和解密数据。在发送数据之前,使用对称算法密钥对数据进行加密。然后以密文形式发送给接收者,接收者使用相同的密钥解密数据,以便读取数据。

因此,对称加密通常被称为私钥加密。

常见的对称加密算法

对称加密并不使用单一算法来加密数据。相反,它是各种算法的总称。以下是一些最流行的对称密钥算法。

高级加密标准(AES)

最流行、最安全的加密算法可能是AES。数据以128位块加密,然后使用128、192和256位密钥进行加密。密钥长度越长,加密越强。AES被认为是最安全的加密算法之一,因为它分层加密,使用各种密钥长度,并且可以抵御暴力攻击。

数据加密标准(DES)

DES创建于20世纪70年代初,是最早创建的加密算法之一。它采用64位块,并使用56位密钥将其转换为密文。虽然DES至今仍以TripleDES的形式使用,但NIST认为它是一种遗留加密算法,并建议用户改用AES。

3DES

3DES,也称为三重DES,是从DES演变而来的。它于1998年开发,与DES不同之处在于它的密钥长度是DES的三倍。在研究人员破解密钥后,NIST弃用了3DES而采用新技术,这意味着允许但不鼓励使用它。截至2023年底,NIST已禁止将3DES用于加密,除非出于特定目的。

Rivest密码4(RC4)

RC4是一种快速而简单的密码,但也存在很多缺陷。它曾被用作TLS加密算法,从1999年到2015年,但在一系列漏洞之后,它被淘汰了。与一次加密特定位块的分组密码不同,RC4用作流密码,一次加密一位数字。

对称加密的优点和缺点

对称加密的主要优势在于它能够快速加密大量数据。对称加密使用单个密钥,密钥长度较短,并且所需的计算能力比非对称加密要低。由于只需要一个密钥,因此加密过程也更简单。

然而,单一密钥的简单性是一把双刃剑。一个密钥意味着,如果该密钥被发现,网络犯罪分子就可以解密敏感数据。

使用单一密钥的另一个缺点是,它不是一种可扩展性很强的加密多用户数据的方法。扩展此过程需要为每个用户创建唯一的密钥。这会给密钥管理过程带来负担。

何时使用对称加密?

对称加密有很多用例,包括:

WiFi:WPA2使用对称加密来保护设备和路由器之间的通信。

磁盘加密:加密所有数据,包括临时文件和交换空间。

数据加密:SQL服务器中的透明数据加密(TDE)使用AES来保护静态数据

什么是非对称加密?

另一种加密算法是非对称加密。

与对称加密相反,非对称加密(也称为公钥加密)使用多个密钥。为了实现这种连接,需要使用公钥和私钥来加密、解密并确保数据安全。

与对称加密类似,非对称加密使用一种称为密码的算法将明文转换为密文来加密数据。然后接收者使用密钥解密密文,以便读取密文。

假设您想使用非对称加密向您的朋友Sarah发送一条消息。

首先,Sarah会将她的公钥发送给您。任何想要与Sarah安全交换信息的人都可以使用此密钥。您以纯文本形式编写消息,然后使用Sarah的公钥对其进行加密。然后,此加密消息将发送给Sarah,她使用只有她才能访问的私钥对其进行解密。

在这种情况下,任何人都可以使用公钥加密消息,但只有拥有私钥的人才能解密并读取消息的内容。

常见的非对称加密算法

并非所有非对称加密算法都一样。有些算法比其他算法安全得多。以下是最受欢迎的算法。

里维斯特-沙米尔-阿德曼(RSA)

RSA于1977年发明,是最常用的公钥加密形式。尽管RSA诞生于几十年前,但由于其在创建公钥-私钥对方面的复杂性,它仍然是黄金标准。

椭圆曲线密码术(ECC)

ECC使用椭圆曲线来开发公钥和私钥对。它不如RSA安全,但由于密钥较小,因此速度更快。

数字签名算法(DSA)

DSA是一种简单的签名算法。这意味着无需密钥交换;相反,RSA用于签名生成和验证。为了创建唯一的签名,DSA使用数据和私钥来创建签名。然后使用此签名来验证和验证文档和数据,以确保它们未被篡改。

非对称加密的优点和缺点:

与对称加密相比,它的最大优势在于安全性。请记住,非对称加密使用多个密钥。

这意味着即使一个密钥被泄露,您的数据仍可保持安全。但对称加密则不然,如果网络犯罪分子拥有您的密钥,他们就一定能够解密您的数据。

非对称密钥的最大缺点是速度。生成多个密钥需要时间,这会减慢加密过程。如果你想加密服务器、硬盘和数据库,那么它就不是最佳选择。

何时使用非对称加密?

当谈到对称加密与非对称加密时,后者更安全,但这并不意味着它应该用于所有加密任务。

以下是一些最常见的非对称加密使用方式:

SSL/TLS:加密的HTTPS通信部分依赖于非对称密钥对。

电子邮件加密:大多数电子邮件提供商使用TLS来加密消息,因此依赖于公钥加密方法。

数字签名:DSA加密支持数字签名,用于验证和确认数据。

对称加密与非对称加密

在我们讨论这些加密类型之间的差异之前,让我们先讨论一下它们如何协同工作。

这些加密方法在使用公钥基础设施(PKI)时协同工作。PKI首先使用非对称加密来安全地传递会话密钥(也称为对称密钥)。

我们现在知道,对称密钥比非对称密钥更快,如果您的目标是快速传输数据,那么对称密钥是理想的选择。但是,我们必须首先使用非对称密钥对来发送这些对称密钥。

交换会话密钥后,就不再需要使用非对称密钥了。

主要区别

虽然两者都加密数据,但仍有一些关键的区别需要记住。

使用哪种类型的算法取决于您的需求。

如果速度对您来说最重要,我们建议使用对称加密。它比非对称加密更快、更高效,并且可以安全地传输大量数据。因此,对称加密算法通常用于在设备上存储数据。

如果您注重安全性,可以选择非对称加密。它通常被认为是两种算法中更安全的一种,因为它使用两个单独的密钥进行加密和解密。

因此,非对称加密是安全交换密钥的首选。它确保消息是机密的、经过验证的和不可否认的(证明消息未被篡改)。

结论:非对称加密与对称加密

对称和非对称加密算法都用于安全地通过互联网发送数据。虽然它们的目的相同,但保护数据的方式却不同。

对称算法速度快,但安全性不如非对称算法。尽管它们之间存在差异,但它们可以协同工作,例如在使用PKI时。交换首先使用公钥建立连接,然后安全地发送会话密钥。

使用哪种密钥(对称还是非对称)取决于您在发送数据时最喜欢什么,例如速度还是安全性。