Key Homomorphic Pseudo-Random Functions (KhPRF)
KhPRF(密钥同态伪随机函数)是一类特殊的伪随机数生成器,其核心特性是满足密钥同态性质。这意味着,对于不同的密钥,函数输出可以进行线性组合。
KhPRF的密钥同态性质
设有一个函数 f(k,x)f(k, x)f(k,x),其中 kkk 为密钥,xxx 为输入。KhPRF的密钥同态性质表明,对于任意两个密钥 k1,k2k_1, k_2k1,k2,该函数应满足以下等式:
f(k1+k2,x)=f(k1,x)+f(k2,x) f(k_1 + k_2, x) = f(k_1, x) + f(k_2, x) f(k1+k2,x)=f(k1,x)+f(k2,x)
这意味着不同密钥对应的输出结果可以通过简单的加法得到。
一个不安全的KhPRF示例
考虑一个不安全的KhPRF构造,密钥空间为 Zpn\mathbb{Z}_p^nZpn,哈希函数 H(x)H(x)H(x) 将输入映射到 Zpm×n\mathbb{Z}_p^{m \times n}Zpm×n,即哈希函数 H(x)H(x)H(x) 输出一个m×nm\times nm×n的矩阵。我们定义不安全的KhPRF如下:
f(k,x)=H(x)×kmod p f(k, x) = H(x) \times k \mod p f(k,x)=H(x)×kmodp
其中,f(k,x)f(k, x)f(k,x) 的输出空间为 Zpm\mathbb{Z}_p^mZpm。
由于矩阵乘法是线性的,计算得到:
f(k1+k2,x)=H(x)×(k1+k2)mod p=H(x)×k1+H(x)×k2mod p≡f(k1,x)+f(k2,x)mod p f(k_1 + k_2, x) = H(x) \times (k_1 + k_2) \mod p \\= H(x) \times k_1 + H(x) \times k_2 \mod p\\ \equiv f(k_1, x) + f(k_2, x) \mod p f(k1+k2,x)=H(x)×(k1+k2)modp=H(x)×k1+H(x)×k2modp≡f(k1,x)+f(k2,x)modp
显然,该构造符合密钥同态性质。然而,这种构造是不安全的,因为攻击者可以通过观察输出 f(k,x)f(k, x)f(k,x) 来恢复密钥 kkk。需要注意的是,在KhPRF中,哈希函数 H(x)H(x)H(x) 和输入 xxx 通常是公开的,因此这类设计具有明显的安全隐患。
安全的KhPRF构造
为了构造一个安全的KhPRF,需要依赖更复杂的假设,比如基于Hidden Subgroup Membership(隐藏子群成员)假设的构造。详细内容可参见文献[1],该文献介绍了一种利用该假设的KhPRF构造方法,提供了更强的安全保障。
参考文献:
1\] Karthikeyan H, Polychroniadou A. OPA: One-shot Private Aggregation with Single Client Interaction and Its Applications to Federated Learning \[C\]// Annual International Cryptology Conference. Cham: Springer Nature Switzerland, 2025: 319-353.