基于准二元Goppa码的McEliece密码系统实现
1. 陷门信息与支持集
陷门信息由签名二元组的本质η、块序列$(i_0, \ldots, i_{l - 1})$、二元置换标识符序列$(j_0, \ldots, j_{l - 1})$以及比例因子序列$(\sigma_0, \ldots, \sigma_{l - 1})$组成,它将由$\hat{H}$定义的公共码与由$H_{dyad}$定义的私有码联系起来。公共码由$\hat{G}$定义,其校验矩阵为$V_{L^ ,G} = vdm(L^ , G(x)) \cdot Diag(G(L^ _i)^{-1})$,其中$L^ $是通过$L^ = L_{dyad} \cdot P_B \cdot P_{db}$从$L_{dyad}$得到的置换支持集。将$V_{L^ ,G}$转换为系统形式会得到与公共码$C_{pub}$相同的准二元校验矩阵$\hat{H}$。$V_{L^*,G}$与缩短私有码$C_{pr} = C_{T_t}^{dyad}$的校验矩阵$V_{L,G} = vdm(L, G(x)) \cdot Diag(G(L_i)^{-1})$是置换等价的,$C_{pr}$是通过在块坐标集$T_t$上对大私有码$C_{dyad}$进行打孔得到的。$C_{pr}$的支持集$L$是通过删除$L_{dyad}$中由$T_t$索引位置的所有分量得到的。
经典不可约Goppa码使用包含$F_q$所有元素的支持集,因此这种Goppa码对应的支持集可以公开,只有Goppa多项式和(支持集)置换是私钥的一部分。相比之下,$C_{pr}$和$C_{pub}$的支持集$L$和$L^ $不是完整的,只
超级会员免费看
订阅专栏 解锁全文
16

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



