dcrypt_kem/ecdh/
mod.rs

1// File: crates/kem/src/ecdh/mod.rs
2//! ECDH-KEM implementations for NIST curves
3//!
4//! This module provides constant-time implementations of ECDH-KEM
5//! using the NIST P-192, P-224, P-256, P-384, and P-521 curves,
6//! following standard practices for key encapsulation mechanisms.
7//! It now also includes support for Koblitz (secp256k1) and Binary (sect283k1) curves.
8
9pub mod b283k;
10pub mod k256; // Koblitz curve secp256k1
11pub mod p192;
12pub mod p224;
13pub mod p256;
14pub mod p384;
15pub mod p521; // Binary curve sect283k1
16
17// Re-export the P-192 types
18pub use p192::{
19    EcdhP192, EcdhP192Ciphertext, EcdhP192PublicKey, EcdhP192SecretKey, EcdhP192SharedSecret,
20};
21
22// Re-export the P-224 types
23pub use p224::{
24    EcdhP224, EcdhP224Ciphertext, EcdhP224PublicKey, EcdhP224SecretKey, EcdhP224SharedSecret,
25};
26
27// Re-export the P-256 types
28pub use p256::{
29    EcdhP256, EcdhP256Ciphertext, EcdhP256PublicKey, EcdhP256SecretKey, EcdhP256SharedSecret,
30};
31
32// Re-export the P-384 types
33pub use p384::{
34    EcdhP384, EcdhP384Ciphertext, EcdhP384PublicKey, EcdhP384SecretKey, EcdhP384SharedSecret,
35};
36
37// Re-export the P-521 types
38pub use p521::{
39    EcdhP521, EcdhP521Ciphertext, EcdhP521PublicKey, EcdhP521SecretKey, EcdhP521SharedSecret,
40};
41
42// Re-export the K-256 (secp256k1) types
43pub use k256::{
44    EcdhK256, EcdhK256Ciphertext, EcdhK256PublicKey, EcdhK256SecretKey, EcdhK256SharedSecret,
45};
46
47// Re-export the B-283k (sect283k1) types
48pub use b283k::{
49    EcdhB283k, EcdhB283kCiphertext, EcdhB283kPublicKey, EcdhB283kSecretKey, EcdhB283kSharedSecret,
50};