Skip to main content

Core Architecture

Aegis adopts the three-stage architecture of traditional compilers: front-end, mid-end, and back-end.

  • Front-End: The front-end for end-user developers, primarily designed to convert ONNX models into built-in MLIR and provide interfaces for executing privacy-preserving models.

  • Middle-End: The built-in MLIR generated by the front-end is transformed using user-defined chain technique in the compilation domain, converting the built-in MLIR into a secret dialect that is independent of specific privacy-preserving technologies and schemes. The secret dialect is then further transformed into a dialect specific to the privacy-preserving technology (e.g., FHE dialect). Next, the FHE dialect is converted into the corresponding CKKS dialect. Finally, the CKKS dialect is lowered to the MLIR built-in dialect, which includes calls to the FHE library functions.

  • Back-End: The Aegis back-end implements cryptographic primitives for specific FHE schemes and supports execution on both CPU and GPU platforms.

Aegis adopts an abstract hierarchical architecture designed to support multiple privacy-preserving technologies, including Fully Homomorphic Encryption (FHE), Secure Multi-Party Computation (MPC), and Zero-Knowledge Proofs (ZKP). Currently, Aegis focuses on FHE but has a roadmap to extend its support to MPC and ZKP in the future.)