Есть скользкие моменты с отсутствием ключей . Когда ключей нет и они генерятся случайным образом вроде всё хорошо.
Ключи большие, комбинаций много.
Однако, если встать посредником между абонентами будет другой разговор.
Значит, кто рулит сервером может многое.
Второй скользкий момент - а давайте сгенерим не полностью
случайный ключ, а сучайный ключ из ограниченного количества
заранее известных комбинаций. Например 100.. 200 или даже 1000.
Внешне всё будет выглядеть вполне пристойно, но тот кто знает эти 1000
комбинаций будет читать всё. Перебрать 1000 комбинаций это возможно.
Если в алгоритме нет такой фичи, достаточно сделать обновление.