首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流密码与分组密码在网络数据加密中的应用

流密码与分组密码在网络数据加密中的应用
EN

Cryptography用户
提问于 2020-12-21 20:09:53
回答 2查看 638关注 0票数 1

流密码通常用于流数据加密(如语音),也用于低层数据加密。例如,MACSec使用AES-GCM加密.在L3 ad L4安全协议(IPSec和SSL)中,块密码是首选的(AES-CBC)。

  1. 为什么在低层加密中,流密码被认为比块密码要好,对于更高级别的加密,块密码被认为更好?
  2. 是什么使语音数据(应用层数据)适合流密码?将语音流分割成块并用分组密码对其进行加密,难道不是更容易吗?
EN

回答 2

Cryptography用户

发布于 2020-12-21 20:45:56

在L3 ad L4安全协议(IPSec和SSL)中,块密码是首选的(AES-CBC)。

错误,不。最初,SSL使用RC4 (这是一个流密码);然后添加CBC模式(首先是DES/3 DES,然后是AES)。在最新版本(TLS1.3)中,他们完全放弃了RC4和CBC模式,转而采用了AEAD模式(GCM和Chacha20 20/Poly1305)。

至于IPsec,最初是CBC模式(首先是DES/3 DES,然后是AES)。后来,他们增加了AEAD模式,我相信它们是目前最常见的。

因此,你的主张,AES-CBC是首选目前是不准确的,所以假设背后的第一个问题是不相关的。

您的部分问题仍然很有趣:

  1. 是什么使语音数据(应用层数据)适合流密码?将语音流分割成块并用分组密码对其进行加密,难道不是更容易吗?

对于语音,它们往往对加密开销非常敏感;VoIP数据包本身相当小(平均约20字节,IIRC),因此固定数量的开销在总开销中所占的比例要比在TLS中大。此外,VoIP通常是无线的,它们对那里的带宽特别敏感(很大程度上是因为功率;传输更多的字节使用更多的功率)。这意味着,VoIP加密原型(如sRTP)的设计目的是将加密开销降到最低,而不是其他考虑因素。

因此,需要填充的模式(如AES-CBC)将被彻底拒绝,而倾向于不需要填充的模式(如AES-CTR)。

票数 4
EN

Cryptography用户

发布于 2020-12-21 20:45:40

  1. 为什么在低层加密中,流密码被认为比块密码要好,对于更高层次的加密,分组密码被认为更好?

传统上似乎是这样,但不一定是真的。TLS 1.3使用ChaCha。在这一点上,ChaCha不是任何显然不太安全比AES。

  1. 是什么使语音数据(应用层数据)适合流密码?将语音流分割成块并用分组密码对其进行加密,难道不是更容易吗?

以ChaCha为例,我们需要生成512位密钥,然后我们可以逐字节处理。有了块密码,我们就需要处理整个块。将增加延迟处理语音进入和离开块。

假设没有错误校正--如果有1位错误,它会影响1位。用人类的耳朵我们什么也听不见。取决于分组密码模式,我们可能最终会混淆整个块。

如果流密码更快(就像可能一样),那么它也是一个明显的好处。

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

https://crypto.stackexchange.com/questions/87078

复制
相关文章

相似问题

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