Рейтинг:2

Какова цель поля рукопожатия WireGuard mac1?

флаг rs

мак1 Поле в сообщениях рукопожатия WireGuard заполняется следующим образом:

msg.mac1 := Mac(Hash(Label-Mac1 || Spub_m'), msgA) // первый аргумент — MAC-ключ

Этикетка-Mac1 постоянная, Spub_m' является статическим открытым ключом партнера, и msgA это байты сообщения перед мак1 поле.

Я не понимаю цели этого, учитывая, что каждая часть ключа MAC является общедоступной (постоянный и статический открытый ключ, который передается одноранговым узлам вне диапазона). WireGuard белая бумага специально говорит, что Хэш(Label-Mac1 || Spub_m') можно предварительно вычислить. Какой смысл в MAC с ключом, который легко вычислить на основе общеизвестных данных? Разве этот MAC-адрес не более безопасен, чем просто хэш сообщения?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.