在执行密钥搜索时,我一直在想,一旦您命中正确的密钥,如何可靠地检测到成功的解密。我假设您必须分析数据并查找模式:单词、字母频率、已知的文件头、统计属性等等。
这是一个正确的假设吗?如果是的话,是否有人利用这一假设在密码中引入诱骗明文?有任何相关的研究吗?
发布于 2014-01-15 18:00:17
是的,这是一个正确的假设:有时纯文本的统计特性(例如,使用标准算法的可压缩性,可以快速逼近,然后细化)被用来检查在蛮力搜索过程中是否找到了正确的密钥,而没有更好的方法,比如已知明文。
通过第二个克尔霍夫原理,如果使用诱饵方法,这个事实是算法的一部分,并且是公开的(诱饵的值可以是输入,被认为是密钥的一部分,或者是秘密的,也可以是公开的)。然而,现代密码算法的设计目的是重新放置任何数量的已知明文(甚至选择明文),因此不需要这样的诱饵方法来实现机密性;这就是为什么我怀疑您最近会发现(最近)关于诱骗的同级评审文章,以提高机密性,只是作为实现似是而非的一种手段,就像在TrueCrypt中那样。在这个应用程序中,使用诱饵,但不是为了提高对穷举密钥搜索的抵抗力。
Update:有时密钥实际上是一个密码拉长,它使用一些基于密码的密钥派生函数对密钥进行修改。当你用蛮力搜索这类密码作为密钥搜索,这是相当合法的,诱饵(破译看似可信的诱骗明文和弱诱骗密码)是一个有趣的想法。一个问题是,如上文所述,假定对手知道存在潜在的诱饵;无论如何,似乎很难掩盖这样一个事实:加密系统允许使用诱骗密码(S)和明文(S),当对手分析该系统时,这是进行有效密码搜索所必需的。因此,执行密码搜索的对手可以选择在找到诱饵后继续搜索(S),并且我不认为对给定的密码搜索的总体阻力有很大的提高。为了达到这个目标,最好使用一个好的密钥派生函数,使用氪石所倡导的原则;这也避免了使用诱饵不可避免地导致密文扩展。
https://crypto.stackexchange.com/questions/12936
复制相似问题