Метод Касиски
Найдите длину ключа шифра с повторяющимся ключом по расстояниям между повторяющимися последовательностями.
Попробуйте:
Длина последовательности
Множители до
Классический выбор это три буквы. Две находят гораздо больше повторов, но почти все они случайны, а четыре и больше оставляют лишь самые надёжные свидетельства, для чего нужен более длинный текст.
Вставьте шифртекст, чтобы разобрать его. Образцы это настоящий шифртекст Виженера с ключами из пяти и семи букв.
Как пользоваться Метод Касиски
- 1
Вставьте шифртекст
Положите зашифрованный текст в поле. Обычно нужно несколько сотен букв, чтобы появились повторы; меньше сотни часто не находится ничего.
- 2
Выберите длину последовательности
Начните с трёх букв. Если ничего не повторяется, опуститесь до двух и считайте результат слабым свидетельством. Если текст длинный, а подсчёт шумный, поднимитесь до четырёх.
- 3
Прочитайте поддержку по множителям
Каждая длина-кандидат оценивается против того, что дала бы ей одна лишь случайность, и предлагается сильнейший представитель каждого семейства делителей и кратных. Сырое число расстояний и число разных последовательностей за ним тоже показаны: множитель, поддержанный несколькими разными последовательностями, надёжнее одной говорливой, которая повторяется, и это суждение остаётся за вами, а не встраивается в оценку.
- 4
Передайте длину решателю
Отдайте предложенную длину решателю Виженера или сверьте её со столбцовой таблицей калькулятора индекса совпадений. Согласие двух методов гораздо весомее любого из них по отдельности.
Метод Касиски простыми словами
Наблюдение, на котором стоит метод
Шифр Виженера сдвигает каждую букву на свою величину, циклически проходя по ключевому слову. Это ломает подсчёт букв, потому что одна и та же буква открытого текста становится разными буквами шифртекста в зависимости от места. Но ключ повторяется, а повторение просачивается наружу.
Допустим, слово THE встречается в открытом тексте дважды и оба раза случайно попадает на одни и те же три буквы ключа. Оба раза оно превращается в одни и те же три буквы шифртекста. Тогда расстояние между ними, посчитанное в буквах, это целое число оборотов ключа, то есть кратное длине ключа.
Одно такое совпадение почти ничего не доказывает. Десятки, разложенные на множители и просуммированные, указывают на длину напрямую.
Что измеряет этот инструмент
Каждая последовательность выбранной длины, встречающаяся больше одного раза, собирается вместе со своими позициями. Для каждой считаются все попарные расстояния, а не только промежутки между соседями: три вхождения несут три свидетельства, и если брать только соседние промежутки, одно из них выбрасывается.
Затем каждая длина-кандидат получает два числа: сколько расстояний она делит и из скольких разных повторяющихся последовательностей пришло хотя бы одно из них. Ранжирование использует первое, поправленное на случайность. Второе стоит рядом и намеренно не входит в оценку, потому что это суждение, а не арифметика: одна говорливая последовательность, повторившаяся восемь раз, раздувает счёт расстояний, не добавляя независимых свидетельств, а три разные последовательности, согласные на одном множителе, это три отдельные случайности, указывающие в одну сторону. Если предложенная длина держится на одной последовательности, именно это число и должно вас насторожить.
Ловушка делителей
Именно здесь спотыкаются, и это скорее арифметика, чем криптография. Если 12 делит расстояние, то его делят и 2, и 3, и 4, и 6. Любой делитель настоящей длины ключа наследует всю её оценку, поэтому таблица, отсортированная по поддержке, ставит наверх самые маленькие множители, каким бы ни был ключ на самом деле.
Решение тоже арифметическое. Взыщите с каждого множителя ту поддержку, которую случайность отдаёт ему даром: 2 делит половину любого набора расстояний бесплатно, поэтому его сырой счёт нужно уполовинить, прежде чем ставить рядом с множителем, который делит лишь шестую часть. После такой поправки настоящая длина ключа обходит собственные делители, ведь делитель несёт только свою долю свидетельства. Поправьте ещё и на шум, положенный множителю и растущий вместе с ним, и настоящая длина обойдёт также свои кратные. Остаётся одно правило, в котором нет ни одной подогнанной величины: в любом семействе делителей и кратных остаётся сильнейший. Полный подсчёт остаётся ниже, чтобы вы могли не согласиться: если за предложенной длиной стоит одна последовательность, а за другим множителем шесть, на него стоит взглянуть.
Когда метод не работает и что делать вместо него
Методу Касиски нужны повторы, а у короткого сообщения их может просто не быть. Он также слабеет против шифров, намеренно избегающих повторения, и вовсе ничего не говорит о системе с бегущим ключом или одноразовым блокнотом, где ключ никогда не зацикливается.
Индекс совпадений подходит к тому же вопросу с другой стороны: он вообще не смотрит на повторы, а измеряет распределение букв в каждом возможном разбиении на столбцы. Поскольку два метода опираются на разные свойства текста, они редко отказывают одновременно, и длина, которую поддерживают оба, обычно и есть верная.
Часто задаваемые вопросы
Что такое метод Касиски?
Почему предлагается 6, если у 2 и 3 такая же поддержка?
Сколько нужно шифртекста?
Почему позиции не совпадают с тем, что я вижу в тексте?
Стоит ли брать последовательности из двух букв?
Что если Касиски и индекс совпадений расходятся?
Покидает ли мой шифртекст браузер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами