You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于重合指数(IOC)破解ADFGVX密码换位密钥的脚本问题咨询

ADFGVX密码破解方案及代码问题分析

现有实现的遗漏问题

  • 评分函数逻辑错误:当前你直接对逆换位后的ADFGVX 6字符序列计算单字符重合指数(IOC),不符合ADFGVX的加密结构。逆换位后的输出是替换阶段的密文,需每2个字符为一组对应1个明文字符,直接计算单字符IOC无法匹配自然语言的分布特征,会导致大量错误密钥的评分高于正确密钥。
  • 爬山算法易陷入局部最优:现有实现仅采用随机交换两个密钥位置的单一扰动策略,没有设置接受劣解的机制,搜索很容易卡在局部最优解,无法找到全局最优的正确密钥。
  • 缺少多轮随机重启机制:单次爬山的搜索范围非常有限,若仅使用少量初始密钥运行算法,会导致正确密钥根本没有进入候选池的机会。
  • 候选池规模不足:仅保留前10个最优密钥,当换位密钥长度≥8时,候选池规模至少需要扩大到30~50个,才能覆盖到正确密钥的可能范围。

更优的破解方案

  • 优化评分函数:将逆换位后的序列两两分组,把每个分组当成独立符号,计算该符号集的重合指数,或者使用ADFGVX序列的2/3元组ngram评分,更贴合自然语言的分布规律,筛选准确性会大幅提升。
  • 升级搜索算法:将基础爬山算法替换为模拟退火算法,允许在搜索前期以一定概率接受评分更差的解,大幅提升全局搜索能力,避免陷入局部最优;也可以搭配多轮随机重启,每次用不同的随机初始密钥运行搜索,再汇总所有候选密钥。
  • 增加快速校验逻辑:拿到换位后的候选串后,先统计两两分组的符号频率,匹配英文单字母频率分布(最高频符号对应E、T等高频明文字母),快速淘汰不符合频率规律的错误密钥,减少后续替换验证的工作量。

提供的代码可优化点

# 1. 新增模拟退火的温度参数,允许接受劣解,避免陷入局部最优
# 2. 替换IOC计算逻辑为两两分组后的符号重合指数,提升评分准确性
# 3. 移除key not in bestkeys的遍历判断,改用哈希集合存储已出现的密钥,提升运行效率
# 4. 新增随机重启逻辑,用不同初始密钥多次运行搜索,扩大候选范围

内容的提问来源于stack exchange,提问作者creeper_the_cat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:36:08