Реализация алгоритма двойного храповика

Я пытаюсь реализовать с нуля алгоритм Double Ratchet, используя его в качестве руководства, однако я не являюсь экспертом в области криптографии, поэтому некоторые вещи довольно неясны:

  1. В руководстве упоминается «корневой ключ». RK, и выход DH в качестве параметров функции, но мне нужно знать, что это за корневой ключ и как его нужно инициализировать в первый раз.
  2. я вижу это KDF_RK(rk, dh_out) и KDF_CK(ck)основаны на криптографической функции HKDF: может ли кто-нибудь сделать рисунок, чтобы я лучше понял, как работают эти функции? Достаточно симуляции типичного исполнения между Алисой и Бобом в стиле псевдокода.

Спасибо

0 ответов

Другие вопросы по тегам