Commit Graph

25 Commits

Author SHA1 Message Date
Conrado Gouvea c0c57f4b4b
generate Randomizer by hashing SigningPackage (#542) 2023-09-22 14:20:11 +00:00
natalie ba3ef7dbb8
Convert all HashMaps to BTreeMaps (#547)
Convert HashMaps to BTreeMaps (#476)
2023-09-22 14:08:32 +00:00
Conrado Gouvea a5dc479b4d
remove serde bounds from Ciphersuites (#541) 2023-09-21 09:24:21 +00:00
Conrado Gouvea 4ba88c0210
add version field to serialization at the beginning; move ciphersuite after it (#540)
* add version field into a Header field along with the ciphersuite ID

* Change Ciphersuite ID to be the contextString from the spec

* Apply suggestions from code review

Co-authored-by: natalie <n.l.eskinazi@gmail.com>

---------

Co-authored-by: natalie <n.l.eskinazi@gmail.com>
2023-09-20 15:40:01 +00:00
Conrado Gouvea 9752182fa1
change reconstruct() to take KeyPackages; validate size (#523)
change reconstruct() to take KeyPackages; validate size
2023-09-11 21:51:33 +00:00
Conrado Gouvea 4abe7fe638
document features (#512) 2023-09-04 19:38:48 +00:00
Conrado Gouvea 9413b49c05
Update test vectors (#438)
update test vectors to final version (v1) and update spec links
2023-08-14 10:39:15 +00:00
Conrado Gouvea b2c605aac1
remove identifiers from structs that are communicated (#397)
* WIP of removing the identifier in structs that are communicated. Working for SigningCommitments for ristretto255

* removed identifier from SignatureShare

* remove identifiers from DKG packages

* replicate to other ciphersuites; simplify SignatureShare

* update changelog

* fix SignatureShare encoding
2023-07-05 10:39:25 +00:00
Conrado Gouvea 4e134f50d6
allow specifying identifiers in generate_with_dealer (#419) 2023-06-30 18:29:26 +00:00
Conrado Gouvea 78b5c44de0
add support for deriving identifiers from arbitary strings (#418) 2023-06-30 15:45:46 +00:00
Conrado Gouvea 7358b667ca
expand serde tests (#409)
using samples in serde tests
2023-06-23 14:22:33 +00:00
Conrado Gouvea 47121537e8
Support serde (#398)
* Implement serde for network messages.

* Make sure marker type implements serde.

* add serde support to all required structs

* use serdect

* gate under serde feature

* ci: add build with default features job

* add serde tests and required changes/fixes

* add support for encoding ciphersuite ID

---------

Co-authored-by: David Craven <david@craven.ch>
2023-06-23 09:58:22 +00:00
Conrado Gouvea 8defd2c058
expose missing structs in ciphersuite crates (#405)
expose VerifyingShare, NonceCommitment and SignatureResponse in ciphersuite crates
2023-06-22 09:26:56 +00:00
natalie c03402baa5
Expose signing share in ciphersuite libraries (#404)
* Add SigningShare to ciphersuite libraries (#403)

* Update ciphersuite libraries to use own implementation of SigningShare and not generic (#403)
2023-06-21 16:51:50 +00:00
Conrado Gouvea 6bca7a3918
add split_key; additional refactorings (#314)
* add split_key; additional refactorings

* Update frost-core/src/frost/keys.rs

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

* refactor reconstruct_key(); add tests for error cases

* rename keys functions

* leftover renames after sync with main

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-05-19 09:54:52 +00:00
Conrado Gouvea 4a112230cb
Change gencode to handle repairable module; fix build issues (#329)
* make gencode generate repairable.rs

* fix build issues in ciphersuite-specific repairable.rs

* copy repairable docs from frost-core into ciphersuites modules

* use full ciphersuite name in repairable.rs to make gencode work
2023-04-28 02:16:03 +00:00
Conrado Gouvea 98836fad4d
remove redundant round2::SigningPackage (#333) 2023-04-27 21:52:38 +00:00
Deirdre Connolly cf7ebcb34e
Re-export the frost-core traits and rand-core as part of top-level impls API (#297)
* Re-export the frost-core traits and rand-core as part of top-level impls API

* Don't export frost_core::frost

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-04-14 01:04:17 +00:00
Conrado Gouvea b829d4ff9f
move comments before attributes; make gencode handle them (#280) 2023-04-13 23:57:00 +00:00
natalie c6f2d6b5fb
Update keygen_with_dealer to return a hashmap (#288)
* Change keygen_with_dealer to return a HashMap (#282)

Update docs

* Add vscode folder to gitignore
2023-03-23 22:24:33 +00:00
Deirdre Connolly 81ae27b1fa
ed448 release (#276)
* Tidy Cargo.toml for publishing

* Waiting for ed448-goldilocks to publish

* point to ed448-goldilocks 0.9.0; use new to_bytes_rfc_8032() method

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-03-11 01:04:09 +00:00
Conrado Gouvea 9514e7688e
add check for canonical point encodings where needed, and tests (#193)
* add check for canonical point encodings where needed, and tests

* remove unneeded 'as' keywords

* fix after syncing with main

* pin curve25519-dalek for now due to breaking changes

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2022-12-15 09:38:53 +00:00
Conrado Gouvea 665ab512e2
move dkg module to its own file; update and refactor gendoc (#196)
* move dkg module to its own file; update and refactor gendoc

* pin curve25519-dalek for now due to breaking changes
2022-12-15 09:38:48 +00:00
Conrado Gouvea e8dc692ca0
add Identifier to InvalidSignatureShare and split Error type (#183)
* add Identifier to InvalidSignatureShare

* rustdoc

* also update secp256k1

* add Identifier::deserialize; make serialize public

* make it work with Ed448

* Some space

* Fixing spacing for rustfmt

* Revert  🤦‍♂️

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2022-12-12 22:04:10 +00:00
Conrado Gouvea f79648dfa9
add Ed448 support (#187)
* add Ed448 support

* use zero() instead of one() when encoding a signature

* point to ed448-goldilocks main branch
2022-12-02 19:47:20 +00:00