我想知道密码学中机器学习是否有实际应用?谷歌的快速搜索似乎对我来说并没有太多启发,所以我想知道这里的人是否知道一些东西。密码和密码给出了足够的明文/密文对,但我不确定像神经网络这样的功能在学习不可线性分离的函数时的能力如何。
#1 楼
如果机器学习在已知的明文攻击中有用,我个人会感到非常惊讶。您给黑匣子输入,然后输出输出。您给它第二个输入(在非去加密的情况下,可能是相同的输入),第二个输出会弹出。我们试图实现的目标是,没有人可以确定黑匣子是我们的密码(具有未知密钥),还是只是随口吐出了随机输出。现在,我们假设攻击者拥有我们输入的完整设计(除了“键”);用一个成功的密码,他仍然无法确定。实际上,我们设计事物的目的是使攻击者可以提交自己选择的信息。他仍然无法确定是给密码还是随机函数提供输入。
现在,机器学习本质上将试图这样做,只是您将忽略设计(因为没有设计)。将设计交付给机器学习过程的一种方法),并且您仅限于已知的纯文本攻击(因为您的机器学习者无法生成所选的输入)。此外,您的机器学习者也不会拥有密码分析员拥有的最佳资产(这是他的聪明之处;程序并不擅长“聪明”)。机器学习,说它不能在其他地方使用(或者聪明的密码分析不能使用机器学习程序来帮助他的密码分析);但是在我看来,机器学习不足以完成整个密码分析工作。
评论
$ \ begingroup $
神经密码学怎么样?神经交换协议似乎很有趣,但我从未真正听说过使用它的加密系统。
$ \ endgroup $
– Michael Aquilina
13年8月16日在14:36
#2 楼
一个适合硕士水平的研究主题可能是随着从第1轮到第n轮的发展,研究基于Feistel网络的通用密码算法的随机性增加。这方面的机器学习方面是尝试在第一轮的输入和输出之间找到某种关联,并查看机器是否可以将该知识扩展到后续的轮次。您可以使用大型数据集,也可以使用各种键,以尝试查找有助于您调整机器的数据模式。如果您对神经网络感兴趣,那么一些用于最小化输出随机性的输入/键调整尝试可能会清除不良值,这对于密码分析家也很有用。一轮之后,您将到达无法再找到I / O相关性的阶段(该阶段+一定的安全裕度,该密码将成为交易的有用工具)。但是,如果您成功提出该建议,则您的设备将是一个有用的工具,可以帮助确定所需的最小轮数,以便将固态Feistel密码算法声明为“合理良好”。
评论
$ \ begingroup $
如果某人正在执行此操作或想要执行此操作,可能会感兴趣。请与我联系。
$ \ endgroup $
– sashank
2014年4月4日在6:10
#3 楼
是的,机器学习在密码学中有应用。不过,可能不是适用于您的工作的方式。在过去的几十年中,密码学家一直在研究机器学习作为密码学硬度假设的来源。要点是,我们可以使用假设的学习某些分布的难度来制作新的基元,从而构成新协议的基础。罗恩·里维斯特(Ron Rivest)于1993年撰写了一篇有关该主题的论文,称为“密码学和机器学习”,但此后在该领域发生了许多工作。
Regev在2005年发表的关于晶格,有错误的学习,随机线性代码和密码学的论文对OP更为有趣。他在那篇论文中的研究结果对发展晶格密码学尤其是“有错误学习”的假设非常重要。我什至无法假装理解这方面的结果,但是Wikipedia可以为您提供一个良好的开端。
评论
$ \ begingroup $
啊!有错误的学习是一个很好的例子,没让我感激。
$ \ endgroup $
– sashank
2014年4月4日在6:11
#4 楼
如果不利用关于他们所攻击的密码系统的知识,对现代密码学的攻击几乎没有成功(即使自二战以来我也不知道有任何例外; Enigma,Purple ..除外;我不知道;而且我会惊讶地得知任何攻击从1970年开始在公开文献中发表。)这适用于机器学习:我的建议是,如果它不知道受到攻击的密码系统的结构,就不会解决有趣的密码问题。 />
我确实相信自动密码分析:
密码系统。
机器学习对于实现这些目标很有用。
#5 楼
每天都在使用和改进机器学习和决策树模型来破解密码。结合计算机学习的量子计算已成为当今最复杂的解密工具之一。
评论
$ \ begingroup $
哇,您有一部真正的量子计算机!
$ \ endgroup $
–user27950
16年6月13日在5:26
评论
最接近自动密码分析的是SAT求解器。有时,我们会使用机器学习技术来展示PRNG和加密中的核心功能的安全性。
你看过报纸吗? Mohammed M. Alani的“ DES和Triple-DES的神经密码分析”?
我没有。尽管感谢您的建议,但还是会读一读!
链接crypto.stackexchange.com/questions/67402/…