RSA 和国密 SM2 一般都应用在什么场景 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
daijinming
V2EX    程序员

RSA 和国密 SM2 一般都应用在什么场景

  •  
  •   daijinming 2019-05-27 09:28:18 +08:00 8486 次点击
    这是一个创建于 2378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RSA 和国密 SM2 一般都应用在什么场景,请大家不吝赐教

    27 条回复    2020-08-21 13:35:03 +08:00
    deadEgg
        1
    deadEgg  
       2019-05-27 09:44:52 +08:00   4
    RSA 原理是因式分解。
    SM2 是属于椭圆曲线加密范畴,原理是不同的。属于 ECC 派系,但是 SM2 和 ECC 的加解密和签名验签过程也是不同的。
    两者想通的点在于都属于非对称加密。

    现在很多应用场景都会用 ECC 代替 RSA,因为 RSA 需要更长的密钥长度才能达到和 ECC 同样的安全程度(单指时间上计算成本),所以 ECC 会更快。

    SM2 更多用于一些国内的一些特定的部门,你懂的,因为一些特殊的原因。

    目前还没有完整的证明过 SM2 相比于 ECC 的优势(我看到的一些并不够严谨。

    By the way , 谨慎用 gmssl,它的实现是双密钥的,通俗来说是有后门隐患的。
    bokchoys
        2
    bokchoys  
       2019-05-27 09:44:57 +08:00 via iPhone   1
    赐教不敢,分享所知的。

    SM2 是用来取代 RSA 的,SM2 的安全性和速度都好于 RSA。

    为了做到安全可控,有些政务,商用场景会用到 SM2。类似以后的国产操作系统,公钥体制,数据库,芯片等软硬件加密设计。

    从最近的贸易战来看,国家必须要有自己的一套加密体制才行……
    honeycomb
        3
    honeycomb  
       2019-05-27 09:45:59 +08:00 via Android
    @deadEgg gmssl 就是为了双密钥可以搞事情而设计
    allenforrest
        4
    allenforrest  
       2019-05-27 09:47:38 +08:00
    @deadEgg 不用 gmssl 有啥好的推荐?自造轮子?
    deadEgg
        5
    deadEgg  
       2019-05-27 09:47:51 +08:00
    @honeycomb

    是的,该作者不好评价,反正商用还得变相给他钱。等于赚了两头钱。

    反正有大数库+EC 库就能自己实现,并不复杂。
    deadEgg
        6
    deadEgg  
       2019-05-27 09:49:04 +08:00
    @allenforrest

    #5, 可以参考下 MIRACL,当然该库的协议商业也需要给钱,可以参考它的大数+ec 实现。
    momocraft
        7
    momocraft  
       2019-05-27 09:50:36 +08:00   1
    国密用在需要爱国的时候,RSA/ECDSA 用在其他
    deadEgg
        8
    deadEgg  
       2019-05-27 09:51:45 +08:00
    @allenforrest 还有就是 openssl sm2/3/4 的 patch 也已经 merge 进去了
    lcatt
        9
    lcatt  
       2019-05-27 09:57:18 +08:00
    @deadEgg RSA 的 DUAL_EC_DRBG 才是证实了的后门吧。。。当然相比于 gmssl,直接用 openssl 更好。。网安法出来后 SM2 不仅仅是少数部门用了,基本上等保的都要。
    deadEgg
        10
    deadEgg  
       2019-05-27 09:59:53 +08:00
    @lcatt 我知道的只要国资、国扶持、和 X 有资金往来的都得用。举个典型例子:曙光
    shawndev
        11
    shawndev  
       2019-05-27 10:31:58 +08:00
    需要商密认证的产品,比如军民融合
    reechangs
        12
    reechangs  
       2019-05-27 10:35:46 +08:00 via Android
    sm2 我自己跑的数据,是比 ecdsa 差的...比 RSA4096 略好
    supertan
        13
    supertan  
       2019-05-27 11:07:13 +08:00 via iPhone
    网银,手机银行
    qwerthhusn
        14
    qwerthhun  
       2019-05-27 11:13:21 +08:00
    我们用过那玩意,SM1,相当于 AES,CHACHA20,3DES 这一类可逆对称加密。。。那玩意还要连个密码机,密码机其实就是个 3.5 的硬盘上面连个什么芯片,线都裸露在外面,感觉好 low。

    BTW,听说,ECC 的 NIST 标准好像有个魔鬼参数,被怀疑是后门。可能 ECC X25519 未来才是主流
    imnpc
        15
    imnpc  
       2019-05-27 11:33:22 +08:00   1
    海关系统用的国密 USB_KEY IC 卡都是
    behanga
        16
    behanga  
       2019-05-27 12:03:27 +08:00
    https 啊 https->ssl->rsa
    bumz
        17
    bumz  
       2019-05-27 12:17:33 +08:00
    @qwerthhusn #14 你指 Dual_EC_DRBG 的 P/Q 值?这是一个只有 NSA 自己能证实的后门,但是理论上后门可能,泄露的资料证明 NSA 有此意图
    allenforrest
        18
    allenforrest  
       2019-05-27 13:57:49 +08:00
    @deadEgg 谢谢,能 merge 入 openssl 是好事啊,不过只是 merge 了基本算法函数?还是整套数据格式的处理都包括进去了?
    allenforrest
        19
    allenforrest  
       2019-05-27 14:01:46 +08:00
    @qwerthhusn 的确,curve25519 是比较 popular 的曲线,sm2 的 sm2p256v1 不知道业界评价如何
    donyee
        20
    donyee  
       2019-05-27 14:01:58 +08:00   1
    国内银行发行的 IC 卡、小程序乘车码...这两个是我都接触过的,都有使用 SM2 算法
    deadEgg
        21
    deadEgg  
       2019-05-27 14:02:35 +08:00
    @allenforrest 因为还是实现还是基于 openssl 框架的,里面都是 openssl 的数据结构,所以数据转化需要自己手动调用一些 openssl 的 base api。
    sdhzdmzzl
        22
    sdhzdmzzl  
       2019-05-27 14:03:36 +08:00
    @deadEgg 只是基本算法 merge 进去了,ssl 这一套没有进去。所以现在还有 gmssl 和 tassl 这俩支持国密算法的从 openssl 基础上改的 ssl。
    deadEgg
        23
    deadEgg  
       2019-05-27 14:06:02 +08:00
    @sdhzdmzzl
    是的,整套的东西还是 gmssl 写的完善,当然它的部分底层也是拿 openssl 来改的。
    wm5d8b
        24
    wm5d8b  
       2019-05-27 21:24:13 +08:00
    Bouncy Castle 呢?
    skkk
        25
    skkk  
       2019-05-27 22:01:53 +08:00 via iPhone   1
    例如:黄金交易所与银行间的线路。
    deadEgg
        26
    deadEgg  
       2019-05-29 14:23:15 +08:00
    @wm5d8b BouncyCastle 无论 java 还是 c#版本跑起来的速度都很慢,拿 java 为例,本身它实现大数和 ec 就是基于 java 所以语言问题导致厂商很少使用它,最多教学机构用的多。

    顺带吐槽下,bc 的 api 写的也很烂,比 jce 写的还烂
    jkshmyt
        27
    jkshmyt  
       2020-08-21 13:35:03 +08:00
    8
    关于     帮助文档     自助推广系统     博客 &nsp;   API     FAQ     Solana     2689 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 13:45 PVG 21:45 LAX 05:45 JFK 08:45
    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