Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ModuleLattice192Endpoint.cs
3
5{
10 {
15 : this(new Aes256())
16 {
17 }
18
24 : base(ML_KEM.ML_KEM_768, ML_KEM.ML_KEM_768.KeyGen(true),
25 ML_DSA.ML_DSA_65, ML_DSA.ML_DSA_65.KeyGen(true),
27 {
28 }
29
36 : base(PublicKey, ML_KEM.ML_KEM_768, ML_DSA.ML_DSA_65, DefaultSymmetricCipher)
37 {
38 }
39
46 public ModuleLattice192Endpoint(ML_KEM_Keys KeyEncapsulationMechanismKeys,
48 : base(ML_KEM.ML_KEM_768, KeyEncapsulationMechanismKeys,
49 ML_DSA.ML_DSA_65, SignatureAlgorithmKeys, DefaultSymmetricCipher)
50 {
51 }
52
56 public override int SecurityStrength => 192;
57
61 public override string LocalName => "ml192";
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 ModuleLattice192Endpoint(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 192 bit security strength.
override IE2eEndpoint Create(int SecurityStrength)
Creates a new key.
ModuleLattice192Endpoint(IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 192 bit security strength.
ModuleLattice192Endpoint()
Module Lattice endpoint with 192 bit security strength.
ModuleLattice192Endpoint(byte[] PublicKey, IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 192 bit security strength.
override int SecurityStrength
Security strength of End-to-End encryption scheme.
override string LocalName
Local name of the E2E encryption scheme
override IE2eEndpoint CreatePrivate(byte[] Secret)
Creates a new endpoint given a private key.
override IE2eEndpoint CreatePublic(byte[] PublicKey)
Creates a new endpoint given a public key.
ModuleLattice192Endpoint(ML_KEM_Keys KeyEncapsulationMechanismKeys, ML_DSA_Keys SignatureAlgorithmKeys, IE2eSymmetricCipher DefaultSymmetricCipher)
Module Lattice endpoint with 192 bit security strength.
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.