https://github.com/liesware/coherence
Coherence is cryptographic server for modern web apps
https://github.com/liesware/coherence
aes cipher crytography digital-signature ecc hash hmac json ntru post-quantum-cryptography public-key-cryptography qtesla rsa sha3 tcp-server
Last synced: 3 months ago
JSON representation
Coherence is cryptographic server for modern web apps
- Host: GitHub
- URL: https://github.com/liesware/coherence
- Owner: liesware
- License: gpl-3.0
- Created: 2018-03-26T19:33:54.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-29T13:50:35.000Z (about 2 years ago)
- Last Synced: 2024-04-14T20:58:04.371Z (almost 2 years ago)
- Topics: aes, cipher, crytography, digital-signature, ecc, hash, hmac, json, ntru, post-quantum-cryptography, public-key-cryptography, qtesla, rsa, sha3, tcp-server
- Language: C++
- Homepage: https://3vidence.com
- Size: 35 MB
- Stars: 33
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-cryptography - Coherence - Cryptographic server for modern web apps. (Tools / Standalone)
- awesome-cryptography - Coherence - Cryptographic server for modern web apps. (Tools / Standalone)
README
# Welcome to (Cryptoserver)
_______ _____ _ _ _______ ______ _______ __ _ _______ _______
| | | |_____| |______ |_____/ |______ | \ | | |______
|_____ |_____| | | |______ | \_ |______ | \_| |_____ |______
"Privacy is the power to selectively reveal oneself to the world". Eric Hughes
- https://www.activism.net/cypherpunk/manifesto.html
- http://www.coderfreedom.org/
- https://pastebin.com/t6B6fhcv
# Coherence
"Suitable connection or dependence, consistency" (in narrative or argument), also more literally "act or state of sticking or cleaving of one thing to another".
## Abstract
Coherence (ko.eˈɾen.s) performs and offloads cryptography operations with a focus on interoperability, flexibility and simplicity. Coherence gives an interface for modern cryptographic algorithms which is inspired by Openssl, it is a REST API in order to be used by any language, in other words Coherence minimizes development time and code complexity. Some of the algorithms offered by Coherence are AES and AES candidates, Sosemanuk, SHA* family, HMAC, DH, RSA, DSA, ECC, NTRU.
**This technology helps us to bring post-quantum cryptography to modern web apps.**
## Features
* Hash functions: SHA3, SHA2, SHA1, WHIRLPOOL, Blake2b, SipHash.
* Password-hashing function: Argon2
* Stream ciphers: Sosemanuk, Salsa20/20.
* Block ciphers: AES, RC6, MARS, Twofish, Serpent, CAST-256, Camellia, SPECK, SIMECK.
* Block ciphers modes: CTR, GCM.
* Message authentication codes: HMAC(SHA3, SHA2, SHA1, WHIRLPOOL), CMAC(AES, RC6, MARS, Twofish, Serpent, CAST-256, Camellia), VMAC(AES, RC6, MARS, Twofish, Serpent, CAST-256, Camellia), Poly1305.
* RSA: Key generation, digital signature, encryption.
* DSA: Key generation, digital signature.
* DH: Key generation, key exchange (rfc and custom parameters).
* ECC: Key generation, ECIES, ECDSA, ECDH, Curve25519, ECNR.
* Post-Quantum Cryptography sign: Dilithium, SPHINCS+, Rainbow.
* Post-Quantum Cryptography kem: NTRU, Kyber, Saber.
**Be careful Post-Quantum Cryptography is an standard in process.**
**Tested only in Ubuntu 24.04**
## Quickstart (Docker image)
```bash
docker run -d liesware/coherence:latest /usr/bin/coherence
```
Test:
```python
#!/usr/bin/env python3
import requests
import json
import os
import binascii
def sending(message):
url = 'http://localhost:6613/'
response = requests.post(url, data=message)
print(response.content)
data_js = '{"version":1,"algorithm":"SHA3_512","type":"string","plaintext":"Hello world!"}'
sending(data_js)
```
We are getting SHA3-512 for "Hello world!" string.
## Examples
_You can use your favorite language, we are using python only for illustrative examples_
argon2.py block.py cmac.py dh.py dsa.py ecc.py hash.py hmac.py ntru.py poly1305.py qtesla.py rand.py rsa.py stream.py vmac.py
The code is very simple and with basic programming knowledge you should be able to understand it. You only need to understand python and REST API
## Test
on ~/coherence02/
Terminal 1
* watch python ps_mem.py -p $(pidof coherence)
Terminal 2
* cd bin/ && ./coherence 0.0.0.0 6613
Terminal 3
* cd examples/ && sh all.sh
## Wiki
[RTFW](https://en.wikipedia.org/wiki/RTFM)
Please see https://coherence.3vidence.com/
## Target
* Be cryptoserver (server dedicated for cryptography)
* Improve security in L7 (Cryptography for webapps)
## Version
Current version Essence.
## Branches
* Master: Stable, standard and experimental algorithms.
## Bugs
Through Github
## Contact
We will be so happy to listent to you, only concise and well-reasoned feedback are welcome. please be critic with yourself before
writing.
_coherence 4t 3vidence d0t com_
## Webpage
[Link](https://www.3vidence.com/)