Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ModuleLattice128Endpoint.cs
3
5{
10 {
15 : this(new Aes256())
16 {
17 }
18
24 : base(ML_KEM.ML_KEM_512, ML_KEM.ML_KEM_512.KeyGen(true),
25 ML_DSA.ML_DSA_44, ML_DSA.ML_DSA_44.KeyGen(true),
27 {
28 }
29
36 : base(PublicKey, ML_KEM.ML_KEM_512, ML_DSA.ML_DSA_44, DefaultSymmetricCipher)
37 {
38 }
39
46 public ModuleLattice128Endpoint(ML_KEM_Keys KeyEncapsulationMechanismKeys,
48 : base(ML_KEM.ML_KEM_512, KeyEncapsulationMechanismKeys,
49 ML_DSA.ML_DSA_44, SignatureAlgorithmKeys, DefaultSymmetricCipher)
50 {
51 }
52
56 public override int SecurityStrength => 128;
57
61 public override string LocalName => "ml128";
62
69 {
71 }
72
78 public override IE2eEndpoint CreatePrivate(byte[] Secret)
79 {
80 this.GeneratePrivateKeys(Secret, out ML_KEM_Keys KemKeys, out ML_DSA_Keys DsaKeys);
81 return new ModuleLattice128Endpoint(KemKeys, DsaKeys, this.DefaultSymmetricCipher.CreteNew());
82 }
83
89 public override IE2eEndpoint CreatePublic(byte[] PublicKey)
90 {
92 }
93 }
94}
virtual IE2eSymmetricCipher DefaultSymmetricCipher
Default symmetric cipher.
Definition: E2eEndpoint.cs:282
Module Lattice endpoint with 128 bit security strength.
override IE2eEndpoint CreatePrivate(byte[] Secret)
Creates a new endpoint given a private key.
ModuleLattice128Endpoint(IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 128 bit security strength.
ModuleLattice128Endpoint()
Module Lattice endpoint with 128 bit security strength.
override IE2eEndpoint Create(int SecurityStrength)
Creates a new key.
ModuleLattice128Endpoint(byte[] PublicKey, IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 128 bit security strength.
override IE2eEndpoint CreatePublic(byte[] PublicKey)
Creates a new endpoint given a public key.
override int SecurityStrength
Security strength of End-to-End encryption scheme.
ModuleLattice128Endpoint(ML_KEM_Keys KeyEncapsulationMechanismKeys, ML_DSA_Keys SignatureAlgorithmKeys, IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 128 bit security strength.
override string LocalName
Local name of the E2E encryption scheme
Abstract base class for Module Lattice endpoints.
void GeneratePrivateKeys(byte[] Secret, out ML_KEM_Keys KemKeys, out ML_DSA_Keys DsaKeys)
Generates private keys from a 96-byte secret.
Implements support for the AES-256 cipher in hybrid End-to-End encryption schemes.
Definition: Aes256.cs:17
ML-DSA public and private keys, as defined in §6.1.
Definition: ML_DSA_Keys.cs:7
Implements the ML-DSA algorithm for post-quantum cryptography, as defined in NIST FIPS 204: https://n...
Definition: ML_DSA.cs:12
ML_KEM encryption and decryption keys, as defined in §6.1.
Definition: ML_KEM_Keys.cs:7
Implements the ML-KEM algorithm for post-quantum cryptography, as defined in NIST FIPS 203: https://n...
Definition: ML_KEM.cs:11
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.