serai/crypto/dkg
Luke Parker b296be8515
Replace bincode with borsh (#452)
* Add SignalsConfig to chain_spec

* Correct multiexp feature flagging for rand_core std

* Remove bincode for borsh

Replaces a non-canonical encoding with a canonical encoding which additionally
should be faster.

Also fixes an issue where we used bincode in transcripts where it cannot be
trusted.

This ended up fixing a myriad of other bugs observed, unfortunately.
Accordingly, it either has to be merged or the bug fixes from it must be ported
to a new PR.

* Make serde optional, minimize usage

* Make borsh an optional dependency of substrate/ crates

* Remove unused dependencies

* Use [u8; 64] where possible in the processor messages

* Correct borsh feature flagging
2023-11-25 04:01:11 -05:00
..
src Replace bincode with borsh (#452) 2023-11-25 04:01:11 -05:00
Cargo.toml Replace bincode with borsh (#452) 2023-11-25 04:01:11 -05:00
LICENSE Update licenses 2023-01-11 23:05:31 -05:00
README.md Fully document crypto/ 2023-03-20 20:10:00 -04:00

Distributed Key Generation

A collection of implementations of various distributed key generation protocols.

All included protocols resolve into the provided Threshold types, intended to enable their modularity. Additional utilities around these types, such as promotion from one generator to another, are also provided.

Currently, the only included protocol is the two-round protocol from the FROST paper.

This library was audited by Cypher Stack in March 2023, culminating in commit 669d2dbffc1dafb82a09d9419ea182667115df06. Any subsequent changes have not undergone auditing.