V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vision1900
V2EX  ›  信息安全

关于非对称加密

  •  
  •   vision1900 · 2020-12-31 23:32:44 +08:00 · 4170 次点击
    这是一个创建于 1427 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前只是模糊的知道 SSH 和 SSL 证书都利用了非对称算法,有公钥匙和私钥,公钥加密只能私钥来解,反之亦然。也听过 RSA, SHA256, 数字签名,身份认证之类的名词,但是一直没有搞懂其背后的原理。

    趁着 2021 还没有来,看了个相关的视频,感觉清楚多了。分享一下:

    https://youtu.be/ipQrwfKTH_4?list=PLAeUiPnAYPB4RFPYftNz6rDFhgdmTB0_o

    18 条回复    2021-01-15 09:34:57 +08:00
    lululau
        1
    lululau  
       2021-01-01 00:12:19 +08:00 via iPhone
    少侠留步,公钥加密只能私钥来解,反之可不是亦然
    Kasumi20
        2
    Kasumi20  
       2021-01-01 00:16:36 +08:00
    我也不懂呀, 为什么私钥可以解密使用公钥解密的数据, 而无法从公钥推出私钥呢, 只能说数学太伟大了
    kernelpanic
        3
    kernelpanic  
       2021-01-01 00:20:22 +08:00
    leimao
        4
    leimao  
       2021-01-01 00:25:50 +08:00 via iPhone
    stevefan1999
        5
    stevefan1999  
       2021-01-01 01:32:15 +08:00   ❤️ 1
    非對稱加密通常最重要的一個特徵: compose(E(k1), E(k2))(msg) = compose(E(k2), E(k1))(msg)
    所以其實本身沒有分公私匙的 這是人定的

    而非對稱加密通常都是依賴生成容易 (逆向)破解困難的套路 都依賴了一些至少 NP-Hard 的問題(沒有最優解除非 P=NP 或者在現實中現代電腦力能所及的)

    譬如 RSA 本質是透過模運算和質數混合再分拆 而生成質數十分容易(AKS 質數測試) 所以要破解是可以找到兩條以上相容的質數,也就是另一條「公匙」(把只有兩條匙的前提打破了)就能作私匙
    但這找出來的問題(似乎)是 NP-Complete (未有共識)的還是難破解 RSA 獎證明至少 1024 位被傳統電腦破解了只不過 RSA 公司最終都取消了 因爲量子電腦的框架下整數分解是屬 P 問題的 就是沒那麼複雜的意思

    然後 ECC 橢圓曲線就是依賴橢圓曲線的特性(還有 RSA 提過的模運算和群論 域論之類) 譬如說什麼橢圓上一個點加另一個點是他們的切線之類 這裡需要動用大量純數 /分析來證明 而這裡其實是數學 mphil/phd 程度的課程所以我這輩子是不可能懂的 總而言之破解他的問題好像是叫離散對數問題 是 NP-Hard 的 知名的 curve25519/x25519 就是 ECC 的一種
    stevefan1999
        6
    stevefan1999  
       2021-01-01 01:32:49 +08:00
    @Kasumi20 可以 你足夠算力算一萬年即可破解一條 key
    ryd994
        7
    ryd994  
       2021-01-01 02:34:45 +08:00 via Android
    @stevefan1999 实际实现上,公钥的其中一个因子一般取 65535,所以只要有私钥,很容易求出公钥
    chinvo
        8
    chinvo  
       2021-01-01 03:04:29 +08:00 via iPhone
    @ryd994 #6 实际上从私钥“求”公钥,目前通用实现靠的是私钥文件里面有完整的公钥信息。私钥里同时有 p q e 等参数
    Batmannnn
        9
    Batmannnn  
       2021-01-01 08:06:36 +08:00 via iPhone
    jingniao
        10
    jingniao  
       2021-01-01 08:34:30 +08:00 via Android   ❤️ 1
    要看算法
    rsa 公私钥 地位等同,都可加密对方解密,私钥推公钥是私钥文件有必要信息而公钥文件没有。
    椭圆曲线公私钥地位不对等,只能私钥加密公钥解密,私钥推公钥是已知曲线 x 坐标求 y 坐标
    hatebugs
        11
    hatebugs  
       2021-01-01 09:29:56 +08:00 via Android
    @Kasumi20 系统的学一下密码学就行了。
    OldActorsSmile
        12
    OldActorsSmile  
       2021-01-01 12:12:15 +08:00
    李永乐老师讲的非对称加密也不错
    ljiaming19
        13
    ljiaming19  
       2021-01-01 13:20:35 +08:00
    话说 ssh 非对称加密用 RSA4096 和 ECC256 在对抗暴力破解哪个更好 RSA4096 密钥长度更长是不是如果靠猜更难破解
    YouLMAO
        14
    YouLMAO  
       2021-01-01 13:34:13 +08:00 via Android
    我们今年主推 elliptical curve
    tubowen
        15
    tubowen  
       2021-01-01 16:38:01 +08:00
    建立在 数学的素数,同模的一些理论上面的,数学不好,大学学密码学晕乎乎的
    ygb8745
        16
    ygb8745  
       2021-01-09 01:09:26 +08:00
    @jingniao 是公钥加密 私钥解密吧
    jingniao
        17
    jingniao  
       2021-01-09 08:10:39 +08:00 via Android
    @ygb8745 恩好像是反了🤣🤣🤣
    testcaoy7
        18
    testcaoy7  
       2021-01-15 09:34:57 +08:00
    NIST 正在评估量子抵抗(能抵御量子计算机的攻击)的加密算法
    比如 Dilithium

    Dilithium is a digital signature scheme that is strongly secure under chosen message attacks based on the hardness of lattice problems over module lattices.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3157 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:00 · PVG 22:00 · LAX 06:00 · JFK 09:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.