Содержание книги "Криптография с секретным ключом
:
шифры – от простых до невскрываемых"
Оглавление
Вступительное слово
Предисловие
Благодарности
Об этой книге
Об авторе
Об иллюстрации на обложке
1. Введение
2. Что такое криптография?
2.1 Невскрываемые шифры
2.2 Виды криптографии
2.3 Симметричная и асимметричная криптография
2.4 Блочные и потоковые шифры
2.5 Механические и цифровые шифры
2.6 Зачем выбирать шифр с секретным ключом?
2.7 Зачем создавать собственный шифр?
3. Предварительные сведения
3.1 Биты и байты
3.2 Функции и операторы
3.3 Булевы операторы
3.4 Системы счисления
3.5 Простые числа
3.6 Модульная арифметика
4. Инструментарий криптографа
4.1 Система оценивания
4.2 Подстановка
4.3 Перестановка
4.4 Фракционирование
4.5 Генераторы случайных чисел
4.6 Полезные комбинации, бесполезные комбинации
5. Подстановочные шифры
5.1 Простая подстановка
5.2 Перемешивание алфавита
5.3 Номенклаторы
5.4 Многоалфавитная подстановка
5.5 Шифр Беласо
5.6 Метод Касиски
5.7 Индекс совпадения
5.8 И снова об индексе совпадения
5.9 Вскрытие многоалфавитного шифра
5.10 Автоключ
5.11 Бегущий ключ
5.12 Моделирование роторных машин
6. Контрмеры
6.1 Двойное шифрование
6.2 Null-символы
6.3 Прерванный ключ
6.4 Омофоническая подстановка
6.5 Подстановка биграмм и триграмм
6.6 Сокрытие сообщений в изображениях
6.7 Добавление null-битов
6.8 Объединение нескольких сообщений
6.9 Внедрение сообщения в файл
7. Перестановка
7.1 Маршрутная перестановка
7.2 Столбцовая перестановка
7.3 Двойная столбцовая перестановка
7.4 Столбцовая перестановка с циклическим сдвигом
7.5 Перестановка со случайными числами
7.6 Селекторная перестановка
7.7 Перестановка с ключом
7.8 Деление перестановки пополам
7.9 Множественные анаграммы
8. Цилиндрический шифр Джефферсона
8.1 Вскрытие при наличии известных слов
8.2 Вскрытие при наличии только шифртекста
9. Фракционирование
9.1 Квадрат Полибия
9.2 Шифр Плейфера
9.3 Шифр Two Square
9.4 Шифр Three Square
9.5 Шифр Four Square
9.6 Шифр Bifid
9.7 Диагональный Bifid
9.8 Квадраты 6×6
9.9 Шифр Trifid
9.10 Шифр Three Cube
9.11 Прямоугольные сетки
9.12 Шестнадцатеричное фракционирование
9.13 Битовое фракционирование
9.14 Другие виды фракционирования
9.15 Повышение стойкости блоков
10. Фракционирование переменной длины
10.1 Шифр Morse3
10.2 Моном-биномные шифры
10.3 Периодические длины
10.4 Подстановка Хаффмана
10.5 Таг-системы Поста
10.6 Фракционирование в системах счисления по другим основаниям
10.7 Сжатие текста
11. Блочные шифры
11.1 Подстановочно-перестановочная сеть
11.2 Стандарт шифрования данных (DES)
11.3 Умножение матриц
11.4 Умножение матриц
11.5 Улучшенный стандарт шифрования (AES)
11.6 Фиксированная подстановка и подстановка с ключом
11.7 Инволютивные шифры
11.8 Подстановки переменной длины
11.9 Пульсирующие шифры
11.10 Сцепление блоков
11.11 Укрепление блочного шифра
12. Принципы безопасного шифрования
12.1 Большие блоки
12.2 Длинные ключи
12.3 Конфузия
12.4 Диффузия
12.5 Насыщение
Резюме
13. Потоковые шифры
13.1 Комбинирующие функции
13.2 Случайные числа
13.3 Мультипликативный конгруэнтный генератор
13.4 Линейный конгруэнтный генератор
13.5 Цепной XOR-генератор
13.6 Цепной аддитивный генератор
13.7 Сдвиговый XOR-генератор
13.8 FRand
13.9 Вихрь Мерсенна
13.10 Регистры сдвига с линейной обратной связью
13.11 Оценивание периода
13.12 Укрепление генератора
13.13 Комбинирование генераторов
13.14 Истинно случайные числа
13.15 Обновление случайных байтов
13.16 Синхронизированные гаммы
13.17 Функции хеширования
14. Одноразовый блокнот
14.1 Шифр Вернама
14.2 Запас ключей
14.3 Индикаторы
14.4 Алгоритм распределения ключей Диффи–Хеллмана
15. Матричные методы
15.1 Обращение матрицы
15.2 Матрица перестановки
15.3 Шифр Хилла
15.4 Шифр Хилла, компьютерные версии
15.5 Умножение больших целых чисел
15.6 Решение линейных сравнений
15.7 Шифры на основе больших целых чисел
15.8 Умножение на малое число
15.9 Умножение по модулю P
15.10 Изменение основания
15.11 Кольца
15.12 Матрицы над кольцом
15.13 Построение кольца
15.14 Нахождение обратимых матриц
16. Трехпроходный протокол
16.1 Метод Шамира
16.2 Метод Мэсси–Омуры
16.3 Дискретный логарифм
16.4 Матричный трехпроходный протокол
16.5 Двусторонний трехпроходный протокол
17. Коды
17.1 Джокер
18. Квантовые компьютеры
18.1 Суперпозиция
18.2 Квантовая запутанность
18.3 Исправление ошибок
18.4 Измерение
18.5 Квантовый трехэтапный протокол
18.6 Квантовое распределение ключей
18.7 Алгоритм Гровера
18.8 Уравнения
18.9 Минимизация
18.10 Квантовая имитация отжига
18.11 Квантовая факторизация
18.12 Ультракомпьютеры
Развлечения
Задачи
Эпилог
Предметный указатель