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

Merging the drand fork #509

Merged
merged 180 commits into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
34a525d
signed and go.mod
nikkolasg Dec 28, 2019
7fe8641
full replacement as per indication https://github.com/golang/go/issue…
nikkolasg Dec 28, 2019
c01e8ef
external scheme test
nikkolasg Dec 28, 2019
84ec45b
tbls and bdn adapted with scheme
nikkolasg Dec 28, 2019
53f989c
extracted threshold scheme
nikkolasg Dec 29, 2019
558f79c
extended test for threshold
nikkolasg Dec 29, 2019
240720a
go.sum changed
nikkolasg Jan 9, 2020
594491c
removing bn256 from pairing/
nikkolasg Jan 10, 2020
0770c5d
moved bn256 bls to bn256 package
nikkolasg Jan 10, 2020
8de27ed
removing pairing from suites
nikkolasg Jan 10, 2020
22dd74e
dkg returns an error when reader fails
nikkolasg Jan 28, 2020
9e5bf6a
updated building code
nikkolasg Jan 28, 2020
b2458fe
fully commit
nikkolasg Jan 28, 2020
d227ada
building
nikkolasg Jan 28, 2020
52819db
correct badge
nikkolasg Jan 28, 2020
ed3c998
new dkg shape
nikkolasg Mar 26, 2020
be362b2
intermediate commit
nikkolasg Mar 31, 2020
d5ec052
added index of signature
nikkolasg Mar 31, 2020
30e90cc
Merge pull request #1 from drand/index_tbls
nikkolasg Mar 31, 2020
5c9abe5
returning err only if not enough valid partials
nikkolasg Apr 9, 2020
965fd62
Merge pull request #2 from drand/tbls
nikkolasg Apr 9, 2020
eaa304a
intermediate commit
nikkolasg Apr 12, 2020
19de0c1
using correct circleci config
nikkolasg Apr 12, 2020
0365a65
simple dkg and threshold tests passing
nikkolasg Apr 17, 2020
dae2766
test resharing done
nikkolasg Apr 17, 2020
38c5f3d
full protocol test passing
nikkolasg Apr 18, 2020
b548f49
removed pedersen
nikkolasg Apr 18, 2020
fba05b4
removed dss since unused for now
nikkolasg Apr 18, 2020
e8fc438
fast sync tested
nikkolasg Apr 19, 2020
d0711a1
additional test
nikkolasg Apr 19, 2020
c913bcb
Safe DKG API with abstract network protocol implementation
nikkolasg Apr 19, 2020
80b935f
no fmt printf
nikkolasg Apr 21, 2020
8f54a91
Merge pull request #4 from drand/ndkg
nikkolasg Apr 21, 2020
0c0323b
dkg config embedded as value struct
nikkolasg Apr 23, 2020
a5daef1
automatically start the dkg protocol
nikkolasg Apr 29, 2020
d48c05c
Merge pull request #5 from drand/ndkg
nikkolasg Apr 29, 2020
391ebdd
more test for IndexOf
nikkolasg Apr 30, 2020
832623d
Merge pull request #6 from drand/ndkg
nikkolasg Apr 30, 2020
34be7f7
Merge branch 'master' of github.com:drand/kyber
nikkolasg Apr 30, 2020
773f10c
test using idx
nikkolasg Apr 30, 2020
3e96355
fix some indexes bugs
nikkolasg May 2, 2020
d654e4d
Merge pull request #7 from drand/fix/ndkg
nikkolasg May 2, 2020
f7d4207
without logging
nikkolasg May 2, 2020
daa30f0
Merge pull request #8 from drand/fix/ndkg
nikkolasg May 2, 2020
48ca8ce
new test invalid previous public poly
nikkolasg May 7, 2020
b70608a
Merge pull request #9 from drand/test/tbls
nikkolasg May 7, 2020
d15bfa0
higher threshold / n for resharing
nikkolasg May 8, 2020
3136f47
Merge pull request #10 from drand/test/dkg
nikkolasg May 8, 2020
b928b0f
sstronger conditions for compute results
nikkolasg May 25, 2020
cdbaa4c
Fix potential panic in dkg with stronger conditions on computing results
nikkolasg May 25, 2020
2bfd1af
fix eviction of share holders (#14)
nikkolasg Jun 11, 2020
7a2dbc4
added nonce requirement (#13)
nikkolasg Jun 11, 2020
abb4a98
fix set of messages (#15)
nikkolasg Jun 12, 2020
d2b3307
Mandatory authentication and simplified API (#16)
nikkolasg Jun 12, 2020
d63cace
add constraint on number of complaints (#17)
nikkolasg Jun 23, 2020
e24f401
Feat/broadcast (#18)
nikkolasg Jul 7, 2020
7162163
fast pairing verification for bls (#19)
nikkolasg Aug 13, 2020
8efc5d4
Fix eviction of absent participant (#20)
nikkolasg Sep 28, 2020
0893a25
update to latest bls12-381 (#21)
nikkolasg Sep 28, 2020
0c3784c
DKG Safer transition of phases (#22)
nikkolasg Dec 10, 2020
b61eec4
switch to stable slice because it's not buggy in sorting deals & resp…
nikkolasg Nov 20, 2021
882a744
Fix storing by indices instead of sequentially (#25)
nikkolasg Nov 30, 2021
c5ce736
Basic Logging capability for DKG (#24)
nikkolasg Jan 10, 2022
be0590a
better logging (#26)
nikkolasg Jan 10, 2022
a60ddc0
Fixing logs (#27)
AnomalRoil Feb 25, 2022
0482f4b
Identity-based encryption features to support timelock encryption (#28)
CluEleSsUK Jul 5, 2022
a780ab2
Github Actions integration to replace circle ci (#30)
CluEleSsUK Jul 7, 2022
d058958
Adding capability for hashing scalars (#33)
nikkolasg Aug 2, 2022
bf27c7a
Consume IBE hash function from the suite (#34)
CluEleSsUK Aug 3, 2022
300068b
Fix IBE hash endianness (#35)
AnomalRoil Aug 4, 2022
963d1f5
fixing test for race condition in status (#36)
nikkolasg Aug 5, 2022
d36ac51
IBE unit test for tlock typescript compat (#37)
CluEleSsUK Aug 16, 2022
0a25681
Fix/eviction (#39)
nikkolasg Sep 6, 2022
9b6e107
Updating deps (#40)
AnomalRoil Sep 6, 2022
f695825
Added additional error and info logging to DKG (#41)
CluEleSsUK Sep 8, 2022
08005f2
Using patched kyber-bls12381 for G2 (#42)
AnomalRoil Dec 5, 2022
f864ea9
fixed bug where closing a channel mid-DKG would cause an infinite loo…
CluEleSsUK Dec 9, 2022
57e99ee
use correct threshold in dkg (#45)
nikkolasg Feb 8, 2023
75d37a5
Updating dependencies (#47)
AnomalRoil Feb 8, 2023
5706fa5
Implementing IBE on G2 (#48)
AnomalRoil Mar 16, 2023
080efbe
Fix MinimumT everywhere (#51)
AnomalRoil Jun 19, 2023
ef24d7e
fixed nil check on nodes in DKG (#54)
CluEleSsUK Feb 7, 2024
96c6a27
Bump golang.org/x/crypto from 0.7.0 to 0.17.0 (#52)
dependabot[bot] Feb 7, 2024
4417fb6
bounds check comparing polynomials (#56)
CluEleSsUK Feb 21, 2024
ab02d54
pairing: Adds support for BLS12381 using CIRCL library (#49)
armfazh Feb 21, 2024
a5d64f6
Bump github.com/cloudflare/circl from 1.3.2 to 1.3.7 (#58)
dependabot[bot] Feb 21, 2024
266eb7b
Add Support for signatures on the G2 curve for BDN (#53)
matejpavlovic Mar 8, 2024
6fadd9d
Add BN254 (#55)
kevincharm Mar 18, 2024
54d4f93
updating dependencies
AnomalRoil Mar 18, 2024
d2dad33
Changes to imports of all files.
Robingoumaz Apr 1, 2024
91cdf50
Commented the ibe_test.go file
Robingoumaz Apr 1, 2024
d2f8c52
Commented the bls_test.go file
Robingoumaz Apr 1, 2024
b38ac75
go mod tidy
Robingoumaz Apr 2, 2024
4b070ac
Changes to the makefile and readme because of the conflicts.
Robingoumaz Apr 4, 2024
eda6183
signed and go.mod
nikkolasg Dec 28, 2019
8ed4b3f
full replacement as per indication https://github.com/golang/go/issue…
nikkolasg Dec 28, 2019
c7c0ebf
external scheme test
nikkolasg Dec 28, 2019
aafd4f6
tbls and bdn adapted with scheme
nikkolasg Dec 28, 2019
01516e3
extracted threshold scheme
nikkolasg Dec 29, 2019
4928d57
extended test for threshold
nikkolasg Dec 29, 2019
1e35fdc
go.sum changed
nikkolasg Jan 9, 2020
ae444c5
removing bn256 from pairing/
nikkolasg Jan 10, 2020
398d86c
moved bn256 bls to bn256 package
nikkolasg Jan 10, 2020
92ad1ce
removing pairing from suites
nikkolasg Jan 10, 2020
b4cece5
dkg returns an error when reader fails
nikkolasg Jan 28, 2020
41140d4
updated building code
nikkolasg Jan 28, 2020
ce1283f
fully commit
nikkolasg Jan 28, 2020
e65b050
building
nikkolasg Jan 28, 2020
3690819
correct badge
nikkolasg Jan 28, 2020
6ca9a12
added index of signature
nikkolasg Mar 31, 2020
3bbe85f
using correct circleci config
nikkolasg Apr 12, 2020
a65093d
returning err only if not enough valid partials
nikkolasg Apr 9, 2020
5a4b510
new dkg shape
nikkolasg Mar 26, 2020
e03f899
intermediate commit
nikkolasg Mar 31, 2020
aea7200
intermediate commit
nikkolasg Apr 12, 2020
fcd8795
simple dkg and threshold tests passing
nikkolasg Apr 17, 2020
1e537e1
test resharing done
nikkolasg Apr 17, 2020
fba6c92
full protocol test passing
nikkolasg Apr 18, 2020
bd25e91
removed pedersen
nikkolasg Apr 18, 2020
b9e4f33
removed dss since unused for now
nikkolasg Apr 18, 2020
133b380
fast sync tested
nikkolasg Apr 19, 2020
89688e2
additional test
nikkolasg Apr 19, 2020
8991a12
no fmt printf
nikkolasg Apr 21, 2020
37354ca
dkg config embedded as value struct
nikkolasg Apr 23, 2020
1be7e3b
automatically start the dkg protocol
nikkolasg Apr 29, 2020
ee5b5a1
more test for IndexOf
nikkolasg Apr 30, 2020
be809cb
test using idx
nikkolasg Apr 30, 2020
5e32fc1
fix some indexes bugs
nikkolasg May 2, 2020
15f4080
without logging
nikkolasg May 2, 2020
83f8bb9
new test invalid previous public poly
nikkolasg May 7, 2020
dae5d36
higher threshold / n for resharing
nikkolasg May 8, 2020
0ae33b0
sstronger conditions for compute results
nikkolasg May 25, 2020
08dc739
fix eviction of share holders (#14)
nikkolasg Jun 11, 2020
a668c2e
added nonce requirement (#13)
nikkolasg Jun 11, 2020
bc8ff54
fix set of messages (#15)
nikkolasg Jun 12, 2020
21636be
Mandatory authentication and simplified API (#16)
nikkolasg Jun 12, 2020
dfc24ac
add constraint on number of complaints (#17)
nikkolasg Jun 23, 2020
78d5e19
Feat/broadcast (#18)
nikkolasg Jul 7, 2020
69b3549
fast pairing verification for bls (#19)
nikkolasg Aug 13, 2020
9b0a0b8
Fix eviction of absent participant (#20)
nikkolasg Sep 28, 2020
0d6782c
update to latest bls12-381 (#21)
nikkolasg Sep 28, 2020
58681bc
DKG Safer transition of phases (#22)
nikkolasg Dec 10, 2020
35bb6b7
switch to stable slice because it's not buggy in sorting deals & resp…
nikkolasg Nov 20, 2021
1041b9d
Fix storing by indices instead of sequentially (#25)
nikkolasg Nov 30, 2021
d61ef79
Basic Logging capability for DKG (#24)
nikkolasg Jan 10, 2022
ee80d14
better logging (#26)
nikkolasg Jan 10, 2022
3126ef2
Fixing logs (#27)
AnomalRoil Feb 25, 2022
a4d8acb
Identity-based encryption features to support timelock encryption (#28)
CluEleSsUK Jul 5, 2022
61eb170
Github Actions integration to replace circle ci (#30)
CluEleSsUK Jul 7, 2022
745b8b2
Adding capability for hashing scalars (#33)
nikkolasg Aug 2, 2022
7b704b5
Consume IBE hash function from the suite (#34)
CluEleSsUK Aug 3, 2022
2c2d662
Fix IBE hash endianness (#35)
AnomalRoil Aug 4, 2022
bf00124
fixing test for race condition in status (#36)
nikkolasg Aug 5, 2022
d2946fe
IBE unit test for tlock typescript compat (#37)
CluEleSsUK Aug 16, 2022
9249e3a
Fix/eviction (#39)
nikkolasg Sep 6, 2022
625b7f6
Updating deps (#40)
AnomalRoil Sep 6, 2022
c47ef52
Added additional error and info logging to DKG (#41)
CluEleSsUK Sep 8, 2022
2ff80cc
Using patched kyber-bls12381 for G2 (#42)
AnomalRoil Dec 5, 2022
30c05a7
fixed bug where closing a channel mid-DKG would cause an infinite loo…
CluEleSsUK Dec 9, 2022
5e64f81
use correct threshold in dkg (#45)
nikkolasg Feb 8, 2023
c458de1
Updating dependencies (#47)
AnomalRoil Feb 8, 2023
841acc7
Implementing IBE on G2 (#48)
AnomalRoil Mar 16, 2023
0ba2d88
Fix MinimumT everywhere (#51)
AnomalRoil Jun 19, 2023
359bf0f
fixed nil check on nodes in DKG (#54)
CluEleSsUK Feb 7, 2024
ef28b1c
Bump golang.org/x/crypto from 0.7.0 to 0.17.0 (#52)
dependabot[bot] Feb 7, 2024
ac6eb87
bounds check comparing polynomials (#56)
CluEleSsUK Feb 21, 2024
3b2e0fc
pairing: Adds support for BLS12381 using CIRCL library (#49)
armfazh Feb 21, 2024
293edd2
Bump github.com/cloudflare/circl from 1.3.2 to 1.3.7 (#58)
dependabot[bot] Feb 21, 2024
dcbe2cf
Add Support for signatures on the G2 curve for BDN (#53)
matejpavlovic Mar 8, 2024
447887b
Add BN254 (#55)
kevincharm Mar 18, 2024
03aea73
updating dependencies
AnomalRoil Mar 18, 2024
3c05b97
Changes to imports of all files.
Robingoumaz Apr 1, 2024
9a99479
Commented the ibe_test.go file
Robingoumaz Apr 1, 2024
4612b62
Commented the bls_test.go file
Robingoumaz Apr 1, 2024
cfb9b8d
go mod tidy
Robingoumaz Apr 2, 2024
3110fcf
Changes to the makefile and readme because of the conflicts.
Robingoumaz Apr 4, 2024
9629a04
Merge branch 'master' of github.com:Robingoumaz/kyber-drand
Robingoumaz Apr 4, 2024
8f039bf
Format + error fixing after the merge of the master into the fork
Robingoumaz Apr 4, 2024
1f8da36
going back to dedis makefile + fixing a function that got chopped dur…
Robingoumaz Apr 4, 2024
16a0920
Uncommented tests and fixed the errors that arised. Excluded the "_de…
Robingoumaz Apr 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Tests

on:
push:
branches:
- master
pull_request:
branches: [ master ]

concurrency:
group: ci-${{ github.ref }}-test
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install Go
uses: actions/setup-go@v2
with:
go-version: '1.18'

- name: Run tests
run: make test
1 change: 1 addition & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -246,3 +246,4 @@ issues:
- linters:
- govet
text: "shadow: declaration of \"err\" shadows declaration"
- path: ".*_decl.go"
15 changes: 7 additions & 8 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ designed to be independent of specific cryptographic algorithms,
to facilitate upgrading applications to new cryptographic algorithms
or switching to alternative algorithms for experimentation purposes.

Abstract Groups
# Abstract Groups

This toolkits public-key crypto API includes a kyber.Group interface
supporting a broad class of group-based public-key primitives
Expand All @@ -23,9 +23,9 @@ DSA-style integer groups.

As a trivial example, generating a public/private keypair is as simple as:

suite := suites.MustFind("Ed25519") // Use the edwards25519-curve
a := suite.Scalar().Pick(suite.RandomStream()) // Alice's private key
A := suite.Point().Mul(a, nil) // Alice's public key
suite := suites.MustFind("Ed25519") // Use the edwards25519-curve
a := suite.Scalar().Pick(suite.RandomStream()) // Alice's private key
A := suite.Point().Mul(a, nil) // Alice's public key

The first statement picks a private key (Scalar) from a the suites's source of
cryptographic random or pseudo-random bits, while the second performs elliptic
Expand All @@ -42,7 +42,7 @@ rather than the multiplicative-group terminology of traditional
integer groups - but the two are semantically equivalent and the
interface itself works for both elliptic curve and integer groups.

Higher-level Building Blocks
# Higher-level Building Blocks

Various sub-packages provide several specific
implementations of these cryptographic interfaces.
Expand Down Expand Up @@ -91,7 +91,7 @@ that keep the sources of individual votes or bids private
without anyone having to trust more than one of the shuffler(s) to shuffle
votes/bids honestly.

Target Use-cases
# Target Use-cases

As should be obvious, this library is intended to be used by
developers who are at least moderately knowledgeable about
Expand All @@ -109,7 +109,7 @@ to is the Charm rapid prototyping library for Python
This library incorporates and/or builds on existing code from a variety of
sources, as documented in the relevant sub-packages.

Reporting Security Problems
# Reporting Security Problems

This library is offered as-is, and without a guarantee. It will need an
independent security review before it should be considered ready for use in
Expand All @@ -118,6 +118,5 @@ is YOUR RESPONSIBILITY to arrange for that audit.

If you notice a possible security problem, please report it
to [email protected].

*/
package kyber
8 changes: 4 additions & 4 deletions encoding.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ type Marshaling interface {
// will have different constraints, of course. Two implementations are
// available:
//
// 1. The protobuf encoding using the variable length Google Protobuf encoding
// scheme. The library is available at https://go.dedis.ch/protobuf
// 2. The fixbuf encoding, a fixed length binary encoding of arbitrary
// structures. The library is available at https://go.dedis.ch/fixbuf.
// 1. The protobuf encoding using the variable length Google Protobuf encoding
// scheme. The library is available at https://go.dedis.ch/protobuf
// 2. The fixbuf encoding, a fixed length binary encoding of arbitrary
// structures. The library is available at https://go.dedis.ch/fixbuf.
type Encoding interface {
// Encode and write objects to an io.Writer.
Write(w io.Writer, objs ...interface{}) error
Expand Down
3 changes: 3 additions & 0 deletions encrypt/ecies/ecies.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ func Decrypt(group kyber.Group, private kyber.Scalar, ctx []byte, hash func() ha
// Reconstruct the ephemeral elliptic curve point
R := group.Point()
l := group.PointLen()
if len(ctx) < l {
return nil, errors.New("invalid ecies cipher")
}
if err := R.UnmarshalBinary(ctx[:l]); err != nil {
return nil, err
}
Expand Down
Loading
Loading