一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

隐匿检索系统、隐匿检索方法和隐匿检索程序与流程

2022-08-13 16:25:31 来源:中国专利 TAG:


1.本发明涉及隐匿检索系统、隐匿检索方法和隐匿检索程序。


背景技术:

2.隐匿检索是在对加密数据进行加密的状态下进行检索的技术。即,隐匿检索是不对加密数据进行解密而进行检索的技术。
3.近年来,隐匿检索作为用于在云服务中守护机密信息的安全技术而受到关注。根据隐匿检索,能够防止由服务器管理者或恶意软件等监听机密信息。即,隐匿检索作为用于在互联网中安全地管理数据的安全技术而受到关注。
4.在隐匿检索中,存在公共密钥方式和公开密钥方式这2种。
5.在公共密钥方式中,利用公共密钥加密技术,并且限定登记者和检索者。
6.在公开密钥方式中,利用公开密钥加密技术,并且限定检索者而不限定登记者。
7.专利文献1公开有多用户型的公共密钥方式。在本方式中,登记者按照每个检索者使用不同的登记用的秘密密钥,由此对数据进行加密。
8.现有技术文献
9.专利文献
10.专利文献1:国际公开第2019/142651号


技术实现要素:

11.发明要解决的课题
12.在使用专利文献1公开的公共密钥方式的情况下,检索加密数据所需要的时间依赖于数据管理装置中登记的加密标签的件数。此外,该情况下,无法构成能够活用于使检索高速化的索引。因此,在登记着的加密标签的件数多的情况下,存在无法高速地检索加密数据这样的课题。
13.本发明的目的在于,在采用多用户型的公共密钥方式的隐匿检索系统中,检索者能够比较高速地检索数据管理装置中登记的数据。
14.用于解决课题的手段
15.本发明的隐匿检索系统具有登记装置,所述登记装置具有:登记数据存储部,其存储有登记关键字、表示具有检索所述登记关键字的权限的权限者应该具有的属性的权限者属性信息、以及对与所述登记关键字对应的登记关键字索引进行加密的索引公开密钥;索引生成部,其使用所述登记关键字、所述权限者属性信息、用户密钥函数、检索查询函数和索引查询函数生成所述登记关键字索引,其中,所述用户密钥函数生成组入了表示检索所述登记关键字的检索者具有的属性的检索者属性信息的用户密钥,所述检索查询函数生成组入了所述用户密钥且与供所述检索者检索所述登记关键字的检索关键字对应的检索查询,所述索引查询函数生成组入了所述检索查询且检索所述登记关键字索引的索引查询;以及加密索引生成部,其使用所述索引公开密钥对所述登记关键字索引进行加密,由此生
成加密索引。
16.发明效果
17.根据本发明的隐匿检索系统,加密索引生成部生成加密索引。加密索引对应于登记关键字。登记关键字也可以对应于数据管理装置中登记的数据。因此,检索者活用加密索引来检索登记关键字,由此,能够比较高速地检索数据管理装置中登记的数据。
附图说明
18.图1是实施方式1中的隐匿检索系统100的结构图。
19.图2是实施方式1中的主密钥装置200的结构图。
20.图3是实施方式1中的登记密钥装置300的结构图。
21.图4是实施方式1中的索引公开密钥装置400的结构图。
22.图5是实施方式1中的生成部420的结构图。
23.图6是实施方式1中的用户密钥装置500的结构图。
24.图7是实施方式1中的生成部520的结构图。
25.图8是实施方式1中的登记装置600的结构图。
26.图9是实施方式1中的生成部620的结构图。
27.图10是实施方式1中的检索操作装置700的结构图。
28.图11是实施方式1中的生成部720的结构图。
29.图12是实施方式1中的数据管理装置800的结构图。
30.图13是实施方式1中的解密部820的结构图。
31.图14是实施方式1中的检索部840的结构图。
32.图15是示出实施方式1中的主密钥生成处理的动作的流程图。
33.图16是示出实施方式1中的登记密钥生成处理的动作的流程图。
34.图17是示出实施方式1中的索引公开密钥生成处理的动作的流程图。
35.图18是示出实施方式1中的用户密钥生成处理的动作的流程图。
36.图19是示出实施方式1中的属性信息的图。
37.图20是示出实施方式1中的数据登记处理的动作的流程图。
38.图21是示出实施方式1中的登记数据库892的图。
39.图22是示出实施方式1中的索引公开处理的动作的流程图。
40.图23是示出实施方式1中的索引公开后数据库893的图。
41.图24是示出实施方式1中的检索操作处理的动作的流程图。
42.图25是示出实施方式1中的数据检索处理的动作的流程图。
43.图26是示出实施方式1中的数据删除处理的动作的流程图。
44.图27是实施方式1的变形例中的主密钥装置200的硬件结构图。
45.图28是实施方式1的变形例中的登记密钥装置300的硬件结构图。
46.图29是实施方式1的变形例中的索引公开密钥装置400的硬件结构图。
47.图30是实施方式1的变形例中的用户密钥装置500的硬件结构图。
48.图31是实施方式1的变形例中的登记装置600的硬件结构图。
49.图32是实施方式1的变形例中的检索操作装置700的硬件结构图。
50.图33是实施方式1的变形例中的数据管理装置800的硬件结构图。
具体实施方式
51.在实施方式的说明和附图中,对相同的要素和对应的要素标注相同标号。标注有相同标号的要素的说明适当省略或简化。图中的箭头主要表示数据流或处理流。
52.实施方式1
53.首先,对隐匿检索中的登记者、检索者和数据管理装置各自的处理进行简单说明。
54.登记者是登记加密数据的用户。登记者也可以包含登记数据的装置。
55.检索者是检索加密数据的用户。检索者也可以包含检索数据的装置。
56.数据管理装置是保管加密数据的装置。
57.登记者执行的基本处理如下所述。
58.首先,登记者对要登记的数据进行加密,由此生成加密数据。
59.接着,登记者生成用于检索加密数据的登记关键字。
60.接着,登记者对登记关键字进行加密。将加密后的登记关键字称作加密标签。也可以在加密标签中组入登记关键字以外的数据。很难根据加密标签推测登记关键字。
61.接着,登记者将加密标签与加密数据关联起来。加密标签的数量不需要是1个。即,登记者也可以将多个加密标签与加密数据关联起来。
62.然后,登记者将加密数据和加密标签登记于数据管理装置。
63.检索者执行的基本处理如下所述。
64.首先,检索者选择用于进行检索的检索关键字。
65.接着,检索者使用秘密密钥对检索关键字进行加密。在秘密密钥中组入检索者的信息。将加密后的检索关键字称作检索查询。也可以在检索查询中组入检索关键字以外的数据。很难根据检索查询推测秘密密钥或检索关键字等。
66.接着,检索者将检索查询发送到数据管理装置,由此,请求数据管理装置检索与检索关键字对应的数据。
67.然后,检索者从数据管理装置接受与检索查询对应的加密数据。
68.数据管理装置执行的基本处理如下所述。
69.在数据管理装置中登记有至少1个加密数据和加密标签的组。
70.首先,数据管理装置接受检索查询。
71.接着,数据管理装置执行特殊的运算,由此选择与检索查询对应的加密标签。特殊的运算是用于不对加密标签进行解密而对检索关键字和与各加密标签对应的登记关键字进行比较的运算。
72.然后,数据管理装置将与选择出的加密标签相关联的加密数据发送到检索者。
73.也可以在加密标签中组入表示被许可进行检索的检索者即权限者的信息。作为具体例,设在加密标签中组入表示仅检索者a能够进行检索的信息。考虑如下情况:检索者b使用与登记关键字一致的检索关键字生成检索查询,并且使用该检索查询检索加密数据,其中,所述登记关键字是使用与检索者b对应的秘密密钥而组入到该加密标签中的。该情况下,数据管理装置判定为与加密标签对应的检索者和与检索查询对应的检索者不一致。
74.下面,参照附图对本实施方式进行详细说明。
75.本实施方式的隐匿检索系统100使用多用户型的公共密钥加密方式生成索引,对生成的索引进行加密,对加密后的索引进行解密,使用解密后的索引,由此进行隐匿检索。
76.***结构的说明***
77.图1示出隐匿检索系统100的结构例。
78.如本图所示,隐匿检索系统100具有主密钥装置200、登记密钥装置300、索引公开密钥装置400、用户密钥装置500、登记装置600、检索操作装置700和数据管理装置800。隐匿检索系统也可以由本图所示的至少1个装置构成。
79.隐匿检索系统100具有的各装置经由网络101相互连接。隐匿检索系统100具有的至少1个装置也可以不与其他全部装置连接。
80.图2示出本实施方式的主密钥装置200的结构例。
81.如本图所示,主密钥装置200是具有处理器201、存储器202、辅助存储装置203、输入输出接口204和通信装置205等硬件的计算机。这些硬件经由信号线相互连接。
82.处理器201是进行运算处理的ic(integrated circuit:集成电路),对计算机具有的硬件进行控制。作为具体例,处理器201是cpu(central processing unit:中央处理单元)、dsp(digital signal processor:数字信号处理器)或gpu(graphics processing unit:图形处理单元)。
83.典型地讲,存储器202是易失性存储装置。存储器202也称作主存储装置或主存储器。作为具体例,存储器202是ram(random access memory:随机存取存储器)。存储器202中存储的数据根据需要而保存于辅助存储装置203。
84.典型地讲,辅助存储装置203是非易失性存储装置。作为具体例,辅助存储装置203是rom(read only memory:只读存储器)、hdd(hard disk drive:硬盘驱动器)或闪存。辅助存储装置203中存储的数据根据需要而载入到存储器202。
85.输入输出接口204是连接输入装置和输出装置的端口。作为具体例,输入输出接口204是usb(universal serial bus:通用串行总线)端子。作为具体例,输入装置是键盘和鼠标。作为具体例,输出装置是显示器。
86.通信装置205是接收机和发送机。作为具体例,通信装置205是通信芯片或nic(network interface card:网络接口卡)。
87.主密钥装置200具有受理部210、生成部220和输出部230等要素。这些要素通过软件实现。
88.辅助存储装置203存储有主密钥程序。主密钥程序是使计算机实现受理部210、生成部220、输出部230和存储部291的功能的程序。主密钥程序载入到存储器202,由处理器201来执行。
89.辅助存储装置203存储有os(operating system:操作系统)。os的至少一部分载入到存储器202,由处理器201来执行。即,处理器201一边执行os,一边执行主密钥程序。
90.执行主密钥程序而得到的数据存储于存储器202、辅助存储装置203、处理器201内的寄存器或处理器201内的高速缓冲存储器等存储装置。
91.辅助存储装置203作为存储部291发挥功能。辅助存储装置203以外的存储装置的至少一部分也可以代替辅助存储装置203或与辅助存储装置203一起作为存储部291发挥功能。
92.主密钥装置200也可以具有代替处理器201的多个处理器。多个处理器分担处理器201的作用。
93.本说明书中记载的各程序也可以以计算机能读取的方式记录(存储)于非易失性的记录介质。作为具体例,非易失性的记录介质是光盘或闪存。
94.图3示出本实施方式的登记密钥装置300的结构例。
95.如本图所示,如本图所示,登记密钥装置300是具有处理器301、存储器302、辅助存储装置303、输入输出接口304和通信装置305等硬件的计算机。这些硬件经由信号线相互连接。
96.处理器301与处理器201相同。存储器302与存储器202相同。辅助存储装置303与辅助存储装置203相同。输入输出接口304与输入输出接口204相同。通信装置305与通信装置205相同。
97.登记密钥装置300具有受理部310、生成部320和输出部330等要素。这些要素通过软件实现。
98.辅助存储装置303存储登记密钥程序。登记密钥程序是使计算机实现受理部310、生成部320、输出部330和存储部391的功能的程序。登记密钥程序载入到存储器302,由处理器301来执行。
99.辅助存储装置303存储有os。os的至少一部分载入到存储器302,由处理器301来执行。即,处理器301一边执行os,一边执行登记密钥程序。
100.执行登记密钥程序而得到的数据存储于存储器302、辅助存储装置303、处理器301内的寄存器或处理器301内的高速缓冲存储器等存储装置。
101.辅助存储装置303作为存储部391发挥功能。辅助存储装置303以外的存储装置的至少一部分也可以代替辅助存储装置303或与辅助存储装置303一起作为存储部391发挥功能。
102.登记密钥装置300也可以具有代替处理器301的多个处理器。多个处理器分担处理器301的作用。
103.图4示出本实施方式的索引公开密钥装置400的结构例。
104.如本图所示,索引公开密钥装置400是具有处理器401、存储器402、辅助存储装置403、输入输出接口404和通信装置405等硬件的计算机。这些硬件经由信号线相互连接。
105.处理器401与处理器201相同。存储器402与存储器202相同。辅助存储装置403与辅助存储装置203相同。输入输出接口404与输入输出接口204相同。通信装置405与通信装置205相同。
106.索引公开密钥装置400具有受理部410、生成部420和输出部430等要素。这些要素通过软件实现。
107.辅助存储装置403存储有索引公开密钥程序。索引公开密钥程序是使计算机实现受理部410、生成部420、输出部430和存储部491的功能的程序。索引公开密钥程序载入到存储器402,由处理器401来执行。
108.辅助存储装置403存储有os。os的至少一部分载入到存储器402,由处理器401来执行。即,处理器401一边执行os,一边执行索引公开密钥程序。
109.执行索引公开密钥程序而得到的数据存储于存储器402、辅助存储装置403、处理
器401内的寄存器或处理器401内的高速缓冲存储器等存储装置。
110.辅助存储装置403作为存储部491发挥功能。辅助存储装置403以外的存储装置的至少一部分也可以代替辅助存储装置403或与辅助存储装置403一起作为存储部491发挥功能。
111.索引公开密钥装置400也可以具有代替处理器401的多个处理器。多个处理器分担处理器401的作用。
112.图5示出生成部420的结构例。
113.如本图所示,生成部420具有索引公开密钥生成部421。
114.图6示出本实施方式的用户密钥装置500的结构例。
115.如本图所示,用户密钥装置500是具有处理器501、存储器502、辅助存储装置503、输入输出接口504和通信装置505等硬件的计算机。这些硬件经由信号线相互连接。
116.处理器501与处理器201相同。存储器502与存储器202相同。辅助存储装置503与辅助存储装置203相同。输入输出接口504与输入输出接口204相同。通信装置505与通信装置205相同。
117.用户密钥装置500具有受理部510、生成部520和输出部530等要素。这些要素通过软件实现。
118.辅助存储装置503存储有用户密钥程序。用户密钥程序是使计算机实现受理部510、生成部520、输出部530和存储部591的功能的程序。用户密钥程序载入到存储器502,由处理器501来执行。
119.辅助存储装置503存储有os。os的至少一部分载入到存储器502,由处理器501来执行。即,处理器501一边执行os,一边执行用户密钥程序。
120.执行用户密钥程序而得到的数据存储于存储器502、辅助存储装置503、处理器501内的寄存器或处理器501内的高速缓冲存储器等存储装置。
121.辅助存储装置503作为存储部591发挥功能。辅助存储装置503以外的存储装置的至少一部分也可以代替辅助存储装置503或与辅助存储装置503一起作为存储部591发挥功能。
122.用户密钥装置500也可以具有代替处理器501的多个处理器。多个处理器分担处理器501的作用。
123.输出部530也称作用户数据输出部。输出部530将用户密钥输出到检索操作装置700。用户密钥uk是组入了检索者属性信息的密钥。检索者属性信息是表示检索登记关键字w的检索者具有的属性的信息,并且也称作属性信息。
124.存储部591也称作用户数据存储部。存储部591也可以存储有检索者属性信息。
125.图7示出生成部520的结构例。
126.如本图所示,生成部520具有用户密钥生成部521。
127.用户密钥生成部521使用检索者属性信息和用户密钥函数生成用户密钥uk。
128.图8示出本实施方式的登记装置600的结构例。
129.如本图所示,登记装置600是具有处理器601、存储器602、辅助存储装置603、输入输出接口604和通信装置605等硬件的计算机。这些硬件经由信号线相互连接。
130.处理器601与处理器201相同。存储器602与存储器202相同。辅助存储装置603与辅
助存储装置203相同。输入输出接口604与输入输出接口204相同。通信装置605与通信装置205相同。
131.登记装置600具有受理部610、生成部620、登记部630和输出部640等要素。这些要素通过软件实现。
132.辅助存储装置603存储有登记程序。登记程序是使计算机实现受理部610、生成部620、登记部630、输出部640和存储部691的功能的程序。登记程序载入到存储器602,由处理器601来执行。
133.辅助存储装置603存储有os。os的至少一部分载入到存储器602,由处理器601来执行。即,处理器601一边执行os,一边执行登记程序。
134.执行登记程序而得到的数据存储于存储器602、辅助存储装置603、处理器601内的寄存器或处理器601内的高速缓冲存储器等存储装置。
135.辅助存储装置603作为存储部691发挥功能。但是,辅助存储装置603以外的存储装置的至少一部分也可以代替辅助存储装置603或与辅助存储装置603一起作为存储部691发挥功能。
136.登记装置600也可以具有代替处理器601的多个处理器。多个处理器分担处理器601的作用。
137.输出部640也称作登记数据输出部。输出部640将加密标签ct输出到数据管理装置800,并且将加密索引ei输出到数据管理装置800。
138.存储部691也称作登记数据存储部。存储部691也可以存储有登记关键字w、权限者属性信息和索引公开密钥ik。权限者属性信息是表示具有检索登记关键字w的权限的权限者应该具有的属性的信息,并且也称作属性信息。权限者属性信息也可以包含通配符。权限者属性信息中的通配符是表示不管检索者属性信息中包含的属性是什么样的属性都许可与检索者属性信息对应的检索者检索登记关键字w的数据。登记关键字索引是与登记装置600登记于数据管理装置800的加密数据对应的索引,并且也称作索引i。登记关键字索引是与登记关键字w对应的索引。索引公开密钥ik是对登记关键字索引进行加密的密钥。索引公开密钥ik也可以是能够对所述加密索引的至少一部分进行解密的密钥。
139.图9示出生成部620的结构例。
140.如本图所示,生成部620具有密文数据生成部621、关键字生成部622、中间标签生成部623、索引生成部624、加密索引生成部625、随机数生成部626和加密标签生成部627。
141.中间标签生成部623使用权限者属性信息、登记关键字w、用户密钥函数和检索查询函数生成与登记关键字w对应的中间标签mt。用户密钥函数是用于生成用户密钥uk的函数。检索查询函数是用于生成检索查询sq的函数。检索查询sq被组入到用户密钥uk,并且对应于检索关键字w。检索关键字w是检索者检索登记关键字w时使用的关键字。
142.中间标签生成部623也可以将通配符组入到中间标签mt中。
143.索引生成部624使用登记关键字w、权限者属性信息、用户密钥函数、检索查询函数和索引查询函数生成登记关键字索引。索引查询函数是用于生成索引查询iq或部分索引查询iq

的函数。索引查询iq被组入到检索查询sq,并且是用于检索登记关键字索引的数据。
144.索引生成部624也可以使用中间标签mt生成登记关键字索引。
145.加密索引生成部625使用索引公开密钥ik对登记关键字索引进行加密,由此生成
加密索引ei。
146.随机数生成部626生成随机数作为加密标签随机数。
147.加密标签生成部627使用中间标签mt、加密标签随机数和加密标签函数生成加密标签ct。加密标签函数用于生成组入了登记关键字w的加密标签。
148.加密标签生成部627使用登记关键字w、加密标签随机数、加密标签函数和对照符函数生成加密标签对照符。加密标签生成部627也可以将加密标签随机数和加密标签对照符与加密标签ct结合。对照符函数是用于生成与加密标签ct对应的加密标签对照符的函数。
149.图10示出本实施方式的检索操作装置700的结构例。
150.如本图所示,检索操作装置700是具有处理器701、存储器702、辅助存储装置703、输入输出接口704和通信装置705等硬件的计算机。这些硬件经由信号线相互连接。
151.处理器701与处理器201相同。存储器702与存储器202相同。辅助存储装置703与辅助存储装置203相同。输入输出接口704与输入输出接口204相同。通信装置705与通信装置205相同。
152.检索操作装置700具有受理部710、生成部720、请求部730、解密部740和输出部750等要素。这些要素通过软件实现。
153.辅助存储装置703存储有检索操作程序。检索操作程序是使计算机实现受理部710、生成部720、请求部730、解密部740、输出部750和存储部791的功能的程序。检索操作程序载入到存储器702,由处理器701来执行。
154.辅助存储装置703存储有os。os的至少一部分载入到存储器702,由处理器701来执行。即,处理器701一边执行os,一边执行检索操作程序。
155.执行检索操作程序而得到的数据存储于存储器702、辅助存储装置703、处理器701内的寄存器或处理器701内的高速缓冲存储器等存储装置。
156.辅助存储装置703作为存储部791发挥功能。辅助存储装置703以外的存储装置的至少一部分也可以代替辅助存储装置703或与辅助存储装置703一起作为存储部791发挥功能。
157.检索操作装置700也可以具有代替处理器701的多个处理器。多个处理器分担处理器701的作用。
158.受理部710也称作检索数据受理部。受理部710受理用户密钥uk,并且使存储部791存储用户密钥uk。
159.输出部750也称作检索数据输出部。输出部750将检索查询sq和索引查询iq输出到数据管理装置800。
160.存储部791也称作检索数据存储部。存储部791也可以存储有用户密钥uk和检索关键字w。
161.图11示出生成部720的结构例。
162.如本图所示,生成部720具有检索查询生成部721和索引查询生成部722。
163.检索查询生成部721使用用户密钥uk、检索关键字w和检索查询函数生成检索查询sq。
164.索引查询生成部722使用检索查询sq和索引查询函数生成索引查询iq。
165.图12示出本实施方式的数据管理装置800的结构例。
166.如本图所示,数据管理装置800是具有处理器801、存储器802、辅助存储装置803、输入输出接口804和通信装置805等硬件的计算机。这些硬件经由信号线相互连接。
167.处理器801与处理器201相同。存储器802与存储器202相同。辅助存储装置803与辅助存储装置203相同。输入输出接口804与输入输出接口204相同。通信装置805与通信装置205相同。
168.数据管理装置800具有受理部810、解密部820、登记部830、检索部840和输出部850等要素。这些要素通过软件实现。
169.辅助存储装置803存储有数据管理程序。数据管理程序是使计算机实现受理部810、解密部820、登记部830、检索部840、输出部850和存储部891的功能的程序。数据管理程序载入到存储器802,由处理器801来执行。
170.辅助存储装置803存储有os。os的至少一部分载入到存储器802,由处理器801来执行。即,处理器801一边执行os,一边执行数据管理程序。
171.执行数据管理程序而得到的数据存储于存储器802、辅助存储装置803、处理器801内的寄存器或处理器801内的高速缓冲存储器等存储装置。
172.辅助存储装置803作为存储部891发挥功能。辅助存储装置803以外的存储装置的至少一部分也可以代替辅助存储装置803或与辅助存储装置803一起作为存储部891发挥功能。
173.数据管理装置800也可以具有代替处理器801的多个处理器。多个处理器分担处理器801的作用。
174.受理部810也称作管理数据受理部。受理部810受理加密标签ct,并且使存储部891存储加密标签ct。受理部810受理加密索引ei,并且使存储部891存储加密索引ei。受理部810受理检索查询sq和索引查询iq,并且使存储部891存储检索查询sq和索引查询iq。
175.存储部891也称作管理数据存储部。存储部891也可以存储检索查询sq、索引公开密钥ik、索引查询iq和索引公开位置信息pos。索引公开位置信息pos是表示与加密索引ei的至少一部分对应的使用已公开的索引公开密钥ik进行解密的位置的信息。也可以将已公开的索引公开密钥ik称作索引公开密钥ik。已公开的索引公开密钥ik能够对加密索引ei的至少一部分进行解密。已公开的索引公开密钥ik是除了索引公开密钥装置400和登记装置600以外的装置能够使用的索引公开密钥ik。
176.图13示出解密部820的结构例。
177.如本图所示,解密部820具有加密索引解密部821。
178.加密索引解密部821使用索引公开密钥ik对加密索引ei进行解密,由此生成部分登记关键字索引。部分登记关键字索引是登记关键字索引的至少一部分。
179.图14示出检索部840的结构例。
180.如本图所示,检索部840具有索引对照部841、加密标签提取部842、加密标签对照部843和密文数据提取部844。
181.索引对照部841在部分索引查询iq

和部分登记关键字索引一致的情况下,判定为存在登记关键字w和检索关键字w与权限者属性信息和检索者属性信息分别一致的可能性。部分索引查询iq

是索引查询iq中包含的与部分登记关键字索引对应的信息。
182.索引对照部841将索引查询iq内的与索引公开位置信息pos对应的部分设为部分索引查询iq


183.加密标签对照部843执行的处理被称作对照处理。
184.加密标签对照部843使用加密标签ct、检索查询sq、与加密标签ct结合的加密标签随机数、加密标签函数和对照符函数生成判定用对照符。在判定用对照符和与加密标签结合的加密标签对照符相等的情况下,加密标签对照部843判定为登记关键字w和检索关键字w一致。判定用对照符是用于判定检索关键字w与登记关键字w是否一致的数据。
185.也可以在索引对照部841判定为存在登记关键字w和检索关键字w与权限者属性信息和检索者属性信息分别一致的可能性的情况下,加密标签对照部843执行对照处理。
186.隐匿检索程序是主密钥程序、登记密钥程序、索引公开密钥程序、用户密钥程序、登记程序、检索操作程序和数据管理程序的总称。隐匿检索程序可以是1个程序,也可以由多个程序构成。构成隐匿检索程序的程序的至少一方也可以作为程序产品来提供。
187.***动作的说明***
188.主密钥装置200的动作顺序相当于主密钥方法。此外,实现主密钥装置200的动作的程序相当于主密钥程序。
189.登记密钥装置300的动作顺序相当于登记密钥方法。此外,实现登记密钥装置300的动作的程序相当于登记密钥程序。
190.索引公开密钥装置400的动作顺序相当于索引公开密钥方法。此外,实现索引公开密钥装置400的动作的程序相当于索引公开密钥程序。
191.用户密钥装置500的动作顺序相当于用户密钥方法。此外,实现用户密钥装置500的动作的程序相当于用户密钥程序。
192.登记装置600的动作顺序相当于登记方法。此外,实现登记装置600的动作的程序相当于登记程序。
193.检索操作装置700的动作顺序相当于检索操作方法。此外,实现检索操作装置700的动作的程序相当于检索操作程序。
194.数据管理装置800的动作顺序相当于数据管理方法。此外,实现数据管理装置800的动作的程序相当于数据管理程序。
195.隐匿检索系统100的动作顺序相当于隐匿检索方法。隐匿检索方法是主密钥方法、登记密钥方法、索引公开密钥方法、用户密钥方法、登记方法、检索操作方法和数据管理方法的总称。
196.下面,对隐匿检索系统100的各装置的处理的具体例进行说明。以下所示的处理是隐匿检索方法中包含的处理。
197.另外,下面,对隐匿检索系统100使用专利文献1公开的多用户型的公共密钥方式的情况进行说明。但是,隐匿检索系统100在使用其他的多用户型的公共密钥方式的情况下,也能够与以下的例子同样地执行隐匿检索方法。
198.图15是示出主密钥生成处理的一例的流程图。
199.主密钥生成处理是由主密钥装置200执行的处理。
200.(步骤s201:生成处理)
201.生成部220生成主密钥mk。
202.作为具体例,生成部220生成256比特的随机比特串作为主密钥mk。在本例中,生成部220生成256比特的主密钥mk。
203.(步骤s202:保管处理)
204.生成部220将主密钥mk存储于存储部291。其结果是,主密钥mk保管于存储部291。
205.(步骤s203:输出处理)
206.输出部230输出主密钥mk。
207.作为具体例,输出部230使用通信装置205将主密钥mk发送到登记密钥装置300。
208.图16是示出登记密钥生成处理的一例的流程图。
209.登记密钥生成处理是由登记密钥装置300执行的处理。
210.(步骤s301:受理处理)
211.受理部310受理主密钥mk。
212.作为具体例,受理部310使用通信装置305从主密钥装置200接收主密钥mk。受理部310也可以经由输入输出接口304受理输入到登记密钥装置300的主密钥mk。
213.(步骤s302:生成处理)
214.生成部320使用主密钥mk生成登记密钥ek。生成部320生成数据密钥dk和标签密钥tk,以生成登记密钥ek。
215.登记密钥ek是数据密钥dk和标签密钥tk的组。即,登记密钥ek也可以如下表示。
216.ek=(dk,tk)
217.登记密钥ek包含数据密钥dk和标签密钥tk。
218.(步骤s303:保管处理)
219.生成部320使存储部391存储登记密钥ek。其结果是,登记密钥ek保管于存储部391。
220.(步骤s304:输出处理)
221.输出部330输出登记密钥ek。
222.作为具体例,输出部330使用通信装置305向索引公开密钥装置400、用户密钥装置500和登记装置600分别发送登记密钥ek。
223.输出部330也可以代替向登记装置600发送登记密钥ek而向登记装置600发送标签密钥tk。
224.图17是示出索引公开密钥生成处理的一例的流程图。
225.索引公开密钥生成处理是由索引公开密钥装置400执行的处理。
226.(步骤s401:登记密钥受理处理)
227.受理部410受理登记密钥ek。
228.作为具体例,受理部410使用通信装置405从登记密钥装置300接收登记密钥ek。受理部410也可以经由输入输出接口404受理输入到索引公开密钥装置400的登记密钥ek。
229.受理部410使存储部491存储登记密钥ek。其结果是,登记密钥ek保管于存储部491。
230.另外,在存储部491已经保管登记密钥ek的情况下,受理部410也可以不执行本步骤的处理。
231.(步骤s402:索引长度受理处理)
232.受理部410受理索引长度ilen。
233.作为具体例,受理部410经由输入输出接口404受理输入到索引公开密钥装置400的索引长度ilen。受理部410也可以从应用程序受理索引长度ilen。
234.索引长度ilen是1以上的整数,是以字节单位表示登记装置600中生成的索引i的数据长度的值。作为具体例,在设ilen=32时,索引i的数据长度是32字节或与32字节成比例的值。
235.另外,在存储部491已经存储索引长度ilen的情况下,受理部410也可以不执行本步骤的处理。
236.(步骤s403:生成处理)
237.索引公开密钥生成部421使用标签密钥tk和索引长度ilen生成索引公开密钥ik。
238.索引公开密钥ik具有ilen个索引公开部分密钥ik_j。也可以将索引公开密钥ik的一部分称作索引公开密钥ik。j是1以上且ilen以下的整数。即,索引公开密钥ik也可以如下所述以向量形式表示。
239.ik=(ik_1,

,ik_ilen)
240.索引公开密钥生成部421如下计算索引公开部分密钥ik_j。
241.首先,索引公开密钥生成部421连结标签密钥tk和编号j而得到连结值tk|j。x|y表示连结数据x的比特串和数据y的比特串而成的数据的比特串所示的值。只要没有特别说明,则连结意味着连结比特串。
242.接着,索引公开密钥生成部421将连结值tk|j作为输入来执行函数f_1,得到索引公开部分密钥ik_j。即,索引公开部分密钥ik_j也可以如下表示。
243.ik_j=f_1(tk|j)
244.函数f_1也可以是任意的单向函数。作为具体例,单向函数是伪随机函数、散列函数、公共密钥加密方式或公开密钥加密方式。
245.(步骤s404:保管处理)
246.生成部420使存储部491存储索引公开密钥ik。其结果是,索引公开密钥ik保管于存储部491。
247.(步骤s405:输出处理)
248.输出部430输出索引公开密钥ik。
249.作为具体例,输出部430使用通信装置405将索引公开密钥ik发送到登记装置600。
250.图18是示出用户密钥生成处理的一例的流程图。
251.用户密钥生成处理是由用户密钥装置500执行的处理。
252.(步骤s501:登记密钥受理处理)
253.受理部510受理登记密钥ek。
254.作为具体例,受理部510使用通信装置505从登记密钥装置300接收登记密钥ek。受理部510也可以经由输入输出接口504受理输入到用户密钥装置500的登记密钥ek。
255.受理部510使存储部591存储登记密钥ek。其结果是,登记密钥ek保管于存储部591。
256.在存储部591已经保管登记密钥ek的情况下,受理部510也可以不执行本步骤的处理。
257.(步骤s502:属性信息受理处理)
258.受理部510受理属性信息a。属性信息a对应于检索者属性信息。
259.作为具体例,受理部510经由输入输出接口504受理输入到用户密钥装置500的属性信息a。受理部510也可以从应用程序受理属性信息a。
260.另外,在存储部591已经存储属性信息a的情况下,受理部510也可以不执行本步骤的处理。
261.属性信息是汇总检索者的属性而成的信息。属性信息是与检索和解密的权限控制有关的信息。检索者是能够检索数据管理装置800中登记的数据的利用者。即,检索者是检索操作装置700的利用者或存在利用检索操作装置700的可能性的人。检索者也可以是计算机或机器人等人以外的物体。检索者的属性是检索者具有的性质或检索者的识别信息等。
262.作为具体例,检索者的属性由1个以上的层构成。下面,设检索者的属性由1个以上的层构成。
263.属性信息按照每层示出各检索者的属性值。属性值是属性信息的各值。
264.图19示出属性信息的具体例。在本例中,检索者的属性由4层构成。下面,对本例进行说明。
265.1个编号对应于1个检索者的分类。有时1个编号对应于多个检索者。
266.第1层的属性(第1属性)表示检索者所属的事业部。
267.第2层的属性(第2属性)表示检索者所属的部。
268.第3层的属性(第3属性)表示检索者所属的课。
269.第4层的属性(第4属性)表示检索者的姓名。
270.编号1的属性信息是ne先生的属性信息。ne先生属于di事业部的de部的sc课。
271.编号2的属性信息是nf先生的属性信息。nf先生属于di事业部的de部的sd课。
272.编号3的属性信息对应于属于di事业部的de部的sc课的检索者。编号3的第4属性是通配符*。通配符*表示不限定属性值。因此,与编号3对应的属性信息表示不限定检索者的姓名。另外,通配符*在计算机中被置换成全部比特为1的值或*的字符代码等。
273.编号4的属性信息对应于属于di事业部的de部的检索者。编号4的第3属性和第4属性是通配符*。因此,与编号4对应的属性信息表示不限定检索者的课和姓名。
274.在本实施方式中,设检索者的属性信息由l层构成。l是1以上的整数。
275.属性信息a也可以如下表示。
276.a=(a_1,

,a_l)
277.(步骤s503:密钥生成处理)
278.用户密钥生成部521使用数据密钥dk和属性信息a生成用户数据密钥udk。
279.作为具体例,用户数据密钥udk具有用户数据部分密钥udk_j和标志值db_j。j是1以上且l以下的整数。
280.作为具体例,用户密钥生成部521如下计算用户数据属性部分密钥udk_j。
281.首先,用户密钥生成部521连结属性值a_j和编号j而得到连结值a_j|j。
282.接着,用户密钥生成部521将数据密钥dk和连结值a_j|j作为输入来执行函数f_2,得到用户数据密钥udk_j。函数f_2也可以是任意的单向函数。
283.用户密钥生成部521如下求出标志值db_j。
284.用户密钥生成部521判定属性值a_j是否是通配符*。
285.用户密钥生成部521在属性值a_j是通配符*的情况下,将标志值db_j设为1。
286.用户密钥生成部521在属性值a_j不是通配符*的情况下,将标志值db_j设为0。
287.用户数据密钥udk也可以如下表示。
288.udk=((udk_1,db_1),

,(udk_l,db_l))
289.db_j=1(a_j=*的情况)
290.db_j=0(a_j≠*的情况)
291.udk_j=f_2(dk,a_j|j)
292.用户密钥生成部521使用标签密钥tk和属性信息a生成用户标签密钥utk。作为具体例,用户标签密钥utk具有用户标签部分密钥utk_j和标志值tb_j。
293.作为具体例,用户密钥生成部521使用函数g_1,如下生成用户标签密钥utk。作为具体例,函数g_1是伪随机函数、散列函数或使用加密模式ecb(electronic codebook:电子密码本)的公共密钥加密方式的函数。函数g_1对应用户密钥函数。
294.utk=((utk_1,tb_1),

,(utk_l,tb_l))
295.tb_j=1(a_j=*的情况)
296.tb_j=0(a_j≠*的情况)
297.utk_j=g_1(tk,a_j|j)
298.(步骤s504:保管处理)
299.生成部520使存储部591存储用户密钥uk。其结果是,用户密钥uk保管于存储部591。
300.用户密钥uk是用户数据密钥udk和用户标签密钥utk的组。用户密钥uk是组入了属性信息a的密钥。
301.用户密钥uk也可以如下表示。也可以将用户密钥uk的一部分称作用户密钥uk。
302.uk=(udk,utk)
303.(步骤s505:输出处理)
304.输出部530输出用户密钥uk。
305.作为具体例,输出部530使用通信装置505将用户密钥uk发送到检索操作装置700。
306.图20是示出数据登记处理的动作的一例的流程图。
307.数据登记处理是由登记装置600和数据管理装置800执行的处理。
308.(步骤s601:登记密钥受理处理)
309.受理部610受理登记密钥ek。
310.作为具体例,受理部610使用通信装置605从登记密钥装置300接收登记密钥ek。受理部610也可以经由输入输出接口604受理输入到登记装置600的登记密钥ek。
311.受理部610使存储部691存储登记密钥ek。其结果是,登记密钥ek保管于存储部691。
312.受理部610也可以代替本步骤的处理而执行将本步骤中的登记密钥ek改写成标签密钥tk的处理。
313.另外,在存储部691已经保管登记密钥ek的情况下,受理部610也可以不执行本步骤的处理。
314.(步骤s602:索引公开密钥受理处理)
315.受理部610受理索引公开密钥ik。
316.作为具体例,受理部610使用通信装置605从索引公开密钥装置400接收索引公开密钥ik。受理部610也可以经由输入输出接口604受理输入到登记装置600的索引公开密钥ik。
317.受理部610使存储部691存储索引公开密钥ik。索引公开密钥ik存储于存储部691。
318.另外,在存储部691已经保管索引公开密钥ik的情况下,受理部610也可以不执行本步骤的处理。
319.(步骤s603:数据受理处理)
320.受理部610受理明文m和属性信息b。明文m对应于登记数据。登记数据是数据管理装置800中登记的数据。典型地讲,明文m是未被加密的数据。在明文m中包含文件名file(m)作为元数据。文件名file(m)也可以被加密。属性信息b对应于权限者属性信息。
321.作为具体例,受理部610经由输入输出接口604受理输入到登记装置600的明文m和属性信息b。受理部610也可以从应用程序受理明文m和属性信息b。
322.属性信息b是权限者的属性信息,表示权限者的各层的属性值。与属性信息a同样,属性信息b是与检索和解密的权限控制有关的信息。
323.权限者是具有参照明文m的权限的利用者。即,权限者是一部分检索者。
324.作为具体例,与属性信息a同样,属性信息b也可以如下表示。
325.b=(b_1,

,b_l)
326.(步骤s604:密文生成处理)
327.密文数据生成部621使用数据密钥dk、明文m和属性信息b生成密文数据c。密文数据c包含文件名file(m)作为明文m的元数据。
328.作为具体例,密文数据生成部621使用参考文献1公开的加密方式或生成基于id的密码等基于属性的密码的方式生成密文数据c。
329.[参考文献1]国际公开第2019/053788号
[0330]
(步骤s605:登记关键字生成处理)
[0331]
关键字生成部622生成与明文m对应的登记关键字w。登记关键字w是本步骤中生成的关键字。关键字生成部622可以生成1个关键字作为登记关键字w,也可以生成多个关键字作为登记关键字w。
[0332]
作为具体例,关键字生成部622在明文m包含名字的情况下,直接生成名字作为1个关键字。此外,关键字生成部622在明文m包含文章的情况下,也可以对该文章进行词素分析或自然语言处理等,使用其结果生成多个关键字。
[0333]
关键字生成部622也可以经由输入输出接口604受理输入到登记装置600的关键字。此外,关键字生成部622也可以从应用程序受理关键字。
[0334]
以下,为了简单,设关键字生成部622生成1个关键字。在关键字生成部622生成多个关键字的情况下,登记装置600以关键字的个数重复执行以下的处理,由此,以生成的关键字的个数生成加密标签ct和加密索引ei等即可。
[0335]
(步骤s606:中间标签生成处理)
[0336]
中间标签生成部623使用标签密钥tk、属性信息b和登记关键字w生成中间标签mt。
中间标签mt是将标签密钥tk、属性信息b和登记关键字w作为输入执行确定性函数而得到的确定性数据。确定性函数是如下函数:只要输入值是属于确定性函数的定义域的值,则不管输入值是什么样的值,与输入值对应的输出值始终相同。确定性函数是输出值在概率上不确定的函数。即,使用相同的登记关键字w生成的中间标签mt总是成为相同的值。确定性数据是执行确定性函数而得到的数据。即,确定性数据不是在概率上确定的数据。
[0337]
中间标签mt相当于用于供加密标签生成部627生成要计算的加密标签ct的暂时数据。
[0338]
使用确定性函数d_1如下生成中间标签mt。
[0339]
mt=d_1(tk,b,w)
[0340]
这里,根据参考文献1的例子对中间标签mt进行说明。
[0341]
中间标签mt具有属性要素mt_{j,0,w}和通配符要素mt_{j,1,w}。j是1以上且l以下的整数。这里,属性要素和通配符要素分别为l个。因此,中间标签mt具有2l个要素。中间标签mt对应于1名权限者。
[0342]
中间标签生成部623如下计算属性要素mt_{j,0,w}。
[0343]
首先,中间标签生成部623连结属性值b_j和编号j而得到连结值b_j|j。
[0344]
接着,中间标签生成部623将标签密钥tk和连结值b_j|j作为输入来执行函数g_1,得到函数值b_j^。
[0345]
接着,中间标签生成部623将函数值b_j^和登记关键字w作为输入来执行函数g_2,得到函数值b_j^^。
[0346]
函数值b_j^^是属性要素mt_{j,0,w}。
[0347]
另外,函数g_2与函数g_1相同。函数g_2对应于检索查询函数。
[0348]
中间标签生成部623如下计算通配符要素mt_{j,1,w}。
[0349]
首先,中间标签生成部623连结通配符*和编号j而得到连结值*_j。
[0350]
接着,中间标签生成部623将标签密钥tk和连结值*_j作为输入来执行函数g_1,得到函数值*_j^。
[0351]
接着,中间标签生成部623将函数值*_j^和登记关键字w作为输入来执行函数g_2,得到函数值*_j^^。函数值*_j^^是通配符要素mt_{j,1,w}。
[0352]
中间标签mt也可以如下表示。
[0353]
mt=(mt_{1,0,w},mt_{1,1,w},

,mt_{l,0,w},mt_{l,1,w})
[0354]
mt_{j,0,w}=(g_2(g_1(tk,b_j|j),w)
[0355]
mt_{j,1,w}=(g_2(g_1(tk,*|j),w)
[0356]
j是1以上且l以下的整数。
[0357]
(步骤s607:索引生成处理)
[0358]
索引生成部624使用中间标签mt生成索引i。
[0359]
索引生成部624将中间标签mt作为输入来执行确定性函数,将确定性函数的执行结果设为索引i。即,索引i是确定性数据。
[0360]
索引i是检索部840执行检索处理之前使用的数据。索引i是用于供检索部840检查是否存在加密标签ct中包含的登记关键字w和检索查询sq中包含的检索关键字w一致的可能性的数据。
[0361]
更加具体地说明索引i。
[0362]
数据管理装置800对索引i和索引查询iq进行比较,由此,高速地判断是否存在登记关键字w和检索关键字w一致的可能性。这里,索引查询iq是索引查询生成部722与检索查询sq对应地生成的查询。也可以将索引查询iq的一部分称作索引查询iq。登记关键字w包含在加密标签ct中。检索关键字w包含在检索查询中。
[0363]
在判断为存在登记关键字w和检索关键字w一致的可能性的情况下,加密标签对照部843执行对加密标签ct和检索查询sq进行对照的处理(以下为对照处理)。另一方面,在判断为不存在登记关键字w和检索关键字w一致的可能性的情况下,加密标签对照部843不执行对照处理。
[0364]
一般而言,对照处理所需要的时间长。因此,优选数据管理装置800不执行不必要的对照处理。
[0365]
数据管理装置800在对照处理中,不将检索查询sq与数据管理装置800中保管的全部加密标签ct进行对照。取而代之,数据管理装置800通过使用索引i和索引查询iq,筛选存在包含与检索关键字w一致的登记关键字w的可能性的加密标签ct,使用筛选出的加密标签ct执行对照处理。因此,数据管理装置800能够削减检索加密标签ct所需要的时间。
[0366]
使用确定性函数d_2如下生成索引i。确定性函数d_2对应于索引查询函数。
[0367]
i=d_2(mt)=(i_1,

,i_ilen)
[0368]
确定性函数d_2输出长度ilen的向量值。
[0369]
例如,设针对登记关键字w=东京,通过确定性函数d_2在内部使用的确定性函数d_2

,中间标签mt=(mt_{1,0,w},mt_{1,1,w},

,mt_{l,0,w},mt_{l,1,w})如下被转换。
[0370]
d_2

(mt_{1,0,东京})=10

01
…1[0371]
d_2

(mt_{1,1,东京})=00

11
…0[0372]

[0373]
d_2

(mt_{l,0,东京})=00

01
…0[0374]
d_2

(mt_{l,1,东京})=11

10
…0[0375]
此时,作为具体例,索引i如下构成。
[0376]
i=(i_1,

,i_ilen)
[0377]
i_1=(i_10_1,i_11_1,

,i_l0_1,i_l1_1)
[0378]
=(1,0,

,0,1)
[0379]
i_2=(i_10_2,i_11_2,

,i_l0_2,i_l1_2)
[0380]
=(0,0,

,0,1)
[0381]

[0382]
i_ilen=(i_10_ilen,i_11_ilen,

,i_l0_ilen,i_l1_ilen)
[0383]
=(0,1,

,0,1)
[0384]
即,i_1由d_2

(mt_{1,0,东京}),

,d_2

(mt_{l,1,东京})的第1比特构成。同样,i_ilen由d_2

(mt_{1,0,东京}),

,d_2

(mt_{l,1,东京})的第ilen比特构成。
[0385]
上述的索引i的结构是一例,索引i也可以是其他结构。例如,i_1由d_2

(mt_{1,0,东京}),

,d_2

(mt_{l,1,东京})的第1比特和第2比特构成。同样,i_ilen由d_2

(mt_{1,0,东京}),

,d_2

(mt_{l,1,东京})的第(2
×
ilen-1)比特和第(2
×
ilen)比特构成。也可
以这样构成。
[0386]
在通过加密函数而确定且安全地生成中间标签mt的情况下,索引i也可以使用中间标签mt的开头1比特到第ilen比特来构成。即,中间标签mt也可以如下构成。
[0387]
d_2

(mt_{j,b,东京})=mt_{j,b,东京}=(i_jb_1,

,i_jb_ilen,*_(ilen 1),

))
[0388]
j是1以上且ilen以下的整数。b是0或1。另外,该情况下,索引生成部624忽略中间标签mt的从第(ilen 1)个起的向量要素值而生成索引i。
[0389]
(步骤s608:加密索引生成处理)
[0390]
加密索引生成部625使用索引公开密钥ik对索引i进行加密,由此生成加密索引ei。
[0391]
加密索引生成部625使用aes-ctr(advanced encryption standard-counter:高级加密标准)或rsa(注册商标)-oaep(rivest-shamir-adleman-optimal asymmetric encryption padding:最优非对称加密填充)等概率性加密函数生成加密索引ei。概率性加密是指,在对与以前相同的数据进行了加密的情况下,不一定生成相同的加密数据。
[0392]
作为具体例,加密索引生成部625使用概率性加密函数enc,如下生成加密索引ei。
[0393]
ei=(ei_1,

,ei_ilen)
[0394]
ei_1=enc(ik_1,i_1)
[0395]

[0396]
ei_ilen=enc(ik_ilen,i_ilen)
[0397]
(步骤s609:随机数生成处理)
[0398]
随机数生成部626生成随机数tr。随机数tr对应于加密标签随机数。也可以将随机数tr中的至少1个要素称作加密标签随机数。随机数生成部626可以任意地生成随机数tr。随机数tr也可以是由随机数的要素构成的向量。作为具体例,随机数生成部626生成由均匀随机数的要素构成的向量作为随机数tr。
[0399]
随机数生成部626也可以通过为了由加密标签生成部627生成加密标签ct而利用的方式生成1个随机数tr。随机数生成部626也可以生成由多个随机数构成的tr。
[0400]
下面,设随机数生成部626生成由l 1个随机数构成的随机数tr即tr=(r_0,r_1,

,r_l)进行说明。
[0401]
(步骤s610:加密标签生成处理)
[0402]
加密标签生成部627使用标签密钥tk、中间标签mt和随机数tr生成加密标签ct。
[0403]
作为具体例,加密标签生成部627针对中间标签mt=(mt_{1,0,w},mt_{1,1,w},

,mt_{l,0,w},mt_{l,1,w}),使用函数g_3和函数g_4,如下生成加密标签ct。函数g_3和函数g_4是确定性函数。函数g_3对应于加密标签函数。函数g_4对应于对照符函数。在以下的式子中,ver和r_0与加密标签ct结合。
[0404]
ct=(ct_{1,0,w},ct_{1,1,w},

,ct_{l,0,w},ct_{l,1,w},ver,r_0)
[0405]
ct_{j,0,w}=g_3(g_2(g_1(tk,b_j|j),w)|r_0) r_j
[0406]
ct_{j,1,w}=g_3(g_2(g_1(tk,*|j),w)|r_0) r_j
[0407]
ver=g_4(r_1

r_l)
[0408]
j是1以上且l以下的整数。ver对应于加密标签对照符。
[0409]
在本说明书中,只要没有特别说明,则“ ”这样的记号表示异或。但是,在 前后的项不是字符而是数字的情况下,只要没有特别说明,则表示相加。
[0410]
(步骤s611:登记处理)
[0411]
登记部630将密文数据c、加密标签ct和加密索引ei的组登记于数据管理装置800。
[0412]
作为具体例,登记部630使用通信装置605将密文数据c、加密标签ct和加密索引ei的组发送到数据管理装置800。
[0413]
受理部810接收密文数据c、加密标签ct和加密索引ei的组,将接收到的组存储于存储部891。即,受理部810将密文数据c、加密标签ct和加密索引ei相互对应起来存储于存储部891。其结果是,密文数据c、加密标签ct和加密索引ei的组保管于存储部891。
[0414]
图21示出登记数据库892的例子。
[0415]
数据管理装置800将文件名、加密数据c、加密标签ct和加密索引ei相互对应起来登记于登记数据库892。
[0416]
存储部891存储登记数据库892。
[0417]
图22是示出索引公开处理的一例的流程图。
[0418]
索引公开处理是由数据管理装置800执行的处理。在新公开了作为索引公开密钥ik的一部分的第i个索引公开密钥ik_i的情况下,对存储部891中保管的加密索引ei进行本处理。i是1以上且ilen以下的整数。也可以在公开ik_i后新进行了数据登记处理的情况下,对在步骤s611中刚刚保管于存储部891的加密索引ei进行本处理。
[0419]
(步骤s801:索引公开密钥受理处理)
[0420]
受理部810受理索引公开密钥ik的第i个索引公开密钥ik_i。i是1以上且ilen以下的整数。
[0421]
作为具体例,受理部810使用通信装置805从索引公开密钥装置400接收索引公开密钥的第i个索引公开密钥ik_i。受理部810也可以经由输入输出接口804受理输入到数据管理装置800的第i个索引公开密钥ik_i。
[0422]
受理部810使存储部891存储第i个索引公开密钥ik_i。其结果是,第i个索引公开密钥ik_i保管于存储部891。
[0423]
另外,在存储部891已经保管第i个索引公开密钥ik_i的情况下,受理部810也可以不执行本步骤的处理。
[0424]
(步骤s802:加密索引受理处理)
[0425]
受理部810受理加密索引ei。
[0426]
作为具体例,受理部810经由输入输出接口804受理输入到数据管理装置800的加密索引ei。受理部810也可以从应用程序受理加密索引ei。
[0427]
存储部891中保管的加密索引ei或在步骤s611中刚刚保管于存储部891的加密索引ei等是本步骤中的加密索引ei。
[0428]
另外,在存储部891已经保管加密索引ei的情况下,受理部810也可以不执行本步骤的处理。
[0429]
(步骤s803:解密处理)
[0430]
加密索引解密部821使用第i个索引公开密钥ik_i对第i个加密索引ei_i进行解密,由此对第i个索引i_i进行复原。第i个加密索引ei_i是加密索引ei的一部分。第i个索引
i_i是索引i的一部分。
[0431]
即,加密索引解密部821使用解密函数dec,如下对i_i进行复原。解密函数dec是与概率性加密函数enc对应的函数。
[0432]
i_i=dec(ik_i,ei_i)
[0433]
(步骤s804:登记处理)
[0434]
登记部830将第i个索引i_i与加密索引ei对应起来登记于登记数据库892。
[0435]
图23示出索引公开后数据库893的例子。设i=1,对索引公开后数据库893进行说明。
[0436]
数据管理装置800将提取出的加密索引ei和复原后的第1个索引i_1对应起来进行登记。登记数据库892如索引公开后数据库893那样被更新。
[0437]
在本图的索引公开后数据库893中未登记第1个加密索引ei_1。但是,登记部830也可以不从登记数据库892中删除第1个加密索引ei_1。
[0438]
存储部891存储索引公开后数据库893。
[0439]
另外,数据管理装置800在登记第i个索引i_i的列时使用高速索引技术,由此能够使数据检索处理高速化。作为具体例,高速索引技术是二叉搜索树或b-tree。
[0440]
(步骤s805:更新处理)
[0441]
登记部830对存储部891存储的索引公开位置信息pos进行更新。索引公开位置信息pos是表示与当前公开的索引公开密钥对应的索引i的位置的信息。典型地讲,索引公开位置信息pos是隐匿检索系统100刚刚开始工作后制作的数据。这里,索引公开位置信息pos是集合,索引公开位置信息pos的初始值是空集合。典型地讲,索引公开密钥ik由登记装置600公开。
[0442]
例如,首先,在公开了第1个索引公开密钥ik_1时,登记部830在pos中追加1。即,登记部830将索引公开位置信息更新成pos={1}。然后,在公开了第2个索引公开密钥ik_2时,登记部830在pos中追加2。即,登记部830将索引公开位置信息更新成pos={1,2}。
[0443]
图24是示出检索处理的一例的流程图。
[0444]
检索处理是由检索操作装置700执行的处理。
[0445]
(步骤s701:用户密钥受理处理)
[0446]
受理部710受理用户密钥uk。
[0447]
作为具体例,受理部710使用通信装置705从用户密钥装置500接收用户密钥uk。受理部710也可以经由输入输出接口704受理输入到检索操作装置700的用户密钥uk。
[0448]
受理部710使存储部791存储用户密钥uk。其结果是,用户密钥uk保管于存储部791。
[0449]
用户密钥uk包含用户数据密钥udk和用户标签密钥utk。
[0450]
另外,在存储部791已经保管用户密钥uk的情况下,受理部710也可以不执行本步骤的处理。
[0451]
(步骤s702:检索关键字受理处理)
[0452]
受理部710受理检索关键字w。
[0453]
作为具体例,受理部710经由输入输出接口704受理输入到检索操作装置700的检索关键字w。受理部710也可以从应用程序受理检索关键字w。
[0454]
(步骤s703:检索查询生成处理)
[0455]
检索查询生成部721使用用户标签密钥utk和检索关键字w生成检索查询sq。
[0456]
作为具体例,检索查询生成部721使用utk=((utk_1,tb_1),

,(utk_l,tb_l))和函数g_2,如下生成检索查询sq。
[0457]
sq=((sq_1,qb_1),

,(sq_l,qb_l))
[0458]
qb_j=tb_j
[0459]
sq_j=g_2(utk_j,w)
[0460]
j是1以上且l以下的整数。
[0461]
(步骤s704:索引查询生成处理)
[0462]
索引查询生成部722使用检索查询sq生成索引查询iq。索引查询iq是将检索查询sq作为输入来执行确定性函数d_2而得到的确定性数据。索引查询iq是检索存储部891中保管的索引i时使用的数据。
[0463]
检索部840在对加密标签ct和检索查询sq进行对照处理之前,使用索引查询iq检索索引i。检索部840确认是否存在登记关键字w和检索关键字w与属性信息a和属性信息b分别一致的可能性。这里,登记关键字w和属性信息a的信息包含在加密标签ct中。检索关键字w和属性信息b的信息包含在索引查询iq中。
[0464]
在检索部840判断为存在登记关键字w和检索关键字w与属性信息a和属性信息b分别一致的可能性的情况下,加密标签对照部843使用加密标签ct和检索查询sq进行对照处理。另一方面,在除此以外的情况下,加密标签对照部843不进行对照处理。
[0465]
使用确定性函数d_2,如下生成索引查询iq。
[0466]
iq=d_2(sq)=(iq_1,

,iq_ilen)
[0467]
作为具体例,在将检索关键字w设为东京时,使用检索查询sq和确定性函数d_2,如下构成索引查询iq。mt_{j,qb_j,w}是中间标签。检索操作装置700中的中间标签也可以与登记装置600中的中间标签不同。
[0468]
d_2

(mt_{1,qb_1,东京})=d_2

(sq_1)
[0469]

[0470]
d_2

(mt_{l,qb_l,东京})=d_2

(sq_l)
[0471]
并且
[0472]
iq_j=(iq_1_j,

,iq_l_j)
[0473]
=(i_1(qb_1)_j,

,i_l(qb_l)_j)
[0474]
j是1以上且l以下的整数。
[0475]
在qb_1=

=qb_l=0的情况下,上述的例子如下表示。
[0476]
d_2

(sq_1)=d_2

(mt_{1,0,东京})=1

01
…1[0477]

[0478]
d_2

(sq_l)=d_2

(mt_{l,0,东京})=0

01
…0[0479]
并且
[0480]
i_10_1=iq_1_1=1
[0481]

[0482]
i_l0_1=iq_l_1=0
[0483]

[0484]
i_10_ilen=iq_1_ilen=0
[0485]

[0486]
i_l0_ilen=iq_l_ilen=0
[0487]
这里,i_1[qb_1,

,qb_l]如下定义。
[0488]
i_1[qb_1,

,qb_l]=(i_1(qb_1)_1,

,i_l(qb_1)_1)
[0489]
在上述的例子中,i_1[qb_1,

,qb_l]表示成i_1[0,

,0]=(1,

,0)。
[0490]
在登记关键字w和检索关键字w与属性信息a和属性信息b分别一致的情况下,根据qb_1,

,qb_l的观点提取登记关键字w的第1个索引i_1而得到的(即i_1[qb_1,

,qb_l])值和iq_1的值必定一致。
[0491]
该情况下,同样,关于1以上且ilen以下的整数j,针对登记关键字w的第j个索引i_j,成为i_j[qb_1,

,qb_l]=iq_j。
[0492]
根据上述的对偶,如果i_j[qb_1,

,qb_l]≠iq_j,则可以说登记关键字w和检索关键字w与属性信息a和属性信息b的至少一方不一致。
[0493]
另外,在登记关键字w和检索关键字w与属性信息a和属性信息b的至少一方不一致的情况下,可能成为i_j[qb_1,

,qb_l]=iq_j。但是,该可能性非常低。
[0494]
由此,在使用上述的事实时,索引对照部841能够如下进行简易的一致确认。索引对照部841针对1以上且k以下的全部的j,检查i_j[qb_1,

,qb_l]=iq_j是否成立。k是索引公开位置信息pos的要素数。
[0495]
在针对全部的j该式子成立的情况下,存在登记关键字w和检索关键字w与属性信息a和属性信息b分别一致的可能性。因此,该情况下,检索部840对加密标签ct和检索查询sq进行对照。
[0496]
另一方面,在针对全部的j该式子不成立的情况下,登记关键字w和检索关键字w与属性信息a和属性信息b的至少一方不一致。因此,检索部840不对加密标签ct和检索查询sq进行对照。
[0497]
检索部840能够这样筛选进行对照的加密标签ct。
[0498]
(步骤s705:查询发送处理)
[0499]
请求部730使用通信装置705将检索查询sq和索引查询iq发送到数据管理装置800。
[0500]
(步骤s706:结果接收处理)
[0501]
请求部730等待通信装置705从数据管理装置800接收加密检索结果{c}。请求部730等待接收加密检索结果{c}的最大时间可以是任意的值。
[0502]
在通信装置705接收到加密检索结果{c}的情况下,检索操作装置700进入步骤s707。在除此以外的情况下,检索操作装置700进入步骤s708。
[0503]
加密检索结果{c}是由数据管理装置800执行检索处理而命中的至少1个密文数据c构成的集合。
[0504]
(步骤s707:解密处理)
[0505]
解密部740使用用户数据密钥udk,根据加密检索结果{c}中包含的各密文数据c对明文m进行解密。
[0506]
将由通过执行本步骤而得到的至少1个明文m构成的集合设为检索结果{m}。
[0507]
另外,在加密检索结果{c}中不包含加密数据c的情况下,即数据管理装置800无法提取加密数据c的情况下,解密部740不需要执行本步骤的处理。
[0508]
(步骤s708:输出处理)
[0509]
输出部750输出检索结果{m}。
[0510]
作为具体例,输出部750经由输入输出接口704在显示器显示检索结果{m}。
[0511]
在未得到检索结果{m}的情况下,作为具体例,输出部750显示表示不存在检索到的明文m或无法解密的消息。未得到检索结果{m}的情况是不存在登记关键字w和检索关键字w与属性信息a和属性信息b的至少一方一致的可能性的情况、不存在检索到的密文数据c的情况或无法根据密文数据c对明文m进行解密的情况。
[0512]
图25是示出数据检索处理的动作的一例的流程图。
[0513]
数据检索处理是由数据管理装置800执行的处理。
[0514]
(步骤s821:查询受理处理)
[0515]
受理部810使用通信装置805从检索操作装置700接收检索查询sq和索引查询iq。
[0516]
(步骤s822:索引组搜索处理)
[0517]
索引对照部841从存储部891读出公开索引组{i

}和索引公开位置信息pos。{i

}是由至少1个索引i构成的集合。将{i

}的各要素表示成ii

。ii

和加密索引eii分别对应于加密标签cti。加密标签cti是加密标签生成部627使用多个相互不同的登记关键字w生成多个加密标签并对各加密标签分配连续编号的情况下的第i个加密标签。各公开索引ii

由对加密索引进行解密而得到的值构成。
[0518]
然后,索引对照部841提取与索引公开位置信息pos对应的部分索引查询iq

,与公开索引组{i

}进行一致确认。部分索引查询iq

是索引查询iq的一部分。
[0519]
这里,设索引公开位置信息pos具有k个要素。即,处于k个索引公开密钥被公开的状况。这里,设pos={i1,

,ik}。设i1,

,ik为1以上且ilen以下的整数。此外,设i1《

《ik。
[0520]
索引对照部841针对公开索引组{i

}的各ii

,使用检索查询sq中包含的qb_1,

,qb_l,关于1以上且k以下的全部的整数j,确认以下的式子是否成立。
[0521]
ii

_j[qb_1,

,qb_l]=iq_j
[0522]
在该式子针对全部的j成立的情况下,在接下来的步骤s823中提取与公开索引ii

对应起来保管于存储部891的加密标签cti。该情况下,数据管理装置800进入步骤s823。
[0523]
在除此以外的情况下,数据管理装置800进入步骤s826。
[0524]
这里,在步骤s804中针对公开索引组{i

}应用二叉搜索树或b-tree等高速索引技术的情况下,本步骤的处理能够以公开索引组{i

}的个数的日志顺序进行确认。即,索引对照部841能够更加高速地进行处理。
[0525]
为了简化说明,作为具体例,设k=2,设i1=1,i2=2。即,对公开2比特作为索引的状况进行说明。在本例中,各公开索引ii

是各加密索引eii的第1个和第2个加密索引。
[0526]
此时,如下从索引公开位置信息pos中提取部分索引查询iq


[0527]
iq

=(iq_1,iq_2)
[0528]
iq_1=(iq_1_1,

,iq_l_1)
[0529]
iq_2=(iq_1_2,

,iq_l_2)
[0530]
即,iq

是提取索引查询iq的第1个要素和第2个要素而得到的。
[0531]
此外,设公开索引组{i

}为具有n个要素的集合。此时,存储部891中保管的加密标签ct和加密索引ei的要素数也是n个。
[0532]
这里,将公开索引组{i

}表示成{i1

,

,in

}。此时,各公开索引ii

由以下的值构成。索引ii

对应于部分登记关键字索引。
[0533]
ii

=(ii

_1,ii

_2)
[0534]
ii

_1=(ii

_10_1,ii

_11_1,

,ii

_l0_1,ii

_l1_1)
[0535]
ii

_2=(ii

_10_2,ii

_11_2,

,ii

_l0_2,ii

_l1_2)
[0536]
i是1以上且n以下的整数。
[0537]
在检索关键字w和登记关键字w与属性信息a和属性信息b均一致的情况下,以下均成立。
[0538]
ii

_1[qb_1,

,qb_l]=iq_1
[0539]
ii

_2[qb_1,

,qb_l]=iq_2
[0540]
这里,qb_1,

,qb_l是检索查询sq中包含的值。
[0541]
这里,在使用所述的例子时,如下所述。
[0542]
ii

_1[0,

,0]=iq_1=(1,

,0)
[0543]
ii

_2[0,

,0]=iq_2=(0,

,0)
[0544]
(步骤s823:加密标签提取处理)
[0545]
加密标签提取部842提取在步骤s822中跟与部分索引查询iq

一致的公开索引组{ii

}对应起来进行保管的加密标签组{cti}。
[0546]
这里,将加密标签组的要素数设为n。即,加密标签组{cti}={ct1,

,ctn}。
[0547]
(步骤s824:对照处理)
[0548]
加密标签对照部843对在步骤s823中提取出的加密标签组{cti}={ct1,

,ctn}和检索查询sq进行对照。
[0549]
在加密标签对照部843能够对检索查询sq和加密标签cti进行对照的情况下,数据管理装置800进入步骤s825。在除此以外的情况下,数据管理装置800进入步骤s826。
[0550]
作为具体例,加密标签对照部843如下对检索查询sq=((sq_1,qb_1),

,(sq_l,qb_l))和各加密标签cti进行对照。
[0551]
加密标签对照部843针对加密标签cti=(cti_{1,0,w},cti_{1,1,w},

,cti_{l,0,w},cti_{l,1,w},ver,r_0),使用函数g_3和函数g_4,如下计算r_1

,

,r_l

和ver


[0552]
r_j

=cti_{j,qb_j,w} g_3(sq_j|r_0)
[0553]
ver

=g_4(r_1



r_l

)
[0554]
j是1以上且l以下的整数。
[0555]
另外,在ver和ver

相等的情况下,加密标签对照部843判定为登记关键字w和检索关键字w一致。该情况下,登记关键字w和检索关键字w一致的可能性高。登记关键字w包含在加密标签cti中。检索关键字w包含在检索查询sq中。
[0556]
(步骤s825:数据提取处理)
[0557]
密文数据提取部844提取密文数据组{cti

}。密文数据组{cti

}是由在步骤s824
中与检索查询sq一致的加密标签构成的集合。将该密文数据组{cti

}称作加密检索结果{c}。
[0558]
(步骤s826:输出处理)
[0559]
在步骤s825中提取出加密检索结果{c}的情况下,输出部850使用通信装置805将在步骤s825中提取出的加密检索结果{c}发送到检索操作装置700。
[0560]
在除此以外的情况下,输出部850可以不进行任何动作而结束本流程图的处理,也可以将表示不存在检索结果{c}的信息发送到检索操作装置700。
[0561]
图26是示出数据删除处理的动作的一例的流程图。
[0562]
数据删除处理是由登记装置600或检索操作装置700和数据管理装置800执行的处理。
[0563]
(步骤s901:受理处理)
[0564]
受理部610或受理部710受理要删除的文件的名称作为删除文件名。作为具体例,删除文件名是通过检索操作处理而得到的。
[0565]
在受理部610受理删除文件名的情况下,作为具体例,受理部610经由输入输出接口604受理输入到登记装置600的删除文件名。
[0566]
在受理部710受理删除文件名的情况下,受理部710经由输入输出接口704受理输入到检索操作装置700的删除文件名。受理部610或受理部710也可以从应用程序受理删除文件名。
[0567]
(步骤s902:发送处理)
[0568]
在受理部610受理了删除文件名的情况下,输出部640使用通信装置605将删除文件名发送到数据管理装置800。
[0569]
在受理部710受理了删除文件名的情况下,输出部750使用通信装置705将删除文件名发送到数据管理装置800。
[0570]
(步骤s903:删除文件名接收处理)
[0571]
受理部810使用通信装置805从登记装置600或检索操作装置700接收删除文件名。
[0572]
(步骤s904:删除处理)
[0573]
受理部810从存储部891中删除与删除文件名对应的加密数据c、加密标签ct、加密索引ei和索引i。
[0574]
***实施方式1的效果的说明***
[0575]
如上所述,根据本实施方式的隐匿检索系统100,能够不使用公开密钥加密技术而使用公共密钥加密技术来实现多用户型的隐匿检索。
[0576]
登记装置600针对使用随机数进行随机化之前的加密标签应用确定性的单向函数,由此,通过多用户型的公共密钥方式生成索引。索引用于高速地确认是否存在登记数据和检索数据与登记数据中组入的属性信息和检索数据中组入的属性信息分别一致的可能性,而不使用隐匿检索。另外,很难从该索引中抽出关键字和与属性信息有关的信息等。
[0577]
检索操作装置700使用与检索者对应的用户密钥生成与部分公开的索引公开密钥对应的索引查询。
[0578]
数据管理装置800使用索引和索引查询筛选设为检索对象的加密标签。因此,数据管理装置800通过使用索引,不执行不必要的隐匿检索的至少一部分即可。
[0579]
由此,隐匿检索系统100能够比较高速地执行多用户型的公共密钥方式中的检索处理。
[0580]
此外,登记装置600将该索引分成多个块,分别使用不同的密钥进行加密并保管。登记装置600根据需要逐渐公开该加密中使用的密钥,由此,能够分阶段地使与索引有关的处理高速化。
[0581]
***其他结构***
[0582]
《变形例1》
[0583]
本说明书中记载的至少2个装置可以由1个计算机构成。
[0584]
《变形例2》
[0585]
数据管理装置800也可以不使用已公开的全部索引公开密钥ik。在本变形例中,索引公开位置信息pos仅由数据管理装置800使用的表示与索引公开密钥ik对应的索引i的位置的信息构成。
[0586]
《变形例3》
[0587]
图27示出本变形例的主密钥装置200的硬件结构例。
[0588]
主密钥装置200代替处理器201、存储器202和辅助存储装置203中的至少一方而具有处理电路209。
[0589]
处理电路209是实现受理部210、生成部220、输出部230和存储部291的至少一部分的硬件。
[0590]
处理电路209可以是专用的硬件,也可以是执行存储器202中存储的程序的处理器201。
[0591]
在处理电路209是专用的硬件的情况下,处理电路209例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、asic(asic是application specific integrated circuit::专用集成电路)、fpga(field programmable gate array:现场可编程门阵列)或它们的组合。
[0592]
主密钥装置200也可以具有代替处理电路209的多个处理电路。多个处理电路分担处理电路209的作用。
[0593]
在主密钥装置200中,也可以是,一部分功能通过专用的硬件实现,其余功能通过软件或固件实现。
[0594]
处理电路209通过硬件、软件、固件或它们的组合来实现。
[0595]
将处理器201、存储器202、辅助存储装置203和处理电路209总称作“处理线路”。即,主密钥装置200的各功能结构要素的功能通过处理线路实现。
[0596]
《变形例4》
[0597]
图28示出本变形例的登记密钥装置300的硬件结构例。
[0598]
登记密钥装置300代替处理器301、存储器302和辅助存储装置303中的至少一方而具有处理电路309。处理电路309与处理电路209相同。
[0599]
处理电路309是实现受理部310、生成部320、输出部330和存储部391的至少一部分的硬件。
[0600]
登记密钥装置300的各功能结构要素的功能通过处理线路实现。
[0601]
《变形例5》
[0602]
图29示出本变形例的索引公开密钥装置400的硬件结构例。
[0603]
索引公开密钥装置400代替处理器401、存储器402和辅助存储装置403中的至少一方而具有处理电路409。处理电路409与处理电路209相同。
[0604]
处理电路409是实现受理部410、生成部420、输出部430和存储部491的至少一部分的硬件。
[0605]
索引公开密钥装置400的各功能结构要素的功能通过处理线路实现。
[0606]
《变形例6》
[0607]
图30示出本变形例的用户密钥装置500的硬件结构例。
[0608]
用户密钥装置500代替处理器501、存储器502和辅助存储装置503中的至少一方而具有处理电路509。处理电路509与处理电路209相同。
[0609]
处理电路509是实现受理部510、生成部520、输出部530和存储部591的硬件。
[0610]
用户密钥装置500的各功能结构要素的功能通过处理线路实现。
[0611]
《变形例7》
[0612]
图31示出本变形例的登记装置600的硬件结构例。
[0613]
登记装置600代替处理器601、存储器602和辅助存储装置603中的至少一方而具有处理电路609。处理电路609与处理电路209相同。
[0614]
处理电路609是实现受理部610、生成部620、登记部630、输出部640和存储部691的至少一部分的硬件。
[0615]
登记装置600的各功能结构要素的功能通过处理线路实现。
[0616]
《变形例8》
[0617]
图32示出本变形例的检索操作装置700的硬件结构例。
[0618]
检索操作装置700代替处理器701、存储器702和辅助存储装置703中的至少一方而具有处理电路709。处理电路709与处理电路209相同。
[0619]
处理电路709是实现受理部710、生成部720、请求部730、解密部740、输出部750和存储部791的至少一部分的硬件。
[0620]
检索操作装置700的各功能结构要素的功能通过处理线路实现。
[0621]
《变形例9》
[0622]
图33示出本变形例的数据管理装置800的硬件结构例。
[0623]
数据管理装置800代替处理器801、存储器802和辅助存储装置803中的至少一方而具有处理电路809。处理电路809与处理电路209相同。
[0624]
处理电路809是实现受理部810、解密部820、登记部830、检索部840、输出部850和存储部891的至少一部分的硬件。
[0625]
数据管理装置800的各功能结构要素的功能通过处理线路实现。
[0626]
***其他实施方式***
[0627]
对实施方式1进行了说明,但是,也可以组合实施本实施方式中的多个部分。或者,也可以实施本实施方式中的1个部分。除此之外,本实施方式也可以根据需要进行各种变更,也可以作为整体或部分地任意地组合实施。
[0628]
另外,上述的实施方式是本质上优选的例示,并不意图限制本发明、其应用物和用途的范围。使用流程图等说明的顺序也可以适当变更。
[0629]
标号说明
[0630]
100:隐匿检索系统;101:网络;200:主密钥装置;201:处理器;202:存储器;203:辅助存储装置;204:输入输出接口;205:通信装置;209:处理电路;210:受理部;220:生成部;230:输出部;291:存储部;300:登记密钥装置;301:处理器;302:存储器;303:辅助存储装置;304:输入输出接口;305:通信装置;309:处理电路;310:受理部;320:生成部;330:输出部;391:存储部;400:索引公开密钥装置;401:处理器;402:存储器;403:辅助存储装置;404:输入输出接口;405:通信装置;409:处理电路;410:受理部;420:生成部;421:索引公开密钥生成部;430:输出部;491:存储部;500:用户密钥装置;501:处理器;502:存储器;503:辅助存储装置;504:输入输出接口;505:通信装置;509:处理电路;510:受理部;520:生成部;521:用户密钥生成部;530:输出部;591:存储部;600:登记装置;601:处理器;602:存储器;603:辅助存储装置;604:输入输出接口;605:通信装置;609:处理电路;610:受理部;620:生成部;621:密文数据生成部;622:关键字生成部;623:中间标签生成部;624:索引生成部;625:加密索引生成部;626:随机数生成部;627:加密标签生成部;630:登记部;640:输出部;691:存储部;700:检索操作装置;701:处理器;702:存储器;703:辅助存储装置;704:输入输出接口;705:通信装置;709:处理电路;710:受理部;720:生成部;721:检索查询生成部;722:索引查询生成部;730:请求部;740:解密部;750:输出部;791:存储部;800:数据管理装置;801:处理器;802:存储器;803:辅助存储装置;804:输入输出接口;805:通信装置;809:处理电路;810:受理部;820:解密部;821:加密索引解密部;830:登记部;840:检索部;841:索引对照部;842:加密标签提取部;843:加密标签对照部;844:密文数据提取部;850:输出部;891:存储部;892:登记数据库;893:索引公开后数据库;ct:加密标签;dk:数据密钥;ek:登记密钥;ei:加密索引;i:索引;ik:索引公开密钥;ilen:索引长度;iq:索引查询;iq

:部分索引查询;m:明文;mk:主密钥;mt:中间标签;pos:索引公开位置信息;sq:检索查询;tk:标签密钥;tr:随机数;udk:用户数据密钥;uk:用户密钥;utk:用户标签密钥;w:检索关键字;w:登记关键字。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献