Algorithm 对算法进行逆向工程

Algorithm 对算法进行逆向工程,algorithm,cryptography,reverse-engineering,Algorithm,Cryptography,Reverse Engineering,我有一个算法,它使用时间和其他变量来创建长度为30个字符的键 完整结果如下所示:d58fj27sdn2348j43dsh2376scnxcs 因为它使用时间和其他变量,所以它总是会变化的 您只看到前6个:d58fj2 所以基本上,如果你监控我的结果,每次你都会看到不同的结果,而且只有前6个: d58fj2 kfd834 n367c6 9vh364 vc822c c8u23n df8m23 jmsd83 问:你是否能够进行逆向工程,并找出计算它们的算法?记住,你永远看不到完整的结果,只有30位中的

我有一个算法,它使用时间和其他变量来创建长度为30个字符的键

完整结果如下所示:d58fj27sdn2348j43dsh2376scnxcs

因为它使用时间和其他变量,所以它总是会变化的

您只看到前6个:d58fj2

所以基本上,如果你监控我的结果,每次你都会看到不同的结果,而且只有前6个:

d58fj2 kfd834 n367c6 9vh364 vc822c c8u23n df8m23 jmsd83

问:你是否能够进行逆向工程,并找出计算它们的算法?记住,你永远看不到完整的结果,只有30位中的前6位

问题2:对于那些说这是可能的人,你需要多少钥匙才能做到这一点?(我的意思仍然是,30位数字中的前6位)


谢谢

我愿意冒着被否决的风险,但不知怎么的,这很快就开始有了学校(家庭)工作的味道

问题本身——“这是反向工程吗?记住,你永远看不到完整的结果”是足够可疑的;如果你能看到完整的结果,我也可以。你是否将其存储在本地,以便我可以花时间检查它,或者它是否通过电线,以便我必须找到它是另一回事——是否必须使用wireshark,我仍然可以看到应用程序中传输的内容

请记住,在某些时候WEP曾经是“牢不可破”的,而现在很多低端笔记本电脑可以轻松破解它们

然而,第二个问题——“你需要看多少样本才能弄清楚”听起来像是一个愚蠢的不切实际的老师问题。有些人在第一次尝试时就猜到了朋友的密码,有些人需要几周的时间。。。不幸的是,尝试的次数并不是逆向工程的决定性因素。只有时间去尝试它们才是最重要的;这就是为什么人们在门上使用昂贵的锁——因为它们不是牢不可破的,而是因为打破它们需要几秒钟以上的时间,这增加了邻居看到可疑活动的可能性

但是,问观众“你需要看多少关键点才能破解这个你一无所知的算法”毫无意义,因为这只是一种防御性的举动,不能提供任何保证;该算法的作者非常清楚使用统计分析打破它需要多少样本。(就WEP而言,这是5000-50000-200000次静脉注射)。有些密码会在5k时崩溃,有些密码几乎不会在200k时崩溃


用学术证明更详细地回答你的问题需要你方提供更多信息;不仅仅是含糊不清的“你能做到吗?如果是的话,需要多长时间?”问题,这就是目前的情况。

嗯,逆向工程正在根据该算法的结果重新实现一个算法。因为你永远看不到结果,所以你不能对它进行反向工程。如果你只看到前0个数字,你能对它进行反向工程吗?是的,给你足够的时间来强制它或创建一个像样的彩虹表。。。你到底在问什么?如果可以对其进行反向工程?是的。反向工程解决方案是否可以生产并立即在其他项目中重复使用?不,不会。也许,这取决于是否存在与前6个字符有多项式关系的内部结构。可能可以预测6个首字母,但由于我们对算法的结构一无所知,似乎无法预测其余的字母。如果你能掌握代码(即使它是二进制的),你可以对它进行分解/分解。如果有一些(相对容易的)内部结构,理论上可以对其进行反向工程。准备一辈子都在做这件事,而不保证你最终会成功
你永远看不到完整的结果
只是一厢情愿的想法,存在真正的安全问题。