Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orlandos-nl/cyphertextkit
End-to-End Encryption Support for Swift Clients
https://github.com/orlandos-nl/cyphertextkit
chat-framework cryptography end-to-end-encryption ios swift
Last synced: 25 days ago
JSON representation
End-to-End Encryption Support for Swift Clients
- Host: GitHub
- URL: https://github.com/orlandos-nl/cyphertextkit
- Owner: orlandos-nl
- Created: 2021-04-10T16:34:21.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-10T12:40:45.000Z (3 months ago)
- Last Synced: 2024-09-10T14:15:54.461Z (3 months ago)
- Topics: chat-framework, cryptography, end-to-end-encryption, ios, swift
- Language: Swift
- Homepage:
- Size: 357 KB
- Stars: 27
- Watchers: 2
- Forks: 2
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
**CypherTextKit** is a framework for establishing end-to-end encrypted communication between two users. It supports multiple devices per user, features encryption at rest and peer-to-peer networking. CypherTextKit currently targets iOS 15+ and macOS 12+, but can also run on Linux using Swift 5.5 or later.
The SDK is designed so that it can be easily implemented in existing communication apps. This allows you to re-use your existing iOS and backend code, but still provide a more secure and private communication experience.
[Read the Story](https://medium.com/@joannisorlandos/building-end-to-end-encrypted-ios-apps-4dd018a0290b) or [Join our Discord](https://discord.gg/H6799jh) for any questions and friendly banter.
### Transparent End-to-end Encryption
CypherTextKit aims to be a layer inbetween your existing messaging traffic and database storage. All encryption happens within the framework, relieving your client logic from the hard work and bugs that can occur. You can also leverage the framework for signing custom information or encrypted on-disk storage.
### Example Implementation
We provide an [Example Client](https://github.com/orlandos-nl/cyphertextkit-example) (iOS, macOS & CLI) as well as an [Example Server](https://github.com/orlandos-nl/CypherTextKitAPI). You can use these to start experimenting with CypherTextKit, or as an example for your own creations!
CypherTextKit demonstrates itself through a chat client, but it can also be applied to other communication. Think of the following examples:
- End-to-End Encrypted Email Clients
- Secret Messages over Printed QR Codes
- VOIP Communication### Android & Windows
We've designed CypherTextKit based on Swift 5.5 using Server-Side Swift tools such as [SwiftNIO](https://github.com/apple/swift-nio) so that it can be ported to both Android and Windows. Any contributions or collaboration towards such an effort is welcome, and we're already planning it out.