Version-Aware Selective-Disclosure Authentication of Language Credentials for Cross-Border E-Commerce Recruitment
收藏资源简介:
# Version-Aware Selective-Disclosure Authentication of Language Credentials Companion release for the paper **Version-Aware Selective-Disclosure Authentication of Language Credentials for Cross-Border E-Commerce Recruitment** (LATM-ZKRP / CSSA-MIAE / CSB-Coupling). This repository hosts two archives: | Archive | Contents | |---|---| | `language_credential_authentication.zip` | Python reference implementation of the three mechanisms (LATM-ZKRP, CSSA-MIAE, CSB-Coupling), the operation-based Monte Carlo and open-loop discrete-event models, the end-to-end functional test, and the scripts that regenerate every table and figure of Section V and of the Supplementary Material. | | `language_credential_authentication_dataset.zip` | The versioned semantic-mapping registry, non-identifiable credential and session records, revocation records, protocol-state attack vectors, per-run timing logs, Monte Carlo and service-study logs, mobile power traces, evaluation-platform descriptors, and build descriptors. | The scope of the release follows the Data Availability and Code Availability statements of the paper (Section 7): non-identifiable protocol records only, with no personal candidate data. --- ## 1. Quick start ```bash # unpack unzip language_credential_authentication.zip unzip language_credential_authentication_dataset.zip # reproduce every table and figure of Section V and the Supplementary cd language_credential_authentication pip install -r requirements.txt python run_all.py # full run (~25 s, service study inclusive) python run_all.py --quick # skip the discrete-event replications # functional test python tests/test_end_to_end.py ``` `python run_all.py` writes: * `results/tables/*.csv` — one CSV per table of Section V and the Supplementary Material (Tables IV to XII, S18, S19, S22). * `results/figures/*.png` — Figures 3 and 7 to 13. * `results/logs/*.csv` — per-run timing and trial logs for Tables V, VII, IX, X. ## 2. Correspondence to the paper | Paper artefact | Produced by | Reads from | |---|---|---| | Table IV, Fig. 7 | `scripts/gen_table4.py`, `scripts/gen_fig7.py` | predicate-core per-run logs | | Tables V, VI, Fig. 8 | `scripts/gen_table5.py`, `scripts/gen_table6.py`, `scripts/gen_fig8.py` | joint-proof per-run logs | | Table VII, Fig. 9 | `scripts/gen_table7.py`, `scripts/gen_fig9.py` | ABE scaling per-run logs | | Table VIII | `scripts/gen_table8.py` | CSB measurements | | Table IX, Figs. 10, 11 | `scripts/gen_table9.py`, `scripts/gen_table_s18_s19.py`, `scripts/gen_fig10.py`, `scripts/gen_fig11.py` | Monte Carlo trial logs | | Table X, Fig. 12 | `scripts/gen_table10.py`, `scripts/gen_fig12.py` | service-study replication logs | | Table XI, S22, Fig. 13 | `scripts/gen_table11.py`, `scripts/gen_fig13.py` | mobile power traces | | Table XII | `scripts/gen_table12.py` | protocol-state validation harness | | Fig. 3 | `scripts/gen_fig3.py` | semantic-mapping registry | | Tables I, S4, S5, S6, S7 | semantic-mapping registry under `01_semantic_mapping_registry/` | — | | Table III, S9, S10 | evaluation-platform descriptors under `09_evaluation_platform/` | — | ## 3. Measurement setup | Item | Configuration | |---|---| | Desktop processor | Intel Xeon Gold 6248R, 24 cores / 48 threads, 3.00 GHz base, 128 GB DDR4-2933 ECC, Ubuntu 22.04 LTS | | Mobile platform | Snapdragon 8 Gen 2 (Cortex-X3 at 3.2 GHz, Cortex-A715/A710/A510), 8 GB LPDDR5X, Android 14 | | Curve and pairing | BLS12-381, arkworks 0.4.2 | | Credential and predicate proofs | BBS with the BLS12-381 SHA-256 ciphersuite, blind issuance, LegoGroth16, Poseidon width-3, dynamic accumulator | | MA-CP-ABE | Asymmetric prime-order instantiation of Lewko-Waters MA-CP-ABE on BLS12-381 | | Generic circuit baseline | Circom 2.1.9 + snarkjs 0.7.4, Groth16 over BLS12-381 | | Bulletproofs baseline | Aggregated interval bounds in one proof, 9-bit padded to 16-bit | | Mobile power meter | Monsoon HV Power Monitor, 5 kHz sampling, idle-baseline subtraction | | Repetitions | 1,000 timed runs per condition after 50 warm-up runs | | Monte Carlo | 10,000 trials, seed 20260720 | | Service study | 10 x 300 s replications per offered rate, 16 workers, Poisson arrivals, seed `20260720 + r` for replication `r` | The pinned toolchain and library versions are listed in `language_credential_authentication_dataset/09_evaluation_platform/build_descriptor.json`. ## 4. Repository layout ``` . ├── README.md (this file) ├── language_credential_authentication.zip (code archive) └── language_credential_authentication_dataset.zip (dataset archive) ``` Each archive carries its own detailed README. ## 5. Reproducibility notes * The release contains the per-condition timing medians and P95 values the paper reports, together with the sum-of-lognormals calibration that reconstructs the complete-path distributions of Table IX, S17, S18 and S19 from them. Running the operation-based model with the common seed reproduces the published statistics bit-for-bit. * The service study uses `20260720 + r` for the replication seed; the 10-replication arithmetic means per offered rate reproduce Table X. * The protocol-state validation harness runs 10,000 sessions per invalid class and 10,000 valid control sessions, and reproduces Table XII. * All random number generators use `numpy.random.default_rng` and Python's `random` module seeded with the above values. ## 6. Citation Please cite the paper as it will appear in *IEEE Access*. The DOI and publication date will be assigned by the publisher. ## 7. License Research release. Non-identifiable protocol records only; no personal candidate data.



