Skip to content
This repository has been archived by the owner on Sep 8, 2022. It is now read-only.

PublicShares in DKG result #65

Open
mvrshvl opened this issue Jul 18, 2022 · 0 comments
Open

PublicShares in DKG result #65

mvrshvl opened this issue Jul 18, 2022 · 0 comments

Comments

@mvrshvl
Copy link

mvrshvl commented Jul 18, 2022

Hello, dear developers. I hope you are well-doing. I'm using Kryptology functions in my research and it works well. I'm really enjoy your product.

I ran into a problem while using DKG results. The PublicShares returned after round 4 does not match the PublicShare generated from the ShamirShare.

PublicShares []*curves.EcPoint

	field := curves.NewField(curve.Params().N)
	share1 := v1.NewShamirShare(1, dkgR4Out[1].SigningKeyShare.Bytes(), field)

	publicShare1, err := curves.NewScalarBaseMult(curve, share1.Value.BigInt())
	require.NoError(t, err)

	ok := reflect.DeepEqual(publicShare1, dkgR4Out[1].PublicShares[0]) // ok = false

I assume they should be equal, otherwise round3(GG20) will return an error "e != eHat".

How should I use the PublicShares returned from the DKG to create a Signer object?

To reproduce, run a test that passes the result of DKG to gg20.

https://github.com/youricorocks/kryptology/blob/5f8afd0811a0e40dac543e9959a2998b20a9861c/pkg/tecdsa/gg20/participant/dkg_rounds_test.go#L900

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

1 participant