姚期智百万富翁问题:大数据时代,如何保护个人隐私?

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024

Комментарии • 822

  • @0623webber
    @0623webber 3 года назад +66

    作為一個積極青年,每日晨起我都會先看一眼富人榜,如果沒有我,我就去看書;如果有我,我就去看病。

  • @a3830062
    @a3830062 3 года назад +307

    14:24 第一位員工在計算機上隨機輸入六位數,像是546215,之後大家把自己薪水一個一個加上去,最後輪到第一位員工輸入完後減去一開始六位數,再除員工總數即可。

    • @lalalahu
      @lalalahu 3 года назад +10

      真聰明...

    • @uanX
      @uanX 3 года назад +42

      那要找一个公正的第三方计算机,我觉得这解法和天平一样

    • @alola9831
      @alola9831 3 года назад +5

      Where is my doge army?

    • @莫斯科-c5n
      @莫斯科-c5n 3 года назад +38

      第三个偷偷去问第一个员工随机数,就可以推出第二个员工的工资了,这种情况避免不了。

    • @jayshu4867
      @jayshu4867 3 года назад +16

      那这要求一个客观公正的第三方--那台计算机。平时生活中可以这样解决,但无法推广到互联网上。这个问题答案应该是一个去中心化的解决方法,跟比特币样。

  • @KKK-oi3qb
    @KKK-oi3qb 3 года назад +91

    这个讲得很棒啊,比网上的公式版容易理解很多。最后算平均工资的,我以前听别人讲过,当时的方法没有用到大数。具体是这样的:如果有10个人,假设自己是1号,把自己的工资随机分成10份,自己留第1份,第2份告诉第2个人,第3份告诉第3个人。。以此类推。其余人也都做同样的事情。然后每个人把自己得到的10个数字相加,再公开,就能算出一个总数,再除以10就能得到平均工资。这样的话除非剩下9个人都串通起来,不然就不会泄漏自己的工资

    • @andyjulialee
      @andyjulialee 3 года назад +2

      互联网时代串供太容易了,这种方法肯定得淘汰了

    • @user-fk8qq4mo9n
      @user-fk8qq4mo9n 3 года назад +14

      @@andyjulialee 我觉得,考虑串供就没有意义了,如果考虑串供,那10个人直接坐一起核对不就行了。他这个方法已经很好了,我觉得如果要进一步的话,就是每个人把工资先加一个随机数,然后再分10份,最后汇总之后再减去每个人的随机数。

    • @lzou3331
      @lzou3331 3 года назад

      @@user-fk8qq4mo9n 减去随机数这个过程貌似也是可以串的,那就又绕回原点了

    • @bingshenglim8200
      @bingshenglim8200 3 года назад +1

      不错 老师快来审

    • @d.w5324
      @d.w5324 3 года назад +12

      @@andyjulialee 如果考虑串供的话,那这个问题本身就不成立了,先不说中间方法是怎样,只要有了最终平均结果,9人串供只要把平均X10再减去9人加起来的必然可以算出剩下1人的工资

  • @shawnzheng8604
    @shawnzheng8604 3 года назад +19

    1.假設工資A是10、B是20、C是15
    2.A對B送出一個數字k, A對C送出一個數字10-k (發出的數字總和為自己工資)
    3.B、C同2.操作
    4.三人將收到的數字加總並公開,三數總和必為45,同時無法確知額外信息。

    • @luyaoyuan2400
      @luyaoyuan2400 3 года назад

      如果只有两个人呢

    • @shiki2831
      @shiki2831 Год назад

      K就相当于salt是吧

    • @ingathrise
      @ingathrise Год назад +1

      信道是透明的就不行啊,这就和互联网一样,你发给谁发的什么都可以知道的。需要在传输的信息公开的情况下也做到保密。

    • @dying476
      @dying476 Год назад

      ​@@ingathrise 只需要讓所有人有各自的公私鑰,發送訊息時使用對方的公鑰加密,對方收到後再用自己的公鑰解密就好了

    • @ingathrise
      @ingathrise Год назад

      @@dying476 这样好像就要有n*(n-1)对密钥才行

  • @user-ez7ww4kq4m
    @user-ez7ww4kq4m 3 года назад +161

    我的思考只停留在燒箱子那一段

    • @nightmail9309
      @nightmail9309 3 года назад +26

      你将会成为一名伟大的革命家.

    • @godismemermusic3113
      @godismemermusic3113 3 года назад +3

      @@nightmail9309 这个好厉害

    • @user-sd6oe9pb1j
      @user-sd6oe9pb1j 3 года назад +2

      @@nightmail9309 哈哈哈哈哈

    • @user-lw8dn3ll7f
      @user-lw8dn3ll7f 3 года назад

      太tm真实了

    • @只克制表达自己见解抬
      @只克制表达自己见解抬 3 года назад +2

      几亿的财富说烧就烧?为什么牛奶不分给穷人要倒掉呢,于是陷入了深深的思考当中。。。所以中学的学习阶段就是这么度过的,导致清北没考上!

  • @jacobli9564
    @jacobli9564 3 года назад +258

    假设A想知道平均工资,公司有10个人。A在计算器上随意输入一个自然数给第二个人,以此轮换加下去。这样所有人都不知道上一个人的工资,只能看到一个总和。最后A自己把自然数减去后加上自己的真实工资再除以人数得出平均工资

    • @zzchen281
      @zzchen281 3 года назад +29

      你这简单的算法逻辑解出答案 直接让大学老师哭了

    • @user-hy2cs1zt3t
      @user-hy2cs1zt3t 3 года назад +7

      懂了,这就和老板对线

    • @HRWU
      @HRWU 3 года назад +8

      前提是没有人说谎

    • @easy_come_easy_go
      @easy_come_easy_go 3 года назад +62

      @@HRWU 这是一个数学问题,不是素质问题

    • @HRWU
      @HRWU 3 года назад +7

      @@easy_come_easy_go 数学工具既然要解决实际问题,就应考虑实际情况,不然只能用假设来设定边界,不是吗?

  • @sagaholmes5071
    @sagaholmes5071 3 года назад +186

    李老师把原本晦涩难懂的知识点用让大部分人都能够听明白的表达方式传授给大家,视频中又充满各种正能量,简直宝藏级园丁!需要像熊猫一样被保护起来🙏🏻😂

    • @nifengshan
      @nifengshan 3 года назад +18

      唉 大部分不包括我 实话说 讲的很好 还是听不懂

    • @humanreal8017
      @humanreal8017 3 года назад

      @@nifengshan on li

    • @humanreal8017
      @humanreal8017 3 года назад

      @@nifengshan ok ill ill take it ikokoooôklijk

    • @humanreal8017
      @humanreal8017 3 года назад

      Hiui

    • @humanreal8017
      @humanreal8017 3 года назад

      It is forbidden to share any of your k

  • @Yaosheng_Li
    @Yaosheng_Li 3 года назад +10

    信息安全专业的我觉得这节课是《密码学》课程中高于课本,源于生活的很好的教材

    • @zhishuihu6650
      @zhishuihu6650 2 года назад

      我依然没有看懂这后续课,2种方式不能解决相近或相等的情况,所以不完美的。姚法仿佛进入了四维以上的空间。回家作业只能走大数之外的路子了。1虚设一个接近自己的合理数让大家填大于小于号汇总点号数。2,抽出要找的兴趣问一堆别的填单选框,或重组重复多次可填多选,找出填其它框的人。有更好的办法吗。另外密码是为大量文件服务的,须有明密一一对应的,有矛必有盾,而常用字有限的,结合相关的领域热门事,可大为缩小试算量,所谓的量子计算机和密钥只防君子的,而贼的套路是互通的。谢谢。

  • @c12
    @c12 3 года назад +2

    每一个员工准备两个纸条,一个写随机的6位数,一个写前面的数字加上自己的工资的合计值,然后分别吧纸条投进两个箱子。A箱子里面放随机数的纸条,B箱子里面放随机数加工资的纸条。等所有员工投完纸条后,打开箱子计算A箱的总和与B箱的总和。
    平均工资等于(B箱总和-A箱总和)/员工数

    • @user-ku7ff3vs3f
      @user-ku7ff3vs3f 3 года назад

      这个是不是又回到了公平秤的难题上了?箱子是不是第三方,怎么保证没有作弊😂

    • @c12
      @c12 3 года назад

      @@user-ku7ff3vs3f 百万富翁问题也是运用箱子。箱子是道具,不是第三方,无需保证作假。否则百万富翁问题,也无法保证作假。

  • @linwei6287
    @linwei6287 3 года назад +110

    看完整个视频,我学到了:我国有一个大神叫姚期智,他目前是我国唯一一个的得过计算机里的诺贝尔奖-图灵奖的大神,然后这个大神和箱子有不可告知的关系。

  • @user-nm9fg8fm7i
    @user-nm9fg8fm7i 3 года назад +157

    百萬腹翁 李永樂

    • @yansongliu419
      @yansongliu419 3 года назад +2

      这个就是我想说的,哈哈哈哈哈

    • @ifl8175
      @ifl8175 3 года назад +1

      b只发了一个M给a,为什么a可以用K来计算?M干嘛去了?

    • @rhyszhang5817
      @rhyszhang5817 3 года назад +3

      @@ifl8175 K实际上没用上,可以把k-j+1...k-j+10理解成m...m+9

  • @vvwst
    @vvwst 3 года назад +7

    李老師, 我是一個退休長者. 我常看你的視頻向你學習. 今天看了你兩齣視頻, 約兩年前的靜脈曲張和今天的百萬富翁. 看來老師現在雙腿的負擔應該比兩年前還重, 精神也不及以前. 請老師多加留意, 因為老師日子還長, 你雙腿要支持整個身體重量. 老年人要坐輪椅就是因為雙腿累壞了. 希望老師在教學、事業、家庭、健康稍作平衡, 要緩下來的話就讓它緩下來, 然後再繼續, 很多事不一定是可以一步而成. 老師任重道遠.

  • @brett4704
    @brett4704 3 года назад +116

    完了
    在y z j之間我的豆腐腦已經燒壞了

    • @jackz1620
      @jackz1620 3 года назад +12

      总的来说y用于掩盖B的财富,z用于掩盖A的财富,i被用于提供A的财富信息,j被用于提供B的检测位置。看了三四遍才看懂。

    • @alexoolau
      @alexoolau 3 года назад +1

      可以用天平来解决这个问题。A富翁i 克重球放入一个暗盒x,B富翁放j克重球放入一个等同重量的暗盒y。然后把暗盒x,y,放到天平上。立刻就知道谁更有钱,但不知道具体数字。

    • @deathjoker4
      @deathjoker4 3 года назад +1

      但會知道差多少,尤其是差距很明顯的時候

  • @hendrikteguhjaya
    @hendrikteguhjaya 3 года назад +23

    我等了好久。我是来自印尼的粉丝哦,老师
    自从看了零知识的时候就等了。迫不及待呢

    • @user-eq5kd9xr2z
      @user-eq5kd9xr2z 3 года назад +8

      没必要等,可以把李老师之前的视频看一次,够你看半年的了,学习知识无须等待,加油

  • @Antonio-wh8lh
    @Antonio-wh8lh 3 года назад +93

    我在同學問分數時終於不用告訴他們了

    • @user-eq5kd9xr2z
      @user-eq5kd9xr2z 3 года назад +15

      这个也是隐私,最需要做的就是不要有分数歧视,好好对待不高分数的人群,毕竟不可能人人高分,而且一辈子永远高分,多谢鼓励支持

    • @user-iv8wp3ts6i
      @user-iv8wp3ts6i 3 года назад +15

      @@user-eq5kd9xr2z 我們把分數改成資產。
      氣氛突然蘇維埃了起來。

    • @haocherhong
      @haocherhong 3 года назад +3

      你以為你的學霸同學會在意你考幾分嗎?
      你還是直接告訴他你幾分讓他回答你有沒有比他高吧XD

    • @Antonio-wh8lh
      @Antonio-wh8lh 3 года назад

      @@haocherhong 就說了是對方在問

    • @haocherhong
      @haocherhong 3 года назад

      @@Antonio-wh8lh 看錯了 😗

  • @nyxwill3716
    @nyxwill3716 3 года назад +11

    居然看懂了!谢谢李老师❤

  • @Wade_Chen
    @Wade_Chen 3 года назад +7

    應該是差不多的方式,A拿一個大數加上自己工資用第一組私鑰加密後給B,B用第二組私鑰加密後給C,依此類推到最後一個,最後再反向回到A之後就知道總共加上多少

    • @guanquanwang5761
      @guanquanwang5761 Год назад

      抱歉我没有看懂。请问可否不吝赐教,把过程讲解的更加详细一点?

    • @ingathrise
      @ingathrise Год назад

      我也没看懂

  • @laurencetang542
    @laurencetang542 3 года назад +1

    不需要计算器啊,就是简单加密。设10位员工,且员工工资都是被一千能整除的正整数x。随机分给十人写上1-10数字的纸条,抽到的数字需要再加上(工资x/1000)例A员工抽到3,他工资8千,则8000/1000+3=11。把十个人的x相加减去55,再除以10,就是平均工资啦。

  • @loldzl424
    @loldzl424 3 года назад +2

    可以让每个员工将自己的工资加上一个随意的数值,这个数值只有自己知道,然后再将这加密后的数值打在计算器上,这样第二个员工也不会知道第一个员工的工资,然后第二个员工也这样,直到最后一个员工。然后再从第一个员工开始减去自己之前加上的数值,最后再所有员工都不知道互相的工资的时候得到全公司员工的总和,再除以公司人数就可以得到平均工资了

  • @mavislilo
    @mavislilo 3 года назад +2

    還是用公私鑰箱子,假設大家的工資在一到十萬間的萬元整數。每個人準備十個帶1-10標籤的箱子,發行人有鑰匙,其他人只能鎖上。
    員工在自己工資達到的數字放1,其他放0。例如四萬,他就在1-4號箱放1,其他放0。然後鎖上。
    收集完所有箱子後打亂,按標籤分類。然後按標籤打開。所有1號箱都有1,所以所有人都至少有一萬。如此類推。所有10號箱子裏只有一個1, 代表有一人有十萬工資。
    這樣就能在不知道個人訊息下,知道工資圖表並計算平均數。
    之後就各自比對自己的數值

  • @kaitogin
    @kaitogin 3 года назад +17

    李老师说的每一个字我都明白,但组合到一起怎么就不明白了呢

  • @cheangus2941
    @cheangus2941 3 года назад +27

    剛剛點進去二年前的視頻再點了這一條,李老師胖了好多😂

    • @johnzhu1649
      @johnzhu1649 3 года назад +7

      李老师还点赞了🤣

  • @ivanz8847
    @ivanz8847 3 года назад +4

    李老师都提示了:第一步,依然寻找一颗大树...然后让每个人把工资告诉大树,最后大树算出总和就解决了

  • @jeffzhuo992
    @jeffzhuo992 3 года назад +10

    老师受我一拜~ 我学计算机但搞不明白加密解密原理。看了你的视频,这么久的烦恼终于解决了!

  • @user-gs9xo7tp1k
    @user-gs9xo7tp1k 3 года назад +4

    又涨知识了,非常有启发性的视频,李老师应该获得提名诺贝尔经济学奖

  • @xiang-yue-fung
    @xiang-yue-fung Год назад +3

    關於思考題的平均問題,我想到了把工資拆分成不同位數求和,個位數放在一個袋子求和,十位數放一個袋子求和,依此類推,再將總數算出,最後除上公司總人數,即可算出公司平均工資

    • @filics8770
      @filics8770 Год назад

      好像可以啊。牛逼。

    • @ingathrise
      @ingathrise Год назад

      这个袋子在数学上不好表示,说白了传递的信息大家都能看到的情况下,怎么解

  • @pandst
    @pandst 3 года назад +6

    最後一個問題,準備個、十、百等有位數的箱子
    所有員工寫出紙條寫自己的工資
    然後按照位數去把紙條匿名投進去
    因為連0都要投,所以所有員工紙條數相等
    沒辦法推測哪張是誰的
    最後統一計算除人數就好

    • @steven9617
      @steven9617 2 года назад

      补充一下,每个箱子都加上n把锁,n是员工人数,每人各自一把,只有最后才能一起全开,这样有人不同意就开不了箱子,中途无法在不让他人知晓的情况下知道他人工资的信息

  • @junwenl1331
    @junwenl1331 3 года назад +2

    假设有10个员工,每个工资在0-10万间取整数,第一个人有私钥和公钥,第一个人取一个随机大数,用公钥加密E(X)=k, 用k减去自己的工资+1(m=k-i+1)传给第二个人,第二个人在m基础上减去自己工资,在传给第三个人,这样每个人都在上一个人传给的数字上减去自己的工资,最后结果再传回给第一个人,第一个人对m到m+100进行私钥解密,如果第j项等于预设的大数X,那j就是所有人工资的总和,平均就得到平均工资了。

  • @user-wq6jb4bc3b
    @user-wq6jb4bc3b 9 месяцев назад

    我也想了一個
    A跟B 分別把自己的錢分散存近50個戶頭
    然後兩方各挑5個出來 比五次
    重複...
    比的次數夠多 就越可信
    姚期智先生的居然只要一次就能100%證明... 佩服

  • @Sophyssss
    @Sophyssss 3 года назад +22

    谢谢老师解决了我即将面临的烦恼🤭🌝🌝🌝

    • @zephyrchan6579
      @zephyrchan6579 3 года назад +1

      A对i,j比较后,知道了结果,但是向B撒谎呢?

    • @HaHa-dv1bw
      @HaHa-dv1bw 3 года назад

      @@zephyrchan6579 这些方法的前提是两人必须诚实

    • @user-uj4cn6pf2l
      @user-uj4cn6pf2l 3 года назад +1

      @@zephyrchan6579 同样的机制做双向验证

  • @user-gu4vh7ii6n
    @user-gu4vh7ii6n Год назад

    好开心啊,李老师真的有在看我们的留言啊

  • @wkj
    @wkj 3 года назад +1

    我之前用一個很簡單的方式給出了這個解答
    就是兩個人各買通款箱子,把錢放進去,然後跟對方互相交換

    • @timy8749
      @timy8749 3 года назад

      然后私下用自己信赖的方式称重吗?这样做的前提是知道自己箱子的重量所对应的财富,如此不就可以反推出对方的财富吗,信息因而泄露了

  • @yunussuper3314
    @yunussuper3314 3 года назад

    李老师讲话太顺畅了,这种行云流水的感觉真舒服

  • @yuzhuowu4472
    @yuzhuowu4472 3 года назад +1

    感谢老师,之前一直听说这个问题但看其他文章都没有这么透彻简单

  • @winniewu8959
    @winniewu8959 3 года назад +1

    在網絡上看到一個挺有趣的比較方法
    1.先在一不透光试管中加入未知量的水
    2.A量取他財富那么多毫升的1mol/L的HCl 加入试管(iml)
    3.B量取與他財富那么多毫升的1mol/L的NaOH 加入试管(jml)
    4.用pH试纸就可判断谁的財富多

    • @user-lk6mq8vj9d
      @user-lk6mq8vj9d 3 года назад

      那跟天平是一类处理方法,都需要一个客观公正的第三方啊。

    • @winniewu8959
      @winniewu8959 3 года назад

      @@user-lk6mq8vj9d 這個第三方就是不透光的試管啊 因為不透光 雙方都不能知道對方加進去的量 但是卻可以比較大小

    • @user-lk6mq8vj9d
      @user-lk6mq8vj9d 3 года назад

      @@winniewu8959 但是你需要使用ph试纸啊,ph试纸就是客观公正的第三方。

    • @winniewu8959
      @winniewu8959 3 года назад

      @@user-lk6mq8vj9d 是的!

  • @joshuasiren7871
    @joshuasiren7871 3 года назад

    想到一个方法是这样的:
    第一步:想涨工资的员工随机选一个很大的数,
    第二步:该员工加上自己的工资,再加或减一个随机数,传给第二个员工
    第三步:第二个员工也加上自己的工资,再加或减一个随机数,以此类推,所有员工都完成了这个过程第四步:将所有人加密过后的数据传回给第一个员工,ta减或加上自己选择的随机数,再随机给一个员工,每个员工都把自己之前算进去的随机数去掉,再把数据传回给第一个员工(也就是想涨工资的员工)
    第五步:想涨工资的员工此时得到了【选定大数+所有员工工资之和】,只需要减去这个大数再除以总人数即可知道平均工资
    (窃以为此法的好处是如此一来即使其他人串供只要某个员工不透露自己的随机数就无法得知他的工资。相当于第一个员工有公钥,所有人都有私钥,加密的方法在解码时不按顺序也可还原(即只加减不乘除)大家全部加密一次再全部解密一次。)

  • @star2doom
    @star2doom 3 года назад +37

    第一步,找出公司財報
    第二步將薪資支出除以員工人數XD

    • @TinTin-vx4nh
      @TinTin-vx4nh 3 года назад +1

      老板的工资你不算了?

    • @user-wf3rr5pl6y
      @user-wf3rr5pl6y 3 года назад +3

      第一季度騰訊人均月薪7萬

    • @star2doom
      @star2doom 3 года назад +3

      就看自已的目的是什麼,不是把所有的支出都當成薪資支出,如果夠了解的話自然會把董監酬勞扣掉再算。
      不過如果如果真要亂算說出TS月薪七萬的話,那如果在TS任職的人,就可以大方的向上頭反應自已的薪資低平均了(李老師的問題就是如何證明自已的薪資水平太低,這目的就達到了)

    • @user-wf3rr5pl6y
      @user-wf3rr5pl6y 3 года назад

      @@star2doom 7萬就是按你說的方法算出來的,昨天的新聞有報道。低過平均數不代表不公平

    • @star2doom
      @star2doom 3 года назад

      有些公司會把獎金,保險,教育訓練之類的加到薪資支出,另外也要看研發費用是否有被算入。
      不過,要怎麼算還是要看自己的目的是什麼。(本來薪資就是不同工不同酬,而李老師的問題只是要證明自己低於水平而已)

  • @HHMAYAN
    @HHMAYAN 3 года назад +17

    老师来了、老师来了!老师带着百万富翁的问题来了

  • @fentoyal
    @fentoyal 3 года назад +3

    8:20 第二步,A如何计算k - j + 1 呢?A不是不知道J是多少吗?是不是应该是m, m+1, m+2, m+ 3, ... , m + 9?

  • @marswilliam460
    @marswilliam460 3 года назад +1

    把财富数字由十进制换算成二进制,并列成一排,然后用尺子比较两组数字的长度:
    1,通常情况下,长的那组二进制数字大。
    2,长度一样的时候,用一张纸盖住数字,从左往右慢慢移动,最先出现0的那组二进制数字小。

    • @user-sz2yt4kd1e
      @user-sz2yt4kd1e 3 года назад

      但是這樣以來就會有資料泄漏的問題,不論今天是針對i, j做轉換,還是實質數字做比較,假如比到了最後依舊會知道或是近似知道實際數值。但這樣就沒有達到一開始的前提。
      但今天的做法可以即使不知道數字也能夠比較大小。

  • @newsionl6092
    @newsionl6092 3 года назад +1

    最简单的办法,当然是每个人把工资写出来,不记名,然后打乱。
    然后算平均数。

  • @scottdamien8395
    @scottdamien8395 2 года назад +16

    高智商的老师,就是能够把高深的理论深入浅出的传授出来
    塔嘛的现在很多老师都搞不明白,能把什么教给学生啊
    名师出高徒,绝对有道理

  • @jinhuang6042
    @jinhuang6042 3 года назад +1

    为什么要取模呢?A直接在Y1到Y10 上面进行加一或不加一操作,然后都不用保序,可以乱序把Y1到Y10传给B,B就看自己接到的10个数里面有没有X就行了,判断方法还是如果有X B的财富小于等于A, 如果没有发现X B的财富大于A

    • @pigpag86
      @pigpag86 3 года назад

      这样会泄密。B可以对每个y和y-1重新加密(B有公钥),然后和自己的大数进行对比就能知道A的财富是多少了。因此才需要“大数”,也就是求模之后无法还原成原来的大数。如果原数太小,也可以暴力尝试p、2p、3p...把原来的y还原出来,进而破解A的财富值

  • @stevenzhi8092
    @stevenzhi8092 3 года назад +6

    说个真事。我老婆说:老公,你之所以听不懂这一期节目可能主因为你不是百万富翁。😪

    • @踯躅
      @踯躅 3 года назад

      我觉得真正的富翁不会来看这个节目

  • @user-cb2or9er4e
    @user-cb2or9er4e 3 года назад +4

    请问李老师,为什么y最后要mod P得到z?A直接把一串y发送给B,B检查yj是等于X还是不等于X(即等于X+1)就能判定结果了,这个质数P以及取模在整个过程中的意义是什么呢?

    • @shijiec
      @shijiec 3 года назад +2

      mod P抹除了A给出的10个数的原始信息。阻止B用这10个数暴力破密码,获取A的具体财富值。虽然不可能破开,但是零知识的要求就是,多余的信息一概不给。

  • @ruiyanma3048
    @ruiyanma3048 Год назад +1

    工资问题:A选一个大数X,将X+A工资的结果传给B,B在这个数的基础上加上自己的工资再传给C,直到所有人都在这个数上加上自己的工资然后再返回给A,A再减去自己选好的这个大数,就知道平均工资了

    • @nlnlgoodbb
      @nlnlgoodbb Год назад

      若是只有AB二人的話此法不適用吧

  • @SL-oh8rq
    @SL-oh8rq 3 года назад +23

    最后一题工资问题。每个员工拿三张纸,把工资随意分配在三张纸上,但是三张纸加起来等于自己的工资。然后所有的纸加起来再除以员工人数。

    • @user-xf6hb6fu5f
      @user-xf6hb6fu5f 3 года назад +2

      你这个有问题,三张纸给谁,给谁谁就知道你工资了,老师的意思是可以把自己的工资加密数据给任何人,然后别人也不知道你多少工资,但是却能计算出来平均工资,你这个明显不能解决老师的问题

    • @jiaminzhu406
      @jiaminzhu406 3 года назад +2

      @@user-xf6hb6fu5f 三个人的话,分成三份以后,自己留一份,剩下的每人发一份。全部完成以后,每人有三份,分别来自三个人。各自加起来,公布出来,再全部加起来就行了。如果是n个人,就分成n份。你来想想ok么,哈哈。

    • @SL-oh8rq
      @SL-oh8rq 3 года назад

      @@user-xf6hb6fu5f 很难解决吗?所有人叠起来放在盒子里不就好了。。。

    • @SL-oh8rq
      @SL-oh8rq 3 года назад +2

      @@user-xf6hb6fu5f 把自己的工资随意分成三份本身不就是一个简单的加密过程吗?为何非要纠结于写在纸上给别人看?自己的三张纸甚至可以分开交给其他员工,然后所有员工手里的纸加起来不也是等于总工资。思维不要太局限。

    • @jiaminzhu406
      @jiaminzhu406 3 года назад

      @@SL-oh8rq 如果可以有一个公共的可信的盒子,这个问题就太容易了。根本不用每个人分成三张纸了,每个人一张纸放到盒子里就行了。问题的困难在意每个人都只相信自己的计算。

  • @dlist9080
    @dlist9080 3 года назад +4

    以后漫威宇宙里会有个新boss叫李永乐老师,李永乐老师有个铃铛🔔,铃铛一响,全宇宙中有一半的人就会开始听老师讲课。

  • @hiroomishin6883
    @hiroomishin6883 2 года назад

    正在做隐私计算!李老师讲的特别好!

  • @alexoolau
    @alexoolau 3 года назад

    可以用天平来解决这个问题。A富翁i 克重球放入一个暗盒x,B富翁放j克重球放入一个等同重量的暗盒y。然后把暗盒x,y,放到天平上。立刻就知道谁更有钱,但不知道具体数字。

  • @pilotsailor5928
    @pilotsailor5928 3 года назад

    李老师,您好,我是一名航空公司的飞行员,机型波音737-800,公司最近一年要求起飞一直到落地一直打开气象雷达,雷达始终有辐射,我们一年飞行大概在800-850小时,大家都很担心对身体有影响,但苦于材料资料很少,麻烦您能给科普一下,谢谢~

  • @ZhainanAde
    @ZhainanAde 2 месяца назад

    很簡單啊,每個人把工資寫在紙上並投到一個箱子裏,然後把箱子搖一搖在一個個取出來相加除以人數

  • @maxbin816
    @maxbin816 3 года назад

    李老师说的这样详细,我除了开始得例子外后面既然还是没听懂,愧对李老师。

  • @Freebi692
    @Freebi692 3 года назад

    可以这样,有多少员工就弄多少张连续的号写在纸上,然后随机抽取,看自己抽到多少就用工资减去号值的n倍,写在另一张纸上,两张纸全都统一收集起来,最后再计算总数就可以得到平均值

  • @HapZungLam
    @HapZungLam 3 года назад +3

    我選擇藝術這行業是對的,數理這麼複雜的就有勞李Sir了

  • @vincent-uh5uo
    @vincent-uh5uo 3 года назад +10

    李老师现在学坏了,每次都留思考题🤔

  • @leonyin3237
    @leonyin3237 3 года назад

    可以这样,每个将自己的工资分成N份,N可以是任何自然数,然后自己留1份,其余的分发给其他人(想分几人给谁都可以),最后大家各自将自己手中的数字加起来,然后再一起公布(这样所有人都不知道其他人的工资),最后除以人数,得到平均工资。(每个人分成的份数N,每份所包含的大小,和给谁给多少人,都是每个人自己随机的。)

  • @zgh-mb5ev
    @zgh-mb5ev 3 года назад +13

    我还以为李永乐老师要叫我们怎么隐藏财富呢

  • @sylviowei1971
    @sylviowei1971 2 года назад

    假设有N个员工,每个员工工资为Wi,取一个大数X(远大于所有Wi),每个员工X张卡片,每个人在自己的卡片上只写0和1,1的个数为自己的工资数,然后将卡片顺序打乱,背面朝上。准备X个袋子,从第一个袋子开始,每人放入一张卡片,放入后封好摇匀,以此类推。最后得到X个袋子,每个袋子中N张卡片。然后再将袋子顺序打乱。最后全部拆装,数写有1的卡片的个数即为所有人的工资总数(也可以每个袋子先单独求和再加总)。 比较简单的方法,就是有点费卡片和袋子。 如何用比较专业的安全计算术语描述,大家可以集思广益哈

  • @無相轉生
    @無相轉生 3 года назад +1

    李永樂老師.可以幫我一個忙嗎.我的小孩問我中國的東風導彈可不可以擊沉或是打穿美國航母...你可以用物理學計算結果嗎...假如彈頭重500公斤或是1000公斤.飛行高度為60公里...可以打穿航母嗎...或是老師你有自己的想法也可以告訴我.謝謝你,公式是不是用F=MA來計算力量.再來看看能不能打穿厚度60公分的鋼板.

  • @aircon-clean-master
    @aircon-clean-master 3 года назад +57

    能把加密原理說得那麼好懂的也只有李老師了

    • @jason_huang
      @jason_huang 3 года назад

      你确定你听懂了?

    • @azite7103
      @azite7103 3 года назад

      黄沃池 就算一开始听不懂,多看几遍多想想也是很容易弄懂的

  • @BruceLee-pm3hs
    @BruceLee-pm3hs 3 года назад

    仿照箱子的方式:A生成一个大小是10的数组,遍历数组,如果当前索引值小于财务值,当前索引存入0,否则存入1。然后把数组发给B,B根据自己的财富值选一个元素出来发给A,A使用私钥解密。 实践上也是可以的吧?

  • @user-wg6rd4xh3t
    @user-wg6rd4xh3t Год назад

    第一个人随机想一个数x,加上自己的工资a后把结果(a+x)告诉第二个人,第二个人把自己的工资b加上上述结果后(a+b+x)传递给第三个人,依次传递结束后,把相加结果交给第一个人,第一个人把仅仅自己知道的x减去后,求平均。

  • @ahyang6666
    @ahyang6666 3 года назад +3

    看完後表示:十個箱子那個方式比較簡單啦~~~😄

  • @samedontknow
    @samedontknow 3 года назад +2

    前提是最後取餘數的P不能太小,否則z數列會有很多重複的數

    • @zqfeng7146
      @zqfeng7146 3 года назад +1

      有重复的数也没关系,B只需要找他对应的数来验证呀

  • @huigaochina
    @huigaochina 3 года назад

    这个比较方法有一个漏洞,因为其中有一个步骤,D(K)= X,A 可以遍历每个可能 X 的E(X)- N + 1 的可能,也就是作 N*N 次计算,然后比较哪个与 m 相等,就可以知道 j 的数值。

  • @enight13
    @enight13 3 года назад +1

    先將員工編號為1~J , 自己選一個大數 X,將 X 加上自己薪水後,以員工 j 的公鑰加密傳出去,第 j 員工收到後解密 X 並加上自己薪水,然後以 j+1 員工的公鑰加密 X 傳出,以此類推,最後輪回到自己,將值解密 減去X 再除以J 即得平均。

    • @enight13
      @enight13 3 года назад +1

      再來一個更安全複雜的解法,先將員工編號為1~J ,每個人將自己薪水加上一隨機大數 Xj 後,任意拆成 J 份,再將其中 J-1 份發送給其他員工,自己留一份;然後將自己這份與其他員工傳來的 J-1 份相加後,減去 Xj;最後每個人將自己的值公開,並相加求平均即可。如此要有 J-1 員工串通才能知道某個人的薪水。

  • @user-vv6rq1de5d
    @user-vv6rq1de5d 3 года назад +1

    最後的問題很簡單啊,每個人發一張一樣的紙,寫下自己的工資,對折或是封起來之後一起丟入一個箱子裡混一混。大家再一起打開加一加平均就行了吧?

    • @user-vv6rq1de5d
      @user-vv6rq1de5d 3 года назад

      @@user-fl3bz2bl7r 兩個人的命題不成立啊,你求出一個平均值,你也知道自己的,那你一定知道對方的

    • @johnlin7439
      @johnlin7439 3 года назад +1

      另一個情形是打開時發現每張都寫著 22k,就同時洩漏了所有人的工資

  • @nickyu3760
    @nickyu3760 3 года назад +2

    瞌睡着听完了,刚讲完就醒了,好神奇

  • @user-un9ed5hy4s
    @user-un9ed5hy4s 2 года назад +1

    看了五遍花了兩個小時思考, 終於悟了
    1.不管是富翁A的i億/富翁B的j億, 都藏在數列的第i/第j位數, 跟數字本身無關
    2.富翁B只要認準第j位數, 去判斷他的餘數是否有+1即可, 不知道富翁A用哪個質數也沒關係, 盼正沒幾個質數, 都除一遍就是
    3. 不了解取Mod的作用何在, 直接拿數列2(取Mod之前的數列)來做後續的富翁A+1不也是一樣的嗎?

  • @zen36158
    @zen36158 3 года назад +3

    可是我不明白为什么需要取模的步骤,为什么A不能直接解密k-j+1后直接在自己的财富后面加上1,然后发给B,B看X有没被+1不就知道了吗?B不会解密, 那么就算除去求模的步骤,B也不会知道y1到y10有多少个数被加一了不是吗?

    • @ruohongzhang7245
      @ruohongzhang7245 3 года назад

      如果不取摸,B可以把这些数据encode,然后这样B可以知道A的财富

    • @zen36158
      @zen36158 3 года назад

      @@ruohongzhang7245 encode...?

    • @Allen7575
      @Allen7575 3 года назад +1

      ​@@zen36158 因為其實還有最後一步,B 要把 X mod P 的結果送回給A,然後A再看這個數是出現在+1前還是+1後的數列中,這樣A才可以知道結果。如果不mod P,那麼B要怎麼讓A知道結果呢?不能把X告訴A,這樣A就知道B的財產了;也不能由B告訴A誰比較有錢,因為說不定B發現A比較有錢,心裡不服,就說謊告訴A說B比較有錢,而A無法驗證B的說法。而X mod P 的結果是可以驗證的,就算後來B因為不服而竄改 X mod P 的結果(或者遭到駭客攔截竄改),A接收到竄改的結果後,有很大的機率這個結果不會出現在 Z 中(如果P很大的話),這樣A就知道結果被竄改了。A可以要求B再送出一次X mod P的結果,這個結果一定要出現在Z中,如果一直都不出現就太可疑了。所以這個方法能夠避免其中一方知道結果後,另一方被竄改的結果誤導的可能性。

  • @fanhe5523
    @fanhe5523 3 года назад

    有些疑惑的地方 --
    1. 既然A知道B用呢是一个大数,那么可以通过观察y1 - y10哪个是大数来推测j是多少吗?
    2. 在最后一步B检查的时候,需要知道A使用的质数P,那B是怎么知道P是什么的?

  • @seanli4415
    @seanli4415 3 года назад +1

    员工为 A1, A2... An, 对应工资S1, S2...Sn,
    A1 生成只有自己知道的随机数 X 然后 在纸条上写下E1的值 (E1=X + S1)然后把纸条给A2
    A2 传 E2 = E1 + S2 给 A3
    Ai 传 Ei = E(i-1) + Si 给 Ai+1
    最后 An 传 En 给 A1, A1 算出(En - x)/n 即平均工资
    每个人只收到之前人工资的总数加上自己不知道的随机数, 所以不知道之前的每个人具体工资是多少。为防止有人监听连续两次传递的值 Ei 和 E(i-1) 反推Si = Ei - E(i-1),每一此传输可以用Rsa加密,只有Ai可以解密E(i-1).

    • @zen36158
      @zen36158 3 года назад

      如果A1问A3 E2是多少,那么A1就能算出A2的薪水,以此类推就能算出全部人的薪水

    • @seanli4415
      @seanli4415 3 года назад

      @@zen36158 有道理,我觉得限定条件应该是每个人不主动暴露自己的隐私吧, 不然A3可以直接问A1 随机数x是多少

  • @eikirin5938
    @eikirin5938 3 года назад +1

    李老師講解的內容,聽起來能解密的還是只有A,B沒辦法靠單方面比較出誰錢多?

  • @binaryni
    @binaryni 3 года назад +1

    解释得真好!不过最后应该先加1再模p,不然就有可能暴露i的信息

  • @zachhua7704
    @zachhua7704 3 года назад +8

    这个算法真的很巧妙啊

  • @stefanohu4747
    @stefanohu4747 3 года назад +3

    这可能是我唯一个得多看几遍才能看得懂的视频

    • @wandademolition
      @wandademolition 3 года назад

      那请问这个问题就是让B 得到答案的。那A 呢? A怎么知道B比自己多还是少?

    • @WTF_howareyou
      @WTF_howareyou 3 года назад

      @@wandademolition B得到答案在告訴A

  • @成超-o1j
    @成超-o1j 3 года назад +1

    第一个人选择一个大数x,并在纸上写下x + a_1的值,其中a_1是自己的工资。之后依次把纸条传给每一个人,每个人把纸上的数字更新成他/她看到的值再加上自己的工资a_i的结果,并把看到的原始的数删去。当最后一个人完成后,把纸条还给第一个人,第一个人减去自己选择的x之后,就可以知道大家总工资是多少了。

    • @user-fl3bz2bl7r
      @user-fl3bz2bl7r 3 года назад +1

      這樣x是可以被第一人以外的人知道的:最後一人知道總工資加x,只要把最後算出來的平均工資乘總人數就知道總工資,相減得出x。再把x告訴第二個人,第二個人拿到第一人的紙時上面的數減x,就知道第一個人的工資。把第一個人的工資和x告訴第三個人,也知道第二個人的工資,如此類推。

    • @成超-o1j
      @成超-o1j 3 года назад

      @@user-fl3bz2bl7r 那就别拿纸条了呗,做到电子化,每个人只给个输入窗口就行了。至于这种互相沟通的问题我觉得本身在问题假设里就不会被考虑。否则就相当于在说互相交流自己的私钥是什么一样。

  • @yongzhang280
    @yongzhang280 3 года назад +1

    思考题:n个人每个人把自己的工资随机分成n份(可以是负数,也可以是极大数),随机投入第n个箱子,每个箱子只有一个人能打开,然后所有人依次打开自己的箱子,将箱子里的数据求和,再求所有箱子总合,除以n,得到平均数

    • @minispirit
      @minispirit 3 года назад +1

      你这是匿名公开自己工资。理想的是每个人只公开自己工资运算过的结果

    • @yongzhang280
      @yongzhang280 3 года назад

      @@minispirit 你说得对,我表述的有欠缺,箱子的钥匙不能公有,一个人一把钥匙对应一把锁才对。

  • @KL13923j
    @KL13923j 3 года назад

    每個員工都將工資寫在紙上,再放到一個大袋子裡 ,然後隨機洗牌。最後抽出紙張並加起來,再除以人數,得出平均工資。

  • @Nayutaisii
    @Nayutaisii 3 года назад +1

    工資平均問題昨天剛和小夥伴討論過。
    從我開始,我把自己的工資加一個隨機數,然後單獨告訴第二個人。
    第二個人加上自己的工資數單獨告訴第三個人
    以此類推
    最後一個人加完自己的工資數把數字告訴我
    我減去那個隨機數,再除以人數。

  • @idicivik
    @idicivik 3 года назад

    每個人都隨機選擇一個大數,將薪水隨機擷取一部分,剩下的加上大數隨機分配的吿訴其他人;所有人將從其他人得來之數字總和加上自己擷取的那部份減去自己選出的大數之結果公開, 將所有公開之結果加總除以總人數即是平均值

  • @user-eq5kd9xr2z
    @user-eq5kd9xr2z 3 года назад +5

    隐私的问题不应该都交给个人来处理,这种事情应该主要要政府还有在社会构建时候就需要负起责任来,在法律设计上。个人力量太弱太弱了,保护隐私是很难的而且是不够的。同意的帮忙点个赞!其实我想做一期节目谈谈隐私为什么重要?从逻辑和科学角度全面谈谈为什么我们需要保护隐私,希望大家支持

    • @dogofegg
      @dogofegg 3 года назад +1

      極權國家哪來的隱私,朕要的,你不能不給,朕沒給的,你不能要。

    • @user-eq5kd9xr2z
      @user-eq5kd9xr2z 3 года назад

      @@dogofegg 但是每个人还是有必要知道隐私为什么重要,知情权是有的

  • @siuchan534
    @siuchan534 3 года назад

    不記名的將工資數放入同一個箱,然後一齊加起後平均,只有自己先知自己是高於或低於平均值

  • @shihu1059
    @shihu1059 3 года назад +1

    李老师讲讲杂交水稻的原理吧,借此也缅怀袁老

    • @amitofou88
      @amitofou88 3 года назад

      今天出视频了,会分两集

  • @somkingq
    @somkingq 3 года назад +6

    老師 最近伙食不錯啊 心寬了

    • @user-eq5kd9xr2z
      @user-eq5kd9xr2z 3 года назад +2

      就一直盯着人家肚子的游泳圈😂😂😂

    • @Fouatass
      @Fouatass 3 года назад +1

      選擇吃白米飯配紅燒肉

  • @linzhang2289
    @linzhang2289 3 года назад +2

    姚期智也好厉害哦

    • @jwhe1991
      @jwhe1991 3 года назад +1

      是的 感觉很牛😃

  • @steven9617
    @steven9617 2 года назад

    只要先生成一组平均数为0,方差特别大的公开的数,数量等于人数,每个人不重复地选走其中的一个再加上工资输入累加器,最后求平均数就可以了

  • @bobohow6335
    @bobohow6335 3 года назад +9

    剛看完影片的我:我看懂了!
    打開下一個影片的我:我剛剛看了什麼來著?

  • @lipingliu7558
    @lipingliu7558 3 года назад

    感谢李永乐老师科普!非常喜欢您的频道,有趣又长知识。这次的视频有点疑问,是不是12分41秒左右口误了说反了?😁

  • @user-tp6bl
    @user-tp6bl 3 года назад +9

    富人们隐秘自己财产的方法真的是科学~~~

  • @user-zp4dx6zt3h
    @user-zp4dx6zt3h 3 года назад +1

    李老师头脑中的知识太多,溢出并下沉,目前已经下沉到腹部 :P

  • @philipha9104
    @philipha9104 3 года назад +8

    解密这两个字的板书我没有私钥根本认不出来

    • @oldhow2294
      @oldhow2294 3 года назад

      害的我又回去看了下视频

  • @Brokenrose
    @Brokenrose 3 года назад

    关于这个公司平均薪资问题,我也在筹。平均比较好。就是拿公司薪资开支除以人头就好了。但是老板会说他一个人拉高平均(咱们小公司),中位数才有代表性。算中位数才是比较难。

  • @aahallo5450
    @aahallo5450 3 года назад +1

    先点赞再看一定不会错

  • @leoxing9569
    @leoxing9569 3 года назад

    每个员工准备两张纸条,一号纸条写工资加上一个数x,二号纸条写自己的x是多少 然后一起扔进投票箱 当所有人都投完票之后 用一号纸的总和减去二号纸的总和再除以员工数

  • @Headphones.on.Seals.
    @Headphones.on.Seals. 3 года назад

    清晰明了,感谢老师的讲解

  • @nosuchgreatlife
    @nosuchgreatlife 3 года назад

    有个问题并没有在视频里解答,请教:
    当A推导出来Y1、Y2...Yj...Y10的时候,为什么不直接把这个数列发送给B,B就可以直接看Yj是否等于X就可以了?多推导一步求模,在李老师的讲解里听起来有些画蛇添足,因为B还要对X再求模,而听起来求模的方式、P值都是A和B共同知道的,这一步听起来是完全可以省略的。求解答,感谢!

  • @timemachine9405
    @timemachine9405 3 года назад

    我觉得这个方法可以增加某些数据的透明度,又不泄露隐私,我觉得可以用于建立真正的公有制公司。

  • @doreamleo4017
    @doreamleo4017 3 года назад

    我说一个可操作的方法吧,每个人把自己的工资分成两个可相加的数,可以有正有负,写在纸条上。其中一张纸条随机送给另外一个人。每个人把手中的数据相加。提交数据。