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

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

  •  1
     
  •   James369 · 2020-11-02 09:15:14 +08:00 · 21003 次点击
    这是一个创建于 1480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    国密算法就是国产加密算法,也分为摘要算法、对称算法、非对称算法。
    但实际工作中基本都没有用到,不知道它的用处和优点是什么?
    145 条回复    2022-03-30 17:10:10 +08:00
    1  2  
    66beta
        101
    66beta  
       2020-11-03 07:17:16 +08:00 via Android
    好处就是,完成了国家布置的任务
    dyv9
        102
    dyv9  
       2020-11-03 08:04:26 +08:00 via Android   ❤️ 1
    @reus 因为有一个法律叫 加密技术出口管制,你能从网上下载的美国的软件包不是最新的版本,比如美国已经用了 4096 位加密,你去下载时只有 2048 位版本,前几年 IBM 网站上下载试用版本的软件就有这个问题,人家直接说因为加密技术出口管制法禁止 IBM 向外国人提供包含了最新版本的加密算法技术的产品。
    lpts007
        103
    lpts007  
       2020-11-03 08:15:36 +08:00 via Android
    @feather12315
    看完你的回复无比难受。

    大新闻比国密强?还短期?你虽然发现不了 openssl 漏洞,但是可以决定搞国密为时尚早?
    CantSee
        104
    CantSee  
       2020-11-03 08:36:54 +08:00
    我们有用到,国际 国密 非对称,是基于银联标准使用的,一般用于银行或者金融类的
    Cbdy
        105
    Cbdy  
       2020-11-03 08:39:43 +08:00 via Android
    美国有密码出口管制,比如 JDK 你用高位数的加密算法,看看能不能加密
    leeg810312
        106
    leeg810312  
       2020-11-03 08:49:31 +08:00 via Android
    @snw 和楼上好几位一样真是很会歪曲概念呢?公开算法有缺陷就是有缺陷了,非说是后门,说误导都是客气的
    neighbads
        107
    neighbads  
       2020-11-03 08:53:51 +08:00
    @Cbdy #105 现在都放开了。高位数的也能用
    tankren
        108
    tankren  
       2020-11-03 09:08:25 +08:00   ❤️ 1
    国密是给自己人用的 防止被外部窃密 并不是国家要窃你的密 强制上国密的本就是国家的东西
    noahzh
        109
    noahzh  
       2020-11-03 09:12:25 +08:00   ❤️ 1
    就是私钥上交国家.
    reiji
        110
    reiji  
       2020-11-03 09:13:06 +08:00   ❤️ 3
    有些人阴阳怪气好像都成为了应激反应了
    a1274598858
        111
    a1274598858  
       2020-11-03 09:15:48 +08:00   ❤️ 1
    我们公司在用,国密局颁发的 SM2 ROOT 证书,但是主流软件兼容性太差了,没有强制性要求暂时用 RSA 吧
    a1274598858
        112
    a1274598858  
       2020-11-03 09:23:51 +08:00
    @sockpuppet9527 没错 zf 项目必须上国密,比如政府无纸化,政务系统等
    shakoon
        113
    shakoon  
       2020-11-03 09:26:56 +08:00
    央行要求金融机构在 2022 实现国产密码在金融领域的全面应用,涉及数据保存加密、传输加密、身份鉴别、数据完整性、数据抗抵赖等很多方面。这是强制要求,央行会逐一进行验收的。我所在的某银行各个内部系统都已经完成或者在进行相应的改造了。
    testcaoy7
        114
    testcaoy7  
       2020-11-03 09:53:26 +08:00   ❤️ 6
    很多国家都有自己的“国密”啊

    韩国有 ARIA
    日本有 Camellia
    俄罗斯有 GOST

    拥有一套自己实现的加密算法是在关键领域是很重要的,归根结底是国与国之间不信任的问题
    testcaoy7
        115
    testcaoy7  
       2020-11-03 09:55:19 +08:00   ❤️ 1
    @Cbdy AES 如果用的美国的实现,民用只能 128 位,256 位需要 FIPS
    FlyingShark
        116
    FlyingShark  
       2020-11-03 10:02:01 +08:00   ❤️ 1
    @liveoppo @leeg810312 不是哦,这方面确实有前科,而且除了公开算法做手脚,特定算法搭配销售的硬件同样可以埋雷

    RSA 算法缺陷被证明是人为
    https://www.aqniu.com/news-views/1215.html
    https://paper.seebug.org/1366/
    https://redswallow.github.io/2013/12/ecc-and-dual-ec-drbg
    BrettD
        117
    BrettD  
       2020-11-03 10:43:36 +08:00 via iPhone
    @wangxiaoaer 还真说不好算法有没有后门,不知道后门的就只能穷举暴力破解,知道后门的就可以用捷径用时间复杂度低得多的方法破解密文
    CRVV
        118
    CRVV  
       2020-11-03 10:52:10 +08:00   ❤️ 2
    @FlyingShark
    这里的 RSA 是 RSA Security,是一家公司。
    这家公司是发明 RSA 算法那三个人初创的。

    NSA 的事情和 RSA 算法缺陷毫无关系。
    gemini767
        119
    gemini767  
       2020-11-03 11:11:48 +08:00   ❤️ 2
    在美企稍微顶级一些技术开发,就知道一些加密严格不允许中国人去看的,虽然开起来算法是开源,但实际函数是国家安全局 review 的
    JerryZhi
        120
    JerryZhi  
       2020-11-03 11:55:08 +08:00   ❤️ 3
    专业性讨论一出来,阴阳怪气的人瞬间就显得很尴尬了
    liveoppo
        121
    liveoppo  
       2020-11-03 12:45:48 +08:00
    @YvesX @FlyingShark

    如果某种公开算法被世界大规模使用,我不认为这里面有后门,我不认为设计者和商业公司会赔上身价性命弄一个后门进去。如果是你,你会觉得值得吗,划算吗?

    你不能把缺陷等同于后门。缺陷一定有,没有缺陷的算法不存在,只不过数学水平还没到而已,就好像软件一定有 bug 一样。
    leeg810312
        122
    leeg810312  
       2020-11-03 12:46:23 +08:00 via Android   ❤️ 1
    @FlyingShark 还说不是扭曲概念,明明是实现有后门,不是算法有问题,中文理解堪忧,居然还有人点赞
    liveoppo
        123
    liveoppo  
       2020-11-03 13:27:15 +08:00
    还有人没分清 算法 和 商业算法产品,后者才有出口限制,前者是个数学问题。
    FlyingShark
        124
    FlyingShark  
       2020-11-03 15:47:03 +08:00   ❤️ 1
    @CRVV @leeg810312 @liveoppo 明白你们的意思,不是算法有后门,是算法的实现有后门

    我觉得 RSA 这个例子很有美国特色,Dual_EC_DRBG 从提出、到标准化、再成为“首选项”、直到广泛使用……

    如果一种算法未来被发现有 NSA 背景,考虑到 NSA 遍布全球的设施,威力相当巨大。
    CRVV
        125
    CRVV  
       2020-11-03 16:01:30 +08:00
    @FlyingShark

    你没有明白我的意思,我只是在名词解释。
    我没说实现有后门,我也没说算法有后门,我也没说实现没有后门,我也没说算法没有后门。

    重点是 RSA 和 RSA Security 这两个词,这是雷锋和雷锋塔的关系。
    你不能说 RSA 怎么怎么样,要说 RSA Security,否则会带很强的误导性。
    snw
        126
    snw  
       2020-11-03 18:42:03 +08:00 via Android   ❤️ 2
    @leeg810312
    那你要说这只是个普通缺陷也是误导。Dual_EC_DRBG 算法缺陷故意的可能性都很高,如果是故意为之的缺陷那么叫后门没问题。

    当然你可以说 NSA 没承认所以没实锤,但这并不重要,举此例的目的是为了说明算法是可以放后门的(故意引入缺陷)。
    jinliming2
        127
    jinliming2  
       2020-11-03 21:29:01 +08:00   ❤️ 1
    @xuanbg 加密算法存在的后门我印象中之前看有文章说是:算法里面有一些莫名其妙的常数,这些常数是怎么选取的、为什么要取这个数都不清楚,所以怀疑是有后门,可以通过某些魔法数字直接绕过算法进行解密。
    好像后面看哪个算法的优点里也提到了这一点,说里面取的所有常数的来源都是明确的。
    具体细节不记得了。
    lostpg
        128
    lostpg  
       2020-11-03 22:00:20 +08:00   ❤️ 1
    @jinliming2 #127 你说的应该椭圆曲线加密里的问题,NSA 选 secp256k1 这条曲线时没有对参数选择做很好地说明,就有猜测这条曲线是有漏洞的;另一个方案用的 ED25519 曲线就相对而言公开透明得多,方案也对曲线的参数做了详细的说明。
    Annoke
        129
    Annoke  
       2020-11-03 22:05:44 +08:00
    @csdjl88 写 c++对接?
    leeg810312
        130
    leeg810312  
       2020-11-03 22:42:33 +08:00 via Android
    @snw 很会胡搅蛮缠呢。缺陷就是缺陷,我丝毫没有评价过是否严重,哪来的误导。无论谁评价普通还是严重,只要有依据论证,都谈不上误导,只能说论证是否正确。算法本身是学术成果,是否有恶意漏洞要有严密的学术论证,什么可能之类的,没有切实证据仅凭主观猜测下负面结论的这种才是恶意贬损。算法无问题实现的产品有问题是可能的,不信任一个算法也可以换,算法多的是,但仅此抨击算法就是无稽之谈。
    loolac
        131
    loolac  
       2020-11-03 22:58:44 +08:00
    不透明比任何加密算法都好
    AkashicRecords
        132
    AkashicRecords  
       2020-11-03 23:20:14 +08:00
    @loolac Kerckhoffs's principle
    ZhiyuanLin
        133
    ZhiyuanLin  
       2020-11-03 23:42:08 +08:00   ❤️ 4
    之前没事干写过 SM4 和 ZUC 的软件实现练手。

    只能说这俩算法在设计上很鸡贼,一般对称加密算法都要考虑一下软件实现的效率(比如 SIMD 并行化什么的),这俩算法的设计故意避免了当前 CPU 指令集在这方面的应用。

    简单的说,就是你想快,必须独立 ASIC 芯片实现,或者 CPU 加专门指令集(例如 AES-NI 那样子的),不管哪个都得交专利费。可以说商业考量严重影响了这两个算法的设计(收专利费,卖芯片)。

    核心上,SM4 用 Feistel Network,ZUC 用 LFSR,都是很老的设计,没什么革新点,目前密码学分析上 SM4 也没体现比 RC6 之类同样用 Feistel 的更强的地方,ZUC 用的 LFSR 也用在 GSM 里,GSM 用的密钥 A5/1 和 A5/2 都被证明比同样 54 位密钥采用 Feistel 的 DES 算法弱非常多,GSM 伪基站那么多也是这个原因。要说 LFSR 有什么好处,也就是这个硬件实现容易达到高能效+高性能,但是软件实现快不起来。

    至于号称真正强度高的 SM1,具体设计细节均不公开,并且只允许硬件实现不允许软件实现。就接口而猜测,也就是个 128-bits 的 block cipher,连 256-bits 强度的版本都不存在,是否真的有必要做到这么保密呢? 其设计如果公开给大家分析,是不是真的比 SM4 强还不一定。不过要用这个是真的只能买芯片,生财有道啊。
    shunf4
        134
    shunf4  
       2020-11-04 00:12:38 +08:00
    没有人提国密 SSL 的双证书体系吗?这个体系把加密证书和签名证书分离,允许国家机构( CA )在有需要的时候解密流量。
    snw
        135
    snw  
       2020-11-04 01:08:03 +08:00 via Android
    @leeg810312
    你可以选择把自己关在象牙塔里,死抱着纯学术的论证逻辑。
    然而这个世界并不是象牙塔,事物并不完全遵从学术逻辑。
    csdjl88
        136
    csdjl88  
       2020-11-04 08:45:17 +08:00
    @Annoke 没有 用的是 Py2.7
    juziss
        137
    juziss  
       2020-11-04 09:20:19 +08:00
    建议了解一下王小云,她主导的
    leeg810312
        138
    leeg810312  
       2020-11-04 10:07:01 +08:00 via Android
    @snw 我活得很好,分得清学术和实践,不像你认为周围一切都是阴谋,你就永远活在你的阴谋论里好了
    zarte
        139
    zarte  
       2020-11-04 10:41:31 +08:00
    看来好多人跟我一样不知道 nsa 与 rsa 的交易。
    Limius
        140
    Limius  
       2020-11-04 11:07:11 +08:00
    证券行业交易系统间数据传递都在用国密,只不过大部分人没了解而已
    1109599636
        141
    1109599636  
       2020-11-04 11:55:03 +08:00
    这个还用讨论吗, 你们自己的公司就没有自主研发的系统吗?这种系统市面上没有开源的吗?那为什么不用还要自己写呢?
    snw
        142
    snw  
       2020-11-08 08:10:43 +08:00 via Android
    @leeg810312 不,你显然分不清
    liuidetmks
        143
    liuidetmks  
       2021-08-28 13:59:58 +08:00 via iPhone
    @Twain 很多现行的流行的标准都是美国标准制定的,很多 magic number 没有任何说明。



    NSA 收买 RSA 将 NSA 推荐的算法,Dual_EC_DRBG,设置为 BSafe 中默认的随机数生成算法。为了推广这种算法,其实早在 2007 年 NSA 就执意将其写入了 NIST (美国国家标准技术管理委员会)的确定性随机数生成器推荐标准( Special Publication 800-90,SP800-90 ),即使它速度极慢。同年 Dual_EC_DRBG 就在 Crypto 2007 会议上被指出存在被植入后门的可能,但不能认定算法设计者是否知道后门的参数,也不能认定 NIST 有意在算法中植入后门。
    xuyang2
        144
    xuyang2  
       2022-02-09 14:21:29 +08:00
    Daiwf
        145
    Daiwf  
       2022-03-30 17:10:10 +08:00
    @fatpower 大佬 bouncycastle 好像没有支持 sm9 啊。哪个版本
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.