The ALOHA project is initiated by Alibaba Group and Ant Group's AntChain.
Homomorphic encryption (HE) is a cryptographic technique that allows computations to be performed directly on ciphertext without decryption, which is ideal in privacy-sensitive scenarios, such as cross-organizational collaboration, secure neural network inference (SNNI), and database services. We design RISC-V compatible instructions for accelerating computations on encrypted data, which feature scalable vectorized capability. This project provides several features including,
- Programmable: ALOHA supports the
R
type customized HE RISC-V ISA extension; - Adaptable: ALOHA can be used as a RISC-V loosely-coupled coprocessor by decoding the
opcode
field, or an HE accelerator mounted on the AXI bus; - Better performance: ALOHA utilize the SIMD-style processing and explore dedicated design datapath optimizations for HE operators like
NTT
andAutomorphism
. - Configurable: The source code supports several micro-architectural parameters on
# lane, etc
. Users can configure the/src/vp/include/vp_defines.vh
to balance performance and area.
The code in this repository is released by Alibaba DAMO Academy CTL under the MIT License. This distribution is an open-source version of our commercial accelerator and is not ready for production use.
The directory structure is as follows:
- sim: simulation files
- src: RTL source files
- tv: test vectors
- vivado_prj: xilinx vivado simulation project
-
Download and install Vivado IDE following the official website.
-
Please
git clone
this code repository and open the Vivado project under/vivado_prj
-
/sim/top/top_noaxilite_tb.sv
is the top testbench file with the complete simulation flow, which includes the following tasks:- Parsing environment variable parameters
- Initialization, which includes the following operations:
- Reading data loaded into DRAM
- Parsing instruction sequences
- Initializing AXI VIP
- Resetting the system.
- Execution
- Data Dump
-
Check the output data with the golden output.
Please adhere to the Xilinx license requirements, such as the Vivado IDE. This product also contains several third-party components under other open-source licenses.
src/axi/axi_read_master.sv BSD-2-Clause Vitis-Tutorials
src/axi/axi_write_master.sv BSD-2-Clause Vitis-Tutorials
src/axi/counter.sv BSD-2-Clause Vitis-Tutorials