0. はじめに
本記事では準同型暗号ライブラリのphantom-fheについて
- 環境構築
- サンプルコードの実行
この2点について説明します。
1. 環境
今回はdockerのコンテナ上での環境構築を行います。
使用したコンテナイメージはnvcr.io/nvidia/cuda:12.4.0-devel-ubuntu22.04
です。phantom-fheが動作するOSはLinuxのみとなっているので注意して下さい。
事前に準備しておくものは以下の通りです。
ソフトウェア名 | バージョン |
---|---|
CUDA Toolkit | 11.0以上(推奨) |
CMake | 3.20以上(ベンチマークを実行する場合は3.23以上) |
GCC | 9.0(推奨) |
Python | 3.7以上(pybind11で使用) |
2. インストール方法
- まず初めにphantom-fheのリポジトリをクローンします。どのディレクトリにクローンしても問題ありませんが、今回はホームディレクトリにクローンします。
phantom-fheではサブモジュールとして管理されているものがあるのでそれも一緒にクローンします。もし
cd git clone --recurse-submodules https://github.com/encryptorion-lab/phantom-fhe.git
--recurse-submodules
をつけ忘れた場合は以下のコマンドを実行してください。cd ~/phantom-fhe git submodule update --init --recursive
- 次にクローンしてきたリポジトリに移動してcmakeコマンドを実行します。
ベンチマークを実行しない場合
cd ~/phantom-fhe cmake -S . -B build cmake --build build -j$(nproc) # システムにインストールする場合のみ実行(管理者権限が必要) cmake --install build
ベンチマークを実行する場合
cd ~/phantom-fhe cmake -S . -B build -DPHANTOM_ENABLE_BENCH=ON cmake --build build -j$(nproc) # システムにインストールする場合のみ実行(管理者権限が必要) cmake --install build
以上でphantom-fheの環境構築は完了です。次に、サンプルコードを実行して動作確認をしていきます。
3. サンプルコードの実行
cmakeコマンドを使ってビルドしたディレクトリに移動します。
cd ~/phantom-fhe/build/bin
このディレクトリにはコンパイルされた実行ファイルが置かれています。ベンチマークも同様です。
では、試しにexample_context
を実行してみましょう。
./example_context
このファイルを実行すると、スキームの選択ができます。任意のスキームを選択して問題なく実行できればphantom-fheのインストールは成功です。