Skip to content

FreeFeed/cryptographic-private-grps

 
 

Repository files navigation

cryptographic-private-grps

###Как это работает:

  • Клиент регистрируется на сервере:
    1. Генерирует асимметричные ключи
    2. Делает пост в Фрф с публичным ключом
    3. Отсылает на сервер ID поста.
    4. Сервер берет пост и связывает юзера с ключом
    5. Сервер отправляет клиенту зашифрованный токен на запись
    6. Клиент удаляет пост и отправляет на сервер приватный ключ в зашифрованном виде. Для шифрования используется пароль, который пользователь должен помнить.
  • Алиса создает приватную группу и приглашает Вову
    1. Алиса на клиенте генерирует набор симметричных ключей
    2. Алиса получает публичный ключ Вовы и кодирует им набор симметричных ключей
    3. Алиса отправляет Вове закодированное приглашение
    4. Вова декодирует на клиенте приглашение, добавляет ключи в коллекцию.
    5. Вова шифрует коллекцию паролем и отправляет на сервер.
  • Алиса пишет в группу
    1. Алиса получает с сервера свою коллекцию ключей
    2. Дешифрует из паролем
    3. Кодирует ключом от привата пост
    4. Отправляет его на сервер
    5. Вова получает все посты
    6. Выбирает из них те, к которым у него есть ключи
    7. Дешифрует и читает

###Алгоритмы

  • Асимметричный RSA
  • Симметричный AES
  • Хеш sha256

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.7%
  • PLpgSQL 4.3%