Безопасность алгоритмов
Различные алгоритмы предоставляют различные степени безопасности в зависимости от того, насколько трудно взломать алгоритм. Если стоимость взлома алгоритма выше, чем стоимость зашифрованных данных, вы, скорее всего, в безопасности. Если время взлома алгоритма больше, чем время, в течение которого зашифрованные данные должны сохраняться в секрете, то вы также, скорее всего, в безопасности. Если объем данных, зашифрованных одним ключом, меньше, чем объем данных, необходимый для взлома алгоритма, и тогда вы, скорее всего, в безопасности.
Я говорю "скорее всего", потому что существует вероятность новых прорывов в криптоанализе. С другой стороны, значимость большинства данных падает со временем. Важно, чтобы значимость данных всегда оставалась меньше, чем стоимость взлома системы безопасности, защищающей данные.
Ларе Кнудсен (Lars Knudsen) разбил вскрытия алгоритмов по следующим категориям, приведенным в порядке убывания значимости:
Полное вскрытие.Криптоаналитик получил ключ, К, такой, что DK(C) — Р.
Глобальная дедукция.Криптоаналитик получил альтернативный алгоритм, А, эквивалентный DK(C) без знания К.
Местная (или локальная) дедукция.Криптоаналитик получил открытый текст для перехваченного шифротекста.
Информационная дедукция. Криптоаналитик получил некоторую информацию о ключе или открытом тексте. Такой информацией могут быть несколько бит ключа, сведения о форме открытого текста и так далее.
Алгоритм является безусловно безопасным, если, независимо от объема шифротекстов у криптоаналитика, информации для получения открытого текста недостаточно. По сути, только шифрование одноразовыми блокнотами невозможно вскрыть при бесконечных ресурсах. Все остальные криптосистемы подвержены вскрытию с использованием только шифротекста простым перебором возможных ключей и проверкой осмысленности полученного открытого текста. Это называется вскрытием грубой силой.
Криптография больше интересуется криптосистемами, которые тяжело взломать вычислительным способом. Алгоритм считается вычислительно безопасным (или, как иногда называют, сильным), если он не может быть взломан с использованием доступных ресурсов сейчас или в будущем. Термин "доступные ресурсы" является достаточно расплывчатым. Сложность вскрытия можно измерить различными способами:
Сложность данных. Объем данных, используемых на входе операции вскрытия.
Сложность обработки.Время, нужное для проведения вскрытия. Часто называетсякоэффициентом работыилифактором трудозатрат.
Требования к памяти. Объем памяти, необходимый для вскрытия.
В качестве эмпирического метода сложность вскрытия определяется по максимальному из этих трех коэффициентов. Ряд операций вскрытия предполагают взаимосвязь коэффициентов: более быстрое вскрытие возможно за счет увеличения требований к памяти.
Сложность выражается порядком величины. Если сложность обработки для данного алгоритма составляет 2128, то 2128 операций требуется для вскрытия алгоритма. (Эти операции могут быть сложными и длительными.) Так, если предполагается, что ваши вычислительные мощности способны выполнять миллион операций в секунду, и вы используете для решения задачи миллион параллельных процессоров, получение ключа займет у вас свыше 1019 лет.
В то время, как сложность вскрытия остается постоянной (пока какой-нибудь криптоаналитик не придумает лучшего способа вскрытия), мощь компьютеров растет. За последние полвека вычислительные мощности феноменально выросли, и нет никаких причин подозревать, что эта тенденция не будет продолжена. Многие криптографические взломы пригодны для параллельных компьютеров: задача разбивается на миллиарды маленьких кусочков, решение которых не требует межпроцессорного взаимодействия. Объявление алгоритма безопасным просто потому, что его нелегко взломать, используя современную технику, в лучшем случае ненадежно. Хорошие криптосистемы проектируются устойчивыми к взлому с учетом развития вычислительных средств на много лет вперед.
- Информационная безопасность
- Отправитель и получатель
- Сообщения и шифрование
- Проверка подлинности, целостность и неотрицание авторства
- Алгоритмы и ключи
- Симметричные алгоритмы
- Алгоритмы с открытым ключом
- Криптоанализ
- Безопасность алгоритмов
- Стеганография
- Подстановочные и перестановочные шифры
- Подстановочные шифры
- Перестановочные шифры
- Простое xor
- Одноразовые блокноты
- Ipklpsfhgq
- Элементы протоколов
- Смысл протоколов
- Персонажи
- Протоколы с посредником
- Арбитражные протоколы
- Самодостаточные протоколы
- Попытки вскрытия протоколов
- Передача информации с использованием симметричной криптографии
- Однонаправленные функции
- Однонаправленные хэш-функции
- Коды проверки подлинности сообщения
- Передача информации с использованием криптографии с открытыми ключами
- Смешанные криптосистемы
- Головоломки Меркла
- Цифровые подписи
- Подпись документа с помощью симметричных криптосистем и посредника
- Деревья цифровых подписей
- Подпись документа с помощью криптографии с открытыми ключами
- Подпись документа и метки времени
- Подпись документа с помощью криптографии с открытыми ключами и однонаправленных хэш-функций
- Алгоритмы и терминология
- Несколько подписей
- Невозможность отказаться от цифровой подписи
- Использование цифровых подписей
- Цифровые подписи и шифрование
- Возвращение сообщения при приеме
- Обнаружение вскрытия, основанного на возвращении сообщения
- Вскрытия криптографии с открытыми ключами
- Генерация случайных и псевдослучайных последовательностей
- Псевдослучайные последовательности
- Криптографически безопасные псевдослучайные последовательности
- Настоящие случайные последовательности
- Типы алгоритмов и криптографические режимы
- Режим электронной шифровальной книги
- Набивка
- Повтор блока
- Режим сцепления блоков шифра.
- Потоковые шифры
- Устройство генератора потока ключей.
- Идентификация и авторизация
- Аутентификация
- Парольная аутентификация
- Электронные смарт-карты
- Использование других уникальных предметов
- Методы биометрической аутентификации
- Идентификация по отпечаткам пальцев
- Идентификация по Сетчатке и радужной оболочке глаза
- Голосовая идентификация
- Распознавание по форме лица, руки или ладони
- Распознавание по рукописному почерку.
- Клавиатурный почерк
- Задачи аудита
- Применяемые методики
- Результаты аудита
- Классификация угроз Digital Security (Digital Security Classification of Threats)
- Технологические угрозы информационной безопасности
- Организационные угрозы информационной безопасности
- Социальная инженерия
- Компьютерные вирусы
- Файловые вирусы
- «Троянские кони» («трояны»)
- Сетевые черви
- Загрузочные вирусы
- Мобильные («встроенные») вирусы
- Полиморфизм вирусов
- Противодействие вирусам
- Места наиболее вероятного внедрения вирусов