INNER CODE UNIT · Go

func

taurushq-io/multi-party-sig · internal/ot/additive.go:52

func (r *AdditiveOTSender) Round1(msg *AdditiveOTReceiveRound1Message) (*AdditiveOTSendRound1Message, AdditiveOTSendResult, error) {
	extendedResult, err := ExtendedOTSend(r.ctxHash, r.setup, r.batchSize, msg.Msg)
	if err != nil {
		return nil, nil, err
	}
	prg := blake3.New()
	outMsg := new(AdditiveOTSendRound1Message)
	outMsg.CombinedPads = make([][2][]byte, r.batchSize)
	result := make([][2]curve.Scalar, r.batchSize)
	var combinedPads [2]curve.Scalar
	for i := 0; i < r.batchSize; i++ {
		prg.Reset()
		_, _ = prg.Write(extendedResult._V0[i][:])
		digest := prg.Digest()
		result[i][0] = sample.Scalar(digest, r.group)
		result[i][1] = sample.Scalar(digest, r.group)

		prg.Reset()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…