Приложение представляет собой простой чат с простым шифрованием. Он состоит из серверной и клиентской части. Сервер хранит пользователей и сообщения и предоставляет информацию клиенту, клиент взаимодействует с пользователем.
- для шифрования используется шифр Виженера и библиотека, так как его наиболее просто применить, хотя он и не обладает защищённостью.
- для хранения и передачи сообщений используется формат json и другая библиотека.
Код скомпилирован для Linux. Для запуска сервера запускайте server, для клиента -- client.
Данные хранятся в оперативной памяти.
Для локального использования применяется localhost:1234.
Сервер не поддерживает параллельное подключение нескольких клиентов. Чат пока асинхронный.
- Сначала надо зарегистрироваться (кнопка u). Придумайте новый никнейм. Если уже регистрировались, введите существующий.
- Далее можно синхронизировать сообшения с сервером. Эта операция запрашивает список чатов, в которых участвует пользователь, и загружает все сообщения на клиент.
- В списке чатов можно выбрать нужный чат или создать новый. Для создания чата надо нажать n, ввести никнейм собеседника (он должен быть зарегистрирован в системе), придумать ключ шифрования, далее ввести сообщение и отправить его. Ключ надо запомнить и лично (или по защищённому каналу) сообщить собеседнику.
- Чтобы открыть существующий чат, вам нужно ввести ключ шифрования от чата. После этого сообшения будут расшифрованы, и, если ключ верный, вы сможете понять текст.
- Шифрование производится на клиенте, ключ и открытый текст не передаётся на сервер, никто, кроме вас и вашего собеседника
и хакера который взломал слабый шифрне сможет прочитать сообщения. - Простота и минимализм: никаких картинок, только текст :)
- Анонимность и простота регистрации: вы можете придумать любой никнейм (из букв, цифр и нижнего подчёркивания), и это всё, что требуется для регистрации. Даже пароль не нужен!!