This repository contains java classes, helpers and utils for Eleuth to be used in different implementations.
Diffie-Hellman is a way of generating a shared secret between two people in such a way that the secret can't be seen by observing the communication. That's an important distinction: You're not sharing information during the key exchange, you're creating a key together.
Eleuth uses Diffie-Hellman to perform an end-to-end key exchange. This (temporary) secret key is used to encrypt p2p communications with an AES-256 cipher.
Encrypted Session class attaches to a session and uses diffie hellman key agreement to encrypt data.
In other to back-up the Eleuth data and reuse it in other devices, user first needs to encrypt the data. AES File Encryption helps user in this process.
Generator is an interface to generate different kind of data, mostly for initializing Eleuth in the device.
For example, KeyStoreGenerator
generates initial keystore which holds user public and private keys.