本发明专利技术公开了一种私钥生成方法、加密方法、签名方法及应用,该私钥生成方法包括:生成原始密钥对,原始密钥对包括原始公钥和原始私钥;将原始私钥分为n个原始数据块,生成(m+n)行
【技术实现步骤摘要】
私钥生成方法、加密方法、签名方法及应用
[0001]本专利技术是关于数字加密
,特别是关于一种多重签名私钥生成方法、多重签名加密方法、多重签名方法及应用。
技术介绍
[0002]多重签名是一种特定类型的数字签名,它允许多个签名者作为一组在同一个消息上产生一个共同的签名。当这组签名者中的超过一定数量的签名者对同一消息进行签名认证时,代表这一组签名者都认可该消息。这项技术最先应用在数字货币的资金保护上,现在也广泛应用于很多重要数据和文件。
[0003]然而,现有的多重签名技术中,每个签名者的私钥都会对应一个公钥,即多个签名者需要生成多个密钥对,在签名者数量较多时,需要存储大量的公钥。
[0004]因此,针对上述技术问题,有必要提供一种新的多重签名私钥生成方法、多重签名加密方法、多重签名方法及应用。
技术实现思路
[0005]本专利技术的目的在于提供一种私钥生成方法、签名加密方法、签名方法及应用,其能够减少需要存储的公钥的数量,且签名验证复杂度低。
[0006]为实现上述目的,本专利技术提供的技术方案如下:
[0007]第一方面,本专利技术提供了一种多重签名私钥生成方法,其包括:
[0008]生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;将所述原始私钥分为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成的m+n个编码数据块作为多重签名私钥。
[0009]在一个或多个实施方式中,将所述原始私钥分为多个原始数据块,具体包括:将所述原始私钥分为多个字长固定的原始数据块。
[0010]在一个或多个实施方式中,所述编码矩阵包括n行
×
n列的单位矩阵及m行
×
n列的冗余矩阵,所述冗余矩阵为范德蒙矩阵或柯西矩阵。
[0011]第二方面,本专利技术提供了一种多重签名加密方法,其包括:
[0012]生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;基于所述原始公钥对目标信息进行加密;将所述原始私钥分为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;将所述m+n个编码数据块作为多重签名私钥,分发给m+n个签名者;销毁所述原始私钥,并存储所述原始公钥和所述编码矩阵。
[0013]第三方面,本专利技术提供了一种多重签名方法,其包括:
[0014]生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;将所述原始私钥分
为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;将所述m+n个编码数据块作为多签名私钥,分发给m+n个签名者;销毁所述原始私钥,并存储所述原始公钥和所述编码矩阵;获取m+n个签名者中的至少n个签名者的多重签名私钥;基于所述编码矩阵及所述至少n个签名者的多重签名私钥,计算得到原始私钥;基于所述原始私钥对待签名消息进行数字签名。
[0015]第四方面,本专利技术提供了一种多重签名私钥生成装置,其包括:
[0016]第一生成模块,用于生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;划分模块,用于将所述原始私钥分为多n个原始数据块;第二生成模块,用于生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;编码模块,用于将所述编码矩阵与所述n个原始数据块做矩阵乘法将所述原始私钥分为多个原始数据块,并基于编码矩阵对所述多个原始数据块进行纠删码编码,以生成的m+n多个编码数据块作为多重签名私钥。
[0017]第五方面,本专利技术提供了一种多重签名加密装置,其包括:
[0018]第一生成模块,用于生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;加密模块,用于基于所述原始公钥对目标信息进行加密;划分模块,用于将所述原始私钥分为多n个原始数据块;第二生成模块,用于生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;编码模块,用于将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;分发模块,用于将所述m+n个编码数据块作为多重签名私钥,分发给m+n个签名者;销毁模块,用于销毁所述原始私钥;存储模块,用于存储所述原始公钥和所述编码矩阵。
[0019]第六方面,本专利技术提供了一种多重签名装置,其包括:
[0020]第一生成模块,用于生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;划分模块,用于将所述原始私钥分为多n个原始数据块;第二生成模块,用于生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;编码模块,用于将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;分发模块,用于将所述m+n个编码数据块作为多重签名私钥,分发给m+n个签名者;销毁模块,用于销毁所述原始私钥;存储模块,用于存储所述原始公钥和所述编码矩阵;获取模块,用于获取m+n个签名者中的至少n个签名者的多重签名私钥;计算模块,用于基于所述编码矩阵及所述至少n个签名者的所述签名私钥,计算得到所述原始私钥;签名模块,用于基于所述原始私钥对待签名消息进行数字签名。
[0021]第七方面,本专利技术提供了一种电子设备,包括存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前所述的方法。
[0022]第八方面,本专利技术提供了一种计算机可读介质,所述计算机可读介质中承载有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前所述的方法。
[0023]与现有技术相比,本专利技术提供的多重签名私钥生成方法,通过将原始私钥分为多个原始数据块,并基于编码矩阵对多个原始数据块进行纠删码编码,以生成的多个编码数据块作为多重签名私钥;该方法只需生成一对密钥对即可用于实现多重签名,够减少需要存储的公钥的数量,且签名验证复杂度低。
附图说明
[0024]图1是本专利技术一实施方式中应用多重签名方法的系统架构图;
[0025]图2是本专利技术一实施方式中多重签名私钥生成方法的流程图;
[0026]图3是本专利技术一实施方式中基于RS编码生成编码数据块的场景示意图;
[0027]图4是本专利技术一实施方式中RS编码的运算等式示意图;
[0028]图5是本专利技术一实施方式中基于RS编码运算等式计算原始数据块的场景示意图;
[0029]图6是本发本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种多重签名私钥生成方法,其特征在于,包括:生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;将所述原始私钥分为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成的m+n个编码数据块作为多重签名私钥。2.如权利要求1所述的多重签名私钥生成方法,其特征在于,将所述原始私钥分为多个原始数据块,具体包括:将所述原始私钥分为多个字长固定的原始数据块。3.如权利要求1所述的多重签名私钥生成方法,其特征在于,所述编码矩阵包括n行
×
n列的单位矩阵及m行
×
n列的冗余矩阵,所述冗余矩阵为范德蒙矩阵或柯西矩阵。4.一种多重签名加密方法,其特征在于,包括:生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;基于所述原始公钥对目标信息进行加密;将所述原始私钥分为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;将所述m+n个编码数据块作为多重签名私钥,分发给m+n个签名者;销毁所述原始私钥,并存储所述原始公钥和所述编码矩阵。5.一种多重签名方法,其特征在于,包括:生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;将所述原始私钥分为n个原始数据块;生成(m+n)行
×
n列的编码矩阵,其中,所述编码矩阵的任意n阶子矩阵为可逆矩阵,m为大于或等于1的正整数;将所述编码矩阵与所述n个原始数据块做矩阵乘法,以生成m+n个编码数据块;将所述m+n个编码数据块作为多签名私钥,分发给m+n个签名者;销毁所述原始私钥,并存储所述原始公钥和所述编码矩阵;获取m+n个签名者中的至少n个签名者的多重签名私钥;基于所述编码矩阵及所述至少n个签名者的多重签名私钥,计算得到原始私钥;基于所述原始私钥对待签名消息进行数字签名。6.一种多重签名私钥生成装置,其特征在于,包括:第一生成模块,用于生成原始密钥对,所述原始密钥对包括原始公钥和原始私钥;划分模块,用于将所述原始私钥分为多n个原始数据...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:安超云软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。