Можно ли создать рукопожатие с более чем одним человеком, используя двойной удар? - PullRequest
0 голосов
/ 26 сентября 2018

Я использую эту библиотеку для реализации защищенного чата один на один в моем приложении.ниже приведен пример кода

const preSharedKey__ROOT        = new Buffer('010061d5eb6946be4a77', 'hex')
const preSharedKey__header      = new Buffer('020061d5eb6946be4a77', 'hex')
const preSharedKey__nextHeader  = new Buffer('030061d5eb6946be4a77', 'hex')

const alice = new Ratchet(preSharedKey__ROOT, preSharedKey__header, preSharedKey__nextHeader)
const bob = new Ratchet(preSharedKey__ROOT, preSharedKey__nextHeader, preSharedKey__header)

// handshake sent over public channel
const bobHandshake = bob.makeHandshake()

alice.acceptHandshake(bobHandshake)

// initial message
console.log( bob.decrypt(alice.encrypt("ping")) )

console.log( alice.decrypt(bob.encrypt("pong")) )

Он отлично работает для шифрования и дешифрования один к одному.Но я хочу сделать эту работу для группового чата.ниже мой рабочий процесс

  • В группе три человека: Алиса, Боб, Джон
  • Алиса делится секретом своей группы с Бобом и Джоном
  • И Боб, иДжон может расшифровать сообщение Алисы.
  • Им не нужно отправлять сообщения Алисе.

Возможно ли это сделать с помощью двойного храповика ?.Если это невозможно, то как я могу отправить сообщение группе людей, не нарушая секретности.Я не предпочитаю разветвление на стороне клиента.Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...