qrc_opensource_rs/
lib.rs

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}