CN116368549A - 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序 - Google Patents
秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序 Download PDFInfo
- Publication number
- CN116368549A CN116368549A CN202080106103.XA CN202080106103A CN116368549A CN 116368549 A CN116368549 A CN 116368549A CN 202080106103 A CN202080106103 A CN 202080106103A CN 116368549 A CN116368549 A CN 116368549A
- Authority
- CN
- China
- Prior art keywords
- max
- share
- secret
- unifying
- floating point
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供有效地统一浮点的指数部的秘密计算技术。为根据浮点向量的份额([[→a]]P,[[→ρ]]Q)(→a=(a0,…,am‑1),→ρ=(ρ0,…,ρm‑1)),计算统一了指数部的浮点向量的份额([[→b]]P,[[→ρmax]]Q)(→b=(b0,…,bm‑1),→ρmax=(ρmax,…,ρmax)(ρmax=max{ρ0,…,ρm‑1}),满足2ρ_iai≒2ρ_maxbi)的秘密指数部统一系统,包括:尾数部计算单元,根据份额[[→a]]P的第i元素和将份额[[→ρdif]]Q=[[→ρ]]Q‑[[→ρmax]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素,计算数值bi的份额[[bi]]P(bi=2‑ρ_dif,iai),由此计算份额[[→b]]P。
Description
技术领域
本发明涉及秘密计算技术,特别是涉及在秘密计算中进行多个浮点的指数部统一运算的技术。
背景技术
秘密计算是指不恢复加密的数值而得到指定的运算的结果的方法(例如参照参考非专利文献1)。在参考非专利文献1的方法中,进行将能够恢复数值的多个信息分散在3个秘密计算装置中的加密,能够不恢复数值,而保持将加减运算、常数和、乘法运算、常数倍、逻辑运算(否定、逻辑积、逻辑和、异或)、数据形式转换(整数、二进制)的结果分散在3个秘密计算装置中的状态、即保持被加密的状态。通常,分散数并不局限于3,能够为W(W是3以上的规定的常数),通过W个秘密计算装置进行的协调计算而实现秘密计算的协议被称为多方协议。
(参考非专利文献1:千田浩司、滨田浩气、五十岚大、高桥克巳、“可轻量验证3方隐匿函数计算的再思考,”In CSS,2010.)
以往,作为与进行浮点运算的秘密计算的协议、与安装相关的文献,具有非专利文献1、非专利文献2。为了计算浮点之和,需要统一作为加法的对象的浮点的指数部。
现有技术文献
非专利文献
非专利文献1:天田拓磨、奈良成泰、西出隆志、吉浦裕,“用于削减通信量的浮点运算的多方计算,”信息处理学会论文杂志,Vol.60,No.9,pp.1433-1447,2019.
非专利文献2:Randmets,J.,“Programming Languages for Secure Multi-partyComputation Application Development,”PhD thesis.University of Tartu,2017.
发明内容
发明要解决的课题
其中,保持隐匿性地统一浮点的指数部的方法存在效率差的问题。
因此,本发明的目的在于提供一种效率地统一浮点的指数部的秘密计算技术。
用于解决课题的手段
本发明的一个方式是一种秘密指数部统一系统,设P为素数,设Q为剩余类环的位数,由3个以上的秘密指数部统一装置构成,根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))计算统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_maxbi(0≦i<m)),其中,包括:最大值计算单元,根据份额[[→ρ]]Q,计算份额[[ρmax]]Q;差分计算单元,根据份额[[→ρ]]Q和份额[[ρmax]]Q,计算份额[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q,尾数部计算单元,根据份额[[→a]]P和份额[[→ρdif]]Q,对于满足0≦i<m的i,根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ_dif,iai),由此计算份额[[→b]]P=([[b0]]P,[[b1]]P,…,[[bm-1]]P);以及输出单元,根据份额[[→b]]P和份额[[ρmax]]Q,生成份额([[→b]]P,[[→ρmax]]Q)。
发明的效果
根据本发明,能够保持隐匿性而效率地统一浮点的指数部。
附图说明
图1是表示秘密指数部统一系统10的结构的框图。
图2是表示秘密指数部统一装置100i的结构的框图。
图3是表示秘密指数部统一系统10的动作的流程图。
图4是表示秘密和计算系统20的结构的框图。
图5是表示秘密和计算装置200i的结构的框图。
图6是表示秘密和计算系统20的动作的流程图。
图7是表示秘密积和计算系统30的结构的框图。
图8是表示秘密积和计算装置300i的结构的框图。
图9是表示秘密积和计算系统30的动作的流程图。
图10是表示实现本发明的实施方式中的各装置的计算机的功能结构的一个例子的图。
具体实施方式
以下,详细地对本发明的实施方式进行说明。此外,对具有相同的功能的结构部标注相同的编号,并省略重复说明。
在说明各实施方式之前,对本说明书中的表述方法进行说明。
^(插入符号)表示上标。例如,xy^z表示yz是对于x的上标,xy^z表示yz是对于x的下标。另外,_(下划线)表示下标。例如,xy_z表示yz是对于x的上标,xy_z表示yz是对于x的下标。
另外,对于某个文字x的^x、~x那样的上标的“^”、“~”本来应该记载在“x”的正上方,但由于说明书的记载标记的限制,记载为^x、~x。
<技术背景>
本发明的各实施方式中的秘密计算使用现有的秘密计算上的协议来构建。这里,首先对记法进行说明。
《记法》
设P为素数。例如,设默森素数P=261-1即可。设p为素数P的比特数。此外,也有时表示为p=|P|。当P为默森素数时,p为素数。例如,若P=261-1,则p=61。另外,设Q为剩余类环的位数。位数Q作为素数P、其比特数p来使用。另外,位数Q能够用于浮点的指数部。在将位数Q用于浮点的指数部的情况下,例如,能够设Q=213-1。
设k为秘密分散的阈值。例如,设k=2即可。另外,设n为秘密分散的分散数(即,秘密计算的方(party)数)。例如,设n=3即可。
[[x]]y表示对mod y元素x进行(k,n)-秘密分散而得到的份额。作为秘密分散的方法,例如,能够使用Shamir秘密分散、复制秘密分散。以下,将对mod y元素x进行(k,n)-复制秘密分散而得到的份额用<<x>>y表示。由于(k,n)-复制秘密分散是(k,n)-秘密分散,因此能够适用于(k,n)-秘密分散后的份额的协议也能够适用于(k,n)-复制秘密分散后的份额。此外,将份额表示为<<x>>y时,意味着利用了复制秘密分散的性质。另外,特别是(k,k)-复制秘密分散被称为(k,k)-加法秘密分散。以下,将对mod y元素x进行(k,k)-加法秘密分散而得到的份额用<x>y表示。
[[x]]2^m表示将m个[[x]]2的形式的份额进行排列了的份额。此外,也有时将[[x]]2^m看作数值的比特表示。
x≒y表示x和y作为计算机上的实数相等。即,表示x和y的差在一定的误差范围内。
对于2个数a、d,a/d表示舍去小数点以下的整数除算的值。因此,基于2的幂数的整数除算等效于右移。另外,对于2个数a、d(a/d)Re表示实数除算的值。
对于数a,ceiling(a)表示a以上的最小的整数。
(prop)表示在命题prop成立的情况下取1,在不成立的情况下取0为值。例如,(1>0)为1。
将浮点2ba(其中,a、b分别表示尾数部、指数部)表示为浮点(a,b)。另外,将m个浮点2b_0a0,2b_1a1,…,2b_m-1am-1(其中,ai,bi(0≦i<m)分别表示尾数部、指数部)表示为浮点向量(→a,→b)(其中,→a=(a0,a1,…,am-1),→b=(b0,b1,…,bm-1))。也有时将向量→a=(a0,a1,…,am-1)的长度m表示为|→a|。
《现有的秘密计算协议》
首先,对本发明中使用的现有的秘密计算协议进行说明。关于加减运算、常数和、乘法运算、常数倍、逻辑运算(否定、逻辑积、逻辑和、异或)、数据形式转换(整数、二进制)、指数函数的计算使用现有的协议。除此之外,作为本发明中使用的现有的协议使用以下的协议。
[从(k,n)-秘密分散(复制秘密分散)向(k,k)-加法秘密分散的转换]
输入:数值x的份额[[x]]y(数值x的份额<<x>>y)
输出:数值x的份额<x>y
具体而言,具有参考非专利文献2记载的方法。
(参考非专利文献2:Kikuchi,R.,Ikarashi,D.,Matsuda,T.,Hamada,K.andChida,K.,“Efficient Bit-Decomposition and Modulus-Conversion Protocols withan Honest Majority,”23rd Australasian Conference on Information Security andPrivacy(ACISP 2018),Lecture Notes in Computer Science,Vol.10946,Springer,pp.64-82,2018.)
[从(k,k)-加法秘密分散向(k,n)-秘密分散(复制秘密分散)的转换]
输入:数值x的份额<x>y
输出:数值x的份额[[x]]y(数值x的份额<<x>>y)
具体而言,具有参考非专利文献2记载的方法。
[mod 2→mod q转换]
输入:数值x的份额[[x]]2(数值x的份额<<x>>2)
输出:数值x的份额[[x]]q(数值x的份额<<x>>q)
具体而言,具有参考非专利文献2记载的方法。
[移位量公开右移位]
输入:数值x的份额[[x]]q,移位量ρ
输出:将数值x右移位ρ比特而得到的数值的份额[[x/2ρ]]q
具体而言,具有参考非专利文献3记载的方法。
(参考非专利文献3:三品气吹、五十岚大、滨田浩气、菊池亮,“高精度且高效率的秘密逻辑回归的设计与安装,”CSS2018,2018.)
[总移位量公开右移位]
输入:数值x的份额[[x]]q,移位量ρ0,…,ρm-1
输出:将数值x右移位ρ0比特,…,ρm-1比特而得到的数值的份额[[x/2ρ_0]]q,…,[[x/2ρ_m-1]]q
具体而言,具有参考非专利文献4记载的方法。
(参考非专利文献4:五十岚大,“超过M op/s的秘密计算上的初等函数群,”SCIS2020,2020.)
此外,作为显而易见的方法,也能够通过移位量公开右移位的反复,而构成总移位量公开右移位。
[使用商转移的模量转换]
输入:数值x的份额<<x>>q
输出:数值x的份额<<x>>r
具体而言,具有参考非专利文献2记载的方法。
[比特分解]
输入:数值x的份额[[x]]q
参数:被输入的数值的最大比特数M
输出:数值x的份额[[x]]2^M
具体而言,具有参考非专利文献2记载的方法。
《本发明的秘密计算协议》
接着,对本发明的秘密计算协议进行说明。
[乘法轮转(rotation)(移位量隐匿左移位)]
输入:数值a的份额[[a]]P,轮转量(移位量)ρ(≥0)的份额<<ρ>>p
输出:将数值a左移位ρ比特而得到的数值的份额[[2ρa]]P
成为输出的份额也能够通过利用乘法、指数函数计算的协议等而计算,但也能够通过利用了随机置换(参照参考非专利文献5)的想法的方法而计算。作为具体例,对n=3的情况进行说明。
(参考非专利文献5:五十岚大、滨田浩气、菊池亮、千田浩司,“以网络环境响应1秒的统计处理为目标的秘密计算基数排序的改进,”SCIS2014,2014.)
(第一轮)
步骤1:将份额[[a]]P转换为方0、方1具有份额的(k,k)-加法秘密分散<a>P。
步骤2:方0、方1预先共享随机数r01。另外,方1、方2预先共享随机数r12。
步骤3:方0计算b0=2(<<ρ>>^p)_01<a>P 0-r01,将b0发送至方2。
这里,<<ρ>>p 01表示方0、方1关于份额<<ρ>>p保持的份额。另外,<a>P 0表示方0关于份额<a>P保持的份额。
步骤4:方1计算b1=2(<<ρ>>^p)_12(2(<<ρ>>^p)_01<a>P 1+r01)-r12,将b1发送至方0。
这里,<<ρ>>p 12关于份额<<ρ>>p表示方1、方2保持的份额。另外,<a>P 1表示方1关于份额<a>P保持的份额。
(第二轮)
步骤5:方0计算<c>P 0=2(<<ρ>>^p)_20b1。
这里,<<ρ>>p 20表示方2、方0关于份额<<ρ>>p保持的份额。
步骤6:方2计算<c>P 2=2(<<ρ>>^p)_20(2(<<ρ>>^p)_12b0+r12)。
(第三轮)
步骤7:将份额<c>P转换为(k,n)-秘密分散的份额[[c]]P。
这里,c=2ρa成立。
[移位量隐匿右移位]
输入:数值a的份额[[a]]P,移位量ρ的份额<<ρ>>p
参数:移位量的上限值M
其中,0≤ρ≤M,将数值a设为左移位M比特而得到的数值2Ma不溢位。
输出:将数值a右移位ρ比特而得到的数值的份额[[a/2ρ]]P
步骤1:计算<<M-ρ>>p。
步骤2:利用乘法轮转,计算将数值a左移位M-ρ比特而得到的数值的份额[[2M-ρa]]P。
步骤3:利用移位量公开右移位,计算将数值2M-ρa右移位M比特而得到的数值的份额[[a/2ρ]]P=[[2M-ρa/2M]]P。
[移位量隐匿移位(其1)]
输入:数值a的份额[[a]]P,移位量ρ的份额<<ρ>>Q(其中,设为在ρ≥0的情况下表示左移位,在ρ<0的情况下表示右移位)
参数:被输入的数值的MSB(Most Significant Bit)位置的可取的上限值M
输出:将数值a位移ρ比特而得到的数值s的份额[[s]]P
这里,s=2ρa成立。
步骤1:利用模量转换,计算份额<<ρ>>p。模量转换例如能够利用使用上述的商转移的模量转换。
步骤2:通过大小比较,计算[[fL]]2=[[(ρ≥0)]]2。
步骤3:利用mod 2→mod p转换,计算<<fL>>p。
步骤4:计算<<ρ’>>p=<<ρ>>p+M-M<<fL>>p。
步骤5:利用乘法轮转,计算[[b]]P=[[2ρ’a]]P。
步骤6:利用移位量公开右移位,计算[[c]]P=[[2ρ’a/2M]]P。
步骤7:利用mod 2→mod P转换,计算[[fL]]P。
步骤8:计算[[s]]P=[[c]]P+([[b]]P-[[c]]P)[[fL]]P。
该式为选择门,在ρ<0的情况下,为s=c,在≥0的情况下,为s=b。
[移位量隐匿移位(其2)]
输入:数值a的份额[[a]]P,移位量ρ的份额<<ρ>>Q(其中,设为在ρ≥0的情况下表示左移位,在ρ<0的情况下表示右移位)
参数:被输入的数值的MSB位置的可取的上限值M,份额允许的MSB位置的上限值M’
输出:将数值a位移ρ比特而得到的数值s的份额[[s]]P
这里,s=2ρa成立。
步骤1:计算u=M’-M+1,d=ceiling(((M-1)/u)Re)。
这里,u是通过一次的移位量隐匿右移位能够覆盖的右移位量(具体而言,1到M’-M比特的范围的量),d是进行1到M-1位的范围的右移位所需的移位量隐匿右移位的执行次数。
步骤2:利用模量转换,计算份额<<ρ>>p。模量转换例如能够利用使用上述的商转移的模量转换。
步骤3:通过大小比较,计算[[f0]]2=[[(ρ≥-M+1)]]2,[[f1]]2=[[(ρ≥-M+1+u)]]2,…,[[fd-1]]2=[[(ρ≥-M+1+(d-1)u)]]2,[[fL]]2=[[(ρ≥0)]]2
这里,如果是fL,则fd-1成立,如果是fd-1,则fd-2,…成立。将具有这样的性质的f0,f1,…,fd-1,fL称为推移标志。
步骤4:利用mod 2→mod p转换,计算<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p。
在本步骤中,不需要<<f0>>p的计算。
步骤5:计算<<ρ’>>p=<<ρ>>p+M-1-u(Σ1≦i<d<<fi>>p)+((d-1)u-M+1)<<fL>>p。
步骤6:利用乘法轮转,计算[[b]]P=[[2ρ’a]]P。
步骤7:利用总移位量公开右移位,计算[[c0]]P=[[2ρ’a/2M-1]]P,[[c1]]P=[[2ρ’a/(2M-1-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2M-1-(d-1)u)]]P。
步骤8:利用mod 2→mod P转换,计算[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P。
在本步骤中,需要计算[[f0]]p。
步骤9:计算[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P。
该式为针对推移标志f0,f1,…,fd-1,fL的选择门,如果f0,f1,…,fd-1,fL全部为0,则s=0,如果f0,则s=c0,如果f1,则s=c1,…,如果fL,则s=b。
[移位量隐匿移位(其3)]
输入:数值a的份额[[a]]P,移位量ρ的份额<<ρ>>Q(其中,设为在ρ≥0的情况下表示左移位,在ρ<0的情况下表示右移位)
参数:被输入的数值的MSB位置的可取的上限值M,份额允许的MSB位置的上限值M’
输出:将数值a位移ρ比特而得到的数值s的份额[[s]]P
这里,s=2ρa成立。
步骤1:将u设为满足u≦M’-M+1的整数。另外,将[R,R’]设为由分割后的右移位覆盖的右移位量的范围,将d设为满足d≥ceiling(((R’-R+1)/u)Re)的整数。
以下,{}L表示在也可以不考虑大于-R的移位量的情况下(例如,在知道是右移位的情况下),能够省略由该括号围起来的部分的计算。另外,{}0表示在也可以不考虑小于-R’的移位量的情况下(例如,在知道右移位量大于移位量隐匿移位(其1)能够应用的值但不是极端大的值的情况下),能够省略由该括号围起来的部分的计算。
步骤2:利用模量转换,计算份额<<ρ>>p。模量转换例如能够利用使用上述的商转移的模量转换。
步骤3:通过大小比较,计算{[[f0]]2=[[(ρ≥-R’)]]2,}0[[f1]]2=[[(ρ≥-R’+u)]]2,…,[[fd-1]]2=[[(ρ≥-R’+(d-1)u)]]2{,[[fL]]2=[[(ρ≥-R+1)]]2}L。
这里,如果是fL,则fd-1成立,如果是fd-1,则fd-2,…成立。将具有这样的性质的f0,f1,…,fd-1,fL称为推移标志。
步骤4:利用mod 2→mod p转换,计算<<f1>>p,<<f2>>p,…,<<fd-1>>p{,<<fL>>p}L
步骤5:计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p){+((d-1)u-R’)<<fL>>p}L。
步骤6:利用乘法轮转,计算[[b]]P=[[2ρ’a]]P。
步骤7:利用总移位量公开右移位,计算{[[c0]]P=[[2ρ’a/2R’]]P,}0[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P。
步骤8:利用mod 2→mod P转换,计算{[[f0]]P,}0[[f1]]P,…,[[fd-1]]P{,[[fL]]P}L。
步骤9:计算[[s]]P={[[c0]]P[[f0]]P+(}0[[c1]]P{-[[c0]]P)}0[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P{+([[b]]P-[[cd-1]]P)[[fL]]P}L。
该式为针对推移标志f0,f1,…,fd-1,fL的选择门,如果f0,f1,…,fd-1,fL全部为0,则s=0,如果f0,则s=c0,如果f1,则为c1,…,如果fL,则s=b。
此外,若设为R=1,R’=M-1,u=M’-M+1,d=ceiling(((R’-R+1)/u)Re),则移位量隐匿移位(其3)成为移位量隐匿移位(其2)。由此,移位量隐匿移位(其3)是将移位量隐匿移位(其2)一般化的协议。
[最大值计算]
输入:向量→a的份额[[→a]]Q(其中,→a=(a0,a1,…,am-1),ai(0≦i<m)是比特表示的整数)
参数:被输入的数值的最大比特数M
输出:最大值amax的份额[[amax]]Q(其中,amax=max{a0,a1,…,am-1})
步骤1:计算作为ai(0≦i<m)的最左比特ai,M-1(0≦i<m)的OR的amax,M-1的份额[[amax,M-1]]Q(其中,amax,M-1=a0,M-1OR a1,M-1OR…OR am-1,M-1)。
步骤2:对于0≦i<m,计算[[ei,M-1]]Q=[[ai,M-1XOR amax,M-1]]Q。
步骤3:for j=M-2 to 0 do
步骤3-1:对于0≦i<m,计算[[bi,j]]Q=[[ai,j∧ei,j+1]]Q。
步骤3-2:计算作为bi,j(0≦i<m)的OR的amax,j的份额[[amax,j]]Q(其中,amax,j=b0, jOR b1,j OR…OR bm-1,j)
步骤3-3:对于0≦i<m,计算[[e’i,j]]Q=[[ei,j+1∧¬amax,j]]Q
步骤3-4:对于0≦i<m,计算[[ei,j]]Q=[[bi,jXOR e’i,j]]Q。
步骤4:生成amax=amax,M-1amax,M…amax,0(amax,M-1amax,M…amax,0是将amax,j设为从右起第j位的比特的比特表示)。
此外,在执行了上述的比特分解后执行本协议的情况下,设Q=2即可。
[浮点向量的指数部统一]
输入:浮点数向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))
输出:统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m))
这里,2ρ_iai≒2ρ_maxbi(0≦i<m)成立。
步骤1:利用最大值计算,根据[[→ρ]]Q得到[[ρmax]]Q。
步骤2:计算[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q。
步骤3:利用移位量隐匿移位(其2)或移位量隐匿移位(其3),根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ_dif, iai),由此计算份额[[→b]]P=([[b0]]P,[[b1]]P,…,[[bm-1]]P)。
步骤4:生成份额([[→b]]P,[[→ρmax]]Q)。
[浮点向量和]
输入:浮点数向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))
参数:向量长m
输出:作为浮点向量(→a,→ρ)的元素的浮点之和即浮点(b,σ)的份额([[b]]P,[[σ]]Q)
这里,Σ0≦i<m2ρ_iai≒2σb成立。
步骤1:利用浮点向量的指数部统一,计算统一了份额([[→a]]P,[[→ρ]]Q)的元素的指数部的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_max a’i(0≦i<m))。
步骤2:计算份额([[b]]P,[[σ]]Q)(其中,b=Σ0≦i<ma’i,σ=ρmax)。
[浮点向量积和]
输入:浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),浮点向量(→b,→σ)的份额([[→b]]P,[[→σ]]Q)(其中,→b=(b0,b1,…,bm-1),→σ=(σ0,σ1,…,σm-1))
参数:向量长m
输出:作为浮点向量(→a,→ρ)的元素的浮点与作为浮点向量(→b,→σ)的元素的浮点的积和即浮点(c,τ)的份额([[c]]P,[[τ]]Q)
这里,Σ0≦i<m2ρ_i+σ_iaibi≒2τc成立。
步骤1:利用浮点向量的指数部统一,计算统一了份额([[→a]]P,[[→ρ]]Q)的元素的指数部的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_max a’i(0≦i<m)),计算统一了份额([[→b]]P,[[→σ]]Q)的元素的指数部的份额([[→b’]]P,[[→σmax]]Q)(其中,→b’=(b’0,b’1,…,b’m-1),→σmax=(σmax,σmax,…,σmax)(其中,σmax=max{σ0,σ1,…,σm-1},|→σmax|=m),满足2σ_ibi≒2σ_maxb’i(0≦i<m))。
步骤2:计算份额([[c]]P,[[τ]]Q)(其中,c=Σ0≦i<ma’ib’i,τ=ρmax+σmax)。
<第一实施方式>
以下,参照图1~图3对秘密指数部统一系统10进行说明。图1是表示秘密指数部统一系统10的结构的框图。秘密指数部统一系统10包括W个(W是3以上的规定的整数)的秘密指数部统一装置1001,…,100W。秘密指数部统一装置1001,…,100W与网络800连接,能够相互通信。网络800例如可以是互联网等通信网络或者广播通道等。图2是表示秘密指数部统一装置100i(1≤i≤W)的结构的框图。图3是表示秘密指数部统一系统10的动作的流程图。
如图2所示,秘密指数部统一装置100i包括最大值计算部110i、差分计算部120i、尾数部计算部130i、输出部140i以及记录部190i。除记录部190i以外的秘密指数部统一装置100i的各结构部构成为,能够执行秘密计算中所需的运算,即在实现<技术背景>中说明的协议中的各结构部的功能上所需的运算。在本发明中用于实现各个运算的具体的功能结构例如是能够执行在参考非专利文献1~5分别公开的算法那样的结构就足够了,它们是现有结构,因此省略详细的说明。另外,记录部190i是记录秘密指数部统一装置100i的处理所需的信息的结构部。
通过W个秘密指数部统一装置100i进行的协调计算,秘密指数部统一系统10实现作为多方协议的浮点向量的指数部统一的秘密计算。由此,秘密指数部统一系统10的最大值计算单元110(未图示)由最大值计算部1101,…,100W构成,差分计算单元120(未图示)由差分计算部1201,…,120W构成,尾数部计算单元130(未图示)由尾数部计算部1301,…,130W构成,输出单元140(未图示)由输出部1401,…,140W构成。
设P为素数,设Q为剩余类环的位数,秘密指数部统一系统10根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),计算统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_maxbi(0≦i<m))以下,根据图3对秘密指数部统一系统10的动作进行说明。
在S110中,最大值计算单元110根据份额[[→ρ]]Q,计算份额[[ρmax]]Q。最大值计算单元110例如只要构成为能够执行最大值计算即可。
在S120中,差分计算单元120根据份额[[→ρ]]Q和在S110中计算出的份额[[ρmax]]Q,计算份额[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q。
在S130中,尾数部计算单元130根据份额[[→a]]P和在S120中计算出的份额[[→ρdif]]Q,对于满足0≦i<m的i,根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ_dif,iai),由此计算份额[[→b]]P=([[b0]]P,[[b1]]P,…,[[bm-1]]P)。尾数部计算单元130例如只要构成为能够执行移位量隐匿移位(其2)或移位量隐匿移位(其3)即可。
在S140中,输出单元140根据在S130中计算出的份额[[→b]]P和在S110中计算出的份额[[ρmax]]Q,生成份额([[→b]]P,[[→ρmax]]Q)。
根据本发明的实施方式,能够保持隐匿性而效率地统一浮点的指数部。
<第二实施方式>
以下,参照图4~图6对秘密和计算系统20进行说明。图4是表示秘密和计算系统20的结构的框图。秘密和计算系统20包括W个(W是3以上的规定的整数)的秘密和计算装置2001,…,200W。秘密和计算装置2001,…,200W与网络800连接,能够相互通信。网络800例如可以是互联网等通信网络或者广播通道等。图5是表示秘密和计算装置200i(1≤i≤W)的结构的框图。图6是表示秘密和计算系统20的动作的流程图。
如图5所示,秘密和计算装置200i包括指数部统一部210i、和计算部220i及记录部290i。除记录部290i以外的秘密和计算装置200i的各结构部构成为,能够执行秘密计算中所需的运算,即在实现<技术背景>中说明的协议中的各结构部的功能上所需的运算。在本发明中用于实现各个运算的具体的功能结构例如是能够执行在参考非专利文献1~5分别公开的算法那样的结构就足够了,它们是现有结构,因此省略详细的说明。另外,记录部290i是记录秘密和计算装置200i的处理所需的信息的结构部。
通过W个秘密和计算装置200i进行的协调计算,秘密和计算系统20实现作为多方协议的浮点向量和的秘密计算。由此,秘密和计算系统20的指数部统一单元210(未图示)由指数部统一部2101,…,210W构成,和计算单元220(未图示)由和计算部2201,…,220W构成。
设P为素数,设Q为剩余类环的位数,秘密和计算系统20根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),计算作为浮点向量(→a,→ρ)的元素的浮点之和即浮点(b,σ)的份额([[b]]P,[[σ]]Q)(其中,满足Σ0≦i<m2ρ_iai≒2σb)。以下,根据图6对秘密和计算系统20的动作进行说明。
在S210中,指数部统一单元210根据份额([[→a]]P,[[→ρ]]Q),计算统一了浮点向量(→a,→ρ)的浮点的指数部的浮点向量(→a’,→ρmax)的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_max a’i(0≦i<m))指数部统一单元210例如只要利用秘密指数部统一系统10所包含的各单元(即,最大值计算单元110、差分计算单元120、尾数部计算单元130、输出单元140)而构成即可。在该情况下,秘密和计算装置200i的指数部统一部210i构成为包括最大值计算部110i、差分计算部120i、尾数部计算部130i、输出部140i。
在S220中,和计算单元220根据在S210中计算出的份额([[→a’]]P,[[→ρmax]]Q),计算份额([[b]]P,[[σ]]Q)(其中,b=Σ0≦i<ma’i,σ=ρmax)。
根据本发明的实施方式,通过利用效率地统一浮点的指数部的秘密计算,能够效率地计算浮点之和。
<第三实施方式>
以下,参照图7~图9对秘密积和计算系统30进行说明。图7是表示秘密积和计算系统30的结构的框图。秘密积和计算系统30包括W个(W是3以上的规定的整数)的秘密积和计算装置3001、…、300W。秘密积和计算装置3001、…、300W与网络800连接,能够相互通信。网络800例如可以是互联网等通信网络或者广播通道等。图8是表示秘密积和计算装置300i(1≤i≤W)的结构的框图。图9是表示秘密积和计算系统30的动作的流程图。
如图8所示,秘密积和计算装置300i包括指数部统一部310i、积和计算部320i及记录部390i。除记录部390i以外的秘密积和计算装置300i的各结构部构成为,能够执行秘密计算中所需的运算,即在实现<技术背景>中说明的协议中的各结构部的功能上所需的运算。在本发明中用于实现各个运算的具体的功能结构例如是能够执行在参考非专利文献1~5分别公开的算法那样的结构就足够了,它们是现有结构,因此省略详细的说明。另外,记录部390i是记录秘密积和计算装置300i的处理所需的信息的结构部。
通过W个秘密积和计算装置300i进行的协调计算,秘密积和计算系统30实现作为多方协议的浮点向量积和的秘密计算。由此,秘密积和计算系统30的指数部统一单元310(未图示)由指数部统一部3101,…,310W构成,积和计算单元320(未图示)由积和计算部3201,…,320W构成。
设P为素数,设Q为剩余类环的位数,秘密积和计算系统30根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))和浮点向量(→b,→σ)的份额([[→b]]P,[[→σ]]Q)(其中,→b=(b0,b1,…,bm-1),→σ=(σ0,σ1,…,σm-1)),计算作为浮点向量(→a,→ρ)的元素的浮点与作为浮点向量(→b,→σ)的元素的浮点的积和即浮点(c,τ)的份额([[c]]P,[[τ]]Q)(其中,满足Σ0≦i<m2ρ_i+σ_iaibi≒2τc)。以下,根据图9对秘密积和计算系统30的动作进行说明。
在S310中,指数部统一单元310根据份额([[→a]]P,[[→ρ]]Q)和份额([[→b]]P,[[→σ]]Q),计算统一了浮点向量(→a,→ρ)的浮点的指数部的浮点向量(→a’,→ρmax)的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ_iai≒2ρ_max a’i(0≦i<m))和统一了浮点向量(→b,→σ)的浮点的指数部的浮点向量(→b’,→σmax)的份额([[→b’]]P,[[→σmax]]Q)(其中,→b’=(b’0,b’1,…,b’m-1),→σmax=(σmax,σmax,…,σmax)(其中,σmax=max{σ0,σ1,…,σm-1},|→σmax|=m),满足2σ_ibi≒2σ_maxb’i(0≦i<m))。指数部统一单元310例如只要利用秘密指数部统一系统10所包含的各单元(即,最大值计算单元110、差分计算单元120、尾数部计算单元130、输出单元140)而构成即可。在该情况下,秘密和计算装置300i的指数部统一部310i构成为包括最大值计算部110i、差分计算部120i、尾数部计算部130i、输出部140i。
在S320中,积和计算单元320根据在S310中计算出的份额([[→a’]]P,[[→ρmax]]Q)和份额([[→b’]]P,[[→σmax]]Q),计算份额([[c]]P,[[τ]]Q)(其中,c=Σ0≦i<ma’ib’i,τ=ρmax+σmax)。
根据本发明的实施方式,通过利用效率地统一浮点的指数部的秘密计算,能够效率地计算浮点的积和。
<补记>
图10是表示实现上述的各装置的计算机的功能结构的一个例子的图。上述的各装置中的处理能够通过使记录部2020读取用于使计算机作为上述的各装置发挥功能的程序,并使控制部2010、输入部2030、输出部2040等动作而实施。
本发明的装置例如作为单独的硬件实体,具有键盘等能够连接的输入部、液晶显示器等能够连接的输出部、可与硬件实体的外部进行通信的通信装置(例如通信线缆)能够连接的通信部、CPU(Central Processing Unit,也可以具备高速缓冲存储器、寄存器等)、作为存储器的RAM、ROM、作为硬盘的外部存储装置以及以能够进行上述的输入部、输出部、通信部、CPU、RAM、ROM、外部存储装置之间的数据的交换的方式连接的总线。另外根据需要,也可以在硬件实体设置能够读写CD-ROM等记录介质的装置(驱动器)等。作为具备这样的硬件资源的物理实体,具有通用计算机等。
硬件实体的外部存储装置中存储有为了实现上述的功能所需的程序以及在该程序的处理中所需的数据等(并不局限于外部存储装置,例如也可以预先读取程序并存储在作为专用存储装置的ROM中)。另外,通过这些程序的处理得到的数据等被适当地存储于RAM、外部存储装置等。
在硬件实体中,存储在外部存储装置(或者ROM等)中的各程序和该各程序的处理所需的数据根据需要被读取到存储器中,适当地由CPU进行解释执行/处理。其结果是,CPU实现规定的功能(表示为上述,…部,…单元等的各结构部)。
本发明并不限定于上述的实施方式,能够在不脱离本发明的主旨的范围内适当地变更。另外,上述实施方式中说明的处理不仅根据记载的顺序时序地执行,也可以根据执行处理的装置的处理能力或者需要而并行或者单独地执行。
如已述那样,在通过计算机实现上述实施方式中说明的硬件实体(本发明的装置)中的处理功能的情况下,硬件实体应该具有的功能性的处理内容通过程序被记述。然后,通过在计算机上执行该程序,在计算机上实现上述硬件实体中的处理功能。
记述了该处理内容的程序,能够预先记录在计算机可读取的记录介质中。作为由计算机可读取的记录介质,也可以是例如磁记录装置、光盘、光磁记录介质、半导体存储器等这样的装置。具体而言,例如,作为磁记录装置,可以使用硬盘装置、软盘、磁带等,作为光盘,可以使用DVD(Digital Versatile Disc:数字通用光盘)、DVD-RAM(Random AccessMemory:随机存取存储器)、CD-ROM(Compact Disc Read Only Memory:压缩光盘只读存储器)、CD-R(Recordable:可记录)/RW(ReWritable:可改写)等,作为光磁记录介质,可以使用MO(Magneto-Optical disc:磁光盘)等,作为半导体存储器。可以使用EEP-ROM(Electronically Erasable and Programmable-Read Only Memory:电可擦可编程只读存储器)等。
另外,该程序的流通例如将记录了该程序的DVD、CD-ROM等可移动式记录介质进行销售、转让、租赁等而进行。进一步,也可以设为如下的结构:将该程序预先储存在服务器计算机的存储装置中,经由网络,从服务器计算机向其他的计算机转发该程序,从而使该程序流通。
执行这样的程序的计算机例如首先将记录在可移动式记录介质中的程序或者从服务器计算机转发的程序暂时储存在自己的存储装置中。然后,在执行处理时,该计算机读取在自己的存储装置中储存的程序,执行基于所读取的程序的处理。另外,作为该程序的其他的执行方式,也可以设为由计算机从可移动式记录介质直接读取程序,并执行基于该程序的处理,进而也可以设为每次从服务器计算机向该计算机转发程序时,依次执行基于接受到的程序的处理。另外,也可以构成为,从服务器计算机不向该计算机进行程序的转发,而使通过仅根据该执行指示与结果取得而实现处理功能的所谓的ASP((应用服务提供商(Application Service Provider))型的服务,执行上述的处理。另外,本方式中的程序中包含供电子计算机进行的处理用的信息、即按照程序的信息(虽然不是对于计算机的直接的指令,其中具有规定计算机的处理的性质的数据等)。
另外,在该方式中,通过在计算机上执行规定的程序而构成硬件实体,但也可以将这些处理内容的至少一部分由硬件实现。
上述的本发明的实施方式的记载是以例证和记载为目的进行提示的。没有穷举的意思,也没有将发明限定于公开的严密形式的意思。变形、变更可以根据上述的教导而进行。实施方式是为了提供本发明的原理的最佳的例证,并且是该领域的技术人员为了适合于深思熟虑的实际的使用而对本发明以各种实施方式或附加各种变形,而选择并表现的方式。所有这样的变形、变更都在由附加的权利要求书所确定的本发明的范围内,所述附加权利要求书是按照公正合法公平给出的范围被解释的。
Claims (6)
1.一种秘密指数部统一系统,
设P为素数,设Q为剩余类环的位数,
由3个以上的秘密指数部统一装置构成,根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),计算统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,
[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,
ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ _ iai≒2ρ _ maxbi(0≦i<m),
所述秘密指数部统一系统包括:
最大值计算单元,根据份额[[→ρ]]Q,计算份额[[ρmax]]Q;
差分计算单元,根据份额[[→ρ]]Q和份额[[ρmax]]Q,计算份额
[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q;
尾数部计算单元,根据份额[[→a]]P和份额[[→ρdif]]Q,对于满足0≦i<m的i,根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ _ dif,iai),由此计算份额[[→b]]P=([[b0]]P,
[[b1]]P,…,[[bm-1]]P);以及
输出单元,根据份额[[→b]]P和份额[[ρmax]]Q,生成份额([[→b]]P,
[[→ρmax]]Q)。
2.一种秘密指数部统一装置,为由3个以上的秘密指数部统一装置构成的秘密指数部统一系统之中的秘密指数部统一装置,
设P为素数,设Q为剩余类环的位数,
根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),计算统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),
→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ _ iai≒2ρ _ maxbi(0≦i<m)),
所述秘密指数部统一装置包括:
最大值计算部,根据份额[[→ρ]]Q,计算份额[[ρmax]]Q;
差分计算部,根据份额[[→ρ]]Q和份额[[ρmax]]Q,计算份额
[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q;
尾数部计算部,根据份额[[→a]]P和份额[[→ρdif]]Q,对于满足0≦i<m的i,根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ _ dif, iai),由此计算份额[[→b]]P=([[b0]]P,[[b1]]P,…,[[bm-1]]P);以及
输出部,根据份额[[→b]]P和份额[[ρmax]]Q,生成份额([[→b]]P,
[[→ρmax]]Q)。
3.一种秘密指数部统一方法,
设P为素数,设Q为剩余类环的位数,
由3个以上的秘密指数部统一装置构成的秘密指数部统一系统根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))计算统一了浮点向量(→a,→ρ)的指数部的浮点向量(→b,→ρmax)的份额([[→b]]P,[[→ρmax]]Q)(其中,→b=(b0,b1,…,bm-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ _ iai≒2ρ _ maxbi(0≦i<m)),
所述秘密指数部统一方法包括:
最大值计算步骤,所述秘密指数部统一系统根据份额[[→ρ]]Q,计算份额[[ρmax]]Q;
差分计算步骤,所述秘密指数部统一系统根据份额[[→ρ]]Q和份额
[[ρmax]]Q计算份额[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Q;
尾数部计算步骤,所述秘密指数部统一系统根据份额[[→a]]P和份额
[[→ρdif]]Q,对于满足0≦i<m的i,根据份额[[→a]]P的第i元素[[ai]]P和将份额[[→ρdif]]Q转换为复制秘密分散的份额<<→ρdif>>Q的第i元素<<ρdif,i>>Q,计算将数值ai位移-ρdif,i比特而得到的数值bi的份额[[bi]]P(其中,bi=2-ρ _ dif,iai),由此计算份额[[→b]]P=([[b0]]P,[[b1]]P,…,[[bm-1]]P);以及
输出步骤,所述秘密指数部统一系统根据份额[[→b]]P和份额[[ρmax]]Q,生成份额([[→b]]P,[[→ρmax]]Q)。
4.一种秘密和计算系统,
设P为素数,设Q为剩余类环的位数,
由3个以上的秘密和计算装置构成,根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1)),计算作为浮点向量(→a,→ρ)的元素的浮点之和即浮点(b,σ)的份额([[b]]P,[[σ]]Q)
(其中,满足Σ0≦i<m2ρ _ iai≒2σb),
所述秘密和计算系统包括:
指数部统一单元,根据份额([[→a]]P,[[→ρ]]Q),计算统一了浮点向量(→a,→ρ)的浮点的指数部的浮点向量(→a’,→ρmax)的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ _ iai≒2ρ _ max a’i(0≦i<m));以及
和计算单元,根据份额([[→a’]]P,[[→ρmax]]Q),计算份额([[b]]P,[[σ]]Q)
(其中,b=Σ0≦i<ma’i,σ=ρmax),
所述指数部统一单元利用权利要求1所述的秘密指数部统一系统所包含的各单元而构成。
5.一种秘密积和计算系统,
设P为素数,设Q为剩余类环的位数,
由3个以上的秘密积和计算装置构成,根据浮点向量(→a,→ρ)的份额([[→a]]P,[[→ρ]]Q)(其中,→a=(a0,a1,…,am-1),→ρ=(ρ0,ρ1,…,ρm-1))和浮点向量(→b,→σ)的份额([[→b]]P,[[→σ]]Q)(其中,→b=(b0,b1,…,bm-1),→σ=(σ0,σ1,…,σm-1)),计算作为浮点向量(→a,→ρ)的元素的浮点与作为浮点向量(→b,
→σ)的元素的浮点的积和即浮点(c,τ)的份额([[c]]P,[[τ]]Q)(其中,满足Σ0≦i<m2ρ _ i+σ _ iaibi≒2τc),
所述秘密积和计算系统包括:
指数部统一单元,根据份额([[→a]]P,[[→ρ]]Q)和份额([[→b]]P,[[→σ]]Q),计算统一了浮点向量(→a,→ρ)的浮点的指数部的浮点向量(→a’,→ρmax)的份额([[→a’]]P,[[→ρmax]]Q)(其中,→a’=(a’0,a’1,…,a’m-1),→ρmax=(ρmax,ρmax,…,ρmax)(其中,ρmax=max{ρ0,ρ1,…,ρm-1},|→ρmax|=m),满足2ρ _ iai≒2ρ _ max a’i(0≦i<m))和统一了浮点向量(→b,→σ)的浮点的指数部的浮点向量(→b’,→σmax)的份额([[→b’]]P,[[→σmax]]Q)(其中,→b’=(b’0,b’1,…,b’m-1),→σmax=(σmax,σmax,…,σmax)(其中,σmax=max{σ0,σ1,…,σm-1},|→σmax|=m),满足2σ _ ibi≒
2σ _ maxb’i(0≦i<m));和
积和计算单元,根据份额([[→a’]]P,[[→ρmax]]Q)和份额([[→b’]]P,
[[→σmax]]Q)计算份额([[c]]P,[[τ]]Q)(其中,c=Σ0≦i<ma’ib’i,τ=ρmax+σmax),
所述指数部统一单元利用权利要求1所述的秘密指数部统一系统所包含的各单元而构成。
6.一种程序,使计算机作为权利要求2所述的秘密指数部统一装置而发挥作用。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/039081 WO2022079894A1 (ja) | 2020-10-16 | 2020-10-16 | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368549A true CN116368549A (zh) | 2023-06-30 |
Family
ID=81209022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106103.XA Pending CN116368549A (zh) | 2020-10-16 | 2020-10-16 | 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230359438A1 (zh) |
EP (1) | EP4213135A4 (zh) |
JP (1) | JP7452692B2 (zh) |
CN (1) | CN116368549A (zh) |
AU (1) | AU2020472126B2 (zh) |
WO (1) | WO2022079894A1 (zh) |
-
2020
- 2020-10-16 AU AU2020472126A patent/AU2020472126B2/en active Active
- 2020-10-16 WO PCT/JP2020/039081 patent/WO2022079894A1/ja unknown
- 2020-10-16 JP JP2022556806A patent/JP7452692B2/ja active Active
- 2020-10-16 CN CN202080106103.XA patent/CN116368549A/zh active Pending
- 2020-10-16 US US18/029,375 patent/US20230359438A1/en active Pending
- 2020-10-16 EP EP20957723.8A patent/EP4213135A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7452692B2 (ja) | 2024-03-19 |
JPWO2022079894A1 (zh) | 2022-04-21 |
EP4213135A4 (en) | 2024-05-22 |
WO2022079894A1 (ja) | 2022-04-21 |
AU2020472126A1 (en) | 2023-05-25 |
EP4213135A1 (en) | 2023-07-19 |
AU2020472126B2 (en) | 2024-02-15 |
US20230359438A1 (en) | 2023-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199338B (zh) | 秘密计算系统、秘密计算装置、秘密计算方法、记录介质 | |
CN110199339B (zh) | 秘密计算系统、秘密计算装置、秘密计算方法、记录介质 | |
CN112805769B (zh) | 秘密s型函数计算系统、装置、方法及记录介质 | |
Burek et al. | Algebraic attacks on block ciphers using quantum annealing | |
CN112805768A (zh) | 秘密s型函数计算系统、秘密逻辑回归计算系统、秘密s型函数计算装置、秘密逻辑回归计算装置、秘密s型函数计算方法、秘密逻辑回归计算方法、程序 | |
Usama et al. | Chaos-based simultaneous compression and encryption for Hadoop | |
EP4016506B1 (en) | Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program | |
Moon et al. | An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE | |
JarJar | Two Feistel rounds in image cryptography acting at the nucleotide level exploiting dna and rna property | |
CN116368549A (zh) | 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序 | |
JP6532843B2 (ja) | 秘匿計算システム、第一秘匿計算装置、第二秘匿計算装置、秘匿回路生成方法、秘匿回路評価方法、プログラム | |
WO2022079891A1 (ja) | 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム | |
KR102491902B1 (ko) | 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법 | |
CN116324934A (zh) | 秘密移位系统、秘密移位装置、秘密移位方法、程序 | |
JP7556577B2 (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム | |
Mahmoudinejad Dezfuli et al. | An image encryption method based on chaotic system exploiting fuzzy system and arithmetic coding | |
JP7261502B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
WO2022270080A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
WO2023157118A1 (ja) | 秘密計算装置、秘密計算方法、プログラム | |
JP3435473B2 (ja) | 暗号化・復号化方法及び装置 | |
Khankishiyeva | ON A NEW NUMBER SYSTEM AND ITS APPLICATIONS. | |
WO2021149098A1 (ja) | 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
Simpson et al. | State cycles, initialization and the Trivium stream cipher | |
JP2024088134A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム | |
JP2024053392A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム |
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 |