频率分析与维吉尼亚密码破解
1. 频率分析基础
频率分析是一种通过统计文本中字母出现频率来分析文本特征的方法。在英语中,六个最常用的字母是 E、T、A、O、I、N。
在频率分析中,我们通常会用到一个字典 freqToLetter ,它以整数频率计数为键,以字母字符串列表为值。例如,对于示例字符串 “Alan Mathison Turing…”,经过处理后 freqToLetter 的值如下:
{1: 'Z', 2: 'QJ', 3: 'X', 135: 'A', 8: 'K', 139: 'I', 140: 'T', 14: 'V',
21: 'Y', 30: 'BW', 36: 'P', 37: 'FU', 39: 'G', 58: 'MD', 62: 'L', 196: 'E',
74: 'C', 87: 'H', 89: 'S', 106: 'R', 113: 'O', 122: 'N'}
在处理过程中,字典中的列表会被排序并转换为字符串。例如,对于键为 30、37 和 58 的值,在循环执行前为 {30: ['B', 'W'], 37: ['F', 'U'], 58: ['D', 'M'], ...} ,执行后变为 {30: 'BW', 37: 'FU', 58: 'MD', ...} ,这是通过 join() 方法实现的,如 freqToLetter[30] 从 ['B'
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



