Leon406 / ToolsFx

基于kotlin+tornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件
https://github.com/Leon406/ToolsFx/wiki
ISC License
1.44k stars 253 forks source link

ZUC256MAC结果和GmSSL不一致 #264

Closed haozekang closed 2 months ago

haozekang commented 3 months ago

ToolsFx版本及构建日期(如v1.15.1.beta2 2022-12-13): v1.18.0 build 2024.4.29

系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm): win11 专业版 23h2 x64

Java版本(jdk 1.8.0 x86 oracle/openjdk): 你压缩包自带的

操作步骤(如运行ToolsFx.bat): 直接运行ToolsFx.exe

问题现象(如闪退): 和GmSSL结果不一致,我采用的是最新的GmSSL库 https://github.com/guanzhi/GmSSL

报错信息(命令行运行ToolsFx.bat/ToolsFx): 没有

image

Leon406 commented 3 months ago

image

基于bouncycastle实现 , 结果跟测试用例也一致 https://github.com/bcgit/bc-java/blob/main/prov/src/test/java/org/bouncycastle/jce/provider/test/ZucTest.java

Leon406 commented 3 months ago

不懂ZUC算法,纯调包,如果实现有问题的,可以向bc官方反馈

haozekang commented 3 months ago

好的,谢了,我今天上午查阅了一下,目前已经给GmSSL项目提交issue了 https://github.com/guanzhi/GmSSL/pull/1686

haozekang commented 3 months ago

目前来看,可能BC是对的,但是还需要找专家验证一下。国家密码管理局目前没有ZUC256MAC的源码示例,中国科学院软件研究所公布的也只是草案。