10.2. Запись протоколов

Для записи протоколов, связанных с реализацией функций защиты информации, не используют выражения вроде «участник с ролью «Отправитель»», а заменяют их на краткие обозначения вроде «отправитель» или используют общепринятые экземплификанты

Экземплификант или экземплификатив – конкретное понятие или имя собственное, используемое в качестве примера для обозначения неизвестного места или личности. (Википедия, свободная энциклопедия; 5 июля 2019)

: Алиса, Боб, Клара, Ева и т. д. При этом используют следующие соглашения.

Не существует общепринятого формата записи протоколов, они могут отличаться как по внешнему виду, так и по полноте описания. Например, вот наиболее полный формат записи протокола Диффи Хеллмана.

Теперь сравните с краткой записью того же самого протокола.

  1. $A \to B : A = g^a \bmod p$
  2. $B \to A : B = g^b \bmod p$

В краткой записи опускаются инициализация и предварительные требования, вычисления непередаваемых данных (в данном примере – общего сеансового ключа $s$), а также любые проверки.

В данном пособии мы будем придерживаться промежуточного формата записи.

samepage==
  • Алиса генерирует $a$.
  • $Alice \to \left\{ A = g^a \bmod p \right\} \to Bob$.
  • Боб генерирует $b$.
  • Боб вычисляет $s = A^b \bmod p$.
  • $Bob \to \left\{ B = g^b \mod p \right\} \to Alice$.
  • Алиса вычисляет $s = B^a \bmod p$.

Также условимся о правилах записи случая, когда активный криптоаналитик (Меллори) выдаёт себя за легального пользователя.

$$ \begin{array}{llllc} (1) & A & \to M \left(B\right) & : & A = g^a \bmod p, \\ (2) & M \left(A\right) & \to B & : & A^* = g^{a^*} \bmod p, \\ (3) & B & \to M \left(A\right) & : & B = g^b \bmod p, \\ (4) & M \left(B\right) & \to A & : & B^* = g^{b^*} \bmod p. \\ \end{array} $$

Либо, отводя отдельный столбец для каждого участника.

$$ \begin{array}{lllclllc} (1) & A & \to & M \left(B\right) & {} & {} & : & A = g^a \bmod p, \\ (2) & {} & {} & M \left(A\right) & \to & B & : & A^* = g^{a^*} \bmod p, \\ (3) & {} & {} & M \left(A\right) & \gets & B & : & B = g^b \bmod p, \\ (4) & A & \gets & M \left(B\right) & {} & {} & : & B^* = g^{b^*} \bmod p. \\ \end{array} $$

Для сокращения описания и упрощения сравнения разных протоколов используют следующие соглашения об обозначениях передаваемых данных.

Примеры использования обозначений.