C# Класс MpcLib.MpcProtocols.Bgw.ByzantineBgwProtocol

Наследование: BgwProtocol
Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
BadPlayers HashSet
CallerProtocol ByzantineBgwProtocol
MyInputShares IList

Private Properties

Свойство Тип Описание
ConstructRxPolynomial IList
CreateWantedPolynomials bool
GetMultStepCoeffsForCheaters IList
GetNumberOfComplaints int
IsMultStepPolynomialLegal bool
IsMultStepShareLegal bool
IsNewPublicDataContradictOld bool
IsPolynomialLegal bool
IsPublicDataContradictPrivate bool
IsRecvShareLegal bool
ReceiveVerifications void
RemoveCheaterPlayer void
SendVerifications void
ShareSimple void
ShareSimple void
UpdateRecvShare void

Открытые методы

Метод Описание
ByzantineBgwProtocol ( AsyncParty e, Circuit circuit, ReadOnlyCollection playerIds, Zp playerInput, StateKey stateKey ) : System
ReductionRandomizationStep ( Zp a, Zp b, Zp ab ) : Zp

Implementation according to GRR.

Run ( ) : void
RunReductionRandomization ( Zp ab ) : void

Implementation according to Ran Canetti

Защищенные методы

Метод Описание
CompareCoordianteList ( List f_iValues, IList g_jValues ) : IList
FilterPlayers ( IList players ) : void
GetRecombinedResult ( IList recvList, int prime ) : Zp
GetVerifShareMessages ( IList zPs, int playerToVerify, bool receivedGoodPoly ) : IList>
HandleDealer ( IList shareMySecrets, Zp recvSecretShare_i ) : void
HandleNotDealer ( bool isOrigPolyLegal, IList wrongCoordinatesList, int playerToVerify, Zp recvSecretShare_i, SecretPolynomials secretPoly_i ) : void
IsSecretPolynomialsLegal ( SecretPolynomials secretPolynomial ) : bool

Checks if the received polynomials are not null, from the right size and have no null elements */

Приватные методы

Метод Описание
ConstructRxPolynomial ( ShareDetails aSharesDetails, ShareDetails bSharesDetails, ShareDetails abSharesDetails, ShareDetails rSharesDetails ) : IList
CreateWantedPolynomials ( IList wantedPolysList, IList complaintesOnMe, IList shareMySecrets ) : bool
GetMultStepCoeffsForCheaters ( int j ) : IList
GetNumberOfComplaints ( IList complaints ) : int
IsMultStepPolynomialLegal ( MultStepVerificationPoly recvVerifcationPolynomial ) : bool
IsMultStepShareLegal ( MultStepBCaseShare recvShareFromPlayer_i, MultStepVerificationPoly recvVerifcationPolynomial ) : bool
IsNewPublicDataContradictOld ( IList oldPublicData, IList newPublicData ) : bool
IsPolynomialLegal ( IList polynomial, int polySize ) : bool
IsPublicDataContradictPrivate ( SecretPolynomials myRecvPolys, IList recvPublicPolysList, IList recvComplaintesList, Zp myRecvShare ) : bool
IsRecvShareLegal ( MultStepBCaseShare recvShareFromPlayer ) : bool
ReceiveVerifications ( List verifShares, List inputShares ) : void
RemoveCheaterPlayer ( int playerToVerify ) : void
SendVerifications ( IEnumerable recvShares ) : void
ShareSimple ( IList sharedSecrets, Stage targetStage ) : void
ShareSimple ( Zp sharedSecrets, Stage targetStage ) : void
UpdateRecvShare ( IList recvPublicPolysList, Zp recvSecretShare_i ) : void

Описание методов

ByzantineBgwProtocol() публичный Метод

public ByzantineBgwProtocol ( AsyncParty e, Circuit circuit, ReadOnlyCollection playerIds, Zp playerInput, StateKey stateKey ) : System
e AsyncParty
circuit MpcLib.Common.FiniteField.Circuits.Circuit
playerIds ReadOnlyCollection
playerInput Zp
stateKey StateKey
Результат System

CompareCoordianteList() защищенный Метод

protected CompareCoordianteList ( List f_iValues, IList g_jValues ) : IList
f_iValues List
g_jValues IList
Результат IList

FilterPlayers() защищенный Метод

protected FilterPlayers ( IList players ) : void
players IList
Результат void

GetRecombinedResult() защищенный Метод

protected GetRecombinedResult ( IList recvList, int prime ) : Zp
recvList IList
prime int
Результат Zp

GetVerifShareMessages() защищенный Метод

protected GetVerifShareMessages ( IList zPs, int playerToVerify, bool receivedGoodPoly ) : IList>
zPs IList
playerToVerify int
receivedGoodPoly bool
Результат IList>

HandleDealer() защищенный Метод

protected HandleDealer ( IList shareMySecrets, Zp recvSecretShare_i ) : void
shareMySecrets IList
recvSecretShare_i Zp
Результат void

HandleNotDealer() защищенный Метод

protected HandleNotDealer ( bool isOrigPolyLegal, IList wrongCoordinatesList, int playerToVerify, Zp recvSecretShare_i, SecretPolynomials secretPoly_i ) : void
isOrigPolyLegal bool
wrongCoordinatesList IList
playerToVerify int
recvSecretShare_i Zp
secretPoly_i MpcLib.MpcProtocols.Bgw.Vss.SecretPolynomials
Результат void

IsSecretPolynomialsLegal() защищенный Метод

Checks if the received polynomials are not null, from the right size and have no null elements */
protected IsSecretPolynomialsLegal ( SecretPolynomials secretPolynomial ) : bool
secretPolynomial MpcLib.MpcProtocols.Bgw.Vss.SecretPolynomials
Результат bool

ReductionRandomizationStep() публичный Метод

Implementation according to GRR.
public ReductionRandomizationStep ( Zp a, Zp b, Zp ab ) : Zp
a Zp
b Zp
ab Zp
Результат Zp

Run() публичный Метод

public Run ( ) : void
Результат void

RunReductionRandomization() публичный Метод

Implementation according to Ran Canetti
public RunReductionRandomization ( Zp ab ) : void
ab Zp
Результат void

Описание свойств

BadPlayers защищенное свойство

protected HashSet BadPlayers
Результат HashSet

CallerProtocol защищенное свойство

protected ByzantineBgwProtocol,MpcLib.MpcProtocols.Bgw CallerProtocol
Результат ByzantineBgwProtocol

MyInputShares защищенное свойство

Shares of my input that are calculated during the input stage.
protected IList MyInputShares
Результат IList