Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final merge PR for drand/kyber #512

Open
wants to merge 205 commits into
base: master
Choose a base branch
from
Open

Final merge PR for drand/kyber #512

wants to merge 205 commits into from

Conversation

AnomalRoil
Copy link
Contributor

This is a new PR for #509 to allow everyone to work against the drandmerge branch on the Dedis repo.

pairing/bn254/gfp12.go Outdated Show resolved Hide resolved
pairing/bn254/gfp2.go Outdated Show resolved Hide resolved
pairing/bn254/gfp2.go Outdated Show resolved Hide resolved
pairing/bn254/gfp6.go Outdated Show resolved Hide resolved
pairing/bn254/gfp6.go Outdated Show resolved Hide resolved
pairing/bn254/optate.go Outdated Show resolved Hide resolved
pairing/bn254/point.go Outdated Show resolved Hide resolved
pairing/bn254/point.go Outdated Show resolved Hide resolved
}
// DST_prime = DST || I2OSP(len(DST), 1)
// b_0 = H(Z_pad || msg || l_i_b_str || I2OSP(0, 1) || DST_prime)
_, _ = h.Write(make([]byte, h.BlockSize()))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in the gnarkExpandMsgXmd we check/return errors but here we don't. Is there a reason to swallow them here? Admittedly they're unlikely to happen, but it seems like good hygiene

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The HashablePoint.Hash doesn't have an error in its return, I tried to handle the errors but the cascading effect goes out of hand. This pr might not be the place to do that ?

pairing/bn254/twist.go Outdated Show resolved Hide resolved
// still preserves the properties of the pairing (e.g. the Pair function).
//
// It's important to note that the Point function will generate a point
// compatible with public keys only (group G2) where the signature must be

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this not the reverse of the standard case? It seems that most bls libs put pub keys on G1 and sigs on G2. In drand we do the opposite.
It seems circl supports both

Robingoumaz and others added 15 commits May 24, 2024 14:37
* Moved scheme.go and threshold.go into internals and uncommented bls_test.go
* Removed nerr++ in favor of len(errors)
* Changed the path for test
* Sorting imports
* Update bn256 from cloudflare's changes
* Added the bn256/hash.go and its tests
* Removed nonce from Rabin VSS
* Removed nonce from Pedersen VSS
* Switched back to matrix in CI
* Fixed go version
* Rm not working manual go version for alpine
* Removed debugging + fixed go version on x86 + go version to 1.21-1.22
* Unified test workflow
* Upgrade go version + rm matrix from permission
* Added concurrency check back
* BREAKING API change: Refactored curve packages nist -> p256
* BREAKING API change: Changed names from 25519 to ed25519

---------

Co-authored-by: Yolan Romailler <[email protected]>
* Add rfc9380 test vectors
* Add expand_message_xmd
* Add test vector sha512
* Add Elligator2 for curve25519
* Add mapToCurve for edwards25519
* Add domain separator as param
* Set to use sha512 by default
* Extract repeated inputs in test
* Add test
* Use proper byte to fe
* Use constant fe computed manually
* Add test hashToField
* Pad array
* Add Hash() test
* Add doc for new fe functions
* Add inline operations comments
* Add rfc ref
* Add fe conversion test
* Add long dst support + tests
* Add missing mod
* Add expandMessageXOF
* Add readme with code for test vector gen.
* Add test vector + more complex property test
* Force use of domain separator
* Add domainSep. check expand xof

---------

Co-authored-by: Yolan Romailler <[email protected]>
* Added circl and kilic implementation of bls12381 + benchmarks
* Added deserialization tests compressed vectors +more comments
* Fix IBE in the drand merge (#514)
* Add ByteOrder() function + constant from int.go
* Update circl_bls12381 and edwards25519 scalars
* Add Order() to the scalar interface
* Adapt IBE to make it general
* Fix dkg bug (#515)
* BugFix: use array index instead of node index
* Fix endianess bool
* Add tests for endianess
* Fixed deserialization tests + circl issue
* Removed groupchecker iface
* Added back circl deserialization test (cloudflare/circl#499)
* Since Go 1.21 go mod tidy require the go directive to match the highest of our dependencies

---------

Co-authored-by: Kilian <[email protected]>
Co-authored-by: Yolan Romailler <[email protected]>
@matteosz matteosz added the v4 label Jun 13, 2024
Copy link

sonarcloud bot commented Jun 17, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
40.2% Duplication on New Code (required ≤ 10%)

See analysis details on SonarCloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[DKG] Make Commitment Public from encrypted deal Broadcast of polynomials commitments in VSS/DKG
9 participants