aboutsummaryrefslogtreecommitdiffstats
path: root/core/dkg-tsig-protocol.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/dkg-tsig-protocol.go')
-rw-r--r--core/dkg-tsig-protocol.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/core/dkg-tsig-protocol.go b/core/dkg-tsig-protocol.go
index 2bdb4e9..2bb4c52 100644
--- a/core/dkg-tsig-protocol.go
+++ b/core/dkg-tsig-protocol.go
@@ -81,7 +81,8 @@ type dkgShareSecret struct {
privateKey *dkg.PrivateKey
}
-type dkgGroupPublicKey struct {
+// DKGGroupPublicKey is the result of DKG protocol.
+type DKGGroupPublicKey struct {
round uint64
qualifyIDs dkg.IDs
qualifyNodeIDs map[types.NodeID]struct{}
@@ -92,7 +93,7 @@ type dkgGroupPublicKey struct {
}
type tsigProtocol struct {
- groupPublicKey *dkgGroupPublicKey
+ groupPublicKey *DKGGroupPublicKey
hash common.Hash
psigType types.DKGPartialSignatureType
sigs map[dkg.ID]dkg.PartialSignature
@@ -311,11 +312,12 @@ func (ss *dkgShareSecret) sign(hash common.Hash) dkg.PartialSignature {
return dkg.PartialSignature(sig)
}
-func newDKGGroupPublicKey(
+// NewDKGGroupPublicKey creats a DKGGroupPublicKey instance.
+func NewDKGGroupPublicKey(
round uint64,
mpks []*types.DKGMasterPublicKey, complaints []*types.DKGComplaint,
threshold int) (
- *dkgGroupPublicKey, error) {
+ *DKGGroupPublicKey, error) {
// Calculate qualify members.
disqualifyIDs := map[types.NodeID]struct{}{}
complaintsByID := map[types.NodeID]int{}
@@ -369,7 +371,7 @@ func newDKGGroupPublicKey(
pubShares = append(pubShares, &mpkMap[id].PublicKeyShares)
}
groupPK := dkg.RecoverGroupPublicKey(pubShares)
- return &dkgGroupPublicKey{
+ return &DKGGroupPublicKey{
round: round,
qualifyIDs: qualifyIDs,
qualifyNodeIDs: qualifyNodeIDs,
@@ -380,13 +382,14 @@ func newDKGGroupPublicKey(
}, nil
}
-func (gpk *dkgGroupPublicKey) verifySignature(
+// VerifySignature verifies if the signature is correct.
+func (gpk *DKGGroupPublicKey) VerifySignature(
hash common.Hash, sig crypto.Signature) bool {
return gpk.groupPublicKey.VerifySignature(hash, sig)
}
func newTSigProtocol(
- gpk *dkgGroupPublicKey,
+ gpk *DKGGroupPublicKey,
hash common.Hash,
psigType types.DKGPartialSignatureType) *tsigProtocol {
return &tsigProtocol{