DNS 2026 - Gaia - Accurate Secure and Efficient Semi-Constrained Navigation with Multiple Spatial Restrictions
收藏资源简介:
Gaia Artifact README 🚀 Practical Deployment & Reproduction Guide This document provides detailed instructions for configuring, deploying, and reproducing the Gaia semi-constrained secure navigation system.The current implementation follows the two-party semi-honest model described in the paper, where the system is divided into a Navigation Server (NS) and a Secure Proxy. 💻 1. System Requirements & Environment Setup Gaia relies on several cryptographic and graph-processing components, including CKKS homomorphic encryption, secure comparison, encrypted graph processing, and constrained navigation evaluation.Before running the code, please ensure that the environment satisfies the following requirements. 1.1 Hardware Requirements Memory (RAM): At least 16 GB is recommended.Large encrypted graph structures and distance-related preprocessing may consume substantial memory. CPU: Multi-core Intel/AMD processor is recommended for efficient encrypted computation and routing evaluation. Disk Space: At least 5 GB of free space is recommended for source code, intermediate files, and experimental outputs. 1.2 Software Requirements Operating System: Windows is recommended for this implementation. JDK: Java 11 or higher. Build Tool: Maven 3.6+ Dependencies: Managed through pom.xml Native / Local Libraries: The project includes local dependency files under the corresponding project directories. 1.3 Recommended JVM Settings To avoid memory-related failures during compilation or execution, use the following JVM settings: -Xms8g -Xmx16g For Maven execution, this can be configured as: MAVEN_OPTS="-Xms8g -Xmx16g" On Windows PowerShell: $env:MAVEN_OPTS="-Xms8g -Xmx16g" 🏗️ 2. Project Structure The source code is organized to support graph preprocessing, encryption-related operations, secure routing, and experimental evaluation. A typical project structure is as follows: project-root/ ├── pom.xml ├── libs/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ └── resources/ │ └── test/ │ └── java/ │ └── Test3.java Main Components src/main/java/Contains the core implementation of Gaia, including: encrypted graph construction cryptographic operations secure navigation algorithms supporting utilities src/main/resources/Contains the dataset and resource files required by the system. src/test/java/Test3.javaThis is the main experimental entry point for reproducing the evaluation results. 📂 3. Dataset and Resource Preparation The dataset used by Gaia is stored in: src/main/resources/ Before running the system, please check that the required data files are present in this directory.These resources may include: graph topology data node and edge information preprocessed auxiliary files encrypted graph related resources experiment input files No additional manual dataset download is required if these files are already included in the artifact package. 🔑 4. System Architecture Gaia is implemented as a two-party secure navigation system: 4.1 Navigation Server (NS) The Navigation Server is responsible for: storing and processing encrypted graph-related data executing the main navigation logic performing encrypted distance and route computations coordinating secure interactions with the Proxy when comparison or key-dependent operations are needed 4.2 Secure Proxy The Secure Proxy is responsible for: participating in secure cryptographic subroutines supporting decryption-related or secure comparison-related steps where required by the protocol remaining logically separated from the Navigation Server 4.3 Local Reproduction Mode In this artifact, the two-party setting is reproduced locally within the provided implementation environment.That is, the distributed model described in the paper is simulated on a single machine for reproducibility, while preserving the logical separation between the two entities in the code design. 🧪 5. Reproducing Experimental Results The main experiments are reproduced through: src/test/java/Test3.java This class is the primary test entry for running the Gaia evaluation. 5.1 Configure Experimental Parameters Before execution, open Test3.java and check the experiment parameters.You may modify the relevant arrays or variables to control: the number of waypoints / stops the number of ordering constraints the blockage ratio or obstacle configuration the graph scale or dataset selection the number of repeated trials Typical examples include settings such as: private static final int[] WAYPOINT_COUNTS = {5}; private static final int[] CONSTRAINT_PAIRS = {1, 3, 5}; private static final double[] BLOCKAGE_RATIOS = {0.05, 0.15}; Please use the parameter settings corresponding to the paper when reproducing the final reported results. 5.2 Compile the Project Run the following command in the project root directory: mvn clean test-compile If memory allocation is needed, run: MAVEN_OPTS="-Xms8g -Xmx16g" mvn clean test-compile 5.3 Execute the Main Test Run Test3 with Maven: mvn exec:java -Dexec.mainClass="Test3" -Dexec.classpathScope=test If memory allocation is needed, run: MAVEN_OPTS="-Xms8g -Xmx16g" mvn exec:java -Dexec.mainClass="Test3" -Dexec.classpathScope=test On Windows PowerShell: $env:MAVEN_OPTS="-Xms8g -Xmx16g" mvn exec:java -Dexec.mainClass="Test3" -Dexec.classpathScope=test 5.4 Expected Execution Flow When Test3 is executed, the system will typically perform the following steps: load graph and resource files from src/main/resources/ initialize the cryptographic environment construct or load encrypted graph-related structures generate test queries under the configured constraints run secure semi-constrained navigation measure performance and quality metrics write the results to output files 📊 6. Experimental Outputs After execution, the system generates performance results and evaluation outputs.Depending on the dataset and parameter settings, the output files may include CSV or text files such as: performance summary files routing evaluation results timing breakdowns similarity metrics path quality statistics Typical reported metrics include: encryption time token generation time secure query execution time path length related statistics LenSim HPS other routing quality indicators used in the paper Please check the project output directory or the paths specified in Test3.java for the generated result files. 🧱 7. Reproduction Tips To improve the success rate of reproduction, please note the following: Use Java 11+ and Maven 3.6+ Ensure all files under src/main/resources/ are kept intact Do not arbitrarily rename project directories Use the recommended JVM memory settings Run the project from the root directory containing pom.xml If a path-related error occurs, first check whether the code contains machine-specific absolute paths and replace them with project-relative paths if necessary ⚠️ 8. Common Issues 8.1 OutOfMemoryError If you encounter OutOfMemoryError, increase JVM heap size: MAVEN_OPTS="-Xms8g -Xmx16g" 8.2 File Not Found If the program cannot find dataset or resource files: check whether the required files exist under src/main/resources/ make sure the project is executed from the root directory verify that no path strings were broken during file extraction 8.3 Maven Dependency Problems If Maven fails to resolve dependencies: ensure Maven is correctly installed check local dependency configuration in pom.xml verify that the libs/ directory is present if the project depends on local jars 8.4 Platform Compatibility This implementation is most suitable for the environment in which it was originally developed.If you run it on a different machine or operating system, minor path or native dependency adjustments may be necessary. 🛡️ 9. Security Note The current artifact reproduces the semi-honest two-party model described in the paper. The Navigation Server and Secure Proxy are assumed to be non-colluding Sensitive routing information is processed under encryption The implementation is intended to demonstrate the secure navigation workflow and reproduce the experimental results presented in the paper This artifact is designed for research reproducibility only. 📌 10. Minimal Reproduction Command For quick reproduction, use the following commands from the project root: mvn clean test-compile MAVEN_OPTS="-Xms8g -Xmx16g" mvn exec:java -Dexec.mainClass="Test3" -Dexec.classpathScope=test On Windows PowerShell: $env:MAVEN_OPTS="-Xms8g -Xmx16g" mvn clean test-compile mvn exec:java -Dexec.mainClass="Test3" -Dexec.classpathScope=test 📬 11. Artifact Scope This artifact includes the code and resources necessary to reproduce the core experimental workflow of Gaia.It is intended to support the evaluation of: encrypted graph processing secure semi-constrained navigation performance measurements path-quality related metrics reported in the paper



