https://github.com/douganderson444/recrypted
Transform Encryption: Share secrets without revealing them first.
https://github.com/douganderson444/recrypted
Last synced: 3 months ago
JSON representation
Transform Encryption: Share secrets without revealing them first.
- Host: GitHub
- URL: https://github.com/douganderson444/recrypted
- Owner: DougAnderson444
- Created: 2023-11-02T19:23:09.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-23T21:46:54.000Z (about 1 year ago)
- Last Synced: 2025-01-24T19:47:11.471Z (5 months ago)
- Language: Rust
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recrypted
Encrypt and decrypt your data using your Ed25519 keypair. Allows others to access the data without decrypting it in the process. Allow a semi-trusted third party to re-encypt the keys on your behalf without ever seeing the plaintext data.
## Why?
- **Privacy**: Only you can decrypt your data.
- **Key Management**: Symmetric keys are deterministically derived from your Ed25519 key
- **Secure Sharing**: Share your data with others without exposing the plaintext first
- **Delegation**: Allow others to gate access without giving them the ability to decrypt it.For example, say you want a server to allow access to a file for certain users only under certain conditions (payment, time, etc.). You can set Re-encryption policy to only issue the Re-encrypted key if those conditions are met.
## Transform Re-encryption (Homomorphic Encryption)
Transform Re-encryption is a homomorphic encryption scheme that allows users to transform ciphertexts from one key to another without decrypting the ciphertexts. This is useful for delegating decryption rights to other users, or for changing the encryption key without re-encrypting all the data.
## Rust Workspace
Written in 100% pure `Rust`. Workspace composed of:
- [x] [recrypted-core](crates/recrypted-core/README.md) - The core library for the Transform Re-encryption scheme.
- [x] [recrypted-component](crates/recrypted-component/README.md) - The bindings for [Wasm Interface Types Component](https://component-model.bytecodealliance.org/introduction.html) so the core library can be run anywhere [`wasmtime`](https://github.com/bytecodealliance/wasmtime) runs (Rust, JS, ...)