Zama TFHE-rs

1. 引言

前序博客见:

  • 基于[Discretized] Torus的全同态加密指引(1)
  • 基于[Discretized] Torus的全同态加密指引(2)
  • TFHE——基于[Discretized] Torus的全同态加密 代码解析

开源代码见:

  • https://github.com/zama-ai/tfhe-rs(Rust)

TFHE-rs为:

  • 纯Rust实现的TFHE(Fully Homomorphic Encryption over Torus)。
  • 支持对已加密数据做布尔运算和整数运算。
  • 基于Learning With Errors(LWE)密码学原语——可抵抗量子计算机。
  • 提供了Rust API、C API 和 client-side WASM API。
  • 是全同态的,可处理固定精度数字的message。
  • 实现了Programmable Bootstrapping。

2. 关键密码学概念

密码学中:

  • raw value称为message,或者cleartext(原文)。
  • encoded message称为plaintext(明文)。
  • encrypted plaintext称为ciphertext(密文)。

同态加密的核心思想,是指在不知道密文中message的情况下,对密文进行计算。若某方案为全同态的,是指,可对明文 x x x的密文 e [ x ] e[x] e[x]做如下运算:

  • 1)同态单变量函数evaluation: f ( E [ x ] ) = E [ f ( x ) ] f(E[x])=E[f(x)] f(E[x])=E[f(x)]
  • 2)同态加法: E [ x ] + E [ y ] = E [ x + y ] E[x]+E[y]=E[x+y] E[x]+E[y]=E[x+y]
  • 3)同态乘法: E [ x ] ∗ E [ y ] = E [ x ∗ y ] E[x]*E[y]=E[x*y] E[x]E[y]=E[xy]

3. TFHE-rs功能

TFHE-rs基本功能流程为:

  • 1)使用安全参数来生成client key和server key。
    • client key:用于对数据加解密。client key必须保密。
    • server key:用于对密文做运算。server key可公开。server key又称为evaluation key。
  • 2)使用client key来加密明文。
  • 3)使用server key来对密文做同态运算。
  • 4)使用client key来对 resulting密文 解密,以获得result明文。

参考资料

[1] What is TFHE-rs?

FHE系列博客

  • 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1)
  • 基于[Discretized] Torus的全同态加密指引(1)
  • 基于[Discretized] Torus的全同态加密指引(2)
  • TFHE——基于[Discretized] Torus的全同态加密 代码解析
  • 技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)
  • FHE简介

你可能感兴趣的:(基础理论,同态加密)