流密码通常用于流数据加密(如语音),也用于低层数据加密。例如,MACSec使用AES-GCM加密.在L3 ad L4安全协议(IPSec和SSL)中,块密码是首选的(AES-CBC)。
发布于 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是首选目前是不准确的,所以假设背后的第一个问题是不相关的。
您的部分问题仍然很有趣:
对于语音,它们往往对加密开销非常敏感;VoIP数据包本身相当小(平均约20字节,IIRC),因此固定数量的开销在总开销中所占的比例要比在TLS中大。此外,VoIP通常是无线的,它们对那里的带宽特别敏感(很大程度上是因为功率;传输更多的字节使用更多的功率)。这意味着,VoIP加密原型(如sRTP)的设计目的是将加密开销降到最低,而不是其他考虑因素。
因此,需要填充的模式(如AES-CBC)将被彻底拒绝,而倾向于不需要填充的模式(如AES-CTR)。
发布于 2020-12-21 20:45:40
传统上似乎是这样,但不一定是真的。TLS 1.3使用ChaCha。在这一点上,ChaCha不是任何显然不太安全比AES。
以ChaCha为例,我们需要生成512位密钥,然后我们可以逐字节处理。有了块密码,我们就需要处理整个块。将增加延迟处理语音进入和离开块。
假设没有错误校正--如果有1位错误,它会影响1位。用人类的耳朵我们什么也听不见。取决于分组密码模式,我们可能最终会混淆整个块。
如果流密码更快(就像可能一样),那么它也是一个明显的好处。
https://crypto.stackexchange.com/questions/87078
复制相似问题