Skip to main content

oxirush_security/
lib.rs

1pub mod algo;
2/// oxirush-security: 5G NAS security algorithms
3///
4/// Implements 3GPP TS 33.501 security primitives:
5/// - Key derivation (KAUSF, KSEAF, KAMF, KNASint, KNASenc)
6/// - Integrity: NIA1 (SNOW 3G), NIA2 (AES-CMAC), NIA3 (ZUC)
7/// - Ciphering: NEA0 (null), NEA1 (SNOW 3G), NEA2 (AES-CTR), NEA3 (ZUC)
8/// - 5G-GUTI construction/parsing
9pub mod error;
10pub mod guti;
11pub mod kdf;
12pub mod nea;
13pub mod nia;
14pub mod plmn;
15pub mod snow3g;
16pub mod suci;
17pub mod zuc;
18
19// Re-export commonly used items
20pub use algo::{select_ciphering_algo, select_integrity_algo};
21pub use error::SecurityError;
22pub use guti::{build_guti_bytes, mobile_identity_type, parse_guti_tmsi, parse_s_tmsi};
23pub use kdf::{
24    compute_hres_star, compute_xres_star, derive_kamf, derive_kausf, derive_kgnb, derive_kseaf,
25    derive_nas_key, derive_nh, extract_128,
26};
27pub use nea::{nas_cipher, nea1_cipher, nea2_cipher, nea3_cipher};
28pub use nia::{nas_mac, nia1_mac, nia2_mac, nia3_mac};
29pub use plmn::{plmn_from_bytes, plmn_to_bytes, tbcd_decode, tbcd_encode};
30pub use suci::{
31    msin_to_bcd, suci_conceal, suci_decrypt_a, suci_decrypt_b, suci_scheme_output_a,
32    suci_scheme_output_b, suci_to_string, suci_to_supi,
33};