JSPM

cynops

0.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q24501F
  • License MIT

End-to-end Encrypted Chat and Messaging

Package Exports

  • cynops

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cynops) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Cynops

End-to-end Encrypted Chat and Messaging

Cynops is a custom and experimental implementation of a Triple Diffie-Hellman Key Exchange, Cryptographic Ratchet, and Sealed Envelope inspired by The Signal Protocol. Users can create longlived chat sessions based on a set of initial ephemeral and longlived keys. The nature of the protocol allows for messages to be exchanged with forward and future secracy.

This library was inspired by the X3DH protocol and Double Ratchet Algorithm. It IS NOT a directly compatible implementation of these specifications. Cynops uses ECDH keys based on the secp256r1 (prime256v1) curve for key derivation. AES-GCM is used for encryption and Authentication. Cryptographic signatures are not a part of this library, though they could be implemented if desired.

This library makes use of the Web Crypto API (and the node-webcrypto-ossl package in Node) via Starbase Cryptic.

The development of Cynops and Starbase Cryptic are currently entangled.