Table of Contents

Class CompositeMLKem

Namespace
Rotherprivat.KemBasedNet.Cryptography
Assembly
KemBasedNet.dll

Keys and algorithm implementation of the CompositeMLKem, a composed traditional and ML-KEM post quantum key exchange algorithm. The Interface and implementation is analog to the System.Security.Cryptography.MLKem class of the .NET platform.

See IETF draft documentation and repository on GitHub.

public abstract class CompositeMLKem : IDisposable
Inheritance
CompositeMLKem
Implements
Inherited Members

Properties

Algorithm

Algorithm description

IsSupported

Indicates if the algorithm supported by the current platform

Methods

Decapsulate(byte[])

Decapsulate the shared secret from ciphertext

Decapsulate(ReadOnlySpan<byte>, Span<byte>)

Decapsulate the shared key from combined ciphertext

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Encapsulate(out byte[], out byte[])

Create combined ciphertext and shared secret

Encapsulate(Span<byte>, Span<byte>)

Create combined ciphertext and shared secret

ExportEncapsulationKey()

Export encapsulation keys of ML-KEM and traditional key exchange algorithms

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte>, PbeParameters)

Export private keys of ML-KEM and traditional key exchange algorithms

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char>, PbeParameters)

Export private keys of ML-KEM and traditional key exchange algorithms

ExportEncryptedPkcs8PrivateKey(string, PbeParameters)

Export private keys of ML-KEM and traditional key exchange algorithms

ExportPkcs8PrivateKey()

Export private keys of ML-KEM and traditional key exchange algorithms

ExportPrivateKey()

Export private keys of ML-KEM and traditional key exchange algorithms

ExportSubjectPublicKeyInfo()

Export encapsulation keys of ML-KEM and traditional key exchange algorithms

ExportSubjectPublicKeyInfoPem()

Export encapsulation keys of ML-KEM and traditional key exchange algorithms

GenerateKey(CompositeMLKemAlgorithm)

Generate new keys for ML-KEM and traditional key exchange algorithms

ImportEncapsulationKey(CompositeMLKemAlgorithm, byte[])

Import encapsulation keys of ML-KEM and traditional key exchange algorithms

ImportEncapsulationKey(CompositeMLKemAlgorithm, ReadOnlySpan<byte>)

Import encapsulation keys of ML-KEM and traditional key exchange algorithms

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte>, byte[])

Import private keys of ML-KEM and traditional key exchange algorithms

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char>, byte[])

Import private keys of ML-KEM and traditional key exchange algorithms

ImportEncryptedPkcs8PrivateKey(string, byte[])

Import private keys of ML-KEM and traditional key exchange algorithms

ImportFromPem(ReadOnlySpan<char>)

Import encapsulation keys of ML-KEM and traditional key exchange algorithms

ImportFromPem(string)

Import encapsulation keys of ML-KEM and traditional key exchange algorithms

ImportPkcs8PrivateKey(byte[])

Import private keys of ML-KEM and traditional key exchange algorithms

ImportPkcs8PrivateKey(ReadOnlySpan<byte>)

Import private keys of ML-KEM and traditional key exchange algorithms

ImportPrivateKey(CompositeMLKemAlgorithm, byte[])

Import private keys of ML-KEM and traditional key exchange algorithms

ImportSubjectPublicKeyInfo(byte[])

Import encapsulation keys of ML-KEM and traditional key exchange algorithms

ImportSubjectPublicKeyInfo(ReadOnlySpan<byte>)

Import encapsulation keys of ML-KEM and traditional key exchange algorithms