- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Криптография и свобода - Михаил Масленников
Шрифт:
Интервал:
Закладка:
Дисковые шифраторы – вот, пожалуй, первая попытка построить удобные шифры гарантированной стойкости. Для них можно выписать уравнения шифрования и более-менее точно подсчитать количество различных вариантов параметров, которые нужно будет опробовать для вскрытия ключа к такому шифру.
Дисковые шифраторы были изобретены очень давно, еще до второй мировой войны. Они предназначены для шифрования телеграфных сообщений, состоящих из обычных букв латинского алфавита. Идея их построения очень простая. Каждой из 26 латинских букв ставится в соответствие один контакт на входе. При нажатии на клавишу, соответствующую этой букве, на данный контакт поступает электрический импульс, который начинает свое движение по цепочке дисков. Каждый диск представляет из себя колесо, на котором есть входные и выходные контакты, связанные между собой проводами-перепайками так, что одному контакту на входе соответствует строго один контакт на выходе. В математике такую конструкцию принято еще называть подстановкой. В результате после прохождения всей цепочки дисков на выходе появляется электрический импульс только на одном контакте. Буква, соответствующая этому контакту, является буквой шифртекста.
Диски в процессе шифрования вращаются друг относительно друга и тем самым обеспечивается отсутствие простой замены: одна и та же буква, зашифрованная в разные моменты времени, с большой вероятностью даст различные буквы в шифртексте.
Историю возникновения дисковых шифраторов, а также их подробное описание и характеристики нам рассказывали на СД–7Б. Сейчас все это можно прочитать в упоминавшейся уже ранее книге Дэвида Кана «Взломщики кодов». Здесь же мне хотелось бы упомянуть об одном весьма интересном эпизоде из лекций по СД–7Б, который я потом неоднократно вспоминал в своей дальнейшей работе.
У дискового шифратора есть два типа ключей. Одни ключи – долговременные, это перепайки между контактами дисков, т.е. те подстановки, которые соответствуют каждому диску. Их смена означает смену самого диска, и производится довольно редко, например, раз в месяц или даже в год. Другие ключи – начальное расположение дисков друг относительно друга. Их можно менять гораздо чаще, делать различными для каждой телеграммы в зависимости от ее номера. Такие ключи называются сеансовыми или разовыми. Количество долговременных ключей – всевозможных подстановок — огромно. Для каждого диска может быть всего 26! (26 факториал – произведение всех чисел от 1 до 26) различных вариантов его перепаек, а дисков несколько, иногда по 6, поэтому общее количество долговременных ключей получается совершенно фантастическим, (26!)6, нечего даже и думать о возможности опробования такого числа вариантов. Разовых же ключей намного меньше, всего (26)6 различных вариантов, даже во времена «Руты–110» было ясно, что такая работа по силам ЭВМ. Сюда еще добавляются разные заморочки, связанные с законом движения дисков друг относительно друга, но общий вывод можно сделать один: без знания подстановок надеяться дешифровать дисковый шифратор бесполезно. И вот тут лектор произнес одну замечательную фразу:
– Вы спросите, как вычисляются долговременные ключи? А никак, они покупаются.
Заходишь в магазин и покупаешь. На самом деле сейчас широко известно несколько детективных историй о том, как именно добывались долговременные ключи. Одна из таких историй – о немецкой подводной лодке U–571 времен второй мировой войны и находящемся на ней дисковом шифраторе «Энигма», захваченном американцами только для того, чтобы «купить» неизвестные подстановки.
Невозможность перебора долговременных ключей в дисковых шифраторах была равносильна признанию аксиомы в криптографии, аналогично той, что в геометрии прямая короче всякой другой линии, соединяющей ее концы, что в мат. анализе последовательность натуральных чисел бесконечна, что в физике справедливы законы Ньютона. Иметь дело с неизвестными факториальными ключами-подстановками, пытаться их определить, как-то вычислить – занятие малоприятное, в большинстве случаев просто бесполезное, их можно только «купить».
И вот тут начались вопросы и ответы.
– А почему нельзя сделать подстановку разовым ключом?
– Менять каждый раз диск в дисковом шифраторе долго, сложно и дорого.
– А не в дисковом? А, например, в шифре на новой элементной базе, работающем с байтами?
И уже много позже:
– А если мы реализуем шифр программно, то почему там нельзя использовать разовые факториальные ключи?
Можно, и еще как! Наличие факториальных ключей в криптосхеме, работающей с байтами по типу традиционного регистра сдвига, подрубает на корню все усилия криптоаналитика выписать и проанализировать уравнения шифрования, найти в них какие-то зависимости. Подстановка неизвестна – все, суши весла. Но если в дисковом шифраторе подстановки были долговременными ключами по объективным причинам, то в программном шифре все эти причины исчезли, запросто можно сделать факториальные ключи разовыми! Первый этап – схема работает вхолостую, выработанная генератором гамма идет на внутренние цели, выработку факториальных ключей-подстановок. А на втором этапе традиционный регистр сдвига, работающий с байтами и дополненный ключами-подстановками, начинает вырабатывать гамму наложения для шифрования открытого текста. За счет факториальных ключей схема может быть сильно упрощена и работать в дальнейшем с огромной скоростью, намного перекрывающей все небольшие издержки начальной холостой работы. Для такой схемы пусть хоть весь Генштаб каждый день трясет перед телекамерами CNN своими шифрованными телеграммами, дразнит ими АНБ вволю, до факториальных ключей им все равно не добраться!
Идея факториальных ключей вызревала давно. Оценки стойкости схем с факториальными ключами колебались от 10100 до 101000, при желании можно сделать и больше, но это уже было бы изощрением. Скорости работы факториальных схем превосходили скорость программной реализации DES на порядок. К концу 80–х годов стало очевидно: факториальные схемы на новой элементной базе – это весьма перспективное направление развития шифров, сочетающее в себе высокую скорость и гарантированную стойкость. И что же дальше?
– Вы не выдвигали вашу схему на стандарт шифрования?
Да уж, чем-чем, а любовью к бумаготворческой деятельности Господь меня не наградил. Играть в бюрократические игры, состязаться в казуистике (а секретов врагам не выдадим?) – это не по мне.
– Нет.
Конкурент в лице заместителя начальника Спецуправления 8 Главного управления КГБ СССР вздохнул спокойнее. Действительно, доказывать кагалу начальников, что советским стандартом шифрования должна быть новая и перспективная схема, а не допотопная копия DES, что заветы Сталина уже устарели, что кибернетика – это не буржуазная лженаука, а сегодняшний и уж тем более завтрашний день криптографии, — это бесполезный Сизифов труд. По крайней мере, в СССР в то время.
Да, честно говоря, в конце 80–х годов пропихнуть какую-то оригинальную криптосхему в качестве открытого стандарта шифрования было абсолютно нереально. Слишком силен еще был синдром тотальной секретности в криптографии, вряд ли какой начальник решился бы взять на себя ответственность дать добро на опубликование каких-то оригинальных криптографических результатов. Переделайте немного DES, придайте ему совковый вид, но никаких своих секретов при этом не раскрывать! Это уже позже шелест зеленых купюр немного приоткрыл у Сталинской криптографической системы ту таинственность, за которой подчас скрывались элементарное ничегонеделание, нежелание начальников брать на себя даже самую малую долю ответственности, тихое стоячее болото. Но про это мы еще поговорим попозже, а пока вернемся в 70–е годы, на 4 факультет.
Что такое электронные шифраторы? Это то, что пришло на смену дисковым шифраторам. Постепенно идеи механических колес, рукояток, вращаемых человеком, штифтов, перепаек и перемычек стали анахронизмом. Появились полупроводники, транзисторы и первые логические элементы, с помощью которых стало возможным реализовывать криптографические преобразования, в которых алфавитом открытого и шифрованного текстов является множество, состоящее только из двух элементов – 0 и 1. Любую букву любого алфавита можно представить в виде двоичного вектора, следовательно, электронный шифратор пригоден для шифрования любой информации. Как шифровать? Конечно же гаммированием, наложением двоичной гаммы на двоичный текст. Задача простая: придумать генератор двоичной гаммы, зависящий от ключа, в котором вычисление такого ключа при некотором известном отрезке гаммы было бы таким трудоемким, что делало бы эту задачу неразрешимой за реальное время. Ну и, естественно, чтобы такой генератор был не очень сложно реализуем с помощью имеющихся типовых логических элементов.