分组加密和流加密具备完善保密性吗?

2018-08-19 11:49:28 +08:00
 vevlins

如题。

按照我目前的理解流加密是生成了和明文一样长的密钥,分组加密是分成更小的组来满足密钥长度大于明文长度。应该是满足了完善保密性的要求吧?

为何 wiki 上说 只是这样的改变会缩小密钥空间,因而失去完善保密性。 呢?

另外还有两个问题: 1.密钥需要随机生成,这个生成过程如果使用了伪随机是否也有被猜测出来的可能?但是是在前序密钥被攻破的情况下?

2.由于密钥空间大于或者等于明文空间,所以以穷举法得到的不止一个密钥,所以对方无法确定是哪一个。这个如何理解呢?多个密钥不可以代入尝试一下吗?还是说多个密钥代入实际上都可以通过验证,但是用这个得出的密钥猜测下一次的加密不会成功?

多谢帮助

2443 次点击
所在节点    HTTP
5 条回复
vevlins
2018-08-19 11:56:39 +08:00
有个地方看错了:由于密钥空间大于或者等于明文空间,所以以穷举法得到的不止一个密钥=》得到的不止一个明文。

但是这样也可以根据语义等进行比较合理地猜测吧,即使在密码学的意义上而言是不可攻破的
liuyanjun0826
2018-08-19 12:34:23 +08:00
生出的不是密钥,是密文,你如何做到打出这么多我从未见过的观点
zjp
2018-08-19 12:39:21 +08:00
@liuyanjun0826 流密码需要一个密钥生成器

不懂数论
zjp
2018-08-19 12:45:49 +08:00
@liuyanjun0826 不懂数论是我手滑发出去的😂

接上文
不懂数论,问题 2 不清楚
对于问题 1。序列密码不能用真随机,不然双方产生不了相同的序列。DES,ELGamal 有弱密钥
Shura
2018-08-19 17:23:01 +08:00
槽点太多,不一一解释了。
流密码和分组密码都不具备你所说的“完善保密性”,只有 OTP(一次一密)被香农证明过是绝对安全的。而这种绝对安全也是指在有限时间内安全,在无限时间,无限计算力的情况下,确实能够将密钥尝试出来,这是无法防御的,所以现代密码学体系的升级主要是让密钥在不影响效率的情况下尽可能的长(ECC 主要是解决效率问题)。
目前计算机的伪随机函数的种子一般都是真随机生成的,所以安全性其实很高了。
“由于密钥空间大于或者等于明文空间,所以以穷举法得到的不止一个密钥,所以对方无法确定是哪一个。”这就是简单的多对一函数,即 f(x1)==f(x2)==y,你通过 y 无法确定是 x1 还是 x2。至于你说的“多个密钥不可以代入尝试一下吗?”。你如何确定你带入密钥的解密结果就是原始消息呢?不是所有的原文都具有可读性。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/481125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX