【技术实现步骤摘要】
一种密文加和方法及装置
[0001]本申请涉及加密
,尤其涉及一种密文加和方法及装置。
技术介绍
[0002]全同态加密是一种保护数据隐私的加密算法,其能够在不解密的情况下通过操作密文实现对明文的计算,使得明文计算能够在不受信任的环境完成。目前,全同态加密发展了三代。其中,第一代同态加密算法主要是理论探讨,不具有实用性。第二代全同态加密算法支持批量处理,能够同时处理多个基本的同态加法和同态乘法,但不擅长非线性函数计算。第三代全同态加密算法擅长非线性函数计算,但不支持批量处理。
[0003]在第三代全同态加密算法中,可编程自举(programmable bootstrapping,PBS)算法因其在密文上高效率的非线性函数计算能力受到众多关注。但该PBS算法在用于多个密文的加和时,会出现填充位不够,或者编码区间溢出的问题,导致计算结果错误。
技术实现思路
[0004]本申请实施例提供一种密文加和方法及装置,用以消耗较少的填充位实现多个密文的加和。
[0005]第一方面,本申请提供一种密文加和方法。该方法可以应用于包括矩阵计算单元的运算电路。在该方法中,矩阵计算单元接收N个密文;矩阵计算单元根据N个密文构建深度为H的二叉树,其中,所述二叉树包括2
H
‑1个叶子节点,所述2
H
‑1个叶子节点中的N个叶子节点与所述N个密文一一对应,所述N为大于2
H
‑2且小于或等于2
H
‑1的整数,所述H为大于或等于2的整数;以及, ...
【技术保护点】
【技术特征摘要】
1.一种密文加和方法,应用于包括矩阵计算单元的运算电路,其特征在于,包括:所述矩阵计算单元接收N个密文;所述矩阵计算单元根据N个密文构建深度为H的二叉树,其中,所述二叉树包括2
H
‑1个叶子节点,所述2
H
‑1个叶子节点中的N个叶子节点与所述N个密文一一对应,所述N为大于2
H
‑2且小于或等于2
H
‑1的整数,所述H为大于或等于2的整数;所述矩阵计算单元从所述二叉树的第H层开始,对每一层中的每两个兄弟节点对应的两个密文进行加和,获取所述二叉树的根节点对应的密文,其中,两个兄弟节点对应的两个密文的加和密文是所述两个兄弟节点的父节点对应的密文,所述第H层是所述2
H
‑1个叶子节点所在的层,所述根节点对应的密文是所述N个密文的加和密文。2.根据权利要求1所述的方法,其特征在于,所述矩阵计算单元对每一层中的每两个兄弟节点对应的两个密文进行加和,包括:所述矩阵计算单元通过第一加和方式对每一层中的每两个兄弟节点对应的两个密文进行加和,其中,所述第一加和方式是消耗填充位的加和方式。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若已知第一范围,则所述矩阵计算单元根据所述第一范围,确定(H
‑
1)层中的M层中的每一层通过第一加和方式进行加和,以及所述(H
‑
1)层中除了所述M层之外的每一层通过第二加和方式进行加和,其中,所述第一范围是所述加和密文的编码区间的取值范围,所述第一加和方式是消耗填充位的加和方式,所述第二加和方式是不消耗填充位的加和方式,所述(H
‑
1)层是所述二叉树中除了所述根节点所在的层之外的层,所述M为大于0且小于或等于所述(H
‑
1)的整数;若未知所述第一范围,则所述矩阵计算单元确定所述(H
‑
1)层中的每一层通过所述第一加和方式进行加和。4.根据权利要求3所述的方法,其特征在于,所述M层是所述二叉树中的第H层到第(H
‑
M)层之间的M层。5.根据权利要求3或4所述的方法,其特征在于,所述M满足如下关系:且(b
′‑
a
′
)≤2
M
×
d其中,[a
′
,b
′
]是所述第一范围,[a,b]是所述N个密文的编码区间,d是所述N个密文中的一个密文的编码区间的长度。6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述N小于2
H
‑1,且所述N为偶数时,所述方法还包括:所述矩阵计算单元...
【专利技术属性】
技术研发人员:李杰,孙书洲,赵春欢,刘亚敏,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。