利用埃尔米特标准型改进基于格的密码系统
1. 整数向量与埃尔米特标准型
如果 $v$ 是整数向量,那么 $v \bmod B$ 同样是整数向量。函数 $x \to (x \bmod B)$ 定义了一个从 $\mathbb{Z}^n$ 到 $P(B^*) \cap \mathbb{Z}^n$ 的映射。当 $B$ 为埃尔米特标准型(Hermite Normal Form,HNF)时,$w = v \bmod B$ 是一个满足 $0 \leq w_i < b_{i,i}$ 的整数向量。特别地,$w$ 大约可以用 $\sum_{i=1}^{n} \lg b_{i,i} = \lg(\det(L))$ 位来表示,这种表示本质上是最优的,因为 $\equiv_L$ 在 $\mathbb{Z}^n$ 上恰好诱导出 $\det(L)$ 个同余类。
2. 公钥基的选择
我们从一个私钥基 $R$ 开始,它是一个非常好的基,能够解决格 $L(R)$ 中的最近向量问题,从而实现消息解密。为了将其转换为一个对 $R$ 泄露最少信息的同一格 $L$ 的基,我们不采用对 $R$ 应用复杂随机变换来计算 $B$,而是将新密码系统的公钥设为 $R$ 的埃尔米特标准型 $B = HNF(R)$。由于 $HNF(R)$ 仅依赖于 $R$ 生成的格 $L(R)$,而非用于计算它的特定基 $R$,所以新公钥除了其生成的格 $L$ 之外,不会泄露私钥 $R$ 的任何信息。更正式地说,任何可以从 $B = HNF(R)$ 高效计算出的关于 $R$ 的信息,也可以从任何其他(可能是随机的)基 $B’$ 高效计算得出。这是因为如果 $B’$ 和 $R$ 生成相同的格 $L = L(B’) = L(R)$,那么 $B =
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



