加密数据运算系统、装置以及程序的制作方法

文档序号:9308655阅读:446来源:国知局
加密数据运算系统、装置以及程序的制作方法
【技术领域】
[0001 ] 本发明的实施方式涉及加密数据运算系统、装置以及程序。
【背景技术】
[0002] 对数值a、b进行加密,可获得加密数据E(a)、E(b)。已知有不对这种加密数据 E(a)、E(b)进行解密、而是基于加密数据E(a)、E(b)对数值a、b的大小进行比较的大小比 较方法。
[0003] 在这种大小比较方法中,首先,某个实体A选择随机数r,并基于随机数r以及加密 数据E(a)、E(b)计算加密数据E(r(a-b))。其他多个(例如三个)实体B、C、D分割并保 持用于将加密数据E(r(a-b))解密的解密密钥。
[0004] 其他实体B、C、D携带分割后的解密密钥,并基于该携带的解密密钥对加密数据 E(r(a-b))进行解密。另外,通过解密结果r(a-b)的正负判定数值a、b的大小关系。 此外,在该大小比较方法中,也将大小比较所需的解密密钥称作比较密钥。
[0005]现有技术文献 [0006] 非专利文献
[0007]非专利文献 1:KunPeng,JuanmaGonzalezNietoandEdDawson,"Ciphertext Comparison,aNewSolutiontotheMillionaireProblem, ',http://eprints.qut. edu.au/24891/l/Ciphertext_Comparison% 2C_a_New_Solution_to_the_Mi11ionaire_ Problem,pdf

【发明内容】

[0008] 发明要解决的问题
[0009] 然而,虽然以上那种大小比较方法通常没有特别的问题,但根据本发明人的研究, 不能使用各加密数据E(a)、E(b)、E(C)、…对各数值进行加减运算(例如E(3a+b- 4c))。 因此,不能判定该加减运算中的被减数(例如3a+b)与减数(例如4c)之间的大小关系。
[0010] 本发明要解决的课题在于提供一种能够使用将各数值加密而成的各加密数据对 该各数值进行加减运算、从而能够判定该加减运算中的被减数与减数之间的大小关系的加 密数据运算系统、装置以及程序。
[0011] 用于解决问题的手段
[0012] 实施方式的加密数据运算系统具备客户终端、运算装置以及运算辅助装置。
[0013] 上述客户终端具备数值存储机构、密钥生成机构以及加密机构。
[0014] 上述数值存储机构存储多个数值。
[0015] 上述密钥生成机构生成用于将上述各数值加密的加密密钥、以及构成与上述加密 密钥对应的解密密钥的二次运算密钥和三次运算密钥。
[0016] 上述加密机构基于上述加密密钥将上述各数值加密,生成多个加密数据。
[0017] 上述运算装置具备三次运算密钥存储机构、一次运算机构、三次运算机构以及大 小判定机构。
[0018] 上述三次运算密钥存储机构存储上述三次运算密钥。
[0019] 上述一次运算机构基于上述各加密数据执行一次运算处理,从而生成一次运算结 果,该一次运算结果相当于将对上述各数值进行了加减运算的式子的运算结果加密而得的 数据。
[0020] 在通过上述运算辅助装置生成使上述一次运算结果随机化而得的二次运算结果 的情况下,上述三次运算机构基于上述二次运算结果以及上述三次运算密钥执行三次运算 处理,从而生成三次运算结果,该三次运算结果相当于仅用随机数将进行了上述加减运算 的式子的运算结果秘密化而得的数据。
[0021] 上述大小判定机构基于上述三次运算结果判定上述式子中的被减数与减数之间 的大小关系。
[0022] 上述运算辅助装置具备二次运算密钥存储机构、随机数生成机构以及二次运算机 构。
[0023] 上述二次运算密钥存储机构存储上述二次运算密钥。
[0024] 上述随机数生成机构生成上述随机数。
[0025] 上述二次运算机构基于上述一次运算结果、上述二次运算密钥以及上述随机数执 行二次运算处理,从而生成上述二次运算结果。
【附图说明】
[0026]图1是表示第1实施方式的加密数据运算系统的构成例的示意图。
[0027]图2是表示该实施方式中的加密数据运算系统的其他构成例的示意图。
[0028] 图3是表示该实施方式中的加密数据运算系统的概要的示意图。
[0029] 图4是表示该实施方式中的各装置的构成的示意图。
[0030] 图5是用于说明该实施方式中的密钥生成处理的动作的序列图。
[0031] 图6是用于说明该实施方式中的加密处理的动作的序列图。
[0032] 图7是用于说明该实施方式中的一次运算处理的动作的序列图。
[0033] 图8是用于说明该实施方式中的二次运算处理的动作的序列图。
[0034] 图9是用于说明该实施方式中的三次运算处理的动作的序列图。
【具体实施方式】
[0035] 以下,使用附图对各实施方式进行说明。此外,以下的各装置能够分别通过硬 件构成、或者硬件资源与软件的组合构成中的任意一者来实施。作为组合构成的软件, 使用如图1、图2以及图4所示预先从网络或者非易失性的计算机可读取的存储介质 (non-transitorycomputer-readablestoragemedium)Ml~M5、M2'、M4'、M5'安装于计 算机的程序,该程序用于通过被该计算机的处理器执行,而使该计算机实现对应的装置的 功能。
[0036](第1实施方式)
[0037] 首先,使用图1对本实施方式的加密数据运算系统的构成例进行说明。加密数据 运算系统具备密钥生成装置10、加密装置20、存储装置30、运算装置40以及运算辅助装置 50〇
[0038] 这里,密钥生成装置10、存储装置30、运算装置40以及运算辅助装置50是提供服 务的服务提供者所具有的信息处理装置。
[0039] 加密装置20是作为该服务的使用者的用户所具有的信息处理装置。各装置10、 20、30、40、50能够经由通信网络而可通信地连接。
[0040] 通信网络例如是无线LAN(LocalAreaNetwork,局域网)、有线LAN、光线路网、电 话线路网、内部网、以太网(注册商标)以及互联网、或它们的组合。另外,在图1中,示出 了连接于加密数据运算系统的各装置分别仅为一个,但它们也可以分别为多个。另外,在图 1中,示出了各装置分别独立地连接于加密数据运算系统的例子,但并不局限于此,也可以 使多个装置包含于一个信息处理装置中。例如,如图2所示,密钥生成装置10以及加密装 置20也可以包含于一个客户终端(未图示)中。此外,虽然未图示,例如也可以使存储装 置30以及运算装置40包含于一个服务器装置中。
[0041] 图3是表示加密数据运算系统的概要的示意图。该加密数据运算系统包括用户、 服务提供者A、以及服务提供者B。另外,在图3中,省略了密钥生成装置10的图示,但密钥 生成装置10既可以由能够信赖的第三者保持,也可以由用户保持。
[0042] 用户使用在密钥生成装置10中生成的加密密钥,在加密装置20中对数值叫。= 1,2,3,…)进行加密。接下来,用户将生成的加密数据E(mi)向服务提供者A发送。
[0043] 服务提供者A将接收的加密数据E〇1〇存储于存储装置30。服务提供者A从存储 装置30获取(一次运算处理所需的)加密数据E〇1〇,并在运算装置40中进行一次运算处 理。服务提供者A将一次运算处理结果向服务提供者B发送。
[0044] 服务提供者B被预先传递在密钥生成装置10中生成的、用于进行二次运算的密钥 (以下,称作二次运算密钥)。服务提供者B使用所接收的一次运算处理结果和预先传递的 二次运算密钥,在运算辅助装置50中进行二次运算处理。服务提供者B将二次运算处理结 果向服务提供者A发送。
[0045] 服务提供者A被预先传递在密钥生成装置10中生成的、用于进行三次运算的密钥 (以下,称作三次运算密钥)。服务提供者A使用所接收的二次运算处理结果和预先传递的 三次运算密钥,在运算装置40中进行三次运算处理。最后,服务提供者A将三次运算处理 结果向用户发送。或者,服务提供者A也可以向用户发送对执行多次上述处理而得的多个 三次运算处理结果进一步进行运算处理的结果。
[0046] 关于由哪个实体保持哪个装置,并不限定于上述的例子,能够应用各种变更。
[0047] 接着,使用图4具体地说明密钥生成装置10、加密装置20、存储装置30、运算装置 40以及运算辅助装置50的构成。
[0048] 密钥生成装置10具备密钥生成参数存储部11、暂时数据存储部12、参数生成部 13、密钥生成部14、通信部15以及控制部16。
[0049] 这里,密钥生成参数存储部11是存储密钥生成参数的存储装置。作为密钥生成参 数,例如能够使用用于确定关于密钥生成的合成数N=pq的比特数的下限的安全参数入。
[0050] 暂时数据存储部12是存储运算对象的多个数值、各生成部13、14的处理中途以及 处理结果等的暂时数据的存储装置。
[0051]参数生成部13生成密钥生成的参数。
[0052] 密钥生成部14生成加密密钥(例如a、sv)、二次运算密钥(例如a\s)、以及三 次运算密钥(例如v)。加密密钥是用于对各数值进行加密的密钥。二次运算密钥以及三次 运算密钥构成了与加密密钥对应的解密密钥(例如a\s、v)。
[0053] 通信部15是用于与其他装置20~50进行通信的通信接口,例如具有被控制部 16控制而将暂时数据存储部12内的二次运算密钥、三次运算密钥分别发送到运算辅助装 置50、运算装置40的功能。此外,在以下的说明中,出于避免收发信号时冗长的记载的观 点,在收发信号时,有时省略经由通信部15的意思记载。这对于其他装置20~50的通信 部25、32、44、55也是相同的。
[0054] 控制部16具有控制各部11~15执行图5所示的动作的功能。
[0055] 加密装置20具备加密参数生成部21、暂时数据存储部22、密文生成部23、加密密 钥存储部24、通信部25以及控制部26。
[0056] 这里,加密参数生成部21生成加密参数。作为加密参数,例如能够使用从0以上 且小于N2的整数的集合ZN2中随机地选择的k个随机数巧、…、rk。
[0057] 暂时数据存储部22是存储各生成部21、23的处理中途以及处理结果等的暂时数 据的存储装置。
[0058] 密文生成部23基于加密密钥对各数值进行加密,生成多个密文(多个加密数据)。
[0059] 加密密钥存储部24是存储加密密钥的存储装置。
[0060] 通信部25是用于与其他装置10、30~50进行通信的通信接口,例如具有被控制 部26控制而将暂时数据存储部22内的密文发送到存储装置3
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1