Welcome to the Coherence wiki!

 _______  _____  _     _ _______  ______ _______ __   _ _______ _______
 |       |     | |_____| |______ |_____/ |______ | \  | |       |______
 |_____  |_____| |     | |______ |    \_ |______ |  \_| |_____  |______

Coherence’s objective is to improve security in L7 with modern cryptography.

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.

There is a couple of good reasons to use Coherence:

  • Offload, you have an specialized software dedicated entirely for cryptographic operations. Cryptographic operations like encrypting and decrypting is a very CPU-intensive task for webapps, so offload alleviates CPU-intensive encryption and decryption tasks from your webapp, boosting application performance.

  • Interoperability, it doesn’t depend on a language programming, it depends on standards HTTP/GRPC and JSON, so you can integrate with homogeneous and heterogeneous systems.

  • Flexibility, it gives you a complete cryptographic toolkit to implement stream ciphers, block ciphers, RSA, Elliptic curves, Post quantum cryptography. So it gives you all that you need to create your own cryptographic protocol.

  • Open source, you can inspect, modify, and enhance.

  • Free of charges, you don’t have to pay.


  • 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.


This index starts from easy to more complex json and algorithms, you can find some external useful resources on each page.

  • Rand

  • Hash

  • Argon2

  • Poly1305

  • Stream ciphers (Sosemanuk, Salsa20)

  • Block ciphers (AES, RC6, MARS, Twofish, Serpent, CAST-256, Camellia, SPECK, SIMECK)

  • HMAC

  • CMAC

  • VMAC

  • DSA

  • RSA

  • Diffie Hellman



  • ECDH

  • Curve25519

  • NTRU

  • Security

  • Openssl

  • Json reference

Last updated