国密加密算法 SM4

2020-11-11 17:10:26 +08:00
 dddddawn

有懂的朋友进来详细讲讲 SM4,现在是趋势了吗?之前没有了解和接触过,百度了一轮网上资料很少,求详细讲解资料和示例

2166 次点击
所在节点    问与答
20 条回复
YamchaL
2020-11-11 17:46:54 +08:00
只知道是中国版 AES,详细规范在国标系统有
dddddawn
2020-11-11 18:26:00 +08:00
@YamchaL 朋友来个链接呢?主要是加密出来和对方用加密机加密的结果不一致
YamchaL
2020-11-11 18:27:32 +08:00
Allan0423
2020-11-11 20:44:09 +08:00
ZF 和企事业单位确实在推进密码国产化,版本新一点的 openssl 都支持 S-M2/3/4 了,可以用来对结果进行验证。
Allan0423
2020-11-11 20:44:48 +08:00
↑↑↑是 V2 逼我用字母的(投降
borisz
2020-11-11 21:29:18 +08:00
openssl enc -ciphers 可以看到支持 sm4 CBC/CFB/CTR/ECB/OFB, 两个结果不一样应该是 padding 不一样吧
billlee
2020-11-11 22:11:29 +08:00
加密结果不一样是正常吧?都有随机 IV 的吧
dddddawn
2020-11-12 09:57:56 +08:00
@borisz ECB 和 CBC 什么区别呢?百度百科的代码感觉不太对呀
dddddawn
2020-11-12 09:59:15 +08:00
@YamchaL 打开不了 flash- -
dddddawn
2020-11-12 10:00:00 +08:00
@billlee 我觉得是对方给的 demo 算法和他们加密机算法估计不一致吧
dddddawn
2020-11-12 10:00:26 +08:00
@Allan0423 你用过没?百度百科的代码可以用吗
jzmws
2020-11-12 10:29:42 +08:00
国密挺好用的! 至少是无感知的用
dddddawn
2020-11-12 10:44:23 +08:00
@jzmws 无感知的用,什么意思呢
borisz
2020-11-12 12:16:50 +08:00
@dddddawn 对方加密的内容, 你先用 openssl 解密一下, 看看能行不.
borisz
2020-11-12 12:18:20 +08:00
@dddddawn 抱歉,错了, 应该是你用 openssl, 用相同的 key, iv 再加密一次看看结果和你一样, 还是和对方一样.
dddddawn
2020-11-12 14:03:51 +08:00
@borisz 只提供了 key,未提供 iv (弱弱问句,iv 是啥)。目前是给我描述了算法,先 md5 加密,再对 md5 结果 sm4 加密最后得到 32 位签名,但是和请求体自带的签名不一致
Allan0423
2020-11-12 20:25:54 +08:00
@dddddawn
龟龟,你在说啥啊?
没给 IV 那可能是用的 ECB 模式,MD5 不是加密,是摘要,SM4 是加密算法,签名得用 SM2 。
请求带的签名是需要私钥运算出来的,你没私钥怎么得到签名?
看你的回复好像没有这方面的基础知识,这就不是 V 友三言两语能给你说明白的了。
dddddawn
2020-11-13 09:46:37 +08:00
@Allan0423 key 指的不是私钥吗?所以不懂 iv 指的是啥。是通过 sm4 对 md5 结果(请求内容生成 md5 摘要)加密生成的签名
orangeTop
2020-11-13 10:28:28 +08:00
这个目前我们和政府的项目就必须使用 sm3 加密,但是都是调用第三方接口
Allan0423
2020-11-13 21:28:49 +08:00
@dddddawn key 可以是私钥,也可以指对称加密算法的密钥,IV 是给对称加密算法的特定模式使用的。SM4 是对称加密算法,做不了签名。你说的“通过 sm4 对 md5 结果(请求内容生成 md5 摘要)加密生成的签名” 这是不可能的。

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

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

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

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

© 2021 V2EX