Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ep2p/encryption-core
Java classes, helpers and utils for Eleuth
https://github.com/ep2p/encryption-core
diffie-hellman encryption java
Last synced: 6 days ago
JSON representation
Java classes, helpers and utils for Eleuth
- Host: GitHub
- URL: https://github.com/ep2p/encryption-core
- Owner: ep2p
- Created: 2020-09-15T10:06:21.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-07-09T06:27:11.000Z (over 3 years ago)
- Last Synced: 2023-12-19T15:24:10.325Z (11 months ago)
- Topics: diffie-hellman, encryption, java
- Language: Java
- Homepage:
- Size: 153 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![](https://jitpack.io/v/ep2p/java-encryption-core.svg)](https://jitpack.io/#ep2p/java-encryption-core)
# Eleuth Security Core in Java
This repository contains java classes, helpers and utils for Eleuth to be used in different implementations.
### Diffie Hellman
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.
- *Tell me more! What it really is?* [read](https://security.stackexchange.com/questions/45963/diffie-hellman-key-exchange-in-plain-english)
- *How?* [look](https://github.com/ep2p/eleuth-java-security-core/tree/master/src/main/java/com/github/ep2p/encore/diffieHellman)
- *Show me a simple test?* [look](https://github.com/ep2p/eleuth-java-security-core/blob/master/src/test/java/com/github/ep2p/encore/diffieHellman/EncryptedSessionTest.java)### Encrypted Sessions
Encrypted Session class attaches to a session and uses diffie hellman key agreement to encrypt data.
### AES File Encryption
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.
### Generators
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.