Криптография Flashcards
(139 cards)
Стойкость
Стойкость – количество информации о ключе, содержащейся в шифротексте: I(Z,Y) = H(Z) - H(Z|Y)
Стойкость оценивается в двух ресурсах:
- время;
- память.
Алфавит, текст
Алфавит – конечное множество используемых для кодирования информации знаков.
Текст – упорядоченный набор из элементов алфавита.
Атака с избранным ключом (CKA)
Атака с избранным ключом (chosen key attack) – криптоаналитик задает часть ключа, а на оставшуюся часть ключа выполняет атаку со связанным ключом.
Атака на основе подобранного открытого текста (CPA)
Атака на основе подобранного открытого текста (chosen plaintext attack, CPA) – криптоаналитик может самостоятельно подбирать открытый текст. Имеется возможность отсылать любое количество простых текстов и получать в ответ соответствующие шифрованные тексты.
Существуют автономная (offline) и оперативная (online) виды атак. В первом случае выбор открытых текстов подготавливается заранее, до получения шифрованных текстов. Во втором случае каждый последующий открытый текст выбирается исходя из уже полученных шифрованных текстов.
Криптоаналитик, согласно Принципу Керкгоффса, обладает всей информацией об используемой системе шифрования, кроме определённого набора параметров, называемого ключом. Задачей криптоаналитика является нахождение ключа либо создание алгоритма, позволяющего дешифровать любое сообщение, зашифрованное при помощи данного ключа.
Основным отличием от атаки на основе открытого текста является возможность предварительного выбора некоторого количества открытых текстов и их шифрования на искомом ключе. За счет этого такая атака (CPA) является более мощной.
Атака на основе подобранного шифротекста (CCA)
Атака на основе подобранного шифротекста (chosen ciphertext attack) – у криптоаналитика есть возможность подбирать как открытый, так и шифрованный текст при неизвестном ключе.. Для каждого подобранного открытого текста криптоаналитик получает шифрованный текст, для каждого подобранного шифрованного текста – соответствующий открытый текст.
При неадаптивной атаке криптоаналитик не использует результаты предыдущих расшифровок, то есть шифротексты подбираются заранее. Такие атаки называют атаками в обеденное время (lunchtime или CCA1).
При адаптивной атаке криптоаналитик адаптивно подбирает шифротекст, который зависит от результатов предыдущих расшифровок (CCA2).
Атака с известным открытым текстом (KPA)
Атака с известным открытым текстом (known plaintext attack) – известны и открытый и шифрованный текст. Цель атаки - найти ключ.
Атака с использованием только шифрованного текста (COA)
Атака с использованием только шифрованного текста (ciphertext-only attack) – криптоаналитику известен только набор шифртекстов, целью является получение как можно большего количества открытых текстов, соответствующих имеющимся шифртекстам, или еще лучше - ключа, использованного при шифровании.
Шифртексты могут быть получены простым перехватом сообщений по открытым каналам связи. Данный вид атаки является слабым и неудобным.
Атака со связанным ключом (RKA)
Атака со связанным ключом (related key attack) – вид криптографической атаки, в которой криптоаналитик может наблюдать за работой алгоритма шифрования или расшифрования, использующем несколько секретных ключей. Данная атака не является простым перебором всех возможных значений ключа. Изначально криптоаналитик ничего не знает о точном значении ключей, но предполагается, что атакующему известно некоторое математическое отношение, связывающее между собой ключи.
Атаки, в основе которых лежит парадокс задачи о днях рождения
Атаки, в основе которых лежит парадокс задачи о днях рождения (birthday attack) – атаки, получившие свое название в честь парадокса задачи о днях рождения. Суть парадокса в следующем: если в комнате находятся 23 человека, то вероятность того, что два из них родились в один и тот же день, превышает 50%. Этот тип атак основан на том, что одинаковые значения появляются быстрее, чем можно было ожидать.
Например, для заданной хеш-функции f целью атаки является поиск коллизии второго рода. Для этого вычисляются значения f для случайно выбранных блоков входных данных до тех пор, пока не будут найдены два блока, имеющие один и тот же хеш. Таким образом, если f имеет N различных равновероятных выходных значений и N является достаточно большим, то из парадокса дней рождения следует, что в среднем после перебора 1,25*N1/2 различных входных значений будет найдена искомая коллизия.
Блочный шифр
Блочный шифр разбивают открытый текст на блоки равного размера и шифрует каждый блок одним и тем же алгоритмом с одним и тем же ключом.
Избыточность в шифр-тексте надо масировать:
- рассеивание - распределяет избыточность всего шифр-текста по всему шифр-тексту (метод-перестановки);
- перемешивание - маскирует связь между открытым и маскированным текстом (метод-замена).
Свойство изменения-искажения (блочный шифр)
Изменение одного бита на входе влечёт изменение многих бит на выходе, так как каждый бит входа влияет на каждый бит выхода.
Вычислительная стойкость
Вычислительная стойкость — противнику требуется заведомо невозможные вычислительные ресурсы. Измеряется в объёме вычисления для необходимой атаки.
Двусторонняя атака или атака “встреча на середине”
Двусторонняя атака или атака “встреча на середине” (meet-in-the-middle attack) – данный метод применяется для атаки на блочные шифры. Обладает значительно меньшей трудоёмкостью по сравнению с методом полного перебора.
Применяется против наивной идеи зашифровать данные дважды двумя различными ключами. Логично бы было предположить что пространство поиска ключа увеличивается в квадрате, однако данная атака показывает что пространство увеличивается всего лишь вдвое.
Не вдаваясь в подробности, атака заключается в шифровании с одного конца, и дешифрования с другого — «встречаясь» по-середине. При этом промежуточные результаты должны быть сохранены. Здесь идёт компромисс между временем поиска и размерами используемой памяти.
Классификация угроз
- полное раскрытие (находится способ для любого ключа и любого шифр-текста дешифровать текст, например, статистическая атака для шифра простой замены);
- раскрытие ключа (становится известен ключ шифрования);
- раскрытие сообщение (становится известен открытый текст);
- частичное раскрытие (становится известна часть ключа или сообщения).
Ключ
Ключ – конкретное значение некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из семейства.
_Принцип Керкгоффса_: стойкость шифра должна обеспечиваться секретностью ключа, а не алгоритма.
Принцип Керкгоффса направлен на то, чтобы сделать безопасность алгоритмов и протоколов независимой от их секретности; открытость не должна влиять на безопасность.
Криптология, криптография, криптоанализ
Криптологией называется наука, изучающая математические методы защиты информации (криптос – тайный, логос – изучаю). Криптология разделяется на два направления - криптографию и криптоанализ.
Криптография изучает методы преобразования информации с целью обеспечения её конфиденциальности и аутентичности.
Криптоанализ изучает методы нарушения конфиденциальности и аутентичности информации без знания ключей.
Криптосистема, или шифр
Криптосистема, или шифр – представляет собой семейство Т обратимых преобразований открытого текста в шифрованный, членам которого взаимно однозначно можно сопоставить ключ k. Преобразование Tk определяется соответствующим алгоритмом и ключом k.
Модель шифра
Модель шифра - набор (X,Y,K,E,D),
где X - все возможные входные тексты;
Y - все возможные зашифрованные тексты;
K - все возможные ключи;
E,D - заданные правила преобразований
Поточный шифр
Поточные шифры шифруют тексты посимвольно (побитово) при помощи аддитивной операции (как правило XOR) с последовательностью, сформированной специальным алгоритмом при помощи ключа
Теоретическая стойкость
Теоретическая стойкость — математически доказанная невозможность взлома шифра злоумышленником. В общем случае слабодоказуемо. Измеряется в объёме памяти необходимой для осуществления атаки.
Усеченный дифференциальный криптоанализ (TDA)
Усеченный дифференциальный криптоанализ (truncated differential attack)– атака на блочные шифры, обобщение дифференциального криптоанализа. В то время как обычный дифференциальный анализ использует разность между двумя полными текстами, в усеченном криптоанализе рассматривается разность между частями текста. Поэтому с помощью этой атаки можно предсказать значения лишь некоторых бит, а не целого блока.
В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю 232 . Является статистической атакой.
Шифрование, расшифрование, дешифрование
Шифрование (encryption) – процесс преобразования открытых данных в зашифрованные при помощи шифра.
Расшифрование (decryption) – процесс, обратный шифрованию.
Дешифрование (cryptoanalysis) – восстановление исходного текста на основе шифрованного без знания ключа.
Абсолютная энтропия языка
Абсолютная энтропия языка — величина, равная максимуму информации, которую можно передать единицей данного языка. В теории информации обычно абсолютная энтропия вычисляется при условии равновероятности всех последовательностей символов.
Если в алфавите языка используется L различных букв, то абсолютная энтропия языка (бит на букву) можно вычислить как: R=log2L
Вероятностная модель шифра
C=(X,Y,K,P(X),P(K),E,D)
где C - шифр,
X - открытый текст,
Y - шифротекст,
K - секретный ключ,
P(X) –вероятность раскрытия открытого текста,
P(K) – вероятность раскрытия секретного ключа,
E: XxK->Y - алгоритм шифрования,
D: YxK->X - алгоритм расшифрования.
X и K выбираются независимо. |X|≤|Y|. ∀y ∈ Y, Ǝx ∈ X, k ∈ K : y=E(x,k)
- Вероятность получения Y из X: P(Y|X) = ƩP(K), ∀k ∈ K: E(x,k)=y;
- Вероятность получения Y из K: P(Y|K) = ƩP(X), ∀x ∈ X: E(x,k)=y;
- Вероятность получения Y: P(Y) = ƩP(X) *P(Y|X) = ƩP(K)P(X) > 0, ∀k ∈ K, x ∈ X: E(x,k)=y;
- Вероятность получения Y на K из X: P(X|Y) = P(X)P(Y|X)/P(Y)
При криптоанализе вероятностная модель более удобная чем математическая






