Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Curve448Endpoint.cs
1using System.Numerics;
4
6{
11 {
16 : this(new Curve448())
17 {
18 }
19
24 public Curve448Endpoint(IE2eSymmetricCipher SymmetricCipher)
25 : this(new Curve448(), SymmetricCipher)
26 {
27 }
28
34 : this(Curve, new AeadChaCha20Poly1305())
35 {
36 }
37
44 : base(Curve, SymmetricCipher)
45 {
46 }
47
53 : this(PublicKey, new AeadChaCha20Poly1305())
54 {
55 }
56
62 public Curve448Endpoint(byte[] PublicKey, IE2eSymmetricCipher SymmetricCipher)
63 : base(PublicKey, new Curve448(), SymmetricCipher)
64 {
65 }
66
70 public override string LocalName => "x448";
71
75 public override int SecurityStrength => 224;
76
80 public override bool SupportsSignatures => false;
81
88 {
90 }
91
97 public override IE2eEndpoint CreatePrivate(byte[] Secret)
98 {
99 return new Curve448Endpoint(new Curve448(Secret), this.DefaultSymmetricCipher.CreteNew());
100 }
101
107 public override IE2eEndpoint CreatePublic(byte[] PublicKey)
108 {
110 }
111 }
112}
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:265
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:12
Interface for symmetric ciphers.
IE2eSymmetricCipher CreteNew()
Creates a new symmetric cipher object with the same settings as the current object.