【问题标题】:Machine learning: Supervised learning to learn & predict next RSA code机器学习:监督学习以学习和预测下一个 RSA 代码
【发布时间】:2012-09-02 00:04:21
【问题描述】:

我正在学习 Andrew NG 的机器学习课程。我还处于起步阶段。 他在课堂上用他的房价预测示例教授监督学习。

在为机器学习程序提供“正确”值的数据集后,是否可以预测接下来将生成的 RSA 令牌?我们可以使用监督学习来让程序学习算法吗?

【问题讨论】:

    标签: algorithm matlab machine-learning rsa octave


    【解决方案1】:

    您不会因此获得具有统计学意义的成功率。令牌内部的数学禁止此类事情。

    例如,可以使用a hash chain

    【讨论】:

    • 好的。是不是意味着机器学习不能真正学习一种算法(非密码学算法)?
    • @Sundar,房价示例从训练集中提取了一堆“特征”,以了解它们如何相互作用。这个想法是找到一个公式 - 将所有特征作为输入 - 输出一个与给定样本相关的数字。在这里,机器不学习如何进行预测,而是学习不同特征的哪些因素最终导致“现实”的估计。
    【解决方案2】:

    这行不通。

    RSA 令牌从种子中创建一个伪随机数字序列。

    理论上,如果您拥有无限资源,那么您可以训练一个算法足够长的时间,使其“学习”整个伪随机数序列。然后您可以从一组先前的值中预测序列(甚至可能推断出种子)。

    在实践中,这种方法肯定会失败,因为:

    • 训练时间太长,无法实现。
    • 所需解决方案的规模(例如神经网络中的参数数量)太大而无法实施。

    对于“太大”和“太长”,您应该理解“比宇宙中任何人都能够达到的更长/更大”。

    【讨论】:

      【解决方案3】:

      监督学习依赖于利用数据中的规律性。例如,如果根据所需输出绘制数据,则空间中可能存在集群或人口密集的表面。您将在课堂上学习的各种学习算法都是利用一种或另一种结构的方法。如果数据集是随机的并且未连接到所需的输出,则无法进行学习。

      RSA 在密码学上非常有用,因为它是一个非随机过程,很难与没有结构的随机过程区分开来。数据中没有明显的规律可利用。

      我不愿意阻止你看这个;你永远不知道它会激发什么或你会学到什么。但是在你的位置上,我不希望我成绩的任何部分依赖于成功。我会说,要在任何有意义的意义上取得成功,你几乎必须将学习建立在迄今为止没人想到的特征上。如果您决心尝试此操作,我建议您从非常小的素数开始,并且只有当您将任何牵引力毕业到更大的素数时。

      可疑的部分原因取决于复杂性论点。如果可以基于合数解决任意 RSA 问题,那么可以在合理的时间内因式分解该数字,但是认为(但不知道)分解任意合数是 NP 困难的,尽管不是 NP 完全的。

      【讨论】:

        猜你喜欢
        • 2013-03-24
        • 2014-04-20
        • 2018-10-17
        • 2021-10-17
        • 2016-05-28
        • 2019-04-16
        • 2017-02-21
        • 2017-08-21
        • 2019-02-20
        相关资源
        最近更新 更多