Skip to content

End-to-end encrypted communication and file synchronization for SyftBox using the Signal protocol

Notifications You must be signed in to change notification settings

OpenMined/syft-crypto-core

Repository files navigation

syft-crypto-core

End-to-end encrypted communication and file synchronization for SyftBox using the Signal protocol.

Overview

This crate provides cryptographic primitives for secure messaging and file synchronization in SyftBox, built on top of libsignal's implementation of the Signal protocol. It includes support for the PQXDH key agreement protocol for post-quantum security via Kyber.

Status

This software is considered Beta so use at your own risk.

Project Structure

Following Signal's workspace pattern:

syft-crypto-core/
├── protocol/           # Core crypto library (keep as small as possible for easy security audit)
│   ├── src/
│   │   └── lib.rs
│   └── tests/          # Comprehensive tests
│
├── cli/                # Command-line interface to use the API in protocol/
│   └── src/
│       └── main.rs
│
└── Cargo.toml          # Workspace configuration

Development

Quick Start

just --list           # Show all commands
just build            # Build workspace
just test             # Run all tests

Build Commands

just build            # Build entire workspace
just build-protocol   # Build only protocol library
just build-cli        # Build only CLI
just build-release    # Release build

Test Commands

just test             # Run all tests
just test-protocol    # Protocol tests only
just test-verbose     # Tests with output

Code Quality

just format           # Format code
just lint             # Run clippy
just pre-commit       # Format + lint + test

CLI Commands

just run <ARGS>       # Run CLI with arguments
just cli-help         # Show CLI help
just keygen-help      # Show keygen help

Utilities

just clean            # Clean build artifacts
just doc              # Generate documentation
just tree             # Show project structure

License

Apache-2.0

Repository

https://github.com/OpenMined/syft-crypto-core

About

End-to-end encrypted communication and file synchronization for SyftBox using the Signal protocol

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages