CN111052206B - 秘密计算装置、秘密计算方法以及记录介质 - Google Patents

秘密计算装置、秘密计算方法以及记录介质 Download PDF

Info

Publication number
CN111052206B
CN111052206B CN201880054049.1A CN201880054049A CN111052206B CN 111052206 B CN111052206 B CN 111052206B CN 201880054049 A CN201880054049 A CN 201880054049A CN 111052206 B CN111052206 B CN 111052206B
Authority
CN
China
Prior art keywords
information
secret
processing
matrix
hidden information
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
Application number
CN201880054049.1A
Other languages
English (en)
Other versions
CN111052206A (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 CN111052206A publication Critical patent/CN111052206A/zh
Application granted granted Critical
Publication of CN111052206B publication Critical patent/CN111052206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

秘密计算装置得到在元素中具有一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}。其中,对表M(i0,…,iS-1)代入了计数器值ib,0,…,ib,S-1所得到的M(ib,0,…,ib,S-1)是作为Mb,2,1,…,Mb,3,2的任一个的矩阵Mb,γ,μ。秘密计算装置使用隐匿信息{ib,0},…,{ib,S-1}以及隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到隐匿信息{Mb,γ,μ},并得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU},所述残留处理包含在处理Pj,1、处理Pj,2、处理Pj,3,以及处理Pj,4之中的处理Pγ,μ之后进行的各处理。

Description

秘密计算装置、秘密计算方法以及记录介质
技术领域
本发明涉及块加密的秘密计算技术。
背景技术
在共同密钥加密方式之一中,有AES(Advanced Encryption Standard,高级加密标准)(例如,参照非专利文献1等)。在AES中,通过将元素的置换、行的循环移位、列的线性和以及循环密钥的相加反复进行的循环处理而进行加密。而且,在对明文按规定长度的每个块进行加密的加密利用模式之一中,有CTR模式。当AES以CTR模式实现时,在各块中执行循环处理,由此得到的每一块的密钥的密文被相加在各块的明文中。
现有技术文献
非专利文献
非专利文献1:Daniel J.Bernstein,Peter Schwabe,“New AES software speedrecords,”INDOCRYPT 2008,Progress in Cryptology-INDOCRYPT 2008pp.322-336.
发明内容
发明要解决的课题
本发明的目的在于,通过秘密计算而有效地执行将元素的置换、行的循环移位、列的线性和以及循环密钥的相加反复进行的循环处理。
用于解决课题的方案
B为1以上的整数,R为3以上的整数,S为2以上的整数,U=S2,F为有限域。b=0,…,B-1,r=1,…,R,j=2,…,R,第1循环的循环处理包含处理P1,4,处理P1,4包含对由第1循环的循环密钥k1∈FU的元素构成的S×S矩阵的一个列的S个元素分别相加S个计数器值ib,0,…,ib,S-1,得到矩阵Mb,1,4的处理。第j循环的循环处理包含处理Pj,1、处理Pj,2、处理Pj,3和处理Pj,4,处理Pj,1包含对矩阵Mb,j-1,4的各元素进行置换得到矩阵Mb,j,1的处理,处理Pj,2包含对每一行将矩阵Mb,j,1的各元素进行循环移位得到矩阵Mb,j,2的处理,处理Pj,3包含得到将矩阵Mb,j,2的各列的S个元素的线性和设为相应列的S个元素的矩阵Mb,j,3的处理,处理Pj,4が包含对矩阵Mb,j,3的各元素相加第j循环的循环密钥kj的各元素,得到矩阵Mb,j,4的处理。
秘密计算装置,进行前级处理,即,使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}。其中,对表M(i0,…,iS-1)代入了计数器值ib,0,…,ib,S-1所得到的M(ib,0,…,ib,S-1)是作为Mb,2,1,…,Mb,3,2的任一个的矩阵Mb,γ,μ。秘密计算装置进行后级处理,即,使用计数器值ib,0,…,ib,S-1的隐匿信息{ib,0},…,{ib,S-1}以及隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到关于b=0,…,B-1的矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ},使用任意的循环密钥k2,…,kR+1的隐匿信息以及隐匿信息{Mb,γ,μ},通过秘密计算,得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU},所述残留处理包含在关于j=2,…,R的处理Pj,1、处理Pj,2、处理Pj,3、以及处理Pj,4之中的处理Pγ,μ之后进行的各处理。
发明效果
在本发明中,能够通过秘密计算有效地执行将元素的置换、行的循环移位、列的线性和以及循环密钥的相加反复进行的循环处理。
附图说明
图1是例示了实施方式的秘密计算系统的方框图。
图2是例示了实施方式的秘密计算装置的功能结构的方框图。
图3A是例示了实施方式的表生成单元的功能结构的方框图。图3B是例示了实施方式的循环处理单元的功能结构的方框图。
图4是用于说明实施方式的处理整体的概念图。
图5是用于说明通常的块加密的概念图。
图6是用于说明实施方式的加密处理的流程图。
图7是用于说明实施方式的表生成处理的细节的流程图。
图8是用于说明实施方式的循环处理的细节的流程图。
图9是用于说明实施方式的循环处理的细节的流程图。
具体实施方式
以下,参照附图说明本发明的实施方式。
[第1实施方式]
首先,说明第1实施方式。
<结构>
如图1例示的,本方式的秘密计算系统1具有N个秘密计算装置10-0~10-(N-1)。N为1以上的整数。例如,在使用通过秘密分散所得到的份额进行秘密计算的情况下,N≧2,在使用准同态密文进行秘密计算的情况下,N≧1。在N≧2的情况下,秘密计算装置10-0~10-(N-1)构成为可通过网络进行通信。
如图2例示的,本方式的秘密计算装置10-n(其中,n=0,…,N-1)具有:初始存储单元1001-n、表存储单元1002-n、计数器更新单元1003-n、表生成单元1010-n、表计算单元1020-n、循环处理单元1030-n、加法运算单元1041-n、以及控制单元1051-n。秘密计算装置10-n在控制单元1051-n的控制下执行各处理。在各处理中得到的数据被存储在未图示的存储器中。存储器中所存储的数据根据需要被读出,用于各处理。
如图3A所例示的,表生成单元1010-n具有秘密计算单元1011-n以及控制单元1012-n。如图3B所例示的,循环处理单元1030-n具有秘密计算单元1031-n以及控制单元1032-n。
<处理的概要>
如图4以及图5所例示的,本方式的秘密计算装置10-n使用第1,…,R+1循环的循环密钥k1,…,kR+1∈FU的隐匿信息{k1},…,{kR+1}∈{FU},以及各块b=0,…,B-1的计数器值ib,0,…,ib,S-1∈F的隐匿信息{ib,0},…,{ib,S-1}∈{F},通过秘密计算,在各块b=0,…,B-1中进行块加密。接着,秘密计算装置10-n对在各块b=0,…,B-1的块加密中得到的隐匿信息、和将加密对象的明文P分割为B个块得到的明文块P0,…,PB-1∈FU的隐匿信息{P0},…,{PB-1}∈{FU},通过秘密计算进行加法运算(例如,“异或”)。其中,B为1以上的整数,R为3以上的整数,S为2以上的整数,U=S2,F为有限域。有限域F的例子是基于基域(basic field)的扩展域。基域的例子,是由以素数为模的剩余构成的集合,在该基域中的运算结果作为以该素数为模的剩余而得到。例如,F将位数2的基域进行8次扩展后的扩展域GF(28)。例如,在基域的元是2字节的数据的情况下,扩展域GF(28)的元成为1字节(=8比特)的数据。在该情况下,能够通过扩展域GF(28)表现256种的值。Fα是指将α个有限域F的元作为元素的集合。而且,α∈β是指α属于β。{β}是指α∈β的隐匿信息{α}所属的集合。
《块加密》
在本方式的块加密中,使用表,使通常的块加密处理高效。如图5所例示的,通常的块加密处理包含1~R+1循环的循环处理。例如,将AES在CTR模式下实现的块加密处理,分别在密钥长为128比特的情况下包含1~11循环的处理,在密钥长度为192比特的情况下包含1~13循环的处理,在密钥长度为256比特的情况下,包含1~15循环的处理。
第1循环的循环处理包含相加处理P1,4(处理P1,4)。相加处理P1,4包含分别将S个计数器值ib,0,…,ib,S-1与由第1循环的循环密钥k1∈FU的元素构成的S×S矩阵的一个列的S个元素进行相加,得到矩阵Mb,1,4的处理。在AES的情况下,相加处理P1,4相当于第1循环的AddRoundKey。
第j循环(其中,j=2,…,R)的循环处理包含:进行元素的置换的置换处理Pj,1(处理Pj,1)、进行行的循环移位的移位处理Pj,2(处理Pj,2)、进行列的线性和的混合处理Pj,3(处理Pj,3)、以及进行循环密钥的加法运算的相加处理Pj,4(处理Pj,4)。在AES的情况下,置换处理Pj,1相当于SubBytes,移位处理Pj,2相当于ShiftRows,混合处理Pj,3相当于MixColumns,相加处理Pj,4相当于AddRoundKey。置换处理Pj,1,包含将矩阵Mb,j-1,4的各元素进行置换,得到矩阵Mb,j,1的处理。例如,置换处理Pj,1是将矩阵Mb,j-1,4的各元素按照预先确定的步骤(例如,S-box)进行置换,得到矩阵Mb,j,1的处理。在AES的情况下,对矩阵Mb,j-1,4的各元素,进行基于不可约多项式x8+x4+x3+x+1的扩展域GF(28)上的乘法逆元运算,进而通过进行仿射变换的结果对各元素进行置换,得到矩阵Mb,j,1(参考文献1:情報セキュリティ対策基盤整備事業「電子政府推奨暗号の実装」,独立行政法人情報処理推進機構)。移位处理Pj,2,包含将矩阵Mb,j,1的各元素对每一行进行循环移位,得到矩阵Mb,j,2的处理。例如,移位处理Pj,2是将矩阵Mb,j,1的第ι+1(其中,ι=0,…,P-1)行的行,在规定的方向(例如,左方向)循环移位相当ι元素量的处理。混合处理Pj,3,包含得到将矩阵Mb,j,2的各列的S个元素的线性和作为相应列的S个元素的矩阵Mb,j,3的处理。这些线性和的各项的系数对每个行不同。相加处理Pj,4,包含对矩阵Mb,j,3的各元素相加第j循环的循环密钥kj的各元素,得到矩阵Mb,j,4的处理。
第R+1循环的循环处理,包含:进行元素的置换的置换处理PR+1,1、进行行的循环移位的移位处理PR+1,2、以及进行循环密钥的加法运算的相加处理PR+1,4
《本方式的块加密》
说明本方式的块加密的特征。如前述,在第1循环的相加处理P1,4中,对由循环密钥k1的元素构成的S×S矩阵的一个列的S个元素分别相加S个计数器值ib,0,…,ib,S-1,得到矩阵Mb,1,4。在S=4,U=16,循环密钥k1=(k1,0,…,k1,15)的情况下,矩阵Mb,1,4例如为以下这样。
【式1】
Figure GDA0004087969040000051
其中,n0,…,n11∈F为任意值。也可以是n0=…=n11=0。在AES中,n0,…,n11相当于nonce。
第2循环的置换处理P2,1,将矩阵Mb,1,4的各元素按照预先确定的步骤进行置换,得到矩阵Mb,j,1。该处理对于矩阵Mb,1,4的每个元素进行。因此,能够将各元素的置换处理以函数fs:F→F表现。在S=4,U=16,循环密钥k1=(k1,0,…,k1,15)的情况下,矩阵Mb,2,1如下。
【式2】
Figure GDA0004087969040000061
循环密钥k1以及任意值n0,…,n12在全部块b=0,…,B-1中是共同的,可视为常数。对于块b=0,…,B-1的每一个,不同的是计数器值ib,0,…,ib,3。若将计数器值ib,0,…,ib,3设为计数器值的变量i0,…,i3,则式(2)能如下这样变形。
【式3】
Figure GDA0004087969040000062
这里,f1,0,…,f1,11由于在全部块b=0,…,B-1中是共同的而可视为常数,f1,12(i3),…,f1,15(i0)是对于变量i=i0,…,i3的一变量函数值。即,各块b=0,…,B-1的矩阵Mb,2,1可以概括为在元素中具有对于变量i=i0,…,i3的一变量函数值的表M(i0,…,i3)。这不仅是S=4的情况下,其它的S的情况也同样。即,各块b=0,…,B-1的矩阵Mb,2,1可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表。
第2循环的移位处理P2,2是对每一行循环移位矩阵Mb,2,1的各元素,得到矩阵Mb,2,2的处理。若将式(3)的矩阵Mb,2,1的第ι+1行的行向左方向循环移位相当ι元素量,则能够得到以下的矩阵Mb,2,2
【式4】
Figure GDA0004087969040000071
这样,各块b=0,…,B-1的矩阵Mb,2,2,也可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表。
第2循环的混合处理P2,3,是得到将矩阵Mb,2,2的各列的S个元素的线性和作为相应列的S个元素的矩阵Mb,2,3的处理。若对于式(4)的矩阵Mb,2,2进行混合处理P2,3,则例如如下这样。
【式5】
Figure GDA0004087969040000072
其中,
【式6】
Figure GDA0004087969040000073
。x0,…,x11在全部块b=0,…,B-1中是共同的,因此可视为常数,x12,…,x15是对于变量i=i0,…,iS-1的一变量函数值。因此,式(5)可以如下这样变形。
【式7】
Figure GDA0004087969040000081
其中,f2,s(i)(其中,s=0,…,S-1,i=i0,…,iS-1)是一变量函数值。即,矩阵Mb,2,3,也可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表。
由于之后的第2循环的相加处理P2,4以及第3循环的置换处理P3,1是每个元素的处理,因此通过相加处理P2,4得到的矩阵Mb,2,4以及通过置换处理P3,1得到的矩阵Mb,3,1也可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表。进而,第3循环的移位处理P3,2仅对元素进行循环移位,因此,由此得到的矩阵Mb,3,2也可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值。例如,矩阵Mb,3,2为以下这样。
【式8】
Figure GDA0004087969040000082
即,矩阵Mb,2,1,…,Mb,3,2可以概括为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表。这里,在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)中,若代入各块b的计数器值ib,0,…,ib,S-1,则可得到在各块b中的矩阵M(ib,0,…,ib,S-1)。表M(i0,…,iS-1)的元素可视为一变量函数值或者常数。因此,表M(i0,…,iS-1)的各元素可以用有限域F的元的数据量以下来表现,表M(i0,…,iS-1)全体可以用其U倍的数据量以下表现。例如,在S=4,有限域F为GF(28),该元的可取的值的数为256种的情况下,表M(i0,…,iS-1)的各元素的可取的值的数为256种以下,在整个表中为1字节×256种×16个=4096字节以下的数据量。另一方面,在第3循环的混合处理P3,3以后中,如果不能将所得到的矩阵表现为在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表(为在元素中具有多变量函数值的表),表的大小会变大。
利用以上的特征,秘密计算装置10-n首先使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}。其中,对表M(i0,…,iS-1)中代入计数器值ib,0,…,ib,S-1所得到的M(ib,0,…,ib,S-1)为矩阵Mb,γ,μ。矩阵Mb,γ,μ为Mb,2,1,…,Mb,3,2中的任一个(γ=2,3,μ=1,…,4)。接着,秘密计算装置10-n使用计数器值ib,0,…,ib,S-1的隐匿信息{ib,0},…,{ib,S-1}以及隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到对于b=0,…,B-1的矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ}。由此,能够以较少的运算量得到矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ}。特别地,在秘密计算中进行置换处理的情况下,需要在秘密计算装置10-0~10-(N-1)间进行通信。如果使用隐匿信息{M(i0,…,iS-)},则能够削减该通信。特别地,在Mb,γ,μ为Mb,3,1或者Mb,3,2的情况下,能够削减2次的处理P2,1,P2,2所需要的通信。若将密钥长度设为128比特,则该削减成为20%的通信量的削减,能够实现25%的高速化。
之后,秘密计算装置10-n进行后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及隐匿信息{Mb,γ,μ},通过秘密计算,得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU}。后级处理,包含在关于j=2,…,R的置换处理Pj,1、移位处理Pj,2、混合处理Pj,3、以及相加处理Pj,4中的处理Pγ,μ之后进行的各处理。例如,在Γ=R+1,MU=4的情况下,秘密计算装置10-n通过后级处理得到隐匿信息{Mb,R+1,4}并输出。
<处理的细节>
使用图6至图11,说明处理的细节。
《前提》
作为前提,假设在初始存储单元1001-n中存储了循环密钥k1,…,kR+1的隐匿信息{k1},…,{kR+1}、计数器值i0,0,…,i0,S-1的隐匿信息{i0,0},…,{i0,S-1}、明文块P0,…,PB-1的隐匿信息{P0},…,{PB-1}。隐匿信息可以是按照秘密分散方式的份额(秘密分散值),也可以是按照准同态加密方式的密文(RSA加密方式或ElGamal加密方式等的密文)。再者,使用按照秘密分散方式的隐匿信息的秘密计算的方法,例如记载在千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3パーティ秘匿関数計算の再考”,CSS2010,2010年(参考文献2)、「Michael Ben-Or,Shafi Goldwasser,Avi Wigderson:Completeness Theorems forNon-Cryptographic Fault-Tolerant Distributed Computation(Extended Abstract).STOC 1988:1-10」(参考文献3)等中。
《步骤S1010-n》
表生成单元1010-n进行前级处理,即,使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}。其中,在表M(i0,…,iS-1)中代入了计数器值ib,0,…,ib,S-1得到的M(ib,0,…,ib,S-1)为任意的矩阵Mb,γ,μ=Mb,2,1,…,Mb,3,2。即,表生成单元1010-n的秘密计算单元1011-n将计数器值ib,0,…,ib,S-1设为变量i0,…,iS-1,在控制单元1012-n的控制下,使用成为需要的循环密钥k1,…,kR的隐匿信息,通过秘密计算执行从相加处理P1,4至任意的处理Pγ,μ(其中,Pγ,μ为P2,1,…,P3,2的任一个)(步骤S1011-n),得到隐匿信息{M(i0,…,iS-1)}。例如,在Mb,γ,μ=Mb,2,1的情况下,表生成单元1010-n的秘密计算单元1011-n将计数器值ib,0,…,ib,S-1设为变量i0,…,iS-1,使用隐匿信息{k1},{k2},通过秘密计算执行第1循环的相加处理P1,4和第2循环的置换处理P2,1,得到通过置换处理P2,1得到的矩阵的隐匿信息作为隐匿信息{M(i0,…,iS-1)}并输出(例如,式(3)的隐匿信息)。例如,在Mb,γ,μ=Mb,3,1的情况下,表生成单元1010-n的秘密计算单元1011-n将计数器值ib,0,…,ib,S-1设为变量i0,…,iS-1,使用隐匿信息{k1},{k2},{k3},通过秘密计算执行第1循环的相加处理P1,4、第2循环的置换处理P2,1、移位处理P2,2、混合处理P2,3、相加处理P2,4、第3循环的置换处理P3,1,得到通过置换处理P3,1得到的矩阵的隐匿信息作为隐匿信息{M(i0,…,iS-1)}并输出。例如,在Mb,γ,μ=Mb,3,2的情况下,表生成单元1010-n的秘密计算单元1011-n,将计数器值ib,0,…,ib,S-1设为变量i0,…,iS-1,使用隐匿信息{k1},{k2},{k3},通过秘密计算执行第1循环的相加处理P1,4、第2循环的置换处理P2,1、移位处理P2,2、混合处理P2,3、相加处理P2,4、第3循环的置换处理P3,1、移位处理P3,2,得到通过移位处理P3,2得到的矩阵的隐匿信息作为隐匿信息{M(i0,…,iS-1)}并输出(例如,式(8)的隐匿信息)。隐匿信息{M(i0,…,iS-1)}被存储在表存储单元1002-n中。
《步骤S1020-n》
计数器更新单元1003-n使用在初始存储单元1001-n中存储的计数器值i0,0,…,i0,S-1的隐匿信息{i0,0},…,{i0,S-1},通过秘密计算,得到块b’=2,…,B-1的计数器值ib’,0,…,ib’,S-1的隐匿信息{ib’,0},…,{ib’,S-1}并输出。计数器值ib’,0,…,ib’,S-1是通过对计数器值i0,0,…,i0,S-1应用预先确定的规则得到的值。例如,将表现使通过计数器值ib’-1,0,…,ib’-1,S-1所表现的值ib’-1,0…ib’-1,S-1增加了相当规定值(例如,1)所得到的值ib’-1,0,…,ib’-1,S-1+1的值,设为计数器值ib’,0,…,ib’,S-1。表计算单元1020-n,使用从初始存储单元1001-n读出、或者从计数器更新单元1003-n输出的隐匿信息{ib,0},…,{ib,S-1}、以及从表存储单元1002-n读出的隐匿信息{M(i0,…,iS-1)},通过秘密计算,对于b=0,…,B-1,得到矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ}={M(ib,0,…,ib,S-1)}并输出。
《步骤S1030-n》
循环处理单元1030-n进行后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及隐匿信息{Mb,γ,μ},通过秘密计算(步骤S1031b-n),得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU}。残留处理,是包含在对于j=2,…,R的置换处理Pj,1、移位处理Pj,2、混合处理Pj,3、以及相加处理Pj,4中的处理Pγ,μ之后进行的各处理的处理。处理Pγ,μ,与在表计算单元1020-n中得到的隐匿信息{Mb,γ,μ}={M(ib,0,…,ib,S-1)}对应。例如,在Mb,γ,μ=Mb,3,2且Γ=R+1,MU=4的情况下,循环处理单元1030-n使用隐匿信息{k3},…,{kR+1}以及隐匿信息{Mb,3,2},通过秘密计算,执行从第3循环的混合处理P3,3至第R循环的相加处理PR,4,进而得到执行第R+1循环的置换处理PR+1,1、移位处理PR+1,2、相加处理PR+1,4所得到的矩阵Mb,R+1,4的隐匿信息{Mb,R+1,4}并输出。
《步骤S1041-n》
加法运算单元1041-n对于各块b=0,…,B-1,将隐匿信息{Mb,R+1,4}以及隐匿信息{Pb}作为输入,通过秘密计算得到Cb=Mb,R+1,4+Pb∈FU的隐匿信息{Cb}并输出。
<本方式的特征>
如以上,在本方式中,生成表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)},使用隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到各块b=0,…,B-1的隐匿信息{Mb,γ,μ}。表M(i0,…,iS-1)的大小可以用F的U倍以下的数据量来表现,通过使用隐匿信息{M(i0,…,iS-1)}进行各块b=0,…,B-1的处理,可以削减运算量。进而,在Mb,γ,μ为Mb,3,1或者Mb,3,2的情况下,可以削减2次的处理P2,1,P2,2的秘密计算所需要的通信。这样,在本方式中,能够通过秘密计算有效地执行将元素的置换、行的循环移位、列的线性和以及循环密钥的相加反复进行的循环处理。
[第2实施方式]
第2实施方式是第1实施方式的变形例,生成用于进行篡改探测的校验和,进行篡改探测。其中,如前述,在至得到表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}为止的前级处理中所处理的数据量小。另一方面,在前级处理之后进行的后级处理中所处理的数据量格外地大。在本方式中,根据这些差异,以不同的方式生成校验和。由此,能够进行安全有效的加密。以下,以与第1实施方式的不同点为中心进行说明,对于已经说明过的事项,使用相同的参照号码,简化说明。
<结构>
如图1所例示的,本方式的秘密计算系统2具有N个秘密计算装置20-0~20-(N-1)。N为1以上的整数。在N≧2的情况下,秘密计算装置20-0~20-(N-1)被构成为可通过网络进行通信。
如图2所例示的,本方式的秘密计算装置20-n(其中,n=0,…,N-1),具有:初始存储单元1001-n、表存储单元1002-n、计数器更新单元1003-n、表生成单元2010-n、表计算单元1020-n、循环处理单元2030-n、加法运算单元1041-n、同步单元2042-n、合法性验证单元2043-n、2044-n、以及控制单元1051-n。秘密计算装置20-n在控制单元1051-n的控制下执行各处理。在各处理中所得到的数据被存储在未图示的存储器中。存储器中所存储的数据根据需要被读出,用于各处理。
如图3A所例示的,表生成单元2010-n具有秘密计算单元1011-n、控制单元1012-n、随机数生成单元2015-n、以及校验和更新单元2016-n。如图3B所例示的,循环处理单元2030-n,具有秘密计算单元1031-n、控制单元1032-n、虚拟块生成单元2035a-n、隐匿化单元2035b-n、结合单元2035c-n、随机置换单元2036-n、以及校验和更新单元2037-n、2038-n。
<处理的概要>
在本方式中,在处理数据量小的前级处理和处理数据量格外大的后级处理中,通过互不相同的方式生成校验和。即,表生成单元2010,按照第1方式生成用于探测在前级处理中的篡改的第1校验和,循环处理单元2030按照第2方式,生成用于探测在后级处理中的篡改的第2校验和。这里,第1方式是安全性的高低不依赖于作为篡改探测对象的隐匿信息的还原值的数据量的方式。作为第1方式的例子,能够例示在「Dai Ikarashi,Ryo Kikuchi,Koki Hamada,and Koji Chida,“Actively Private and Correct MPC Scheme in t<n/2from Passively Secure Schemes with Small Overhead,”Cryptology ePrintArchive,Report 2014/304,2014.(参考文献4)」以及国际公开第WO/2016/104476号(参考文献5)中记载的方式。另一方面,第2方式,是安全性的高低依赖于作为篡改探测对象的隐匿信息的还原值的数据量的方式。即,第2方式是,作为篡改探测对象的隐匿信息的还原值的数据量为α1时的安全性,高于作为篡改探测对象的隐匿信息的还原值的数据量为α2时的安全性的方式。其中,α1大于α2。例如,第2方式是,作为篡改探测对象的隐匿信息的还原值的数据量越多,安全性越高的方式。作为第2方式的例子,可以例示在‘五十嵐大,菊池亮,濱田浩気,千田浩司,“少パーティ数の秘密分散ベース秘密計算における効率的なmaliciousモデル上SIMD計算の構成法,”コンピュータセキュリティシンポジウム2013論文集2013(4),793-800,2013-10-14(参考文献6)’以及国际公开第WO/2015/053184号(参考文献7)中记载的方式。其中,在参考文献6、7中虽未注明,但是为了进一步的高速化,作为随机置换,优选使用随机循环移位(随机旋转)。同样,在参考文献6、7中虽未注明,但是为了进一步的高速化,优选是所生成的虚拟块的个数Y和块数B的合计大于块数B的素数p。即,优选Y=p-B。更优选的是,p是大于块数B的最小的素数。而且,参考文献6、7的方式,以虚拟块不被隐匿化而可计算作为前提。但是,在本方式中,虚拟块也作为隐匿信息被处理。因此,在本方式中,将虚拟块的任一个作为待处理虚拟块,按照第3方式生成对于待处理虚拟块的校验和。由此,确保更高的安全性。而且,第3方式是,安全性的高低不依赖于作为篡改探测对象的隐匿信息的还原值的数据量的方式。例如,第3方式是与第1方式相同的方式。
<处理的细节>
使用图6至图11,说明处理的细节。
《前提》
与第1实施方式相同。
《步骤S2010-n》
与第1实施方式同样,表生成单元2010-n进行前级处理,即,使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)}。进而,在本方式中,表生成单元2010-n按照第1方式生成用于探测在该前级处理中的篡改的第1校验和。以下,表示采用了参考文献4、5的方式作为第1方式的例子。
步骤S2010-n的细节:
使用图7,例示步骤S2010-n的细节。该例子的隐匿信息是按照秘密分散方式的份额。前级处理包含采用了按照T种类的秘密分散方式meth0,…,methT-1的隐匿信息的秘密计算。该秘密计算是在前述的步骤S1010-n的过程中所执行的各秘密计算。
表生成单元2010-n的随机数生成单元2015-n(图3A)得到将对于t=0,…,T-1的随机数rt∈F进行秘密分散的隐匿信息{rt}并输出。其中,T为1以上的整数,t=0,…,T-1。隐匿信息{rt}的生成方法的具体例子公开于参考文献5。例如,首先,秘密计算装置20-n的随机数生成单元2015-n分别生成随机数r’n∈F。接着,各随机数生成单元2015-n通过在上述的参考文献2中记载的隐匿方法,生成随机数r’n的份额{r’n},发送到其他的随机数生成单元2015-n’(其中,n’=0,…,N-1)。然后,随机数生成单元2015-n分别计算{rt}=Σn<N{r’n},得到随机数rt的隐匿信息{rt}。由此,哪一个秘密计算装置20-1~20-(N-1)都不知道随机数rt,而随机数生成单元2015-n能够得到随机数rt的隐匿信息{rt}(步骤S2015-n)。
接着,校验和更新单元2016-n将在第1校验和中包含的C1,t初始化为空(空集合)。第1校验和可以仅由C1,t构成,也可以由C1,t和其它的信息构成(步骤S2016-n)。
在前述的前级处理中,假设为了得到隐匿信息{M(i0,…,iS-1)},进行Ψ个秘密计算Com0,…,ComΨ-1。其中,Ψ为1以上的整数。在进行使用按照秘密分散方式metht得到的隐匿信息{aλ}∈{F}的秘密计算Comψ(其中,ψ=0,…,Ψ-1)时,校验和更新单元2016-n,通过使用了隐匿信息{aλ}和隐匿信息{rt}的秘密计算,生成隐匿信息{aλrt}。其中,Λ为1以上的整数,λ=0,…,Λ-1。进而,校验和更新单元2016-n得到作为隐匿信息{aλ}和隐匿信息{aλrt}的组的随机分布值<aλ>=<{aλ},{aλrt}>,通过追加随机分布值<aλ>,更新C1,t。在秘密计算Comψ中使用多个的隐匿信息的情况下,校验和更新单元2016-n生成对于各个隐匿信息的随机分布值,通过追加它们,更新C1,t(步骤S2016a-n)。
秘密计算单元1011-n执行秘密计算Comψ(步骤S1011-n)。
通过执行秘密计算Comψ,能够得到作为按照秘密分散方式metht的秘密计算结果的隐匿信息{hw}。这时,校验和更新单元2016-n通过使用隐匿信息{hw}和隐匿信息{rt}的秘密计算,得到隐匿信息{hwrt}。其中,W是1以上的整数,w=0,…,W-1。进而,校验和更新单元2016-n得到作为隐匿信息{hw}和隐匿信息{hwrt}的组的随机分布值<hw>=<{hw},{hwrt}>,通过追加随机分布值<hw>,更新C1,t。在秘密计算结果包含多个隐匿信息的情况下,校验和更新单元2016-n生成对于各个隐匿信息的随机分布值,通过追加它们,更新C1,t(步骤S2016b-n)。
步骤S2016a-n~S2016b-n的处理被反复进行,直到执行Ψ个秘密计算Com0,…,ComΨ-1,得到隐匿信息{M(i0,…,iS-1)}为止。若得到隐匿信息{M(i0,…,iS-1)},则校验和更新单元2016-n输出包含
Figure GDA0004087969040000151
Figure GDA0004087969040000152
的第1校验和。其中,δ=0,…,Δ-1,/>
Figure GDA0004087969040000153
为随机分布值。
《步骤S1020-n》
除了由秘密计算装置20-n取代秘密计算装置10-n执行以外,与第1实施方式相同。
《步骤S2030-n》
与第1实施方式同样,循环处理单元2030-n进行后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及隐匿信息{Mb,γ,μ},通过秘密计算,得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU}。进而,在本方式中,循环处理单元2030-n按照第2方式生成用于探测在该后级处理中的篡改的第2校验和。以下,表示采用了参考文献6、7的方式的变更方式作为第2方式的例子。
步骤S2030-n的具体例子:
使用图8以及图9,说明步骤S2030-n的具体例子。该例子的隐匿信息是按照秘密分散方式的份额。
首先,虚拟块生成单元2035a-n生成Y个虚拟块D0,…,DY-1∈FU的隐匿信息{D0},…,{DY-1}并输出。其中,Y是1以上的整数,y=0,…,Y-1。如前述,优选Y=p-B。其中,p是大于B的素数。虚拟块D0,…,DY-1中的任一个被设为待处理虚拟块DP。待处理虚拟块DP可以是1个,也可以是2个以上。待处理虚拟块DP以外的虚拟块Dy’是公开值。虚拟块生成单元2035a-n将作为公开值的虚拟块Dy’以具有合法性的方法进行隐匿,得到隐匿信息{Dy’}。待处理虚拟块DP是公开值,也可以不是公开值。在前者的情况下,虚拟块生成单元2035a-n对作为公开值的虚拟块DP进行隐匿,得到隐匿信息{DP}。在后者的情况下,虚拟块生成单元2035a-n例如使用前述的隐匿信息{M(i0,…,iS-1)}和任意的计数器值idp,0,…,idp,S-1的隐匿信息{idp,0},…,{idp,S-1},通过秘密计算得到隐匿信息{M(idp,0,…,idp,S-1)},得到隐匿信息{DP}={M(idp,0,…,idp,S-1)}(步骤S2035-n)。
接着,循环处理单元2030-n进行虚拟后级处理,即,使用需要的任意的循环密钥k2,…,kR+1的隐匿信息以及待处理虚拟块DP的隐匿信息{DP},得到矩阵MDP,Γ,MU的隐匿信息{MDP,Γ,MU}。其中,矩阵MDP,Γ,MU是在待处理虚拟块DP中进行前述的残留处理得到的处理结果。这里说明Γ=R+1且MU=4的例子。这时,按照第3方式生成用于探测虚拟后级处理中的篡改的第3校验和。第3方式是,安全性不依赖于成为虚拟后级处理的对象的隐匿信息的还原值的数据量的方式。第3方式也可以与第1方式相同或不同。这里,示出第3方式和第1方式彼此相同的例子。
首先,校验和更新单元2038-n将在第3校验和中所包含的C3,t初始化为空(空集合)。第3校验和可以仅由C3,t构成,也可以由C3,t和其它的信息构成(步骤S2038-n)。
假设在前述的残留处理中进行Ψ’个秘密计算Com30,…,Com3Ψ’-1。其中,Ψ’为1以上的整数。在进行使用按照秘密分散方式metht的隐匿信息{dλ}∈{F}的秘密计算Com3ψ’(其中,ψ’=0,…,Ψ’-1)时,校验和更新单元2038-n通过使用了隐匿信息{dλ}和隐匿信息{rt}的秘密计算,生成隐匿信息{dλrt}。其中,Λ为1以上的整数,λ=0,…,Λ-1。进而,校验和更新单元2038-n得到作为隐匿信息{dλ}和隐匿信息{dλrt}的组的随机分布值<dλ>=<{dλ},{dλrt}>,通过追加随机分布值<dλ>,更新C3,t(步骤S2038a-n)。
秘密计算单元1031-n执行秘密计算Com3ψ’(步骤S2031a-n)。
通过执行秘密计算Com3ψ’,能够得到作为按照秘密分散方式metht的秘密计算结果的隐匿信息{h’w}。这时,校验和更新单元2038-n通过使用了隐匿信息{h’w}和隐匿信息{rt}的秘密计算,得到隐匿信息{h’wrt}。其中,W为1以上的整数,w=0,…,W-1。进而,校验和更新单元2038-n得到作为隐匿信息{h’w}和隐匿信息{h’wrt}的组的随机分布值<h’w>=<{h’w},{h’wrt}>,通过追加随机分布值<h’w>,更新C3,t。在秘密计算结果包含多个隐匿信息的情况下,校验和更新单元2038-n生成对于各个隐匿信息的随机分布值,通过追加它们,更新C3,t(步骤S2038b-n)。
步骤S2038a-n~S2038b-n的处理被反复进行,直到执行Ψ’个秘密计算Com30,…,Com3Ψ’-1,得到隐匿信息{MDP,Γ,MU}为止。在Γ=R+1且MU=4的情况下,反复步骤S2038a-n~S2038b-n的处理,直至R+1循环结束。若得到隐匿信息{MDP,Γ,MU},则校验和更新单元2038-n输出包含
Figure GDA0004087969040000171
的第3校验和。其中,δ’=0,…,Δ’-1,/>
Figure GDA0004087969040000173
Figure GDA0004087969040000172
为随机分布值。
接着,校验和更新单元2037-n将在第2校验和中包含的C2,A,C2,Π_q,C2,D初始化为空(空集合)。第2校验和可以仅由C2,A,C2,Π_q,C2,D构成,也可以由C2,A,C2,Π_q,C2,D和其它的信息构成(步骤S2037-n)。
随机置换单元2036-n,生成表示随机置换的内容的随机置换信息πq的隐匿信息{πq}。其中,Q为1以上的整数,q=0,…,Q-1。优选随机置换信息πq是表示随机循环移位的信息(步骤S2036a-n)。
在结合单元2035c-n中,被输入在步骤S1020-n中得到的对于b=0,…,B-1的隐匿信息{Mb,γ,μ}、以及在步骤S2035-n中得到的隐匿信息{D0},…,{DY-1}。结合单元2035c-n使用这些隐匿信息,通过秘密计算,得到将由矩阵M0,γ,μ,…,MB-1,γ,μ的元素构成的非随机序列A∈FUB的隐匿信息{A}和Y个虚拟块D0,…,DY-1∈FU的隐匿信息{D0},…,{DY-1}结合后的隐匿信息{A|D}={A|D0|…|DY-1}。其中,α|β表示α和β的结合(连结)(步骤S2035c-n)。
随机置换单元2036-n使用隐匿信息{πq}以及隐匿信息{A|D},通过秘密计算得到对A|D进行随机置换所得到的随机序列Πq=πq(A|D)∈FU(B+Y)的隐匿信息{Πq}={πq(A|D)}并输出。对于各q=0,…,Q-1执行该处理(步骤S2036b-n)。
假设在前述的残留处理中进行Θ个子处理Sub0,…,SubΘ-1的秘密计算。其中,Θ为1以上的整数,θ=0,…,Θ-1。秘密计算单元1031-n使用隐匿信息{A},对于构成非随机序列A的矩阵Mb,γ,μ的U个元素对应的隐匿信息{Mb,γ,μ}的每一个,执行各子处理Subθ的秘密计算。即,秘密计算单元1031-n对各隐匿信息{Mb,γ,μ}执行各子处理Subθ的秘密计算。由此,秘密计算单元1031-n,得到对构成非随机序列A的各矩阵Mb,γ,μ应用残留处理得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU}。另外,秘密计算单元1031-n对于q=0,…,Q-1,使用隐匿信息{Πq},对于构成随机序列Πq∈FU(B+Y)的U个元素Πq,b”,γ,μ∈FU对应的隐匿信息{Πq,b”,γ,μ}∈{FU}的每一个,执行各子处理Subθ的秘密计算。即,秘密计算单元1031-n对各隐匿信息{Πq,b”,γ,μ},执行各子处理Subθ的秘密计算。其中,b”=0,…,B-1,…,B+Y-1,Πq=Πq,0,γ,μ|…|Πq,B+Y-1,γ,μ。由此,秘密计算单元1031-n得到作为各子处理Subθ的秘密计算结果的隐匿信息{Πq,b”,Γ,MU}∈{FU}。进而秘密计算单元1031-n通过对于至少一部分的虚拟块Dy(例如,除去待处理虚拟块DP的虚拟块Dy)执行各子处理Subθ,得到各子处理Subθ的运算结果Dy,Γ,MU∈FU(步骤S2031b-n)。
隐匿化单元2035b-n以具有合法性的方法对运算结果Dy,Γ,MU进行隐匿,得到隐匿信息{Dy,Γ,MU}并输出(步骤S2035b-n)。
校验和更新单元2037-n以在直至得到隐匿信息{Mb,Γ,MU}的过程中得到的各子处理Subθ的秘密计算结果、即隐匿信息{Mb,θ,Γ,MU}∈{FU},更新C2,A。例如,在C2,A=(C0,2,A,…,CB-1,2,A)的情况下,校验和更新单元2037-n将(C0,2,A|{M0,θ,Γ,MU},…,CB-1,2,A|{MB-1,θ,Γ,MU})设为新的C2,A(步骤S2037b-n)。
而且,校验和更新单元2037-n对于q=0,…,Q-1,以各子处理Subθ的秘密计算结果、即隐匿信息{Πq,b”,θ,Γ,MU}∈{FU},更新C2,Π_q。例如,在C2,Π_q=(C0,2,Π_q,…,CB+Y-1,2,Π_q)的情况下,校验和更新单元2037-n将(C0,2,Π_q|{Πq,0,θ,Γ,MU},…,CB+Y-1,2,Π_q|{Πq,B+Y-1,θ,Γ,MU})设为新的C2,Π_q(步骤S2037c-n)。
进而,校验和更新单元2037-n以各子处理Subθ的运算结果的隐匿信息{Dy,θ,Γ,MU}∈{FU},更新C2,D。例如,在C2,D=(C0,2,D,…,CY-1,2,D)的情况下,校验和更新单元2037-n将(C0,2,D|{D0,θ,Γ,MU},…,CY-1,2,D|{DY-1,θ,Γ,MU})设为新的C2,D(步骤S2037d-n)。
对于全部Θ个子处理Sub0,…,SubΘ-1,执行步骤S2031b-n~S2037d-n的处理。之后,校验和更新单元2037-n输出包含C2,A,C2,Π_q,C2,D的第2校验和。
《步骤S1041-n》
除了由秘密计算装置20-n取代秘密计算装置10-n执行以外,与第1实施方式相同。
《步骤S2042-n》
同步单元2042-n执行等待至全部的秘密计算装置20-1~20-(N-1)中的全部的秘密计算结束为止的同步处理。在N=1的情况下,不执行同步处理。
《步骤S2043-n》
在合法性验证单元2043-n中,被输入包含
Figure GDA0004087969040000191
>的第1校验和以及包含/>
Figure GDA0004087969040000192
的第3校验和。合法性验证单元2043-n如参考文献4、5中所记载那样,对C1,t以及C3,t的合法性进行验证。
在对C1,t的合法性进行验证的情况下,合法性验证单元2043-n使用
Figure GDA0004087969040000193
Figure GDA0004087969040000194
的/>
Figure GDA0004087969040000195
/>
Figure GDA0004087969040000196
以及{rt},通过秘密计算,求对/>
Figure GDA0004087969040000197
的总和乘以rt得到的结果的隐匿信息/>
Figure GDA0004087969040000198
进而,合法性验证单元2043-n使用/>
Figure GDA0004087969040000199
通过秘密计算,求/>
Figure GDA00040879690400001910
的总和的隐匿信息/>
Figure GDA0004087969040000201
合法性验证单元2043-n使用隐匿信息/>
Figure GDA0004087969040000202
Figure GDA0004087969040000203
以及/>
Figure GDA0004087969040000204
通过秘密计算,得到/>
Figure GDA0004087969040000205
Figure GDA0004087969040000206
的隐匿信息{DC1,t},将DC1,t还原。对于全部的t=0,…,T-1,如果DC1,t=0,则合法性验证单元2043-n判定为在前级处理没有篡改,否则,判定为在前级处理中有篡改。
在对C3,t的合法性进行验证的情况下,合法性验证单元2043-n使用
Figure GDA0004087969040000207
Figure GDA0004087969040000208
Figure GDA0004087969040000209
以及{rt},通过秘密计算,求对/>
Figure GDA00040879690400002010
的总和乘以rt得到的结果的隐匿信息/>
Figure GDA00040879690400002011
进而,合法性验证单元2043-n使用
Figure GDA00040879690400002012
通过秘密计算,求/>
Figure GDA00040879690400002013
Figure GDA00040879690400002014
的总和的隐匿信息
Figure GDA00040879690400002015
合法性验证单元2043-n使用隐匿信息/>
Figure GDA00040879690400002016
以及/>
Figure GDA00040879690400002017
通过秘密计算,得到
Figure GDA00040879690400002018
的隐匿信息{DC3,t},将DC3,t还原。对于全部的t=0,…,T-1,如果DC3,t=0,则合法性验证单元2043-n判定为在后级处理中没有篡改,否则判定为在后级处理中有篡改。
《步骤S2044-n》
在合法性验证单元2044-n中,被输入包含C2,A,C2,Π_q,C2,D的第2校验和以及隐匿信息{πq}。如参考文献5,6中所记载那样,合法性验证单元2044-n对C2,A,C2,Π_q,C2,D的合法性进行验证。即,合法性验证单元2044-n公开隐匿信息{πq},得到随机置换信息πq,使用πq,C2,A,C2,Π_q,C2,D,通过秘密计算,得到从C2,Π_q的还原值中减去根据πq对C2,A|C2,D进行随机置换得到的列的还原值所得到的列的隐匿信息{ζq}={ζ0,q},…,{ζB+Y-1,q}。合法性验证单元2044-n对{FU}的每个元素分割隐匿信息{ζq}={ζ0,q},…,{ζB+Y-1,q}的各元素{ζb”,q}(其中,b”=0,…,B+Y-1),得到{ζ’b”,q,0},…,{ζ’b”,q,M”-1}∈{FU}的列。其中,M”是正的整数。对于不满足{FU}的元素填充{0}。合法性验证单元2044-n通过秘密计算,进行随机数ran的隐匿信息{ran}和{ζ’b”,q,0},…,{ζ’b”,q,M”-1}的积和运算,公开其结果{ζ},得到ζ。如果ζ为0,则合法性验证单元2044-n判定为在后级处理中没有篡改,否则判定为在后级处理中有篡改。
<本方式的特征>
与第1实施方式同样,在本方式中也能够通过秘密计算高效地执行将元素的置换、行的循环移位、列的线性和以及循环密钥的相加反复的循环处理。特别地,在本方式中,按照第1方式生成用于探测在前级处理中的篡改的第1校验和,按照第2方式生成用于探测在后级处理中的篡改的第2校验和。与前级处理相比,在后级处理中,处理数据量格外多。第2方式是,处理数据量越多,安全性越高的方式,适合探测后级处理中的篡改。另一方面,在前级处理中,由于处理数据量少,因此即使使用第2方式,效率也差。在本方式中,通过在前级处理和后级处理中变更校验和的生成方式,能够高效地实现安全性高的通信。而且,在前级处理中探测到篡改的情况下,丢弃全部的处理。另一方面,在后级处理中探测到篡改的情况下,可以丢弃全部的处理,也可以仅丢弃后级处理。
[第2实施方式的变形例]
在第2实施方式中,说明了对于Ψ个秘密计算Com0,…,ComΨ-1的全部,生成随机分布值,更新C1,t的例子(图7)。但是,也可以仅对于Ψ个秘密计算Com0,…,ComΨ-1的一部分生成随机分布值,更新C1,t。例如,对于在Ψ个秘密计算Com0,…,ComΨ-1之中、直至需要通信的最后的秘密计算,生成随机分布值,更新C1,t。例如,在隐匿信息{M(i0,…,iS-1)}为隐匿信息{Mb,3,1}或者{Mb,3,2}的情况下,也可以对于直至需要置换处理P3,1的通信的秘密计算(例如,SubBytes的乘法逆元运算的秘密计算),生成随机分布值,更新C1,t
而且,也可以在步骤S1020-n中进行的各秘密计算的前后中,生成随机分布值,更新C1,t。即,也可以在步骤S1020-n中,在进行使用了按照秘密分散方式metht的隐匿信息{aλ}的秘密计算时,通过使用了隐匿信息{aλ}和隐匿信息{rt}的秘密计算,得到隐匿信息{aλrt},得到作为隐匿信息{aλ}和隐匿信息{aλrt}的组的随机分布值<aλ>=<{aλ},{aλrt}>,通过追加随机分布值<aλ>,更新C1,t。进而,也可以在步骤S1020-n中,在得到了作为按照秘密分散方式metht的秘密计算结果的隐匿信息{hw}时,通过使用了隐匿信息{hw}和隐匿信息{rt}的秘密计算,得到隐匿信息{hwrt},得到作为隐匿信息{hw}和隐匿信息{hwrt}的组的随机分布值<hw>=<{hw},{hwrt}>,通过追加随机分布值<hw>,更新C1,t,从而更新包含C1,t的第1校验和。
而且,也可以生成用于探测在步骤S1041-n中的篡改的校验和,进行验证。该校验和优选按照第2方式生成。
[其它的变形例等]
而且,本发明并不限于上述的实施方式。上述的各种的处理,不仅可以按照记载以时间序列执行,也可以根据执行处理的装置的处理能力或者需要,并列地或者单独地执行。此外,当然不用说,在不脱离本发明的宗旨的范围内可适当进行变更。
上述的各装置,例如通过具有CPU(central processing unit,中央处理单元)等的处理器(硬件处理器)以及RAM(random-access memory,随机存取存储器)/ROM(read-only memory,只读存储器)等的存储器等的通用或者专用的计算机执行规定的程序构成。该计算机可以具有1个处理器或存储器,也可以具有多个处理器或存储器。该程序既可以安装在计算机中,也可以预先记录在ROM等中。而且,不是采用如CPU那样通过读入程序,实现功能结构的电子电路(circuitry),而是采用不使用程序,实现处理功能的电子电路,构成一部分或者全部的处理单元也可以。构成1个装置的电子电路也可以包含多个CPU。
在通过计算机实现上述的结构的情况下,各装置应具有的功能的处理内容通过程序记述。通过由计算机执行该程序,上述处理功能在计算机上实现。记述了该处理内容的程序,能够预先记录在由计算机可读取的记录介质中。由计算机可读取的记录介质的例子,是非临时性的(non-transitory)记录介质。这样的记录介质的例子,为磁记录装置、光盘、光磁记录介质、半导体存储器等。
该程序的流通,例如通过销售、转让、出租记录了该程序的DVD、CD-ROM等的便携式记录介质等进行。进而,也可以设为通过将该程序预先存储在服务器计算机的存储装置中,经由网络,从服务器计算机对其他的计算机转发该程序,使该程序流通的结构。
执行这样的程序的计算机,例如,首先将在便携式记录介质中记录的程序或者从服务器计算机转发的程序临时存储在自己的存储装置中。在处理的执行时,该计算机读取在自己的存储装置中存储的程序,执行按照读取的程序的处理。作为该程序的其它的执行方式,可以设为计算机从便携式记录介质直接读取程序,执行按照该程序的处理,进而,也可以设为在每次从服务器计算机对该计算机转发程序时,逐次执行按照接受到的程序的处理。也可以设为从服务器计算机,不进行对该计算机的程序的转发,由仅通过该执行指示和结果获取,实现处理功能的、所谓的ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。
不是在计算机上执行规定的程序实现本装置的处理功能,而是这些处理功能的至少一部分由硬件实现也可以。
标号说明
1,2 秘密计算系统
10-n,20-n 秘密计算装置

Claims (10)

1.一种秘密计算装置,其中,B为1以上的整数,R为3以上的整数,S为2以上的整数,U=S2,F为有限域,b=0,…,B-1,r=1,…,R,j=2,…,R,
第1循环的循环处理包含处理P1,4,所述处理P1,4包含对由第1循环的循环密钥k1∈FU的元素构成的S×S矩阵的一个列的S个元素分别相加S个计数器值ib,0,…,ib,S-1,得到矩阵Mb,1,4的处理,
第j循环的循环处理包含处理Pj,1、处理Pj,2、处理Pj,3和处理Pj,4,所述处理Pj,1包含对所述矩阵Mb,j-1,4的各元素进行置换,得到矩阵Mb,j,1的处理,所述处理Pj,2包含对于每一行将所述矩阵Mb,j,1的各元素进行循环移位,得到矩阵Mb,j,2的处理,所述处理Pj,3包含得到将所述矩阵Mb,j,2的各列的S个元素的线性和设为相应列的S个元素的矩阵Mb,j,3的处理,所述处理Pj,4包含对所述矩阵Mb,j,3的各元素相加第j循环的循环密钥kj的各元素,得到矩阵Mb,j,4的处理,
所述秘密计算装置具有:
表生成单元,进行前级处理,即,使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)};
表计算单元,对所述表M(i0,…,iS-1)代入了所述计数器值ib,0,…,ib,S-1所得到的M(ib,0,…,ib,S-1)是作为Mb,2,1,…,Mb,3,2的任一个的矩阵Mb,γ,μ,使用所述计数器值ib,0,…,ib,S-1的隐匿信息{ib,0},…,{ibS-1}以及所述隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到关于b=0,…,B-1的所述矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ};以及
循环处理单元,进行后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及所述隐匿信息{Mb,γ,μ},通过秘密计算,得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU},所述残留处理包含在对于j=2,…,R的所述处理Pj,1、所述处理Pj,2、所述处理Pj,3、以及所述处理Pj,4之中的处理Pγ,μ之后进行的各处理。
2.如权利要求1所述的秘密计算装置,
所述表生成单元,按照第1方式生成用于探测在所述前级处理中的篡改的第1校验和,
所述循环处理单元,按照第2方式生成用于探测在所述后级处理中的篡改的第2校验和,
所述第1方式是,安全性的高低不依赖于作为篡改探测对象的隐匿信息的还原值的数据量的方式,
所述第2方式是,作为篡改探测对象的隐匿信息的还原值的数据量为α1时的安全性,高于作为篡改探测对象的隐匿信息的还原值的数据量为α2时的安全性的方式,α1大于α2
3.如权利要求2所述的秘密计算装置,
T,Λ,W,Y,Q,Θ是1以上的整数,t=0,…,T-1,λ=0,…,Λ-1,w=0,…,W-1,y=0,…,Y-1,q=0,…,Q-1,θ=0,…,Θ-1,所述前级处理包含使用了按照T种类的秘密分散方式meth0,…,methT-1的隐匿信息的秘密计算,
(1)按照所述第1方式生成所述第1校验和的处理,包含:
(1-1)得到将随机数rt进行秘密分散后的隐匿信息{rt}的处理;以及
(1-2)在进行使用了按照所述秘密分散方式metht的隐匿信息{aλ}的秘密计算时,通过使用了所述隐匿信息{aλ}和所述隐匿信息{rt}的秘密计算,得到隐匿信息{aλrt},得到作为所述隐匿信息{aλ}和所述隐匿信息{aλrt}的组的随机分布值<aλ>=<{aλ},{aλrt}>,通过追加所述随机分布值<aλ>,更新C1,t
在得到了作为按照所述秘密分散方式metht的秘密计算结果的隐匿信息{hw}时,通过使用了所述隐匿信息{hw}和所述隐匿信息{rt}的秘密计算,得到隐匿信息{hwrt},得到作为所述隐匿信息{hw}和所述隐匿信息{hwrt}的组的随机分布值<hw>=<{hw},{hwrt}>,通过追加所述随机分布值<hw>,更新C1,t
从而更新包含C1,t的所述第1校验和的处理,
(2)按照所述第2方式生成所述第2校验和的处理,包含:
(2-1)得到将由矩阵M0,γ,μ,…,MB-1,γ,μ的元素构成的非随机序列A∈FUB的隐匿信息{A}和Y个虚拟块D0,…,DY-1∈FU的隐匿信息{D0},…,{DY-1}结合的隐匿信息{A|D}={A|D0|…|DY-1}的处理;
(2-2)使用所述隐匿信息{A|D},通过秘密计算,得到对A|D进行随机置换所得到的随机序列Πq=πq(A|D)∈FU(B+Y)的隐匿信息{Πq}={πq(A|D)}的处理;以及
(2-3)使用所述隐匿信息{A},对于构成所述非随机序列A的所述矩阵Mb,γ,μ的U个元素对应的隐匿信息{Mb,γ,μ}的每一个,执行子处理Sub0,…,SubΘ-1的秘密计算,得到对构成所述非随机序列A的所述矩阵Mb,γ,μ的元素应用所述残留处理所得到的所述矩阵Mb,Γ,MU的所述隐匿信息{Mb,Γ,MU},以至得到所述隐匿信息{Mb,Γ,MU}为止的过程中所得到的子处理Subθ的秘密计算结果,更新C2,A
以通过使用所述隐匿信息{Πq},对构成所述随机序列Πq的U个元素对应的隐匿信息的每一个,执行所述子处理Sub0,…,SubΘ-1的秘密计算所得到的各子处理Subθ的秘密计算结果,更新C2,Π_q
以通过对至少一部分的所述虚拟块Dy执行所述子处理Sub0,…,SubΘ-1得到的各子处理Subθ的运算结果的隐匿信息,更新C2,D
从而更新包含C2,A,C2,Π_q,C2,D的所述第2校验和的处理。
4.如权利要求3所述的秘密计算装置,
所述循环处理单元,还进行虚拟后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及作为所述虚拟块D0,…,DY-1的任一个的待处理虚拟块DP的隐匿信息{DP},得到对所述待处理虚拟块DP进行所述残留处理所得到的处理结果的隐匿信息,并按照第3方式生成用于探测所述虚拟后级处理中的篡改的第3校验和,
所述第3方式是,安全性的高低不依赖于作为篡改探测对象的隐匿信息的还原值的数据量的方式。
5.如权利要求4所述的秘密计算装置,
(3)按照所述第3方式生成所述第3校验和的处理,包含:
在进行使用了按照所述秘密分散方式metht的隐匿信息{dλ}的秘密计算时,通过使用所述隐匿信息{dλ}和所述隐匿信息{rt}的秘密计算得到隐匿信息{dλrt},并得到作为所述隐匿信息{dλ}和所述隐匿信息{dλrt}的组的随机分布值<dλ>=<{dλ},{dλrt}>,通过追加所述随机分布值<dλ>,更新C3,t
在得到了作为按照所述秘密分散方式metht的秘密计算结果的隐匿信息{h’w}时,通过使用了所述隐匿信息{h’w}和所述隐匿信息{rt}的秘密计算,得到隐匿信息{h’wrt},并得到作为所述隐匿信息{h’w}和所述隐匿信息{h’wrt}的组的随机分布值<h’w>=<{h’w},{h’wrt}>,通过追加所述随机分布值<h’w>,更新C3,t
从而更新包含C3,t的所述第3校验和的处理。
6.如权利要求3至5的任一项所述的秘密计算装置,
p是大于B的素数,Y=p-B。
7.如权利要求3至5的任一项所述的秘密计算装置,
所述随机置换是随机循环移位。
8.如权利要求1至5的任一项所述的秘密计算装置,
所述矩阵Mb,γ,μ是Mb,3,1或者Mb,3,2
9.一种秘密计算方法,其中,B为1以上的整数,R为3以上的整数,S为2以上的整数,U=S2,F为域,b=0,…,B-1,r=1,…,R,j=2,…,R,
第1循环的循环处理包含处理P1,4,所述处理P1,4包含对由第1循环的循环密钥k1∈FU的元素构成的S×S矩阵的一个列的S个元素,分别相加S个计数器值ib,0,…,ib,S-1,得到矩阵Mb,1,4的处理,
第j循环的循环处理包含处理Pj,1、处理Pj,2、处理Pj,3和处理Pj,4,所述处理Pj,1包含对所述矩阵Mb,j-1,4的各元素进行置换,得到矩阵Mb,j,1的处理,所述处理Pj,2包含对每个行将所述矩阵Mb,j,1的各元素进行循环移位,得到矩阵Mb,j,2的处理,所述处理Pj,3包含得到将所述矩阵Mb,j,2的各列的S个元素的线性和设为相应列的S个元素的矩阵Mb,j,3的处理,所述处理Pj,4包含对所述矩阵Mb,j,3的各元素相加第j循环的循环密钥kj的各元素,得到矩阵Mb,j,4的处理,
所述秘密计算方法包括:
表生成步骤,表生成单元进行前级处理,即,使用任意的循环密钥k1,…,k3的隐匿信息,通过秘密计算,得到在元素中具有对于变量i=i0,…,iS-1的一变量函数值的表M(i0,…,iS-1)的隐匿信息{M(i0,…,iS-1)};
表计算步骤,对所述表M(i0,…,iS-1)代入了所述计数器值ib,0,…,ib,S-1所得到的M(ib,0,…,ib,S-1)是作为Mb,2,1,…,Mb,3,2的任一个的Mb,γ,μ,表计算单元使用所述计数器值ib,0,…,ib,S-1的隐匿信息{ib,0},…,{ib,S-1}以及所述隐匿信息{M(i0,…,iS-1)},通过秘密计算,得到对于b=0,…,B-1的所述矩阵Mb,γ,μ的隐匿信息{Mb,γ,μ};以及
循环处理步骤,循环处理单元进行后级处理,即,使用任意的循环密钥k2,…,kR+1的隐匿信息以及所述隐匿信息{Mb,γ,μ},通过秘密计算,得到执行残留处理所得到的矩阵Mb,Γ,MU的隐匿信息{Mb,Γ,MU},所述残留处理包含在关于j=2,…,R的所述处理Pj,1、所述处理Pj,2、所述处理Pj,3、以及所述处理Pj,4中的处理Pγ,μ之后进行的各处理。
10.一种计算机可读取的记录介质,存储了用于使计算机具有权利要求1至8的任一个记载的秘密计算装置的功能的程序。
CN201880054049.1A 2017-08-22 2018-08-16 秘密计算装置、秘密计算方法以及记录介质 Active CN111052206B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-159344 2017-08-22
JP2017159344 2017-08-22
PCT/JP2018/030440 WO2019039381A1 (ja) 2017-08-22 2018-08-16 秘密計算装置、秘密計算方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
CN111052206A CN111052206A (zh) 2020-04-21
CN111052206B true CN111052206B (zh) 2023-06-06

Family

ID=65439815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880054049.1A Active CN111052206B (zh) 2017-08-22 2018-08-16 秘密计算装置、秘密计算方法以及记录介质

Country Status (6)

Country Link
US (1) US11515998B2 (zh)
EP (1) EP3675089B1 (zh)
JP (1) JP6881588B2 (zh)
CN (1) CN111052206B (zh)
AU (1) AU2018320434B2 (zh)
WO (1) WO2019039381A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008098933A (ja) * 2006-10-11 2008-04-24 Nippon Telegr & Teleph Corp <Ntt> 鍵生成装置、匿名署名生成装置、署名検証装置、管理装置、匿名署名方法及びプログラム
JP5860557B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013000913A2 (pt) * 2010-10-27 2016-05-17 Ntt Docomo Inc dispositivo de estimativa de número de terminal e método de estimativa de número de terminal
JP5657128B2 (ja) * 2011-09-27 2015-01-21 株式会社日立製作所 秘匿計算システム、秘匿計算方法、および秘匿計算プログラム
US9860058B2 (en) * 2013-01-17 2018-01-02 Nippon Telegraph And Telephone Corporation Secret computation system, arithmetic unit, secret computation method and program
JP5972181B2 (ja) * 2013-01-17 2016-08-17 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム
JP6040320B2 (ja) 2013-10-10 2016-12-07 日本電信電話株式会社 秘密並列処理装置、秘密並列処理方法、プログラム
JP6046870B1 (ja) * 2013-12-05 2016-12-21 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. テーブルネットワークの繰り返し適用のための計算装置
WO2016104476A1 (ja) 2014-12-26 2016-06-30 日本電信電話株式会社 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
US20160269175A1 (en) * 2015-03-09 2016-09-15 Qualcomm Incorporated Cryptographic cipher with finite subfield lookup tables for use in masked operations
US10089508B2 (en) * 2015-05-28 2018-10-02 Graphiclead LLC System and method of embedding a two dimensional code with concealed secure message
JP6578814B2 (ja) * 2015-08-20 2019-09-25 株式会社ソシオネクスト プロセッサ及びプロセッサシステム
NL2015745B1 (en) * 2015-11-09 2017-05-26 Koninklijke Philips Nv A cryptographic device arranged to compute a target block cipher.
JP6053238B2 (ja) * 2016-01-13 2016-12-27 日本電信電話株式会社 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
GB2557577A (en) * 2016-10-21 2018-06-27 Cygnetise Ltd Methods and apparatus for recording a change of authorisation state of one or more authorisation agents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008098933A (ja) * 2006-10-11 2008-04-24 Nippon Telegr & Teleph Corp <Ntt> 鍵生成装置、匿名署名生成装置、署名検証装置、管理装置、匿名署名方法及びプログラム
JP5860557B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム

Also Published As

Publication number Publication date
EP3675089A1 (en) 2020-07-01
EP3675089A4 (en) 2021-05-05
US20200228314A1 (en) 2020-07-16
WO2019039381A1 (ja) 2019-02-28
AU2018320434B2 (en) 2020-12-17
AU2018320434A1 (en) 2020-02-27
JPWO2019039381A1 (ja) 2020-09-03
CN111052206A (zh) 2020-04-21
JP6881588B2 (ja) 2021-06-02
EP3675089B1 (en) 2023-05-03
US11515998B2 (en) 2022-11-29

Similar Documents

Publication Publication Date Title
CN108965258B (zh) 一种基于全同态加密的云环境数据完整性验证方法
Damgård et al. The tinytable protocol for 2-party secure computation, or: Gate-scrambling revisited
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN110493201B (zh) 一种数据的处理方法、装置和系统
CN108833117B (zh) 一种私钥存储和读取方法、装置及硬件设备
CN104919754A (zh) 篡改检测装置、篡改检测方法、以及程序
Pessl et al. Enhancing side-channel analysis of binary-field multiplication with bit reliability
Hu Improving the efficiency of homomorphic encryption schemes
WO2017030111A1 (ja) 計算システム、計算装置、その方法、およびプログラム
WO2017063986A1 (en) A cryptographic device and an encoding device
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
CN115694777A (zh) 基于同态加密的隐私集合求交方法、装置、设备及介质
Krishnamoorthy et al. Implementation and management of cloud security for industry 4. O-data using hybrid elliptical curve cryptography
CN111052206B (zh) 秘密计算装置、秘密计算方法以及记录介质
CN114221753B (zh) 密钥数据处理方法和电子设备
Hong et al. A Digital Signature Scheme Based on MST3 Cryptosystems
Takagi Recent developments in post-quantum cryptography
JP5489115B2 (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
JP6885467B2 (ja) シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体
CN111931202A (zh) 用于分布式系统的加密存储方法、终端设备和存储介质
JP2016157053A (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法
Mao et al. Parallel checking of content integrity in multi‐cloud storage of heterogeneous sensor systems
August et al. PudgyTurtle: Using keystream to encode and encrypt
CN116961908B (zh) 加密方法、电子装置、电子设备及计算机存储介质
Cambou et al. Key Distribution for Post Quantum Cryptography using Physical Unclonable Functions

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