RSA 和国密 SM2 一般都应用在什么场景,请大家不吝赐教
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,它的实现是双密钥的,通俗来说是有后门隐患的。 |
2
bokchoys 2019-05-27 09:44:57 +08:00 via iPhone 1
赐教不敢,分享所知的。
SM2 是用来取代 RSA 的,SM2 的安全性和速度都好于 RSA。 为了做到安全可控,有些政务,商用场景会用到 SM2。类似以后的国产操作系统,公钥体制,数据库,芯片等软硬件加密设计。 从最近的贸易战来看,国家必须要有自己的一套加密体制才行…… |
4
allenforrest 2019-05-27 09:47:38 +08:00
@deadEgg 不用 gmssl 有啥好的推荐?自造轮子?
|
5
deadEgg 2019-05-27 09:47:51 +08:00
|
6
deadEgg 2019-05-27 09:49:04 +08:00
|
7
momocraft 2019-05-27 09:50:36 +08:00 1
国密用在需要爱国的时候,RSA/ECDSA 用在其他
|
8
deadEgg 2019-05-27 09:51:45 +08:00
@allenforrest 还有就是 openssl sm2/3/4 的 patch 也已经 merge 进去了
|
9
lcatt 2019-05-27 09:57:18 +08:00
@deadEgg RSA 的 DUAL_EC_DRBG 才是证实了的后门吧。。。当然相比于 gmssl,直接用 openssl 更好。。网安法出来后 SM2 不仅仅是少数部门用了,基本上等保的都要。
|
11
shawndev 2019-05-27 10:31:58 +08:00
需要商密认证的产品,比如军民融合
|
12
reechangs 2019-05-27 10:35:46 +08:00 via Android
sm2 我自己跑的数据,是比 ecdsa 差的...比 RSA4096 略好
|
13
supertan 2019-05-27 11:07:13 +08:00 via iPhone
网银,手机银行
|
14
qwerthhusn 2019-05-27 11:13:21 +08:00
我们用过那玩意,SM1,相当于 AES,CHACHA20,3DES 这一类可逆对称加密。。。那玩意还要连个密码机,密码机其实就是个 3.5 的硬盘上面连个什么芯片,线都裸露在外面,感觉好 low。
BTW,听说,ECC 的 NIST 标准好像有个魔鬼参数,被怀疑是后门。可能 ECC X25519 未来才是主流 |
15
imnpc 2019-05-27 11:33:22 +08:00 1
海关系统用的国密 USB_KEY IC 卡都是
|
16
behanga 2019-05-27 12:03:27 +08:00
https 啊 https->ssl->rsa
|
17
bumz 2019-05-27 12:17:33 +08:00
@qwerthhusn #14 你指 Dual_EC_DRBG 的 P/Q 值?这是一个只有 NSA 自己能证实的后门,但是理论上后门可能,泄露的资料证明 NSA 有此意图
|
18
allenforrest 2019-05-27 13:57:49 +08:00
@deadEgg 谢谢,能 merge 入 openssl 是好事啊,不过只是 merge 了基本算法函数?还是整套数据格式的处理都包括进去了?
|
19
allenforrest 2019-05-27 14:01:46 +08:00
@qwerthhusn 的确,curve25519 是比较 popular 的曲线,sm2 的 sm2p256v1 不知道业界评价如何
|
20
donyee 2019-05-27 14:01:58 +08:00 1
国内银行发行的 IC 卡、小程序乘车码...这两个是我都接触过的,都有使用 SM2 算法
|
21
deadEgg 2019-05-27 14:02:35 +08:00
@allenforrest 因为还是实现还是基于 openssl 框架的,里面都是 openssl 的数据结构,所以数据转化需要自己手动调用一些 openssl 的 base api。
|
22
sdhzdmzzl 2019-05-27 14:03:36 +08:00
@deadEgg 只是基本算法 merge 进去了,ssl 这一套没有进去。所以现在还有 gmssl 和 tassl 这俩支持国密算法的从 openssl 基础上改的 ssl。
|
24
wm5d8b 2019-05-27 21:24:13 +08:00
Bouncy Castle 呢?
|
25
skkk 2019-05-27 22:01:53 +08:00 via iPhone 1
例如:黄金交易所与银行间的线路。
|
26
deadEgg 2019-05-29 14:23:15 +08:00
@wm5d8b BouncyCastle 无论 java 还是 c#版本跑起来的速度都很慢,拿 java 为例,本身它实现大数和 ec 就是基于 java 所以语言问题导致厂商很少使用它,最多教学机构用的多。
顺带吐槽下,bc 的 api 写的也很烂,比 jce 写的还烂 |
27
jkshmyt 2020-08-21 13:35:03 +08:00
8
|