From 252c46bcbce8a58c62a6fe855aa64ffb1ff6406f Mon Sep 17 00:00:00 2001 From: seratym <94256358+seratym@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:47:53 +0200 Subject: [PATCH 1/7] Update vss.go Changed the description of MinimumT and NewDealer. --- share/vss/rabin/vss.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/share/vss/rabin/vss.go b/share/vss/rabin/vss.go index 2884e9984..62f000c01 100644 --- a/share/vss/rabin/vss.go +++ b/share/vss/rabin/vss.go @@ -131,10 +131,10 @@ type Justification struct { // NewDealer returns a Dealer capable of leading the secret sharing scheme. It // does not have to be trusted by other Verifiers. The security parameter t is -// the number of shares required to reconstruct the secret. It is HIGHLY -// RECOMMENDED to use a threshold higher or equal than what the method -// MinimumT() returns, otherwise it breaks the security assumptions of the whole -// scheme. It returns an error if the t is inferior or equal to 2. +// the number of shares required to reconstruct the secret. MinimumT() provides +// a middleground between robustness and secrecy. Increasing t will increase +// the secrecy at the cost of the decreased robustness and vice versa. It +// returns an error if the t is inferior or equal to 2. func NewDealer(suite Suite, longterm, secret kyber.Scalar, verifiers []kyber.Point, t int) (*Dealer, error) { d := &Dealer{ suite: suite, @@ -690,11 +690,11 @@ func (a *aggregator) UnsafeSetResponseDKG(idx uint32, approval bool) { a.addResponse(r) } -// MinimumT returns the minimum safe T that is proven to be secure with this -// protocol. It expects n, the total number of participants. -// WARNING: Setting a lower T could make -// the whole protocol insecure. Setting a higher T only makes it harder to -// reconstruct the secret. +// MinimumT returns the a safe value of T that balances secrecy and robustness. +// It expects n, the total number of participants. +// T should be adjusted to your threat model. Setting a lower T decreases the +// difficulty for an adversary to break secrecy. However, a too large T makes +// it possible for an adversary to prevent recovery (robustness). func MinimumT(n int) int { return (n + 1) / 2 } From d6f6d869ef053153c278a40325a6864d9d621713 Mon Sep 17 00:00:00 2001 From: seratym <94256358+seratym@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:54:06 +0200 Subject: [PATCH 2/7] Update vss.go Fixed typo --- share/vss/rabin/vss.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/vss/rabin/vss.go b/share/vss/rabin/vss.go index 62f000c01..5d598d316 100644 --- a/share/vss/rabin/vss.go +++ b/share/vss/rabin/vss.go @@ -132,7 +132,7 @@ type Justification struct { // NewDealer returns a Dealer capable of leading the secret sharing scheme. It // does not have to be trusted by other Verifiers. The security parameter t is // the number of shares required to reconstruct the secret. MinimumT() provides -// a middleground between robustness and secrecy. Increasing t will increase +// a middle ground between robustness and secrecy. Increasing t will increase // the secrecy at the cost of the decreased robustness and vice versa. It // returns an error if the t is inferior or equal to 2. func NewDealer(suite Suite, longterm, secret kyber.Scalar, verifiers []kyber.Point, t int) (*Dealer, error) { From 0d1d8b5d2925efe6fd21c379f0f11c7121c4d165 Mon Sep 17 00:00:00 2001 From: seratym <94256358+seratym@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:54:33 +0200 Subject: [PATCH 3/7] Update vss.go Reworded pedersen MinimumT and NewDealer --- share/vss/pedersen/vss.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/share/vss/pedersen/vss.go b/share/vss/pedersen/vss.go index 3f19b017c..a00c6e6df 100644 --- a/share/vss/pedersen/vss.go +++ b/share/vss/pedersen/vss.go @@ -113,10 +113,10 @@ type Justification struct { // NewDealer returns a Dealer capable of leading the secret sharing scheme. It // does not have to be trusted by other Verifiers. The security parameter t is -// the number of shares required to reconstruct the secret. It is HIGHLY -// RECOMMENDED to use a threshold higher or equal than what the method -// MinimumT() returns, otherwise it breaks the security assumptions of the whole -// scheme. It returns an error if the t is less than or equal to 2. +// the number of shares required to reconstruct the secret. MinimumT() provides +// a middle ground between robustness and secrecy. Increasing t will increase +// the secrecy at the cost of the decreased robustness and vice versa. It +// returns an error if the t is inferior or equal to 2. func NewDealer(suite Suite, longterm, secret kyber.Scalar, verifiers []kyber.Point, t int) (*Dealer, error) { d := &Dealer{ suite: suite, @@ -714,11 +714,11 @@ func (a *Aggregator) MissingResponses() []int { return absents } -// MinimumT returns the minimum safe T that is proven to be secure with this -// protocol. It expects n, the total number of participants. -// WARNING: Setting a lower T could make -// the whole protocol insecure. Setting a higher T only makes it harder to -// reconstruct the secret. +// MinimumT returns the a safe value of T that balances secrecy and robustness. +// It expects n, the total number of participants. +// T should be adjusted to your threat model. Setting a lower T decreases the +// difficulty for an adversary to break secrecy. However, a too large T makes +// it possible for an adversary to prevent recovery (robustness). func MinimumT(n int) int { return (n + 1) / 2 } From 72058e308c7f86fa9e95054cf228f1a7abac8182 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Wed, 8 Nov 2023 16:04:24 +0100 Subject: [PATCH 4/7] Update share/vss/pedersen/vss.go Co-authored-by: pierluca --- share/vss/pedersen/vss.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/vss/pedersen/vss.go b/share/vss/pedersen/vss.go index a00c6e6df..f6c0931ca 100644 --- a/share/vss/pedersen/vss.go +++ b/share/vss/pedersen/vss.go @@ -714,7 +714,7 @@ func (a *Aggregator) MissingResponses() []int { return absents } -// MinimumT returns the a safe value of T that balances secrecy and robustness. +// MinimumT returns a safe value of T that balances secrecy and robustness. // It expects n, the total number of participants. // T should be adjusted to your threat model. Setting a lower T decreases the // difficulty for an adversary to break secrecy. However, a too large T makes From c94c832aa7fba7539f4b09737fdd683b2afbc495 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Wed, 8 Nov 2023 16:04:33 +0100 Subject: [PATCH 5/7] Update share/vss/rabin/vss.go Co-authored-by: pierluca --- share/vss/rabin/vss.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/vss/rabin/vss.go b/share/vss/rabin/vss.go index 5d598d316..f09a353c0 100644 --- a/share/vss/rabin/vss.go +++ b/share/vss/rabin/vss.go @@ -133,7 +133,7 @@ type Justification struct { // does not have to be trusted by other Verifiers. The security parameter t is // the number of shares required to reconstruct the secret. MinimumT() provides // a middle ground between robustness and secrecy. Increasing t will increase -// the secrecy at the cost of the decreased robustness and vice versa. It +// the secrecy at the cost of the decreased robustness and vice versa. It // returns an error if the t is inferior or equal to 2. func NewDealer(suite Suite, longterm, secret kyber.Scalar, verifiers []kyber.Point, t int) (*Dealer, error) { d := &Dealer{ From 59bee311fc405af350b091b5c3059e29013f3d41 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Wed, 8 Nov 2023 16:04:41 +0100 Subject: [PATCH 6/7] Update share/vss/rabin/vss.go Co-authored-by: pierluca --- share/vss/rabin/vss.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/vss/rabin/vss.go b/share/vss/rabin/vss.go index f09a353c0..9de4b3980 100644 --- a/share/vss/rabin/vss.go +++ b/share/vss/rabin/vss.go @@ -690,7 +690,7 @@ func (a *aggregator) UnsafeSetResponseDKG(idx uint32, approval bool) { a.addResponse(r) } -// MinimumT returns the a safe value of T that balances secrecy and robustness. +// MinimumT returns a safe value of T that balances secrecy and robustness. // It expects n, the total number of participants. // T should be adjusted to your threat model. Setting a lower T decreases the // difficulty for an adversary to break secrecy. However, a too large T makes From d9f4b47e2d8d35d899b7d0c6722639d47ef2f74b Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Wed, 8 Nov 2023 16:04:48 +0100 Subject: [PATCH 7/7] Update share/vss/pedersen/vss.go Co-authored-by: pierluca --- share/vss/pedersen/vss.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/vss/pedersen/vss.go b/share/vss/pedersen/vss.go index f6c0931ca..611c8c756 100644 --- a/share/vss/pedersen/vss.go +++ b/share/vss/pedersen/vss.go @@ -115,7 +115,7 @@ type Justification struct { // does not have to be trusted by other Verifiers. The security parameter t is // the number of shares required to reconstruct the secret. MinimumT() provides // a middle ground between robustness and secrecy. Increasing t will increase -// the secrecy at the cost of the decreased robustness and vice versa. It +// the secrecy at the cost of the decreased robustness and vice versa. It // returns an error if the t is inferior or equal to 2. func NewDealer(suite Suite, longterm, secret kyber.Scalar, verifiers []kyber.Point, t int) (*Dealer, error) { d := &Dealer{