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”.
— https://www.etymonline.com/word/coherence

Why?

Well, I have been working with cryptopp for couple of years and when I started to program on node.js (couple years ago too) , I was looking for a lib like that, surprisingly for me, I found none. What I found it was a lot libs, which had good features but not what I was looking for. I did not like the idea  to have many different libs to cryptography, because of dependency problems.

On the other hand, I did not like the idea  that some of them are openssl wrappers or they are written on pure javascript or lack of features. Openssl is really good lib but its documentation is not nice and javascript has a performance problem.

And finally each lib has its own API which depends on what language was made, it can not be used like a standard.

I waited around 4 years, but that lib never arrived, so I decided to start to program something to address these issues.

How?

Converting cryptopp into an accessible way: creating a tcp server which provides an json interface to perform cryptographic operations like encrypt, digital signatures, key exchage, message authentication code, random numbers, hash functions.

So, What?

With these points we have a cryptographic server, nice performance and standard to access (API), no dependency problems , so that you can  offload  cryptographic operations. Now you have freedom to create new protocols which meet your own security standards.

The best is that you can use your favorite language programming, it is open source, it is easy to integrate, it is easy to use, everything is almost painless. 

Welcome to Coherence Cryptographic Server for modern webapps

Expected Future

I expect that it helps to create and improve private transaction systems