• 请不要在回答技术问题时复制粘贴 AI 生成的内容
James369
V2EX  ›  程序员

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

  •  1
     
  •   James369 · Nov 2, 2020 · 23947 views
    This topic created in 2050 days ago, the information mentioned may be changed or developed.
    国密算法就是国产加密算法,也分为摘要算法、对称算法、非对称算法。
    但实际工作中基本都没有用到,不知道它的用处和优点是什么?
    146 replies    2025-08-06 19:58:06 +08:00
    1  2  
    66beta
        101
    66beta  
       Nov 3, 2020 via Android
    好处就是,完成了国家布置的任务
    dyv9
        102
    dyv9  
       Nov 3, 2020 via Android   ❤️ 1
    @reus 因为有一个法律叫 加密技术出口管制,你能从网上下载的美国的软件包不是最新的版本,比如美国已经用了 4096 位加密,你去下载时只有 2048 位版本,前几年 IBM 网站上下载试用版本的软件就有这个问题,人家直接说因为加密技术出口管制法禁止 IBM 向外国人提供包含了最新版本的加密算法技术的产品。
    lpts007
        103
    lpts007  
       Nov 3, 2020 via Android
    @feather12315
    看完你的回复无比难受。

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

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

    拥有一套自己实现的加密算法是在关键领域是很重要的,归根结底是国与国之间不信任的问题
    testcaoy7
        115
    testcaoy7  
       Nov 3, 2020   ❤️ 1
    @Cbdy AES 如果用的美国的实现,民用只能 128 位,256 位需要 FIPS
    FlyingShark
        116
    FlyingShark  
       Nov 3, 2020   ❤️ 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  
       Nov 3, 2020 via iPhone
    @wangxiaoaer 还真说不好算法有没有后门,不知道后门的就只能穷举暴力破解,知道后门的就可以用捷径用时间复杂度低得多的方法破解密文
    CRVV
        118
    CRVV  
       Nov 3, 2020   ❤️ 2
    @FlyingShark
    这里的 RSA 是 RSA Security,是一家公司。
    这家公司是发明 RSA 算法那三个人初创的。

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

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

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

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

    如果一种算法未来被发现有 NSA 背景,考虑到 NSA 遍布全球的设施,威力相当巨大。
    CRVV
        125
    CRVV  
       Nov 3, 2020
    @FlyingShark

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

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

    当然你可以说 NSA 没承认所以没实锤,但这并不重要,举此例的目的是为了说明算法是可以放后门的(故意引入缺陷)。
    jinliming2
        127
    jinliming2  
       Nov 3, 2020   ❤️ 1
    @xuanbg 加密算法存在的后门我印象中之前看有文章说是:算法里面有一些莫名其妙的常数,这些常数是怎么选取的、为什么要取这个数都不清楚,所以怀疑是有后门,可以通过某些魔法数字直接绕过算法进行解密。
    好像后面看哪个算法的优点里也提到了这一点,说里面取的所有常数的来源都是明确的。
    具体细节不记得了。
    lostpg
        128
    lostpg  
       Nov 3, 2020   ❤️ 1
    @jinliming2 #127 你说的应该椭圆曲线加密里的问题,NSA 选 secp256k1 这条曲线时没有对参数选择做很好地说明,就有猜测这条曲线是有漏洞的;另一个方案用的 ED25519 曲线就相对而言公开透明得多,方案也对曲线的参数做了详细的说明。
    Annoke
        129
    Annoke  
       Nov 3, 2020
    @csdjl88 写 c++对接?
    leeg810312
        130
    leeg810312  
       Nov 3, 2020 via Android
    @snw 很会胡搅蛮缠呢。缺陷就是缺陷,我丝毫没有评价过是否严重,哪来的误导。无论谁评价普通还是严重,只要有依据论证,都谈不上误导,只能说论证是否正确。算法本身是学术成果,是否有恶意漏洞要有严密的学术论证,什么可能之类的,没有切实证据仅凭主观猜测下负面结论的这种才是恶意贬损。算法无问题实现的产品有问题是可能的,不信任一个算法也可以换,算法多的是,但仅此抨击算法就是无稽之谈。
    loolac
        131
    loolac  
       Nov 3, 2020
    不透明比任何加密算法都好
    AkashicRecords
        132
    AkashicRecords  
       Nov 3, 2020
    @loolac Kerckhoffs's principle
    ZhiyuanLin
        133
    ZhiyuanLin  
       Nov 3, 2020   ❤️ 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  
       Nov 4, 2020
    没有人提国密 SSL 的双证书体系吗?这个体系把加密证书和签名证书分离,允许国家机构( CA )在有需要的时候解密流量。
    snw
        135
    snw  
       Nov 4, 2020 via Android
    @leeg810312
    你可以选择把自己关在象牙塔里,死抱着纯学术的论证逻辑。
    然而这个世界并不是象牙塔,事物并不完全遵从学术逻辑。
    csdjl88
        136
    csdjl88  
       Nov 4, 2020
    @Annoke 没有 用的是 Py2.7
    juziss
        137
    juziss  
       Nov 4, 2020
    建议了解一下王小云,她主导的
    leeg810312
        138
    leeg810312  
       Nov 4, 2020 via Android
    @snw 我活得很好,分得清学术和实践,不像你认为周围一切都是阴谋,你就永远活在你的阴谋论里好了
    zarte
        139
    zarte  
       Nov 4, 2020
    看来好多人跟我一样不知道 nsa 与 rsa 的交易。
    Limius
        140
    Limius  
       Nov 4, 2020
    证券行业交易系统间数据传递都在用国密,只不过大部分人没了解而已
    1109599636
        141
    1109599636  
       Nov 4, 2020
    这个还用讨论吗, 你们自己的公司就没有自主研发的系统吗?这种系统市面上没有开源的吗?那为什么不用还要自己写呢?
    snw
        142
    snw  
       Nov 8, 2020 via Android
    @leeg810312 不,你显然分不清
    liuidetmks
        143
    liuidetmks  
       Aug 28, 2021 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  
       Feb 9, 2022
    Daiwf
        145
    Daiwf  
       Mar 30, 2022
    @fatpower 大佬 bouncycastle 好像没有支持 sm9 啊。哪个版本
    nitro123
        146
    nitro123  
       Aug 6, 2025
    @ic2y 经典“已经实锤”,最简单的逻辑,全世界都用的加密,就“被实锤”后,然后继续用?
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2834 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 148ms · UTC 04:16 · PVG 12:16 · LAX 21:16 · JFK 00:16
    ♥ Do have faith in what you're doing.