什么是对称密钥加密:优点和漏洞



OKEx交易所注册(获10%好友返利):https://www.okx.com/join/8581013

币安交易所注册(20%手续费减免):https://www.binance.com/zh-CN/register?ref=38069452

对称密钥加密,也称为私钥加密,是一种仅使用一个密钥来加密和解密消息的加密方法。此方法通常用于银行和数据存储应用程序,以防止欺诈性收费和身份盗用以及保护存储的数据。

什么是对称密钥加密?

对称密钥加密依靠数学函数来加密和解密消息。加密被称为“对称”,因为它使用单个密钥进行加密和解密。相比之下,也称为公钥加密,使用两个单独的密钥来加密和解密消息。

密钥是专门为加密和解密数据而创建的二进制数字或位的随机字符串。密钥的长度和随机性是决定对称加密算法强度的因素。密钥越长、越不可预测,攻击者就越难通过猜测密钥来破解加密。

发件人和他们指定的收件人拥有相同的密钥副本,该密钥是保密的,以防止外人解密他们的消息。发件人使用此密钥通过称为密码的加密算法加密他们的消息,该算法将明文转换为密文。然后指定的接收者使用相同的密钥通过将密文转换回明文来解密消息。对于那些没有密钥的人来说,加密的消息看起来像是一系列随机字母、数字和特殊字符。

对称密钥加密使用相同的密钥进行加密和解密。 (来源:SSL 商店)

对称密钥加密如何工作?

现代计算机不会将数据存储为字母,而是将所有内容都保存为位。您输入的每个字符都可以用一个代码表示,该代码是 8 位的组合。

明文、密文和密钥在计算机上都表示为二进制数字。这使得密码可以方便地使用“异或”逻辑运算来加密和解密二进制消息。 XOR 比较两个输入位并生成一个输出位。如果两个输入中的位匹配,则返回 false(即 0)。如果它们不匹配,则返回 true(即 1)。

具有可能输入和相应输出的 XOR 真值表(来源:Instrumentation Tools)

要发送加密消息,用户需要将他们的明文消息和对称密钥作为 XOR 的输入。通过异或比较两个输入位后,用户将得到密文作为输出位。收件人可以通过反转加密过程来解密消息。解密时,接收方将密文和对称密钥作为异或的输入,生成原始明文。

对称加密示例

例如,假设发送者希望发送包含单词“Hi”的消息:

发送者和接收者共享一个 16 位对称密钥,即“01100010 01010000”。 由单词“Hi”组成的消息用二进制表示为“01001000 01101001”。 比较两者,异或返回“00101010 00111001”的输出,转换为文本后对应“*9”。这是密文。 对于解密,将密文与密钥进行比较以重新获得明文消息。

对称密钥加密的类别是什么?

对称密钥密码分为两大类——分组密码和流密码。两种密码具有不同的数据加密过程和运行环境。

分组密码

这种类型的密码将明文消息分解为预定大小的比特组(也称为块),并将它们加密为密文。块密码通常加密 64 位及以上的块大小,并使用 56 位、128 位、192 位或 256 位的固定长度的密钥。分组密码的两个最著名的实现如下:

数据加密标准 () 是在 1970 年代初期开发的,被认为是一种遗留加密算法。该分组密码使用 56 位密钥和 64 位加密块大小。由于密钥长度短,加密标准不是很安全。但是,它在密码学的进步中发挥了至关重要的作用。由于美国国家安全局(NSA)参与了 DES 的开发,许多学者对此表示怀疑。这种怀疑引起了密码学研究的激增,从而导致了对分组密码的现代理解。高级加密标准(),也称为 Rijndael,取代了 DES。 AES 是美国政府用来加密机密信息的加密标准。它也受到 Google、Mozilla 和 Microsoft 等公司的欢迎。它是由比利时密码学家 Vincent Rijmen 和 Joan Daemen 开发的分组密码系列。 AES 系列可以处理 128、160、192、224 和 256 位的块大小和加密密钥大小。正式地,加密标准中仅指定了 128、192 和 256 位的密钥大小和 128 位的块大小。

有关块密码如何工作的示例,请考虑 128 位明文和128 位密钥。分组密码将明文分成 8 位块。在加密过程中,密码将逐块将明文与密钥进行比较以产生密文。如果明文小于 128 位,则分组密码将采用一种称为填充的方法来协调分组大小的差异。此方法在加密之前将数据添加到消息的开头、中间或结尾。添加的数据取决于 并且可以是无意义的短语或用于掩盖明显的信息。解密后删除填充数据。

分组密码的其他示例包括三重 DES (3DES)、国际数据加密算法 (IDEA) 和 RC5。分组密码还可以通过特定的电子密码本 (ECB)、密码块链接 (CBC) 和计数器 (CTR) 作为流密码运行。

流密码

流密码通过将明文消息分解为单个位并单独转换它们来逐位转换密文中的明文。该密码依赖于称为密钥流的长比特流。通过向作为内部软件的内部算法(或密钥流生成器)提供加密密钥和种子来生成密钥流。种子也称为随机数,它是一个唯一且随机生成的数字,密码只会使用一次。每条消息都使用不同的密钥流进行加密和解密。

对于明文消息的加密和解密,每个明文数字每次用对应的密钥流数字加密,返回一个密文数字。流密码也称为状态密码,因为每个数字的加密取决于密码的当前状态。流密码有两种类型:

同步流密码独立生成密钥流,不依赖于先前的明文和密文。自同步流密码依赖于先前的密文数字来生成密钥流。

使用最广泛的流密码是 Rivest Cipher 4 ()。 RC4 密钥的大小为 64 位或 128 位。这种密码易于使用、速度快,并且可以处理大量数据流。 RC4 加密用于常见的 Web 协议,例如安全套接字层 ()、传输层安全性 () 和无线等效隐私 ()。但是,原始形式的 RC4 存在严重漏洞,可以相对容易地破解。它最大的弱点是它的不足,输出的第一个字节将显示有关密钥的信息。已经开发了许多 RC4 变体来尝试解决这个问题,特别是 RC4A、Spritz 和 VMPC。

对称密钥加密的优势是什么?

对称密钥加密有两个主要优点:

安全性:对称密钥加密本质上是牢不可破的,需要你sers 只跟踪一个键。事实上,美国政府使用这种方法对机密信息进行加密——具体来说,前面提到的 AES 实现最安全的 AES 密码具有 256 位密钥大小。即使使用超级计算机,试图通过加密的攻击者也需要数百万年才能破解它。速度:对称密钥加密很简单,因为它只需要一个长度相对较短的密钥。因此,它的执行速度要快得多。它在加密和解密过程中不会给服务器带来巨大的负担,并且可以有效地处理大量数据。

什么是对称密钥加密的漏洞?

也就是说,对称密钥加密系统也有两个显着的弱点:

密钥分发:为了对消息进行加密和解密,发送者和接收者必须共享相同的密钥,所以发送者必须提前分发密钥。最安全的方法是亲自分发密钥。如果双方不能面对面见面,他们可能会通过互联网发送密钥,这开启了密钥管理的可能性:在对称密钥加密中,任何拥有密钥的人都可以解密由该特定密钥加密的消息。通过基于软件的攻击,攻击者可以访问保存在不安全位置的密钥,从而破坏所有加密消息。密钥也经常丢失,导致加密的消息和数据无法访问。

结论

对称密钥加密是一种相对安全、快速且简单的加密和解密大量数据的方法,不会对服务器造成压力。加密和解密只需使用一个密钥,任何拥有密钥的人都可以解密所有由它加密的消息。但是,此密钥的分发和管理很困难,可能会为攻击者窃取密钥和破解加密创造机会。尽管如此,只要密钥保密,对称密钥加密就非常安全。因此,它仍然被用作全球公司和政府机构的标准加密方法。

OKEx交易所注册(获10%好友返利):https://www.okx.com/join/8581013

币安交易所注册(20%手续费减免):https://www.binance.com/zh-CN/register?ref=38069452



没有评论:

Blogger 提供支持.