
- •Декодер с вылавливанием ошибок.
- •Коды Боуза-Чоудхури-Хоквингвема.
- •Алгоритм декодирования Питерсона-Горенштейна-Цирлера.
- •Коды Рида-Соломона.
- •Декодирование при помощи алгоритма Берлекемпа-Месси.
- •Декодирование с помощью алгоритма Евклида.
- •Концепция теоретической криптостойкости.
- •Классические алгоритмы шифрования.
- •Системы подстановок
- •Подстановка Цезаря
- •Многоалфавитные системы.
- •Система шифрования Вижинера
- •Аффинные системы шифрования
- •Гаммирование
- •Поточные алгоритмы шифрования.
- •Блочные алгоритмы шифрования. Основные режимы работы.
- •Алгоритмы криптографического преобразования данных стандарта des, aes, гост 28147-89.
- •Атака на алгоритмы шифрования методом «грубой силы». Атаки класса «встреча посередине».
- •Дифференциальный криптоанализ.
- •Линейный криптоанализ.
- •Ассиметричные методы криптографического преобразования данных. Алгоритм rsa.
- •Алгоритмы на базе эллиптических кривых.
- •Криптосистема Диффи-Хеллмана.
- •Криптосистема Эль-Гамаля.
- •Обеспечение целостности данных и аутентификация.
- •Распределение ключей в системах pki.
Концепция теоретической криптостойкости.
Используются два допущения: секретный ключ используется только один раз и криптоаналитику доступен лишь шифротекст.
Если H(X) обозначить неопределенность относительно вскрываемого текста и H(X/Y)- условную неопределенность наблюдения Y, тогда взаимная информация I(X;Y) = H(X) – H(X/Y) может быть принята в качестве базовой меры засекреченности сообщения.
Возможны три случая для проведения криптоанализа:
1. I(X;Y) = 0 для всех n. Это означает, что X и Y статистически независимы. Шифросистема называется совершенно стойкой. Криптоаналитик не может улучшить апостериорное распределение вероятностей открытого текста, используя знание шифротекста независимо от того, какими временем и вычислительными ресурсами он располагает для анализа. Примером является шифр Вернама, одноразового блокнота.
2. 0 < I(X;Y) < H(X) для больших n. В этом случае существует остаточная неопределенность открытого текста, которая не может быть сведена к нулю. Ключевая неопределенность H(K / Y) > 0. Криптографические системы с конечными ключами, для которых H(K / Y) > 0 при n→∞, называются идеально стойкими. Криптоаналитик не может найти единственное решение для открытого текста, независимо от того, сколько он получил информации для анализа шифротекста.
3. I (X;Y) = H ( X ) для больших n. После определения количества бит шифротекста остается только одно решение для открытого текста. Этот случай характерен для большинства реальных шифросистем. Для анализа несовершенных шифров Шеннон ввел функцию ненадежности ключа f(t) = H (K/y 1 ,…,y t ), являющуюся мерой неопределенности ключа для криптоаналитика, анализирующего первые t знаков шифротекста, и определил показатель теоретической стойкости - расстояние единственности как наименьшее число t min , для которого f(t) ≈ 0
t min = min{ t : H(K / Y) ≈ 0 }.
Расстояние единственности определяет количество U символов шифротекста, по которому криптоаналитик может найти одно значение секретного ключа.
Для некоторого "случайного шифра" количество знаков шифротекста, получив которые криптоаналитик при неограниченных ресурсах может восстановить ключ (и раскрыть шифр) оценивается выражением,
U = H( K ) / (r log L y ),
r = 1 - H( X ) / (N log L y ) ,
где H( K ) - энтропия ключа; r - избыточность шифротекста длиной N из алфавита объемом L. Если L x = L y и ключ выбирается случайным образом, то U= m / r.
При избыточности обычного текста порядка 0,75 и использовании 56-битового ключа (такого, как предполагает DES) достаточно 11 символов шифротекста для восстановления ключа при неограниченных ресурсах криптоаналитика.
Согласно
постулата Шеннона, шифр имеет рабочую
характеристику W(n),
которую определил как среднее количество
работы, требуемое для нахождения ключа
при наличии n
цифр шифротекста. Предел
можно
рассматривать как оценку средней
работы для вскрытия шифра. На сегодняшний
день не существует удобных для
практического применения шифров для
которых была известна нижняя граница
W(n).
Реальные шифры обычно рассматривают
в терминах так называемой "исторической
рабочей характеристики" W
h
(n),
которую можно определить как среднее
количество работы для нахождения ключа
по n
цифрам шифротекста, когда используется
"наилучшая из известных атак". При
системном подходе квалифицированного
специалиста, W
h
(∞) может быть достаточно надежной
мерой реальной стойкости шифра. Но
всегда существует опасность что
действительная W(∞)
<< W
h
(∞), поскольку криптоаналитик может
изобрести новый и совершенно неожиданный
способ атаки, которая катастрофически
понизит W
h
(∞).
В основе построения вычислительно стойких шифрах лежат два принципа: рассеивания и перемешивания.
Рассеиванием называется распространение влияния одного знака открытого текста на несколько символов шифротекста, что создает маскировку статистических свойств исходного текста.
Под перемешиванием понимают шифрующее преобразование (обеление), нарушающее взаимосвязи статистических характеристик входного и выходного текста.