lattigo: 基于Lattice代数结构的Go同态加密库

lattigo: 基于Lattice代数结构的Go同态加密库

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

更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。


分享到:


相關文章: