CN109791741A - 秘密等值连接系统、秘密等值连接装置、秘密等值连接方法、程序 - Google Patents

秘密等值连接系统、秘密等值连接装置、秘密等值连接方法、程序 Download PDF

Info

Publication number
CN109791741A
CN109791741A CN201780058429.8A CN201780058429A CN109791741A CN 109791741 A CN109791741 A CN 109791741A CN 201780058429 A CN201780058429 A CN 201780058429A CN 109791741 A CN109791741 A CN 109791741A
Authority
CN
China
Prior art keywords
column
secret
displacement
row
equivalent
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.)
Granted
Application number
CN201780058429.8A
Other languages
English (en)
Other versions
CN109791741B (zh
Inventor
五十岚大
桐渊直人
滨田浩气
诸桥玄武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN109791741A publication Critical patent/CN109791741A/zh
Application granted granted Critical
Publication of CN109791741B publication Critical patent/CN109791741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Abstract

提供抑制通信量,同时由两个表生成一个表的秘密等值连接技术。包括:从由表L的第1列、表R的第1列生成的元素列生成置换<σ>的第一置换生成单元(110);对j=2,..,a,从由表L的第j列生成的元素列,使用置换<σ>、前缀和、逆置换<σ‑1>生成表J的第j列的第一列生成单元(120);由元素列([[1]],..,[[1]],[[0]],..,[[0]],[[‑1]],..,[[‑1]]),使用置换<σ>、前缀和、逆置换<σ‑1>生成连接结果元素列的连接结果元素列生成单元(130);对j=a+1,..,a+b‑1,使用连接结果元素列和表R的第j‑a+1列生成表J的第j列的第二列生成单元(140);使用连接结果元素列和表R的第1列生成表J的第1列的第三列生成单元(150)。

Description

秘密等值连接系统、秘密等值连接装置、秘密等值连接方法、 程序
技术领域
本发明涉及通过秘密计算,在将表中包含的信息设为秘密的情况下,将两个表共同的关键属性作为纽带(鎹)进行两个表的等值连接(等結合)的等值连接技术。
背景技术
作为不将加密的数值复原而得到指定的运算的运算结果的方法,有称为秘密计算的方法(例如参照非专利文献1)。在非专利文献1的方法中,进行将可复原数值的多个信息分散到三个秘密计算装置的加密,不复原数值,而可以保持将加减运算、常数和、相乘、常数倍、逻辑运算(“非”,逻辑“与”,逻辑“或”,“异或”)、数据形式变换(整数,二进数)的结果分散在三个秘密计算装置的状态,即保持仍被加密。一般来说,分散数不限于3而可以设为W(W为3以上的规定的常数),通过W个秘密计算装置的协同计算实现秘密计算的协议称为多方(Multi party)协议。
但是,在对表的数据库处理中,在多数情况下,数据以多个属性值(与属性对应的值,在图1A、图1B、图1C的表的例子中作为属性的No.、身高、体重、购买品的各自的具体的值“3”、“200”、“100”、“好喝的水”等)的组构成的记录(Record)(在图1A和图1B中例示的表的各行)的集合所构成的表单位进行管理。数据库处理中重要的处理之一有等值连接。等值连接是以图1A或图1B那样的多个表作为输入,称为关键的属性(关键属性)的值(关键属性值)提取全部表中共同的记录,得到将它们横向排列的新的表的计算。例如,若将图1A的表Ls或图1B的表Rs,以各表中共同的关键属性(在该例中为No.)基准进行等值连接,则得到图1C那样的表Js。一般来说,在关系数据库中将数据分割为较多的小的表来管理,在利用时将所需要的表等值连接来进行处理,等值连接是非常重要的处理。
作为通过秘密计算实现了表的等值连接的方法,有非专利文献2的方法。在非专利文献2的方法中,实现与关键属性值有重复的多个表的等值连接。
【现有技术文献】
【非专利文献】
【非专利文献1】千田浩司,濱田浩気,五十嵐大,高橋克巳,“軽量検証可能3パーティ秘匿関数計算の再考”,In CSS,2010.
【非专利文献2】濱田浩気,桐淵直人,五十嵐大,“キーに重複がある場合の秘密計算向け結合アルゴリズム”,暗号と情報セキュリティシンポジウム(SCIS)2015,電子情報通信学会,2015.
发明内容
发明要解决的课题
在将秘密计算作为在多方协议中实现的计算而进行计算效率的评价的情况下,多方协议是一边在多个方面(party)(参加者)之间进行通信一边进行协同计算的方式,在一般的系统结构中,与各方面单独进行的本地的计算相比,通信所需要的时间显著巨大,本地的计算被认为可以忽略。因此,以通信的数据的量(通信量)的尺度进行计算效率的评价。
这时,在非专利文献2的方法中,若将进行连接的两个表的行数分别设为m、n,将进行连接的关键属性的重复的元素的最大数设为k,则需要O(k(m+n)log(m+n))的通信,存在进行等值连接时在隐匿存储了数据的服务器间需要的通信变多的问题。特别是,如先前的图1B的属性“购买品”那样,对关键属性“No.”存在多次出现的可能性的情况下,k的值变大,问题显现出来。
因此本发明的目的是,提供通过秘密计算将表中包含的信息设为秘密的情况下,抑制通信量,从被设为秘密的两个表生成被设为秘密的一个表的等值连接技术。
用于解决课题的手段
本发明的一方式是秘密等值连接系统,将ZN设为从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,由3个以上的秘密等值连接装置构成,由隐匿了各元素的m行a列的表L、n行b列的表R生成n行a+b-1列的表J,秘密等值连接系统包括:通过将由所述表L的第1列([[p1]],..,[[pm]])、所述表R的第1列([[q1]],..,[[qn]])生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])进行稳定排序而生成置换<σ>的第一置换生成单元;对j=2,..,a,(1)使用所述表L的第j列(([[v1,j]],..,[[vm,j]]))和排列了n个[[0]]的元素列([[0]],..,[[0]])生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]]),(2)使用所述置换<σ>由所述元素列[[f]]生成元素列[[g]]=[[σ([[f]])]],(3)通过计算所述元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]]),(4)使用所述置换<σ>的逆置换<σ-1>,由所述元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]],(5)通过取出所述元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),生成所述表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]]),生成从所述表J的第2列至第a列的第一列生成单元,(1)使用m个[[1]]构成的元素列([[1]],..,[[1]])和n个[[0]]构成的元素列([[0]],..,[[0]])生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]]),(2)使用所述置换<σ>由所述元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]],(3)通过计算所述元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]]),(4)使用所述逆置换<σ-1>由所述元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]],(5)取出从所述元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]])的连接结果元素列生成单元;对于j=a+1,..,a+b-1,通过使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]])生成所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]]),生成从所述表J的第a+1列至第a+b-1列的第二列生成单元;以及使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第1列([[q1]],..,[[qn]]),生成所述表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])的第三列生成单元。
发明效果
按照本发明,将等值连接的两个表的行数设为m、n,可以将等值连接所需要的通信量削减为O((m+n)log(m+n))。
附图说明
图1A是表示从两个表通过等值连接生成一个表的例子的图(被输入的表Ls的图)。
图1B是表示从两个表通过等值连接生成一个表的例子的图(被输入的表Rs的图)。
图1C是表示从两个表通过等值连接生成一个表的例子的图(被输出的表J的图)。
图2A是表示成为第一实施方式的秘密等值连接算法的输入的两个表和成为输出的一个表的图(被输入的表L的图)。
图2B是表示成为第一实施方式的秘密等值连接算法的输入的两个表和成为输出的一个表的图(被输入的表R的图)。
图2C是表示成为第一实施方式的秘密等值连接算法的输入的两个表和成为输出的一个表的图(被输出的表J的图)。
图3是表示第一实施方式的秘密等值连接算法的处理步骤的图。
图4是表示作为第一实施方式的秘密等值连接算法的输出结果的表J(明文)的例子的图。
图5是表示秘密等值连接系统10的结构的方框图。
图6是表示秘密等值连接装置100i的结构的方框图。
图7是表示秘密等值连接系统10的操作的流程图。
图8是表示第二实施方式的秘密等值连接算法的处理步骤的图。
图9是表示作为第二实施方式的秘密等值连接算法的输出结果的表J’(明文)的例子的图。
图10是表示秘密等值连接装置200i的结构的方框图。
图11是表示秘密等值连接系统20的操作的流程图。
图12是表示第三实施方式的秘密等值连接算法的处理步骤的图。
图13是表示作为第三实施方式的秘密等值连接算法的输出结果的表J”(明文)的例子的图。
图14是表示秘密等值连接装置300i的结构的方框图。
图15是表示秘密等值连接系统30的操作的流程图。
具体实施方式
以下,详细地说明本发明的实施方式。而且,对具有相同的功能的结构单元附加相同的标号,省略重复说明。
如后所述,秘密等值连接算法由已知的秘密计算上的运算的组合构筑。这些秘密等值连接算法所需要的运算为,隐匿和复原、相加、相乘、前缀和(Prefix sum)、置换、逆置换、稳定排序。在对各运算进行说明之前,说明需要的定义和记法。
<定义和记法>
将ZN设为从0到N的整数的集合(N是1以上的整数)。即,为ZN={0,..,N},ZN形成有限环。
将[[x]]设为将x∈ZN加密或者通过秘密分散隐匿的值(隐匿文)。而且,将x称为[[x]]的明文。
将[[x]]+[[y]]设为基于秘密计算的相加,将[[x]]、[[y]]设为输入,输出[[x+y]]。
将[[x]]×[[y]]设为基于秘密计算的相乘,将[[x]],[[y]]设为输入,输出[[x×y]]。
PrefixSum([[x1]],..,[[xn]])是从元素列([[x1]],..,[[xn]])求称为前缀和的元素列的运算,关于细节在后面说明。
<σ>表示基于秘密计算的置换σ。关于细节在后面说明。
将元素列f=(f1,..,fn)各元素隐匿化后的元素列([[f1]],..,[[fn]])表示为[[f]]。即,为[[f]]=([[f1]],..,[[fn]])。
[[σ([[f]])]]表示通过置换σ置换了元素列[[f]]后的元素列。
Sort([[x1]],..,[[xn]])表示将元素列([[x1]],..,[[xn]])作为输入,输出置换<σ>的稳定排序。
<运算算法>
[隐匿化和复原]
作为从x∈ZN求[[x]]的方法(隐匿化),从[[x]]求x∈ZN的方法(复原),具体地说,有千田们的方法(非专利文献1)和Shamir的方法(参考非专利文献1)。
(参考非专利文献1)Shamir,A.,“How to share a secret”,Communications ofthe ACM,Vol.22,No.11,pp.612-613,1979.
说明隐匿化的一个例子。在将多方协议中的参加者设为X、Y、Z时,x∈ZN被分散为多个(例如3个)的秘密值,[[x]]表示多个秘密值xi(i∈{1,2,3})的集合。参加者X、Y、Z保有分配给各人的秘密值xi(i∈{1,2,3})的一部分,但是不保有秘密值xi(i∈{1,2,3})的全部。例如,设参加者X保有集合{x2,x3},参加者Y保有集合{x1,x3},参加者Z保有集合{x1,x2}。
[相加,相乘]
相加是在被提供了a,b∈ZN的[[a]]、[[b]]时,将成为c=a+b的[[c]]在隐匿的状态下求出的算法。具体地说,已知Ben-Or们的方法(参考非专利文献2),不需要多方协议中的参加者之间的通信。
相乘是在被提供了a,b∈ZN的[[a]]、[[b]]时,将成为c=a×b的[[c]]在隐匿的状态下求出的算法。具体地说,可以使用Gennaro们的方法(参考非专利文献3)。在该方法中,需要多方协议中的参加者之间的通信。
(参考非专利文献2)Ben-Or,M.,Goldwasser,S.and Wigderson,A.,“Completeness theorems for non-cryptographic fault-tolerant distributedcomputation”,Proceedings of the twentieth annual ACM symposium on Theory ofcomputing,ACM,pp.1-10,1988.
(参考非专利文献3)Gennaro,R.,Rabin,M.O.and Rabin,T.,“Simplified VSSand fast-track multiparty computations with applications to thresholdcryptography”,Proceedings of the seventeenth annual ACM symposium onPrinciples of distributed computing,ACM,pp.101-111,1998.
[Prefix-sum(前缀和)]
将对于已排序的多个元素(元素列),求某个元素和此前出现的全部元素之和的操作以及其结果的元素列称为前缀和。即为,在提供了元素列([[x1]],..,[[xn]])时,使用通过下式求出的yi,求元素列([[y1]],..,[[yn]])的操作。
以下,设将操作表示为([[y1]],..,[[yn]])←PrefixSum([[x1]],..,[[xn]])。作为相加算法,通过使用Ben-Or们的方法(参考非专利文献2),前缀和不需要多方协议中的参加者之间的通信。
[置换]
将重新排列被排序后元素的操作、其映射称为置换。例如,将(1,2,3)重新排列为(3,1,2)的操作被视为满足σ(1)=3,σ(2)=1,σ(3)=2的基于映射σ的置换。从映射的性质可以合成多个置换。即,对于置换σ、π,合成置换σ·π将元素x映射为σ(π(x))。
作为实现基于秘密计算的置换<σ>的方法之一,可以利用五十嵐们的方法(参考非专利文献4)。
(参考非专利文献4)五十嵐大,濱田浩気,菊池亮,千田浩司,“インターネット環境レスポンス1秒の統計処理を目指した,秘密計算基数ソートの改良”,暗号と情報セキュリティシンポジウム(SCIS)2014,電子情報通信学会,2014.
在该方法中,例如,在将多方协议中的参加者设为X、Y、Z时,将置换σ设为满足σZX·σYZ·σXY的置换σXY、σYZ、σZX的合成。置换σXY是仅被参加者X和参加者Y共用的置换,不被参加者Z得知。参加者Z通过来自参加者X和参加者Y的再分散,得到基于σXY的置换后的隐匿元素列。置换σYZ、σZX也同样,包含作为任意一个参加者自身也不知道的置换。因此,可以在全部参加者不知道对应关系的情况下执行基于秘密计算的置换<σ>。
这里,置换<σ>可以视为被分割为置换σXY、σYZ、σZX而决定了适用顺序的复制秘密分散(参考非专利文献5)。这是将σ设为随机置换的濱田们的洗牌(shuffle)(参考非专利文献6)的一般化,通信成本对于输入大小来说为线性。
(参考非专利文献5)Ito,M.,Saito,A.and Nishizeki,T.,“Secret sharingscheme realizing general access structure”,Electronics and Communications inJapan(Part III:Fundamental Electronic Science),Vol.72,No.9,pp.56-64,1989.
(参考非专利文献6)濱田浩気,五十嵐大,千田浩司,高橋克巳,“3パーティ秘匿関数計算上のランダム置換プロトコル”,コンピュータセキュリティシンポジウム(CSS)2010,情報処理学会コンピュータセキュリティ研究会,2010.
[逆置换]
因为置换是双射,所以具有逆映射。因此,将某个置换σ的逆映射称为逆置换,用σ-1表示。即,在σ(x)=y时,σ-1(y)=x。特别是,σ-1·σ是称为恒等置换的不改变顺序的置换。
基于秘密计算的逆置换<σ-1>的方法与置换的情况相同。在作为成为σ=σZX·σYZ·σXY的置换σXY、σYZ、σZX的合成而提供置换<σ>时,逆置换为σ-1=σXY -1·σYZ -1·σZX -1,所以只要将各参加者X,Y,Z具有的置换的逆置换的顺序反转来适用即可。
[稳定排序]
将保持相同的元素的顺序关系的重新排列称为稳定排序。即,在将(x1,..,xn)重新排列为(y1,..,yn)的稳定排序σ中xi=xj时,若设σ(xi)=yu,σ(xj)=yv,则仅在i<j时u<v。
作为基于秘密计算的方法,例如举出五十嵐们的方法(参考非专利文献4)。以下,将对于元素列([[x1]],..,[[xn]])的稳定排序的输出设为置换<σ>,表示为<σ>←Sort([[x1]],..,[[xn]])。
<第一实施方式>
以下说明实现第一实施方式的秘密等值连接算法的输入、输出、处理步骤、处理成本、秘密等值连接算法的秘密等值连接系统。
而且,以下,在提取表的列来处理的情况下,不设为纵方向排列的元素列,而设为横方向排列的元素列来处理。
[输入]
将连接的两个表分别设为L、R(参照图2A以及图2B)。表的大小是表L设为m行a列,表R设为n行b列(m,n是1以上的整数,a,b是2以上的整数)。表L、R都在第1列具有关键属性值,分别设为([[p1]],..,[[pm]]),([[q1]],..,[[qn]])。表L、R在第2列以后具有关键属性值以外的属性值,将i行j列的属性值分别设为[[vi,j]](1≦i≦m,2≦j≦a),[[ui,j]](1≦i≦n,2≦j≦b)。
将使表L、R的各元素返回隐匿化前的明文后的元素(以下,也称为明文元素)所构成的表分别设为Lplain、Rplain。设在表Lplain的关键属性值的元素列(p1,..,pm)中不存在相同的值的元素(即,p1,..,pm互不相同),设表Rplain的关键属性值的元素列(q1,..,qn)中也可以存在重复的值。而且,对于被输入的全部元素的明文元素pi(1≦i≦m),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n,2≦j≦b),其值设为非0的有限环ZN上的值。如果在明文元素中存在包含0的可能性的情况下,例如一律通过加减进行前处理,使其不为0。而且,在存在明文元素为字符串等有限环ZN上的值以外的可能性的情况下,进行前处理,使其成为有限环ZN上的值。
[输出]
将输出的表设为J(参照图2C)。表J是,第i行(1≦i≦n)为([[q’i]],[[v’i,2]],..,[[v’i,a]],[[u’i,2]],..,[[u’i,b]])的n行构成的表,在与表Rplain的关键属性值qi相同的值在表Lplain的关键属性值的元素列(p1,..,pm)中不存在时,第i行的值全部为0,即,对于2≦α≦a,2≦β≦b,为q’i=0,v’i,α=0,u’i,β=0。另一方面,对于表Rplain的关键属性值qi,成为qi=pj的表Lplain的关键属性值pj存在时,成为q’i=qi,v’i,α=vj,α,u’i,β=ui,β
[处理步骤]
说明图3所示的第一实施方式的秘密等值连接算法的处理步骤。这时,使用图3的左端的数字,表现为步骤1、步骤2等。而且,为了容易理解算法的行为,设m=3,a=3,n=4,b=2,将图1A的表Ls、图1B的表Rs的值代入到图2A的表L、图2B的表R来说明。即,在明文的状态下进行说明。
首先,在步骤1中,通过对由输入的两个表L、R的关键属性值生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])进行稳定排序,生成置换<σ>。
置换<σ>是将以下的第1行的元素列重新排列为第2行的顺序的置换。第1行的元素列从左第1个至第3个,从第4个至第7个,从第8个至第10个分别为表Ls的关键属性值、表Rs的关键属性值、表Ls的关键属性值。
(第1行)([[3,[[5,[[9,[3],[7],[9],[9],3]],5]],9]])
(第2行)([[3,[3],3]],[[5,5]],[7],[[9,[9],[9],9]])
而且,这里,为了容易理解说明,使用[[x,[y],z]]这样的记号,对相同的值进行区别来表现置换前后的位置关系。但是,实际上不区别进行处理。[[x和z]]是与从表L得到的属性值对应的明文,[y]是与从表R得到的属性值对应的明文。
接着,从步骤2至8是对表L的每列反复进行的处理(j=2,..,a)。在图1A的表Ls的例子中,有“身高”和“体重”的列(a=3),但是这里使用列“体重”来追踪处理。
在步骤3中,使用表L的第j列(([[v1,j]],..,[[vm,j]]))和排列n个[[0]]的元素列([[0]],..,[[0]]),生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]])。
若使用列“体重”的值即100、19、85,则元素列[[f]]的明文元素列如以下那样。而且,元素列([0],[0],[0],[0])为([[0]],..,[[0]])的明文元素列。
([[100,[[19,[[85,[0],[0],[0],[0],-100]],-19]],-85]])
在步骤4中,使用置换<σ>从元素列[[f]]生成元素列[[g]]=[[σ([[f]])]]。
若通过置换<σ>重新排列元素列[[f]]的明文元素列,则得到元素列[[g]]的明文元素列。
([[100,[0],-100]],[[19,-19]],[0],[[85,[0],[0],-85]])
在步骤5中,通过计算元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]])。
通过前缀和得到的元素列[[g’]]的明文元素列如以下那样。
([[100,[100],0]],[[19,0]],[0],[[85,[85],[85],0]])
可知通过该步骤,与表L的列的值对应的明文[[x被复制到[y]。
而且,z]]是编程中的哨兵,表示[[x的值被复制的终端。
在步骤6中,使用置换<σ>的逆置换<σ-1>从元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]]。
若通过逆置换<σ-1>将元素列[[g’]]的明文元素列重新排列,则得到元素列[[f’]]的明文元素列。
([[100,[[19,[[85,[100],[0],[85],[85],0]],0]],0]])
在步骤7中,取出从元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),生成表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]])。
生成的表J的第j列的值成为元素列[[f’]]的明文元素列从第4(=3+1)元素至第7(=3+4)元素的[100],[0],[85],[85]。这里,作为未被连接的行的值的表J的第2行的值,在明文为[0]。
从步骤9至13的处理成为,对将表L的列的值全部设为[[1]]的假想的列适用了步骤3至7的处理的处理。具体地说,如以下那样。
在步骤9中,使用由m个[[1]]构成的元素列([[1]],..,[[1]])和由n个[[0]]构成的元素列([[0]],..,[[0]]),生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]])。
元素列[[f1]]的明文元素列如以下那样。
([[1,[[1,[[1,[0],[0],[0],[0],-1]],-1]],-1]])
在步骤10中,使用置换<σ>从元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]]。
通过置换<σ>将元素列[[f1]]的明文元素列重新排列时,得到元素列[[g1]]的明文元素列。
([[1,[0],-1]],[[1,-1]],[0],[[1,[0],[0],-1]])
在步骤11中,通过计算元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]])。
通过前缀和得到的元素列[[g1’]]的明文元素列,如以下那样。
([[1,[1],0]],[[1,0]],[0],[[1,[1],[1],0]])
在步骤12中,使用逆置换<σ-1>从元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]]。
在通过逆置换<σ-1>将元素列[[g1’]]的明文元素列重新排列时,得到元素列[[f1’]]的明文元素列。
([[1,[[1,[[1,[1],[0],[1],[1],0]],0]],0]])
在步骤13中,取出从元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]])。这里,连接结果元素列([[e1]],..,[[en]])是对表R的行表示是否有连接到表L的行的元素的列,在为[[ei]]=[[1]]的情况下,表示有连接的行,在为[[ei]]=[[0]]的情况下,表示没有连接的行。
生成的连接结果元素列的值为元素列[[f1’]]的明文元素列的第4(=3+1)元素至第7(=3+4)元素的[1],[0],[1],[1]。
从步骤14至21的处理是,使用连接结果元素列([[e1]],..,[[en]]),将表R的未被连接的行的值设为[[0]]的处理。
在步骤15~17中,使用连接结果元素列([[e1]],..,[[en]])和表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]]),生成表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]]),(j=a+1,..,a+b-1)。
在步骤19~21中,使用连接结果元素列([[e1]],..,[[en]])和表R的第1列([[q1]],..,[[qn]]),生成表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])。
在图1B的表Rs的例子中,未被连接的“牛奶果汁”的行(第2行)为0,在其它行中代入与原来相同的值。因此,作为输出结果的表J(明文)为图4那样。
[处理成本]
在第一实施方式的秘密等值连接算法中需要通信的处理,步骤1中的长度2m+n的稳定排序为1次,步骤4以及步骤10中的长度2m+n的置换合计a次,同样,步骤6以及步骤12中的长度2m+n的逆置换合计a次,步骤16以及步骤20中的乘法为bn次。
按照濱田们的方法(参考非专利文献6),稳定排序的通信成本为O((m+n)log(m+n)),关于置换以及逆置换,相对输入为线性,关于相乘,每1次需要常数量的通信。各表的列的数a、b视为常数,所以在将输入的两个表的行数设为m、n时,通信量为O((m+n)log(m+n))。
[秘密等值连接系统]
以下,参照图5~图7说明第一实施方式的秘密等值连接系统10。图5是表示秘密等值连接系统10的结构的方框图。秘密等值连接系统10包含W个(W是3以上的规定的整数)的秘密等值连接装置1001,…,100W。秘密等值连接装置1001,…,100W与网络800连接,可相互通信。网络800例如可以是因特网等通信网或者广播通信路径等。图6是表示秘密等值连接装置100i(1≦i≦W)的结构的方框图。图7是表示秘密等值连接系统10的操作的流程图。
如图6所示,秘密等值连接装置100i包含:第一置换生成单元110i;第一列生成单元120i;连接结果元素列生成单元130i;第二列生成单元140i;第三列生成单元150i;以及记录单元190i。除了记录单元190i的秘密等值连接装置100i的各结构单元构成为可执行在秘密等值连接算法中所需要的运算,即,至少在隐匿化、复原、相加、相乘、前缀和、置换、逆置换、稳定排序中在实现各结构单元的功能上所需要的运算。为了实现本发明中的各个运算的具体的功能结构例如是可执行非专利文献1以及参考非专利文献1~6的各自中公开的算法的结构就足够,由于这些是以往的结构,所以省略详细的说明。而且,记录单元190i是记录秘密等值连接装置100i的处理所需要的信息的结构单元。
通过W个秘密等值连接装置100i的协同计算,秘密等值连接系统10实现作为多方协议的秘密等值连接算法。由此,秘密等值连接系统10的第一置换生成单元110(未图示)由第一置换生成单元1101,…,110W构成,第一列生成单元120(未图示)由第一列生成单元1201,…,120W构成,连接结果元素列生成单元130(未图示)由连接结果元素列生成单元1301,…,130W构成,第二列生成单元140(未图示)由第二列生成单元1401,…,140W构成,第三列生成单元150(未图示)由第三列生成单元1501,…,150W构成。
秘密等值连接系统10将隐匿了各元素的m行a列的表L、n行b列的表R作为输入,将表L和表R通过秘密等值连接生成n行a+b-1列的表J(参照图2C)。以下,按照图7说明秘密等值连接系统10的操作。
第一置换生成单元110通过将由表L的第1列([[p1]],..,[[pm]])、表R的第1列([[q1]],..,[[qn]])生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])进行稳定排序而生成置换<σ>(S110)。与图3的秘密等值连接算法的步骤1对应。
第一列生成单元120通过对j=2,..,a执行以下的处理,由表J的第2列生成第a列(S120)。与图3的秘密等值连接算法的步骤2~8对应。
(1)使用表L的第j列(([[v1,j]],..,[[vm,j]]))和排列了n个[[0]]的元素列([[0]],..,[[0]]),生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]])。
(2)使用置换<σ>由元素列[[f]]生成元素列[[g]]=[[σ([[f]])]]。
(3)通过计算元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]])。
(4)使用置换<σ>的逆置换<σ-1>,由元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]]。
(5)取出从元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),生成表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]])。
连接结果元素列生成单元130通过执行以下的处理,生成连接结果元素列([[e1]],..,[[en]])(S130)。与图3的秘密等值连接算法的步骤9~13对应。
(1)使用由m个[[1]]构成的元素列([[1]],..,[[1]])和由n个[[0]]构成的元素列([[0]],..,[[0]]),生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]])。
(2)使用置换<σ>由元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]]。
(3)通过计算元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]])。
(4)使用逆置换<σ-1>由元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]]。
(5)取出从元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]])。
第二列生成单元140通过对j=a+1,..,a+b-1执行以下的处理,由表J的第a+1列生成第a+b-1列(S140)。与图3的秘密等值连接算法的步骤14~18对应。
(1)使用连接结果元素列([[e1]],..,[[en]])和表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]]),生成表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]])。
第三列生成单元150使用连接结果元素列([[e1]],..,[[en]])和表R的第1列([[q1]],..,[[qn]]),生成表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])(S150)。与图3的秘密等值连接算法的步骤19~21对应。
按照本实施方式的发明,使用对于将要等值连接的两个表的关键属性值以规定的方法排列的元素列进行了稳定排序的结果生成的置换,即使在一方的表的关键属性值中有重复的情况下也可以进行等值连接。在以往技术中,将重复的元素的最大数设为k,将一个元素置换为k个不重复的信息,但是该置换变得不需要,所以可以削减将数据隐匿的状态下的等值连接所需要的服务器之间的通信量。具体地说,将要等值连接的两个表的行数设为m、n,可以将等值连接所需要的通信量削减为O((m+n)log(m+n))。而且,不再需要已知在以往技术所需要的连接的关键属性的重复的元素的最大数。
<第二实施方式>
第一实施方式的秘密等值连接算法输出的表J在保持输入的表R的行的顺序的情况下,未被连接的表R的行的各元素全部设为[[0]](图4的表J(明文)中为0)。因此,在将表J复原时,可知输入的表R的第几行未被连接。为了解决该问题,说明在执行第一实施方式的秘密等值连接算法后,执行将连接的行靠近表的上方的处理的第二实施方式的秘密等值连接算法。
以下说明实现第二实施方式的秘密等值连接算法的输入、输出、处理步骤、处理成本、秘密等值连接算法的秘密等值连接系统。
[输入]
将第一实施方式的秘密等值连接算法中的连接结果元素列([[e1]],..,[[en]])和作为输出结果的表J作为输入。
[输出]
将重新排列了表J的行的表J’作为输出。表J’为使表J的行中全部的元素为[[0]]的行靠近下方的表。
表J’是第i行(1≦i≦n)为([[q”i]],[[v”i,2]],..,[[v”i,a]],[[u”i,2]],..,[[u”i,b]])的n行构成的表。其中,[[q”i]]为关键属性值或者[[0]]、[[v”i,2]],..,[[v”i,a]]是从表L连接的行或者a-1个[[0]]、[[u”i,2]],..,[[u”i,b]]为从表R连接的行或者b-1个[[0]](参照图8)。
[处理步骤]
图8表示第二实施方式的秘密等值连接算法。
首先,在步骤1中,通过将连接结果元素列([[e1]],..,[[en]])稳定排序,生成置换<σ~>。
置换<σ~>是,若使用第一实施方式的连接结果元素列([[e1]],..,[[en]])的明文元素列([1],[0],[1],[1]),则将以下的第1行的元素列重新排列为第2行的顺序的置换。
(第1行)([1],[0],[1],[1])
(第2行)([1],[1],[1],[0])
在步骤2中,使用置换<σ~>,由表J的第1列([[q’1]],..,[[q’n]])生成表J’的第1列([[q”1]],..,[[q”n]])=[[σ~([[q’1]],..,[[q’n]])]]。
在步骤4中,使用置换<σ~>,由表J的第j列([[v’1,j]],..,[[v’n,j]])生成表J’的第j列([[v”1,j]],..,[[v”n,j]])=[[σ~([[v’1,j]],..,[[v’n,j]])]](j=2,..,a)。
在步骤7中,使用置换<σ~>,由表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])生成表J’的第j列([[u”1,j-a+1]],..,[[u”n,j-a+1]])=[[σ~([[u’1,j-a+1]],..,[[u’n,j-a+1]])]]。
通过步骤2、步骤4、步骤7,使元素都为[[0]]的行靠下,输出表J’。因此,作为输出结果的表J’(明文)如图9那样。
而且,作为在步骤1中使用的稳定排序采用了升顺的情况下,可以将输出的行的上下反转,使元素全部为[[0]]的行靠上。
[处理成本]
基于第二实施方式的秘密等值连接算法的通信成本为稳定排序所需要的O(nlog(n))。
[秘密等值连接系统]
以下,参照图10~图11说明第二实施方式的秘密等值连接系统20。秘密等值连接系统20在取代包含W个(W为3以上的规定的整数)的秘密等值连接装置1001,…,100W而包含W个秘密等值连接装置2001,…,200W这一点上与秘密等值连接系统10不同。图10是表示秘密等值连接装置200i(1≦i≦W)的结构的方框图。图11是表示秘密等值连接系统20的操作的流程图。
图10所示,秘密等值连接装置200i在进一步包含第二置换生成单元260i和行重新排列单元270i这一点上与秘密等值连接装置100i不同。第二置换生成单元260i和行重新排列单元270i也构成为可执行在秘密等值连接算法中所需要的运算中、在实现其功能上所需要的运算。
秘密等值连接系统20的第二置换生成单元260(未图示)由第二置换生成单元2601,…,260W构成,行重新排列单元270(未图示)由行重新排列单元2701,…,270W构成。
秘密等值连接系统20将隐匿了各元素的m行a列的表L和n行b列的表R作为输入,由将表L和表R秘密等值连接后的n行a+b-1列的表J生成n行a+b-1列的表J’。以下,按照图11说明秘密等值连接系统20的操作。至S110~S150的处理与秘密等值连接系统10相同,对S260和S270进行说明。
第二置换生成单元260通过将连接结果元素列([[e1]],..,[[en]])稳定排序而生成置换<σ~>(S260)。与图8的秘密等值连接算法的步骤1对应。
行重新排列单元270使用置换<σ~>,由表J的第1列([[q’1]],..,[[q’n]])生成表J’的第1列([[q”1]],..,[[q”n]])=[[σ~([[q’1]],..,[[q’n]])]],对于j=2,..,a,由表J的第j列([[v’1,j]],..,[[v’n,j]])生成表J’的第j列([[v”1,j]],..,[[v”n,j]])=[[σ~([[v’1,j]],..,[[v’n,j]])]],对于j=a+1,..,a+b-1,由表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])生成表J’的第j列([[u”1,j-a+1]],..,[[u”n,j-a+1]])=[[σ~([[u’1,j-a+1]],..,[[u’n,j-a+1]])]](S270)。与图8的秘密等值连接算法的步骤2~8对应。
按照本实施方式的发明,新需要的通信成本为O(nlog(n)),所以作为整体,可以以O((m+n)log(m+n))的通信量来执行。
<第三实施方式>
第二实施方式的秘密等值连接算法输出的表J’将未连接的行作为全部的元素为[[0]]的行来包含。但是,在也可以使参加者知道连接后的行的数的情况下,也可以仅从表J’中输出连接的靠上的行。说明在执行第二实施方式的秘密等值连接算法后,输出仅包含连接的行的表的第三实施方式的秘密等值连接算法。
以下说明实现第三实施方式的秘密等值连接算法的输入、输出、处理步骤、处理成本、秘密等值连接算法的秘密等值连接系统。
[输入]
第一实施方式的秘密等值连接算法中的连接结果元素列([[e1]],..,[[en]])和作为第二实施方式的秘密等值连接算法的输出结果的表J’成为输入。
[输出]
将表J’的行中全部元素为[[0]]的行从表J’删除后的表作为输出而成为表J”。
[处理步骤]
图12表示第三实施方式的秘密等值连接算法。
首先,在步骤1中,为了一一列举行,计算连接结果元素列([[e1]],..,[[en]])的各元素的和[[c]]。
在步骤2中,公开将步骤1中求出的[[c]]复原而得到的c,生成从表J’的上面开始提取了c行的表J”。
通过步骤2,输出删除了元素全部为[[0]]的行的表J”。因此,作为输出结果的表J”(明文)如图13那样。
[处理成本]
基于第三实施方式的秘密等值连接算法的通信成本仅为1次公开所需要的常数量O(1)。
[秘密等值连接系统]
以下,参照图14~图15说明第三实施方式的秘密等值连接系统30。秘密等值连接系统30在取代包含W个(W为3以上的规定的整数)的秘密等值连接装置2001,…,200W而包含W个秘密等值连接装置3001,…,300W这一点上与秘密等值连接系统20不同。图14是表示秘密等值连接装置300i(1≦i≦W)的结构的方框图。图15是表示秘密等值连接系统30的操作的流程图。
如图14所示,秘密等值连接装置300i在还包括连接行数计算单元380i和连接行数公开单元390i这一点上与秘密等值连接装置200i不同。连接行数计算单元380i和连接行数公开单元390i也构成为,可执行在秘密等值连接算法中所需要的运算中、在实现其功能上所需要的运算。
秘密等值连接系统30的连接行数计算单元380(未图示)由连接行数计算单元3801,…,380W构成,连接行数公开单元390(未图示)由连接行数公开单元3901,…,390W构成。
秘密等值连接系统30将隐匿了各元素的m行a列的表L和n行b列的表R作为输入,由秘密等值连接了表L和表R的n行a+b-1列的表J生成n行a+b-1列的表J’,通过从表J’删除全部元素为[[0]]的行,生成c行a+b-1列的表J”。以下,按照图15说明秘密等值连接系统30的操作。至S110~S270的处理与秘密等值连接系统20同样,所以说明S380和S390。
连接行数计算单元380计算连接结果元素列([[e1]],..,[[en]])的各元素的和[[c]](S380)。与图12的秘密等值连接算法的步骤1对应。
连接行数公开单元390公开将[[c]]复原而得到的c,生成从表J’的上面开始提取了c行的表J”(S390)。与图12的秘密等值连接算法的步骤2对应。
按照本实施方式的发明,新需要的通信成本为O(1),所以作为整体,可以以O((m+n)log(m+n))的通信量来执行。
<补充说明>
本发明的装置例如作为单一的硬件实体,包括键盘等可连接的输入单元、液晶显示器等可连接的输出单元、可与硬件实体的外部通信的通信装置(例如通信电缆)可连接的通信单元、CPU(Central Processing Unit,也可以具有缓存存储器或寄存器等)、作为存储器的RAM或ROM、作为硬盘的外部存储装置、以及可连接以进行这些输入单元、输出单元、通信单元、CPU、RAM、ROM、外部存储装置之间的数据存取的总线。而且也可以根据需要,在硬件实体中设置可读写CD-ROM等的记录介质的装置(驱动)等。作为具有这样的硬件资源的物理的实体,有通用计算机等。
在硬件实体的外部存储装置中,存储为实现上述的功能所需要的程序以及在该程序的处理中所需要的数据等(不限于外部存储装置,例如也可以使程序存储在作为只读专用存储装置的ROM中)。而且,由这些程序的处理得到的数据等适当地被存储在RAM或外部存储装置等中。
在硬件实体中,外部存储装置(或者ROM等)中存储的各程序和该各程序的处理所需要的数据根据需要被读入存储器中,适当地被CPU解释执行、处理。其结果,CPU实现规定的功能(表示为上述,…部,…单元等的各结构要件)。
本发明不限于上述的实施方式,在不脱离本发明的宗旨的范围内能够进行适当变更。而且,在上述实施方式中说明的处理不仅按照记载的顺序时间序列地被执行,也可以根据执行处理的装置的处理能力或者根据需要并行地或者单独地执行。
如已叙述的那样,在通过计算机实现上述实施方式中说明的硬件实体(本发明的装置)中的处理功能的情况下,通过程序记述硬件实体应有的功能的处理内容。然后,通过计算机执行该程序,在计算机上实现上述硬件实体中的处理功能。
记述了该处理内容的程序可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等那样的介质。具体地说,例如,作为磁记录装置,可以使用硬盘装置、软盘、磁带等,作为光盘,可以使用DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(CompactDisc 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 (8)

1.一种秘密等值连接系统,
将ZN设为从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示将x∈ZN隐匿后的值,将<π>设为表示基于秘密计算的置换π,
所述秘密等值连接系统由3个以上的秘密等值连接装置构成,由将各元素隐匿的m行a列的表L、n行b列的表R生成n行a+b-1列的表J,
所述秘密等值连接系统包括:
第一置换生成单元,通过将由所述表L的第1列([[p1]],..,[[pm]])、所述表R的第1列([[q1]],..,[[qn]])生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])稳定排序,生成置换<σ>;
第一列生成单元,对于j=2,..,a,
(1)使用所述表L的第j列(([[v1,j]],..,[[vm,j]]))和排列了n个[[0]]的元素列([[0]],..,[[0]]),生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]]),
(2)使用所述置换<σ>,由所述元素列[[f]]生成元素列[[g]]=[[σ([[f]])]],
(3)通过计算所述元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]]),
(4)使用所述置换<σ>的逆置换<σ-1>,由所述元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]],
(5)通过取出所述元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),并生成所述表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]]),而生成所述表J的第2列至第a列;
连接结果元素列生成单元,
(1)使用由m个[[1]]构成的元素列([[1]],..,[[1]])和由n个[[0]]构成的元素列([[0]],..,[[0]]),生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]]),
(2)使用所述置换<σ>,由所述元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]],
(3)通过计算所述元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]]),
(4)使用所述逆置换<σ-1>,由所述元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]],
(5)取出所述元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]]);
第二列生成单元,对于j=a+1,..,a+b-1,通过使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]])生成所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]]),生成从所述表J的第a+1列至第a+b-1列;以及
第三列生成单元,使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第1列([[q1]],..,[[qn]]),生成所述表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])。
2.一种秘密等值连接系统,
将ZN设为由从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
所述秘密等值连接系统由3个以上的秘密等值连接装置构成,由隐匿了各元素的m行a列的表L、n行b列的表R,使用权利要求1中记载的秘密等值连接系统生成n行a+b-1列的表J’,
所述秘密等值连接系统包括:
第二置换生成单元,通过将所述连接结果元素列([[e1]],..,[[en]])稳定排序,生成置换<σ~>;以及
行重新排列单元,使用所述置换<σ~>,由所述表J的第1列([[q’1]],..,[[q’n]])生成所述表J’的第1列([[q”1]],..,[[q”n]])=[[σ~([[q’1]],..,[[q’n]])]],对于j=2,..,a,由所述表J的第j列([[v’1,j]],..,[[v’n,j]])生成所述表J’的第j列([[v”1,j]],..,[[v”n,j]])=[[σ~([[v’1,j]],..,[[v’n,j]])]],对于j=a+1,..,a+b-1,由所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])生成所述表J’的第j列([[u”1,j-a+1]],..,[[u”n,j-a+1]])=[[σ~([[u’1,j-a+1]],..,[[u’n,j-a+1]])]]。
3.一种秘密等值连接系统,
将ZN设为从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
所述秘密等值连接系统由3个以上的秘密等值连接装置构成,由隐匿了各元素的m行a列的表L、n行b列的表R,使用权利要求2中记载的秘密等值连接系统生成c行a+b-1列的表J”,
所述秘密等值连接系统包括:
连接行数计算单元,计算所述连接结果元素列([[e1]],..,[[en]])的各元素的和[[c]];以及
连接行数公开单元,公开将所述和[[c]]复原所得到的所述c,生成从所述表J’的上面开始提取了c行的所述表J”。
4.一种秘密等值连接装置,是将ZN设为由从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
通过由隐匿了各元素的m行a列的表L、n行b列的表R生成n行a+b-1列的表J的3个以上的秘密等值连接装置构成的秘密等值连接系统中的秘密等值连接装置,
所述秘密等值连接装置包括:
第一置换生成单元,用于通过将由所述表L的第1列([[p1]],..,[[pm]])、所述表R的第1列([[q1]],..,[[qn]])生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])稳定排序而生成置换<σ>;
第一列生成单元,对于j=2,..,a,用于
(1)使用所述表L的第j列(([[v1,j]],..,[[vm,j]]))和排列了n个[[0]]的元素列([[0]],..,[[0]])生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]]),
(2)使用所述置换<σ>,由所述元素列[[f]]生成元素列[[g]]=[[σ([[f]])]],
(3)通过计算所述元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]]),
(4)使用所述置换<σ>的逆置换<σ-1>,由所述元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]],
(5)通过取出所述元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),生成所述表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]]),而生成所述表J的第2列至第a列;
连接结果元素列生成单元,用于
(1)使用由m个[[1]]构成的元素列([[1]],..,[[1]])和由n个[[0]]构成的元素列([[0]],..,[[0]]),生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]]),
(2)使用所述置换<σ>,由所述元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]],
(3)通过计算所述元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]]),
(4)使用所述逆置换<σ-1>,由所述元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]],
(5)取出所述元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]]);
第二列生成单元,用于对于j=a+1,..,a+b-1,通过使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]]),生成所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]]),生成所述表J的第a+1列至第a+b-1列;以及
第三列生成单元,用于使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第1列([[q1]],..,[[qn]]),生成所述表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])。
5.一种秘密等值连接方法,
将ZN设为由从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
使用由3个以上的秘密等值连接装置构成的、包含第一置换生成单元、第一列生成单元、连接结果元素列生成单元、第二列生成单元、和第三列生成单元的秘密等值连接系统,由隐匿了各元素的m行a列的表L、n行b列的表R生成n行a+b-1列的表J,
所述秘密等值连接方法包括:
第一置换生成步骤,所述第一置换生成单元通过将由所述表L的第1列([[p1]],..,[[pm]])、所述表R的第1列([[q1]],..,[[qn]])生成的元素列([[p1]],..,[[pm]],[[q1]],..,[[qn]],[[p1]],..,[[pm]])进行稳定排序而生成置换<σ>;
第一列生成步骤,所述第一列生成单元对于j=2,..,a,
(1)使用所述表L的第j列(([[v1,j]],..,[[vm,j]]))和排列了n个[[0]]的元素列([[0]],..,[[0]]),生成元素列[[f]]=(([[v1,j]],..,[[vm,j]]),[[0]],..,[[0]],[[-v1,j]],..,[[-vm,j]]),
(2)使用所述置换<σ>,由所述元素列[[f]]生成元素列[[g]]=[[σ([[f]])]],
(3)通过计算所述元素列[[g]]的前缀和,生成元素列[[g’]]=PrefixSum([[g]]),
(4)使用所述置换<σ>的逆置换<σ-1>,由所述元素列[[g’]]生成元素列[[f’]]=[[σ-1([[g’]])]],
(5)通过取出所述元素列[[f’]]的第m+1元素至第m+n元素的部分元素列([[f’m+1]],..,[[f’m+n]]),生成所述表J的第j列([[v’1,j]],..,[[v’n,j]])=([[f’m+1]],..,[[f’m+n]]),而生成所述表J的第2列至第a列;
连接结果元素列生成步骤,所述连接结果元素列生成单元
(1)使用由m个[[1]]构成的元素列([[1]],..,[[1]])和由n个[[0]]构成的元素列([[0]],..,[[0]]),生成元素列[[f1]]=([[1]],..,[[1]],[[0]],..,[[0]],[[-1]],..,[[-1]]),
(2)使用所述置换<σ>,由所述元素列[[f1]]生成元素列[[g1]]=[[σ([[f1]])]],
(3)通过计算所述元素列[[g1]]的前缀和,生成元素列[[g1’]]=PrefixSum([[g1]]),
(4)使用所述逆置换<σ-1>,由所述元素列[[g1’]]生成元素列[[f1’]]=[[σ-1([[g1’]])]],
(5)取出从所述元素列[[f1’]]的第m+1元素至第m+n元素的部分元素列([[f1’m+1]],..,[[f1’m+n]]),生成连接结果元素列([[e1]],..,[[en]])=([[f1’m+1]],..,[[f1’m+n]]);
第二列生成步骤,所述第二列生成单元对于j=a+1,..,a+b-1,通过使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第j-a+1列([[u1,j-a+1]],..,[[um,j-a+1]]),生成所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],..,[[en]]×[[un,j-a+1]]),从而生成所述表J的第a+1列至第a+b-1列;以及
第三列生成步骤,所述第三列生成单元使用所述连接结果元素列([[e1]],..,[[en]])和所述表R的第1列([[q1]],..,[[qn]]),生成所述表J的第1列([[q’1]],..,[[q’n]])=([[e1]]×[[q1]],..,[[en]]×[[qn]])。
6.一种秘密等值连接方法,
将ZN设为由从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
使用由3个以上的秘密等值连接装置构成的、包含第一置换生成单元、第一列生成单元、连接结果元素列生成单元、第二列生成单元、第三列生成单元、第二置换生成单元以及行重新排列单元的秘密等值连接系统,由隐匿了各元素的m行a列的表L和n行b列的表R生成n行a+b-1列的表J’,
通过权利要求5中记载的秘密等值连接方法,由所述表L和所述表R生成了所述表J后,所述秘密等值连接方法执行:
第二置换生成步骤,所述第二置换生成单元通过将所述连接结果元素列([[e1]],..,[[en]])进行稳定排序,生成置换<σ~>;以及
行重新排列步骤,所述行重新排列单元使用所述置换<σ~>,由所述表J的第1列([[q’1]],..,[[q’n]])生成所述表J’的第1列([[q”1]],..,[[q”n]])=[[σ~([[q’1]],..,[[q’n]])]],对j=2,..,a,由所述表J的第j列([[v’1,j]],..,[[v’n,j]])生成所述表J’的第j列([[v”1,j]],..,[[v”n,j]])=[[σ~([[v’1,j]],..,[[v’n,j]])]],对j=a+1,..,a+b-1,由所述表J的第j列([[u’1,j-a+1]],..,[[u’n,j-a+1]])生成所述表J’的第j列([[u”1,j-a+1]],..,[[u”n,j-a+1]])=[[σ~([[u’1,j-a+1]],..,[[u’n,j-a+1]])]]。
7.一种秘密等值连接方法,
将ZN设为从0至N的整数的集合(N为1以上的整数)构成的有限环,将m,n设为1以上的整数,将a,b设为2以上的整数,将pi(1≦i≦m,其中,p1,..,pm互不相同)、vi,j(1≦i≦m,2≦j≦a)、qi(1≦i≦n)、ui,j(1≦i≦n,2≦j≦b)设为非0的有限环ZN的元素,
将[[x]]设为表示隐匿了x∈ZN的值,将<π>设为表示基于秘密计算的置换π,
使用由3个以上的秘密等值连接装置构成的、包含第一置换生成单元、第一列生成单元、连接结果元素列生成单元、第二列生成单元、第三列生成单元、第二置换生成单元、行重新排列单元、连接行数计算单元和连接行数公开单元的秘密等值连接系统,由隐匿了各元素的m行a列的表L、n行b列的表R生成c行a+b-1列的表J”,
在通过权利要求6中记载的秘密等值连接方法,由所述表L和所述表R生成了所述表J’后,所述秘密等值连接方法执行:
连接行数计算步骤,所述连接行数计算单元计算所述连接结果元素列([[e1]],..,[[en]])的各元素的和[[c]];以及
连接行数公开步骤,所述连接行数公开单元公开将所述和[[c]]复原而得到的所述c,生成从所述表J’的上面开始提取了c行的所述表J”。
8.一种程序,用于使计算机具有作为构成权利要求1至3的任意一项所述的秘密等值连接系统的秘密等值连接装置的功能。
CN201780058429.8A 2016-09-27 2017-09-14 秘密等值连接系统、连接装置、连接方法、记录介质 Active CN109791741B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016187782 2016-09-27
JP2016-187782 2016-09-27
PCT/JP2017/033283 WO2018061800A1 (ja) 2016-09-27 2017-09-14 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム

Publications (2)

Publication Number Publication Date
CN109791741A true CN109791741A (zh) 2019-05-21
CN109791741B CN109791741B (zh) 2022-01-18

Family

ID=61760429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780058429.8A Active CN109791741B (zh) 2016-09-27 2017-09-14 秘密等值连接系统、连接装置、连接方法、记录介质

Country Status (6)

Country Link
US (1) US11250004B2 (zh)
EP (1) EP3522137B1 (zh)
JP (1) JP6605746B2 (zh)
CN (1) CN109791741B (zh)
AU (1) AU2017338060B2 (zh)
WO (1) WO2018061800A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3813042B1 (en) * 2018-06-20 2023-06-28 Nippon Telegraph And Telephone Corporation Secret combination system, method, secret calculation device, and program
WO2020036127A1 (ja) * 2018-08-13 2020-02-20 日本電信電話株式会社 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム
EP3839923B1 (en) * 2018-08-13 2023-11-22 Nippon Telegraph And Telephone Corporation Secret strong mapping calculation system, method therefor, secret calculation device, and program
JPWO2023276142A1 (zh) 2021-07-02 2023-01-05

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117255A1 (en) * 2011-11-08 2013-05-09 International Business Machines Corporation Accessing a dimensional data model when processing a query
US20130179470A1 (en) * 2012-01-11 2013-07-11 Fujitsu Limited Table processing apparatus and method
CN103377260A (zh) * 2012-04-28 2013-10-30 阿里巴巴集团控股有限公司 一种网络日志url 的分析方法及装置
CN103678589A (zh) * 2013-12-12 2014-03-26 用友软件股份有限公司 一种基于等价类的数据库内核查询优化方法
CN103823834A (zh) * 2013-12-03 2014-05-28 华为技术有限公司 一种哈希连接算子间数据传递的方法及装置
JP2014139640A (ja) * 2013-01-21 2014-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算による表の等結合システム、方法
US20140380051A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Secure data access using sql query rewrites
WO2016114309A1 (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
CN105900164A (zh) * 2014-01-17 2016-08-24 日本电信电话株式会社 秘密计算方法、秘密计算系统、拣选装置以及程序

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457000B1 (en) * 1999-07-29 2002-09-24 Oracle Corp. Method and apparatus for accessing previous rows of data in a table
JP5742849B2 (ja) * 2010-09-28 2015-07-01 日本電気株式会社 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
JP5689845B2 (ja) * 2012-03-26 2015-03-25 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117255A1 (en) * 2011-11-08 2013-05-09 International Business Machines Corporation Accessing a dimensional data model when processing a query
US20130179470A1 (en) * 2012-01-11 2013-07-11 Fujitsu Limited Table processing apparatus and method
CN103377260A (zh) * 2012-04-28 2013-10-30 阿里巴巴集团控股有限公司 一种网络日志url 的分析方法及装置
JP2014139640A (ja) * 2013-01-21 2014-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算による表の等結合システム、方法
US20140380051A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Secure data access using sql query rewrites
CN103823834A (zh) * 2013-12-03 2014-05-28 华为技术有限公司 一种哈希连接算子间数据传递的方法及装置
CN103678589A (zh) * 2013-12-12 2014-03-26 用友软件股份有限公司 一种基于等价类的数据库内核查询优化方法
CN105900164A (zh) * 2014-01-17 2016-08-24 日本电信电话株式会社 秘密计算方法、秘密计算系统、拣选装置以及程序
WO2016114309A1 (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ROSARIO GENNARO 等: "《Simplified VSS and fast-track multiparty computations with applications to threshold cryptography》", 《PRINCIPLES OF DISTRIBUTED COMPUTING》 *
SVEU LAUR 等: "《From Oblivious AES to Efficient and Secure Database Join in the Multiparty Setting》", 《INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH》 *

Also Published As

Publication number Publication date
AU2017338060A1 (en) 2019-04-11
AU2017338060B2 (en) 2020-06-25
US20190228010A1 (en) 2019-07-25
JP6605746B2 (ja) 2019-11-13
EP3522137A4 (en) 2020-05-20
WO2018061800A1 (ja) 2018-04-05
EP3522137B1 (en) 2021-09-01
JPWO2018061800A1 (ja) 2019-06-24
EP3522137A1 (en) 2019-08-07
US11250004B2 (en) 2022-02-15
CN109791741B (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
Alabdulatif et al. Towards secure big data analytic for cloud-enabled applications with fully homomorphic encryption
Cho et al. Secure genome-wide association analysis using multiparty computation
Gelfand et al. Perturbation expansions for quantum many-body systems
CN109791741A (zh) 秘密等值连接系统、秘密等值连接装置、秘密等值连接方法、程序
CN105900164B (zh) 秘密计算方法、秘密计算系统、拣选装置以及记录介质
CN105593919B (zh) 秘密商转移装置及方法、秘密比特分解装置及方法、秘密模数转换装置及方法
JP2014081475A (ja) 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
Sav et al. Privacy-preserving federated neural network learning for disease-associated cell classification
CN110199339A (zh) 秘密计算系统、秘密计算装置、秘密计算方法、程序
CN109328377A (zh) 秘密计算系统、秘密计算装置、秘密计算方法、以及程序
JP2023063430A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
Chen et al. Secure large-scale genome data storage and query
WO2019087317A1 (ja) 秘密計算装置、システム、方法、プログラム
Chen et al. Privacy-preserving SVM on outsourced genomic data via secure multi-party computation
Yu et al. A new method for robust mixture regression
Xu et al. VF-CART: A communication-efficient vertical federated framework for the CART algorithm
Biasse et al. A trade-off between classical and quantum circuit size for an attack against CSIDH
Gyarmati et al. On the information ratio of graphs without high-degree neighbors
Wolny et al. Diffraction pattern of modulated structures described by Bessel functions
EP3246900B1 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
CN105917400A (zh) 元素复制装置、元素复制方法、以及程序
WO2023157118A1 (ja) 秘密計算装置、秘密計算方法、プログラム
WO2023228273A1 (ja) 秘密属性選択システム、秘密属性選択装置、秘密属性選択方法、プログラム
Wu et al. UP-MLE: efficient and practical updatable block-level message-locked encryption scheme based on update properties
Boglaev Numerical solutions of coupled systems of nonlinear elliptic equations

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