是否有完全安全的加密算法?
信息安全
加密
2021-08-09 19:32:49
4个回答
是的,它被称为One Time Pad,我们不在 SSL/TLS 中使用它,因为密钥交换在规模上存在问题。
我要指出的是,随着各种类型存储设备价格的快速下降,One Time Pad 用于电子邮件等小型通信现在比以往任何时候都更加实用,这仅仅是因为给某人一个大容量的东西的成本几年前,实际上并不存在带有大“垫”的 USB 闪存驱动器。尽管如此,随着价格接近零,这变得微不足道。随着存储成本继续接近于零,这对于未来的各种用途可能会变得更加有用,但密钥交换问题仍然存在。
唯一可以实现的理论算法是OTP,一次性填充。
请参阅问题One Time Pad (OTP) 如何完全安全?.
由于以下几个原因,我们不会在任何常见的事情上使用它:
它的安全性取决于我们要传输的数据一样多的真正随机数据,并且随机数据已经安全地发送给双方,并且永远不会被重复使用。
这是不可能的,因为我们实际上并没有真正的随机数据。
即使使用几乎随机的数据,这很难获得并且需要以尽可能公正的方式对现实世界的某些方面进行采样,这也是非常昂贵的——4 GB 的密钥来观看 4 GB 的安全视频。
每个发送器/接收器对都应该有独立的随机数据。
它本身不提供任何数据完整性功能,而我们的许多其他算法和实现却提供。
- @CodesInChaos 提到多项式 MAC 可以与 OTP 结合使用以提供此功能
我们确实在一些罕见的情况下使用 OTP,但通常只为一种更常见的算法发送密钥。
作为一次性密钥的扩展,目前很少使用但可能会流行的未来技术是量子密钥分发
基本思想是,您可以通过量子通道发送一次性垫,其中任何测量都会影响信号,因此可以检测到任何窃听。因此,如果您没有检测到异常读数,则说明没有人在窃听并且通信通道是安全的。这仍然不能解决识别问题,因此在单独使用时很容易受到中间人攻击,但如果双方已经共享秘密,则可以用来生成任意大的一次性密码。
其它你可能感兴趣的问题