基于QC-LDPC码的M公钥密码体制及其性能研究*
2021-03-20陶忠君史治平
陶忠君,卜 凡,史治平
(1.电子科技大学,四川 成都 610000;2.国网电力科学研究院有限公司,江苏 南京 211000)
0 引言
随着量子计算机的快速发展,目前使用的大多数公钥密码算法(如RSA 和ECC)都面临着被量子攻击的危险。基于编码理论的McEliece 公钥密码体制是基于随机线性码的译码困难问题,是一个NP 完全问题。目前还没有有效的量子计算方法对该体制进行攻击,具有很高的安全性,能够较好的抵抗量子攻击。不仅如此,McEliece 公钥密码体制还具有较低的计算复杂度,比RSA 等加密算法快得多。尽管如此,McEliece 公钥密码体制还是很少被实际系统使用,主要是因为采用Goppa 码的McEliece 体制密钥体积大,系统传输速率低等因素影响了该体制的应用。准循环LDPC 码(即QCLDPC 码)的出现为McEliece 体制的应用提供了新的机会,可以明显降低密钥的大小,同时提高系统的传输速率。
1 M 公钥密码体制
基于纠错编码的密码体制的安全性建立在矩阵分解困难问题和纠错码的译码问题上。在基于纠错编码的加解密体制中,编码的过程同时也是加密的过程,译码的过程同时也是解密的过程。
1.1 基于Goppa 码的M 公钥密码体制
1978 年,McEliece 将纠错编码与加解密体制结合,提出基于Goppa 码的McEliece 体制,简称M体制[1]。1986 年,Niderreiter 提出基于Goppa 码的Niderreiter 加解密体制,简称N 体制[2]。许多学者证明这两种体制的安全性相同。M 体制用纠错编码的生成矩阵加密,N 体制用校验矩阵加密。M 体制算法过程如下:
接收方选好n和t,先在GF(2m)上随机选择一个度是t的不可约多项式,再产生一个k×n阶的Goppa 码的生成矩阵G,矩阵G生成的Goppa 码可以纠正t个错误,H是G对应的校验矩阵,尺寸为(n-k)×n,满足G·HT=0。……
