密码杂凑算法四大金刚系列算法回顾
密码杂凑算法四大金刚系列算法回顾密码杂凑算法(又称为哈希算法散列算法信息摘要算法等)四大金刚(青龙白虎朱雀玄武)系列算法均为本人所设计。只记得当时在学习对称密码学最开始学习的是分组加密算法的分析与设计接着又开始学习序列密码算法(太难了比分组加密算法要难多了)之后对密码杂凑算法很感兴趣在学习的同时脑子中也有很多自己的奇思妙想于是我开始设计自己的密码杂凑算法只是为了记录自己关于密码算法设计的一些创意和想法。我设计密码杂凑算法是出于自己的兴趣和爱好同时也希望我关于这些算法的奇思妙想能够给学习密码算法的人起到抛砖引玉的作用。注意本人(黄金龙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:49 阅读更多 →
如何免费解锁Microsoft 365完整功能:3步永久激活Office的终极指南

如何免费解锁Microsoft 365完整功能:3步永久激活Office的终极指南

如何免费解锁Microsoft 365完整功能:3步永久激活Office的终极指南 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/gh_mirror…

2026/7/25 18:30:49 阅读更多 →
大模型API接入实战:价值、挑战与优化策略

大模型API接入实战:价值、挑战与优化策略

1. 项目概述:大模型API接入的价值与挑战去年我在帮一家跨境电商客户搭建智能客服系统时,第一次真正体会到API接入的价值。他们原本计划自建NLP团队,但评估后发现:训练一个勉强可用的中文对话模型,至少需要6个月时间和2…

2026/7/25 18:30:49 阅读更多 →

最新新闻

2026最新Linux运维零基础入门:免费体系化教程与实战路径

2026最新Linux运维零基础入门:免费体系化教程与实战路径

如果你正在寻找一套系统、完整且免费的Linux运维学习资源,并且希望从零开始,一步一个脚印地掌握从基础到进阶的所有核心技能,那么这篇文章就是为你准备的。这里整理了一份堪称“白嫖”级别的2026年最新Linux运维零基础入门教程,它…

2026/7/25 18:40:55 阅读更多 →
STL转STEP格式转换:突破性解决方案实现3D打印与CAD设计无缝对接

STL转STEP格式转换:突破性解决方案实现3D打印与CAD设计无缝对接

STL转STEP格式转换:突破性解决方案实现3D打印与CAD设计无缝对接 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在当今数字化制造时代,3D打印与CAD设计之间的鸿沟一直是…

2026/7/25 18:40:55 阅读更多 →
GXDE OS Wayland桌面环境解析:从deepin-mutter到兼容性实践

GXDE OS Wayland桌面环境解析:从deepin-mutter到兼容性实践

最近在尝试 GXDE OS 时,发现其桌面环境与 Wayland 显示协议的集成是一个值得深入探讨的话题。随着 Ubuntu 24.04 等主流发行版开始默认采用 Wayland,许多用户和开发者都遇到了从 X11 迁移到 Wayland 过程中的兼容性问题,例如腾讯会议等应用无法运行、VMware Tools 启动失败等…

2026/7/25 18:40:55 阅读更多 →
深入解析Tomcat类加载器:为何及如何打破Java双亲委派模型

深入解析Tomcat类加载器:为何及如何打破Java双亲委派模型

深入解析Tomcat类加载器:为何及如何打破Java双亲委派模型 一、Java双亲委派模型基础在Java世界中,类加载器(ClassLoader)负责将.class文件加载到JVM中。标准Java虚拟机采用双亲委派模型(Parent Delegation Model&#…

2026/7/25 18:39:55 阅读更多 →
【新】5p202基于Python的交通数据分析应用-hadoop+django231(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

【新】5p202基于Python的交通数据分析应用-hadoop+django231(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

【新】5p202基于Python的交通数据分析应用-hadoopdjango231(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ python3.8djangohadoopmysql5.7vue 交通数据分析应用采用B/S开发模式,以Django框架和Python语言为核心技术构建。系统具备…

2026/7/25 18:39:55 阅读更多 →
深入解析C6457 EDMA3架构:从寄存器到实战的数据搬运优化

深入解析C6457 EDMA3架构:从寄存器到实战的数据搬运优化

1. 从寄存器表到实战:理解C6457 EDMA3的架构与设计哲学如果你手头有一份TI C6457的芯片手册,翻到EDMA3控制器那章,大概率会被那几十页密密麻麻的寄存器地址和缩写搞得头晕。我当年第一次接触时也是这种感觉,手册里列了成百上千个寄…

2026/7/25 18:39:55 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/7/25 0:00:35 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/7/24 18:52:18 阅读更多 →

月新闻