数据处理方法技术

技术编号:39812905 阅读:12 留言:0更新日期:2023-12-22 19:30
本申请提供了一种数据处理方法

【技术实现步骤摘要】
数据处理方法、装置、设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种数据处理方法

装置

设备及存储介质


技术介绍

[0002]在很多加解密方案中,多项式乘法是主要的部分

数论变换有助于更高效地实现多项式乘法,从而提高加解密方案的效率

[0003]在经典的数论变换算法中,为了避免溢出,会在数论变换算法中引入一些逻辑分支语句

计算设备在运行数论变换算法的过程中,执行该逻辑分支语句,从而对数据进行约减,使得数据的取值变小,从而避免溢出

[0004]然而,执行逻辑分支语句耗费的时间较长,导致运行数论变换的效率低下


技术实现思路

[0005]本申请实施例提供了一种数据处理方法

装置

设备及存储介质,能够提高运行数论变换的效率

所述技术方案如下

[0006]第一方面,提供了一种数据处理方法,由计算设备执行,所述计算设备用于运行数据的数论变换,所述数据的数论变换的步骤包括多个计算单元,包括:
[0007]基于所述数据的参数,确定每个所述计算单元产生的处理结果的预估比特位数,所述参数指示所述数据的比特位数;
[0008]基于所述预估比特位数,从所述多个计算单元中确定第一计算单元,所述第一计算单元为用于对第二计算单元的处理结果约减处理的计算单元,所述第二计算单元的处理结果的预估比特位数满足预设比特位数

[0009]第一方面提供的方法中,由于通过参数,确定数论变换的步骤中每个计算单元产生的处理结果的预估比特位数,基于此确定出负责约减处理的计算单元,从而在无需引入逻辑分支语句的情况下,也能让处理结果的取值在合适的位置变小,从而减少处理结果的比特位数,防止处理结果的比特位数超过计算设备所能表示的比特位数上限,避免溢出

相较于引入逻辑分支语句以进行约减处理的方式而言,该方法能够移除逻辑分支语句,优化数论变换的结构,从而提高运行数论变换的效率

[0010]在一些实施方式中,所述约减处理,包括:
[0011]对所述第二计算单元的处理结果进行冗余模乘处理

[0012]在上述实施方式中,由于采用冗余模乘的方式实现约减处理,一方面,使得约减处理不必绑定蒙哥马利算法,数据的表示形式也无需保持为蒙哥马利表示形式,换句话说,无论数据的表示形式为蒙哥马利表示形式还是非蒙哥马利表示形式,方案都具有可用性,从而提高方案的灵活性和实用性

另一方面,同样能起到提高约减处理的速度这一作用,从而提高效率,尤其是,在大数运算等场景下有助于显著加速计算设备的运算流程

[0013]在一些实施方式中,所述对所述第二计算单元的处理结果进行冗余模乘处理包
括:
[0014]基于旋转因子对所述第二计算单元的处理结果进行冗余模乘处理,所述旋转因子具有和所述数据相同的表示形式

[0015]通过上述实施方式,支持根据具体计算任务的需求,动态地调整数据的表示形式

[0016]在一些实施方式中,所述表示形式为蒙哥马利表示形式或者非蒙哥马利表示形式

[0017]在一些实施方式中,所述方法还包括:
[0018]对所述第二计算单元的约减处理后的处理结果进行加密处理或解密处理

[0019]在一些实施方式中,所述参数包括所述多个计算单元中每个计算单元进行取模运算时使用的模数

所述数据相对于所述模数的冗余倍数以及所述数据的多项式维度

[0020]在上述实施方式中,考虑到输入数据可能具有一定大小的冗余,通过模数和冗余倍数来描述输入数据的冗余大小,因此在数据具有冗余的情况下,也能较为精确地定位出需要进行约减处理的计算单元,从而减少多余的约减处理

[0021]在一些实施方式中,所述预设比特位数是基于所述计算设备中处理器的位数确定的,所述预设比特位数比所述处理器的位数少1或
2。
[0022]在上述实施方式中,相较于根据经验来设定预设比特位数而言,通过处理器的位数这一硬件方面的因素来确定预设比特位数,使得预设比特位数能够适应于硬件的能力,能够针对不同能力的硬件分别确定不同的预设比特位数,以该预设比特位数为基准来寻找需要进行约减处理的计算单元,能更加精确地定位需要进行约减处理的计算单元,从而减少不必要的约减处理

[0023]以预设比特位数为
63
为例,如果预估出一个计算单元的输入数据的比特位数达到
62
或 63
,才在该计算单元进行约减处理,而该计算单元之前的计算单元无需进行约减处理

通过这种方式,在避免溢出的同时,尽可能放宽对数据的取值的限制,充分发挥硬件的能力,提高资源利用率,减少约减处理的次数

[0024]在一些实施方式中,所述多个计算单元中每个计算单元还用于基于冗余值进行减法处理,所述冗余值为大于或等于所述减法处理中减数的数值

[0025]其中,所述数论变换功能包括正数论变换功能以及逆数论变换功能,所述正数论变换功能的减法处理为
x

y*w mod 2q
或者
x mod 2q

y*w mod 2q
,所述逆数论变换功能的减法处理为
x

y
,所述
x
和所述
y
均表示数据,所述
q
表示所述数论变换功能中对所述数据取模运算时使用的模数,所述
w
表示旋转因子,所述
mod
表示取模运算,所述
*
表示相乘,所述

表示相减

[0026]在上述实施方式中,由于减法处理时代入了冗余值,相当于给被减数加上了冗余值,放大了被减数的取值,因此有助于避免减法处理的处理结果为负数,从而有助于运算正确性

此外,相较于根据经验设定冗余值而言,该方式由于以数据相关的参数为依据来确定冗余值,使得确定的冗余值能够适应于参数的取值,从而提高准确性

此外,冗余值无需绑定于单一的参数,而是能够随着参数的取值相应调整,因此方案可用的参数更多,提高扩展性和实用性

[0027]在一些实施方式中,所述数论变换包括正数论变换,所述冗余值等于
2q
,所述
q
表示所述多个计算单元中每个计算单元进行取模运算时使用的模数,所述
q
为正整数

[0028]在上述实施方式中,由于正数论变换特点在于先执行模乘处理,再执行加法处理和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据处理方法,其特征在于,由计算设备执行,所述计算设备用于运行数据的数论变换,所述数据的数论变换的步骤包括多个计算单元,所述方法包括:基于所述数据的参数,确定每个所述计算单元产生的处理结果的预估比特位数,所述参数指示所述数据的比特位数;基于所述预估比特位数,从所述多个计算单元中确定第一计算单元,所述第一计算单元为用于对第二计算单元的处理结果约减处理的计算单元,所述第二计算单元的处理结果的预估比特位数满足预设比特位数
。2.
根据权利要求1所述的方法,其特征在于,所述约减处理,包括:对所述第二计算单元的处理结果进行冗余模乘处理
。3.
根据权利要求2所述的方法,其特征在于,所述对所述第二计算单元的处理结果进行冗余模乘处理包括:基于旋转因子对所述第二计算单元的处理结果进行冗余模乘处理,所述旋转因子具有和所述数据相同的表示形式
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述第二计算单元的约减处理后的处理结果进行加密处理或解密处理
。5.
根据权利要求1至4中任一项所述的方法,其特征在于,所述参数包括所述多个计算单元中每个计算单元进行取模运算时使用的模数

所述数据相对于所述模数的冗余倍数以及所述数据的多项式维度
。6.
根据权利要求1至5中任一项所述的方法,其特征在于,所述预设比特位数是基于所述计算设备中处理器的位数确定的,所述预设比特位数比所述处理器的位数少1或
2。7.
根据权利要求1至6中任一项所述的方法,其特征在于,所述多个计算单元中每个计算单元还用于基于冗余值进行减法处理,所述冗余值为大于或等于所述减法处理中减数的数值
。8.
根据权利要求7所述的方法,其特征在于,所述数论变换包括正数论变换,所述冗余值等于
2q
,所述
q
表示所述多个计算单元中每个计算单元进行取模运算时使用的模数,所述
q
为正整数
。9.
根据权利要求7所述的方法,其特征在于,所述数论变换包括逆数论变换,所述冗余值等于
(t+n)*q
,所述
q
表示所述多个计算单元中每个计算单元进行取模运算时使用的模数,所述
t
表示所述数据相对于所述模数的冗余倍数,所述
n
表示所述数据的多项式维度,所述
t、
所述
n
和所述
q
为正整数
。10.
根据权利要求1至9中任一项所述的方法,其特征在于,所述多个计算单元中每个计算单元用于基于
k
个数据进行处理产生
k
个处理结果,所述
k
为正整数
。11.
一种数据处理装置,其特征在于,设于计算设备,所述计算设备用于运行数据的数论变换,所述数据的数论变换的步骤包括多个计算单元,所述装置包括:第一确定模块,用于基于所述数据的参数,确定每个所述计算单元产生的处理结果的预估比特位数,所述参数指示所述数据的比特位数;第二确定模块,用于基于所述预估比特位数,从所述多个计算单元中确定第一计算单元,所述第一计算单元为用于对第二计算单元的处理结果约减处理的计算单元,所述第二计算单元的处理结果的预估比特位数满足预设比特位数

12.
根据权利要求
11
所述的装置,其特征在于...

【专利技术属性】
技术研发人员:袁壄
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1