知道输入,跟结果。可以反推出算法嘛?

  • 我好像是小号
    如题目。。。。知道输入什么 ,输出什么结果。可以反推出里面算法嘛?
    我是想防止别人反推哈。
    算法应该怎么样写,别人反推不出来?输入数据跟输出结果是没办法,可以通过抓包,抓到。过程算法就只能反推了
    如果可以,需要多少组数据?iOS fly ~
  • w
    wsyx87930
    算法本身是线性的话可以反推
  • 我好像是小号
    回复2#wsyx87930
    比如输入a+166(195-63)=结果b
    别人知道输入a跟结果b,可以反推出来过程吗?iOS fly ~
  • w
    wsyx87930
    线性的话很容易,画个散点图连起来就行了
  • j
    jn13lh
    回复3#我好像是小号

    你举的这个例子。都不用电脑。有两组数据。打眼一看就知道输入加上21912是输出。再有第三组数据验证一下。就完了。。
  • 我好像是小号
    回复5#jn13lh
    哎呦完蛋了,我把输入a跟结果b加密之后再传输呢,不用明文。是不是就解决了iOS fly ~
  • 风一样的sb
    MD5就可以吧?
  • j
    jn13lh
    回复7#风一样的sb

    常见算法肯定不行。想破解的话第一步肯定是先用常见算法穷举一遍。
  • 风一样的sb
    研究下密码学理论吧,可以考虑上AES
  • j
    jn13lh
    回复6#我好像是小号

    不明白你说的a和b加密传输是啥意思。因为不了解你的场景。
    ----

    对输入和结果没有啥特别要求吗?没有的话办法多得是啊。比方说最简单的。输入数乘一个大数(也可以是一个有很多大数的数组。用哪个大数取决于输入的某个特征)。对结果取一段固定长度的字符串作为新数取的位置可以用输入的数的某个部分来确定。结果再每隔几位取一个数字形成新的数。然后再各种算。。。。你敢搞得够复杂。想逆推的人就得上神经网络。。。。还不一定能好用。
  • w
    wflove
    散列,hash
  • q
    qhgm
    你这个a+166(195-63)=结果b
    和a+21912=结果b 有什么区别?
    你这个等于就是一个线性函数,而且斜率已知,只有一个未知参数,只要一对数据就能反算出来了。
  • j
    jn13lh
    回复12#qhgm

    想不被反推第一步肯定是破坏掉坐标轴的作用。让拟合没有用。就是4楼说的。算法不能是线性的。
  • s
    soshy
    不用保密的话,你先给50组数据我们看看?反正是周末。
  • 我好像是小号
    回复14#soshy
    俺要学习苍老师去了 iOS fly ~
  • x
    xain
    可以拟合
  • 我好像是小号
    回复10#jn13lh
    用了sha加密跟随机字符。应该差不多了,
    应该是完美无缺了。iOS fly ~
  • j
    jn13lh
    回复17#我好像是小号
    随机数在这里的作用是啥。?对同一个输入。不要求结果的唯一性。?那你算半天有啥意义。。。。
  • 猫了个咪的
    这不就是机器学习干的事情吗
  • h
    hchua
    166(195-63)这是一个常数
  • t
    tsounny
    也是醉了你就不能复杂一点吗?比如结果的后三位抑或,然后取反
  • F
    FQX
    机器学习啊 iOS fly ~
  • z
    zinwa.lin
    这不就是逆向破解吗 iOS fly ~
  • k
    ketkou
    理论上必然可以,但是需要的算力和时间不确定
  • g
    godzillaqqq
    运算后按二进排列后取反 应该不好推算吧
  • f
    fy883
    0的结果是多少
  • l
    liuzhedash
    机器学习就是干这个的
  • j
    jiaxinyue
    回复3#我好像是小号

    你这个,或者几次函数,拟合就行,再复杂,我就不知道了
  • p
    pepsin
    你纸上画两个点,你考虑下能画多少根线把这两个点连起来

    直线只有一根,但是曲线可以有无穷根

    现在想象下你能在空间里画,还能穿过纸面

    维度升高这解就无穷了 iOS fly ~
  • 碧荷叶
    0就是经过同样的公式运算最后等于0啊。
  • e
    eoskevin
    泛函分析,课程了解一下
  • b
    bartonexdu
    不是说的拟合?
  • l
    lifanxi
    用Mathematica拟合一下不就好了么?懒得做是因为这样出来的结果未必是你想要的结果。
  • w
    wooda
    加密学里线性加密是最容易
  • 碧荷叶
    Mathematica是啥?
  • a
    ageg
    去读读书吧。。你们讨论的东西连密码学的入门都不到
  • 碧荷叶
    哈哈哈用execl拟合了一下,应该说比较接近但是偏差还是比较大的。
  • 林有德
    机器学习就是啊,但是不能告诉你原始算法究竟是什么
  • z
    zengdragon
    坐标法,输入x轴,输出y轴,然后看是啥曲线,应该不难看出算法,如果有的话。 会将白发倚庭树
  • 碧荷叶


    上个曲线
  • h
    hhenheng
    把股价曲线拟合拟合,能出来就是大牛
  • 四维
    回复1#我好像是小号


    楼主,你考虑过别人直接反编译你的代码的情况?

    如果楼主的算法那么宝贵,建议直接把可能用到的数值全部预先算出来,程序用查表法查数据。
  • 我好像是小号
    回复44#四维
    vmprotect 虚拟代码,自己都看不懂了解一下iOS fly ~