crypto_shared
Shared integration helpers for applications that combine pqthreshold and pqforge.
The package provides the application-facing transport and coordination layer for distributed ceremonies. It is intended for Flutter officer clients, Dart services, and Serverpod coordinators.
Included
CeremonyMessageRelayandInMemoryCeremonyRelayfor DKG message transport.OfficerDkgClientfor driving a participant'sCeremonySessionthrough a relay.DistributedDkgCoordinatorandDistributedSigningCoordinatorfor in-process orchestration.SigningJobCoordinatorandThresholdCeremonyServicefor coordinator-side job handling.- Hex codecs and pqforge-aligned share wrapping helpers.
This package does not provide authentication, authorization, durable storage, or a network transport implementation. Applications must provide those boundaries and must never store officer share secrets in the coordinator.
Installation
dependencies:
crypto_shared: ^1.0.0
The package supports Dart VM and native Flutter platforms. It is not Web-compatible because the custody and directory-relay helpers use dart:io.
Typical layout
officer_app/ # Flutter app; stores its own Share securely
serverpod_server/ # coordinator; relays wire messages and collects partials
A Serverpod wiring sketch is available in the repository integration guide.
Security boundary
The relay may carry DKG wire messages and public transcripts, but it must not receive private share scalars or passphrases. Add officer authentication and authorization to every application endpoint. Dispose temporary sensitive byte buffers and use platform secure storage for persistent shares.
Development
dart pub get
dart analyze
dart test
The source package lives in the pqthreshold repository.
Because this package lives under the root package's packages/ pub exclusion,
publish it from an external staging copy:
bash ../../tool/publish_crypto_shared.sh --dry-run
bash ../../tool/publish_crypto_shared.sh
License
MIT. See LICENSE.
Libraries
- Shared integration helpers for pqthreshold + pqforge consumers.