Lattigo
基於Lattice代數結構的Go同態加密庫
Lattigo是一個Go軟體包,實現了基於格的加密原語。該庫功能:
- 純Go實施,帶來代碼簡單性和易於構建。
- 一個有效的多精度多項式算術層的公共接口。
- 與最先進的C ++庫可比的性能。
Lattigo的目標是通過利用Go的自然並發模型,實現基於分布式同態密碼系統的安全多方計算解決方案的快速原型設計。
概況
該庫包含以下子包:
- lattigo/ring:RNS加速的多項式模塊化算術運算,包括:RNS基數擴展;RNS重新縮放;數論變換(NTT); 均勻,高斯和三元採樣。
- lattigo/bfv:Brakerski的尺度不變同態加密方案的RNS加速Fan-Vercauteren版本。它提供了整數的模運算。
- lattigo/ckks:RNS加速版的近似數字同態加密(HEAAN,又名CKKS)方案。它提供了複數的近似算術。
- lattigo/dbfv和lattigo/dckks:BFV和CKKS方案的分布式(或閾值)版本,可使用共享的秘密密鑰實現安全的多方計算解決方案。
- lattigo/examples:可執行的Go程序,演示了Lattigo庫的用法。請注意,每個子包都包含測試文件,這些文件進一步演示了Lattigo基元的用法。
- lattigo/utils:支持的結構和功能。
即將推出的功能
- CKKS的自舉。
- 按鍵切換鍵的模塊化CRT分解。
- 分布式方案的示例。
- 支持安全多方計算(SMC)的協議的網絡層實現。
更多使用方法可以查看官方文檔
開源地址:
github.com/ldsec/lattigo
更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。