B1 · 第4集 · 5:12
单字母替换密码
本集讲解单字母替换密码原理及频率分析破解法。
来源:stph / aperi.tube · 许可:CC BY-SA 4.0
字幕
Eh bien, le cas général d'une substitution monoalphabétique,
那么,单字母替换法的一般情况是:
c'est j'associe à n'importe quelle lettre dans le clair n'importe quelle lettre dans
我将明文中的任意字母,
le chiffré. Je vous ai mis un exemple de correspondance sur la planche ici.
替换成密文中的任意字母。黑板上我已给出一个对应示例。
Vous voyez que au A est associé le P, au B est associé le O,
您可以看到:A对应P,B对应O,
au C le I, au D le U, etc.
C对应I,D对应U,依此类推。
Cette fois- ci, par rapport au chiffre de César,
这一次,与凯撒密码相比,
on n'a plus du tout la contrainte que la ligne du bas doit suivre l'ordre de
下方字母行不再必须遵循
l'alphabet. Alors si je reprends le même mot, musique,
字母表的原有顺序。因此,若仍以单词“musique”为例,
cette fois- ci le M en haut devient J en bas.
上方的M这次变为下方的J。
Le U en haut devient N en bas,
上方的U变为下方的N,
le S en haut devient A en bas, etc.
上方的S变为下方的A,依此类推。
Le cryptanalyste, lui, se dit: « Combien j'ai de possibilités? »
密码分析者会想:“我有多少种可能?”
Et bien pour la lettre A, j'ai 26 possibilités,
对于字母A,我有26种选择,
je peux associer à la lettre de l'alphabet que je veux.
可以将其映射为任意一个字母。
Pour le b, je n'en ai plus que 25 parce que je ne peux pas prendre la lettre que
对于B,就只剩25种了,
j'ai utilisée pour a.
因为不能重复使用A已选的那个字母。
Pour c, je n'en aurai plus que 24, pour d, 23, etc.
对于C只剩24种,D剩23种,依此类推。
Jusqu'à arriver au z, pour lequel il n'y a plus qu'une possibilité.
直到Z时,就仅剩1种可能了。
Globalement, le nombre de possibilités est donc 26 x 25 x 24 x 23,
总体而言,总可能性数量为26×25×24×23,
etc. x 2 x 1. On appelle ça factorielle de 26, et l'ordre de grandeur,
……再乘以2×1。这称为26的阶乘,其数量级为
c'est 4 fois 10 puissance 26 possibilités.
4×10²⁶种。
Pour notre ordinateur, ça représente un calcul de l'ordre de douze mille milliards
对我们的计算机而言,这相当于约一万二千亿年
d'années. Donc le cryptanalyste va se dire que c'est un chiffrement très fiable.
的运算量。因此密码分析者会认为这种加密非常可靠。
Et pourtant, on sait facilement casser ce genre de chiffrement.
然而,我们其实很容易破解这类加密。
Je vais vous montrer comment.
接下来我将向您演示方法。
On va partir d'un constat qui est le suivant, c'est qu'en français,
我们先从一个事实出发,即在法语中,
la lettre W, elle est très peu utilisée.
字母W极少被使用。
À l'inverse, la lettre E, elle, elle est très utilisée.
相反,字母E则被大量使用。
Donc si je chiffre avec cette méthode,
因此,如果我用这种方法加密,
la lettre qui représente le W, je dois
代表W的字母,
la trouver très peu dans le chiffré,
在密文中必然出现得极少;
alors que la lettre qui représente le E, elle, je dois la trouver beaucoup.
而代表E的字母,则必然频繁出现。
D'une manière générale, on est capable, pour une langue donnée,
一般来说,对于某种特定语言,
par exemple pour nous le français,
比如我们的法语,
de calculer les fréquences d'apparition moyennes des lettres.
我们可以计算出各个字母的平均出现频率。
Pour ce faire, on va donner à un programme
为此,我们将大量文本输入程序,
tout Balzac, tout Victor Hugo, beaucoup beaucoup de textes,
比如全部巴尔扎克、全部雨果的作品,以及大量其他文本,
tout s'écrit en français, et
这些文本全部用法语写成,
on va lui demander de calculer les fréquences d'apparition des lettres.
并让它统计各字母的出现频率。
Par exemple, si je commence par enveloppe, je vais dire,
例如,若我从单词“enveloppe”(信封)开始,我会说:
je lis d'abord le e de enveloppe, ça me fait une lettre, un e.
我先读到其中的e,这就记下一个字母:e。
Ensuite, je lis le n, ça me fait deux lettres, un e, un n.
接着读n,就变成两个字母:一个e,一个n。
Ensuite le v, trois lettres, un e, un n, un v.
再读v,变成三个字母:e、n、v各一个。
Ensuite le e. Ça me fait quatre lettres, deux E, un N, un V,
再读e,就变成四个字母:两个e、一个n、一个v,
etc. Et si je fais ça sur un très grand nombre de textes tous écrits en français,
以此类推。如果我对大量法语文本都做这样的统计,
je vais calculer une sorte de tableau de fréquence d'apparition des lettres en
就能得出一份法语中各字母出现频率的统计表。
français. Ce tableau, il va différer d'une langue à l'autre.
这份表格会因语言不同而各异。
Vous voyez là, j'ai représenté en rouge les fréquences de l'anglais.
您看这里,我用红色标出了英语的频率。
On fait la même chose, mais en lui donnant à manger des livres,
我们同样可以对英语这么做,只是给程序喂入的材料,
des textes tous écrits en anglais.
是全部用英语写成的书籍和文本。
Une fois que je connais ces fréquences d'apparition,
一旦我掌握了这些字母的出现频率,
je vais les utiliser pour déchiffrer mon message.
我就会用它们来破译我的密文。
Je vais faire la chose suivante.
接下来我要做的是:
Je vais mettre en correspondance les fréquences du français,
我把法语中各字母的出现频率列出来,
ici je les ai mises en bleu, et je les ai réorganisées par fréquence décroissante
这里我用蓝色标出,并按频率从高到低重新排列,
plutôt que par ordre de l'alphabet.
而不是按字母表顺序排列。
Donc il y a le E en premier, ensuite le A, ensuite le I, etc.
所以排在最前面的是E,然后是A,再然后是I,依此类推。
Et en dessous, je vais mettre les fréquences d'apparition des lettres dans mon
在下方,我列出密文中各字母的出现频率:
message chiffré.
密文中各字母的出现频率。
Ici par exemple, c'est le H qui ressort le plus souvent dans mon chiffré,
例如,这里密文中出现最多的是H,
ensuite c'est le O, ensuite c'est le D, ensuite c'est le K, etc.
其次是O,然后是D,再然后是K,等等。
Et si le message est en français, eh bien
如果这段密文原本是法语,那么
les tableaux de fréquences n'auront pas les mêmes lettres,
两张频率表中的字母虽不相同,
mais auront les mêmes fréquences.
但对应的频率却是一致的。
Il y aura une grande barre à peu près à 15,
比如,会有一条约15%的长条,
ensuite une barre à peu près à 9, ensuite une barre à peu près à 8,
接着一条约9%的,再接着一条约8%的,等等。
etc. Et pour déchiffrer le message,
而要破译这条消息,
je vais simplement dire qu'il est très probable que le H dans le chiffré représente
我就直接推断:密文中的H极有可能对应明文中的E。
le E dans le clair.
密文中的H极有可能对应明文中的E。
Il est très probable que le O représente le A, que le D représente le I,
O很可能对应A,D很可能对应I,以此类推。
etc. Et si ce n'est pas parfait,
即使结果并非完全准确,
ça va être suffisant pour comprendre les mots et pour corriger les associations qui
也足以帮我们识别出单词,并修正那些错误的对应关系。
seraient erronées.
并修正那些错误的对应关系。
Et une propriété très intéressante de cette technique,
这种技术还有一个非常有趣的特点:
c'est que plus on me donne un message à déchiffrer long,
待破译的消息越长,
et plus cette méthode va être fiable.
这种方法就越可靠。