Skip to main content

crypto_dispatch/algorithms/
mod.rs

1// SPDX-FileCopyrightText: Copyright © 2026 ReallyMe LLC. All rights reserved
2//
3// SPDX-License-Identifier: Apache-2.0
4
5/// Ed25519 signature adapter.
6#[cfg(feature = "ed25519")]
7pub mod ed25519;
8mod keypair_result;
9#[cfg(all(
10    any(
11        feature = "ed25519",
12        feature = "p256",
13        feature = "p384",
14        feature = "p521",
15        feature = "secp256k1",
16        feature = "ml-dsa-44",
17        feature = "ml-dsa-65",
18        feature = "ml-dsa-87"
19    ),
20    any(feature = "native", all(feature = "wasm", target_arch = "wasm32"))
21))]
22mod map_signature_error;
23/// ML-DSA-44 signature adapter.
24#[cfg(feature = "ml-dsa-44")]
25pub mod ml_dsa_44;
26/// ML-DSA-65 signature adapter.
27#[cfg(feature = "ml-dsa-65")]
28pub mod ml_dsa_65;
29/// ML-DSA-87 signature adapter.
30#[cfg(feature = "ml-dsa-87")]
31pub mod ml_dsa_87;
32/// ML-KEM-1024 key encapsulation adapter.
33#[cfg(feature = "ml-kem-1024")]
34pub mod ml_kem_1024;
35/// ML-KEM-512 key encapsulation adapter.
36#[cfg(feature = "ml-kem-512")]
37pub mod ml_kem_512;
38/// ML-KEM-768 key encapsulation adapter.
39#[cfg(feature = "ml-kem-768")]
40pub mod ml_kem_768;
41/// NIST P-256 (secp256r1) signature adapter.
42#[cfg(feature = "p256")]
43pub mod p256;
44/// NIST P-384 (secp384r1) signature adapter.
45#[cfg(feature = "p384")]
46pub mod p384;
47/// NIST P-521 (secp521r1) signature adapter.
48#[cfg(feature = "p521")]
49pub mod p521;
50/// secp256k1 signature adapter.
51#[cfg(feature = "secp256k1")]
52pub mod secp256k1;
53/// X25519 Diffie–Hellman adapter.
54#[cfg(feature = "x25519")]
55pub mod x25519;
56/// X-Wing hybrid KEM adapters.
57#[cfg(feature = "x-wing")]
58pub mod x_wing;
59
60#[allow(unused_imports)]
61pub(crate) use keypair_result::KeypairResultExt;
62#[cfg(all(
63    any(
64        feature = "ed25519",
65        feature = "p256",
66        feature = "p384",
67        feature = "p521",
68        feature = "secp256k1",
69        feature = "ml-dsa-44",
70        feature = "ml-dsa-65",
71        feature = "ml-dsa-87"
72    ),
73    any(feature = "native", all(feature = "wasm", target_arch = "wasm32"))
74))]
75pub(crate) use map_signature_error::map_verify_error;