一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于使用函数的复合的同态加密的加密方法及装置与流程

2021-10-24 10:02:00 来源:中国专利 TAG:加密 专利申请 同态 优先权 韩国

基于使用函数的复合的同态加密的加密方法及装置
1.相关申请的交叉引用
2.本技术要求于2020年4月22日提交的美国临时专利申请no.63/013,706和于2020年5月8日提交的美国临时专利申请no.63/021,761的优先权,并且要求于2020年10月26日在韩国知识产权局提交的韩国专利申请no.10

2020

0139489的优先权,其全部公开内容通过引用并入本文以用于所有目的。
技术领域
3.以下描述涉及基于使用函数的复合的同态加密的加密方法及装置。


背景技术:

4.全同态加密是使得能够对经加密的数据执行任意逻辑运算或数学运算的加密方案。全同态加密方法在数据处理中保持了安全性。
5.然而,常规的加密方法难以处理经加密的数据,因此不足以保护客户的隐私。
6.全同态加密能够在保护隐私的同时使得客户能够接收许多服务。


技术实现要素:

7.提供本发明内容以用简化形式介绍在下文的具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识所请求保护的主题的关键特征或基本特征,也不旨在帮助确定所请求保护的主题的范围。
8.在一个总体方面中,一种基于使用函数的复合的同态加密的加密方法,包括:通过对数据进行加密来生成密文;以及,通过针对与所述密文相对应的模基于函数的复合执行模约减,来对所述密文进行自举。
9.进行自举可以包括:通过基于所述函数和所述函数的反函数逼近所述模约减,来对所述密文进行自举。
10.通过基于所述函数和所述函数的反函数逼近所述模约减来对所述密文进行自举可以包括:获得所述函数的逼近多项式;获得所述反函数的逼近多项式;以及,基于所述函数的逼近多项式和所述反函数的逼近多项式的复合函数,来生成逼近所述模约减的复合函数。
11.所述函数可以包括三角函数。
12.获得所述函数的逼近多项式可以包括:响应于所述函数是三角函数,通过对所述三角函数应用二倍角公式来获得所述三角函数的二倍角函数。
13.获得所述函数的逼近多项式可以包括:基于所述函数的逼近多项式的次数,确定一个或多个参考点;基于所述一个或多个参考点,获得任意多项式;以及,基于根据所述任意多项式选择的一个或多个极值点,生成所述函数的逼近多项式。
14.获得所述任意多项式可以包括:获得经过所述一个或多个参考点的分段连续函数;以及,通过生成多项式来获得所述任意多项式,所生成的多项式使得:所述多项式与所
述分段连续函数之间在所述一个或多个参考点处的误差的绝对值是预定值。
15.通过生成多项式来获得所述任意多项式可以包括:通过生成多项式来获得所述任意多项式,所生成的多项式使得:在所述一个或多个参考点中包括的第一参考点处的第一误差与在邻近所述第一参考点的第二参考点处的第二误差具有不同的符号,并且所述第一误差的绝对值和所述第二误差的绝对值是所述预定值。
16.基于根据所述任意多项式选择的所述一个或多个极值点生成所述函数的逼近多项式可以包括:从所述任意多项式与经过所述一个或多个参考点的分段连续函数之间的误差的极值点之中,获得绝对值大于或等于预定值的候选点;从所述候选点之中选择目标点,其中,所述目标点的数量基于所述函数的逼近多项式的次数;以及,基于所述目标点生成所述函数的逼近多项式。
17.在另一个总体方面中,一种基于使用函数的复合的同态加密的加密装置,包括:处理器,被配置为:通过对数据进行加密来生成密文,以及,通过针对与所述密文相对应的模基于函数的复合执行模约减,来对所述密文进行自举;以及,存储器,被配置为存储要由所述处理器执行的指令。
18.所述处理器可以被配置为:通过基于所述函数和所述函数的反函数逼近所述模约减,来对所述密文进行自举。
19.所述处理器可以被配置为:获得所述函数的逼近多项式;获得所述反函数的逼近多项式;以及,基于所述函数的逼近多项式和所述反函数的逼近多项式的复合函数,生成逼近所述模约减的复合函数。
20.所述函数可以包括三角函数。
21.所述处理器可以被配置为:响应于所述函数是三角函数,通过对所述三角函数应用二倍角公式,获得所述三角函数的二倍角函数。
22.所述处理器可以被配置为:基于所述函数的逼近多项式的次数,确定一个或多个参考点;基于所述一个或多个参考点获得任意多项式;以及,基于根据所述任意多项式选择的一个或多个极值点,生成所述函数的逼近多项式。
23.所述处理器可以被配置为:获得经过所述一个或多个参考点的分段连续函数;以及,通过生成多项式来获得所述任意多项式,所生成的多项式使得:所述多项式与所述分段连续函数之间在所述一个或多个参考点处的误差的绝对值是预定值。
24.所述处理器可以被配置为:通过生成多项式来获得所述任意多项式,所生成的多项式使得:在所述一个或多个参考点中包括的第一参考点处的第一误差与在邻近所述第一参考点的第二参考点处的第二误差具有不同的符号,并且所述第一误差的绝对值和所述第二误差的绝对值是所述预定值。
25.所述处理器可以被配置为:从所述任意多项式与经过所述一个或多个参考点的分段连续函数之间的误差的极值点之中,获得绝对值大于或等于预定值的候选点;从所述候选点之中选择目标点,其中,所述目标点的数量基于所述函数的逼近多项式的次数;以及,基于所述目标点生成所述函数的逼近多项式。
26.其他特征和方面通过以下具体实施方式、附图和权利要求将变得清楚。
附图说明
27.图1示出了加密装置的示例。
28.图2示出了通过图1的加密装置获得逼近函数的示例。
29.图3示出了用于通过图1的加密装置获得函数及其反函数的逼近多项式的算法的示例。
30.图4示出了用于通过图1的加密装置获得函数及其反函数的逼近多项式的算法的示例。
31.图5示出了图1的加密装置的操作的示例。
32.在整个附图和具体实施方式中,除非另外描述或提供,否则相同的附图标记将被理解为指代相同的元件、特征和结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以放大附图中的元件的相对尺寸、比例和描绘。
具体实施方式
33.在下文中,将参考附图来详细描述示例。然而,可以对所述示例做出各种改变和修改。此处,所述示例不被解释为限制本工开。所述示例应被理解为包括本公开的构思和技术范围内的所有改变、等同物和替换。
34.本文中使用的术语仅仅是为了描述具体示例的目的,而不是为了限制示例。单数形式“一”、“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。还将理解,术语“包括”和/或“包含”在本文中使用时,表示存在所陈述的特征、整数、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合。
35.除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与各示例所属领域的普通技术人员通常所理解的含义相同的含义。还应理解,诸如在常用词典中定义的术语之类的术语应被解释为其含义与在相关技术的上下文中的含义相一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。
36.当参考附图描述示例时,相同的附图标记表示相同的构成元件,并且将省略与其相关的重复描述。在对示例的描述中,当认为对公知的相关结构或功能的详细描述将引起对本公开的模糊解释时,将省略这样的描述。
37.此外,当描述本公开的组件时,可以在本文中使用诸如第一、第二、a、b、(a)、(b)之类的术语来描述所述组件。这些术语仅用于将一个构成元件与另一个构成元件进行区分的目的,构成元件的性质、次序或顺序不被所述术语限制。当一个构成元件被描述为“连接”、“耦接”或“附接”到另一个构成元件时,应理解该一个构成元件可以直接连接或附接到该另一个构成元件,并且中间构成元件也可以“连接”、“耦接”或“附接”到这些构成元件。
38.相同的名称可以用于描述上述示例中包括的元件和具有共同功能的元件。除非另外提及,否则关于各示例的描述可以适用于以下示例,因此,为了简洁将省略重复的描述。
39.图1示出了加密装置的示例。
40.参考图1,加密装置10可以对数据进行加密。加密装置10可以通过对数据进行加密来生成经加密的数据。在下文中,经加密的数据可以被称为密文。
41.加密装置10可以执行使用同态加密的加密和解密。加密装置10可以提供用于对使
用同态加密而被加密的数据进行操作而无需解密的加密技术。例如,加密装置10可以对通过对使用同态加密而被加密的数据进行操作而得到的结果进行解密,由此得到与对明文的数据进行的操作相同的结果。加密装置10可以提供用于实数或复数的同态加密操作。
42.加密装置10可以执行同态加密所需的自举(bootstrapping)。加密装置10可以生成逼近多项式,逼近多项式逼近与同态加密所需的模约减相对应的函数。
43.加密装置10可以找到针对最优极小极大逼近多项式的每一次数(degree)的极小极大逼近误差。
44.加密装置10可以找到最优地逼近模约减运算的逼近多项式,由此提供在同态加密的极小极大逼近误差方面的极好的性能。
45.加密装置10可以基于用于逼近模约减函数的逼近区域信息,生成逼近模约减函数的逼近多项式。加密装置10可以基于函数的复合执行模约减。加密装置10可以通过基于函数的复合执行模约减来执行自举。
46.加密装置10包括处理器100和存储器200。
47.处理器100可以处理存储在存储器中的数据。处理器100可以执行存储在存储器200中的计算机可读代码(例如,软件)和由处理器100触发的指令。
48.处理器100可以是由硬件实现的数据处理设备,硬件包括具有用于执行期望的操作的物理结构的电路。例如,期望的操作可以包括程序中包括的指令或代码。
49.例如,硬件实现的数据处理设备可以包括微处理器、中央处理单元(cpu)、处理器核、多核处理器、多处理器,专用集成电路(asic)和现场可编程门阵列(fpga)。
50.处理器100可以通过对数据进行加密来生成密文。所述数据可以是可以由计算机处理的字符、数字、声音或图片形式的信息。
51.处理器100可以通过针对与所生成的密文相对应的模基于函数的复合执行模约减,来对密文进行自举。
52.处理器100可以通过基于函数和函数的反函数逼近模约减,来执行自举。处理器100可以获得函数的逼近多项式。处理器100可以获得反函数的逼近多项式。
53.处理器100可以基于逼近多项式的次数,确定一个或多个参考点。处理器100可以基于一个或多个参考点,获得任意多项式。处理器100可以获得经过一个或多个参考点的分段连续函数。处理器100可以通过生成如下多项式来获得任意多项式,所述多项式使得:该多项式与分段连续函数之间在一个或多个参考点处的误差的绝对值是预定值。
54.处理器100可以通过生成如下多项式来获得任意多项式,所述多项式使得:在一个或多个参考点中包括的第一参考点处的误差与在邻近第一参考点的第二参考点处的误差具有不同的符号,并且这些误差的绝对值是预定值。
55.处理器100可以基于根据任意多项式选择的一个或多个极值点,来生成逼近多项式。处理器100可以从任意多项式与经过一个或多个参考点的分段连续函数之间的误差的极值点之中,获得绝对值大于或等于预定值的候选点。
56.处理器100可以从候选点之中选择目标点,其中,目标点的数量基于逼近多项式的次数。处理器100可以基于目标点生成逼近多项式。
57.处理器100可以获得函数及其反函数中的至少一个的逼近多项式,并且通过基于所获得的逼近多项式执行函数的复合,来执行模约减。将参考图3和图4详细描述获得函数
及其反函数的逼近多项式的过程。
58.处理器100可以基于函数的逼近多项式和反函数的逼近多项式的复合函数,生成逼近模约减的复合函数。在这种情况下,函数可以包括三角函数。例如,三角函数可以包括正弦函数和余弦函数中的至少一种。
59.响应于函数是三角函数,处理器100可以通过对三角函数应用二倍角公式,来获得三角函数的二倍角函数。
60.存储器200可以存储可由处理器执行的指令(或程序)。例如,指令可以包括用于执行处理器的操作和/或处理器的每个元件的操作的指令。
61.存储器200可以被实现为易失性存储器设备或非易失性存储器设备。
62.易失性存储器设备可以被实现为动态随机存取存储器(dram)、静态随机存取存储器(sram)、晶闸管ram(t

ram)、零电容器ram(z

ram)或双晶体管ram(ttram)。
63.非易失性存储器设备可以被实现为电可擦除可编程只读存储器(eeprom)、闪存、磁ram(mram)、自旋转移扭矩(stt)

mram、导电桥接ram(cbram)、铁电ram(feram)、相变ram(pram)、电阻式ram(rram)、纳米管rram、聚合物ram(poram)、纳米浮栅存储器(nfgm)、全息存储器、分子电子存储器设备或绝缘体电阻改变存储器。
64.图2示出了通过图1的加密装置获得逼近函数的示例。
65.参考图2,处理器100可以通过逼近模约减函数执行自举。在操作210中,处理器100可以检测在自举过程期间需要模运算(例如,模约减函数)的密文。例如,处理器100可以检测由于密文的模小于或等于阈值点而不可以再对其执行操作的密文。
66.处理器100可以逼近模约减函数以执行自举。处理器100可以获得任意函数的逼近多项式,并且获得反函数的逼近多项式。例如,任意函数可以包括三角函数。
67.图2的示例示出了任意函数是正弦函数的情况。然而,即使任意函数是余弦函数,也可以以相同的方式逼近模约减函数。
68.处理器100可以基于函数的逼近多项式和反函数的逼近多项式的复合函数,生成逼近模约减的复合函数。处理器100可以通过具有相对较低次数的多项式的复合来逼近模约减函数。
69.例如,在操作230中,处理器100可以获得针对sin(t)的逼近多项式f(t)。在操作250中,处理器100可以获得针对arcsin(t)的逼近多项式g(t)。将参考图3至图4详细描述获得逼近多项式的过程。
70.在操作270中,处理器100可以通过对所获得的g(t)和f(t)进行复合来获得gf(t)。在操作290中,处理器100可以基于复合函数来逼近模函数(例如,模约减函数)。
71.处理器100可以利用三角函数和反三角函数的复合函数,来逼近模函数,由此与仅使用三角函数来逼近模函数的情况相比减小了误差。
72.处理器100基于函数及其反函数的逼近多项式的组合来执行模约减函数,由此减小了仅使用三角函数的逼近所引起的基本误差。处理器100可以通过应用三角函数的二倍角公式,减少非标量乘法的数量。通过函数及其反函数的复合,处理器100可以减少用于逼近函数的运算的数量。
73.如果函数f是正弦函数并且函数g是反正弦函数,则这两个函数可以根据公式1和公式2定义。
74.[公式1]
[0075][0076]
[公式2]
[0077]
g:[

sin2π∈,sin2π∈]

[

2π∈,2π∈],g(x)=arcsin x
[0078]
此处,∈可以在的范围中。
[0079]
针对公式1和公式2的函数的复合函数可以通过公式3表示。
[0080]
[公式3]
[0081][0082]
此处,当以进行替换时,该复合函数可以通过公式4表示。
[0083]
[公式4]
[0084][0085]
此处,normod(t)表示归一化模约减函数。参考公式1至公式4,处理器100可以通过逼近多项式来逼近函数f和函数g,并且对这些函数进行复合,由此减小了模约减函数中的误差。
[0086]
即使对于相对较小的∈,处理器100也可以利用线性多项式来逼近g(x)。例如,处理器100可以利用作为恒等函数的x来逼近g(x)。
[0087]
此外,余弦函数是正弦函数的平移。因此,处理器100也可以针对余弦函数执行相同的函数复合。
[0088]
如果任意函数是奇函数,则其逼近多项式也可以是奇函数。即,如果反函数是反正弦函数,则反正弦函数的逼近多项式可以是奇函数。
[0089]
因此,因为次数小于或等于2的多项式中的反正弦函数的逼近多项式是线性多项式,所以逼近多项式和反正弦函数之间的误差函数可以具有满足切比雪夫变换定理的四个全局极值点。
[0090]
处理器100可以获得在区间[

sin∈,sin∈]内的反正弦函数的极小极大逼近多项式c
min
,如公式5所示。
[0091]
[公式5]
[0092][0093]
此外,公式6中的关系可以被满足。
[0094]
[公式6]
[0095][0096]
在这个示例中,所有函数的域可以是[

sin∈,sin∈]。
[0097]
如果f(x)=sin x并且则可以对公式4中的归一化模约减函数进行求值,如公式7中所示。
[0098]
[公式7]
[0099][0100]
此处,g(x)的极小极大线性多项式可以是这正好是最初的逼近公式乘以常数因此,处理器100可以将针对余弦逼近的逼近误差的基本限制减小1/4。
[0101]
通过如此操作,处理器100可以仅通过调整乘法因子,获得另外的2比特精度(2more

bit precision)。
[0102]
公式5至公式7描述了反函数的逼近多项式的次数是1的情况,并且处理器100可以将反函数的逼近多项式的次数逼近2或更高次数,由此进一步减小极小极大误差。
[0103]
处理器100可以通过将逼近多项式的次数增大到3来执行逼近,如公式8所示。
[0104]
[公式8]
[0105]
g(x)≈c1x c3x3=g1(x)
[0106]
此处,将参考图3描述获得多项式的系数c1和系数c3的过程。通过将公式8应用到公式4,可以获得如公式9所示的归一化模约减函数。
[0107]
[公式9]
[0108][0109]
为了逼近模约减函数,处理器100可以利用极小极大逼近多项式来逼近正弦或余弦函数,然后逼近公式8的g1(x)。处理器100可以针对正弦或余弦函数的逼近应用二倍角公式。
[0110]
在逼近正弦或余弦函数之后,应用二倍角公式需要另外两个非标量乘法、以及另外两个深度。通过二倍角公式,针对归一化模约减函数的极小极大逼近误差可以具有介于δ0和δ1之间的值,其中δ0是当反函数的逼近多项式的次数是1时的逼近平坦误差(approximation flat error),δ1是当使用公式8来逼近模约减函数时的极小极大逼近误差。
[0111]
如果g
n
(x)表示针对g(x)的次数为2n 1的最优的极小极大逼近多项式,则g
n
(x)可以仅具有奇次数项。在下文中,δ
n
可以是g
n
(x)的极小极大逼近误差。
[0112]
为了获得在δ
n
和δ
n 1
之间的极小极大逼近误差,处理器100可以获得通过公式10表示的归一化模约减函数。
[0113]
[公式10]
[0114][0115]
此处,δ
n
可以随着n的增大而趋向于零。处理器100可以通过三角函数的逼近函数和反三角函数的逼近函数的复合,来减小逼近误差。
[0116]
在下文中,将参考图3和图4详细描述获得函数及其反函数的逼近多项式的过程。
[0117]
图3示出了用于通过图1的加密装置获得函数及其反函数的逼近多项式的算法的示例。
[0118]
参考图3,处理器100可以获得函数的逼近多项式和/或该函数的反函数的逼近多项式。处理器100可以通过使用图3的算法1,获得函数的逼近多项式和/或该函数的反函数的逼近多项式。
[0119]
处理器100可以获得函数及其反函数中的至少一个的逼近多项式。可以通过相同的过程获得函数的逼近多项式以及该函数的反函数的逼近多项式。
[0120]
处理器100可以通过使用图3的算法1,找到用于区间[a,b]上的任意连续函数的极小极大逼近多项式,来生成逼近多项式。处理器100可以使用切比雪夫变换定理来生成满足等振荡条件的逼近多项式。
[0121]
处理器100可以生成基函数{g1,

,g
n
}满足haar条件的逼近多项式。为了生成次数为d的逼近多项式,处理器100可以通过幂基{1,x,

,x
d
}选择基函数{g1,

,g
n
}。此处,n=d 1。
[0122]
处理器100可以基于要获得的逼近多项式的次数d,确定一个或多个参考点。处理器100可以初始化参考点的集合,所述参考点收敛到极小极大逼近多项式的极值点。处理器100可以关于参考点的集合,获得极小极大逼近多项式。因为参考点的集合是[a,b]中的有限多点的集合,所以其可以是[a,b]的闭子集,因此,对于参考点的集合,可以满足切比雪夫变换定理。
[0123]
处理器100可以基于一个或多个参考点来获得任意多项式。处理器100可以获得经过一个或多个参考点的分段连续函数。处理器100可以通过生成如下多项式来获得任意多项式,所述多项式使得:该多项式与分段连续函数之间在一个或多个参考点处的误差的绝对值是预定值。
[0124]
处理器100可以通过生成如下多项式来获得任意多项式,所述多项式使得:在一个或多个参考点中包括的第一参考点处的误差与在邻近第一参考点的第二参考点处的误差具有不同的符号,并且这些误差的绝对值是预定值。
[0125]
f(x)可以是经过一个或多个参考点的分段连续函数。当f(x)是[a,b]上的连续函数时,参考点的集合上的极小极大逼近多项式可以是对于某个e满足公式11的条件的具有基{g1,

,g
n
}的广义多项式p(x)。e的值可以是上述预定值。
[0126]
[公式11]
[0127]
p(x
i
)

f(x
i
)=(

1)
i
e i=1,

,d 2
[0128]
处理器100可以使用公式11获得任意多项式p(x)。根据公式11,具有n 1个方程以及p(x)的n个系数和e的n 1变量的线性方程组、以及线性方程根据haar条件是非奇异的,因此处理器100可以获得满足公式11的条件的多项式p(x)。
[0129]
处理器100可以基于根据任意多项式选择的一个或多个极值点,来生成逼近多项式。具体地,处理器100可以从任意多项式与经过一个或多个参考点的分段连续函数之间的误差的极值点之中,获得绝对值大于或等于预定值的候选点。处理器100可以从候选点之中选择目标点,其中,目标点的数量基于逼近多项式的次数。处理器100可以基于所选择的目标点生成逼近多项式。
[0130]
处理器100可以获得在x
i
与x
i 1
之间的p(x)

f(x)的n个零点z
i
,条件是z0=a、z
n 1
=b和i=1,2,

,n,并且可以获得在每个[z
i
‑1,z
i
]中的p(x)

f(x)的n 1个极值点y1,

,y
n 1

[0131]
如果p(x
i
)

f(x
i
)<0,处理器100可以选择在[z
i
‑1,z
i
]中的p(x)

f(x)的最小点;并且如果p(x
i
)

f(x
i
)>0,可以选择在[z
i
‑1,z
i
]中的p(x)

f(x)的最大点。
[0132]
通过如此操作,处理器100可以选择新的极值点y1,

,y
n 1
的集合作为候选点。如果这些候选点满足等振荡条件,则处理器100可以通过根据切比雪夫变换定理返回极小极大逼近多项式,生成函数或者其反函数的逼近多项式。
[0133]
此外,处理器100可以利用通过上述过程获得的新的极值点y1,

,y
n 1
的集合替换参考点的集合,并且迭代地执行上述多项式生成过程。
[0134]
图3中示出的算法1可以被扩展到一个区间的多个子区间。当应用被扩展到多个子区间的算法1时,可以改变图3的步骤3和步骤4。
[0135]
对于每次迭代,处理器100可以获得误差函数p

f的所有局部极值点,其绝对误差值可以大于当前参考点处的绝对误差值。
[0136]
然后,处理器100可以从所有所获得的局部极值点之中选择满足以下两个准则的n 1个新的极值点:
[0137]
1、误差值的符号交替变化;以及
[0138]
2、新的极值点的集合包括全局极值点。
[0139]
上述两个准则可以保证收敛到极小极大广义多项式。
[0140]
图4示出了用于通过图1的加密装置获得函数及其反函数的逼近多项式的算法的示例。
[0141]
参考图4,处理器100可以通过使用算法2,来获得函数的逼近多项式和/或该函数的反函数的逼近多项式。
[0142]
要由处理器100通过逼近获得的函数可以是仅在近乎有限多个整数中定义的归一化模约减函数,如公式12所示。
[0143]
[公式12]
[0144][0145]
公式12可以表示针对模约减的域和范围两者缩放的模约减函数。
[0146]
处理器100可以将余弦函数用于逼近normod(x),以将二倍角公式用于高效的同态赋值。
[0147]
如果二倍角公式被使用l次,则需要逼近公式13中的余弦函数。
[0148]
[公式13]
[0149][0150]
为了逼近包括公式12和公式13中的函数在内的分段连续函数,处理器100可以假设在有限多个闭区间的并集上定义的通用分段连续函数,其作为公式14给出。
[0151]
[公式14]
[0152][0153]
此处,a
i
<b
i
<a
i 1
<b
i 1
对于所有的i=1,

,t

1成立。
[0154]
为了在公式14的d上利用具有小于或等于d的次数的多项式逼近给定的分段连续函数,处理器100可以设置用于从多个极值点之中选择新的d 2个参考点的准则。
[0155]
处理器100可以通过使用在[a,b]上满足haar条件的{g1,

,g
n
}作为多项式的基,来生成逼近多项式。处理器100可以针对每次迭代关于参考点的集合获得极小极大逼近多项式,并且选择用于下次迭代的新的参考点的集合。
[0156]
可以存在许多情况,其中,处理器100从使用利用参考点的集合获得的任意多项式而求得的误差函数的极值点之中,选择n 1个点。处理器100可以在加密过程期间考虑许多区间,因此可能存在许多候选极值点。
[0157]
处理器100可以针对每次迭代从许多候选点之中选择n 1个目标点,以最小化迭代的次数。通过如此操作,处理器100可以通过对针对每次迭代生成的逼近多项式进行收敛,生成极小极大逼近多项式。在这个示例中,最终生成的极小极大逼近多项式可以是上述的函数的逼近多项式和/或该函数的反函数的逼近多项式。
[0158]
为了设置用于选择n 1个目标点的准则,处理器100可以定义公式15的函数。
[0159]
[公式15]
[0160][0161]
此处,p(x)表示在每次迭代中获得的任意多项式,并且f(x)表示要被逼近的分段连续函数。为了方便,μ
p,f
可以在下文中被称为μ。
[0162]
处理器100可以将p(x)

f(x)的所有的极值点形成为集合b。b可以是有限集合,并且被表示为b={x1,x2,

,x
m
}。处理器100可以在b中的一个区间中选择点。
[0163]
假设b按照升序排序,x1<x2<

<x
m
,则μ的值可以是1或

1。极值点的数量可以满足m≥n 1。
[0164]
处理器100可以定义函数的集合s,如公式16所示。
[0165]
[公式16]
[0166]
s={σ:[n 1]

[m]|σ(i)<σ(i 1)对于所有i=1,

,n}
[0167]
在这个示例中,如果n 1=m,则集合s可以仅包括恒等函数。
[0168]
处理器100可以设置用于选择n 1个极值点的三个准则。
[0169]
处理器100可以将局部极值条件设置为第一条件。如果e是在参考点的集合处的绝对误差,则可以设置公式17的条件。
[0170]
[公式17]
[0171][0172]
为了满足局部极值条件,如果p(x)

f(x)的局部最大值为负或p(x)

f(x)的局部最小值为正,则处理器100可以去除极值点。
[0173]
其次,处理器100可以设置交替变化条件。换言之,可以设置公式18的条件。具体地,如果两个邻近的极值点中的一个极值点具有局部最大值,则另一极值点可以具有局部最小值。
[0174]
[公式18]
[0175]
μ(x
σ(i)
)
·
μ(x
σ(i 1)
)=

1对于i=1,

,n
[0176]
第三,处理器100可以设置最大绝对和条件。处理器100可以从满足局部极值条件和交替变化条件的σ之中,选择最大化公式19的值的σ。
[0177]
[公式19]
[0178][0179]
在当前参考点x1,

,x
n 1
处的绝对误差值可以小于极小极大逼近误差,并且随着迭代次数的增加,收敛到极小极大逼近误差。
[0180]
此外,在当前参考点处的绝对误差值可以是前次迭代中的逼近多项式在x1,

,x
n 1
处的绝对误差值的加权平均。
[0181]
处理器100可以使用最大绝对和条件,帮助在当前参考点处的绝对误差值快速地收敛到极小极大逼近误差。
[0182]
局部极值条件和交替变化条件可以被应用到图3的算法和图4的算法(算法1和算法2)两者,并且最大绝对和条件可以被应用到图4的算法2。处理器100可以应用最大绝对和条件,由此促进收敛到极小极大逼近多项式。
[0183]
集合总是包含满足局部极值条件和交替变化条件的至少一个元素σ0,并且可以具有对于某个i0满足的σ0(i0)。
[0184]
处理器100可以更高效地执行图4的算法2的步骤2、步骤3和步骤4,如下所述。处理器100可以针对连续函数f(x)在当前参考点处利用幂基找到逼近多项式的系数。
[0185]
即,处理器100可以通过获得公式20中的系数c
j
的值,生成逼近多项式。
[0186]
[公式20]
[0187][0188]
此处,e在线性方程中可能是未知的。随着逼近多项式的基的次数增大,系数会减小。处理器100可能需要为更高次数的基的系数设置更高的精度。
[0189]
因此,处理器100可以通过将切比雪夫多项式的基用作逼近多项式的基,来有效地解决精度问题。因为利用切比雪夫基的多项式的系数通常具有几乎相同的量级,所以处理器110可以使用切比雪夫基而不是幂基来生成逼近多项式。
[0190]
切比雪夫多项式满足上述haar条件,并且处理器100可以通过经由使用d 2个参考点对公式21的d 2个线性方程的组进行求解计算c
j
和e,来获得逼近多项式。
[0191]
[公式21]
[0192][0193]
图5示出了图1的加密装置的操作的示例。
[0194]
参考图5,在操作510中,处理器100可以通过对数据进行加密来生成密文。在操作530中,处理器100可以通过针对与密文相对应的模基于函数的复合执行模约减,对密文进行自举。在这种情况下,函数可以包括三角函数。
[0195]
处理器100可以通过基于函数和该函数的反函数逼近模约减,来执行自举。处理器100可以获得函数的逼近多项式,并且获得反函数的逼近多项式。
[0196]
处理器100可以基于逼近多项式的次数,确定一个或多个参考点,以及基于一个或多个参考点来获得任意多项式。
[0197]
处理器100可以获得经过一个或多个参考点的分段连续函数;以及,通过生成如下多项式来获得任意多项式,所述多项式使得:该多项式与分段连续函数之间在一个或多个参考点处的误差的绝对值是预定值。
[0198]
处理器100可以通过生成如下多项式来获得任意多项式,所述多项式使得:在一个或多个参考点中包括的第一参考点处的误差与在邻近第一参考点的第二参考点处的误差具有不同的符号,并且这些误差的绝对值是预定值。
[0199]
处理器100可以基于根据任意多项式选择的一个或多个极值点,来生成逼近多项式。处理器100可以执行以下操作:从任意多项式与经过一个或多个参考点的分段连续函数之间的误差的极值点之中,获得绝对值大于或等于预定值的候选点;以及,从候选点之中选择目标点,其中,目标点的数量基于逼近多项式的次数。
[0200]
处理器100可以基于所选择的目标点,来生成函数或其反函数的逼近多项式。
[0201]
处理器100可以基于函数的逼近多项式和反函数的逼近多项式的复合函数,来生成逼近模约减的复合函数。在这个示例中,响应于函数是三角函数,处理器100可以通过对三角函数应用二倍角公式,获得三角函数的二倍角函数。
[0202]
根据上述示例的方法可以被记录在包括用于实现上述示例的各种操作的程序指令的非暂时性计算机可读介质中。所述介质还可以单独或与程序指令组合地包括数据文件、数据结构等。记录在介质上的程序指令可以是出于示例的目的而专门设计和构造的程序指令,或者程序指令可以是对于计算机软件领域中的普通技术人员众所周知和可获得的种类。非暂时性计算机可读介质的示例包括:磁介质,例如硬盘、软盘和磁带;光介质,例如cd

rom盘、dvd、和/或蓝光盘;磁光介质,例如光软盘;以及专门被配置为存储和执行程序指令的硬件设备,例如只读存储器(rom)、随机存取存储器(ram)、闪存(例如,usb闪存驱动器、存储卡、存储器棒等)等。程序指令的示例包括机器代码(例如,由编译器产生的机器代码)、
以及包含可以由计算机使用解释器来执行的更高级的代码的文件两者。上述设备可以被配置为用作一个或多个软件模块,以便执行上述示例的操作,反之亦然。
[0203]
软件可以包括计算机程序、代码段、指令或其某种组合,以便独立地或者一致地指示或配置处理设备按照需要操作。软件和数据可以被永久或暂时地体现在如下项中:任意类型的机器、组件、物理或虚拟设备、计算机存储介质或设备;或能够提供到达处理设备或由其解释的指令或数据的传播的信号波。软件还可以分布在网络耦接的计算机系统上,从而以分布式的方式存储和执行软件。软件和数据可以由一个或多个非暂时性计算机可读记录介质存储。
[0204]
上面已经描述了多个示例。然而,应当理解,可以对这些示例进行各种修改。例如,如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其它组件或其等同物替换或补充,则可以实现合适的结果。
[0205]
因此,其他实施方式在所附权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜