我仔细考虑过数据被破解的风险,我认为最大的风险仍然是关键的绝对安全。在假定钥匙将被保密的前提下:
好吧,我绝对不是数学家,我想这是不言而喻的。我使用一个库(Lockbox 3,https://sourceforge.net/projects/tplockbox)进行en/解密,所以我依赖于实现是坚如磐石的,另一个潜在的漏洞,但我不会对开发人员施加任何限制。
如果有人试图破解这些数据,有没有数学机制可以用来解密而不知道数据呢?我不是在要求算法,是或否就行了。
我要求把一个复杂的问题变得简单,但我只想得到广泛的答案。
发布于 2017-12-17 00:55:50
当黑客攻击数据时,你如何决定什么时候你成功地解密了它,而不知道它是什么--它是第一位的?
在实践中,总是有大量的数据可用。例如,大多数数据都在一定的结构内,例如JPEG,它有一个JPEG头来区分。
只有当数据是随机的或接近随机和小大小(只有几个街区),它将很难测试你是否有正确的密钥。
如果这是一个文本文档,你需要知道它使用的是哪种语言吗?
不,绝对不是。结构化格式的文本文档(PDF、Word、OpenDocument等)很容易被发现。ASCII文本通常不包含任何20十六进制以下的数据,除了行终止符或任何超过80十六进制的数据。频率分析很容易在其他地方进行。
了解这种语言只会稍微容易地判断你是否成功了。
在使用它加密数据之前,让用户的密钥变得更加复杂值得吗?
一个真正的256位密钥应该具有256位的随机性。如果是这样的话,就不可能使它变得更加复杂。
密码必须非常强才能用作源,才能导出具有256位随机性的密钥。基于密码的密钥派生函数(或密码散列,如果必须的话)只能使密钥材料增强恒定的数量。
然而,128位真正的密钥强度已经不可能被蛮力所打破;256位关键材料在量子计算机过时之前是过度消耗的。当然,密码的复杂性越高越好。
即使AES允许使用大于256位的密钥,也是非常荒谬的。
https://crypto.stackexchange.com/questions/54011
复制相似问题