Esempio n. 1
0
 /// <summary>
 /// Verifies a signature of <paramref name="Data"/> made by the EdDSA algorithm.
 /// </summary>
 /// <param name="Data">Payload to sign.</param>
 /// <param name="PublicKey">Public Key of the entity that generated the signature.</param>
 /// <param name="Signature">Signature</param>
 /// <returns>If the signature is valid.</returns>
 public override bool Verify(byte[] Data, byte[] PublicKey, byte[] Signature)
 {
     return(EdDSA.Verify(Data, PublicKey, Hashes.ComputeSHA512Hash, this, Signature));
 }
Esempio n. 2
0
 /// <summary>
 /// Encodes a point on the curve.
 /// </summary>
 /// <param name="Point">Normalized point to encode.</param>
 /// <returns>Encoded point.</returns>
 public override byte[] Encode(PointOnCurve Point)
 {
     return(EdDSA.Encode(Point, this));
 }
Esempio n. 3
0
 /// <summary>
 /// Creates a signature of <paramref name="Data"/> using the EdDSA algorithm.
 /// </summary>
 /// <param name="Data">Payload to sign.</param>
 /// <returns>Signature.</returns>
 public override byte[] Sign(byte[] Data)
 {
     return(EdDSA.Sign(Data, this.PrivateKey, this.AdditionalInfo,
                       Hashes.ComputeSHA512Hash, this));
 }
Esempio n. 4
0
 /// <summary>
 /// Decodes an encoded point on the curve.
 /// </summary>
 /// <param name="Point">Encoded point.</param>
 /// <returns>Decoded point.</returns>
 public override PointOnCurve Decode(byte[] Point)
 {
     return(EdDSA.Decode(Point, this));
 }