1mod qsc {
2 pub mod asymmetric {
3 pub mod cipher {
4 pub mod ecdh {
5 pub mod ec25519;
6 pub mod ecdh;
7 pub mod ecdhbase;
8 }
9 pub mod kyber {
10 pub mod kyber;
11 pub mod kyberbase;
12 }
13 pub mod mceliece {
14 pub mod mceliece;
15 pub mod mceliecebase;
16 }
17 pub mod ntru {
18 pub mod ntru;
19 pub mod ntrubase;
20 }
21 }
22 pub mod signature {
23 pub mod dilithium {
24 pub mod dilithium;
25 pub mod dilithiumbase;
26 }
27 pub mod ecdsa {
28 pub mod ecdsa;
29 pub mod ecdsabase;
30 }
31 pub mod falcon {
32 pub mod falcon;
33 pub mod falconbase;
34 }
35 pub mod sphincsplus {
36 pub mod sphincsplus;
37 pub mod sphincsplusbase;
38 }
39 }
40 }
41 pub mod cipher {
42 pub mod aes;
43 pub mod chacha20;
44 }
45 pub mod common {
46 pub mod common;
47 }
48 pub mod digest {
49 pub mod sha2;
50 pub mod sha3;
51 }
52 pub mod drbg {
53 pub mod csg;
54 }
55 pub mod mac {
56 pub mod poly1305;
57 }
58 pub mod numerics {
59 pub mod donna128;
60 }
61 pub mod prng {
62 pub mod secrand;
63 }
64 pub mod provider {
65 pub mod rcrng;
66 pub mod trng;
67 pub mod osrng;
68 }
69 pub mod tools {
70 pub mod intutils;
71 pub mod memutils;
72 pub mod stringutils;
73 pub mod sysutils;
74 }
75}
76
77pub mod asymmetric {
78 pub mod cipher {
79 pub mod kyber {
80 pub use crate::qsc::asymmetric::cipher::kyber::kyber::{
81 qsc_kyber_generate_keypair, qsc_kyber_encrypt, qsc_kyber_decrypt,
82 QSC_KYBER_CIPHERTEXT_SIZE, QSC_KYBER_PRIVATEKEY_SIZE, QSC_KYBER_PUBLICKEY_SIZE, QSC_KYBER_SHAREDSECRET_SIZE, QSC_KYBER_SEED_SIZE,
83 };
84 }
85 pub mod mceliece {
86 pub use crate::qsc::asymmetric::cipher::mceliece::mceliece::{
87 qsc_mceliece_generate_keypair, qsc_mceliece_encrypt, qsc_mceliece_decrypt,
88 QSC_MCELIECE_CIPHERTEXT_SIZE, QSC_MCELIECE_PRIVATEKEY_SIZE, QSC_MCELIECE_PUBLICKEY_SIZE, QSC_MCELIECE_SHAREDSECRET_SIZE, QSC_MCELIECE_SEED_SIZE,
89 };
90 }
91 }
92 pub mod signature {
93 pub mod sphincsplus {
94 pub use crate::qsc::asymmetric::signature::sphincsplus::sphincsplus::{
95 qsc_sphincsplus_generate_keypair, qsc_sphincsplus_sign, qsc_sphincsplus_verify,
96 QSC_SPHINCSPLUS_PRIVATEKEY_SIZE, QSC_SPHINCSPLUS_PUBLICKEY_SIZE, QSC_SPHINCSPLUS_SIGNATURE_SIZE, QRCS_CRYPTO_HASH_SIZE,
97 };
98 }
99 }
100}
101pub mod cipher {
102 pub mod aes {
103 pub use crate::qsc::cipher::aes::{
104 qsc_aes_initialize, qsc_aes_dispose,
105 qsc_aes_cbc_encrypt_block, qsc_aes_cbc_decrypt_block,
106 qsc_aes_ctrbe_transform, qsc_aes_ctrle_transform,
107 qsc_aes_ecb_encrypt_block, qsc_aes_ecb_decrypt_block,
108 qsc_aes_hba256_initialize, qsc_aes_hba256_set_associated, qsc_aes_hba256_transform,
109 QSC_AES_BLOCK_SIZE, QSC_HBA_MAXINFO_SIZE, QSC_AES256_KEY_SIZE, QSC_HBA256_MAC_LENGTH,
110 QscAesKeyparams, QscAesState, QscAesCipherType, QscAesHba256State,
111 };
112 }
113}
114pub mod digest {
115 pub mod sha2 {
116 pub use crate::qsc::digest::sha2::{
117 qsc_hmac256_compute, qsc_hmac512_compute,
118 qsc_sha256_initialize, qsc_sha256_blockupdate, qsc_sha256_finalize,
119 qsc_sha512_initialize, qsc_sha512_blockupdate, qsc_sha512_finalize,
120 qsc_hkdf256_extract, qsc_hkdf256_expand,
121 qsc_hkdf512_extract, qsc_hkdf512_expand,
122 QSC_HMAC_256_MAC, QSC_HMAC_512_MAC, QSC_SHA2_256_HASH, QSC_SHA2_512_HASH, QSC_SHA2_256_RATE, QSC_SHA2_512_RATE,
123 QscHmac256State, QscHmac512State, QscSha256State, QscSha512State,
124 };
125 }
126 pub mod sha3 {
127 pub use crate::qsc::digest::sha3::{
128 qsc_sha3_compute256, qsc_sha3_compute512, qsc_sha3_initialize, qsc_sha3_update, qsc_sha3_finalize,
129 qsc_shake128_compute, qsc_shake256_compute, qsc_shake512_compute, qsc_shake_initialize, qsc_shake_squeezeblocks,
130 qsc_cshake128_compute, qsc_cshake256_compute, qsc_cshake512_compute, qsc_cshake_initialize, qsc_cshake_squeezeblocks,
131 qsc_kmac128_compute, qsc_kmac256_compute, qsc_kmac512_compute, qsc_kmac_initialize, qsc_kmac_update, qsc_kmac_finalize,
132 qsc_keccak_dispose,
133 QSC_SHA3_256_HASH_SIZE, QSC_SHA3_512_HASH_SIZE, QSC_KECCAK_256_RATE, QSC_KECCAK_512_RATE, QSC_KECCAK_STATE_SIZE, QSC_KECCAK_STATE_BYTE_SIZE, QSC_KECCAK_SHA3_DOMAIN_ID, QSC_KECCAK_SHAKE_DOMAIN_ID, QSC_KECCAK_KMAC_DOMAIN_ID, QSC_KECCAK_CSHAKE_DOMAIN_ID, QSC_KECCAK_PERMUTATION_ROUNDS,
134 QscKeccakState, QscKeccakRate,
135 };
136 }
137}
138pub mod mac {
139 pub mod poly1305 {
140 pub use crate::qsc::mac::poly1305::{
141 qsc_poly1305_compute, qsc_poly1305_initialize, qsc_poly1305_blockupdate, qsc_poly1305_update, qsc_poly1305_finalize,
142 QSC_POLY1305_BLOCK_SIZE,
143 QscPoly1305State,
144 };
145 }
146}
147pub mod provider {
148 pub mod rcrng {
149 pub use crate::qsc::provider::rcrng::qsc_rcrng_generate;
150 }
151}