"Дэвид Кан. Взломщики кодов " - читать интересную книгу автора

установить, являлись ли они подлинно арабскими или были заимствованы из
других языков. Большую роль в обнаружении лингвистических закономерностей,
приведших к возникновению криптоанализа у арабов, сыграло также развитие
лексикографии. Ведь при составлении словаря автору фактически приходилось
учитывать частоту встречаемости букв, а также то, какие буквы могут стоять
рядом, а какие - никогда не встречаются по соседству.
Калкашанди начинает изложение криптоаналитических методов с главного:
криптоаналитик должен знать язык, на котором написана криптограмма.
Поскольку арабский язык, "самый благородный и самый прекрасный из всех
языков", является "одним из наиболее распространенных", далее дается
пространное описание его лингвистических характеристик. Приводятся перечни
букв, которые никогда не стоят вместе в одном слове, и букв, которые редко
появляются по соседству, а также буквенные комбинации, которые в словах
встретить невозможно. Последним идет список букв в порядке "частоты их
использования в арабском языке в свете результатов изучения священного
Корана". Автор даже отмечает, что "в произведениях, не связанных с Кораном,
частота использования может быть иной".
Калкашанди продолжает:

"Если вы хотите прочесть сообщение, которое вы получили в
зашифрованном виде, то прежде всего начните подсчет букв, а
затем сосчитайте, сколько раз повторяется каждый знак, и
подведите итог в каждом отдельном случае. Если изобретатель
шифра был очень внимателен и скрыл в сообщении все границы
между словами, то первая задача, которая должна быть решена,
заключается в нахождении знака, разделяющего слова. Это
делается так: вы берете букву и работаете, исходя из
предположения, что следующая буква является знаком, делящим
слова. И таким образом вы изучаете все сообщение с учетом
различных комбинаций букв, из которых могут быть составлены
слова... Если получается, тогда все в порядке; если нет, то вы
берете следующую по счету букву и т. д., пока вы не сможете
установить знак раздела между словами. Затем нужно найти, какие
буквы чаще всего встречаются в сообщении, и сравнить их с
образцом частоты встречаемости букв, о котором упоминалось
прежде. Когда вы увидите, что одна буква попадается чаще других
в данном сообщении, вы предполагаете, что это буква "Алиф".
Затем вы предполагаете, что следующая по частоте встречаемости
будет буквой "Лам". Точность вашего предположения должна
подтверждаться тем фактом, что в большинстве контекстов буква
"Лам" следует за буквой "Алиф"... Затем первые слова, которые
вы попытаетесь разгадать в сообщении, должны состоять из двух
букв. Это делается путем оценки наиболее вероятных комбинаций
букв до тех пор, пока вы не убедитесь в том, что вы стоите на
правильном пути. Тогда вы глядите на их знаки и выписываете их
эквиваленты всякий раз, когда они попадаются в сообщении. Нужно
применять точно такой же принцип по отношению к трехбуквенным
словам этого сообщения, пока вы не убедитесь, что вы на что-то
напали. Вы выписываете эквиваленты из всего сообщения. Этот же
принцип применяется по отношению к словам, состоящим из четырех