paillier

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2023 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

View Source
const (
	LFactor          = 1
	LpaiFactor       = 5
	MINIMALCHALLENGE = 80
)
View Source
const (

	// SAFESECURITYLEVEL define the minimal security level
	SAFESECURITYLEVEL = 2047
)

Variables

View Source
var (
	//ErrExceedMaxRetry is returned if we retried over times
	ErrExceedMaxRetry = errors.New("exceed max retries")
	//ErrInvalidInput is returned if the input is invalid
	ErrInvalidInput = errors.New("invalid input")
)
View Source
var (
	//ErrTooFewChallenge is returned if the times of challenge is too few.
	ErrTooFewChallenge = errors.New("the times of challenge are too few")
	//ErrVerifyFailure is returned if the verification is failure.
	ErrVerifyFailure = errors.New("the verification is failure")
)
View Source
var File_github_com_getamis_alice_crypto_zkproof_paillier_message_proto protoreflect.FileDescriptor

Functions

func GetE

func GetE(groupOrder *big.Int, msgs ...proto.Message) (*big.Int, []byte, error)

Types

type CurveConfig

type CurveConfig struct {
	Curve                elliptic.Curve
	TwoExpLAddepsilon    *big.Int
	TwoExpLpaiAddepsilon *big.Int
	TwoExpL              *big.Int
	LAddEpsilon          uint64
	LpaiAddEpsilon       uint64
	Lpai                 uint
}

func NewS256

func NewS256() *CurveConfig

type DecryMessage

type DecryMessage struct {
	Salt  []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S     []byte `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	T     []byte `protobuf:"bytes,3,opt,name=T,proto3" json:"T,omitempty"`
	A     []byte `protobuf:"bytes,4,opt,name=A,proto3" json:"A,omitempty"`
	Gamma []byte `protobuf:"bytes,5,opt,name=gamma,proto3" json:"gamma,omitempty"`
	Z1    string `protobuf:"bytes,6,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2    string `protobuf:"bytes,7,opt,name=z2,proto3" json:"z2,omitempty"`
	W     []byte `protobuf:"bytes,8,opt,name=w,proto3" json:"w,omitempty"`
	// contains filtered or unexported fields
}

func NewDecryMessage

func NewDecryMessage(config *CurveConfig, ssidInfo []byte, y, rho, N0, C, x *big.Int, ped *PederssenOpenParameter) (*DecryMessage, error)

func (*DecryMessage) Descriptor deprecated

func (*DecryMessage) Descriptor() ([]byte, []int)

Deprecated: Use DecryMessage.ProtoReflect.Descriptor instead.

func (*DecryMessage) GetA

func (x *DecryMessage) GetA() []byte

func (*DecryMessage) GetGamma

func (x *DecryMessage) GetGamma() []byte

func (*DecryMessage) GetS

func (x *DecryMessage) GetS() []byte

func (*DecryMessage) GetSalt

func (x *DecryMessage) GetSalt() []byte

func (*DecryMessage) GetT

func (x *DecryMessage) GetT() []byte

func (*DecryMessage) GetW

func (x *DecryMessage) GetW() []byte

func (*DecryMessage) GetZ1

func (x *DecryMessage) GetZ1() string

func (*DecryMessage) GetZ2

func (x *DecryMessage) GetZ2() string

func (*DecryMessage) ProtoMessage

func (*DecryMessage) ProtoMessage()

func (*DecryMessage) ProtoReflect

func (x *DecryMessage) ProtoReflect() protoreflect.Message

func (*DecryMessage) Reset

func (x *DecryMessage) Reset()

func (*DecryMessage) String

func (x *DecryMessage) String() string

func (*DecryMessage) Verify

func (msg *DecryMessage) Verify(config *CurveConfig, ssidInfo []byte, N0, C, x *big.Int, ped *PederssenOpenParameter) error

type ELogMessage

type ELogMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	A    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,2,opt,name=A,proto3" json:"A,omitempty"`
	B    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,3,opt,name=B,proto3" json:"B,omitempty"`
	N    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,4,opt,name=N,proto3" json:"N,omitempty"`
	Z    []byte                          `protobuf:"bytes,5,opt,name=z,proto3" json:"z,omitempty"`
	U    []byte                          `protobuf:"bytes,6,opt,name=u,proto3" json:"u,omitempty"`
	// contains filtered or unexported fields
}

func NewELog

func NewELog(config *CurveConfig, ssidInfo []byte, y, lambda *big.Int, L, M, X, Y, h *pt.ECPoint) (*ELogMessage, error)

func (*ELogMessage) Descriptor deprecated

func (*ELogMessage) Descriptor() ([]byte, []int)

Deprecated: Use ELogMessage.ProtoReflect.Descriptor instead.

func (*ELogMessage) GetA

func (*ELogMessage) GetB

func (*ELogMessage) GetN

func (*ELogMessage) GetSalt

func (x *ELogMessage) GetSalt() []byte

func (*ELogMessage) GetU

func (x *ELogMessage) GetU() []byte

func (*ELogMessage) GetZ

func (x *ELogMessage) GetZ() []byte

func (*ELogMessage) ProtoMessage

func (*ELogMessage) ProtoMessage()

func (*ELogMessage) ProtoReflect

func (x *ELogMessage) ProtoReflect() protoreflect.Message

func (*ELogMessage) Reset

func (x *ELogMessage) Reset()

func (*ELogMessage) String

func (x *ELogMessage) String() string

func (*ELogMessage) Verify

func (msg *ELogMessage) Verify(config *CurveConfig, ssidInfo []byte, L, M, X, Y, h *pt.ECPoint) error

type EncElgMessage

type EncElgMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S    []byte                          `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	T    []byte                          `protobuf:"bytes,3,opt,name=T,proto3" json:"T,omitempty"`
	D    []byte                          `protobuf:"bytes,4,opt,name=D,proto3" json:"D,omitempty"`
	Y    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,5,opt,name=Y,proto3" json:"Y,omitempty"`
	Z    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,6,opt,name=Z,proto3" json:"Z,omitempty"`
	Z1   string                          `protobuf:"bytes,7,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   []byte                          `protobuf:"bytes,8,opt,name=z2,proto3" json:"z2,omitempty"`
	W    []byte                          `protobuf:"bytes,9,opt,name=w,proto3" json:"w,omitempty"`
	Z3   string                          `protobuf:"bytes,10,opt,name=z3,proto3" json:"z3,omitempty"`
	// contains filtered or unexported fields
}

func NewEncryptRangeWithELMessage

func NewEncryptRangeWithELMessage(config *CurveConfig, ssidInfo []byte, x, rho, a, b, ciphertext, N *big.Int, A, B, X *pt.ECPoint, ped *PederssenOpenParameter) (*EncElgMessage, error)

func (*EncElgMessage) Descriptor deprecated

func (*EncElgMessage) Descriptor() ([]byte, []int)

Deprecated: Use EncElgMessage.ProtoReflect.Descriptor instead.

func (*EncElgMessage) GetD

func (x *EncElgMessage) GetD() []byte

func (*EncElgMessage) GetS

func (x *EncElgMessage) GetS() []byte

func (*EncElgMessage) GetSalt

func (x *EncElgMessage) GetSalt() []byte

func (*EncElgMessage) GetT

func (x *EncElgMessage) GetT() []byte

func (*EncElgMessage) GetW

func (x *EncElgMessage) GetW() []byte

func (*EncElgMessage) GetY

func (*EncElgMessage) GetZ

func (*EncElgMessage) GetZ1

func (x *EncElgMessage) GetZ1() string

func (*EncElgMessage) GetZ2

func (x *EncElgMessage) GetZ2() []byte

func (*EncElgMessage) GetZ3

func (x *EncElgMessage) GetZ3() string

func (*EncElgMessage) ProtoMessage

func (*EncElgMessage) ProtoMessage()

func (*EncElgMessage) ProtoReflect

func (x *EncElgMessage) ProtoReflect() protoreflect.Message

func (*EncElgMessage) Reset

func (x *EncElgMessage) Reset()

func (*EncElgMessage) String

func (x *EncElgMessage) String() string

func (*EncElgMessage) Verify

func (msg *EncElgMessage) Verify(config *CurveConfig, ssidInfo []byte, ciphertext, N *big.Int, A, B, X *pt.ECPoint, ped *PederssenOpenParameter) error

type EncryptRangeMessage

type EncryptRangeMessage struct {
	Salt []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S    []byte `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	A    []byte `protobuf:"bytes,3,opt,name=A,proto3" json:"A,omitempty"`
	C    []byte `protobuf:"bytes,4,opt,name=C,proto3" json:"C,omitempty"`
	Z1   string `protobuf:"bytes,5,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   []byte `protobuf:"bytes,6,opt,name=z2,proto3" json:"z2,omitempty"`
	Z3   string `protobuf:"bytes,7,opt,name=z3,proto3" json:"z3,omitempty"`
	// contains filtered or unexported fields
}

func NewEncryptRangeMessage

func NewEncryptRangeMessage(config *CurveConfig, ssidInfo []byte, ciphertext *big.Int, proverN *big.Int, k *big.Int, rho *big.Int, ped *PederssenOpenParameter) (*EncryptRangeMessage, error)

func (*EncryptRangeMessage) Descriptor deprecated

func (*EncryptRangeMessage) Descriptor() ([]byte, []int)

Deprecated: Use EncryptRangeMessage.ProtoReflect.Descriptor instead.

func (*EncryptRangeMessage) GetA

func (x *EncryptRangeMessage) GetA() []byte

func (*EncryptRangeMessage) GetC

func (x *EncryptRangeMessage) GetC() []byte

func (*EncryptRangeMessage) GetS

func (x *EncryptRangeMessage) GetS() []byte

func (*EncryptRangeMessage) GetSalt

func (x *EncryptRangeMessage) GetSalt() []byte

func (*EncryptRangeMessage) GetZ1

func (x *EncryptRangeMessage) GetZ1() string

func (*EncryptRangeMessage) GetZ2

func (x *EncryptRangeMessage) GetZ2() []byte

func (*EncryptRangeMessage) GetZ3

func (x *EncryptRangeMessage) GetZ3() string

func (*EncryptRangeMessage) ProtoMessage

func (*EncryptRangeMessage) ProtoMessage()

func (*EncryptRangeMessage) ProtoReflect

func (x *EncryptRangeMessage) ProtoReflect() protoreflect.Message

func (*EncryptRangeMessage) Reset

func (x *EncryptRangeMessage) Reset()

func (*EncryptRangeMessage) String

func (x *EncryptRangeMessage) String() string

func (*EncryptRangeMessage) Verify

func (msg *EncryptRangeMessage) Verify(config *CurveConfig, ssidInfo []byte, ciphertext []byte, proveN *big.Int, ped *PederssenOpenParameter) error

type LogMessage

type LogMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	A    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,2,opt,name=A,proto3" json:"A,omitempty"`
	B    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,3,opt,name=B,proto3" json:"B,omitempty"`
	Z    []byte                          `protobuf:"bytes,4,opt,name=z,proto3" json:"z,omitempty"`
	// contains filtered or unexported fields
}

func NewLog

func NewLog(ssidInfo []byte, x *big.Int, g, h, X, Y *pt.ECPoint) (*LogMessage, error)

func (*LogMessage) Descriptor deprecated

func (*LogMessage) Descriptor() ([]byte, []int)

Deprecated: Use LogMessage.ProtoReflect.Descriptor instead.

func (*LogMessage) GetA

func (*LogMessage) GetB

func (*LogMessage) GetSalt

func (x *LogMessage) GetSalt() []byte

func (*LogMessage) GetZ

func (x *LogMessage) GetZ() []byte

func (*LogMessage) ProtoMessage

func (*LogMessage) ProtoMessage()

func (*LogMessage) ProtoReflect

func (x *LogMessage) ProtoReflect() protoreflect.Message

func (*LogMessage) Reset

func (x *LogMessage) Reset()

func (*LogMessage) String

func (x *LogMessage) String() string

func (*LogMessage) Verify

func (msg *LogMessage) Verify(ssidInfo []byte, g, h, X, Y *pt.ECPoint) error

type LogStarMessage

type LogStarMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S    []byte                          `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	A    []byte                          `protobuf:"bytes,3,opt,name=A,proto3" json:"A,omitempty"`
	Y    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,4,opt,name=Y,proto3" json:"Y,omitempty"`
	D    []byte                          `protobuf:"bytes,5,opt,name=D,proto3" json:"D,omitempty"`
	Z1   string                          `protobuf:"bytes,6,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   []byte                          `protobuf:"bytes,7,opt,name=z2,proto3" json:"z2,omitempty"`
	Z3   string                          `protobuf:"bytes,8,opt,name=z3,proto3" json:"z3,omitempty"`
	// contains filtered or unexported fields
}

func NewKnowExponentAndPaillierEncryption

func NewKnowExponentAndPaillierEncryption(config *CurveConfig, ssidInfo []byte, x, rho, C, n0 *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint, G *pt.ECPoint) (*LogStarMessage, error)

func (*LogStarMessage) Descriptor deprecated

func (*LogStarMessage) Descriptor() ([]byte, []int)

Deprecated: Use LogStarMessage.ProtoReflect.Descriptor instead.

func (*LogStarMessage) GetA

func (x *LogStarMessage) GetA() []byte

func (*LogStarMessage) GetD

func (x *LogStarMessage) GetD() []byte

func (*LogStarMessage) GetS

func (x *LogStarMessage) GetS() []byte

func (*LogStarMessage) GetSalt

func (x *LogStarMessage) GetSalt() []byte

func (*LogStarMessage) GetY

func (*LogStarMessage) GetZ1

func (x *LogStarMessage) GetZ1() string

func (*LogStarMessage) GetZ2

func (x *LogStarMessage) GetZ2() []byte

func (*LogStarMessage) GetZ3

func (x *LogStarMessage) GetZ3() string

func (*LogStarMessage) ProtoMessage

func (*LogStarMessage) ProtoMessage()

func (*LogStarMessage) ProtoReflect

func (x *LogStarMessage) ProtoReflect() protoreflect.Message

func (*LogStarMessage) Reset

func (x *LogStarMessage) Reset()

func (*LogStarMessage) String

func (x *LogStarMessage) String() string

func (*LogStarMessage) Verify

func (msg *LogStarMessage) Verify(config *CurveConfig, ssidInfo []byte, C, n0 *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint, G *pt.ECPoint) error

type MulMessage

type MulMessage struct {
	Salt []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	A    []byte `protobuf:"bytes,2,opt,name=A,proto3" json:"A,omitempty"`
	B    []byte `protobuf:"bytes,3,opt,name=B,proto3" json:"B,omitempty"`
	Z    string `protobuf:"bytes,4,opt,name=z,proto3" json:"z,omitempty"`
	U    []byte `protobuf:"bytes,5,opt,name=u,proto3" json:"u,omitempty"`
	V    []byte `protobuf:"bytes,6,opt,name=v,proto3" json:"v,omitempty"`
	// contains filtered or unexported fields
}

func NewMulMessage

func NewMulMessage(ssidInfo []byte, x, rho, rhox, N, X, Y, C, fieldOrder *big.Int) (*MulMessage, error)

func (*MulMessage) Descriptor deprecated

func (*MulMessage) Descriptor() ([]byte, []int)

Deprecated: Use MulMessage.ProtoReflect.Descriptor instead.

func (*MulMessage) GetA

func (x *MulMessage) GetA() []byte

func (*MulMessage) GetB

func (x *MulMessage) GetB() []byte

func (*MulMessage) GetSalt

func (x *MulMessage) GetSalt() []byte

func (*MulMessage) GetU

func (x *MulMessage) GetU() []byte

func (*MulMessage) GetV

func (x *MulMessage) GetV() []byte

func (*MulMessage) GetZ

func (x *MulMessage) GetZ() string

func (*MulMessage) ProtoMessage

func (*MulMessage) ProtoMessage()

func (*MulMessage) ProtoReflect

func (x *MulMessage) ProtoReflect() protoreflect.Message

func (*MulMessage) Reset

func (x *MulMessage) Reset()

func (*MulMessage) String

func (x *MulMessage) String() string

func (*MulMessage) Verify

func (msg *MulMessage) Verify(ssidInfo []byte, N, X, Y, C, fieldOrder *big.Int) error

type MulStarMessage

type MulStarMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	E    []byte                          `protobuf:"bytes,2,opt,name=E,proto3" json:"E,omitempty"`
	S    []byte                          `protobuf:"bytes,3,opt,name=S,proto3" json:"S,omitempty"`
	A    []byte                          `protobuf:"bytes,4,opt,name=A,proto3" json:"A,omitempty"`
	B    *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,5,opt,name=B,proto3" json:"B,omitempty"`
	Z1   string                          `protobuf:"bytes,6,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   string                          `protobuf:"bytes,7,opt,name=z2,proto3" json:"z2,omitempty"`
	W    []byte                          `protobuf:"bytes,8,opt,name=w,proto3" json:"w,omitempty"`
	// contains filtered or unexported fields
}

func NewMulStarMessage

func NewMulStarMessage(config *CurveConfig, ssidInfo []byte, x, rho, N0, C, D *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint) (*MulStarMessage, error)

func (*MulStarMessage) Descriptor deprecated

func (*MulStarMessage) Descriptor() ([]byte, []int)

Deprecated: Use MulStarMessage.ProtoReflect.Descriptor instead.

func (*MulStarMessage) GetA

func (x *MulStarMessage) GetA() []byte

func (*MulStarMessage) GetB

func (*MulStarMessage) GetE

func (x *MulStarMessage) GetE() []byte

func (*MulStarMessage) GetS

func (x *MulStarMessage) GetS() []byte

func (*MulStarMessage) GetSalt

func (x *MulStarMessage) GetSalt() []byte

func (*MulStarMessage) GetW

func (x *MulStarMessage) GetW() []byte

func (*MulStarMessage) GetZ1

func (x *MulStarMessage) GetZ1() string

func (*MulStarMessage) GetZ2

func (x *MulStarMessage) GetZ2() string

func (*MulStarMessage) ProtoMessage

func (*MulStarMessage) ProtoMessage()

func (*MulStarMessage) ProtoReflect

func (x *MulStarMessage) ProtoReflect() protoreflect.Message

func (*MulStarMessage) Reset

func (x *MulStarMessage) Reset()

func (*MulStarMessage) String

func (x *MulStarMessage) String() string

func (*MulStarMessage) Verify

func (msg *MulStarMessage) Verify(config *CurveConfig, ssidInfo []byte, N0, C, D *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint) error

type NoSmallFactorMessage

type NoSmallFactorMessage struct {
	Salt    []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	P       []byte `protobuf:"bytes,2,opt,name=P,proto3" json:"P,omitempty"`
	Q       []byte `protobuf:"bytes,3,opt,name=Q,proto3" json:"Q,omitempty"`
	A       []byte `protobuf:"bytes,4,opt,name=A,proto3" json:"A,omitempty"`
	B       []byte `protobuf:"bytes,5,opt,name=B,proto3" json:"B,omitempty"`
	T       []byte `protobuf:"bytes,6,opt,name=T,proto3" json:"T,omitempty"`
	Sigma   string `protobuf:"bytes,7,opt,name=sigma,proto3" json:"sigma,omitempty"`
	Z1      string `protobuf:"bytes,8,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2      string `protobuf:"bytes,9,opt,name=z2,proto3" json:"z2,omitempty"`
	W1      string `protobuf:"bytes,10,opt,name=w1,proto3" json:"w1,omitempty"`
	W2      string `protobuf:"bytes,11,opt,name=w2,proto3" json:"w2,omitempty"`
	Vletter string `protobuf:"bytes,12,opt,name=vletter,proto3" json:"vletter,omitempty"`
	// contains filtered or unexported fields
}

func NewNoSmallFactorMessage

func NewNoSmallFactorMessage(config *CurveConfig, ssidInfo, rho []byte, p *big.Int, q *big.Int, n *big.Int, ped *PederssenOpenParameter) (*NoSmallFactorMessage, error)

func (*NoSmallFactorMessage) Descriptor deprecated

func (*NoSmallFactorMessage) Descriptor() ([]byte, []int)

Deprecated: Use NoSmallFactorMessage.ProtoReflect.Descriptor instead.

func (*NoSmallFactorMessage) GetA

func (x *NoSmallFactorMessage) GetA() []byte

func (*NoSmallFactorMessage) GetB

func (x *NoSmallFactorMessage) GetB() []byte

func (*NoSmallFactorMessage) GetP

func (x *NoSmallFactorMessage) GetP() []byte

func (*NoSmallFactorMessage) GetQ

func (x *NoSmallFactorMessage) GetQ() []byte

func (*NoSmallFactorMessage) GetSalt

func (x *NoSmallFactorMessage) GetSalt() []byte

func (*NoSmallFactorMessage) GetSigma

func (x *NoSmallFactorMessage) GetSigma() string

func (*NoSmallFactorMessage) GetT

func (x *NoSmallFactorMessage) GetT() []byte

func (*NoSmallFactorMessage) GetVletter

func (x *NoSmallFactorMessage) GetVletter() string

func (*NoSmallFactorMessage) GetW1

func (x *NoSmallFactorMessage) GetW1() string

func (*NoSmallFactorMessage) GetW2

func (x *NoSmallFactorMessage) GetW2() string

func (*NoSmallFactorMessage) GetZ1

func (x *NoSmallFactorMessage) GetZ1() string

func (*NoSmallFactorMessage) GetZ2

func (x *NoSmallFactorMessage) GetZ2() string

func (*NoSmallFactorMessage) ProtoMessage

func (*NoSmallFactorMessage) ProtoMessage()

func (*NoSmallFactorMessage) ProtoReflect

func (x *NoSmallFactorMessage) ProtoReflect() protoreflect.Message

func (*NoSmallFactorMessage) Reset

func (x *NoSmallFactorMessage) Reset()

func (*NoSmallFactorMessage) String

func (x *NoSmallFactorMessage) String() string

func (*NoSmallFactorMessage) Verify

func (msg *NoSmallFactorMessage) Verify(config *CurveConfig, ssidInfo, rho []byte, n *big.Int, ped *PederssenOpenParameter) error

type NthRootMessage

type NthRootMessage struct {
	Salt []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	A    []byte `protobuf:"bytes,2,opt,name=A,proto3" json:"A,omitempty"`
	Z1   []byte `protobuf:"bytes,3,opt,name=z1,proto3" json:"z1,omitempty"`
	// contains filtered or unexported fields
}

func NewNthRoot

func NewNthRoot(config *CurveConfig, ssidInfo []byte, rho, rhoNPower, n *big.Int) (*NthRootMessage, error)

func (*NthRootMessage) Descriptor deprecated

func (*NthRootMessage) Descriptor() ([]byte, []int)

Deprecated: Use NthRootMessage.ProtoReflect.Descriptor instead.

func (*NthRootMessage) GetA

func (x *NthRootMessage) GetA() []byte

func (*NthRootMessage) GetSalt

func (x *NthRootMessage) GetSalt() []byte

func (*NthRootMessage) GetZ1

func (x *NthRootMessage) GetZ1() []byte

func (*NthRootMessage) ProtoMessage

func (*NthRootMessage) ProtoMessage()

func (*NthRootMessage) ProtoReflect

func (x *NthRootMessage) ProtoReflect() protoreflect.Message

func (*NthRootMessage) Reset

func (x *NthRootMessage) Reset()

func (*NthRootMessage) String

func (x *NthRootMessage) String() string

func (*NthRootMessage) Verify

func (msg *NthRootMessage) Verify(config *CurveConfig, ssidInfo []byte, NPower, n *big.Int) error

type PaillierAffAndGroupRangeMessage

type PaillierAffAndGroupRangeMessage struct {
	Salt []byte                          `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S    []byte                          `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	T    []byte                          `protobuf:"bytes,3,opt,name=T,proto3" json:"T,omitempty"`
	A    []byte                          `protobuf:"bytes,4,opt,name=A,proto3" json:"A,omitempty"`
	Bx   *ecpointgrouplaw.EcPointMessage `protobuf:"bytes,5,opt,name=Bx,proto3" json:"Bx,omitempty"`
	By   []byte                          `protobuf:"bytes,6,opt,name=By,proto3" json:"By,omitempty"`
	E    []byte                          `protobuf:"bytes,7,opt,name=E,proto3" json:"E,omitempty"`
	F    []byte                          `protobuf:"bytes,8,opt,name=F,proto3" json:"F,omitempty"`
	Z1   string                          `protobuf:"bytes,9,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   string                          `protobuf:"bytes,10,opt,name=z2,proto3" json:"z2,omitempty"`
	Z3   string                          `protobuf:"bytes,11,opt,name=z3,proto3" json:"z3,omitempty"`
	Z4   string                          `protobuf:"bytes,12,opt,name=z4,proto3" json:"z4,omitempty"`
	W    []byte                          `protobuf:"bytes,13,opt,name=w,proto3" json:"w,omitempty"`
	Wy   []byte                          `protobuf:"bytes,14,opt,name=wy,proto3" json:"wy,omitempty"`
	// contains filtered or unexported fields
}

func NewPaillierAffAndGroupRangeMessage

func NewPaillierAffAndGroupRangeMessage(config *CurveConfig, ssidInfo []byte, x *big.Int, y *big.Int, rho *big.Int, rhoy *big.Int, n0 *big.Int, n1 *big.Int, C *big.Int, D *big.Int, Y *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint) (*PaillierAffAndGroupRangeMessage, error)

func (*PaillierAffAndGroupRangeMessage) Descriptor deprecated

func (*PaillierAffAndGroupRangeMessage) Descriptor() ([]byte, []int)

Deprecated: Use PaillierAffAndGroupRangeMessage.ProtoReflect.Descriptor instead.

func (*PaillierAffAndGroupRangeMessage) GetA

func (*PaillierAffAndGroupRangeMessage) GetBx

func (*PaillierAffAndGroupRangeMessage) GetBy

func (*PaillierAffAndGroupRangeMessage) GetE

func (*PaillierAffAndGroupRangeMessage) GetF

func (*PaillierAffAndGroupRangeMessage) GetS

func (*PaillierAffAndGroupRangeMessage) GetSalt

func (x *PaillierAffAndGroupRangeMessage) GetSalt() []byte

func (*PaillierAffAndGroupRangeMessage) GetT

func (*PaillierAffAndGroupRangeMessage) GetW

func (*PaillierAffAndGroupRangeMessage) GetWy

func (*PaillierAffAndGroupRangeMessage) GetZ1

func (*PaillierAffAndGroupRangeMessage) GetZ2

func (*PaillierAffAndGroupRangeMessage) GetZ3

func (*PaillierAffAndGroupRangeMessage) GetZ4

func (*PaillierAffAndGroupRangeMessage) ProtoMessage

func (*PaillierAffAndGroupRangeMessage) ProtoMessage()

func (*PaillierAffAndGroupRangeMessage) ProtoReflect

func (*PaillierAffAndGroupRangeMessage) Reset

func (*PaillierAffAndGroupRangeMessage) String

func (*PaillierAffAndGroupRangeMessage) Verify

func (msg *PaillierAffAndGroupRangeMessage) Verify(config *CurveConfig, ssidInfo []byte, n0, n1, C, D, Y *big.Int, ped *PederssenOpenParameter, X *pt.ECPoint) error

type PaillierBlumMessage

type PaillierBlumMessage struct {
	A    [][]byte `protobuf:"bytes,1,rep,name=a,proto3" json:"a,omitempty"`
	B    [][]byte `protobuf:"bytes,2,rep,name=b,proto3" json:"b,omitempty"`
	W    []byte   `protobuf:"bytes,3,opt,name=w,proto3" json:"w,omitempty"`
	X    [][]byte `protobuf:"bytes,4,rep,name=x,proto3" json:"x,omitempty"`
	Z    [][]byte `protobuf:"bytes,5,rep,name=z,proto3" json:"z,omitempty"`
	Salt [][]byte `protobuf:"bytes,6,rep,name=salt,proto3" json:"salt,omitempty"`
	// contains filtered or unexported fields
}

func NewPaillierBlumMessage

func NewPaillierBlumMessage(ssidInfo []byte, p *big.Int, q *big.Int, n *big.Int, numberzkProof int) (*PaillierBlumMessage, error)

func (*PaillierBlumMessage) Descriptor deprecated

func (*PaillierBlumMessage) Descriptor() ([]byte, []int)

Deprecated: Use PaillierBlumMessage.ProtoReflect.Descriptor instead.

func (*PaillierBlumMessage) GetA

func (x *PaillierBlumMessage) GetA() [][]byte

func (*PaillierBlumMessage) GetB

func (x *PaillierBlumMessage) GetB() [][]byte

func (*PaillierBlumMessage) GetSalt

func (x *PaillierBlumMessage) GetSalt() [][]byte

func (*PaillierBlumMessage) GetW

func (x *PaillierBlumMessage) GetW() []byte

func (*PaillierBlumMessage) GetX

func (x *PaillierBlumMessage) GetX() [][]byte

func (*PaillierBlumMessage) GetZ

func (x *PaillierBlumMessage) GetZ() [][]byte

func (*PaillierBlumMessage) ProtoMessage

func (*PaillierBlumMessage) ProtoMessage()

func (*PaillierBlumMessage) ProtoReflect

func (x *PaillierBlumMessage) ProtoReflect() protoreflect.Message

func (*PaillierBlumMessage) Reset

func (x *PaillierBlumMessage) Reset()

func (*PaillierBlumMessage) String

func (x *PaillierBlumMessage) String() string

func (*PaillierBlumMessage) Verify

func (msg *PaillierBlumMessage) Verify(ssidInfo []byte, n *big.Int) error

type PaillierOperationAndCommitmentMessage

type PaillierOperationAndCommitmentMessage struct {
	Salt []byte `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"`
	S    []byte `protobuf:"bytes,2,opt,name=S,proto3" json:"S,omitempty"`
	T    []byte `protobuf:"bytes,3,opt,name=T,proto3" json:"T,omitempty"`
	A    []byte `protobuf:"bytes,4,opt,name=A,proto3" json:"A,omitempty"`
	Bx   []byte `protobuf:"bytes,5,opt,name=Bx,proto3" json:"Bx,omitempty"`
	By   []byte `protobuf:"bytes,6,opt,name=By,proto3" json:"By,omitempty"`
	E    []byte `protobuf:"bytes,7,opt,name=E,proto3" json:"E,omitempty"`
	F    []byte `protobuf:"bytes,8,opt,name=F,proto3" json:"F,omitempty"`
	Z1   string `protobuf:"bytes,9,opt,name=z1,proto3" json:"z1,omitempty"`
	Z2   string `protobuf:"bytes,10,opt,name=z2,proto3" json:"z2,omitempty"`
	Z3   string `protobuf:"bytes,11,opt,name=z3,proto3" json:"z3,omitempty"`
	Z4   string `protobuf:"bytes,12,opt,name=z4,proto3" json:"z4,omitempty"`
	W    []byte `protobuf:"bytes,13,opt,name=w,proto3" json:"w,omitempty"`
	Wx   []byte `protobuf:"bytes,14,opt,name=wx,proto3" json:"wx,omitempty"`
	Wy   []byte `protobuf:"bytes,15,opt,name=wy,proto3" json:"wy,omitempty"`
	// contains filtered or unexported fields
}

func NewPaillierOperationAndPaillierCommitment

func NewPaillierOperationAndPaillierCommitment(config *CurveConfig, ssidInfo []byte, x *big.Int, y *big.Int, rho *big.Int, rhox *big.Int, rhoy *big.Int, n0 *big.Int, n1 *big.Int, X *big.Int, Y *big.Int, C *big.Int, D *big.Int, ped *PederssenOpenParameter) (*PaillierOperationAndCommitmentMessage, error)

func (*PaillierOperationAndCommitmentMessage) Descriptor deprecated

func (*PaillierOperationAndCommitmentMessage) Descriptor() ([]byte, []int)

Deprecated: Use PaillierOperationAndCommitmentMessage.ProtoReflect.Descriptor instead.

func (*PaillierOperationAndCommitmentMessage) GetA

func (*PaillierOperationAndCommitmentMessage) GetBx

func (*PaillierOperationAndCommitmentMessage) GetBy

func (*PaillierOperationAndCommitmentMessage) GetE

func (*PaillierOperationAndCommitmentMessage) GetF

func (*PaillierOperationAndCommitmentMessage) GetS

func (*PaillierOperationAndCommitmentMessage) GetSalt

func (*PaillierOperationAndCommitmentMessage) GetT

func (*PaillierOperationAndCommitmentMessage) GetW

func (*PaillierOperationAndCommitmentMessage) GetWx

func (*PaillierOperationAndCommitmentMessage) GetWy

func (*PaillierOperationAndCommitmentMessage) GetZ1

func (*PaillierOperationAndCommitmentMessage) GetZ2

func (*PaillierOperationAndCommitmentMessage) GetZ3

func (*PaillierOperationAndCommitmentMessage) GetZ4

func (*PaillierOperationAndCommitmentMessage) ProtoMessage

func (*PaillierOperationAndCommitmentMessage) ProtoMessage()

func (*PaillierOperationAndCommitmentMessage) ProtoReflect

func (*PaillierOperationAndCommitmentMessage) Reset

func (*PaillierOperationAndCommitmentMessage) String

func (*PaillierOperationAndCommitmentMessage) Verify

func (msg *PaillierOperationAndCommitmentMessage) Verify(config *CurveConfig, ssidInfo []byte, n0, n1, C, D, X, Y *big.Int, ped *PederssenOpenParameter) error

type PederssenOpenParameter

type PederssenOpenParameter struct {
	// contains filtered or unexported fields
}

func NewPedersenOpenParameter

func NewPedersenOpenParameter(n, s, t *big.Int) *PederssenOpenParameter

func (*PederssenOpenParameter) GetN added in v1.0.3

func (ped *PederssenOpenParameter) GetN() *big.Int

func (*PederssenOpenParameter) GetS added in v1.0.3

func (ped *PederssenOpenParameter) GetS() *big.Int

func (*PederssenOpenParameter) GetT added in v1.0.3

func (ped *PederssenOpenParameter) GetT() *big.Int

type RingPederssenParameterMessage

type RingPederssenParameterMessage struct {
	Z    [][]byte `protobuf:"bytes,1,rep,name=z,proto3" json:"z,omitempty"`
	A    [][]byte `protobuf:"bytes,2,rep,name=a,proto3" json:"a,omitempty"`
	N    []byte   `protobuf:"bytes,3,opt,name=n,proto3" json:"n,omitempty"`
	S    []byte   `protobuf:"bytes,4,opt,name=s,proto3" json:"s,omitempty"`
	T    []byte   `protobuf:"bytes,5,opt,name=t,proto3" json:"t,omitempty"`
	Salt []byte   `protobuf:"bytes,6,opt,name=salt,proto3" json:"salt,omitempty"`
	// contains filtered or unexported fields
}

https://eprint.iacr.org/2021/060.pdf Section 2.2

func NewRingPederssenParameterMessage

func NewRingPederssenParameterMessage(ssidInfo []byte, eulerValue *big.Int, n *big.Int, s *big.Int, t *big.Int, lambda *big.Int, nubmerZkproof int) (*RingPederssenParameterMessage, error)

func (*RingPederssenParameterMessage) Descriptor deprecated

func (*RingPederssenParameterMessage) Descriptor() ([]byte, []int)

Deprecated: Use RingPederssenParameterMessage.ProtoReflect.Descriptor instead.

func (*RingPederssenParameterMessage) GetA

func (x *RingPederssenParameterMessage) GetA() [][]byte

func (*RingPederssenParameterMessage) GetN

func (x *RingPederssenParameterMessage) GetN() []byte

func (*RingPederssenParameterMessage) GetS

func (x *RingPederssenParameterMessage) GetS() []byte

func (*RingPederssenParameterMessage) GetSalt

func (x *RingPederssenParameterMessage) GetSalt() []byte

func (*RingPederssenParameterMessage) GetT

func (x *RingPederssenParameterMessage) GetT() []byte

func (*RingPederssenParameterMessage) GetZ

func (x *RingPederssenParameterMessage) GetZ() [][]byte

func (*RingPederssenParameterMessage) ProtoMessage

func (*RingPederssenParameterMessage) ProtoMessage()

func (*RingPederssenParameterMessage) ProtoReflect

func (*RingPederssenParameterMessage) Reset

func (x *RingPederssenParameterMessage) Reset()

func (*RingPederssenParameterMessage) String

func (*RingPederssenParameterMessage) Verify

func (msg *RingPederssenParameterMessage) Verify(ssidInfo []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL