CN105027181B - 加密数据运算系统以及装置 - Google Patents
加密数据运算系统以及装置 Download PDFInfo
- Publication number
- CN105027181B CN105027181B CN201480010808.6A CN201480010808A CN105027181B CN 105027181 B CN105027181 B CN 105027181B CN 201480010808 A CN201480010808 A CN 201480010808A CN 105027181 B CN105027181 B CN 105027181B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- key
- operation result
- computing
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
Abstract
实施方式的密钥生成装置生成用于将多个数值加密的加密密钥、构成与加密密钥对应的解密密钥的二次运算密钥及三次运算密钥。加密装置基于加密密钥将各数值加密,生成多个加密数据。运算装置基于各加密数据生成一次运算结果,该一次运算结果相当于将对各数值进行了加减运算的式子的运算结果加密而得的数据。运算辅助装置基于一次运算结果、二次运算密钥以及随机数生成使一次运算结果随机化而得的二次运算结果。运算装置基于二次运算结果以及三次运算密钥生成三次运算结果,并基于三次运算结果判定式子中的被减数与减数之间的大小关系。
Description
技术领域
本发明的实施方式涉及加密数据运算系统、装置以及程序。
背景技术
对数值a、b进行加密,可获得加密数据E(a)、E(b)。已知有不对这种加密数据E(a)、E(b)进行解密、而是基于加密数据E(a)、E(b)对数值a、b的大小进行比较的大小比较方法。
在这种大小比较方法中,首先,某个实体A选择随机数r,并基于随机数r以及加密数据E(a)、E(b)计算加密数据E(r(a-b))。其他多个(例如三个)实体B、C、D分割并保持用于将加密数据E(r(a-b))解密的解密密钥。
其他实体B、C、D携带分割后的解密密钥,并基于该携带的解密密钥对加密数据E(r(a-b))进行解密。另外,通过解密结果r(a-b)的正负判定数值a、b的大小关系。此外,在该大小比较方法中,也将大小比较所需的解密密钥称作比较密钥。
现有技术文献
非专利文献
非专利文献1:Kun Peng,Juanma Gonzalez Nieto and Ed Dawson,“CiphertextComparison,a New Solution to the Millionaire Problem,”http://eprints.qut.edu.au/24891/1/Ciphertext_Comparison%2C_a_New_Solution_to_the_Millionaire_Problem.pdf
发明内容
发明要解决的问题
然而,虽然以上那种大小比较方法通常没有特别的问题,但根据本发明人的研究,不能使用各加密数据E(a)、E(b)、E(c)、…对各数值进 行加减运算(例如E(3a+b-4c))。因此,不能判定该加减运算中的被减数(例如3a+b)与减数(例如4c)之间的大小关系。
本发明要解决的课题在于提供一种能够使用将各数值加密而成的各加密数据对该各数值进行加减运算、从而能够判定该加减运算中的被减数与减数之间的大小关系的加密数据运算系统、装置以及程序。
用于解决问题的手段
实施方式的加密数据运算系统具备客户终端、运算装置以及运算辅助装置。
上述客户终端具备数值存储机构、密钥生成机构以及加密机构。
上述数值存储机构存储多个数值。
上述密钥生成机构生成用于将上述各数值加密的加密密钥、以及构成与上述加密密钥对应的解密密钥的二次运算密钥和三次运算密钥。
上述加密机构基于上述加密密钥将上述各数值加密,生成多个加密数据。
上述运算装置具备三次运算密钥存储机构、一次运算机构、三次运算机构以及大小判定机构。
上述三次运算密钥存储机构存储上述三次运算密钥。
上述一次运算机构基于上述各加密数据执行一次运算处理,从而生成一次运算结果,该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的数据。
在通过上述运算辅助装置生成使上述一次运算结果随机化而得的二次运算结果的情况下,上述三次运算机构基于上述二次运算结果以及上述三次运算密钥执行三次运算处理,从而生成三次运算结果,该三次运算结果相当于仅用随机数将进行了上述加减运算的式子的运算结果秘密化而得的数据。
上述大小判定机构基于上述三次运算结果判定上述式子中的被减数与减数之间的大小关系。
上述运算辅助装置具备二次运算密钥存储机构、随机数生成机构以及二次运算机构。
上述二次运算密钥存储机构存储上述二次运算密钥。
上述随机数生成机构生成上述随机数。
上述二次运算机构基于上述一次运算结果、上述二次运算密钥以及上述随机数执行二次运算处理,从而生成上述二次运算结果。
附图说明
图1是表示第1实施方式的加密数据运算系统的构成例的示意图。
图2是表示该实施方式中的加密数据运算系统的其他构成例的示意图。
图3是表示该实施方式中的加密数据运算系统的概要的示意图。
图4是表示该实施方式中的各装置的构成的示意图。
图5是用于说明该实施方式中的密钥生成处理的动作的序列图。
图6是用于说明该实施方式中的加密处理的动作的序列图。
图7是用于说明该实施方式中的一次运算处理的动作的序列图。
图8是用于说明该实施方式中的二次运算处理的动作的序列图。
图9是用于说明该实施方式中的三次运算处理的动作的序列图。
具体实施方式
以下,使用附图对各实施方式进行说明。此外,以下的各装置能够分别通过硬件构成、或者硬件资源与软件的组合构成中的任意一者来实施。作为组合构成的软件,使用如图1、图2以及图4所示预先从网络或者非易失性的计算机可读取的存储介质(non-transitorycomputer-readable storage medium)M1~M5、M2’、M4’、M5’安装于计算机的程序,该程序用于通过被该计算机的处理器执行,而使该计算机实现对应的装置的功能。
(第1实施方式)
首先,使用图1对本实施方式的加密数据运算系统的构成例进行说明。加密数据运算系统具备密钥生成装置10、加密装置20、存储装置30、运算装置40以及运算辅助装置50。
这里,密钥生成装置10、存储装置30、运算装置40以及运算辅助装置50是提供服务的服务提供者所具有的信息处理装置。
加密装置20是作为该服务的使用者的用户所具有的信息处理装置。各装置10、20、30、40、50能够经由通信网络而可通信地连接。
通信网络例如是无线LAN(Local Area Network,局域网)、有线LAN、光线路网、电话线路网、内部网、以太网(注册商标)以及互联网、或它们的组合。另外,在图1中,示出了连接于加密数据运算系统的各装置分别仅为一个,但它们也可以分别为多个。另外,在图1中,示出了各装置分别独立地连接于加密数据运算系统的例子,但并不局限于此,也可以使多个装置包含于一个信息处理装置中。例如,如图2所示,密钥生成装置10以及加密装置20也可以包含于一个客户终端(未图示)中。此外,虽然未图示,例如也可以使存储装置30以及运算装置40包含于一个服务器装置中。
图3是表示加密数据运算系统的概要的示意图。该加密数据运算系统包括用户、服务提供者A、以及服务提供者B。另外,在图3中,省略了密钥生成装置10的图示,但密钥生成装置10既可以由能够信赖的第三者保持,也可以由用户保持。
用户使用在密钥生成装置10中生成的加密密钥,在加密装置20中对数值mi(i=1,2,3,…)进行加密。接下来,用户将生成的加密数据E(mi)向服务提供者A发送。
服务提供者A将接收的加密数据E(mi)存储于存储装置30。服务提供者A从存储装置30获取(一次运算处理所需的)加密数据E(mi),并在运算装置40中进行一次运算处理。服务提供者A将一次运算处理结果向服务提供者B发送。
服务提供者B被预先传递在密钥生成装置10中生成的、用于进行二次运算的密钥(以下,称作二次运算密钥)。服务提供者B使用所接收的一次运算处理结果和预先传递的二次运算密钥,在运算辅助装置50中进行二次运算处理。服务提供者B将二次运算处理结果向服务提供者A发送。
服务提供者A被预先传递在密钥生成装置10中生成的、用于进行三次运算的密钥(以下,称作三次运算密钥)。服务提供者A使用所接收的二次运算处理结果和预先传递的三次运算密钥,在运算装置40中进行三次运算处理。最后,服务提供者A将三次运算处理结果向用户发送。或者,服务提供者A也可以向用户发送对执行多次上述处理而得的多个三次运算处理结果进一步进行运算处理的结果。
关于由哪个实体保持哪个装置,并不限定于上述的例子,能够应用各种变更。
接着,使用图4具体地说明密钥生成装置10、加密装置20、存储装置30、运算装置40以及运算辅助装置50的构成。
密钥生成装置10具备密钥生成参数存储部11、暂时数据存储部12、参数生成部13、密钥生成部14、通信部15以及控制部16。
这里,密钥生成参数存储部11是存储密钥生成参数的存储装置。作为密钥生成参数,例如能够使用用于确定关于密钥生成的合成数N=pq的比特数的下限的安全参数λ。
暂时数据存储部12是存储运算对象的多个数值、各生成部13、14的处理中途以及处理结果等的暂时数据的存储装置。
参数生成部13生成密钥生成的参数。
密钥生成部14生成加密密钥(例如a、sv)、二次运算密钥(例如a-1、s)、以及三次运算密钥(例如v)。加密密钥是用于对各数值进行加密的密钥。二次运算密钥以及三次运算密钥构成了与加密密钥对应的解密密钥(例如a-1、s、v)。
通信部15是用于与其他装置20~50进行通信的通信接口,例如具有被控制部16控制而将暂时数据存储部12内的二次运算密钥、三次运算密钥分别发送到运算辅助装置50、运算装置40的功能。此外,在以下的说明中,出于避免收发信号时冗长的记载的观点,在收发信号时,有时省略经由通信部15的意思记载。这对于其他装置20~50的通信部25、32、44、55也是相同的。
控制部16具有控制各部11~15执行图5所示的动作的功能。
加密装置20具备加密参数生成部21、暂时数据存储部22、密文生成部23、加密密钥存储部24、通信部25以及控制部26。
这里,加密参数生成部21生成加密参数。作为加密参数,例如能够使用从0以上且小于N2的整数的集合ZN2中随机地选择的k个随机数r1、…、rk。
暂时数据存储部22是存储各生成部21、23的处理中途以及处理结果等的暂时数据的存储装置。
密文生成部23基于加密密钥对各数值进行加密,生成多个密文(多个加密数据)。
加密密钥存储部24是存储加密密钥的存储装置。
通信部25是用于与其他装置10、30~50进行通信的通信接口,例如具有被控制部26控制而将暂时数据存储部22内的密文发送到存储装置30的功能。
控制部26具有控制各部21~25执行图6所示的动作的功能。
存储装置30具备密文存储部31、通信部32以及控制部33。
这里,密文存储部31是存储密文的存储装置。
通信部32是用于与其他装置10、20、40、50进行通信的通信接口,例如具有被控制部33控制而将密文存储部31内的密文发送到运算装置40的功能。
控制部33具有控制各部31、32的功能。
运算装置40具备暂时数据存储部41、计算部42、判定部43、通信部44、控制部45以及三次运算密钥存储部46。
这里,暂时数据存储部41是存储计算部42、判定部43的处理中途以及处理结果等的暂时数据的存储装置。
计算部42计算一次运算结果以及三次运算结果。详细地说,计算部42具有以下的各功能(f42-1)~(f42-2)。
(f42-1)通过基于各密文(各加密数据)执行一次运算处理而生成一次运算结果(例如X1、X2)的一次运算功能,该一次运算结果相当于将对各数值进行加减运算的式子的运算结果加密而得的数据。例如,各加密数据Ci(i=1,2,…,k)是通过用加密密钥(例如a、sv)将0以上且小于N的整数的集合中的k个各数值m1、m2、…、mk加密而生成的。
(f42-2)在利用运算辅助装置50生成将一次运算结果(例如X1、X2)随机化而成的二次运算结果(例如Y1、Y2)的情况下,通过基于二次运算结果以及三次运算密钥(例如v)执行三次运算处理而生成三次运算结果W(=FR-z)的三次运算功能(例如a-1是满足a mod N2的值。R是从集合{1,…,L}随机地选择的β个随机数的积。存在Lβ<N/2的关系。Z是从集合{0,1,…,J}中选择的随机数。成为R<J的概率充分小。)。 三次运算结果W(=FR-z)相当于仅用随机数(例如R、z)将进行了加减运算的式子F的运算结果秘密化后的数据。
判定部43基于三次运算结果进行式子F(之后叙述F)的正负判定。具体而言,判定部43基于三次运算结果W判定式子F中的被减数与减数之间的大小关系。
通信部44是用于与其他装置10~30、50进行通信的通信接口,例如具有被控制部45控制而将暂时数据存储部41内的一次运算结果发送到运算辅助装置50的功能。
控制部45具有控制各部41~44、46执行图7以及图9所示的动作的功能。
三次运算密钥存储部46是存储三次运算密钥的存储装置。
运算辅助装置50具备二次运算处理参数生成部51、暂时数据存储部52、计算部53、二次运算密钥存储部54、通信部55以及控制部56。
这里,二次运算处理参数生成部51生成二次运算处理参数。二次运算处理参数生成部51例如具有生成随机数的随机数生成功能。随机数生成功能例如是生成随机数R、z的功能(例如R是从集合{1,…,L}随机地选择的β个随机数的积。存在Lβ<N/2的关系。z是从集合{0,1,…,J}选择的随机数。成为R<J的概率充分小。)。
暂时数据存储部52是存储二次运算处理参数生成部51、计算部53的处理中途以及处理结果等的暂时数据的存储装置。
计算部53计算二次运算结果。具体而言,计算部53通过基于一次运算结果(例如X1、X2)、二次运算密钥(例如a-1、s)以及随机数(例如R、z)执行二次运算处理,从而生成二次运算结果(例如Y1、Y2)。
二次运算密钥存储部54是存储二次运算密钥的存储装置。例如在客户终端(10、20)生成各加密数据Ci(i=1,2,…,k)之后、运算装置40基于各加密数据Ci(i=1,2,…,k)生成一次运算结果(例如X1、X2)的情况下,二次运算密钥存储部54存储二次运算密钥(例如a-1,s)(例如a-1是满足a mod N2的值。)。此外,客户终端(10、20)利用加密密钥(例如a、sv)对0以上且小于N的整数的集合中的k个各数值m1、m2、…、mk进行加密而生成各加密数据Ci(i=1,2,…,k)。运算装置40基于各 加密数据Ci(i=1,2,…,k)生成一次运算结果(例如X1、X2),该一次运算结果相当于将对该各数值进行了加减运算的式子F的运算结果加密而得的数据。
通信部55是用于与其他装置10~40进行通信的通信接口,例如具有被控制部56控制而将暂时数据存储部52内的二次运算结果发送到运算装置40的功能。
控制部56具有控制各部51~55执行图8所示的动作的功能。
接下来,具体地说明密钥生成处理、加密处理、一次运算处理、二次运算处理、以及三次运算处理的各处理。
[0.密钥生成处理]
通过密钥生成装置10,如图5以及以下的各步骤ST1~ST7所示那样执行密钥生成处理。
首先,密钥生成装置10的参数生成部13生成、或者从外部得到p’=(p-1)/2、q’=(q-1)/2成为质数的质数p、q(ST1)。这里,参数生成部13基于预先存储于密钥生成参数存储部11的安全参数λ,生成、或者外部得到合成数N=pq的比特数为λ或者比λ大的值那样的质数p、q。
接下来,参数生成部13计算参数pp’qq’以及N,将参数pp’qq’以及N暂时写入数据存储部12(ST2)。
接下来,参数生成部13生成位数为pp’qq’的乘法群G,从G随机地选择G的元素g,并将选择的元素g写入暂时数据存储部12(ST3)。为了生成位数为pp’qq’的乘法群G,例如从ZN2*随机地选择ZN2*的元素,使得将选择的元素平方而得的值为g即可。这里,ZN2*是和ZN2与N2互质的整数的集合(=(Z/N2Z)*),也可以称作对于合成数N2的乘法群ZN2*。ZN2是0以上且小于N2的整数的集合(=(Z/N2Z)。
[式1]
另外,在本说明书中,ZN2*表示
接下来,密钥生成部14获取存储于暂时数据存储部12的参数pp’qq’以及N,从集合{1,…,pp’qq’}分别随机地选择各密钥的一部分a、s、v(ST4)。
接着,密钥生成部14计算满足a·a-1mod N2=1的a-1的值和gSV的值,将加密密钥a、gSV、g,N、二次运算密钥a-1、s、N、以及三次运算密钥v、N写入暂时数据存储部12。这里,通信部15被控制部16控制而将暂时数据存储部12内的加密密钥a、gSV、g、N发送到加密装置20(ST5)。加密密钥a、gSV、g、N存储于加密装置20的加密密钥存储部24。
接下来,通信部15被控制部16控制而将暂时数据存储部12内的二次运算密钥a-1、s、N发送到运算辅助装置50(ST6)。二次运算密钥a-1、s、N通过运算辅助装置50的控制部56存储于二次运算密钥存储部54。
而且,通信部15被控制部16控制而将暂时数据存储部12内的三次运算密钥v、N发送到运算装置40(ST7)。三次运算密钥v、N通过运算装置40的控制部45存储于三次运算密钥存储部46。此外,加密密钥既可以是a、sv、g、N,也可以是a、s、v、g、N。
此外,在步骤ST5、ST6、ST7中,通信部15也可以将N2也发送到加密装置20、运算辅助装置50、运算装置40。在该情况下,在步骤ST2中,参数生成部13将N2也写入暂时数据存储部12。另外,g、N、N2也可以不包含于加密密钥、二次运算密钥、以及三次运算密钥,而是作为公开参数对各装置公开。若进行总结,暗号密钥包含a、s、v(或者a、sv)。二次运算密钥包含a-1、s。三次运算密钥包含v。
这些在后述的其他实施方式中也是相同的。
根据以上,完成密钥生成处理。此外,在本说明书中,采用了将G设想为乘法群的描述方法,但并不局限于此,也能够用将G设想为加法群的描述方法来表示。
[1.加密处理]
以下叙述的加密处理是生成密文(加密数据)的处理。
利用加密装置20,如图6以及以下的各步骤ST11~ST14所示那样执行加密处理。说明加密装置20将k(k自然数)个明文(加密对象的数值数据)m1、…、mk加密的例子。各明文mi是ZN的元素。ZN是0以上且小于N的整数的集合(=(Z/NZ)。
首先,加密装置20的加密参数生成部21从ZN2*分别随机地选择k个随机数r1、…、rk(ST11)。接下来,加密参数生成部21将生成的随机数 r1、…,rk写入暂时数据存储部22(ST12)。密文生成部23使用从暂时数据存储部22获取的随机数r1、…、rk和存储于加密密钥存储部24的加密密钥a、gSV、g、N,通过接下来的式子对明文m1、…、mk进行加密(ST13)。
[式2]
Ci=(Ci,1,Ci,2) (i=1,...,k),
密文生成部23将生成的密文Ci(i=1,…,k)写入暂时数据存储部22。通信部25被控制部26控制而将暂时数据存储部22内的密文Ci(i=1,…,k)发送到存储装置30(ST14)。
此外,加密密钥a既可以如上述那样由密钥生成装置10生成,也可以由加密装置20生成。在后者的情况下,在步骤ST5中,密钥生成装置10将加密密钥gSV、g、N发送到加密装置20。另外,在步骤ST11中,加密装置20的加密参数生成部21生成加密密钥a,计算a-1的值,将二次运算密钥a-1发送到运算辅助装置50。此外,在加密装置20不知pp’qq’的值的情况下,从ZN2*的中随机地选择加密密钥a即可。
根据以上,完成加密处理。
[2.一次运算处理]
以下叙述的一次运算处理是对密文(加密数据)进行加减运算的处理。
利用运算装置40,如图7以及以下的各步骤ST21~ST23所示那样执行一次运算处理。说明运算装置40(在后述的三次运算处理中)判定下面的式子F的正负的例子。
[式3]
这里,ni是任意的整数。另外,K是计算式子F所需的索引i的集合。 例如,在F=2m1-m2的情况下,n1=2,n2=-1,K={1,2}。另外,在希望判定加减运算的式子F中的被减数ma与减数mb之间的大小关系的情况下,例如设为F=ma-mb=3m2-4m3+m5,n2=3,n3=-4,n5=1,K={2,3,5}。这里,被减数ma为3m2+m5,减数mb为4m3。另外,在希望判定数值a、b的大小关系的情况下,设为F=ma-mb=m1-m2,使n1=1,n2=-1,K={1,2}即可。
运算装置40的通信部44被控制部45控制,利用存储装置30获取计算式子F所需的密文Ci(i∈K),并存储于暂时数据存储部41(ST21)。接下来,计算部42使用从暂时数据存储部41获取的密文Ci(i∈K),并通过下面的式子计算一次运算结果X1、X2(ST22)。
[式4]
计算部42将生成的一次运算结果X1、X2写入暂时数据存储部41。通信部44被控制部45控制,将暂时数据存储部41内的一次运算结果X1、X2发送到运算辅助装置50(ST23)。
根据以上,完成一次运算处理。
[3.二次运算处理]
以下叙述的二次运算处理是使进行加减运算后的密文(加密数据)随机化的处理。利用运算辅助装置50,如图8以及以下的各步骤ST31~ST34所示那样执行二次运算处理。
运算辅助装置50的二次运算处理参数生成部51生成参数L、J、β、D,将参数L、J、β、D写入暂时数据存储部52(ST31)。之后叙述用于选择这些参数L、J、β、D的指标。此外,参数L、J、β、D也可以从外部给予。在该情况下,在步骤ST31中,二次运算处理参数生成部51将从外部获取的参数L、J、β、D写入暂时数据存储部52。
接下来,二次运算处理参数生成部51从集合{1,…,L}之中分别随 机地选择β个随机数r’i(i=0,…,β-1)。这里,既可以是β=1,也可以是β≥2。这在其他实施方式、变形例中也是相同的。另外,从集合{0,1,…,J}之中随机地选择随机数z。然后,二次运算处理参数生成部51计算下式所示的随机数R,将随机数R、z写入暂时数据存储部52(ST32)。
[式5]
接下来,计算部53使用存储于二次运算密钥存储部54的二次运算密钥a-1、s、N、和从暂时数据存储部52获取的一次运算结果X1、X2以及随机数R、z,通过下式计算二次运算结果Y1、Y2(ST33)。
[式6]
计算部53将生成的二次运算结果Y1、Y2写入暂时数据存储部52。通信部55被控制部56控制而将暂时数据存储部52内的一次运算结果Y1、Y2发送到运算装置40(ST34)。
这里,对选择各参数的指标进行说明。将能够进行正负判定的绝对值的最大值设为D。即,希望能够在0<F<D时将F判定为正,并在-D<F<0时将F判定为负。此时,二次运算处理参数生成部51以满足下式的方式选择β个随机数r’i。
[式7]
LβD<N/2
另外,二次运算处理参数生成部51在如上述那样选择作为β个随机数r’i的积的R时,以使成为R<J的概率变得充分小的方式选择J。
根据以上,完成二次运算处理。
[4.三次运算处理]
以下叙述的三次运算处理是根据进行了随机化以及加减运算的密文(加密数据)判定加减运算的式子中的被减数与减数之间的大小关系的处理。
利用运算装置40,如图9以及以下的各步骤ST41~ST42所示那样执行三次运算处理。
运算装置40的计算部42使用存储于三次运算密钥存储部46的三次运算密钥v、N和从暂时数据存储部41获取的二次运算结果Y1、Y2,通过接下来的式子计算W’。
[式8]
在W’不是N的倍数的情况下,不进行以下的计算地结束三次运算处理。在并非如此的情况下(W’是N的倍数的情况下),计算部42通过下式计算三次运算结果W(ST41)。
[式9]
W=W′/N
=FR-z.
接下来,如果W<N/2,则判定部43判定式子F为正,如果并非如此,则判定部43判定式子F为负(或者0)(ST42)。
在用F=Ma-Mb的形式表示时,如果F为正,则判定为Ma>Mb。如果F为负,则判定为Ma≤Mb。
根据以上,完成三次运算处理。
此外,在步骤ST42中,如果-J≤W≤0,则判定部43也可以判定为F =0。在该情况下,如果-N/2<W<-J,则判定部43判定F为负。对于其他实施方式、变形例也是相同的。
这里,以F=3m2-4m3+m5的情况为例,示出W=FR-z。一次运算结果X1、X2、二次运算结果Y1、Y2以及三次运算结果W分别如以下那样表示。
[式10]
[式11]
[式12]
在三次运算结果W中,W=FR-z,从FR减去z。然而,如果如上述那样适当地设定R的值,则在步骤ST42中,判定部43能够不受随机数z的值的影响地正确进行F的正负判定。
在上述例子中,由于F=Ma-Mb=3m2-4m3+m5,因此,例如通过采用被减数Ma=3m2+m5,减数Mb=4m3,能够判定被减数(3m2+m5)与减数(4m3)之间的大小关系。另外,例如通过视为被减数Ma=3m2,减数Mb=4m3-m5,也能够判定被减数(3m2)与减数(4m3-m5)之间的大小关系。
如上述那样,根据本实施方式,运算装置40基于各加密数据生成一次运算结果,该一次运算结果相当于将对各数值进行了加减运算的式子的运算结果加密而得的数据。运算辅助装置50基于一次运算结果、二次运算密钥以及随机数生成使一次运算结果随机化而得的二次运算结果。运算装置40基于二次运算结果以及三次运算密钥生成三次运算结果,该三次运算结果相当于仅用随机数将进行了加减运算的式子的运算结果秘密化而得的数据,基于三次运算结果判定式子中的被减数与减数之间的大小关系。
如以上那样,能够使用将各数值加密而得的各加密数据对该各数值进行加减运算,并能够判定该加减运算中的被减数与减数之间的大小关系。
另外,能够使加密数据E(a)、E(b)的解密密钥和比较密钥(三次运算密钥)不同,即使使用比较密钥也不能将加密数据E(a)、E(b)解密。
(变形例1)
在本实施方式的加密数据运算系统中,也可以存在将密文Ci解密的解 密装置(未图示)。解密装置具备存储有解密密钥sv、a-1、N(或者s、v、a-1、N)的存储部、以及执行计算的计算部。解密装置能够通过以下的处理将密文Ci解密。解密装置的计算部使用存储部内的解密密钥sv、a-1、N和密文Ci,通过下式计算D’。
[式13]
在D’不是N的倍数的情况下,不进行以下的计算地结束解密处理。在并非如此的情况下(D’为N的倍数的情况下),解密装置的计算部通过下式计算明文。
[式14]
mi=D′/N.
(第2实施方式)
在第1实施方式中,说明了分别生成一个二次运算密钥s与三次运算密钥v的例子,但并不局限于此,也可以分别生成多个二次运算密钥与三次运算密钥。以下,说明当在某期间t1使用st1、vt1、在接下来的期间t2内使用st2、vt2这样的情况下,生成多个二次运算密钥st1、st2、…与多个三次运算密钥vt1、vt2、…的例子。
以下,对本实施方式中的密钥生成处理、加密处理、一次运算处理、二次运算处理、以及三次运算处理进行说明。其中,使用相同的附图标记说明与第1实施方式共同的部分,并省略重复的说明。
[0.密钥生成处理]
步骤ST1~ST3的处理与第1实施方式相同。
密钥生成部14获取存储于暂时数据存储部12的pp’qq’以及N,并从{1,…,pp’qq’}分别随机地选择a、st、vT(ST4’)。这里,为了使表述一般化,作为“s”的下角标,使用了“t”,作为“v”的下角标“T”,使用了。“st”的意思是在期间t内使用的“s”的值。“vT”的意思是在期间T内使用的“v”的值。期间t的值与期间T的值既可以不同,也可以是t=T。
在该情况下,加密密钥表示为a、g^{stvT}、g、N(其中,^是表示幂运算的符号。)。二次运算密钥表示为a-1、st、N。三次运算密钥表示为vT、N。
[式15]
另外,在本说明书中,g^{stvT}表示
密钥生成部14也可以在每当各期间到来时生成在各期间使用的加密密钥、二次运算密钥、以及三次运算密钥。或者,密钥生成部14也可以预先生成多个期间的量的加密密钥、二次运算密钥、以及三次运算密钥,并将该各密钥分别向加密装置20、运算辅助装置50、以及运算装置40传递。
[1.加密处理]
步骤ST11、ST12、以及ST14的处理与第1实施方式相同。
密文生成部23使用从暂时数据存储部22获取的随机数r1、…、rk和存储于加密密钥存储部24的加密密钥a、g^{stvT}、g、N,通过下式将明文m1、…、mk加密(ST13’)。
[式16]
Ci=(Ci,1,Ci,2,Ci,3,Ci,4) (i=1,...,k),
Ci,3=t,
Ci,4=T.
[2.一次运算处理]
步骤ST21的处理与第1实施方式相同。
计算部42使用从暂时数据存储部41获取的密文Ci(i∈K),通过下式对各(t,T),计算一次运算结果{X1(t,T),X3,X4}、X2(ST22’)。
[式17]
X3=t,
X4=T.
这里,X1(t,T)是使用(Ci,3,Ci,4)相同的一个或者多个Ci而计算的。例如,在存在(t,T)=(1,1)的Ci和(t,T)=(2,1)的Ci的情况下,分别计算X1(1,1)与X1(2,1)。将对各(t,T)计算的X1(t,T)、X3、X4的集合表述为{X1(t,T),X3,X4}。
计算部42将生成的一次运算结果{X1(t,T),X3,X4}、X2写入暂时数据存储部41。通信部44被控制部45控制而将暂时数据存储部41内的一次运算结果{X1(t,T),X3,X4}、X2发送到运算辅助装置50(ST23’)。
[3.二次运算处理]
步骤ST31以及步骤ST32的处理与第1实施方式相同。
计算部53使用存储于二次运算密钥存储部54的二次运算密钥st、N和从暂时数据存储部52获取的一次运算结果{X1(t,T)},通过下式对各(t,T)计算Y1(t,T),并将Y1(t,T)写入暂时数据存储部52。
[式18]
接下来,计算部53使用存储于二次运算密钥存储部54的二次运算密钥a-1、N、和从暂时数据存储部52获取的Y1(t,T)、一次运算结果X2、及随机数R、z,通过下式对各T计算二次运算结果{Y1(T),Y3}、Y2(ST33’)。
[式19]
Y3=T.
这里,Y1(T)是使用X4相同的一个或者多个X1(t,T)而计算的。例如,在存在(t,T)=(1,1)的X1(t,T)和(t,T)=(1,2)的X1(t,T)的情况下,分别计算Y1(1)与Y2(2)。将对各T计算的Y1(T)、Y3的集合表述为{Y1(T),Y3}。
计算部53将生成的二次运算结果{Y1(T),Y3}、Y2写入暂时数据存储部52。通信部55被控制部56控制而将暂时数据存储部52内的二次运算结果{Y1(T),Y3}、Y2发送到运算装置40(ST34’)。
[4.三次运算处理]
步骤ST42的处理与第1实施方式相同。
计算部42使用存储于三次运算密钥存储部46的三次运算密钥vT、N和从暂时数据存储部41获取的二次运算结果{Y1(T),Y3}、Y2,通过下式计算W’。
[式20]
在W’并非N的倍数的情况下,不进行以下的计算地结束三次运算处理。在并非如此的情况下(W’为N的倍数的情况下),计算部42通过下 式计算三次运算结果W(ST41’)。
[式21]
W=W′/N
=FR-z.
与第1实施方式相同,在用F=Ma-Mb的形式表示式子时,如果式子F为正,则能够判定为Ma>Mb。如果式子F为负,则能够判定为Ma≤Mb。由此,完成三次运算处理。
接下来,列举例子对以上那样的一次运算处理、二次运算处理以及三次运算处理进行说明。具体而言,以F=m1-m2+m3+m4+m5、并且下式所示的密文C1、C2、C3、C4、C5存储于存储装置30的情况为例,示出W=FR-z。
[式22]
C1=(C1,1,C1,2,1,1),
C2=(C2,1,C2,2,1,1),
C3=(C3,1,C3,2,1,2),
C4=(C4,1,C4,2,2,1),
C5=(C5,1,C5,2,2,2).
此时,一次运算结果{X1(t,T),X3,X4}、X2的计算式如以下那样表示。
[式23]
X1(1,2)=C3,1mod N2,
X1(2,1)=C4,1mod N2,
X1(2,2)=C5,1mod N2,
X3,X4的计算式被省略记载。
二次运算结果{Y1(T),Y3}、Y2的计算式如以下那样表示。
[式24]
Y3的计算式被省略记载。
另外,三次运算结果W的计算式如以下那样表示。
[式25]
上述的例子中,由于F=Ma-Mb=m1-m2+m3+m4+m5,因此,例如能够采用Ma=m1+m3+m4+m5,Mb=m2,进行m1+m3+m4+m5和m2的大小比较。
另外,由于例如能够视作Ma=m1+m3+m4,Mb=m2-m5,因此也能够视作进行m1+m3+m4和m2-m5的大小比较。
如上述那样,根据本实施方式,通过与多个期间t1、t2相应地分别生成多个二次运算密钥st1、st2与多个三次运算密钥vt1、vt2,除了第1实施方式的效果之外,还能够抑制密钥泄漏的危害,并且能够使用在期间t1中生成的密文E(t1)(a)和在期间t2中生成的密文E(t2)(b),以将各数值加密的状态判定大小关系。
若进行补充,通常,出于抑制密钥泄漏的危害的观点,期望的是定期地更新比较密钥。然而,在以往的大小关系的判定方法中,在使用比较密钥的更新前生成的加密数据E(t1)(a)和比较密钥的更新后生成的加密数据E(t2)(b)的情况下,存在不能判定数值a、b的值的大小的问题。
与此相对,根据本实施方式,如上述那样,能够使用在期间t1中生成的密文E(t1)(a)和在期间t2中生成的密文E(t2)(b),以将各数值加密的状态判定大小关系。
(变形例2)
在本实施方式的加密数据运算系统中,也可以存在将密文Ci解密的解密装置(未图示)。解密装置具备存储解密密钥stvT、a-1、N(或者st、vT、a-1、N)的存储部和执行计算的计算部。解密装置能够通过以下的处理将密文Ci解密。解密装置的计算部使用存储部内的解密密钥stvT、a-1、N和密文Ci,通过下式计算D’。
[式26]
在D’并非N的倍数的情况下,不进行以下的计算地结束解密处理。在并非如此的情况下(D’为N的倍数的情况下),解密装置的计算部通过 下式计算明文。
[式27]
mi=D′/N.
(变形例3)
在第2实施方式中,说明了在某期间ti内使用si、vi的例子,但并不局限于此,也可以针对每个用户(每个加密装置20)使用不同的si、vi。在该情况下,在第2实施方式中,只要将ti视作用户的识别信息(加密装置20的识别信息)即可。换句话说,密钥生成处理、加密处理、一次运算处理、二次运算处理、以及三次运算处理的各处理相同,仅改变索引的意思(即,仅将“期间”替换为“用户(加密装置20)”)即可。
(变形例4)
也可以是,二次运算密钥si仅为一个,但三次运算密钥vi为多个。在该情况下,只要在第2实施方式中替换为s1=s2=…=s即可。另外,也可以是,二次运算密钥si为多个,三次运算密钥vi仅为一个。在该情况下,只要在第2实施方式中替换为v1=v2=…=v即可。
根据以上说明的至少一个实施方式,运算装置40基于各加密数据生成一次运算结果,该一次运算结果相当于将对各数值进行了加减运算的式子的运算结果加密而得的数据。运算辅助装置50基于一次运算结果、二次运算密钥以及随机数,生成将一次运算结果随机化而得的二次运算结果。运算装置40基于二次运算结果以及三次运算密钥生成三次运算结果,该三次运算结果相当于仅用随机数将进行了加减运算的式子的运算结果加密而得的数据,基于三次运算结果判定式子中的被减数与减数之间的大小关系。
如以上那样,能够使用将各数值加密而得的各加密数据对该各数值进行加减运算,从而能够判定该加减运算中的被减数与减数之间的大小关系。
此外,记载于上述的各实施方式的手法作为能够使计算机执行的程序,也能够储存于磁盘(软盘(floppy,登录商标)、硬盘等)、光盘(CD-ROM、DVD等)、光磁盘(MO)、半导体存储器等存储介质而发布。
另外,作为该存储介质,只要是能够存储程序、并且能够由计算机读取的存储介质即可,其存储形式可以是任意的方式。
而且,基于从存储介质安装于计算机的程序的指示在计算机上运转的OS(操作系统)、数据库管理软件、网络软件等的MW(中间件)等也可以执行用于实现上述实施方式的各处理的一部分。
而且,各实施方式中的存储介质并不局限于与计算机独立的介质,也包含将通过LAN、网络等传送的程序下载并存储或者暂时存储的存储介质。
另外,存储介质并不局限于一个,从多个介质执行上述各实施方式中的处理的情况也包含于本发明中的存储介质中,介质构成也可以是任意的构成。
此外,各实施方式中的计算机基于存储于存储介质的程序执行上述的各实施方式中的各处理,可以是由个人计算机等的一个构成的装置、将多个装置网络连接而成的系统等任意一种构成。
另外,各实施方式中的计算机并不局限于个人计算机,也包含信息处理设备所包含的运算处理装置、微机等,是能够通过程序实现本发明的功能的设备、装置的统称。
此外,说明了本发明几个实施方式,但这些实施方式作为例子提出的,并非旨在限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围内能够进行各种省略、替换、变更。这些实施方式及其变形包含在发明的范围及主旨中,并且包含在权利要求书所记载的发明和其等价的范围中。
Claims (6)
1.一种加密数据运算系统,具备客户终端、运算装置以及运算辅助装置,其特征在于,
上述客户终端具备:
数值存储机构,存储多个数值;
密钥生成机构,生成用于将上述各数值加密的加密密钥、以及构成与上述加密密钥对应的解密密钥的二次运算密钥和三次运算密钥;以及
加密机构,基于上述加密密钥将上述各数值加密,生成多个加密数据;
上述运算装置具备:
三次运算密钥存储机构,存储上述三次运算密钥;
一次运算机构,基于上述各加密数据执行一次运算处理,从而生成一次运算结果,该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的数据;
三次运算机构,在利用上述运算辅助装置生成使上述一次运算结果随机化而得的二次运算结果的情况下,基于上述二次运算结果以及上述三次运算密钥执行三次运算处理,从而生成三次运算结果,该三次运算结果相当于仅用随机数将进行了上述加减运算的式子的运算结果秘密化而得的数据;以及
大小判定机构,基于上述三次运算结果判定上述式子中的被减数与减数之间的大小关系;
上述运算辅助装置具备:
二次运算密钥存储机构,存储上述二次运算密钥;
随机数生成机构,生成上述随机数;以及
二次运算机构,基于上述一次运算结果、上述二次运算密钥以及上述随机数执行二次运算处理,从而生成上述二次运算结果。
2.一种客户终端,能够与运算装置以及运算辅助装置进行通信,其特征在于,该客户终端具备:
数值存储机构,存储多个数值;
密钥生成机构,生成用于将上述各数值加密的加密密钥、以及构成与上述加密密钥对应的解密密钥的二次运算密钥和三次运算密钥;以及
加密机构,基于上述加密密钥将上述各数值加密,生成多个加密数据;
上述运算装置基于上述各加密数据执行一次运算处理,从而生成一次运算结果,该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的数据,
上述运算辅助装置基于上述一次运算结果、上述二次运算密钥以及随机数执行二次运算处理,从而生成使上述一次运算结果随机化而得的二次运算结果,
上述运算装置基于上述二次运算结果以及上述三次运算密钥而实施三次运算处理,从而生成三次运算结果,该三次运算结果相当于仅用上述随机数将进行了上述加减运算的式子的运算结果秘密化而得的数据,
上述运算装置基于上述三次运算结果判定上述式子中的被减数与减数之间的大小关系。
3.一种运算装置,能够与客户终端以及运算辅助装置进行通信,其特征在于,该运算装置具备:
三次运算密钥存储机构,在上述客户终端生成用于将多个数值加密的加密密钥、以及构成与上述加密密钥对应的解密密钥的二次运算密钥和三次运算密钥,并基于上述加密密钥将上述各数值加密,生成多个加密数据的情况下,上述三次运算密钥存储机构存储上述三次运算密钥;
一次运算机构,基于上述各加密数据执行一次运算处理,从而生成一次运算结果,该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的数据;
三次运算机构,在利用上述运算辅助装置生成使上述一次运算结果随机化而得的二次运算结果的情况下,基于上述二次运算结果以及上述三次运算密钥执行三次运算处理,从而生成三次运算结果,该三次运算结果相当于仅用随机数将进行了上述加减运算的式子的运算结果秘密化而得的数据;以及
大小判定机构,基于上述三次运算结果判定上述式子中的被减数与减数之间的大小关系;
上述运算辅助装置基于上述一次运算结果、上述二次运算密钥以及上述随机数执行二次运算处理,从而生成上述二次运算结果。
4.如权利要求3所述的运算装置,其特征在于,
上述一次运算机构基于通过上述加密密钥(a,sv)将0以上且小于N的整数的集合中的k个上述各数值m1、m2、…、mk加密而得的上述各加密数据Ci(i=1,2,…,k),生成上述一次运算结果X1、X2,该一次运算结果X1、X2相当于将对上述各数值进行了加减运算的式子F的运算结果加密而得的数据,
上述三次运算机构基于通过上述二次运算密钥(a-1,s)和随机数R、z使上述一次运算结果X1、X2随机化而得的二次运算结果Y1、Y2、以及上述三次运算密钥(v),生成上述三次运算结果W(=FR-z),其中,a-1是满足a·a-1mod N2=1的a-1的值,R是从集合{1,…,L}随机地选择的β个随机数的积,Lβ<N/2,z是从集合{0,1,…,J}选择的随机数,成为R<J的概率充分小,
上述大小判定机构基于上述三次运算结果W判定上述式子F中的被减数与减数之间的大小关系。
5.一种运算辅助装置,能够与客户终端以及运算装置进行通信,其特征在于,该运算辅助装置具备:
二次运算密钥存储机构,在上述客户终端存储多个数值,生成用于将上述各数值加密的加密密钥、以及构成与上述加密密钥对应的解密密钥的二次运算密钥和三次运算密钥,并基于上述加密密钥将上述各数值加密,生成多个加密数据,之后,上述运算装置存储上述三次运算密钥,基于上述各加密数据执行一次运算处理,从而生成一次运算结果且该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的数据的情况下,上述二次运算密钥存储机构存储上述二次运算密钥;
随机数生成机构,生成随机数;以及
二次运算机构,基于上述一次运算结果、上述二次运算密钥以及上述随机数执行二次运算处理,从而生成使上述一次运算结果随机化而得的二次运算结果;
上述运算装置基于上述二次运算结果以及上述三次运算密钥执行三次运算处理,从而生成三次运算结果,该三次运算结果相当于仅用上述随机数将进行了上述加减运算的式子的运算结果秘密化而得的数据,基于上述三次运算结果判定上述式子中的被减数与减数之间的大小关系。
6.如权利要求5所述的运算辅助装置,其特征在于,
在上述客户终端通过上述加密密钥(a,sv)将0以上且小于N的整数的集合中的k个上述各数值m1、m2、…、mk加密而生成上述各加密数据Ci(i=1,2,…,k),之后,上述运算装置基于上述各加密数据Ci(i=1,2,…,k)生成上述一次运算结果X1、X2且该一次运算结果X1、X2相当于将对上述各数值进行了加减运算的式子F的运算结果加密而得的数据的情况下,上述二次运算密钥存储机构存储上述二次运算密钥(a-1,s),其中,a-1是满足a·a-1mod N2=1的a-1的值,
上述随机数生成机构生成上述随机数R、z,其中,R是从集合{1,…,L}随机地选择的β个随机数的积,Lβ<N/2,z是从集合{0,1,…,J}选择的随机数,成为R<J的概率充分小,
上述二次运算机构基于上述一次运算结果X1、X2、上述二次运算密钥(a-1,s)以及上述随机数R、z,生成上述二次运算结果Y1、Y2,
上述运算装置基于上述二次运算结果Y1、Y2以及上述三次运算密钥(v)生成上述三次运算结果W(=FR-z),并基于上述三次运算结果W判定上述式子F中的被减数与减数之间的大小关系。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013051001A JP5784662B2 (ja) | 2013-03-13 | 2013-03-13 | 暗号化データ演算システム、装置及びプログラム |
JP2013-051001 | 2013-03-13 | ||
PCT/JP2014/055139 WO2014141907A1 (ja) | 2013-03-13 | 2014-02-28 | 暗号化データ演算システム、装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027181A CN105027181A (zh) | 2015-11-04 |
CN105027181B true CN105027181B (zh) | 2017-03-29 |
Family
ID=51536580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480010808.6A Active CN105027181B (zh) | 2013-03-13 | 2014-02-28 | 加密数据运算系统以及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10116439B2 (zh) |
JP (1) | JP5784662B2 (zh) |
CN (1) | CN105027181B (zh) |
WO (1) | WO2014141907A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10367794B2 (en) * | 2016-05-06 | 2019-07-30 | Ian L Sayers | Method and apparatus for securing a sensor or device |
AU2018295722B2 (en) * | 2017-07-05 | 2020-11-19 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, program, and recording medium |
CN110399735A (zh) * | 2019-06-21 | 2019-11-01 | 深圳壹账通智能科技有限公司 | 加密数据大小关系证明方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129292A (ja) * | 2007-11-27 | 2009-06-11 | Hitachi Ltd | 生体認証方法、装置およびシステム |
CN102135871A (zh) * | 2011-03-29 | 2011-07-27 | 深圳职业技术学院 | 利用混沌原理产生随机数的装置及其动态口令牌 |
WO2012067214A1 (ja) * | 2010-11-15 | 2012-05-24 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050201555A1 (en) * | 2004-02-09 | 2005-09-15 | I-Ling Yen | System, method and apparatus for secure computation on encrypted data |
WO2009118795A1 (ja) * | 2008-03-28 | 2009-10-01 | 富士通株式会社 | サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法 |
-
2013
- 2013-03-13 JP JP2013051001A patent/JP5784662B2/ja active Active
-
2014
- 2014-02-28 WO PCT/JP2014/055139 patent/WO2014141907A1/ja active Application Filing
- 2014-02-28 CN CN201480010808.6A patent/CN105027181B/zh active Active
-
2015
- 2015-09-11 US US14/851,684 patent/US10116439B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129292A (ja) * | 2007-11-27 | 2009-06-11 | Hitachi Ltd | 生体認証方法、装置およびシステム |
WO2012067214A1 (ja) * | 2010-11-15 | 2012-05-24 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
CN102135871A (zh) * | 2011-03-29 | 2011-07-27 | 深圳职业技术学院 | 利用混沌原理产生随机数的装置及其动态口令牌 |
Also Published As
Publication number | Publication date |
---|---|
WO2014141907A1 (ja) | 2014-09-18 |
JP2014178379A (ja) | 2014-09-25 |
US10116439B2 (en) | 2018-10-30 |
CN105027181A (zh) | 2015-11-04 |
JP5784662B2 (ja) | 2015-09-24 |
US20160006563A1 (en) | 2016-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Privacy-preserving machine learning with multiple data providers | |
CN107135062B (zh) | 一种改进的大文件的加密方法 | |
CN108667595A (zh) | 一种大数据文件的压缩加密方法 | |
US9917695B2 (en) | Authenticated encryption method using working blocks | |
CN105959098A (zh) | 基于多分割Feistel网络的保留格式加密算法 | |
EP3661115B1 (en) | Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program | |
CN107947917A (zh) | 一种生成白盒密钥的方法及装置 | |
CN105027181B (zh) | 加密数据运算系统以及装置 | |
CN107070649A (zh) | 一种减少写入的大文件选择性加密方法 | |
WO2012132621A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
EP3644546B1 (en) | Apparatus and method for generating cryptographic algorithm, apparatus and method for encryption | |
WO2023014969A1 (en) | Compact Adaptively Secure Functional Encryption For Attribute-Weighted Sums | |
CN110784304A (zh) | 一种通过fpga实现国密算法的方法 | |
Zhao | Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm | |
WO2014109059A1 (ja) | データの暗号化記憶システム及び方法 | |
WO2020044485A1 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
CN104871476B (zh) | 用于可计算、大型、可变及安全的替换盒的方法及设备 | |
CN116170185A (zh) | 数据的加密方法及装置、处理器和电子设备 | |
CN107968793A (zh) | 一种下载白盒密钥的方法、装置及系统 | |
Wang et al. | Research on full homomorphic encryption algorithm for integer in cloud environment | |
US20210126770A1 (en) | Apparatus and method for encryption and decryption | |
Panigrahi et al. | Issues and Challenges of Classical Cryptography in Cloud Computing | |
JP5103407B2 (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
WO2023243141A1 (ja) | 連合学習システム及び連合学習方法 | |
CN113259438B (zh) | 模型文件的发送方法和装置及模型文件的接收方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |