private static LinearRelation.Knowledge ToKnowledge(this LinearRelation.Statement statement, CoordinatorSecretKey coordinatorSecretKey) => statement.ToKnowledge(new ScalarVector( coordinatorSecretKey.W, coordinatorSecretKey.Wp, coordinatorSecretKey.X0, coordinatorSecretKey.X1, coordinatorSecretKey.Ya));
public static NonInteractive.FiatShamirTransform.VerifierCommitToNonces CreateVerifier(LinearRelation.Statement statement) => new NonInteractive.FiatShamirTransform.Verifier(statement).CommitToStatements(Transcript);
public static NonInteractive.FiatShamirTransform.ProverCommitToNonces CreateProver(LinearRelation.Statement statement, CoordinatorSecretKey coordinatorSecretKey) => new NonInteractive.FiatShamirTransform.Prover(statement.ToKnowledge(coordinatorSecretKey)).CommitToStatements(Transcript);
public void CommitStatement(LinearRelation.Statement statement) { Guard.NotNull(nameof(statement.Generators), statement.Generators); CryptoGuard.NotNullOrInfinity(nameof(statement.PublicPoints), statement.PublicPoints); AddMessages(StatementTag, statement.PublicPoints.Select(x => x.ToBytes()).Concat(statement.Generators.Select(x => x.ToBytes()))); }