Skip to content

@nindanaotoによる TFHEの解説に基づいたC++20によるTFHEライブラリ

License

Notifications You must be signed in to change notification settings

ushitora-anqou/aqtfhe3

Repository files navigation

aqTFHE3

@nindanaotoによる TFHEの解説に基づいたC++20によるTFHEライブラリ。

章立てに対応するコミット

これらのコミットは、開発を終えた後に新しくgit treeを作成し整理したものです。 関係のないコード片が混ざっているコミットがあった場合は、 IssueやPull Requestなどでお知らせください。

ビルド

$ make # ビルド

Ubuntu 20.04 LTSにおいて動作確認しています。 C++20に対応したコンパイラ(GCC 10やClang 10など)が必要です。 必要に応じてMakefile内で起動されるC++コンパイラを変更してください。

実行

$ make test # テスト及びベンチマーク

デフォルトでは128-bit securityのパラメタ[CGGI19]を使用します。 Intel i7-8700(最大周波数4.6GHz)で実行すると、例えば次のように出力されます。

Generating secret key (0) (SEED: 659303009)
==============================
0 (SEED: 1507937980)
test_tlwe:
	986510248 == 986510248
	0 == 0
test_trlwe:
	[0] 0 == 0
	[0] 0 == 0
test_cmux:
	[0] 0 ? 0 : 1 == 1
test_blind_rotate:
	0 == 0
test_identity_key_switch:
	1 == 1
test_hom_nand:
	nand(1, 0) = 1
==============================

Test passed. (1464 ms)
Benchmark started...
done.
Benchmark result: 12.642 ms/gate

書いた人

Ushitora Anqou

ライセンス

LICENSEファイルを参照してください。

About

@nindanaotoによる TFHEの解説に基づいたC++20によるTFHEライブラリ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published