Криптографический протокол


Криптографический протокол (англ. Cryptographic protocol) — это абстрактный или конкретный протокол, включающий набор криптографических алгоритмов, часто являющихся последовательностью криптографических примитивов. В основе протокола лежит набор правил, регламентирующих использование криптографических преобразований и алгоритмов в информационных процессах для обмена сообщениями между двумя и более участниками, а также описание используемых структур[⇨].

В протоколе участниками (субъектом, стороной) могут быть приложения, люди, их группы или, например, организации. Другими словами — всё, по каким-либо причинам способное иметь активную или пассивную роль в работе протокола. Так, в частности, большинство протоколов разрабатывается с учётом наличия пассивного слушателя, способного перехватывать сообщения[⇨].

Появление самых простых протоколов датируется концом 1970-х, началом 1980-х годов[1]. Вклад в их появление внесли такие специалисты, как Рональд Ривест, Ади Шамир[2], Роджер Нидхем, Майкл Шрёдер[3] и многие другие. Брюс Шнайер приводит описание известных протоколов в своей книге «Прикладная Криптография»[4].

Протокол делится на проходы (англ. pass) или циклы (англ. round), являющиеся интервалом времени активности только одного участника. В протоколах, рассчитанных на количество участников большее двух, при необходимости их синхронизации циклом называют период времени между двумя точками синхронизации[6].

Проход, в свою очередь, состоит из шагов (англ. step, action) — конкретных законченных действий, выполняемых участником[6].

Реализация протокола или даже теоретическое её описание для конкретных участников, каждый из которых имеет одну или несколько ролей, называется сеансом (англ. session). В другом сеансе протокола участники могут поменяться ролями и выполнять уже совсем другие функции[6].