duo
A Kotlin Multiplatform library for two-party Multi-Party Computation (MPC) operations. This module provides secure distributed key generation, signing, and key management between two parties using the SilentShard protocol.
Keys are split between two parties — neither ever holds the complete private key. Both parties drive the same DuoSession surface; which side of the protocol a session plays is chosen at construction:
SilentShard.ECDSA.duoInitiator(...)/SilentShard.EdDSA.duoInitiator(...)— the initiator party. It generates the protocol setup and drives each operation against the peer (typically a cloud service).SilentShard.ECDSA.duoOther(...)/SilentShard.EdDSA.duoOther(...)— the other party. Same operations, sameDuoSessiontype; its sessions consume the initiator's setup instead of generating it.
The protocol is role-agnostic — a role is configuration, not a different API.
A Kotlin Multiplatform library for two-party Multi-Party Computation (MPC) operations. This module provides secure distributed key generation, signing, and key management between two parties using the SilentShard protocol.
Keys are split between two parties — neither ever holds the complete private key. Both parties drive the same DuoSession surface; which side of the protocol a session plays is chosen at construction:
SilentShard.ECDSA.duoInitiator(...)/SilentShard.EdDSA.duoInitiator(...)— the initiator party. It generates the protocol setup and drives each operation against the peer (typically a cloud service).SilentShard.ECDSA.duoOther(...)/SilentShard.EdDSA.duoOther(...)— the other party. Same operations, sameDuoSessiontype; its sessions consume the initiator's setup instead of generating it.
The protocol is role-agnostic — a role is configuration, not a different API.