首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码与DES或AES这样的密码算法有什么关系?

密码与DES或AES这样的密码算法有什么关系?
EN

Security用户
提问于 2018-11-04 18:40:27
回答 2查看 327关注 0票数 4

看上去我这里有个术语问题。在密码学中,我们有流密码和块密码。我理解他们的区别。我们还有像AES (Rijndael)这样的密码算法。

我的困惑是密码算法和密码是如何相互连接的。从根本上说,他们看起来像是在做类似的事情(加密和解密)。

AES等是分组密码的“特例”吗?分组密码是其中之一是AES的一系列算法吗?

EN

回答 2

Security用户

回答已采纳

发布于 2018-11-04 19:15:07

密码是一种密码算法。

流密码器通过x-监视要加密的明文来生成密钥流。与块密码相比,它们速度非常快。在WolfSSL网站上可以看到一个基准比较,比较AES-128和ChaCha.

块密码在块上工作,因为高级加密标准(AES)是128位块大小.

AES是NIST作为当前标准的分组密码之一(在AES之前,有数据加密标准(DES)作为先前的标准)。Twofish,Speck和Simon (最后两位来自国安局)等都是块密码的其他成员。

块密码和流密码之间存在着有趣的关系。也就是说,您可以使用适当的分组密码工作方式 (如OFB和CTR )将任何块密码转换为流密码。在CTR工作模式下,AES在AES-GCM模式中使用,目前在TLS 1.3中使用的是标准密码套件模式;

  • {0x13,0x01} - TLS_AES_256_GCM_SHA384
  • {0x13,0x02} - TLS_CHACHA20_POLY1305_SHA256
  • {0x13,0x03} - TLS_AES_128_GCM_SHA256
  • {0x13,0x04} - TLS_AES_128_CCM_8_SHA256
  • {0x13,0x05} - TLS_AES_128_CCM_SHA256
票数 7
EN

Security用户

发布于 2018-11-07 02:47:22

密码算法可以是与密码学相关的任何特定的数学描述(算法)。具体的算法有散列算法、块密码算法、流密码算法、签名算法、伪随机数生成算法等。

密码算法可用于执行加密/解密。在这种情况下,算法将被称为密码。这可以是流密码、分组密码或非对称密码(如RSA )。块密码通常需要在一种安全的操作模式中使用,即符合我们通常与完整密码相关联的属性。运营模式包括CBC模式和GCM模式。

AES是一种分组密码,是的,它当然是块密码家族中的一种。它的特殊之处在于它已经被NIST标准化,成为继DES之后在美国使用的主要密码。它的原名是Rijndael,以作者Vincent和Joan的名字命名(虽然AES只使用Rijndael规范的一个特定子集)。

Rijndael在赢得AES竞赛后成为了高级加密标准;如果另一个密码赢了,那么这个密码就会变成AES --还有一些算法,比如毒蛇,会被认为是更安全的。然而,Rijndael在硬件和软件上的实现也相当有效--至少与当时竞争中的其他算法相比是如此。

请注意,块密码不只是用于加密/解密。与散列算法一样,它们通常被用作构建其他函数的基元。例如,块密码可以用于构建身份验证模式。例如Poly1305中的AES-CMAC、AES-GMAC和AES .这是它们比流密码有更多限制的一个优点:块密码是(键控)伪随机排列,具有此类方案所需的特定属性。

流密码在软件中通常是相当有效的。然而,它们通常也需要更大的状态(更多的内存)。您可以在流操作模式(如计数器(CTR)模式)、AES-GCM使用的底层模式和许多其他经过身份验证的加密模式中使用分组密码。这样,它们具有类似于流密码器的属性,例如能够分别加密每个字节(因此它们不需要填充模式的操作)。

票数 8
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/196994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档