Сомнения в сигнальном протоколе
Я пытался разработать приложение для чата в качестве случайного проекта с частичной занятостью и хотел использовать протокол шифрования сообщений Signal. Однако во время разработки я столкнулся с некоторыми сомнениями.
1> Любая корреляция между идентификаторами PreKey и SignedpreKey? (Также будут полезны любые указатели на то, какие идентификаторы использовать)
2> Каждое сообщение должно иметь разные SignedPreKey? Я предполагаю, что нет, поскольку это просто для того, чтобы доказать, кто пользователь. Если нет, то как часто следует менять SignedPreKey?
3> Краткое объяснение того, что такое сессия в Signal. Продлевают ли сеансы закрытие приложения?
4> Должен ли каждое сообщение иметь свой PreKeyBundle? Или для всего сеанса используется только один PreKeyBundle?
5> Разница между PreKeySignalMessage и SignalMessage. Когда какой использовать?
Извините, что бомбардирую так много сомнений, но если бы кто-то мог найти время, чтобы помочь ответить на них, это было бы очень и очень полезно. Спасибо!