使用 LDGM 码和稀疏校验子实现数字签名
1. 系统基础与参数设置
在系统中,矩阵 $b$ 虽是 $Q$ 的一小部分,但可公开,因其有助于抵御密钥恢复攻击。当使用准循环(QC)码作为私钥码时,$H$ 由 $r_0 \times n_0$ 个大小为 $p \times p$ 的循环矩阵构成,且希望 $H’$ 也保留这种 QC 结构,以在密钥大小方面发挥其优势。
为实现这一点,$Q$ 和 $S$ 都需由与构成 $H$ 相同大小的循环块组成。其中,矩阵 $S$ 通过随机选择一个 $n_0 \times n_0$ 的稀疏或零循环矩阵块得到 QC 形式($S_{QC}$),使得整体行和列权重为 $m_S$。
对于矩阵 $Q$,获得其 QC 形式的方法是定义 $R$ 如下:
$R_{QC} =
\begin{bmatrix}
a_{r_0}^T \
b_{r_0}
\end{bmatrix}
\otimes 1_{p \times p}$
其中,$a_{r_0}$ 和 $b_{r_0}$ 是两个 $z \times r_0$ 的二进制矩阵,$1_{p \times p}$ 是全 1 的 $p \times p$ 矩阵,$\otimes$ 表示克罗内克积。然后,选择 $T_{QC}$ 为 $n_0 \times n_0$ 的稀疏循环块形式,整体行和列权重为 $m_T$,$Q_{QC}$ 则为 $R_{QC} + T_{QC}$。这样,如果 $H$ 是 QC 形式,$H’ = Q_{QC}^{-1} \cdot H \cdot S_{QC}^{-1}$ 也为 QC 形式。在 QC 情况下,对 $s$ 施加的条件 $b \cd
超级会员免费看
订阅专栏 解锁全文
16

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



