有人用过国密算法吗,它有哪些好处?

2020-11-02 09:15:14 +08:00
 James369
国密算法就是国产加密算法,也分为摘要算法、对称算法、非对称算法。
但实际工作中基本都没有用到,不知道它的用处和优点是什么?
21189 次点击
所在节点    程序员
145 条回复
liangfei
2020-11-02 22:43:35 +08:00
@OATAO 我想你说的应该是王小云院士
(老师第一节课就讲她,所以印象很深,05 年理论破解 MD5 、SHA1,后 Google 实现证实,感兴趣的话可以搜一下)
2kCS5c0b0ITXE5k2
2020-11-02 22:56:52 +08:00
那么在意隐私的 V2er 居然对美国人那么放心。 果然是为了反对而反对啊
learningman
2020-11-02 23:14:39 +08:00
话说。。。我一直以为 RSA 这些算法都是公布所有细节的来着
不是说现代加密算法都是披露细节的吗
jim9606
2020-11-02 23:54:55 +08:00
SM2 签名算法没啥问题,强度接近 NIST P-256 ECC,后者是目前主流的 ECC 算法标准,但因为 NIST 并没有为 P-256 曲线参数的来历给出很合理的解释,被认为可能存在弱点(也就是没实锤)。SM@拿来替换 RSA 是没问题的,

不过如果没什么兼容和合规需要,直接用 Curve25519 最好,现在任何新系统都不应该考虑使用 RSA 。

@learningman 只是那家 RSA Security 公司的产品有问题。至于 RSA 算法本身,弱点是找了一大批了,例如弱密钥(就是部分生成的密钥对达不到与其长度匹配的强度),都不算致命问题。
iugo
2020-11-03 00:13:31 +08:00
我一直认为加密算法什么的, 你觉得不好就改, 无可厚非. 但开源做了这么久, 无论是对称加密还是非对称加密, 一些流行的算法及实现本身应该是不存在后门的.

有人给出所谓美国产加密方案存在后门的石锤, 我去看了新闻, 我没找相关维基解密的原文, 但从新闻可知, 是 NSA 新创了一个小众加密方案, 让权威组织认证为安全, 再让大家去用而已, 并非我们使用的主流加密方案(可能大多数与美国公司有关)有后门. (RSA 目前在全球拥有 8000 万客户, 而超过 500 家公司在逾 1000 种应用软件安装有 RSA BSafe 软件, 8000 万客户, 有 500 家安装了包含后门的软件)

并没有证据说明有主流的标准化的加密方案存在后门. 因为加密的数学原理其实挺简单的, 除非有人在数学上有所突破但藏着掖着, 否则不能说有后门.

国内有自己的加密算法也无可厚非, 就像如果国家队在 GitHub 上开个 fork 也是很正常的. 但数学原理应该也是一样的. 私有加密方案的确更安全, 虽然价格过高让人觉得有猫腻.

当初与 react 的协议不满, 有人(Google 工程师)开了 preact. 主打更加开放的协议和轻巧高效.

既然主题讨论国密优点, 我觉得如果有人能拿出科普文或者 benchmark 来分享一定会对大家都许多帮助.

我目前看大家的讨论, 除了政府项目是刚需, 觉得国密也没什么好处, 就是另一种选择罢了. 在普通的应用场景下, 我更愿意使用流行的库.
snw
2020-11-03 00:14:01 +08:00
@xuanbg @wangxiaoaer
关键词:Dual_EC_DRBG
公开的算法藏后门并没什么稀奇的。尽管 NIST 和 NSA 并未承认后门,但这个算法确实被发现存在安全缺陷。
VeryEase
2020-11-03 00:19:08 +08:00
美国对加密算法有出口管制, 国外组织如果要使用需要先查询是否在管制列表,如果在列表内需要向美国申请备案。国内如果是重要领域的加密算法怎么也得自己搞一套,不然被制裁了还是得自己造个轮子。这就是国密的好处之一了。
feather12315
2020-11-03 00:21:08 +08:00
密码学算法的开源实现,比如 OpenSSL 、libressl 、gnutls,那么多人 /公司盯着,有漏洞绝对是一个大新闻,前几年 OpenSSL heartbeat 这种都是一个轰动性事件,更别提原理上的了。

早期 des 是可能存在后门,因为 s 盒数选取的不透明( IBM 设计),但现在的 AES 、RSA 、ECC 这种,开源的实现不可能存在基础上的漏洞。

拿 RSA security 公司说事的,它用的是公开的实现不?
密码学的安全从来不建立在闭源实现上。


至少短期,用国密就是没事找事,没有芯片做硬件加速,没有软件做优化,性能在这摆着。
wdlth
2020-11-03 00:22:06 +08:00
SM2 就是 ECC 椭圆曲线算法,只不过参数不一样,用 ECC 的库将 SM2 的参数放进去就是 SM2 的实现。
SM4 是对称加密算法,不过设计的轮函数执行次数比较多,性能相比 AES 较慢,现在有通过仿射变换调用 AES-NI 指令加速的方法。
feather12315
2020-11-03 00:22:07 +08:00
@iugo #85 私有加密方案不是更安全,恰恰想反。
wdlth
2020-11-03 00:25:26 +08:00
@wdlth 仿射变换应该是投影变换。
liveoppo
2020-11-03 00:31:28 +08:00
那个公开算法有美国后门的传言难以置信。算法这个是数学问题,我能肯定的是美国相关密码部门的数学家不可能强过此外全世界的数学家。
liveoppo
2020-11-03 00:33:06 +08:00
@VeryEase

算法怎么可能限制?限制的是实现算法的软硬件
mtrec
2020-11-03 00:33:13 +08:00
@liangfei 应该是找到碰撞 并不是破解
huiyifyj
2020-11-03 00:33:54 +08:00
评论有些评论挺不错,但是有些一开口就阴阳怪气就真无语
snw
2020-11-03 00:45:10 +08:00
@feather12315
Dual_EC_DRBG 的缺陷是算法本身问题,不是实现的问题。这个算法是公开的且后来被标准化。

OpenSSL 即使号称那么多人和公司盯着,heartbleed 漏洞被引入后照样过了两年才被公开。

公开的算法相比封闭算法或许更容易发现缺陷,但不意味着公开的就是安全的。
snw
2020-11-03 01:07:14 +08:00
密码学算法本身的安全性都是基于某个困难问题,该问题以目前已知的方法都无法有效解决,但并不意味着可能存在未知方法可以解决该问题(或者在某种限制条件下显著降低难度)。只是不知道这个“未知方法”是没人知道,还是有人知道但不说...
//一种安全算法可以被证明是安全的,直到它后来被发现是不安全的。
//当然大部分安全算法直到设计应用寿命结束依然是安全的。像 SHA-1 实际碰撞也是用的很多年前的攻击方法。
xuanbg
2020-11-03 01:22:58 +08:00
@snw Dual_EC_DRBG 本身就被很多人批评其不够可靠,有存在后门的可能性。现在都已经被废弃了。这种不可靠的算法为什么一定要去用呢?明明还有其他可靠的算法可用。在密码领域,可靠性永远是第一位的,然后才是强度和效率的平衡。都不可靠了,加密不是形同虚设吗,再快又有什么用?
YvesX
2020-11-03 02:59:48 +08:00
@EIJAM #35
不知道您是从事什么研究的,对于现代密码而言,这些常数是非常重要的。这是一个很基础并广为人知的事情,比如:
https://en.wikipedia.org/wiki/S-box
词条提到 DES 的 S 盒被发现是精心设计的,细小的调整就会显著削弱加密。这个 S 盒就是比随机矩阵的非线性好,但这么关键的构件,却偏偏不公开设计思路。

@liveoppo #92
即使是明明白白的开放源码,OpenSSL 实现时的漏洞也好几次被利用成了筛子而无人修复,更何况密码学算法本身的一些设计无异于“编译”后的结果,即使专家学者不断进行针对性地研究,找到设计中留下的便门难度也是很大的。


我个人认为,当然得做,如果指望大新闻来提供安全性,那就会成为新闻主角国。
最大的问题可能只在于,国密本身与这些算法仍然是相似的,我们不一定真的吃透了。

另外这里很多网友的认知与现实已经脱节了。
对你们很多人而言,什么算法都只是调个库,出了事大不了升个级,DRY 已经写进 DNA 里了,另起炉灶是可耻和没有必要的,等到需要的时候自然而然就发现开源的全面利用了、有风险的自主研发了、有劣势迎头赶上了——怎么可能。看看国产手机出海的情况吧,这算是非常成功的领域了,禁得起 Google 禁运吗?
至于很多人认为的劳民伤财,Gov.采购本来就是一种调控和分配手段啊。谁不知道做事找 BAT 华为会更顺利?在座一定有同仁公司没了官家的订单不能活,难道是这些公司比华为强吗?如果公司垮了饭碗没了,你乐意去华为卷奋斗人吗?
YvesX
2020-11-03 03:00:47 +08:00
很多事情不会因为隔了个太平洋就有所不同,要说花钱对岸更夸张。评价标准应该是一致的,事情最终做成了就算不错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX