Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Curve448Endpoint.cs
3
5{
10 {
15 : this(new Curve448())
16 {
17 }
18
23 public Curve448Endpoint(IE2eSymmetricCipher SymmetricCipher)
24 : this(new Curve448(), SymmetricCipher)
25 {
26 }
27
33 : this(Curve, new AeadChaCha20Poly1305())
34 {
35 }
36
43 : base(Curve, SymmetricCipher)
44 {
45 }
46
52 : this(PublicKey, new AeadChaCha20Poly1305())
53 {
54 }
55
61 public Curve448Endpoint(byte[] PublicKey, IE2eSymmetricCipher SymmetricCipher)
62 : base(PublicKey, new Curve448(), SymmetricCipher)
63 {
64 }
65
69 public override string LocalName => "x448";
70
74 public override int SecurityStrength => 224;
75
79 public override bool SupportsSignatures => false;
80
87 {
89 }
90
96 public override IE2eEndpoint CreatePrivate(byte[] Secret)
97 {
98 return new Curve448Endpoint(new Curve448(Secret), this.DefaultSymmetricCipher.CreteNew());
99 }
100
106 public override IE2eEndpoint CreatePublic(byte[] PublicKey)
107 {
109 }
110 }
111}
Curve448Endpoint(byte[] PublicKey)
Curve448 Montgomery Curve
override int SecurityStrength
Security strength of End-to-End encryption scheme.
Curve448Endpoint(byte[] PublicKey, IE2eSymmetricCipher SymmetricCipher)
Curve448 Montgomery Curve
override bool SupportsSignatures
If signatures are supported.
override IE2eEndpoint CreatePublic(byte[] PublicKey)
Creates a new endpoint given a public key.
Curve448Endpoint(IE2eSymmetricCipher SymmetricCipher)
Curve448 Montgomery Curve
Curve448Endpoint(Curve448 Curve, IE2eSymmetricCipher SymmetricCipher)
Curve448 Montgomery Curve
override IE2eEndpoint Create(int SecurityStrength)
Creates a new key.
Curve448Endpoint(Curve448 Curve)
Curve448 Montgomery Curve
override IE2eEndpoint CreatePrivate(byte[] Secret)
Creates a new endpoint given a private key.
override string LocalName
Local name of the E2E encryption scheme
virtual IE2eSymmetricCipher DefaultSymmetricCipher
Default symmetric cipher.
Definition: E2eEndpoint.cs:282
Abstract base class for Elliptic Curve endpoints.
Implements support for the AEAD-ChaCha20-Poly1305 cipher in hybrid End-to-End encryption schemes.
Curve448 (Goldilocks), as defined in RFC 7748: https://tools.ietf.org/html/rfc7748
Definition: Curve448.cs:13
Abstract base class for End-to-End encryption schemes.
Definition: IE2eEndpoint.cs:13
Interface for symmetric ciphers.
IE2eSymmetricCipher CreteNew()
Creates a new symmetric cipher object with the same settings as the current object.