public bool BallotIsValid() { using (var key = ECSKey.LoadHexPublicKey(SigningPublicKey)) { return(key.Verify(UTF8Encoding.Unicode.GetBytes(BallotData), BallotSignature)); } }
public void LockBallotToChain(ECSKey key, byte[] previousBallotHash) { PreviousBallotHash = previousBallotHash; SHA256Managed hashstring = new SHA256Managed(); BallotHash = hashstring.ComputeHash(GetBallotHashingData()); BallotHashSignature = key.Sign(BallotHash); LockDate = DateTime.UtcNow; }
private bool ballotHasValidHash() { using (var key = ECSKey.LoadHexPublicKey(SigningPublicKey)) { SHA256Managed hashstring = new SHA256Managed(); var ballotHash = hashstring.ComputeHash(GetBallotHashingData()); if (ballotHash.SequenceEqual(BallotHash)) { return(key.Verify(BallotHash, BallotHashSignature)); } return(false); } }
public void SignSecret(ECSKey key, string secret) { SecretSignature = key.Sign(UTF8Encoding.Unicode.GetBytes(secret)); SigningPublicKey = key.PublicKey; }
public void SignBallot(ECSKey key) { BallotSignature = key.Sign(UTF8Encoding.Unicode.GetBytes(BallotData)); SigningPublicKey = key.PublicKey; }