1.一种基于grs码的数字签名方法,其特征在于,包括:
构造一基于有限域的grs码;
根据所述grs码生成公钥以及私钥;
对需要进行数字签名的明文做哈希运算,得到摘要值;
使用所述私钥对所述摘要值进行加密,得到数字签名。
2.根据权利要求1所述的基于grs码的数字签名方法,其特征在于,所述构造一基于有限域的grs码,包括:
构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的grs码,其中,n、k和t均为任意正整数,且满足
3.根据权利要求1所述的基于grs码的数字签名方法,其特征在于,所述根据所述grs码生成公钥以及私钥,包括:
在所述有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n;
将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;
将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,所述校验矩阵为所述grs码(n-k)×n的矩阵;
将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。
4.根据权利要求1所述的基于grs码的数字签名方法,其特征在于,所述对需要进行数字签名的明文做哈希运算,得到摘要值,包括:
对需要进行数字签名的明文进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
5.根据权利要求3所述的基于grs码的数字签名方法,其特征在于,所述使用所述私钥对所述摘要值进行加密,得到数字签名,包括:
将所述非奇异矩阵与所述摘要值进行乘法运算,得到待译校正子;
结合所述私钥的校验矩阵使用所述译码算法对所述待译校正子进行译码,得到第一错误向量;
将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述grs码的纠错能力;
将所述第二错误向量作为所述数字签名。
6.根据权利要求5所述的基于grs码的数字签名方法,其特征在于,在得到所述第二错误向量之后,还包括:
对所述第二错误向量构建索引对,得到第二错误向量的索引对;
相应的,将所述索引对作为所述数字签名。
7.一种权利要求1至6任一项所述的基于grs码的数字签名的验签方法,其特征在于,包括:
利用所述公钥对所述数字签名解密,得到待验证摘要值;
对所述明文进行哈希运算,得到摘要值;
将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
8.一种数字签名生成装置,其特征在于,包括:
grs码构造模块,用于构造一基于有限域的grs码;
密钥生成模块,用于根据所述grs码生成公钥和私钥;
摘要生成模块,用于对需要进行数字签名的明文做哈希运算,得到摘要值;
数字签名模块,用于使用所述私钥对所述摘要值进行加密,得到数字签名。
9.一种数字签名验签装置,其特征在于,包括:
解密模块,用于利用所述公钥对权利要求8所述的数字签名解密,得到待验证摘要值;
摘要获取模块,对所述明文进行哈希运算,得到摘要值;
验证模块,用于将所述待验证摘要值和所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的数字签名方法或权利要求7所述的数字签名验签方法的步骤。