一个数学问题,关于 RSA 里的 e 的问题。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
saranz
V2EX    数学

一个数学问题,关于 RSA 里的 e 的问题。

  •  
  •   saranz 2024-05-19 17:59:58 +08:00 3823 次点击
    这是一个创建于 576 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关于 RSA 里,e 是怎么得出的问题。
    B 站看了半天没看明白……
    也没有一个视频说明的这个 e 怎么来的,搜了半天也没有结果。
    咱这脑子真的不明白……
    请各位数学大师傅给说说个明白呗。

    p= 11, q= 19
    φn= (11-1)(19-1)

    e 取 7 。<== 这个 7 是怎么计算出来的,是随便取的一小于 φn 的质数,还是是经过什么过程计算出来的?
    16 条回复    2024-05-25 18:06:55 +08:00
    adoal
        1
    adoal  
       2024-05-19 18:13:34 +08:00
    理论上随便选都可以。但是随便选的作为幂有可能会导致计算量太大。
    PEM 建议用 3 ,X.509 建议用 65537 ,PKCS#1 建议用两者之一。
    tool2dx
        2
    tool2dx  
       2024-05-19 18:27:36 +08:00 via Android
    数学上无所谓,代码里要用到中国剩余定理,那就只能选特定的 e
    rabbbit
        3
    rabbbit  
       2024-05-19 19:15:17 +08:00
    随便选的
    https://en.wikipedia.org/wiki/65,537

    65537 is commonly used as a public exponent in the RSA cryptosystem. Because it is the Fermat number Fn = 22n + 1 with n = 4, the common shorthand is "F4" or "F4".[3] This value was used in RSA mainly for historical reasons; early raw RSA implementations (without proper padding) were vulnerable to very small exponents, while use of high exponents was computationally expensive with no advantage to security (assuming proper padding).[4]
    rabbbit
        4
    rabbbit  
       202405-19 19:16:07 +08:00
    随便选,条件是 1 < e < λ(n) 并且 e 和 λ(n) 互质
    saranz
        5
    saranz  
    OP
       2024-05-19 19:22:01 +08:00
    @rabbbit 就这个条件完全搞不明白…… 究竟是要计算出来还是随便找个小于 φn 的质数。


    @tool2dx 中国剩余定理?
    rabbbit
        6
    rabbbit  
       2024-05-19 19:34:01 +08:00
    不懂,我以为就是随便选了个质数。
    看看这里,也许有帮助。

    https://en.wikipedia.org/wiki/RSA_(cryptosystem)

    e having a short bit-length and small Hamming weight results in more efficient encryption the most commonly chosen value for e is 216 + 1 = 65537. The smallest (and fastest) possible value for e is 3, but such a small value for e has been shown to be less secure in some settings.
    rabbbit
        7
    rabbbit  
       2024-05-19 19:36:52 +08:00
    谁能讲讲这个 small Hamming weight 的作用?
    saranz
        8
    saranz  
    OP
       2024-05-19 20:04:31 +08:00
    @rabbbit 哎,不仅数学不会,English 还不懂,咱果然不适合研究这么深奥的学问。

    看了半天,我的理解是,一个小于 φn 且是相对小的数。
    但是不知道这是不是正确的理解。
    lDqe4OE6iOEUQNM7
        9
    lDqe4OE6iOEUQNM7  
       2024-05-19 20:14:13 +08:00


    =
    11
    p=11 和

    =
    19
    q=19 ,所以:


    (

    )
    =
    (


    1
    )
    (


    1
    )
    =
    (
    11

    1
    )
    (
    19

    1
    )
    =
    10
    ×
    18
    =
    180
    (n)=(p1)(q1)=(111)(191)=10×18=180
    lDqe4OE6iOEUQNM7
        10
    lDqe4OE6iOEUQNM7  
       2024-05-19 21:07:04 +08:00
    p = 11;
    q = 19;
    n = p * q;
    phiN = (p - 1) * (q - 1);
    e = 7;
    GCD[e, phiN]
    lDqe4OE6iOEUQNM7
        11/span>
    lDqe4OE6iOEUQNM7  
       2024-05-19 21:08:26 +08:00
    验证 7 和 180 互质性:
    gcd(7,180)=1
    saranz
        12
    saranz  
    OP
       2024-05-19 21:10:32 +08:00
    @James2099 所以这个 7 究竟是怎么来的,是随便从小于 phiN 的质数里找一个呐,还是需要计算出来一个质数呐。
    marat1ren
        13
    marat1ren  
       2024-05-19 21:35:15 +08:00 via iPhone
    一般都先从 65537 ,如果 65537 不满足验证条件就从小的质数开始,比如 3 。
    pxiphx891
        14
    pxiphx891  
       2024-05-19 22:14:10 +08:00
    可以看一下这一节: https://datatracker.ietf.org/doc/html/rfc8017#section-3.1

    写的很清楚:「一个有效的 RSA 公钥中,RSA 模数 n 是 u 个不同奇素数 r_i 的乘积,i = 1, 2, ..., u ,此处 u >= 2 ,而 RSA 公钥指数 e 是一个介于 3 和 n - 1 之间的整数,满足 e 与λ(n)的最大公约数为 1 ,其中λ(n) = r_1 - 1, ..., r_u - 1 的最小公倍数。按照惯例,前两个素数 r_1 和 r_2 也可以分别表示为 p 和 q 。」
    jedrek
        15
    jedrek  
       2024-05-19 22:26:56 +08:00 via Android
    234ygg
        16
    234ygg  
       2024-05-25 18:06:55 +08:00   1
    e 随便取的,比 n 小 并且与φn 互素就行了。
    这种算法实际上没啥用,教科书式算法,你会发现 p 和 q 的位数稍微大一点就因数分解不出了。
    如果我没记错的话,p = random_prime(2^(k/2)),这里的 k 到 270 左右就很难解了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4573 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 01:08 PVG 09:08 LAX 17:08 JFK 20:08
    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