首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

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

  •  
  •   daijinming · 199 天前 · 3384 次点击
    这是一个创建于 199 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    26 回复  |  直到 2019-05-29 14:23:15 +08:00
        1
    deadEgg   199 天前   ♥ 4
    RSA 原理是因式分解。
    SM2 是属于椭圆曲线加密范畴,原理是不同的。属于 ECC 派系,但是 SM2 和 ECC 的加解密和签名验签过程也是不同的。
    两者想通的点在于都属于非对称加密。

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

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

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

    By the way , 谨慎用 gmssl,它的实现是双密钥的,通俗来说是有后门隐患的。
        2
    bokchoys   199 天前 via iPhone   ♥ 1
    赐教不敢,分享所知的。

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

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

    从最近的贸易战来看,国家必须要有自己的一套加密体制才行……
        3
    honeycomb   198 天前 via Android
    @deadEgg gmssl 就是为了双密钥可以搞事情而设计
        4
    allenforrest   198 天前
    @deadEgg 不用 gmssl 有啥好的推荐?自造轮子?
        5
    deadEgg   198 天前
    @honeycomb

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

    反正有大数库+EC 库就能自己实现,并不复杂。
        6
    deadEgg   198 天前
    @allenforrest

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

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

    顺带吐槽下,bc 的 api 写的也很烂,比 jce 写的还烂
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4205 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 39ms · UTC 01:44 · PVG 09:44 · LAX 17:44 · JFK 20:44
    ♥ Do have faith in what you're doing.