Giter Club home page Giter Club logo

EveryBit Logo

EveryBit's powerful API gives your web application fully secure encrypted messaging and user management with just a few lines of code.

Currently if you want to provide users with private messaging and file sending you have to rely on external services like Facebook, or build your own system. The same goes for managing usernames and passwords. This means you have to rely on a third party to manage your user's sensitive data. With EveryBit, all private data is encrypted on the client side before sending over the network. For a technical description of our encryption procedures, see the section Crypto. Only your users and their intended recipients can view the original, unencrypted content being sent. No "back door" exists to get in and view the unencrypted content.

Repository

We do our development on the develop branch, and only pull to master for our semantically versioned releases.

Resources

Setup Instructions

git clone https://github.com/EveryBit-com/everybit.js.git
npm install
gulp

Contributors' guide

If you want to contribute to the codebase here at github, please check the issues and/or post a question here before making any changes. This will help avoid duplicate efforts. Happy coding :-)

Please don't edit files on the Master repository. Create a Branch or a Fork. This will help avoid collisions and prevent defects from being introduced from merges and pull requests.

Feature requests, questions, bugs: https://github.com/EveryBit-com/everybit.js/issues

License: MIT

Crypto

Say Alice wants to send a letter to Bob and Charlie, but she doesn't trust the mailman.

Alice creates a fully-formed puff (our data protocol) and converts it into a JSON string (aka the letter). Alice then generates a random 256-bit AES key (aka the message key) and uses it to encrypt the letter content.

She then uses her private ECC key and Bob's public ECC key to generate a shared secret using ECDH. A 256-bit AES key is generated by taking a SHA256 hash of the shared secret. This AES key is used to encrypt the message key, so that Bob can later decrypt the message key and then decrypt the message.

Alice repeats the message key encryption procedure for Charlie, then packages the message and the encrypted keys into a new puff (aka the envelope).

If Alice desires a higher level of privacy she can create a one-time-use anonymous user and have that anonymous user create the envelope instead of doing it herself. Then the letter inside is still signed using her private key via ECDSA, so Bob and Charlie can tell it's actually from Alice once they've decrypted the letter, but the envelope itself has no features which point back to her.

She can also create a second anonymous user as a reply-to address, to prevent information from leaking via the reply chain.

puffball's Projects

browserquest icon browserquest

A HTML5/JavaScript multiplayer game experiment with Socket.IO, created by MOZILLA

node-hue-api icon node-hue-api

Node.js Library for interacting with the Philips Hue Bridge and Lights

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.