密码杂凑算法四大金刚系列算法回顾
密码杂凑算法四大金刚系列算法回顾密码杂凑算法(又称为哈希算法散列算法信息摘要算法等)四大金刚(青龙白虎朱雀玄武)系列算法均为本人所设计。只记得当时在学习对称密码学最开始学习的是分组加密算法的分析与设计接着又开始学习序列密码算法(太难了比分组加密算法要难多了)之后对密码杂凑算法很感兴趣在学习的同时脑子中也有很多自己的奇思妙想于是我开始设计自己的密码杂凑算法只是为了记录自己关于密码算法设计的一些创意和想法。我设计密码杂凑算法是出于自己的兴趣和爱好同时也希望我关于这些算法的奇思妙想能够给学习密码算法的人起到抛砖引玉的作用。注意本人(黄金龙PLUS)所发布的系列密码杂凑算法等仅可用于学术交流和研究之用不可用在安全要求较高的工作环境中违者后果自负。本文的主要内容是对四大金刚系列算法作一个简单的回顾通过分析系列算法的参数和安全界限缺点和优点改进之处和算法总结来对该算法的设计细节作个简单回顾。毕竟温故能知新嘛密码杂凑算法四大金刚系列算法之QingLong512(青龙)算法1算法基本设计参数如下所示整体结构MD结构消息填充同SHA256算法消息分组512位最大消息长度2^256位消息字大小32位消息扩展算法同SHA256算法压缩函数轮数12轮杂凑值长度512位生日攻击界限2^256碰撞攻击界限2^256原像攻击界限2^512第二原像攻击界限2^5122算法优点向量循环移位VectorShift将16个32位字并联然后整体循环移位不同于普通的字内循环移位无疑这增强了链接变量的字间扩散性。线性扩散函数M16F3XM16F5XM16F7XM16F9XM16F11XM16F13X与非线性扩散函数M16F3MM16F5MM16F7MM16F9MM16F11MM16F13M。前者16个输出值线性(异或运算)依赖于3个5个7个9 个11个13个输入值后者16个输出值非线性(模加运算)依赖于3个5个7个9 个11个13个输入值。两者分别提供了密码杂凑算法必需的线性复杂度和非线性复杂度。线性扩散层和非线性扩散层的使用提高了比特之间的依赖程度保证了该算法具有良好的雪崩效应同时模加运算相比异或运算更加复杂及其密码学性质更好这使得该算法保证了高效率的同时兼具安全性。两个不同的8比特S盒SBOXP和SBOXQ的使用更进一步增强了QingLong512的抵抗未知攻击的能力。3算法缺点QingLong512算法的消息扩展算法与SHA256类似虽然生成了64 个消息字但是最终只选取了16个这可能导致安全缺陷进而不能抵抗未知的攻击。不能抵抗长度扩展攻击 (Length Extension Attack)这是MD结构的固有缺陷。攻击者即便不知道原始消息M只要知道Hash(M)和M的长度就可以推算出Hash(M || padding ||附加数据)的值。并且采用MD结构的算法安全性高度依赖于其核心的压缩函数。4改进之处SHA256和SHA512也是基于MD结构但是两者的安全性依旧健壮。QingLong512算法与前面两者有很多相似之处不同之处在于扩展消息字的选取规则与消息压缩算法我们有理由相信使用创新消息压缩算法的QingLong512算法也拥有好的安全性。或者我们可以另辟蹊径直接抛弃MD结构转而使用更安全的海绵结构(Sponge Structure)。5算法总结设计一个密码杂凑算法是一项复杂的系统工程。它不仅需要精巧地组合各种技术来满足严格的安全属性还必需前瞻性地考虑未来的安全威胁如量子计算和应用需求。从经典的MD结构到更灵活的Sponge结构从对差分攻击的防御到应对AI辅助分析这个领域始终在攻防博弈中演进不断追求着更安全、更高效的设计。QingLong512算法既有不足之处也有可取之处我会持续学习不断更新该算法的分析与设计方法。密码杂凑算法四大金刚系列算法之BaiHu512(白虎)设计原理详解1算法基本设计参数如下所示整体结构MD结构消息填充同SHA256算法消息分组512位最大消息长度2^256位消息字大小32位消息扩展算法同SHA256算法压缩函数轮数64轮杂凑值长度512位生日攻击界限2^256碰撞攻击界限2^256原像攻击界限2^512第二原像攻击界限2^5122算法优点向量循环移位VectorShift将16个32位字并联然后整体循环移位不同于普通的字内循环移位无疑这增强了链接变量的字间扩散性。线性扩散函数MMMMMMMM8X1MMMMMMMM8X2与非线性扩散函数MMMMMMMM8M1MMMMMMMM8M2。前者8个输出值线性(异或运算)依赖于5个输入值后者8个输出值非线性(模加运算)依赖于5个输入值。两者分别提供了密码杂凑算法必需的线性复杂度和非线性复杂度。7比特与9比特S盒(设计原理同SHA-3的5比特S盒)的使用提供了BaiHu512算法必需的的混淆性和扩散性更进一步增强了BaiHu512的抵抗未知攻击的能力。3算法缺点BaiHu512算法的消息扩展算法与SHA256类似虽然生成了64 个消息字但是最终只选取了16个这可能导致安全缺陷进而不能抵抗未知的攻击。不能抵抗长度扩展攻击 (Length Extension Attack)这是MD结构的固有缺陷。攻击者即便不知道原始消息M只要知道Hash(M)和M的长度就可以推算出Hash(M || padding ||附加数据)的值。并且采用MD结构的算法安全性高度依赖于其核心的压缩函数。4改进之处SHA256和SHA512也是基于MD结构但是两者的安全性依旧健壮。BaiHu512算法与前面两者有很多相似之处不同之处在于扩展消息字的选取规则(生成64个扩展消息字只选取16个)与消息压缩算法(前者每次更新8个寄存器中的2个BaiHu512每次更新16个寄存器中的全部16个)我们有理由相信使用创新消息压缩算法的BaiHu512算法也拥有好的安全性。或者我们可以另辟蹊径直接抛弃MD结构转而使用更安全的海绵结构(Sponge Structure)。5算法总结密码杂凑算法的设计是一个高度专业化的领域需要在数学基础、密码学原理和工程效率之间取得精妙的平衡。其核心在于设计一个健壮的压缩函数或置换函数并将其嵌入到一个安全的结构如 Sponge中。分析则是一个持续的攻防过程利用各种密码分析技术不断检验算法的安全边界。理解密码杂凑算法的设计与分析对于构建安全的密码系统、评估现有系统的安全性以及应对未来威胁如量子计算都至关重要。自行设计密码杂凑算法是充满挑战性的在此之前设计者需要了解针对它的各种密码分析方法例如差分和线性分析比特追踪法和消息修改技术中间相遇攻击猜测确定攻击等。只有这样(熟练掌握这些攻击方法)才能保证我们设计的密码杂凑算法能够抵抗常见的各种攻击方法。BaiHu512算法既有不足之处也有可取之处我会持续学习不断更新该算法的分析与设计方法。密码杂凑算法四大金刚系列算法之ZhuQue512 (朱雀)设计原理详解1算法基本设计参数如下所示整体结构MD结构消息填充同SHA256算法消息分组512位最大消息长度2^256位消息字大小32位消息扩展算法同SHA256算法压缩函数轮数64轮杂凑值长度512位生日攻击界限2^256碰撞攻击界限2^256原像攻击界限2^512第二原像攻击界限2^5122算法优点线性扩散函数MMMM4XPLUS1MMMM4XPLUS2MMMM4XPLUS3MMMM4XPLUS4与非线性扩散函数MMMM4MPLUS1MMMM4MPLUS2MMMM4MPLUS3MMMM4MPLUS4。前者4个输出值线性(异或运算)依赖于3个输入值后者4个输出值非线性(模加运算)依赖于3个输入值。两者分别提供了密码杂凑算法必需的线性复杂度和非线性复杂度。对4X4状态矩阵的行变换和列变换的轮流执行确保每1个比特都被充分的混淆和扩散这2个操作提供了ZhuQue512算法必需的雪崩效应。3算法缺点ZhuQue512算法的消息扩展算法与SHA256类似虽然生成了64 个消息字但是最终只选取了16个这可能导致安全缺陷进而不能抵抗未知的攻击。ZhuQue512算法的消息压缩算法有点过于简单非线性复杂度完全由MMMM4MPLUS提供。虽然每1轮更新全部的16 个寄存器但是MMMM4XPLUS和MMMM4MPLUS有可能导致高位差分相互抵消的情况这会使得差分攻击变得简单进而导致安全风险。不能抵抗长度扩展攻击 (Length Extension Attack)这是MD结构的固有缺陷。攻击者即便不知道原始消息M只要知道Hash(M)和M的长度就可以推算出Hash(M || padding ||附加数据)的值。并且采用MD结构的算法安全性高度依赖于其核心的压缩函数。4改进之处ZhuQue512算法与SHA256和SHA512两者有很多相似之处不同之处在于扩展消息字的选取规则(生成64个扩展消息字只选取16个)与消息压缩算法(前者每次更新8个寄存器中的2个ZhuQue512每次更新16个寄存器中的全部16个)ZhuQue512的消息压缩算法让我们有理由相信使用创新消息压缩算法的ZhuQue512算法也拥有好的安全性。或者我们可以另辟蹊径直接抛弃MD结构转而使用更安全的海绵结构(Sponge Structure)。5算法总结密码杂凑算法是构建数字信任的隐形支柱。它们无声地验证着我们下载文件的真伪守卫着我们账户密码的安全支撑着数字签名的权威并构成了区块链革命的基础。理解其基本原理、特性、主流算法和安全实践对于任何关注网络安全、软件开发或现代信息技术的人来说都至关重要。随着技术的演进和威胁的不断变化这些算法也将持续发展继续履行其在数字世界守护数据完整性与认证安全的使命。在选择和使用它们时保持警惕、遵循最佳实践并关注前沿进展是我们共同维护数字安全的责任。ZhuQue512算法既有不足之处也有可取之处我会持续学习不断更新该算法的分析与设计方法。密码杂凑算法四大金刚系列算法之XuanWu512 (玄武)设计原理详解1算法基本设计参数如下所示整体结构MD结构消息填充同SHA256算法消息分组512位最大消息长度2^256位消息字大小32位消息扩展算法同SHA256算法压缩函数轮数32轮杂凑值长度512位生日攻击界限2^256碰撞攻击界限2^256原像攻击界限2^512第二原像攻击界限2^5122算法优点4个512X2048的大规模S盒SBOX512To2048ACSBOX512To2048BDSBOX512To2048EGSBOX512To2048FH由4个32X128的小规模S盒SBOX32To128ACSBOX32To128BDSBOX32To128EGSBOX32To128FH所构成。非线性变换MMMM4M的使用4个输出值非线性(异或运算)依赖于3个输入值。SBOX32To128S盒的使用提供了消息压缩算法必需的混淆性和扩散性更加保证了XuanWu512算法具有良好的雪崩效应和不可逆性。SBOX512To2048S盒使用先扩展再压缩的执行规则这不仅使得压缩算法的混淆性和扩散性良好而且保证XuanWu512算法是单向函数增强了算法抵抗原像攻击和第二原像攻击的能力。3算法缺点XuanWu512算法的消息扩展算法与SHA256类似连续的16个消息字(非线性)影响第17个消息字以此类推这使得扩展消息字之间的依赖关系十分复杂很好的抵抗差分分析和比特追踪法同时抵抗未知的攻击。XuanWu512算法的消息压缩算法不是双射(因为使用了非双射S盒)所以输出比特有可能是不平衡的这会使得碰撞攻击变得简单进而导致安全风险。不能抵抗长度扩展攻击 (Length Extension Attack)这是MD结构的固有缺陷。攻击者即便不知道原始消息M只要知道Hash(M)和M的长度就可以推算出Hash(M || padding ||附加数据)的值。并且采用MD结构的算法安全性高度依赖于其核心的压缩函数。4改进之处XuanWu512算法与SHA256和SHA512两者有很多相似之处不同之处在于消息压缩算法(前者每次更新8个寄存器中的2个XuanWu512每次更新64个寄存器中的全部64个)XuanWu512的消息压缩算法让我们有理由相信使用创新消息压缩算法的XuanWu512算法也拥有好的安全性。或者我们可以另辟蹊径直接抛弃MD结构转而使用更安全的海绵结构(Sponge Structure)。5算法总结密码杂凑算法的设计是一个高度专业化的领域需要在数学基础、密码学原理和工程效率之间取得精妙的平衡。其核心在于设计一个健壮的压缩函数或置换函数并将其嵌入到一个安全的结构如 Sponge中。分析则是一个持续的攻防过程利用各种密码分析技术不断检验算法的安全边界。理解密码杂凑算法的设计与分析对于构建安全的密码系统、评估现有系统的安全性以及应对未来威胁如量子计算都至关重要。XuanWu512算法既有不足之处也有可取之处我会持续学习不断更新该算法的分析与设计方法。本文总结密码杂凑算法的设计与分析本质上是一个通过公开的“攻防战”不断推动自身演进的领域。一个算法的安全性并非绝对而是基于当前最优秀的公开分析结果。因此遵循行业最佳实践、使用经过充分公众审视的标准化算法如SHA-2、SHA-3、SM3是保障系统安全的基本准则。

相关新闻

1B小模型训练实录:3天烧掉800元后,它在客服场景竟比GPT-5.4快2倍

1B小模型训练实录:3天烧掉800元后,它在客服场景竟比GPT-5.4快2倍

为什么还要训练小模型?深度剖析轻量化的商业价值 当团队首次提出用AI处理售后工单的需求时,我的第一反应是直接调用GPT-5.4这样的顶级大模型。然而经过为期两周的实测,我们发现了三个关键问题:单次响应延迟普遍超过1.2秒&#xf…

2026/7/25 18:30:25阅读更多 →
AI测试智能体实战:基于Cursor、Claude Code、GitHub Copilot构建18个自动化测试方案

AI测试智能体实战:基于Cursor、Claude Code、GitHub Copilot构建18个自动化测试方案

在软件测试领域,手工编写测试用例、执行回归测试和生成测试报告的传统模式正面临效率瓶颈。随着AI技术的成熟,测试工程师可以利用AI工具构建智能测试代理,实现测试流程的自动化与智能化。本文将基于实际项目经验,详细介绍如何使用…

2026/7/25 18:28:24阅读更多 →
学术开题报告智能生成工具paperxie使用指南

学术开题报告智能生成工具paperxie使用指南

1. 开题报告写作痛点与解决方案本科阶段第一次接触学术论文写作的同学,往往会在开题报告这个环节卡壳。作为论文工作的"路线图",开题报告需要明确研究背景、选题意义、文献综述、研究方法和技术路线等内容。这些对新手来说都是不小的挑战&…

2026/7/25 18:28:24阅读更多 →
涂胶显影机(Track)组长级工程师完整JD(12维度)+ 对外简化版JD

涂胶显影机(Track)组长级工程师完整JD(12维度)+ 对外简化版JD

一、完整版内部JD(定级/定岗/薪酬核算/内部晋升使用,12维度全覆盖)1. 对标职级半导体设备技术序列基层管理/骨干带兵岗,介于资深工程师与技术主管之间。行业对标:大厂P6/P7、资深工程师组长、Team Leader;外…

2026/7/25 19:48:36阅读更多 →
涂胶显影机(Track)研发总监完整JD(12维度)+ 对外简化版JD

涂胶显影机(Track)研发总监完整JD(12维度)+ 对外简化版JD

一、完整版内部JD(公司定级、高管定岗、薪酬谈判、权责手册专用)1. 对标职级半导体设备技术序列高管级核心岗,属于公司核心技术管理层。行业对标:大厂P9/P10、研发中心总监、产品线负责人、高级技术管理层;职级高于研发…

2026/7/25 19:48:36阅读更多 →
AI漫画创作全流程:从工具选型到变现策略

AI漫画创作全流程:从工具选型到变现策略

1. 漫画创作的新机遇与挑战去年有个朋友突然问我:"你觉得现在做漫画还有机会吗?"当时我正看着手机里某平台推送的AI生成漫画,画面精致得让我这个老二次元都差点分不清是人画的还是机器画的。现在回想起来,那个问题本身就…

2026/7/25 19:48:36阅读更多 →
Feign 升级成 grpc

Feign 升级成 grpc

从 Feign 迁移到 gRPC,本质上是一次微服务通信协议的底层升级。简单来说,它需要你将声明式 REST 调用方式,全面转向基于 IDL 的强类型 RPC 通信。 🎯 迁移背景:为什么要从 Feign 升级到 gRPC? Feign 基于…

2026/7/25 19:48:35阅读更多 →
量化数据工程第一步:用 Python + QuantDash 自动构建多市场 K 线质量校验流水线

量化数据工程第一步:用 Python + QuantDash 自动构建多市场 K 线质量校验流水线

1. 量化系统中的 GIGO 难题 在量化交易与数据投研领域,有一条广为人知的铁律——GIGO(Garbage In, Garbage Out,垃圾进,垃圾出)[1]。无论你的量化选股逻辑多么精妙,或是你的机器学习预测模型设计得多么复杂…

2026/7/25 19:48:35阅读更多 →
AI大模型推理优化:从计算图到硬件适配的工程实践

AI大模型推理优化:从计算图到硬件适配的工程实践

1. 项目背景与核心价值去年参与某国产AI大模型推理引擎优化项目时,团队将ResNet50模型的推理延迟从28ms压缩到9ms的经历让我深刻认识到,底层推理优化是AI工程化落地的关键瓶颈。当前国产大模型普遍面临推理成本高、响应速度慢的问题,特别是在…

2026/7/25 19:46:35阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 1:01:14阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 1:01:14阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/25 1:01:14阅读更多 →
突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:01:16阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:01:16阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:01:16阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/24 23:01:03阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/25 19:03:04阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/25 19:03:04阅读更多 →