lec_2_s.ppt
- Количество слайдов: 12
КРИПТОСТОЙКОСТЬ ШИФРА
Пусть возможна отправка n сообщений T 1, T 2, . . . , Tn с вероятностью p 1, p 2, . . . , pn соответственно. Тогда мерой неопределенности сообщения для всех, кто обладает этой априорной информацией, может служить величина Физический смысл: H(T) – это количество дополнительных битов информации, которое необходимо в среднем передать (получить), чтобы полностью устранить неопределенность. Если никакой априорной информации о сообщении нет кроме его размера в N бит, то все возможные из 2 N вариантов считаются равновероятными и тогда неопределенность сообщения равна: H(T) = -2 N· 2 -N·log 2(2 -N) = N = | T |
После перехвата шифротекста величина неопределенности становится апостериорной ("после-опытной") или условной неопределенностью условием здесь является перехваченное шифрованное сообщение T': p ( Ti | T' ) - вероятность того, что исходное сообщение есть Ti при условии, что результат его зашифрования есть T'. Количество информации об исходном тексте, которое злоумышленник может извлечь из перехваченного шифротекста: I = H(T ) - H(T | T' ). В наилучшем для разработчиков шифра случае : H(T | T') = H(T), то есть I = 0. Шифры, удовлетворяющие условию H(T | T') = H(T), называются абсолютно стойкими или совершенными шифрами
Необходимое условие абсолютной стойкости шифра (доказано Шенноном): Для того, чтобы шифр был абсолютно стойким, необходимо, чтобы неопределенность алгоритма шифрования Е была не меньше неопределенности шифруемого сообщения: H(E) H(T) Надежность шифра зависит исключительно от его секретности и не зависит от прочих его свойств!
Злоумышленник может получить информацию о шифре следующими способами: - анализировать перехваченное шифрованное сообщение например, практически всегда в его распоряжении имеется определенный набор шифротекстов, для некоторых из них могут иметься и соответствующие открытые тексты, или даже возможность получить шифротекст для любого наперед заданного открытого текста; - злоумышленник может располагать априорными сведениями о шифре, полученными из различных источников например, это могла бы быть инструкция по шифрованию или черновик с промежуточными результатами для конкретного текста, фрагмент компьютерного кода или микросхема, реализующая шифрование аппаратно.
Качества, которым должен удовлетворять шифр: 1. Анализ зашифрованных данных не должен давать злоумышленнику никаких сведений о внутреннем устройстве шифра. В шифротексте не должно прослеживаться никаких статистических закономерностей - например, статистические тесты не должны выявлять в зашифрованных данных никаких зависимостей и отклонений от равновероятного распределения битов (символов) шифротекста. 2. Алгоритм должен быть перенастраиваемым. В распоряжении злоумышленника рано или поздно может оказаться описание алгоритма, его программная или аппаратная реализация. Для того, чтобы в этом случае не пришлось заменять алгоритм полностью на всех узлах шифрования, где он используется, он должен содержать легко сменяемую часть.
Принцип Кирхгофа: Шифр это параметризованный алгоритм, состоящий из процедурной части, то есть описания того, какие именно операции и в какой последовательности выполняются над шифруемыми данными, и параметров - различных элементов данных, используемых в преобразованиях. В секрете держится некоторая часть параметров алгоритма, которая называется ключом шифра: T' = E ( T ) = EK ( T ), здесь K - ключ шифра.
Использование принципа Кирхгофа позволяет получить следующие преимущества в построении шифров: - разглашение конкретного шифра (алгоритма и ключа) не приводит к необходимости полной замены реализации всего алгоритма, достаточно заменить только скомпрометированный ключ; - ключи можно отчуждать от остальных компонентов системы шифрования - хранить отдельно от реализации алгоритма в более надежном месте и загружать их в шифрователь только по мере необходимости и только на время выполнения шифрования; - появляется возможность для точной оценки "степени неопределенности" алгоритма шифрования - она просто равна неопределенности используемого ключа: H ( EK ) = H ( K ).
В предположении, что никаких априорных данных о тексте ключа кроме его длины нет, получаем: H( K ) = | K |. В остальных случаях H( K ) | K |. Т. о. можно получить необходимое условие абсолютной стойкости для шифров, удовлетворяющих принципу Кирхгофа: K H(K) = H(EK ) H(T) = T Для того, чтобы шифр, построенный по принципу Кирхгофа, был абсолютно стойким, необходимо, чтобы размер использованного для шифрования ключа был не меньше размера шифруемых данных K T Точное равенство возможно только в том случае, если все возможные значения ключа равновероятны, что эквивалентно условию, что биты ключа равновероятны и статистически независимы друг от друга.
Пример абсолютно стойкого шифра: одноразовая гамма Вернама наложение на открытые данные ( T ) ключа такого же размера: T' = T ° K К - ключ, составленный из статистически независимых битов, принимающих возможные значения с одинаковой вероятностью ° - бинарная операция. Условия, которым должна удовлетворять операция ° : - уравнение зашифрования должно быть однозначно разрешимо относительно открытых данных при известных зашифрованных и ключе; - уравнение зашифрования должно быть однозначно разрешимо относительно ключа при известных открытых и зашифрованных данных. Для практического использования в качестве ° обычно выбирают операцию побитовое суммирование по модулю 2 - - так как она: - требует для своей реализации минимальной по сложности логики из всех возможных операций; - обратна самой себе, поэтому для за- и расшифрования применяется одна и та же процедура.
Стойкость несовершенных шифров 1) Функция ненадежности ключа - f ( n ) - неопределенность ключа при известных n битах шифротекста: f ( n ) = H( K | T' ), где | T' | = n. 2) Расстояние единственности шифра - U(E) - такое значение n, при котором функция ненадежности, то есть неопределенность ключа становится близкой к 0. U(E) = nmin, где nmin -минимальное из тех n, для которых f(n) 0 f(n) U(E) n nmin
Шеннон показал, что расстояние единственности прямо пропорционально размеру ключа и обратно пропорционально избыточности: Избыточность исходного текста R определяется следующим соотношением: Таким образом, полностью устранив избыточность открытого текста, мы сделаем невозможным его однозначное дешифрование на основе знания только соответствующего шифротекста, даже если в распоряжении криптоаналитика имеются неограниченные вычислительные возможности. При этом неопределенность исходного текста будет равной неопределенности и, следовательно, размеру ключа: H( T ) = H( K ) = | K |
lec_2_s.ppt