CN113924610B - 秘密共轭梯度法计算系统及方法、秘密计算装置、共轭梯度法计算装置及方法、以及记录介质 - Google Patents
秘密共轭梯度法计算系统及方法、秘密计算装置、共轭梯度法计算装置及方法、以及记录介质 Download PDFInfo
- Publication number
- CN113924610B CN113924610B CN201980097140.6A CN201980097140A CN113924610B CN 113924610 B CN113924610 B CN 113924610B CN 201980097140 A CN201980097140 A CN 201980097140A CN 113924610 B CN113924610 B CN 113924610B
- Authority
- CN
- China
- Prior art keywords
- value
- calculation
- secret
- vector
- generate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 260
- 238000002939 conjugate gradient method Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims description 29
- 239000013598 vector Substances 0.000 claims abstract description 104
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000012545 processing Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
在通过固定小数点数实现共轭梯度法的情况下降低产生溢出的概率。初始化部(12)生成向量p→ 0、r→ 0和值ρ0各自的隐匿值。第一计算部(13)生成向量a→ i‑1的D倍的值的隐匿值。第二计算部(14)生成值γi‑1的D倍的值的隐匿值。第三计算部(15)生成值αi‑1的隐匿值。第四计算部(16)生成向量d→ i的D倍的值的隐匿值。第五计算部(17)生成向量x→ i的隐匿值。第六计算部(18)生成向量r→ i的隐匿值。第七计算部(19)生成值ρi的D倍的值的隐匿值。第八计算部(20)生成值βi的隐匿值。第九计算部(21)生成向量p→ i的隐匿值。
Description
技术领域
本发明涉及数值计算技术,特别涉及在秘密计算中高效地解联立一次方程式的方法。
背景技术
作为解将对称正定值矩阵设为系数的联立一次方程式的算法,已知称为共轭梯度法的方法。在共轭梯度法中,通过反复计算而计算联立方程式的解的近似值(例如,参照非专利文献1)。
通常,使用浮动小数点数计算共轭梯度法。在秘密计算中进行共轭梯度法的情况下,通过使用浮动小数点数也可以进行计算。可是,在秘密计算中浮动小数点数的计算成本大,所以基于使用了浮动小数点数的秘密计算的共轭梯度法的计算成本变得非常大。
在秘密计算中处理实数的方法中,除了浮动小数点数之外,还有处理固定小数点数的方法。固定小数点数由于计算成本比浮动小数点数小,所以若可以通过固定小数点数实现,则可以减小共轭梯度法的计算成本。
现有技术文献
非专利文献
非专利文献1Jonathan RichardShewchuk,"An Introduction to the ConjugateGradient Method Without the Agonizing Pain,"1994.
发明内容
发明要解决的课题
可是,在通过固定小数点数实现共轭梯度法的情况下,有时在计算途中的值中发生溢出。若发生溢出则无法得到正确的计算结果,所以希望能够以不产生溢出的方式计算共轭梯度法。
本发明的目的是鉴于上述的技术的课题,在通过固定小数点数实现共轭梯度法的情况下,降低产生溢出的概率。
用于解决课题的方案
为了解决上述的课题,本发明的一个方式的秘密共轭梯度法计算系统将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为由矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,秘密共轭梯度法计算系统包含多个秘密计算装置,将集合X的隐匿值和向量b→的隐匿值设为输入,求Ax→=b→的解x→*的近似解x→ k。
秘密计算装置包含初始化部、第一计算部、第二计算部、第三计算部、第四计算部、第五计算部、第六计算部、第七计算部、第八计算部和第九计算部。
初始化部通过秘密计算而计算下式,生成向量p→ 0、r→ 0和值ρ0各自的隐匿值。
【数1】
第一计算部通过秘密计算而计算下式,生成向量a→ i-1的隐匿值。
【数2】
第二计算部通过秘密计算而计算下式,生成值γi-1的隐匿值。
【数3】
第三计算部通过秘密计算而计算下式,生成值αi-1的隐匿值。
【数4】
第四计算部通过秘密计算而计算下式,生成向量d→ i的隐匿值。
【数5】
第五计算部通过秘密计算而计算下式,生成向量x→ i的隐匿值。
【数6】
第六计算部通过秘密计算而计算下式,生成向量r→ i的隐匿值。
【数7】
第七计算部通过秘密计算而计算下式,生成值ρi的隐匿值。
【数8】
第八计算部通过秘密计算而计算下式,生成值βi的隐匿值。
【数9】
第九计算部通过秘密计算而计算下式,生成向量p→ i的隐匿值。
【数10】
发明效果
按照本发明,由于可以将共轭梯度法的计算中途的值压小,所以在通过固定小数点数实现共轭梯度法的情况下产生溢出的可能性降低。
附图说明
图1是例示秘密共轭梯度法计算系统的功能结构的图。
图2是例示秘密计算装置的功能结构的图。
图3是例示秘密共轭梯度法计算方法的处理过程的图。
图4是例示计算机的功能结构的图。
具体实施方式
首先,说明本说明书中的记述方法以及用语的定义。
<记述方法>
在文中使用的记号“→”(上标箭头),本来应该记载在正前面文字的正上方,但是由于文本记法的限制,记载在该文字的紧后面。在数式中,这些记号记述在本来的位置,即文字的正上方。例如,“a→”在数式中以下式表示。
【数11】
例如“a→”那样,在文字的紧后面记载了上标箭头的记号(在数式中,在文字的正上方记载了箭头的记号)表示列向量。
·T(上标的T)表示转置。
a→Tb→表示向量a→和向量b→的内积。
<秘密计算>
作为不复原被加密的数值而得到特定的运算结果的方法,有称为秘密计算的方法(例如,参照参考文献1)。在参考文献1中记载的方法中,进行使数值的片断分散到三个秘密计算装置这样的加密,通过三个秘密计算装置进行协同计算,可以不复原数值地,使加减运算、常数相加、相乘、常数倍、逻辑运算(“非”、“与”、“或”、“异或”)、数据形式变换(整数、二进制数)的结果在被分散在三个秘密计算装置的状态,即被加密的情况下进行保持。
〔参考文献1〕千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3パ一テイ秘匿関数計算の再考”、CSS、2010年
<共轭梯度法>
对非专利文献1中记载的以往的共轭梯度法更详细地进行说明。共轭梯度法将用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合X、d维向量b→设为输入,通过反复计算来计算Ax→=b→的解x→*=A-1b→的近似值的方法。具体地说,将作为近似解的初始值的向量x→ 0设为任意的值,从i=1开始依次计算以下的各值,对于足够大的k,将向量x→ k作为近似解输出。另外,k最大为d左右,根据希望的近似的精度进行设定。例如,若设为d=100,则设定为k=10左右即可。另外,各值的计算不需要按照下式顺序进行计算,也可以在可计算的范围内更换顺序,也可以并行地计算多个值。
【数12】
这里,f是由集合X和d维向量x→计算Ax→的函数。作为集合X和函数f的具体例,举出以下的例子。其中,n为任意的自然数。
·X={A},f(X,x→)=Ax→
·将B设为d行n列的矩阵,X={B},f(X,x→)=BBTx→
·将B设为d行n列的矩阵,将C设为对角分量为正的d次对角矩阵,X={B,C},f(X,x→)=BCBTx→
在秘密计算中进行共轭梯度法的情况下,只要将输入输出的值设为通过规定的秘密分散进行了隐匿的值,例如将上述参考文献1中记载的秘密计算的各运算组合而实现上述各值的计算即可。即,将分别秘密分散了集合X和向量b→的隐匿值设为输入,在隐匿了原来的值的情况下通过秘密计算而计算上述的各值,若进行复原则输出成为近似解x→ k的隐匿值。
<发明的要点>
在本发明中,设定满足|D|<1并且D≠0的(换言之,绝对值小于1,并且为0以外)任意的值D,在共轭梯度法中计算a→ i-1、γi-1、d→i、ρi的各值时,计算各值的D倍的值而设为a→ i-1、γi-1、d→ i、ρi的各值。由此,因为可以将在计算共轭梯度法时容易变大的中途的值抑制得小,产生溢出的概率降低。在本发明中,特别是构成为虽然计算中途的值大小变更,但是最终得到的解不变化是要点。
以下,详细地说明本发明的实施方式。另外,对于附图中具有相同的功能的结构部附加相同的标号,省略重复说明。
[实施方式]
参照图1,说明实施方式的秘密共轭梯度法计算系统的结构例。秘密共轭梯度法计算系统100例如如图1所示,包含N(≧2)台秘密计算装置11,…,1N。在本实施方式中,秘密计算装置11,…,1N被分别连接至通信网9。通信网9是以被连接的各装置能够相互通信的方式构成的线路交换方式或者分组交换方式的通信网,例如可以使用因特网或LAN(Local AreaNetwork,局域网)、WAN(Wide Area Network,广域网)等。另外,各装置不一定需要能够经由通信网9以在线方式进行通信。例如,也可以构成为将输入至秘密计算装置11,…,1N的信息存储在磁带或USB存储器等可拆装型记录介质中,从该可拆装型记录介质以离线方式向秘密计算装置11,…,1N进行输入。
参照图2,说明实施方式的秘密共轭梯度法计算系统100中包含的秘密计算装置1n(n=1,…,N)的结构例。例如如图2所示,秘密计算装置1n包含:输入部11、初始化部12、第一计算部13、第二计算部14、第三计算部15、第四计算部16、第五计算部17、第六计算部18、第七计算部19、第八计算部20、第九计算部21、反复控制部22、以及输出部23。该秘密计算装置1n(n=1,…,N)通过一边与其它秘密计算装置1n'(n'=1,…,N,其中n≠n')协同,一边进行在后叙述的各步骤的处理,实现本实施方式的秘密共轭梯度法计算方法。
秘密计算装置1n例如是在具有中央运算处理装置(中央处理单元(CPU:CentralProcessing Unit)),主存储装置(随机存取存储器(RAM:Random Access Memory))等的公知或者专用的计算机中读入特别的程序而构成的特别的装置。秘密计算装置1n例如在中央运算处理装置的控制下执行各处理。在秘密计算装置1n中输入的数据或在各处理中得到的数据例如被存储在主存储装置中,主存储装置中存储的数据根据需要被读出至中央运算处理装置,用于其它的处理。秘密计算装置1n的各处理部的至少一部分也可以通过集成电路等硬件构成。
参照图3,说明实施方式的秘密共轭梯度法计算系统100执行的秘密共轭梯度法计算方法的处理过程。
在步骤S11中,向各秘密计算装置1n的输入部11输入集合X的隐匿值和向量b→的隐匿值。集合X是用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合。向量b→是d维的向量。输入部ll将集合X的隐匿值和向量b→的隐匿值输出至初始化部12。
在步骤S12中,各秘密计算装置1n的初始化部12将近似解的初始值x→ 0设为任意的值(即,生成被设定了任意的值的向量x→ 0),通过秘密计算而计算下式,生成向量p→ 0、r→ 0和值ρ0各自的隐匿值。另外,初始化部12将反复处理的索引i初始化为i=1。
【数13】
初始化部12将向量p→ 0的隐匿值输出至第一计算部13、第二计算部14、第四计算部16、以及第九计算部21。另外,将向量r→ 0的隐匿值输出至第六计算部18。进而,将值ρ0的隐匿值输出至第三计算部15以及第八计算部20。然后,将索引i输出至反复控制部22。
在步骤S13中,各秘密计算装置1n的第一计算部13通过秘密计算而计算下式,生成向量a→ i-1的隐匿值。即,将在以往的共轭梯度法中求出的向量a→ i-1的各值放大D倍而设为向量a→ i-1的各值。第一计算部13将向量a→ i-1的隐匿值输出至第二计算部14以及第六计算部18。
【数14】
在步骤S14中,各秘密计算装置1n的第二计算部14通过秘密计算而计算下式,生成值γi-1的隐匿值。即,将通过以往的共轭梯度法求出的值γi-1放大D倍而设为值γi-1。第二计算部14将值γi-1的隐匿值输出至第三计算部15。
【数15】
在步骤S15中,各秘密计算装置1n的第三计算部15通过秘密计算而计算下式,生成值αi-1的隐匿值。第三计算部15将值αi-1的隐匿值输出至第四计算部16以及第六计算部18。
【数16】
在步骤S16中,各秘密计算装置1n的第四计算部16通过秘密计算而计算下式,生成向量d→ i的隐匿值。即,将通过以往的共轭梯度法求出的向量d→ i的各值放大D倍而设为向量d→ i的各值。第四计算部16将向量d→ i的隐匿值输出至第五计算部17。
【数17】
在步骤S17中,各秘密计算装置1n的第五计算部17通过秘密计算而计算下式,生成向量xi i的隐匿值。第五计算部17将向量xi i的隐匿值输出至输出部23。
【数18】
在步骤S18中,各秘密计算装置1n的第六计算部18通过秘密计算而计算下式,生成向量r→ i的隐匿值。第六计算部18将向量r→ i的隐匿值输出至第七计算部19。
【数19】
在步骤S19中,各秘密计算装置1n的第七计算部19通过秘密计算而计算下式,生成值ρi的隐匿值。即,将通过以往的共轭梯度法求出的值ρi放大D倍而设为值ρi。第七计算部19将值ρi的隐匿值输出至第八计算部20。
【数20】
在步骤S20中,各秘密计算装置1n的第八计算部20通过秘密计算而计算下式,生成值βi的隐匿值。第八计算部20将值βi的隐匿值输出至第九计算部21。
【数21】
在步骤S21中,各秘密计算装置1n的第九计算部21通过秘密计算而计算下式,生成向量p→ i的隐匿值。第九计算部21将向量p→ i的隐匿值输出至第一计算部13、第二计算部14、以及第四计算部16。
【数22】
在步骤S22-1中,各秘密计算装置1n的反复控制部22判定i是否变为k以上,即判定i≧k的真假。其中,k是足够大的规定的整数。若i≧k假,即为i<k,则将处理进至步骤S22-2。若i≧k为真,则将处理进至步骤S23。在步骤S22-2中,各秘密计算装置1n的反复控制部22将i递增,即计算i=i+1,将处理返回步骤S13。换言之,反复控制部22对于i=1,…,k的各i,进行反复执行从第一计算部13至第九计算部21的控制。
在步骤S23中,各秘密计算装置1n的输出部23将向量x→ k的隐匿值作为Ax→=b→的解x→*=A-1b→的近似值的隐匿值输出。
[变形例]
在上述的实施方式中,说明了在秘密计算中实现共轭梯度法的情况下适用本发明的结构。可是,本发明不仅适用于秘密计算的情况,在将输入输出设为明文而1台计算机计算共轭梯度法的情况下也可以适用。在该情况下,变形例的共轭梯度法计算装置与实施方式的秘密计算装置1n同样,具有:输入部11、初始化部12、第一计算部13、第二计算部14、第三计算部15、第四计算部16、第五计算部17、第六计算部18、第七计算部19、第八计算部20、第九计算部21、反复控制部22、以及输出部23,构成为以明文进行各处理部的计算。即,只要变形例的共轭梯度法计算装置将明文的集合X和明文的向量b→设为输入,将在以往的共轭梯度法中计算的a→ i-1、γi-1、d→ i、ρi的各值放大D倍而设为a→ i-1、γi-1、d→ i、ρi的各值,输出明文的近似解x→ k即可。
<由本发明产生的效果>
在共轭梯度法中,随着矩阵的维度d变大,计算中途的值也变大。例如,在将矩阵A在纵横上排列k个,将向量b→在纵向排列了k个的情况下,a→ i、γi、αi、d→ i、x→ i、ρi的各值分别变为排列前的k倍、k2倍、k-1倍、k-1倍、k-1倍、k倍,a→ i、γi、ρi的各值也变得比原来的值大。
在实施方式的结构中,不改变近似解的值,而是对于满足|D|<1并且D≠0的任意的D,可以将计算共轭梯度法时出现的残差的平方和ρi设为D倍,将矩阵与基向量的积a→ i设为D倍,将与矩阵有关的基向量的平方和γi设为D2倍,将残差的平方和与基向量之比αi设为1/D倍,可以将a→ i、γi、ρi的各值抑制得小。
按照本发明,如上述的例子那样,例如即使在将矩阵A在纵横上排列k个,将向量b→在纵向上排列了k个的情况下,通过设定为D=1/k,a→ i、γi、αi、d→ i、x→ i、ρi的各值可以设为分别排列前的1倍、1倍、1倍、k-1倍、k-1倍、1倍。由此,不改变解的值而可以将中途的值压低至原来的值以下,所以产生溢出的概率降低。
以上,说明了发明的实施方式,但是具体的结构不限于这些实施方式,不言而喻,在不脱离本发明的宗旨的范围内即使有适当设计的变更等,也包含在本发明中。在实施方式中说明的各种的处理不仅按照记载的顺序时间序列地被执行,也可以根据执行处理的装置的处理能力或者根据需要而并行地或者单独地被执行。
[程序、记录介质]
在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,通过程序记述各装置应有的功能的处理内容。然后,使该程序读入图4所示的计算机的存储部1020中,通过使控制部1010、输入部1030、输出部1040等动作,在计算机上实现上述各装置中的各种处理功能。
记述了该处理内容的程序可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任何介质。
而且,该程序的流通例如通过销售、转让、租借等记录了该程序的DVD、CD-ROM等可拆装型记录介质来进行。进而,也可以设为将该程序存储在服务器计算机的存储装置中,经由网络,将该程序从服务器计算机转发到其它计算机,从而使该程序流通的结构。
执行这样的程序的计算机例如首先将可拆装型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的存储装置中存储的程序,执行按照读取的程序的处理。而且,作为该程序的其它执行方式,计算机也可以从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次从服务器计算机对该计算机转发程序时,逐次执行按照接受的程序的处理。而且,也可以设为通过不进行从服务器计算机向该计算机的程序的转发,仅通过该执行指令和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。而且,本方式中的程序中,包含供电子计算机的处理用的信息即基于程序的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
另外,在本方式中,设为通过在计算机上执行规定的程序来构成本装置,但是也可以硬件地实现这些处理内容的至少一部分。
Claims (6)
1.一种秘密共轭梯度法计算系统,
将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为根据矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,
所述秘密共轭梯度法计算系统包含多个秘密计算装置,将上述集合X的隐匿值和上述向量b→的隐匿值设为输入,求Ax→=b→的解x→*的近似解x→ k,
上述秘密计算装置包含:
初始化部,通过秘密计算而计算下式,生成向量p→ 0、r→ 0和值ρ0各自的隐匿值,
第一计算部,通过秘密计算而计算下式,生成向量a→ i-1的隐匿值,
第二计算部,通过秘密计算而计算下式,生成值γi-1的隐匿值,
第三计算部,通过秘密计算而计算下式,生成值αi-1的隐匿值,
第四计算部,通过秘密计算而计算下式,生成向量d→ i的隐匿值,
第五计算部,通过秘密计算而计算下式,生成向量x→ i的隐匿值,
第六计算部,通过秘密计算而计算下式,生成向量r→ i的隐匿值,
第七计算部,通过秘密计算而计算下式,生成值ρi的隐匿值,
第八计算部,通过秘密计算而计算下式,生成值βi的隐匿值,
以及
第九计算部,通过秘密计算而计算下式,生成向量p→ i的隐匿值,
2.一种秘密计算装置,
将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为根据矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,
所述秘密计算装置是将上述集合X的隐匿值和上述向量b→的隐匿值设为输入,求Ax→=b→的解x→*的近似解x→ k的秘密共轭梯度法计算系统中使用的秘密计算装置,
所述秘密计算装置包括:
初始化部,通过秘密计算而计算下式,生成向量p→ 0、r→ 0和值ρ0各自的隐匿值,
第一计算部,通过秘密计算而计算下式,生成向量a→ i-1的隐匿值,
第二计算部,通过秘密计算而计算下式,生成值γi-1的隐匿值,
第三计算部,通过秘密计算而计算下式,生成值αi-1的隐匿值,
第四计算部,通过秘密计算而计算下式,生成向量d→ i的隐匿值,
第五计算部,通过秘密计算而计算下式,生成向量x→ i的隐匿值,
第六计算部,通过秘密计算而计算下式,生成向量r→ i的隐匿值,
第七计算部,通过秘密计算而计算下式,生成值ρi的隐匿值,
第八计算部,通过秘密计算而计算下式,生成值βi的隐匿值,
以及
第九计算部,通过秘密计算而计算下式,生成向量p→ i的隐匿值,
3.一种共轭梯度法计算装置,
将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为根据矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,
共轭梯度法计算装置将上述集合X和上述向量b→设为输入,求Ax→=b→的解x→*的近似解x→ k,
所述共轭梯度法计算装置包括:
初始化部,计算下式而生成向量p→ 0、r→ 0和值ρ0,
第一计算部,计算下式而生成向量a→ i-1,
第二计算部,计算下式而生成值γi-1,
第三计算部,计算下式而生成值αi-1,
第四计算部,计算下式而生成向量d→ i,
第五计算部,计算下式而生成向量x→ i,
第六计算部,计算下式而生成向量r→ i,
第七计算部,计算下式而生成值ρi,
第八计算部,计算下式而生成值βi,
以及
第九计算部,计算下式而生成向量p→ i,
4.一种秘密共轭梯度法计算方法,
将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为根据矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,
秘密共轭梯度法计算方法是,包含多个秘密计算装置,将上述集合X的隐匿值和上述向量b→的隐匿值设为输入,求Ax→=b→的解x→*的近似解x→ k的秘密共轭梯度法计算系统执行的秘密共轭梯度法计算方法,
各秘密计算装置的初始化部通过秘密计算而计算下式,生成向量p→ 0、r→ 0和值ρ0各自的隐匿值,
各秘密计算装置的第一计算部通过秘密计算而计算下式,生成向量a→ i-1的隐匿值,
各秘密计算装置的第二计算部通过秘密计算而计算下式,生成值γi-1的隐匿值,
各秘密计算装置的第三计算部通过秘密计算而计算下式,生成值αi-1的隐匿值,
各秘密计算装置的第四计算部通过秘密计算而计算下式,生成向量d→ i的隐匿值,
各秘密计算装置的第五计算部通过秘密计算而计算下式,生成向量x→ i的隐匿值,
各秘密计算装置的第六计算部通过秘密计算而计算下式,生成向量r→ i的隐匿值,
各秘密计算装置的第七计算部通过秘密计算而计算下式,生成值ρi的隐匿值,
各秘密计算装置的第八计算部通过秘密计算而计算下式,生成值βi的隐匿值,
以及
各秘密计算装置的第九计算部通过秘密计算而计算下式,生成向量p→ i的隐匿值,
5.一种共轭梯度法计算方法,
将X设为用于计算d维的实对称正定值矩阵A和d维向量的积的值的集合,将b→设为d维向量,将f设为根据矩阵X和d维向量x→计算Ax→的函数,将k设为d以下的整数,将i设为从1至k的各整数,将x→ 0设为被设定了任意的值的d维向量,将D设为绝对值小于1并且0以外的值,
所述共轭梯度法计算方法是将上述集合X和上述向量b→设为输入,求Ax→=b→的解x→*的近似解x→ k的共轭梯度法计算装置执行的共轭梯度法计算方法,
初始化部计算下式而生成向量p→ 0、r→ 0和值ρ0,
第一计算部计算下式而生成向量a→ i-1,
第二计算部计算下式而生成值γi-1,
第三计算部计算下式而生成值αi-1,
第四计算部计算下式而生成向量d→ i,
第五计算部计算下式而生成向量x→ i,
第六计算部计算下式而生成向量r→ i,
第七计算部计算下式而生成值ρi,
第八计算部计算下式而生成值βi,
以及
第九计算部计算下式而生成向量p→ i,
6.一种计算机可读取的记录介质,记录了用于使计算机作为权利要求2所述的秘密计算装置或者权利要求3所述的共轭梯度法计算装置发挥功能的程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/022701 WO2020246018A1 (ja) | 2019-06-07 | 2019-06-07 | 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113924610A CN113924610A (zh) | 2022-01-11 |
CN113924610B true CN113924610B (zh) | 2024-02-20 |
Family
ID=73653099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980097140.6A Active CN113924610B (zh) | 2019-06-07 | 2019-06-07 | 秘密共轭梯度法计算系统及方法、秘密计算装置、共轭梯度法计算装置及方法、以及记录介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220318338A1 (zh) |
EP (1) | EP3982350B1 (zh) |
JP (1) | JP7205623B2 (zh) |
CN (1) | CN113924610B (zh) |
AU (1) | AU2019449126B2 (zh) |
WO (1) | WO2020246018A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022254599A1 (ja) * | 2021-06-02 | 2022-12-08 | 日本電信電話株式会社 | 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1069498A2 (en) * | 1999-07-16 | 2001-01-17 | Matsushita Electric Industrial Co., Ltd. | Apparatus for solving system of equations on finite field and apparatus for inverting element of extension field |
JP2008269329A (ja) * | 2007-04-20 | 2008-11-06 | Murata Mfg Co Ltd | 連立一次方程式の解を反復的に決定する方法 |
JP2011145512A (ja) * | 2010-01-15 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 鍵生成装置、鍵生成方法、プログラム及び記録媒体 |
JP2013149056A (ja) * | 2012-01-19 | 2013-08-01 | Fujitsu Ltd | 名寄せ処理方法、装置及びプログラム |
JP2014081475A (ja) * | 2012-10-16 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム |
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
JP2018013608A (ja) * | 2016-07-21 | 2018-01-25 | 日本電信電話株式会社 | 秘匿計算システム、第一秘匿計算装置、第二秘匿計算装置、秘匿回路生成方法、秘匿回路評価方法、プログラム |
CN109328377A (zh) * | 2016-07-06 | 2019-02-12 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、以及程序 |
CN109416894A (zh) * | 2016-07-06 | 2019-03-01 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法以及程序 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006227939A (ja) * | 2005-02-17 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 演算装置 |
JP5570228B2 (ja) * | 2010-01-18 | 2014-08-13 | キヤノン株式会社 | 連立一次方程式の計算方法及び装置 |
GB2523342A (en) * | 2014-02-20 | 2015-08-26 | Ibm | Conjugate gradient solvers for linear systems |
JP6540725B2 (ja) * | 2017-01-30 | 2019-07-10 | 富士通株式会社 | 演算処理装置、方法、およびプログラム |
-
2019
- 2019-06-07 AU AU2019449126A patent/AU2019449126B2/en active Active
- 2019-06-07 US US17/616,192 patent/US20220318338A1/en active Pending
- 2019-06-07 CN CN201980097140.6A patent/CN113924610B/zh active Active
- 2019-06-07 EP EP19931696.9A patent/EP3982350B1/en active Active
- 2019-06-07 WO PCT/JP2019/022701 patent/WO2020246018A1/ja active Application Filing
- 2019-06-07 JP JP2021524633A patent/JP7205623B2/ja active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1069498A2 (en) * | 1999-07-16 | 2001-01-17 | Matsushita Electric Industrial Co., Ltd. | Apparatus for solving system of equations on finite field and apparatus for inverting element of extension field |
JP2001092807A (ja) * | 1999-07-16 | 2001-04-06 | Matsushita Electric Ind Co Ltd | 有限体上の連立方程式求解装置及び逆元演算装置 |
JP2008269329A (ja) * | 2007-04-20 | 2008-11-06 | Murata Mfg Co Ltd | 連立一次方程式の解を反復的に決定する方法 |
JP2011145512A (ja) * | 2010-01-15 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 鍵生成装置、鍵生成方法、プログラム及び記録媒体 |
JP2013149056A (ja) * | 2012-01-19 | 2013-08-01 | Fujitsu Ltd | 名寄せ処理方法、装置及びプログラム |
JP2014081475A (ja) * | 2012-10-16 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム |
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
CN109328377A (zh) * | 2016-07-06 | 2019-02-12 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、以及程序 |
CN109416894A (zh) * | 2016-07-06 | 2019-03-01 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法以及程序 |
JP2018013608A (ja) * | 2016-07-21 | 2018-01-25 | 日本電信電話株式会社 | 秘匿計算システム、第一秘匿計算装置、第二秘匿計算装置、秘匿回路生成方法、秘匿回路評価方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
AU2019449126A1 (en) | 2022-01-06 |
WO2020246018A1 (ja) | 2020-12-10 |
CN113924610A (zh) | 2022-01-11 |
EP3982350B1 (en) | 2023-12-13 |
JPWO2020246018A1 (zh) | 2020-12-10 |
EP3982350A1 (en) | 2022-04-13 |
EP3982350A4 (en) | 2022-12-28 |
JP7205623B2 (ja) | 2023-01-17 |
US20220318338A1 (en) | 2022-10-06 |
AU2019449126B2 (en) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199338B (zh) | 秘密计算系统、秘密计算装置、秘密计算方法、记录介质 | |
CN110199339B (zh) | 秘密计算系统、秘密计算装置、秘密计算方法、记录介质 | |
CN112805769B (zh) | 秘密s型函数计算系统、装置、方法及记录介质 | |
JP6534778B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
CN113924610B (zh) | 秘密共轭梯度法计算系统及方法、秘密计算装置、共轭梯度法计算装置及方法、以及记录介质 | |
CN109416894B (zh) | 秘密计算系统、秘密计算装置、秘密计算方法及记录介质 | |
CN111194448A (zh) | 伪数据生成装置及其方法和程序 | |
CN111133495B (zh) | 秘密读取装置、秘密写入装置、它们的方法以及记录介质 | |
JP7067625B2 (ja) | 秘密結合システム、この方法、秘密計算装置及びプログラム | |
US6633896B1 (en) | Method and system for multiplying large numbers | |
US10050775B2 (en) | Element replication device, element replication method, and program | |
JP7020555B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2016056502A1 (ja) | 非減少列判定装置、非減少列判定方法及びプログラム | |
WO2016056503A1 (ja) | 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム | |
WO2022254599A1 (ja) | 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム | |
WO2022113180A1 (ja) | 計算方法、計算装置およびプログラム | |
JP7067624B2 (ja) | 秘密強写像計算システム、これらの方法、秘密計算装置及びプログラム | |
WO2022270080A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
Gorodecky et al. | Two-Operand Modular Multiplication to Small Bit Ranges | |
RU2572423C2 (ru) | Способ формирования s-блоков с минимальным количеством логических элементов | |
WO2020250269A1 (ja) | 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム | |
JP2022129207A (ja) | 情報処理プログラム、情報処理方法および情報処理装置 | |
CN114945964A (zh) | 秘密最大值计算装置、方法及程序 | |
JP2024013184A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム | |
CN114981860A (zh) | 秘密计算装置、秘密计算方法、以及程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |