Coder Social home page Coder Social logo

beatem's Introduction

BeatEM how-to

Server

> docker pull raarenst3/bruno_server:latest
> docker run -dp 27015:27015 raarenst3/bruno_server

Clients

> beatem_client.exe 8419 13219 32111 1919 5141 [127.0.0.1]
> beatem_client.exe 4607 1919 5141 13219 32111 [127.0.0.1]

BeatEm background

BeatEm is a chat system with the intention of beeing private. While many chats services can provide encrypted messages, it is still possible to map networks and who is speaking with who. Even onion routing and other attemtps can with sufficient resources be traced.

With BeatEm it is much harder, maybe impossible, both to read contents and to find out who is talking with who. It is done with a simple heartbeat protocol. Each chat client sends packages with a fixed size with regular intevals to a server. The packages containing correspondence are encrypted with the receivers public key and have that key in the header of the message. If there is no text to send (noone is typing for the moment) the client still sends packages but with random content. The central server puts all client packages together and sends them to all clients. Each client decrypts all messages from the server and looks for its own public key in the header. If it finds the key, the message is for this client.

It is simple but indeed wasteful where most communication does not include any information. This is the price for privacy. The overhead is still small compared to streaming sound for example.

BeatEm is made to secure the United Nations Universal Declaration of Human Rights article 12.

Article 12
No one shall be subjected to arbitrary interference with his privacy, 
family, home or correspondence, nor to attacks upon his honour and 
reputation. Everyone has the right to the protection of the law against 
such interference or attacks.

beatem's People

Contributors

raarenst avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.