如何读懂 WPS 的密码学内核:wifit3 WSC 模块的 DH 模幂、WPS KDF 与 AES-CBC 离线可测试设计指南
如何读懂 WPS 的密码学内核wifit3 WSC 模块的 DH 模幂、WPS KDF 与 AES-CBC 离线可测试设计指南【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3是一款跨平台的纯 Python USB Wi-Fi 审计工具其 WSC 密码学模块完整实现了 WPSWi-Fi Protected Setup注册协议的加密内核Diffie-Hellman 模幂交换、WPS KDF 密钥派生和 AES-128-CBC 加密全部以无依赖纯 Python 编写可完全离线测试——本文带你看懂这套设计的精妙之处。为什么 WPS 破解绕不开密码学WPS PIN 暴力破解约 1.1 万次尝试即可穷举 8 位 PIN的本质是一场在线的密码学对话工具扮演外部 Registrar注册者与 APEnrollee入网设备完成 EAP/EAPOL 会话。每一步——从 M2 的 Authenticator 到 M4 的加密设置——都必须与路由器固件中的实现逐位一致错一个字节就会被 NACK 拒之门外。这正是 wifit3 设计密码学模块时的核心矛盾实现必须零外部依赖项目目标是纯 Python PyUSB Textual实现必须可离线验证——不可能每次改代码都拿真实路由器做回归测试。三大原语一次看懂 WSC 加密面全部密码学原语集中在 src/wifit3/dot11/wsc/crypto.py 这一个文件里按功能分为三层。1️⃣ DH 模幂RFC 3526 MODP 分组 5WPS 双方用 1536 位 Diffie-Hellman 交换共享密钥。实现只有两行核心逻辑见 crypto.py#L89-L100生成密钥对pow(2, priv, DH_PRIME)计算公钥g^a mod p求共享密钥pow(peer, our_priv, DH_PRIME)得到g^AB mod p再零填充为 192 字节。素数DH_PRIME是 RFC 3526 公开发表的 MODP 分组 5 常量——这意味着第三方可以拿任何现成工具交叉验证结果而不是自己验证自己。2️⃣ WPS KDF从共享密钥到三把钥匙拿到 DH 共享密钥后派生链完全复刻 hostapd 参考实现DHKey SHA-256(zeropad(g^AB mod p)) KDK HMAC-SHA256_DHKey(N1 || EnrolleeMAC || N2) KDF(KDK, Wi-Fi Easy and Secure Key Derivation, 80B) → AuthKey(32B) || KeyWrapKey(16B) || EMSK(32B)KDF 本体在 crypto.py#L106-L118用固定标签串做 HMAC 计数器迭代直到攒够所需长度。三把钥匙各司其职——AuthKey 做消息认证、KeyWrapKey 加密设置消息、EMSK 用于后续密钥管理。PIN 相关的派生PSK1/PSK2 分半哈希、E-Hash/R-Hash也在同文件 crypto.py#L135-L153其中check_pin_half就是PixieDust 离线恢复 PIN 的验证原语。3️⃣ AES-128-CBC纯 Python 实现 FIPS-197M5/M7 的 Encrypted Settings 用 AES-128-CBC 加密。由于每次 PIN 尝试只加解密几十字节性能无关紧要于是 wifit3 直接手写 S 盒、GF(2⁸) 乘法、轮密钥扩展crypto.py#L224-L234CBC 模式在 crypto.py#L309-L333另配 PKCS#5 填充。离线可测试设计锚定公开已知答案向量这是本模块最值得学习的地方。测试文件 tests/dot11/test_wsc_crypto.py 采用三层验证策略层次验证方式依据AES 分组/块加密公开已知答案向量FIPS-197 附录 C.1、NIST SP800-38A F.2.1test_wsc_crypto.py#L14-L30DH 交换双方独立算出的共享密钥必须相等MODP 分组 5 数学性质WPS 派生链自洽性构造哈希 → 恢复哈希check_pin_half真 PIN 命中、假 PIN 拒绝关键点在于底层原语不和自己比而是和公开的密码学标准答案比。这样即使 KDF 或派生逻辑有 bugAES 部分也不会被自洽的错误掩盖。上层 WSC 派生则通过自洽性测试 对真实 AP 的在线验证scripts/wps/wps_probe.py补齐最后一步真实 AP 接受我们的 M2 Authenticator 并推进到 M3就证明整条 DH→KDF→AuthKey 链在线上是对的。模块如何被真实攻击复用密码学层是纯函数、零 I/O上层的攻击机制按角色组装它PIN 暴力破解registrar.py 的每-PIN 状态机M2/M4/M6 由 messages.py 构建Authenticator 就是HMAC_AuthKey(M_prev || M_curr)的前 8 字节PixieDust 离线恢复拦截到 M3 包PKE、PKR、E-Hash1/2、E-Nonce、AuthKey后pixie.py 调用check_pin_half在约 12ms 内完成密钥空间搜索全程不需要网络PBC 按钮捕获角色反转后复用同一套 KDF 与 AES 路径解出 M8 中的 PSK。架构细节含 M1–M7 报文时序、两半拆分为何把复杂度从 10⁸ 降到 ~1.1×10⁴写在 src/wifit3/campaigns/wps/README.md是理解整个模块的最佳入口。总结这套设计教会我们的三件事纯函数密码学层 攻击编排层分离——同一套原语被 Registrar、Enrollee、Pixie 三种模式复用能用公开标准锚定的绝不自证——FIPS/NIST/RFC 已知答案是密码学实现的生命线离线测试覆盖不到的一层用最小在线探针补齐——一次 M2 被接受胜过千次断言。 延伸阅读src/wifit3/dot11/wsc/ 完整源码、src/wifit3/campaigns/wps/ 攻击编排、tests/dot11/test_wsc_crypto.py 离线测试。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

MVC架构从后端到前端:Spring Boot、Vue与React的落地实践全解析

MVC架构从后端到前端:Spring Boot、Vue与React的落地实践全解析

做后端十几年,又往前端折腾了几年,被问得最多的一个问题是:MVC 架构到底是什么。每次我都回一句,它不是三本书叠在一起,而是你写代码时脑子里那张“谁干什么”的地图。MVC 架构既是后端经典分层的起点,也是…

2026/10/1 13:14:09 阅读更多 →
从被动看板到主动雷达:实时监控系统的Flink+ClickHouse实战

从被动看板到主动雷达:实时监控系统的Flink+ClickHouse实战

PLFM_RADAR这个名字是我给一套内部监控系统起的代号。PLFM是我们对业务平台的简称,RADAR则意味着这玩意儿不是普通的数据看板——它要像雷达一样,主动扫描、实时探测,在异常信号刚冒头的时候就把警报甩到值班群里。断断续续做了两个月&#x…

2026/10/1 13:14:09 阅读更多 →
Redis接入AI:五大核心场景与实战指南

Redis接入AI:五大核心场景与实战指南

1. 先想清楚:Redis接入AI,到底接在哪个环节聊Redis和AI之前,先讲个观察:过去十年,绝大多数开发者眼里的Redis只是个"缓存中间件",放着热点数据、扛住高并发查询,跟机器学习、深度学习…

2026/10/1 13:13:08 阅读更多 →

最新新闻

ICEEMDAN信号分解实战:非平稳强噪声下的模态分离与Python工程实现

ICEEMDAN信号分解实战:非平稳强噪声下的模态分离与Python工程实现

简介:本资源是一份面向科研人员、工程师及Python开发者的时间序列信号处理实战项目,聚焦ICEEMDAN算法的工程化改进与GUI落地应用,解决传统EEMD/CEEMDAN在噪声鲁棒性、模态混叠抑制和大规模信号自适应分解中的关键瓶颈。包内含1个73KB的完整do…

2026/10/1 15:56:29 阅读更多 →
派尼瑞普2026年臭氧设备厂家:专注臭氧发生器及配套产品研发制造

派尼瑞普2026年臭氧设备厂家:专注臭氧发生器及配套产品研发制造

派尼瑞普在2026年作为臭氧设备厂家,专注臭氧发生器及配套产品的研发制造,青岛派尼尔环保技术有限公司可提供相关设备与配套服务。臭氧设备与臭氧发生器简介 青岛派尼尔环保技术有限公司在臭氧设备领域开展业务,主要方向包括 臭氧发生器 以及后…

2026/10/1 15:56:29 阅读更多 →
物联网网络交换机:2026-2032年预计实现7.8%年复合增长,产业发展稳步推进

物联网网络交换机:2026-2032年预计实现7.8%年复合增长,产业发展稳步推进

从核心市场规模来看,2025年全球物联网网络交换机市场销售额已经达到13.27亿美元,预计2032年将突破22.31亿美元,2026-2032年复合年增长率稳定维持在7.8%,在整体企业网交换机大盘增速放缓的背景下,这条细分赛道的稳健增长…

2026/10/1 15:56:29 阅读更多 →
Step-5-Preview:统一资源调度器实现三域协同开发

Step-5-Preview:统一资源调度器实现三域协同开发

1. 项目概述:这不是一个“预览”,而是一次跨域计算能力的压力测试“Step-5-Preview”这个命名本身就带着一股实验室里刚拆封的硬件味儿——它不叫“Beta”、不叫“RC”,也不叫“Developer Build”,偏偏选了“Preview”&#xff0c…

2026/10/1 15:56:29 阅读更多 →
金蝶 s-HR 二次开发避坑:元数据、扩展字段与接口对接

金蝶 s-HR 二次开发避坑:元数据、扩展字段与接口对接

接手金蝶 s-HR 二次开发的人,大多有同一个错觉:不就是个表单系统,拖拖拽拽配一配就完事了。真上手才发现,加一个字段要动四五个地方,改一段审批流程跑出来的结果跟预想的完全不一样,接口明明返回成功但两边…

2026/10/1 15:56:29 阅读更多 →
relsent-bert-zh-large(知更鸟)模型跨领域应用

relsent-bert-zh-large(知更鸟)模型跨领域应用

核心特点:同时输出【对话双方关系类型 情感极性 关系演变趋势】,区别于普通情感分析只判断正负,主打人际交互文本的多维理解,下面是可落地的其他领域场景:1. 智能客服 / 政企热线识别客户与客服之间:客户…

2026/10/1 15:55:29 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →