[发明专利]一种基于格的分布式重线性化公钥生成方法有效
申请号: | 202110160700.7 | 申请日: | 2021-02-05 |
公开(公告)号: | CN112906020B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 田海博;林会智 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 王晓玲 |
地址: | 510260 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 线性化 生成 方法 | ||
1.一种基于格的分布式重线性化公钥生成方法,其特征在于,包括以下步骤:
S1.系统初始化:设置格密码体体制和重线性化公钥生成过程的初始参数;
S2.用户密钥生成:通过混合加密体制生成用户个人的公私钥对;
S3.重线性化公钥生成初始化:通过拆分私钥多项式的方式完成用户个人私钥份额的生成并分享;所述的重线性化公钥生成初始化具体包括:
S31.输入系统参数params、用户u的私钥sku0和用户集合U中的公钥集合{pkv1}v∈U,首先把最高次为d的私钥多项式sku0拆分成两个最高次为的子私钥多项式asku0和bsku0,满足设多项式中的自变量为x,此时asku0和bsku0的非0系数项最高次都为最后项的系数都为0;然后利用数论变换算法中的NTT.ToNtt()算法,分别输入系数表示法的多项式asku0和bsku0,输出点值表示法的多项式nnasku0,nnbsku0,此时nnasku0和nnbsku0分别都有d+1项,最高次都为d;
S32.将子私钥nnasku0、nnbsku0按照用户的有序集合U分别拆分为m个子私钥份额,具体从多项式nnasku0的第1项开始,将每项取出为1个份额,按顺序分配给有序集合U中的每一个用户,即分配为第1号用户的子私钥份额nnSau1为nnasku0的前项,以此类推,第m号用户的子私钥份额nnSaum为nnasku0的最后项;同理,对子私钥nnbsku0的份额拆分与子私钥nnasku0的拆分方式一样,最后满足
S33.将发送给用户v的份额打包为nnSuv={nnSauv,nnSbuv}v∈U,同时利用用户v的公钥pkv1,运行混合加密体制的加密算法HPKE.Enc(pkv1,nnSuv)加密获得加密的秘密份额nnESuv;输出为用户u分发给集合U中所有用户的加密份额集合{nnESuv}v∈U,集合中一共有m个元素;
S4.重线性化公钥份额生成:当用户收集完其他所有用户发送的私钥份额后,通过数论变换完成用户关于重线性化公钥份额的计算;在提交用户个人的重线性化公钥份额之前,利用两个相加后可抵消的噪声来保护用户份额;
S5.重线性化公钥生成:服务器汇总各用户的重线性化公钥份额,合成并公开重线性化公钥。
2.根据权利要求1所述的基于格的分布式重线性化公钥生成方法,其特征在于,所述的系统初始化包括设置系统参数params={param0,param1},其中param0是基于格的系统初始化参数集合,param1是分布式生成重线性化公钥阶段的参数集合。
3.根据权利要求2所述的基于格的分布式重线性化公钥生成方法,其特征在于,对于具体设置安全参数λ,参与用户的数量m;所有参与用户的有序集合U,多项式次数d,多项式系数的模数q,明文多项式模数t,分圆多项式f(x),环R=Z[x]/(f(x)),Rq表示模数q的多项式;然后设置χ分布、均匀分布μ,从Rq中按照均匀分布选择多项式最后确定混合加密体制HPKE={HPKE.Gen(),HPKE.Enc(),HPKE.Dec()},其中HPKE.Gen()是混合加密体制的密钥生成算法,输入为安全参数,输出为加解密密钥对;HPKE.Enc()是混合加密体制的加密算法,输入为加密密钥和明文,输出为密文;HPKE.Dec()是混合加密体制的解密算法,输入为密文和解密密钥,输出为明文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110160700.7/1.html,转载请声明来源钻瓜专利网。