From 4e2748f2aed6e56af2741c5ae8cb3e3218a10f58 Mon Sep 17 00:00:00 2001 From: sergeych Date: Tue, 14 Nov 2023 03:27:36 +0300 Subject: [PATCH] added readme --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..02341d6 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# Kiloparsec + +_The protocol is under active development, early access stage. Please wait for alfa!_ + +The new generation of __PARanoid SECurity__ protocol, advanced, faster, more secure. + +It is not compatible with parsec family and no more based on an Universa crypto library. To better fit +the modern state of threats and rate of cyber crimes, KiloParsec uses more encryption and random key exchange on each +and every connection (while parsec caches session keys to avoid time-consuming keys exchange). For the same reason, +keys cryptography for session is shifted to use ed25519 curves which are supposed to provide agreeable strength with +enough speed to protect every connection with a unique new keys. Also, we completely get rid of SHA2. + +Kiloparsec used denser binary format (bipack, no more key=values) and advanced typed RPC interfaces, with +special mechanics to allow same interfaces to be easily connected to several various type channels at once. + +Also, the difference from parsecs is that there are no more unencrypted layer commands available to users. +All RPC is performed over the encrypted connection. + +# Technical description + +Kiloparsec is a dull-duplex fully async (coroutine based) Remote Procedure Call protocol with typed parameters +and support for serializing exceptions (e.g. exception thrown while executing remote command will be caught and +rethrown at the caller context). + +Kiloparsec is not REST, it _has advanced session mechanisms_ and built-in authentication based on the same curve keys. +Integrated tools to prevent MITM attacks include also non-transferred independently generated token that is calculated +independently on the ends and is never transferred with the network. Comparing it somehow (visually, with QR code, etc) +could add a very robust guarantee of the connection safety and ingenuity. + +Kiloparsec has built-in completely asynchronous (coroutine based top-down) transport layer based on TCP (JVM only as for now) and the same async Websocket-based transport based on KTOR. Websocket client is multiplatform, though the server is JVM only insofar. + +# Licensing + +When the project reaches some stable state, it will be available under Apache or MIT license. I promise ;) I do +write opensource ;) \ No newline at end of file