为什么密码必须要用到大素数 - V2EX
fyyz

为什么密码必须要用到大素数

  •  
  •   fyyz Mar 22, 2016 via Android 6676 views
    This topic created in 3713 days ago, the information mentioned may be changed or developed.
    这是看到最近的某帖子的疑问。
    经常看到素数与密码有关,但是不是很懂为什么素数与密码有这么深的关系,而且我也只知道现代的密码是通过分解大素数实现的,至于为什么要用大素数,也不是很懂。
    23 replies    2016-03-24 10:09:58 +08:00
    ffffwh
        1
    ffffwh  
       Mar 22, 2016 via iPad
    RSA 的实现,阮一峰有篇拾人牙慧的,还不错
    UnisandK
        2
    UnisandK  
       Mar 22, 2016
    RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易但是想分解它们的乘积却极端困难,因此可以将乘积公开作为加密密钥
    vanxining
        4
    vanxining  
       Mar 22, 2016
    将所有不太大的素数都乘一遍不就行了?
    chrishine
        5
    chrishine  
       Mar 22, 2016 via Android   1
    一个问题的逆问题是难问题。
    大数可能的解空间会非常大,素数是因为素数本身的性质。
    fashioncj
        6
    fashioncj  
       Mar 22, 2016 via iPhone
    @< href="/member/vanxining">vanxining n 方
    7timesonenight
        7
    7timesonenight  
       Mar 22, 2016
    简而言之:
    问:“你说你的加密算法安全, 凭什么?”, 答:“基于数学的 xxx 不可解问题”
    YUX
        8
    YUX  
    PRO
       Mar 22, 2016 via Android
    因为对于大数的因数分解在目前是困难的
    这一现状可能会在数论有相关重大突破后改善
    SoloCompany
        9
    SoloCompany  
       Mar 22, 2016
    @vanxining 本来想类比一下的,还是直接丢一个 wiki 吧 https://zh.wikipedia.org/wiki/%E7%A7%80%E7%88%BE%E6%BC%94%E7%AE%97%E6%B3%95
    bombless
        10
    bombless  
       Mar 22, 2016 via Android   1
    其实很多密码系统用的不是数论而是代数。
    不过非对称性加密似乎确实都是数论。
    dndx
        11
    dndx  
       Mar 22, 2016
    也不一定,椭圆曲线加密就跟素数没啥关系。
    popil1987
        12
    popil1987  
       Mar 22, 2016
    答案在 @honeycomb 给出的链接的第二部分
    http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
    搜索“那么,有无可能在已知 n 和 e 的情况下,推导出 d ”
    crystom
        13
    crystom  
       Mar 22, 2016
    据说有数学协会给能破解 RSA 的人设了个 100 万美元的奖
    然而假如真能破解,可以赚的钱比 100 万不知道高到哪里去了
    shyling
        14
    shyling  
       Mar 22, 2016
    因为“ 2 个素数相乘容易,分解回 2 个素数不容易”
    amustart
        15
    amustart  
       Mar 22, 2016
    因为基于大素数分解是数学上的一个复杂问题,既然数学家都不能很好解决,那么正好就用在加密上呗
    KKKKale
        16
    KKKKale  
       Mar 22, 2016
    单向陷门函数
    zacard
        17
    zacard  
       Mar 22, 2016
    又学到了。。。
    msg7086
        18
    msg7086  
       Mar 22, 2016
    @SoloCompany 本来以为是什么科普知识还想读一下的,打开看了一眼还是决定关掉搬砖去了。
    Felldeadbird
        19
    Felldeadbird  
       Mar 22, 2016
    瞬间觉得自己遇到硬伤了。自己写的只不过过过家代码。
    Viztor
        20
    Viztor  
       Mar 22, 2016
    “将两个大素数相乘十分容易但是想分解它们的乘积却极端困难”

    本质上是让解出密码的成本大于获取到的信息的价值。比如一个 RSA 可能数百年解开。到时候秘密也不是秘密了。
    minimaluminium
        21
    minimaluminium  
       Mar 22, 2016
    @dndx 曲线是定义在 Z_p 域上的,明显用了大素数
    kkzxak47
        22
    kkzxak47  
       Mar 22, 2016
    没别的就是特别难算,如果你找到别的类似的正向计算容易 /逆向困难的问题也可以拿来做加密的基础。
    dndx
        23
    dndx  
       Mar 24, 2016
    @iF2007 孤陋寡闻了,感谢指出
    About     Help     Advertise     Blog     API     FAQ     Solana     4558 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 71ms UTC 04:06 PVG 12:06 LAX 21:06 JFK 00:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86