В рамках криптологии рассматриваются преднамеренные действия, случайное искажение информации не рассматривается.
Основные подходы:
Вскрытие на основе шифротекста.
Вскрытие на основе открытого текста
Вскрытие на основе выбранного открытого текста.
Вскрытие на основе выбранного шифротекста
Успешность криптоанализа может варьироваться (по классификации Кнудсена):
Модель симметричного шифра
Модель асимметричного шифра
Теоретико-информационная модель криптосистемы:
Необходимое и достаточное условие совершенной криптостойкости \[\forall M, C: P(C|M) = P(C)\]
\(\Delta\):
\[P(M) = P(M | C)\]
\[P(M) = \frac{P(C | M)P(M)}{P(C)}\]
\[P(C)P(M) = \frac{P(C | M)P(M)P(C)}{P(C)}\]
\[P(C)\cancel{P(M)} = \frac{P(C | M)\cancel{P(M)}\cancel{P(C)}}{\cancel{P(C)}}\]
\[P(C) = P(C | M)\qed\]
Для любой детерминированной криптосистемы, \(H(M|C) \le H(K|C),\) \(H(C|M) \le H(K|M).\)
Т.к. \(C=f(M,K)\) и \(M=f^{-1}(C,K),\) \(H(C|KM) = H(M|KC) = 0.\)
Рассмотрим \(H(KM|C)\) и \(H(KC|M)\)
\(H(M|C) \le H(KM|C)\)
\(H(M|C) \le H(KMC)-H(C)\)
\(H(M|C) \le H(M|KC)+H(KC)-H(C)\)
\(H(M|C) \le H(M|KC)+H(K|C)\)
\(H(M|C) \le \cancel{H(M|KC)}+H(K|C)\)
\(H(M|C) \le H(K|C)\phantom\qed\)
\(H(C|M) \le H(KC|M)\)
\(H(C|M) \le H(KCM)-H(M)\)
\(H(C|M) \le H(C|KM)+H(KM)-H(M)\)
\(H(C|M) \le H(C|KM)+H(K|M)\)
\(H(C|M) \le \cancel{H(C|KM)}+H(K|M)\)
\(H(C|M) \le H(K|M)\phantom\qed\)
\(H(C|M) \le H(K|M)\qed\)
Необходимое условие совершенной криптостойкости:
\(H(K) \ge H(M), H(K) \ge H(C).\)
По определению, \(H(M)=H(M|C),\) \(H(C)=H(C|M)\).
\(H(M) = H(M|C) \phantom{\le H(K|C) \le H(K)}\)
\(H(M) = H(M|C) \le H(K|C) \phantom{\le H(K)}\)
\(H(M) = H(M|C) \le H(K|C) \le H(K)\)
\(H(M) \le H(K)\)
\(H(C) = H(C|M) \phantom{\le H(K|M) \le H(K)}\)
\(H(C) = H(C|M) \le H(K|M) \phantom{\le H(K)}\)
\(H(C) = H(C|M) \le H(K|M) \le H(K)\)
\(H(C) \le H(K)\)
\(\phantom{H(C) \le H(K)}\qed\)
\(H(M) \le H(K)\)
\(H(M) \le \log |M|\)
\(H(K) \le \log |K|\)
в худшем случае \(H(M) = \log |M|\)
Тогда:
\(H(M) \le H(K) \phantom{\le \log |K|}\)
\(\log |M| \le H(K) \phantom{\le \log |K|}\)
\(\log |M| \le H(K) \le \log |K|\)
\(\log |M| \le \log |K|\)
\(|M| \le |K|\)
Практически интересен случай \(|K| = |M|\), тогда \(H(K) = \log |K|\), тогда ключей столько же сколько сообщений и все ключи равновероятны.
В случае \(|\mathcal A_M| = |\mathcal A_C|\), \(|K| \ge |M|\)\(\Rightarrow |\mathcal A_C|^n \ge |\mathcal A_M|^l\)\(\Rightarrow n\ge l\)
Шифр Вернама является совершенно криптостойким, если \(K\) и \(M\) независимы и \(K\) равномерно распределён.
Пусть \(n=l\), \(\mathrm E(m, k) = m + k \mod |\mathcal A_M|\), \(\mathrm D(c, k) = c - k \mod |\mathcal A_M|\), \(\mathrm F(m,c) = c - m \mod |\mathcal A_M|\)
\[\phantom{1=}P(C=c|K=k,M=D(c, k))\\\phantom{\frac{P(C=c,K=k,M=D(c, k))}{P(K=k,M=D(c,k))}}\]
\[\phantom{1=}P(C=c|K=k,M=D(c, k)) \\=\frac{P(C=c,K=k,M=D(c, k))}{P(K=k,M=D(c,k))}\]
\[1=P(C=c|K=k,M=D(c, k)) \\=\frac{P(C=c,K=k,M=D(c, k))}{P(K=k,M=D(c,k))}\]
\[1 = \frac{P(C=c,K=k,M=D(c, k))}{P(K=k,M=D(c,k))}\]
\[1 = \frac{P(C=c,K=k)P(M=D(c, k)|C=c,K=k)}{P(K=k,M=D(c,k))}\]
\[1 = \frac{P(C=c,K=k)\cancelto{1}{P(M=D(c, k)|C=c,K=k)}}{P(K=k,M=D(c,k))}\]
\[1 = \frac{P(C=c,K=k)}{P(K=k,M=D(c,k))}\]
\[1 = \frac{P(C=c,K=k)}{P(K=k)P(M=D(c,k))}\]
\[1 = \frac{P(C=c|K=k)}{P(M=D(c,k))}\]
\[P(C=c|K=k) = P(M=D(c,k))\]
\[P(C=c)\phantom{ = \sum_k P(C=c|K=k)P(K=k)}\]
\[P(C=c) = \sum_k P(C=c|K=k)P(K=k)\]
\[P(C=c) = \sum_k P(C=c|K=k)\frac{1}{N}\]
\[P(C=c) = \frac{1}{N}\sum_k P(C=c|K=k)\]
\[P(C=c) = \frac{1}{N}\sum_k P(M=D(c,k))\]
\[P(c) = \frac{1}{N}\]
\[P(M=m|C=c) = \frac{P(M=m,C=c)}{P(C=c)}\]
\[P(M=m|C=c) = \frac{P(M=m,K=F(m,c))}{P(C=c)}\]
\[P(M=m|C=c) = \frac{P(M=m)P(K=F(m,c))}{P(C=c)}\]
\[P(M=m|C=c) = \frac{P(M=m)\frac{1}{N}}{\frac{1}{N}}\]
\[P(M=m|C=c) = P(M=m)\]
\[P(M|C) = P(M)\]
\[\phantom{P(M|C) = P(M)}\qed\]
Прямая передача ключа. Проблема курицы и яйца – чтобы безопасно передать ключ надо сначала передать ключ.
Предварительное распределение ключей. Ключи вырабатываются некой третьей стороной, которая распространяет ключи среди участников связи. Кроме той же проблемы, встаёт вопрос доверия (в том числе к способу выработки ключей)
Совместная выработка участниками связи общего ключа. Наиболее распространённый подход, в виде алгоритма Диффи-Хеллмана. Возможная атака – MitM.
\(D\) тривиально восстанавливается, если известно \(k\) различных \(g_i\).
Если \(I_i\) линейно зависим от \(I_j\), то \(k_{ij}\) возможно восстановить даже не зная матрицы \(D\).
На \(g\) и \(p\) налагаются следующие условия: