Cyph is an extremely secure communication and collaboration suite offering chat, voice/video calling, file sharing, and encrypted cloud storage — with unique technology enabling a very friendly and accessible user experience that other high-security messengers can’t provide.
This chart illustrates where Cyph generally stands in comparison to alternative solutions:
More than anything else, the goal of Cyph is to keep information as secure as possible — meaning private communication must remain confidential and mutually verifiable as authentic, and publicly shared data must be globally verifiable as authentic.
In addition to a very successful audit/pentest by Cure53 (report), continuing internal reviews and architectural consultation with Cure53, and heavy use of automated static code analysis, the core technologies employed to accomplish this are:
- End-to-end encryption (for private data)
- Digital signing (for public data)
- Air Gapped Signing Environment (for code signing + public key authentication)
- Deterministic builds
- Quantum-resistant cryptographic primitives
- Efficient classical cryptographic primitives
- Argon2id (key derivation / password hashing)
- Poly1305 (authentication)
- RSASSA-PKCS1-v1_5 (signing)
- SHA-512 (hashing)
- X25519 (key exchange + public key encryption)
- XChaCha20-Poly1305 (symmetric encryption)
- Optional alternative classical cryptographic primitives for FIPS compliance
- AES-GCM (symmetric encryption)
- HMAC-SHA-512 (authentication)
- PBKDF2-HMAC-SHA-512 (key derivation / password hashing)
- RSA-OAEP (public key encryption)
Note that quantum-resistant cryptography is a feature unique to Cyph among high-security messengers, and by default is always enabled.
While superior for securing extraordinarily sensitive data (and now recommended by the NSA), it is less space/bandwidth-efficient than classical cryptography, so for some use cases it may be desirable to deploy a self-hosted Cyph environment with the quantum-resistant cryptography flagged off.
Secondarily, Cyph aims to package this security in a way that’s intuitive and pleasant to use, because the most secure lock in the world isn’t very helpful if it’s too complicated for real people to use or too easy to accidentally leave unlocked.
The following factors combine to give Cyph a user experience comparable to non-secure communication software — without compromising on our security requirements or making our user protections easy to circumvent:
- The web as a platform has traditionally been unsuitable for high-security applications due to its Trust On Every Use code integrity model. Because of this, encrypted messengers have been forced to choose between the major usability drawback of not supporting the web and the massive security footgun of supporting it (silently risking all “private” user data).
- The subject of our talks at Black Hat and DEF CON, WebSign is our patented “secure web application” (Trust On First Use in-browser code signing) technology that uniquely enables Cyph to sidestep this choice and get the best of both worlds. By supporting the web, Cyph makes initial onboarding and day-to-day use faster and more familiar to users.
- Public key authentication
- Alternative solutions require in-person mutual public key verification each time one adds a new contact (and each time an existing contact registers a new device) — if any meaningful form of authentication is supported at all. Skipping this step throws any privacy guarantees out the window by leaving users vulnerable to man-in-the-middle attacks. However, almost every user does skip this step, making for a theoretically sound technical architecture that is more easily exploitable in practice.
- To ensure a strong baseline authenticity guarantee, a PKI scheme based around the Air Gapped Signing Environment is employed. User public key security is thus tied to the physical security of the AGSE — something that already must remain secure for WebSign anyway. While additional forms of authentication may be supported in the future, this is much more practical than than leaving users out in the open with unauthenticated keys by default.
- Centralized data storage and syncing
- Alternative solutions treat multiple devices belonging to the same user as entirely separate, with user data being partitioned among those devices and never consolidated in any one place.
- Cyph uses a symmetric key derived from a strong (128-bit minimum) user password — preferentially a secure memorable passphrase — to enable seamless cloud-based synchronization of state between all devices in real time. With this, all user data is redundantly backed up and users can seamlessly move between devices as with more advanced non-secure solutions.
- Username-based identification
- Alternative solutions have largely settled on phone numbers as a means of identification, in stark contrast to the more familiar experience of usernames.
- Cyph has made the opposite decision. There’s no particular security concern here (cryptographically speaking), but as a practical consideration it may not always be ideal to divulge one’s phone number, and numbers are generally more cumbersome to work with than usernames.
To remove all doubt as to which components of Cyph are and are not proprietary to Cyph, Inc., this is the intellectual property status of all relevant technologies:
- Cyph source code: copyright owned by Cyph, Cyph-RSL license
- Secure web applications (WebSign): patent owned by Cyph (issued 2018-02-27)
- One-click ephemeral chat: patent owned by Cyph (issued 2017-10-17)
- Cryptographic primitives: all public domain, with the following exceptions:
- NTRU: various patents owned by Security Innovation, provided to the public under a royalty-free license
- SHA-512: patent owned by the National Security Agency, provided to the public under a royalty-free license
- Quantum-resistant primitive WebAssembly builds: copyrights owned by Cyph, BSD 2-Clause license
- Castle encryption protocol: one patent owned by Cyph (issued 2018-06-19)
- Derivative of Signal Protocol (public domain)
- Secure memorable passphrase generator: copyright owned by Cyph, BSD 2-Clause license
- Air Gapped Signing Environment: planned continuation-in-part patent application by Cyph
- Miscellaneous current and planned Cyph features: six additional issued patents (ten total) and two pending patents owned by Cyph
- Various third-party libraries: copyrights owned by various companies and individuals, various permissive licenses (Apache 2, BSD 2-Clause, BSD 3-Clause, ISC, MIT, Unlicense, public domain)
- Standard enterprise usage with optional co-branding
- Cyph Telehealth
- Healthcare-specific features and theming/branding
- Healthcare-related agreements (such as HIPAA BAA)
- Optional EMR/EHR integrations
- Forking / Custom product based on Cyph IP
- Self-signing (AGSEs + custom WebSign instance)
- Source code + patent license
- Lower latency voice/video calling (via Twilio network traversal service)