Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
NistEndpoint.cs
1using System.Numerics;
4
6{
10 public abstract class NistEndpoint : EllipticCurveEndpoint
11 {
17 : base(Curve, new Aes256())
18 {
19 }
20
27 : base(Curve, SymmetricCipher)
28 {
29 }
30
36 public NistEndpoint(byte[] PublicKey, EllipticCurve ReferenceCurve)
37 : base(PublicKey, ReferenceCurve, new Aes256())
38 {
39 }
40
47 public NistEndpoint(byte[] PublicKey, EllipticCurve ReferenceCurve,
48 IE2eSymmetricCipher SymmetricCipher)
49 : base(PublicKey, ReferenceCurve, SymmetricCipher)
50 {
51 }
52
56 public override bool Safe => false; // Ref: http://safecurves.cr.yp.to/
57
61 public override bool Slow => true;
62
63 }
64}
Abstract base class for Elliptic Curve endpoints.
Abstract base class for NIST Curve endpoints
Definition: NistEndpoint.cs:11
NistEndpoint(EllipticCurve Curve, IE2eSymmetricCipher SymmetricCipher)
Abstract base class for NIST Curve endpoints
Definition: NistEndpoint.cs:26
NistEndpoint(byte[] PublicKey, EllipticCurve ReferenceCurve)
Abstract base class for NIST Curve endpoints
Definition: NistEndpoint.cs:36
override bool Safe
If endpoint is considered safe (i.e. there are no suspected backdoors)
Definition: NistEndpoint.cs:56
NistEndpoint(byte[] PublicKey, EllipticCurve ReferenceCurve, IE2eSymmetricCipher SymmetricCipher)
Abstract base class for NIST Curve endpoints
Definition: NistEndpoint.cs:47
NistEndpoint(EllipticCurve Curve)
Abstract base class for NIST Curve endpoints
Definition: NistEndpoint.cs:16
override bool Slow
If implementation is slow, compared to other options.
Definition: NistEndpoint.cs:61
Implements support for the AES-256 cipher in hybrid End-to-End encryption schemes.
Definition: Aes256.cs:15
Abstract base class for elliptic curves.
Interface for symmetric ciphers.