CN103329478A - 密码系统、密码系统的密码处理方法、加密装置、加密程序、解密装置、解密程序、设置装置、设置程序、密钥生成装置、密钥生成程序、密钥移交装置以及密钥移交程序 - Google Patents

密码系统、密码系统的密码处理方法、加密装置、加密程序、解密装置、解密程序、设置装置、设置程序、密钥生成装置、密钥生成程序、密钥移交装置以及密钥移交程序 Download PDF

Info

Publication number
CN103329478A
CN103329478A CN2011800653106A CN201180065310A CN103329478A CN 103329478 A CN103329478 A CN 103329478A CN 2011800653106 A CN2011800653106 A CN 2011800653106A CN 201180065310 A CN201180065310 A CN 201180065310A CN 103329478 A CN103329478 A CN 103329478A
Authority
CN
China
Prior art keywords
value
key
layering
user
asterisk wildcard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800653106A
Other languages
English (en)
Other versions
CN103329478B (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN103329478A publication Critical patent/CN103329478A/zh
Application granted granted Critical
Publication of CN103329478B publication Critical patent/CN103329478B/zh
Expired - Fee Related 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

目的在于,在通配符对应的基于匿名性分层型ID的密码方式中将配对运算的次数设为固定次数。使用用户标识符ID和模式P。用户标识符ID包括k个分层标识符。模式P针对每个分层包括分层标识符、通配符值以及空栏值中的某一个。加密装置400从公开密钥PK抽出与通配符值的分层对应的密钥值H和与模式值的分层对应的密钥值H,计算密码值C1和密码值C3,输出包括明文密码值C0、密码值C1以及密码值C3的密文数据CT。解密装置300从用户标识符ID抽出与通配符值对应的分层的分层标识符,使用所抽出的分层标识符、密文数据CT中包含的密码值C1以及密码值C3,对密文数据CT中包含的明文密码值C0进行解密,输出明文数据M。

Description

密码系统、密码系统的密码处理方法、加密装置、加密程序、解密装置、解密程序、设置装置、设置程序、密钥生成装置、密钥生成程序、密钥移交装置以及密钥移交程序
技术领域
本发明涉及例如密码系统、密码系统的密码处理方法、加密装置、加密程序、解密装置、解密程序、设置装置、设置程序、密钥生成装置、密钥生成程序、密钥移交装置以及密钥移交程序。
背景技术
作为公开密钥密码的技术领域之一,关于基于分层型ID的密码,已知很多实现方式,实现方式分别具有各种特征。
其中,已知若干个能够使密文具有匿名性的基于匿名性分层型ID的密码方式(例如专利文献1、非专利文献1)。
匿名性是指,即使观察密文也无法得知是发往哪个ID的密文这样的性质。
根据基于分层型ID的密码的使用方法,有时匿名性成为不可或缺的性质。
例如,考虑如下情况:利用因特网的公告板、文件服务器,将基于分层型ID的密码的密文发送给某个特定的用户。
此处,在难以得知发送目的地的情况(例如关于合并前的公司彼此的交换,难以得知进行着交换的情形本身的情况)下,无法使用无匿名性的方式。
这是因为,通过解析密文而会泄漏发送目的地。
因此,在这样的情况下,匿名性变得不可或缺。
另外,已知基于分层型ID的密码还能够应用于隐匿检索。隐匿检索是指在加密了的状态下检索关键字的技术,还称为可检索密码。
在该情况下,匿名性也不可或缺。这是因为,基于ID的密码中的ID对应于隐匿检索中的关键字,无匿名性(即ID泄漏)的情形与关键字泄漏的情形对应。
如上所述,已知若干个能够使密文具有匿名性的基于匿名性分层型ID的密码方式(例如专利文献1、非专利文献1)。
但是,在这些方式中,在针对多个发送目的地ID制作同一内容的密文的情况下,必须制作与ID数量相应数量的密文,密文的个数增大。
因此,作为发展方式,已知能够通过1个密文向属于同一分层的所有用户人员进行发送的“通配符对应的基于匿名性分层型ID的密码方式”(非专利文献2)。
另外,已知通过将“通配符对应的基于分层型ID的密码方式”应用于公开密钥型的隐匿检索的领域而能够实现“群组共享型公开密钥隐匿检索方式”(非专利文献2)。
在“群组共享型公开密钥隐匿检索方式”中,能够在群组内共享1个密文,群组内的各用户能够使用自身的秘密密钥来制作针对密文的检索用查询。
专利文献1:日本特开2010-161523号公报
非专利文献1:Xavier Boyen and Brent Waters,“Anonymoushierarchical identity-based encryption(without random oracles),”Crypto2006,Lecture Notes in Computer Science,vol.4117,pp.290--307,2006.
非专利文献2:Mitsuhiro Hattori,Takumi Mori,Takashi Ito,Nori Matsuda,Takeshi Yoneda,and Kazuo Ohta,“Anonymous HIBEwith wildcards and its application to secure keyword search forgroup-oriented multi-user system,”SCIS2010,2010.
非专利文献3:Dan Boneh,Eu-Jin Goh,and Kobbi Nissim,“Evaluating2-DNF formulas on ciphertexts,”Theory ofCryptography Conference,Lecture Notes in Computer Science,vol.3378,pp.325-341,2005.
非专利文献4:Alfred J.Menezes,Paul C.van Oorschot,andScott A.Vanstone,“Handbook of applied cryptography,”4.4Primenumber generation,CRC Press,pp.145-154,1996.
非专利文献5:Jae Hong Seo,Tetsutaro Kobayashi,MiyakoOhkubo,and Koutarou Suzuki,“Anonymous hierarchicalidentity-based encryption with constant size ciphertexts,”Public KeyCryptography,Lecture Notes in Computer Science,vol.5443,pp.215-234,2009.
非专利文献6:David Mandell Freeman,“Convertingpairing-based cryptosystems from composite-order groups toprime-order groups,”Eurocrypt2010,Lecture Notes in ComputerScience,vol.6110,pp.44-61,2010.
非专利文献7:Elaine Shi and Brent Waters,“Delegatingcapabilities in predicate encryption systems,”ICALP2008,LectureNotes in Computer Science,vol.5126,pp.560-578,2008.
非专利文献8:Tatsuaki Okamoto and Katsuyuki Takashima,“Hierarchical predicate Encryption for inner-products,”Asiacrypt2009,Lecture Notes in Computer Science,vol.5912,pp.214-231,2009.
发明内容
在非专利文献2记载的“通配符对应的基于匿名性分层型ID的密码方式”中,在解密运算中最花费时间的配对运算的次数与分层(hierarchy)的高度成比例,所以在如大企业、行政机关那样具有大的分层的组织中难以利用。
配对运算的次数与分层的高度成比例的原因在于,作为密文的构成要素而包含有与分层的高度成比例的个数的要素,在解密时必须对其各自进行配对运算。
另外,在非专利文献2记载的“通配符对应的基于匿名性分层型ID的密码方式”中,当指定在加密、用户秘密密钥的制作中成为对象的用户的用户ID(用户标识符)时,需要从上位分层起依次无遗漏地指定要素。
因此,在具备部/科/股等分层的大规模的组织中,无法对应于如部直属的用户那样从通常的分层构造脱离的用户。
即,存在如下课题:在可对应的分层构造中有制约,灵活性低。
另外,在非专利文献2记载的“群组共享型公开密钥隐匿检索方式”中,与“通配符对应的基于匿名性分层型ID的密码方式”同样地,检索运算中的配对运算的次数与分层数的高度成比例,所以在如大企业、行政机关那样具有大的分层的组织中难以利用。
另外,在非专利文献2中,公开了使用“通配符对应的基于匿名性分层型ID的密码方式”实现“群组共享型公开密钥隐匿检索方式”的方法,但并未公开用于实现“群组共享型公开密钥隐匿检索方式”的更一般的方法。
因此,存在构成“群组共享型公开密钥隐匿检索方式”时的选项少这样的课题。
另外,在非专利文献2中,公开了在“群组共享型公开密钥隐匿检索方式”中在群组内共享密文并使成员加入群组的方法,但并未公开使成员从群组中退出的方法。另外,也未公开用于与加入/退出无关地使成员自身失效的方法。
因此,存在如下课题:在存在调动、调职、或者退职那样的组织中难以利用。
本发明例如以以下那样的情况为目的。
目的在于提供一种在通配符对应的基于匿名性分层型ID的密码方式中使解密运算中的配对运算的次数不与分层数成比例而成为一定次数那样的方式。
另外,目的在于提供一种在群组共享型公开密钥隐匿检索方式中使检索运算中的配对运算的次数不与分层数成比例而成为一定次数那样的方式。
另外,目的在于提供一种用于实现群组共享型公开密钥隐匿检索方式的更一般性的方法。
另外,目的在于提供一种在群组共享型公开密钥隐匿检索方式中使成员从群组退出的方法。
另外,目的在于提供一种在群组共享型公开密钥隐匿检索方式中使成员失效的方法。
在本发明的密码系统中,使用用户标识符ID,其中,该用户标识符ID包括在具有分层构造的组织内属于第k分层(k是2以上的特定的整数)的特定用户的用户标识符而作为识别第k分层的分层标识符,并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符。
所述密码系统具备加密装置和解密装置。
所述加密装置输入要加密的明文数据M,输入包含有包括与k个分层对应关联的k个密钥值H的H密钥值群的公开密钥PK,对所输入的明文数据M进行加密而计算明文密码值C0,输入针对每个分层将分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值来包含的模式P,根据所输入的模式P将所述模式值是通配符值的分层判定为通配符分层,从所输入的公开密钥PK中包含的H密钥值群抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值,使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1,根据所输入的模式P将所述模式值是分层标识符的分层判定为识别分层,从所输入的公开密钥PK中包含的H密钥值群抽出与所述识别分层对应关联的密钥值H作为识别密钥值,使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3,生成包括所计算的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W的密文数据CT,输出所生成的密文数据CT。
所述解密装置输入所述密文数据CT和所述用户标识符ID,根据所输入的密文数据CT中包含的通配符分层值W,从所输入的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所输入的密文数据CT中包含的通配符密码值C1以及识别密码值C3对所输入的密文数据CT中包含的明文密码值C0进行解密,输出对所述明文密码值C0进行解密而得到的所述明文数据M。
根据本发明,例如在通配符对应的基于匿名性分层型ID的密码方式中,解密运算中的配对运算的次数不与分层数成比例而成为一定次数。
附图说明
图1是实施方式1中的基于分层型ID的密码系统100的结构图。
图2是示出实施方式1中的基于分层型ID的密码系统100的分层构造的一个例子的图。
图3是示出实施方式1中的基于分层型ID的密码系统100的用户标识符ID的一个例子的图。
图4是示出实施方式1中的基于分层型ID的密码系统100的模式P的一个例子的图。
图5是实施方式1中的设置装置200的概要图。
图6是实施方式1中的设置装置200的功能结构图。
图7是实施方式1中的解密装置300的概要图。
图8是实施方式1中的解密装置300的功能结构图。
图9是实施方式1中的加密装置400的概要图。
图10是实施方式1中的加密装置400的功能结构图。
图11是示出实施方式1中的由设置装置200执行的设置方法的流程图。
图12是示出实施方式1中的由设置装置200执行的密钥生成方法的流程图。
图13是示出实施方式1中的由解密装置300执行的密钥移交方法的流程图。
图14是示出实施方式1中的由加密装置400执行的加密方法的流程图。
图15是示出实施方式1中的由解密装置300执行的解密方法的流程图。
图16是示出实施方式中的基于分层型ID的密码系统100的硬件资源的一个例子的图。
图17是实施方式3中的公开密钥隐匿检索系统110的结构图。
图18是实施方式3中的解密装置300的概要图。
图19是实施方式3中的检索装置500的概要图。
图20是实施方式3中的检索装置500的功能结构图。
图21是示出实施方式3中的基于分层型ID的密码系统100的分层构造的一个例子的图。
图22是示出实施方式3中的基于分层型ID的密码系统100的模式PW的一个例子的图。
图23是示出实施方式3中的由加密装置400执行的加密方法的流程图。
图24是示出实施方式3中的由解密装置300执行的查询生成方法的流程图。
图25是示出实施方式3中的由检索装置500执行的检索方法的流程图。
图26是示出实施方式4中的用户标识符ID的一个例子的图。
图27是示出实施方式4中的删除者列表的一个例子的图。
图28是示出实施方式4中的检索装置500的检索方法的流程图。
图29是示出实施方式5中的用户标识符ID的一个例子的图。
图30是示出实施方式5中的模式P的一个例子的图。
(符号说明)
100:基于分层型ID的密码系统;110:公开密钥隐匿检索系统;200:设置装置;210:设置处理部;211:设置输入部;212:设置预处理部;213:公开密钥值计算部;214:公开密钥生成部;215:主秘密密钥生成部;216:设置输出部;220:密钥生成处理部;221:密钥生成输入部;222:密钥生成预处理部;223:用户秘密密钥值计算部;224:用户秘密密钥生成部;290:设置存储部;300:解密装置;310:解密处理部;311:解密输入部;312:解密预处理部;313:解密部;320:密钥移交处理部;321:密钥移交输入部;322:密钥移交预处理部;323:移交密钥值计算部;324:移交密钥生成部;330:查询生成处理部;390:解密存储部;400:加密装置;410:密码处理部;411:加密输入部;412:加密预处理部;413:密码值计算部;414:密文生成部;490:加密存储部;500:检索装置;510:检索处理部;511:检索查询输入部;512:检索部;513:检索结果输出部;590:检索存储部;901:CPU;902:总线;903:ROM;904:RAM;905:通信板;911:显示器装置;912:键盘;913:鼠标;914:驱动器装置;920:磁盘装置;921:OS;922:程序群;923:文件群。
具体实施方式
实施方式1.
说明“通配符对应的基于匿名性分层型ID的密码方式”的实现方法。
图1是实施方式1中的基于分层型ID的密码系统100的结构图。
根据图1,说明实施方式1中的基于分层型ID的密码系统100的结构。
基于分层型ID的密码系统100(密码系统的一个例子)具备设置装置200(密钥生成装置的一个例子)、解密装置300(密钥移交装置的一个例子)、以及加密装置400。
设置装置200、解密装置300、以及加密装置400分别与网络连接,并相互进行通信。
在基于分层型ID的密码系统100中存在多个解密装置300,设置装置200和多个解密装置300构成了树状的分层构造。
在图1中,设置装置200构成了分层构造的根(第0分层),4台解密装置300A-D构成了2个分层(第1、2分层)。
解密装置300A、300B构成了第1分层,解密装置300C、300D针对解密装置300A,作为上位的解密装置300(父装置)而构成了第2分层。
但是,解密装置300的台数也可以是2台或者3台,还可以是5台以上。
另外,多个解密装置300也可以构成3个分层以上的分层。
设置装置200生成通过各解密装置300共同地使用的公开密钥PK(公开密钥数据),并且针对第1分层的每个解密装置300生成用户秘密密钥SK。
设置装置200不限于第1分层,而也可以以第2分层以下的分层的解密装置300为对象而生成用户秘密密钥SK。
加密装置400对未加密的数据(以下,称为“明文数据M”)进行加密,生成密文数据CT。
解密装置300使用公开密钥PK和自身的用户秘密密钥SK,对由加密装置400生成的密文数据CT进行解密,生成明文数据M。
另外,解密装置300使用自身的用户秘密密钥SK,针对下位的每个解密装置300(子装置)生成用户秘密密钥SK。
例如,解密装置300A使用自身的用户秘密密钥SK(IDA),生成解密装置300C用的用户秘密密钥SK(IDC)和解密装置300D用的用户秘密密钥SK(IDD)。
图2是示出实施方式1中的基于分层型ID的密码系统100的分层构造的一个例子的图。
根据图2,说明应用基于分层型ID的密码系统100的A公司的分层构造。
例如,基于分层型ID的密码系统100能够应用于公司组织。
此处,设为在A公司中存在总务部、开发部、宣传部等“部”,在“部”中存在人事科、会计科等“科”,在“科”中存在任用股、培训股等“股”。
在该情况下,将“部”处理为第1分层、将“科”处理为第2分层、将“股”处理为第3分层、将职员处理为第4分层。但是,职员不限于配属于某一个“股”,也可以直属地配属于“部”或者“科”。在图2中,田中君是总务部的直属的职员。
并且,A公司拥有设置装置200和加密装置400。
另外,各“部”拥有部长所使用的解密装置300,各“科”拥有科长所使用的解密装置300,各“股”拥有股长所使用的解密装置300。
而且,各职员拥有解密装置300。
另外,对部长、科长、股长以及职员(分别是用户的一个例子)分配识别各自的“用户标识符ID”。
而且,针对每个个人(用户)或者每个岗位(分层)预先定义密码处理用的数据“模式P”。
图3是示出实施方式1中的基于分层型ID的密码系统100的用户标识符ID的一个例子的图。
根据图3,说明应用基于分层型ID的密码系统100的A公司内的用户标识符ID。
用户标识符ID是包括与分层数相同的个数的要素(标识符)的数据。
即,A公司的分层数是“4”(参照图2),所以在A公司中使用的用户标识符ID中包括4个要素。
在图中,“φ”是意味着不需要的分层(无对应的信息的分层)的要素(空栏值)。
例如,总务部长的用户标识符ID1是(总务部、φ、φ、φ),人事科长的用户标识符ID2是(总务部、人事科、φ、φ)。
同样地,任用股长的用户标识符ID5是(总务部、人事科、任用股、φ),山田君的用户标识符ID6是(总务部、人事科、任用股、山田)。
另外,作为总务部直属的职员的田中君的用户标识符ID8成为(总务部、φ、φ、田中)。
关于用户标识符ID中包含的要素,能够自由地决定为数字、文字、记号或者它们的组合等。
例如,标识符“总务部”既可以是字符串,也可以是与总务部对应关联的编号(整数值)。
以下,将用户标识符ID中包含的要素称为“分层标识符”。
图4是示出实施方式1中的基于分层型ID的密码系统100的模式P的一个例子的图。
根据图4,说明应用基于分层型ID的密码系统100的A公司内的模式P。
模式P是包括与分层数相同的个数的要素(标识符)的数据。
即,A公司的分层数是“4”(参照图2),所以在A公司中使用的模式P中包括4个要素。
在图中,“*”是意味着属于该岗位或者分层的任意的个人(所有用户)的要素(通配符值)。
例如,山田君用的模式P1是(总务部、人事科、任用股、山田),人事科长用的模式P4是(总务部、人事科、φ、φ),总务部直属的田中君用的模式P8是(总务部、φ、φ、田中)。
这样,个人用的模式P与用户标识符ID相同(参照图3)。
另外,属于任用股的职员用的模式P2是(总务部、人事科、任用股、*),属于总务部的科长用的模式P5是(总务部、*、φ、φ)。
而且,部长或者科长用的模式P6是(*、*、φ、φ),部长、科长、股长或者职员用的模式P7是(*、*、*、*)。
这样,并非个人用而在岗位或者分层用的模式P中包括“*”。
以下,将模式P中包含的要素称为“模式值”。
接下来,说明构成基于分层型ID的密码系统100的各装置(参照图1)。
图5是实施方式1中的设置装置200的概要图。
根据图5,说明实施方式1中的设置装置200的概要。
设置装置200具备设置处理部210、密钥生成处理部220、以及设置存储部290(密钥生成存储部的一个例子)。
设置处理部210输入保密参数λ和分层数L,生成公开密钥PK和主秘密密钥MSK,输出所生成的公开密钥PK和主秘密密钥MSK。
密钥生成处理部220输入公开密钥PK、主秘密密钥MSK、以及用户i的用户标识符IDi,生成用户i的用户秘密密钥SK(IDi),输出所生成的用户i的用户秘密密钥SK(IDi)。
设置存储部290是对在设置装置200中使用的数据进行存储的存储部。
例如,保密参数λ、分层数L、公开密钥PK、主秘密密钥MSK、用户标识符IDi、用户秘密密钥SK(IDi)是设置存储部290中存储的数据的一个例子。
图6是实施方式1中的设置装置200的功能结构图。
根据图6,说明实施方式1中的设置装置200的功能结构。
设置装置200(密钥生成装置的一个例子)如上所述,具备设置处理部210、密钥生成处理部220、以及设置存储部290(密钥生成存储部的一个例子)。
设置处理部210生成例如属于具有L个(L是2以上的特定的整数)的分层的组织的用户的公开密钥PK。
设置处理部210具备设置输入部211、设置预处理部212、公开密钥值计算部213、公开密钥生成部214、主秘密密钥生成部215以及设置输出部216。
设置输入部211进行设置输入处理。
例如,设置输入部211输入保密参数λ和分层数L。
设置预处理部212(要素值选择部的一个例子)进行设置预处理(包括要素值选择处理)。
例如,设置预处理部212在设置预处理中进行以下的处理。
设置预处理部212根据保密参数λ计算以素数p与素数q之积n为位数的循环群G,其中该循环群G包括n个要素值。
设置预处理部212从构成计算出的循环群G的一部分且以素数p为位数的部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h。
设置预处理部212从所述部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h’。
设置预处理部212从构成计算出的循环群G的一部分且以素数q为位数的部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R。
设置预处理部212从所述部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R’。
公开密钥值计算部213进行公开密钥值计算处理。
例如,公开密钥值计算部213在公开密钥值计算处理中进行以下的处理。
公开密钥值计算部213将由设置预处理部212选择的L个密钥值h和L个密钥值R针对每个分层进行相乘,计算出与L个分层对应关联的L个密钥值H作为H密钥值群。
公开密钥值计算部213将由设置预处理部212选择的L个密钥值h’和L个密钥值R’针对每个分层进行相乘,计算出与L个分层对应关联的L个密钥值H’作为H’密钥值群。
公开密钥生成部214进行公开密钥生成处理。
例如,公开密钥生成部214在公开密钥生成处理中进行以下的处理。
公开密钥生成部214生成包括由公开密钥值计算部213计算的H密钥值群和H’密钥值群的公开密钥PK。
主秘密密钥生成部215进行主秘密密钥生成处理。
例如,主秘密密钥生成部215在主秘密密钥生成处理中进行以下的处理。
主秘密密钥生成部215生成将由设置预处理部212选择的L个密钥值h作为h密钥值群而包含的主秘密密钥MSK。
设置输出部216进行设置输出处理。
例如,设置输出部216输出由公开密钥生成部214生成的公开密钥PK和由主秘密密钥生成部215生成的主秘密密钥MSK。
密钥生成处理部220生成例如在具有分层构造的组织内属于第k分层(k是2以上的特定的整数)的特定用户的用户秘密密钥SK。
密钥生成处理部220具备密钥生成输入部221、密钥生成预处理部222、用户秘密密钥值计算部223以及用户秘密密钥生成部224。
密钥生成输入部221进行密钥生成输入处理。
例如,密钥生成输入部221在密钥生成输入处理中进行以下的处理。
密钥生成输入部221输入将特定用户的用户标识符作为识别第k分层的分层标识符来包括并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符ID。
密钥生成输入部221输入包含有h密钥值群和h’密钥值群的主秘密密钥MSK,其中,该h密钥值群包括与k个分层对应关联的k个密钥值h,该h’密钥值群包含与k个分层对应关联的k个密钥值h’。
密钥生成预处理部222进行密钥生成预处理。
例如,密钥生成预处理部222在用户标识符ID中包含的分层标识符是字符串的情况下,将分层标识符从字符串变换为整数值。
用户秘密密钥值计算部223进行用户秘密密钥值计算处理。
例如,用户秘密密钥值计算部223在用户秘密密钥值计算处理中进行以下的处理。
用户秘密密钥值计算部223使用密钥生成输入部221所输入的用户标识符ID和主秘密密钥MSK,计算密文数据CT的解密中使用的密钥值a0
用户秘密密钥生成部224进行用户秘密密钥生成处理。
例如,用户秘密密钥生成部224在用户秘密密钥生成处理中进行以下的处理。
用户秘密密钥生成部224生成包括由用户秘密密钥值计算部223计算的密钥值a0的用户秘密密钥SK,输出所生成的用户秘密密钥SK。
图7是实施方式1中的解密装置300的概要图。
根据图7,说明实施方式1中的解密装置300的概要。
解密装置300具备解密处理部310、密钥移交处理部320、以及解密存储部390(密钥移交存储部的一个例子)。
但是,也可以在最下层的解密装置300(例如,职员用的解密装置300)中不具备密钥移交处理部320。
解密处理部310输入公开密钥PK、用户i的用户秘密密钥SK(IDi)、为用于用户i而生成的密文数据CT、以及用户i的用户标识符IDi,对密文数据CT进行解密而生成明文数据M,输出所生成的明文数据M。
密钥移交处理部320输入公开密钥PK、用户i的用户秘密密钥SK(IDi)、以及属于用户i的下一个分层的用户j的用户标识符IDj,生成用户j的秘密密钥SK(IDj),输出所生成的用户j的秘密密钥SK(IDj)。
解密存储部390是对在解密装置300中使用的数据进行存储的存储部。
例如,公开密钥PK、用户秘密密钥SK(IDx)、密文数据CT、用户标识符IDx、明文数据M是解密存储部390中存储的数据的一个例子。
图8是实施方式1中的解密装置300的功能结构图。
根据图8,说明实施方式1中的解密装置300的功能结构。
解密装置300(密钥移交装置的一个例子)如上所述具备解密处理部310、密钥移交处理部320、以及解密存储部390(密钥移交存储部的一个例子)。
解密处理部310具备解密输入部311、解密预处理部312以及解密部313。
解密输入部311进行解密输入处理。
例如,解密输入部311在解密输入处理中进行以下的处理。
解密输入部311输入密文数据CT和用户标识符ID。
密文CT包括对明文数据M进行加密而得到的明文密码值C0、特定的通配符密码值C1、特定的识别密码值C3、以及通配符分层值W。通配符分层值W表示模式P中包含的模式值是通配符值的分层。
解密预处理部312进行解密预处理。
例如,解密预处理部312在用户标识符ID中包含的分层标识符是字符串的情况下,将分层标识符从字符串变换为整数值。
解密部313进行解密处理。
例如,解密部313在解密处理中进行以下的处理。
解密部313根据解密输入部311所输入的密文数据CT,从由解密部313所输入的用户标识符ID抽出利用所述通配符分层值W来表示的分层的分层标识符作为通配符标识符。
解密部313使用所抽出的通配符标识符、所述密文数据CT中包含的通配符密码值C1、以及识别密码值C3,对所述密文数据CT中包含的明文密码值C0进行解密。
解密部313输出对所述明文密码值C0进行解密而得到的所述明文数据M。
密钥移交处理部320生成在具有分层构造的组织内属于第k分层(k是2以上的特定的整数)的用户j的用户秘密密钥SKj
密钥移交处理部320具备密钥移交输入部321、密钥移交预处理部322、移交密钥值计算部323以及移交密钥生成部324。
密钥移交输入部321进行密钥移交输入处理。
例如,密钥移交输入部321在密钥移交输入处理中进行以下的处理。
密钥移交输入部321输入将用户j的用户标识符作为识别第k分层的分层标识符来包括并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符IDj
密钥移交输入部321输入属于第k-1分层的用户i的用户秘密密钥SKi,其中,该用户秘密密钥SKi包括密文数据CT的解密中使用的密钥值a0
密钥移交预处理部322进行密钥移交预处理。
例如,密钥移交预处理部322在用户标识符ID中包含的分层标识符是字符串的情况下,将分层标识符从字符串变换为整数值。
移交密钥值计算部323进行移交密钥值计算处理。
例如,移交密钥值计算部323在移交密钥值计算处理中进行以下的处理。
移交密钥值计算部323使用密钥移交输入部321所输入的用户标识符IDj和用户秘密密钥SKi,计算所述密文数据CT的解密中使用的密钥值x0
移交密钥生成部324进行移交密钥生成处理。
例如,移交密钥生成部324在移交密钥生成处理中进行以下的处理。
移交密钥生成部324生成包括由移交密钥值计算部323计算的密钥值x0的用户秘密密钥SKj,输出所生成的用户秘密密钥SKj
图9是实施方式1中的加密装置400的概要图。
根据图9,说明实施方式1中的加密装置400的概要。
加密装置400具备密码处理部410和加密存储部490。
密码处理部410输入公开密钥PK、(个人或者)分层i用的模式Pi、以及明文数据M,对明文数据M进行加密而生成(个人或者)分层i用的密文数据CT,输出所生成的密文数据CT。
加密存储部490是对在加密装置400中使用的数据进行存储的存储部。
例如,公开密钥PK、模式Pi、明文数据M、密文数据CT是加密存储部490中存储的数据的一个例子。
图10是实施方式1中的加密装置400的功能结构图。
根据图10,说明实施方式1中的加密装置400的功能结构。
加密装置400如上所述,具备密码处理部410和加密存储部490。
密码处理部410具备加密输入部411、加密预处理部412、密码值计算部413以及密文生成部414。
加密输入部411进行加密输入处理。
例如,加密输入部411在加密输入处理中进行以下的处理。
加密输入部411输入要加密的明文数据M。
加密输入部411输入包含有H密钥值群的公开密钥PK,其中,该H密钥值群包括与k个(k是2以上的特定的整数)分层对应关联的k个密钥值H。
加密输入部411输入模式P,该模式P针对每个分层作为模式值而包括识别分层的分层标识符、意味着任意的用户的通配符值、以及意味着不需要的分层的空栏值中的某一个。
加密预处理部412进行加密预处理。
例如,加密预处理部412在模式P中包含的模式值(例如,分层标识符)是字符串的情况下,将模式值从字符串变换为整数值。
密码值计算部413进行密码值计算处理。
例如,密码值计算部413在密码值计算处理中进行以下的处理。
密码值计算部413对加密输入部411所输入的明文数据M进行加密而计算明文密码值C0
密码值计算部413根据加密输入部411所输入的模式P,将所述模式值是通配符值的分层判定为通配符分层。
密码值计算部413从由加密输入部411所输入的公开密钥PK中包含的H密钥值群,抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值。
密码值计算部413使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1
密码值计算部413根据所述模式P,将所述模式值是分层标识符的分层判定为识别分层。
密码值计算部413从所述公开密钥PK中包含的H密钥值群,抽出与所述识别分层对应关联的密钥值H作为识别密钥值。
密码值计算部413使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3
密文生成部414进行密文生成处理。
例如,密文生成部414在密文生成处理中进行以下的处理。
密文生成部414生成密文数据CT,该密文数据CT包括由密码值计算部413计算出的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W。
密文生成部414输出所生成的密文数据CT。
接下来,说明构成基于分层型ID的密码系统100的各装置(参照图1)的处理方法。
图11是示出实施方式1中的由设置装置200执行的设置方法的流程图。
根据图11,说明设置装置200的设置处理部210所执行的设置方法的处理的流程。
在S110中,设置输入部211从输入装置或者设置存储部290输入保密参数λ和分层数L。
在S110之后,进入S120。
在S120中,设置预处理部212根据保密参数λ生成(计算)素数p、q,将所生成的素数p、q进行相乘而计算合成数n(=pq)。
设置预处理部212根据计算出的合成数n和规定的映射e、以及在S110中输入的保密参数λ和分层数L,生成群G、GT
群G、GT是以合成数n为位数的循环群,包括n个要素值。循环群G、GT可以是加法群和乘法群中的任一个。以下,设为循环群G、GT是乘法群而继续说明。
映射e是从2个输入值得到1个输出值的函数,满足下面的性质(a)(b)。
性质(a):存在e(g,g)成为GT的生成源的g。其中,g是G的生成源。
性质(b):对于u、v∈G且a、b∈Z,e(ua,vb)=e(u,v)ab成立。其中,Z是整数的集合。
将满足性质(a)(b)的映射e称为配对。配对e能够如以下那样表示。
e:G×G→GT
将配对e的运算称为“配对运算”。
将通过配对e而定义的群G、GT称为“配对群”。
例如,作为配对群G、GT,可以举出由椭圆曲线上的有理点(rational point)构成的群G和有限域上的群GT
群G和群GT的配对可以是对称配对和非对称配对中的任一个。以下,以对称配对为对象继续说明。关于以非对称配对为对象的情况,只要是本领域技术人员,就能够从以下的说明容易地理解。
素数p、q的生成方法例如公开在非专利文献4。
配对群G、GT的生成方法例如公开在非专利文献3。
在S120之后,进入S130。
在S130中,设置预处理部212使用群G来生成构成群G的一部分的部分群Gp。部分群Gp是以素数p为位数而包括p个要素值的要素值群。
设置预处理部212如式[SU1]所示,从所生成的部分群Gp随机地选择多个要素值。
g p , f , v , v ′ , w , h 1 , h ′ 1 , · · · , h L , h ′ L ← U G p 式[SU1]
此处,
Figure BDA00003527981100202
意味着从A进行m个要素的随机选择。
在S130之后,进入S131。
在S131中,设置预处理部212使用群G来生成构成群G的一部分的部分群Gq。部分群Gq是以素数q为位数而包括q个要素值的要素值群。
设置预处理部212如式[SU2]所示,从所生成的部分群Gq随机地选择多个要素值。
g q , R f , R v , R ′ v , R h , l , R ′ h , l , · · · , R h , L , R ′ h , L ← U G q 式[SU2]
在S131之后,进入S140。
在S140中,公开密钥值计算部213使用在S130中选择的多个要素值和在S131中选择的多个要素值来计算多个公开密钥值。
以下,示出计算多个公开密钥值的多个计算式[SU3]。
F:=fRf,V:=vRv,V′:=v′R′v,E:=e(g,w),
H1:=h1Rh,1,H′1:=h′1R′h,1,…,HL:=hLRh,L,H′L:=h′LR′h,L  式[SU3]
此处,
a:=b意味着向变量a代入值b。
在S140之后,进入S150。
在S150中,公开密钥生成部214生成包括通过S140计算出的多个公开密钥值的公开密钥PK。
以下,示出表示公开密钥PK的式[SU4]。
PK=[G,GT,n,e,gp,gq,F,V,V′,H1,H′1,…,HL,H′L,E]  式[SU4]
在S150之后,进入S160。
在S160中,主秘密密钥生成部215生成主秘密密钥MSK,其中该主秘密密钥MSK包括通过S130选择的多个要素值作为主秘密密钥值。
以下,示出表示主秘密密钥MSK的式[SU5]。
MSK=[p,q,f,v,v′,h1,h′1,…,hL,h′L,w]  式[SU5]
在S160之后,进入S170。
在S170中,设置输出部216将在S150中生成的公开密钥PK和在S160中生成的主秘密密钥MSK存储到设置存储部290。
另外,设置输出部216将公开密钥PK存储到系统的共享服务器(图示省略)使得能够在整个系统中使用。但是,设置输出部216也可以将公开密钥PK发送到各解密装置300以及加密装置400。
通过S170,设置方法的处理结束。
图12是示出实施方式1中的由设置装置200执行的密钥生成方法的流程图。
根据图12,说明设置装置200的密钥生成处理部220所执行的密钥生成方法的处理的流程。
在S210中,密钥生成输入部221从设置存储部290输入由设置处理部210生成的公开密钥PK和主秘密密钥MSK。
密钥生成输入部221从输入装置或者设置存储部290输入对特定的用户i分配的用户标识符IDi
在S210之后,进入S220。
在S220中,密钥生成预处理部222将构成用户标识符IDi的要素变换为整数值群Zn中包含的某一个整数值。整数值群Zn是由0至n-1的整数值构成的群。如在图11的S120中所说明那样,n是素数p与素数q之积,是群G的位数。
例如,密钥生成预处理部222将表示要素的二进制数变换为十进制数的整数值。密钥生成预处理部222也可以将所得到的十进制数的整数值以除数n进行余数运算,将余数值求出为整数值。
另外,密钥生成预处理部222也可以向散列函数(hash function)代入要素而得到整数值。
另外,也可以将使要素与整数值对应关联的变换表格预先存储到设置存储部290,密钥生成预处理部222从设置存储部290取得与要素对应的整数值。
但是,在构成用户标识符IDi的所有的要素是整数值的情况下,无需执行S220。另外,关于构成用户标识符IDi的多个要素中的用整数值表示的要素,也可以不执行S220。
在S220之后,进入S230。
在S230中,密钥生成预处理部222如式[KG1]所示,从整数值群Zn(0至n-1的整数值)随机地选择多个整数值。
但是,在不满足条件式[KG1-1]的情况下,密钥生成预处理部222重新选择多个整数值。
r , r ′ , s , s ′ , t , t ′ ← U Z n 式[KG1]
detA≠0modp∧detA≠0modq  式[KG1-1]
此处,
A = s t s ′ t ′ .
在S230之后,进入S240。
在S240中,密钥生成预处理部222判定用户标识符IDi中包含的多个要素中的空栏值“φ”以外的要素。
而且,密钥生成预处理部222将与空栏值“φ”以外的要素对应的分层的编号判定为“非空栏分层值D”。以下,将与空栏值“φ”以外的要素对应的分层称为“非空栏分层”。
另外,密钥生成预处理部222判定用户标识符IDi中包含的多个要素中的表示空栏值“φ”的要素,将与表示空栏值“φ”的要素对应的分层的编号判定为“空栏分层值N”。以下,将与表示空栏值“φ”的要素对应的分层称为“空栏分层”。
以下,示出表示非空栏分层值D的式[KG2]和表示空栏分层值N的式[KG3]。
D(IDi)={1≤j≤L|pj≠φ}  式[KG2]
N(IDi)={1≤j≤L|pj=φ}  式[KG3]
此处,
D(IDi):用户标识符IDi的非空栏分层值D;
N(IDi):用户标识符IDi的空栏分层值N。
例如,在图3所示的会计科长的用户标识符ID3(总务部、会计科、φ、φ)的情况下,非空栏分层值D是“1”和“2”,空栏分层值N是“3”和“4”。
另外,在田中君的用户标识符ID8(总务部、φ、φ、田中)的情况下,非空栏分层值D是“1”和“4”,空栏分层值N是“2”和“3”。
在S240之后,进入S250。
在S250中,用户秘密密钥值计算部223使用主秘密密钥MSK、用户标识符IDi、用户标识符IDi的非空栏分层值D、以及在S230中选择的整数值,计算多个解密密钥值。
此处,将用户i所属的分层的编号设为“K”。
以下,示出计算多个解密密钥值的多个计算式[KG4]。
a 0 : = w ( v Π j ∈ D ( ID i ) h j I j 1 ≤ j ≤ k ) r ( v ′ Π j ∈ D ( ID i ) h ′ j I j 1 ≤ j ≤ k ) r ′ ,
a1:=fr,
a′1:=fr′,{bj:=hj rh′j r′}j=k+1,...,L   式[KG4]
此处,
a0,a1,a′1,{bj}:解密密钥值。
在S250之后,进入S251。
在S251中,用户秘密密钥值计算部223与S250同样地计算多个干扰密钥值(A)。
以下,示出计算多个干扰密钥值(A)的多个计算式[KG5]。
a 0 : = ( v Π j ∈ D ( ID i ) h j I j 1 ≤ j ≤ k ) S ( v ′ Π j ∈ D ( ID i ) h ′ j I j 1 ≤ j ≤ k ) S ′ ,
α1:=fs,
α′1:=fs′,{βj:=hj sh′js′}j=k+1,...,L   式[KG5]
此处,
α01,α′1,{βj}:干扰密钥值(A)。
在S251之后,进入S252。
在S252中,用户秘密密钥值计算部223与S251同样地计算多个干扰密钥值(B)。
以下,示出计算多个干扰密钥值(B)的多个计算式[KG6]。
α ~ 0 : = ( v Π j ∈ D ( ID i ) h j I j 1 ≤ j ≤ k ) t ( v ′ Π j ∈ D ( ID i ) h ′ j I j 1 ≤ j ≤ k ) t ′ ,
α ~ 1 : = f t ,
α ~ ′ 1 : = f t ′ , { β ~ j : = h j t h ′ j t ′ } j = k + 1 , . . . , L 式[KG6]
此处,
Figure BDA00003527981100264
干扰密钥值(B)。
在S252之后,进入S260。
在S260中,用户秘密密钥生成部224生成包括通过S250计算的多个解密密钥值的解密密钥dk。
而且,用户秘密密钥生成部224生成包括由S251计算的多个干扰密钥值(A)和由S252计算的多个干扰密钥值(B)的干扰密钥rk。
以下,示出表示解密密钥dk的式[KG7]和表示干扰密钥rk的式[KG8]。
dk(IDi):=[a0,a1,a′1,{bj}j=k+1,...,L],   式[KG7]
rk ( ID i ) : = [ [ α 0 , α 1 , α ′ 1 , { β j } j = k + 1 , . . . , L ] , [ α ~ 0 , α ~ 1 , α ~ ′ 1 , { β ~ j } j = k + 1 , . . . , L ] ] 式[KG8]
此处,
dk(IDi):用户i的解密密钥dk;
rk(IDi):用户i的干扰密钥rk。
在S260之后,进入S270。
在S270中,用户秘密密钥生成部224使用在S260中生成的解密密钥dk和干扰密钥rk来生成用户i的用户秘密密钥SK。
然后,用户秘密密钥生成部224输出所生成的用户秘密密钥SK。例如,用户秘密密钥生成部224将所生成的用户秘密密钥SK发送到用户i的解密装置300。
以下,示出表示用户i的用户秘密密钥SK的式[KG9]。
SK(IDi):=[dk(IDi),rk(IDi)]   式[KG9]
此处,
SK(IDi):用户i的用户秘密密钥SK。
通过S270,密钥生成方法的处理结束。
用户秘密密钥SK中包含的解密密钥dk是解密装置300在密文数据CT的解密中使用的数据,用户秘密密钥SK中包含的干扰密钥rk是解密装置300在密钥移交中使用的数据。
密钥移交是解密装置300使用自身的用户秘密密钥SK而生成属于下位层的用户的用户秘密密钥的处理。
图13是示出实施方式1中的由解密装置300执行的密钥移交方法的流程图。
根据图13,说明解密装置300的密钥移交处理部320执行的密钥移交方法的处理的流程。
在S310中,密钥移交输入部321从输入装置、共享服务器(图示省略)或者解密存储部390输入公开密钥PK。
密钥移交输入部321从输入装置或者解密存储部390输入用户i的用户秘密密钥SK(IDi)。用户i是例如使用该解密装置的用户。
密钥移交输入部321从输入装置或者解密存储部390输入用户j的用户标识符IDj。用户j是属于用户i的下一个分层的用户且是用户秘密密钥的移交目的地的用户。
以下,将用户j(移交目的地)所属的分层的编号设为“k”,将用户i所属的分层的编号设为“k-1”。
在S310之后,进入S320。
在S320中,密钥移交预处理部322将用户标识符IDj中包含的要素Ik变换为整数值群Zn(0至n-1的整数值)中包含的某一个整数值。
要素Ik是用户标识符IDj中包含的多个要素中的第k个要素、即与用户j(移交目的地)所属的第k分层对应的要素。
变换方法与S220(参照图12)相同。
在S320之后,进入S330。
在S330中,密钥移交预处理部322如式[KT1]所示,从整数值群Zn随机地选择多个整数值。
但是,在不满足条件式[KT1-1]的情况下,密钥移交预处理部322重新选择多个整数值。
γ 1 , γ 2 , γ 3 , δ 1 , δ 2 , δ 3 ← U Z n 式[KT1]
gp detB≠1∧gq detB≠1   式[KT1-1]
此处,
B = γ 2 γ 3 δ 2 δ 3 .
在S330之后,进入S340。
在S340中,移交密钥值计算部323使用用户秘密密钥SK(IDi)中包含的用户i的解密密钥dk(IDi)和用户j的用户标识符IDj中包含的要素Ik,计算多个作业值(a)。
以下,示出计算多个作业值(a)的计算式[KT2]。
( ζ 0 , ζ 1 , ζ ′ 1 , { η l } l = k + 1 , . . . , L ) : = ( a 0 · b k I k , a 1 , a ′ 1 , { b l } l = k + 1 , . . . , L ) 式[KT2]
此处,
ζ01,ζ′1,{ηl}:作业值(a)。
在S340之后,进入S341。
在S341中,移交密钥值计算部323使用用户秘密密钥SK(IDi)中包含的用户i的干扰密钥rk(IDi)和用户j的用户标识符IDj中包含的要素Ik,计算多个作业值(b)。
以下,示出计算多个作业值(b)的计算式[KT3]。
( θ 0 , θ 1 , θ ′ 1 , { φ l } l = k + 1 , . . . , L ) : = ( α 0 · β k I k , α 1 , α ′ 1 , { β l } l = k + 1 , . . . , L ) 式[KT3]
此处,
θ01,θ′1,{φl}:作业值(b)。
在S341之后,进入S342。
在S342中,移交密钥值计算部323与S341同样地计算多个作业值(c)。
以下,示出计算多个作业值(c)的计算式[KT4]。
( θ ~ 0 , θ ~ 1 , θ ~ ′ 1 , { φ ~ l } l = k + 1 , . . . , L ) : = ( α ~ 0 · β ~ k I k , α ~ 1 , α ~ ′ 1 , { β ~ l } l = k + 1 , . . . , L ) 式[KT4]
此处,
Figure BDA00003527981100292
作业值(c)。
在S342之后,进入S350。
在S350中,移交密钥值计算部323使用在S340至S342中计算出的作业值(a)-(c)和在S330中选择的整数值,计算多个解密密钥值。
以下,示出计算多个解密密钥值的计算式[KT5]。
( x 0 , x 1 x ′ 1 , { w l } l = k + 1 , . . . , L ) : = ( ζ 0 θ 0 γ 1 θ ~ 0 δ 1 , ζ 1 θ 1 γ 1 θ ~ 1 δ 1 , ζ ′ 1 θ ′ 1 γ 1 θ ~ ′ 1 δ 1 , { η l φ l γ 1 φ ~ l δ 1 } l = k + 1 , . . . , L )
式[KT5]
此处,
x0,x1,x′1,{wl}:解密密钥值。
在S350之后,进入S351。
在S351中,移交密钥值计算部323使用在S341中计算的作业值(b)、在S342中计算的作业值(c)、以及在S330中选择的整数值,计算多个干扰密钥值(A)。
以下,示出计算多个干扰密钥值(A)的计算式[KT6]。
( χ 0 , χ 1 , χ ′ 1 , { ω l } l = k + 1 , . . . , L ) : = ( θ 0 γ 2 θ ~ 0 δ 2 , θ 1 γ 2 θ ~ 1 δ 2 , θ ′ 1 γ 2 θ ~ ′ 1 δ 2 , { φ l γ 2 φ ~ l δ 2 } l = k + 1 , . . . , L )
式[KT6]
此处,
χ01,χ′1,{ωl}:干扰密钥值(A)。
在S351之后,进入S352。
在S352中,移交密钥值计算部323与S351同样地计算多个干扰密钥值(B)。
以下,示出计算多个干扰密钥值(B)的计算式[KT7]。
( χ ~ 0 , χ ~ 1 , χ ~ ′ 1 , { ω ~ l } l = k + 1 , . . . , L ) : = ( θ 0 γ 3 θ ~ 0 δ 3 , θ 1 γ 3 θ ~ 1 δ 3 , θ ′ 1 γ 3 θ ~ ′ 1 δ 3 , { φ l γ 3 φ ~ l δ 3 } l = k + 1 , . . . , L )
式[KT7]
此处,
干扰密钥值(B)。
在S352之后,进入S360。
在S360中,移交密钥生成部324使用在S350中计算的多个解密密钥值,生成用户j的解密密钥dk(IDj)。
而且,移交密钥生成部324使用在S351中计算的多个干扰密钥值(A)和在S352中计算的多个干扰密钥值(B),生成干扰密钥rk(IDj)。
以下,示出表示用户j的解密密钥dk(IDj)的式[KT8]和表示用户j的干扰密钥rk(IDj)的式[KT9]。
dk(IDj):=[x0,x1,x′1,{wl}l=k+1,...,L],   式[KT8]
rk ( ID j ) : = [ [ χ 0 , χ 1 , χ ′ 1 , { ω l } l = k + 1 , . . . , L ] , [ χ ~ 0 , χ ~ 1 , χ ~ ′ 1 , { ω ~ l } l = k + 1 , . . . , L ] ] 式[KT9]
此处,
dk(IDj):用户j的解密密钥dk
rk(IDj):用户j的干扰密钥rk。
在S360之后,进入S370。
在S370中,移交密钥生成部324使用在S360中生成的解密密钥dk(IDj)和干扰密钥rk(IDj)来生成用户j的用户秘密密钥SK(IDj),将所生成的用户秘密密钥SK(IDj)存储到解密存储部390。
另外,移交密钥生成部324输出所生成的用户秘密密钥SK(IDj)。例如,移交密钥生成部324将所生成的用户秘密密钥SK(IDj)发送到用户j的解密装置300。
以下,示出表示用户j的用户秘密密钥SK(IDj)的式[KT10]。
SK(IDj):=[dk(IDj),rk(IDj)]   式[KT10]
此处,
SK(IDj):用户j的用户秘密密钥SK。
通过S370,密钥移交方法的处理结束。
但是,在生成属于用户j的下一个分层的用户j2的用户秘密密钥SK(IDj2)的情况下,将用户i置换为用户j并且将用户j置换为用户j2而反复进行密钥移交方法的处理(S310-S370)。
在图12中说明的密钥生成方法和在图13中说明的密钥移交方法中表面上的处理不同,但是在密钥生成方法和密钥移交方法中,能够针对同一用户生成同一用户秘密密钥SK。
因此,使用密钥生成方法和密钥移交方法中的某一个,生成特定的用户的用户秘密密钥SK即可。
图14是示出实施方式1中的由加密装置400执行的加密方法的流程图。
根据图14,说明加密装置400的密码处理部410所执行的加密方法的处理的流程。
在S410中,加密输入部411从输入装置、共享服务器(图示省略)或者解密存储部390输入公开密钥PK。
加密输入部411从输入装置、共享服务器或者解密存储部390输入用户i用的模式Pi。用户i意味着能够对密文数据CT进行解密的一个用户或者多个用户。
加密输入部411从输入装置或者解密存储部390输入明文数据M。
在S410之后,进入S420。
在S420中,加密预处理部412将模式Pi中包含的要素变换为整数值群Zn(0至n-1的整数值)中包含的某一个整数值。
变换方法与S220(参照图12)相同。
在S420之后,进入S421。
在S421中,加密预处理部412如式[EN1]所示,从整数值群Zn随机地选择整数值ρ。
ρ ← U Z n 式[EN1]
在S421之后,进入S422。
在S422中,加密预处理部412判定模式Pi中包含的多个要素中的表示通配符值“*”的要素。
而且,加密预处理部412将与表示通配符值“*”的要素对应的分层的编号判定为“通配符分层值W”。以下,将与表示通配符值“*”的要素对应的分层称为“通配符分层”。
另外,加密预处理部412判定模式Pi中包含的多个要素中的表示空栏值“φ”的要素,将与表示空栏值“φ”的要素对应的分层的编号判定为“空栏分层值N”。以下,将与表示空栏值“φ”的要素对应的分层称为“空栏分层”。
另外,加密预处理部412判定模式Pi中包含的多个要素中的通配符值“*”以及空栏值“φ”以外的要素,将与通配符值“*”以及空栏值“φ”以外的要素对应的分层的编号判定为“识别分层值D”。以下,将与通配符值“*”以及空栏值“φ”以外的要素对应的分层称为“识别分层”。
以下,示出表示通配符分层值W的式[EN2]、表示空栏分层值N的式[EN3]、以及表示识别分层值D的式[EN4]。
W(Pi)={1≤j≤L|pj=*}   式[EN2]
N(Pi)={1≤j≤L|pj=φ}   式[EN3]
D(Pi)={1≤j≤L|pj≠*∧pj≠φ}   式[EN4]
此处,
W(Pi):模式Pi的通配符分层值W
N(Pi):模式Pi的空栏分层值N
D(Pi):模式的识别分层值D
pj:模式Pi的第j个要素。
例如,在图4所示的模式P5(总务部、*、φ、φ)的情况下,通配符分层值W是“2”,空栏分层值N是“3”和“4”,识别分层值D是“1”。
另外,在模式P8(总务部、φ、φ、田中)的情况下,没有通配符分层值W,空栏分层值N是“2”和“3”,识别分层值D是“1”和“4”。
在S422之后,进入S423。
在S423中,加密预处理部412根据通配符分层值W,从整数值群Zn随机地选择多个整数值,针对所选择的每个整数值,将整数值与公开密钥PK中包含的公开密钥值gq进行幂乘。
该处理等同于如下处理:如式[EN5]所示,从以素数q为位数的群Gq随机地选择多个要素值。
{ Z 1 , j , Z ′ 1 , j } j ∈ W ( P i ) , Z 2 , Z 3 , Z ′ 3 ← U G q 式[EN5]
在S423之后,进入S430。
在S430中,密码值计算部413使用公开密钥PK、模式Pi、明文数据M、在S421中选择的整数值ρ、以及在S423中计算的多个整数值,计算多个密码值。
以下,示出计算多个密码值的多个计算式[EN6]。
C 0 : = ME ρ , { C 1 , j : H i ρ Z 1 , j , C ′ 1 , j : = H ′ i ρ Z ′ 1 , j } j ∈ W ( P i ) , C 2 : = F ρ Z 2 ,
C 3 : = ( V Π j ∈ D ( P i ) H j p j ) ρ Z 3 , C ′ 3 : = ( V ′ Π j ∈ D ( P i ) H ′ j p j ) ρ Z ′ 3 式[EN6]
此处,
C0,{C1,j,C′1,j},C2,C3,C′3:密码值。
在S430之后,进入S440。
在S440中,密文生成部414使用在S422中判定的通配符分层值W和在S430中计算的多个密码值来生成用户i用的密文数据CT,将所生成的密文数据CT存储到加密存储部490。
以下,示出表示密文CT的式[EN7]。
CT = [ W ( P i ) , C 0 , { C 1 , j , C ′ 1 , j } j ∈ W ( P i ) , C 2 , C 3 , C ′ 3 ] 式[EN7]
此处,
CT:用户i用的密文数据。
另外,密文生成部414输出所生成的密文数据CT。例如,密文生成部414将密文数据CT存储到共享服务器(图示省略)。
通过S440,加密方法的处理结束。
在上述加密方法中,设为明文数据M是配对群GT(参照图11的S120)的要素。
但是,在明文数据M并非是配对群GT的要素的情况下,使用混合密码方式即可。在混合密码方式中,明文数据M是使用会话密钥以共同密钥密码方式进行加密的。然后,将明文数据M置换为会话密钥而执行上述加密方法的处理。
图15是示出实施方式1中的由解密装置300执行的解密方法的流程图。
根据图15,说明解密装置300的解密处理部310所执行的解密方法的处理的流程。
在S510中,解密输入部311从输入装置、共享服务器(图示省略)或者解密存储部390输入公开密钥PK和密文数据CT。
解密输入部311从输入装置或者解密存储部390输入用户i的用户秘密密钥SK(IDi)和用户标识符IDi。用户i是对密文数据CT进行解密的用户,且是使用该解密装置300的用户。
在S510之后,进入S520。
在S520中,解密预处理部312将用户标识符IDi中包含的要素变换为整数值群Zn(0至n-1的整数值)中包含的某一个整数值。
变换方法与S220(参照图12)相同。
在S520之后,进入S521。
在S521中,解密预处理部312根据用户标识符IDi判定非空栏分层值D。
判定方法与S240(参照图12)相同。
在S521之后,进入S530。
在S530中,解密部313使用密文数据CT、用户标识符IDi、以及在S521中判定的非空栏分层值D,计算多个作业值。
以下,示出计算多个作业值的多个计算式[DE1]。
C ~ 3 : = C 3 Π j ∈ W ( P i ) ∩ D ( ID i ) C 1 , j I j , C ~ ′ 3 : = C ′ 3 Π j ∈ W ( P i ) ∩ D ( ID i ) C ′ 1 , j I j 式[DE1]
此处,
作业值。
在S530之后,进入S540。
在S540中,解密部313使用密文数据CT、用户秘密密钥SK(IDi)、公开密钥PK中包含的映射的函数e、以及在S530中计算的多个作业值来计算明文数据M。
以下,示出计算明文数据M的计算式[DE2]。
M ~ : = C 0 e ( a 1 , C ~ 3 ) e ( a ′ 1 , C ~ ′ 3 ) e ( a 0 , C 2 ) 式[DE2]
此处,
解密了的明文数据M。
解密部313输出所计算的明文数据M。例如,解密部313将明文数据M显示到显示装置。
通过S540,解密方法结束。
在基于分层型ID的密码系统100中,只要是与明文数据M的加密中使用的模式P相符的合法的用户,就能够使用自身的用户秘密密钥SK和用户标识符ID对加密数据CT进行解密。
这是因为,模式P中包含的多个要素p中的与用户标识符ID的非空栏分层(≠φ)对应的要素pj是用户标识符ID的要素Ij或者通配符值“*”,在解密处理(图15的S530)中,通配符值“*”通过用户标识符ID的要素Ij被“改写”。
另一方面,与模式P相符的用户以外的非法的用户无法使用自身的用户秘密密钥SK和用户标识符ID对加密数据CT进行解密。
这是因为,在解密处理中,通配符值“*”通过非法的用户标识符ID的要素Ij被“改写”。
以下,示出对密文数据CT进行解密而得到的明文数据M与进行加密之前的明文数据M的关系式。
M ~ : = C 0 e ( a 1 , C ~ 3 ) e ( a ′ 1 , C ~ ′ 3 ) e ( a 0 , C 2 )
= ME ρ e ( g r , ( V Π j ∈ D ( ID ) H j I j ) ρ Z 3 ) · e ( g r ′ , ( V ′ Π j ∈ D ( ID ) H ′ j I j ) ρ Z ′ 3 ) e ( w ( v Π j ∈ D ( ID ) h j I j ) r ( v ′ Π j ∈ D ( ID ) h ′ j I j ) r ′ , G ρ Z 2 )
= Me ( g , w ) ρ e ( g r , ( v Π j ∈ D ( ID ) h j I j ) ρ ) · e ( g r ′ , ( v ′ Π j ∈ D ( ID ) h ′ j I j ) ρ ) e ( w ( v Π j ∈ D ( ID ) h j I j ) r ( v ′ Π j ∈ D ( ID ) h ′ j I j ) r ′ , g ρ )
= Me ( g , w ) ρ e ( g r , ( v Π j ∈ D ( ID ) h j I j ) ρ ) · e ( g r ′ , ( v ′ Π j ∈ D ( ID ) h ′ j I j ) ρ ) e ( w , g ρ ) · e ( ( v Π j ∈ D ( ID ) h j I j ) r , g ρ ) · e ( ( v ′ Π j ∈ D ( ID ) h ′ j I j ) r ′ , g ρ )
= M
第一行的式子是上述式[DE2](参照图15的S540)。
第二行的式子是将第一行的右边根据上述式“DE1”(参照图15的S530)进行展开而得到的式子。
第三行的式子是将第二行的式子根据以下所示的配对群的(性质1)进行展开而得到的式子。
第四行的式子是分解第三行的式子的分母而得到的式子。
然后,通过在第四行的式子的分母和分子中去掉共同项从而得到明文数据M。
以下,示出配对群的性质(1)。
性质(1):针对任意的xp∈Gp、yq∈Gq,e(xp,yq)=1
基于分层型ID的密码系统100能够确保密文的匿名性。另外,此处所称的匿名性是指,用非专利文献5的ANON-sID进行定义那样的安全性。换言之,是从密文没有泄漏除了通配符部位以外的要素pj、即与用户标识符有关的信息这样的性质。
另外,能够确保密文的隐匿性。另外,此处所称的隐匿性是指,用非专利文献5的IND-sID进行定义那样的安全性。换言之,是从密文没有泄漏与明文有关的信息这样的性质。
关于上述匿名性以及隐匿性,在密码领域中通过一般的基于仿真的安全性证明来表示。此时的数论假设与非专利文献5记载的假设相同。只要是本领域技术人员,就能够理解其安全性,如果有必要则能够再现安全性证明。
在本实施方式中,说明了使用对称配对来构成的方法,但只要是本领域技术人员,就能够容易地理解将它扩展到使用非对称配对的结构。
根据本实施方式,能够实现通配符对应的基于匿名性分层型ID的密码方式。即,对于属于分层内的某层的所有的用户,无需针对每个用户生成密文,而生成1个密文即可。
由此,能够降低密文的大小(数量)。
而且,在解密运算(参照图15的S540)中,能够将配对e的运算次数设为固定次数(具体而言3次)而并非与分层数成比例的次数。
这是因为,在密文的构成要素中去除了与分层数成比例的要素。
由此,在如大企业、行政机关那样具有大的分层的组织中,也能够实现高速的解密运算。
而且,能够与中间的分层对应关联地在用户标识符中设置空栏“φ”。
由此,还能够灵活地对应于如图2所示的田中君那样从通常的分层构造脱离的用户。
即,具有还能够灵活地对应于特殊的分层构造这样的效果。
在实施方式中,设置装置200也可以分割为设置装置(设置处理部210)和密钥生成装置(密钥生成处理部220)。
另外,解密装置300也可以分割为解密装置(解密处理部310)和密钥移交装置(密钥移交处理部320)。
图16是示出实施方式中的基于分层型ID的密码系统100的硬件资源的一个例子的图。
在图16中,设置装置200、解密装置300、加密装置400以及检索装置500(参照实施方式3)具备CPU901(Central Processing Unit)。CPU901经由总线902而与ROM903、RAM904、通信板905、显示器装置911、键盘912、鼠标913、驱动器装置914、磁盘装置920连接,控制这些硬件设备。驱动器装置914是对FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)等存储介质进行读写的装置。
通信板905通过有线或者无线方式而连接到LAN(Local AreaNetwork,局域网)、因特网、电话线路等通信网。
在磁盘装置920中存储了OS921(操作系统)、程序群922、文件群923。
在程序群922中,包括执行在实施方式中作为“~部”进行说明的功能的程序。程序由CPU901读出并执行。即,程序使计算机作为“~部”发挥功能,并且使计算机执行“~部”的过程、方法。
在文件群923中,包括在实施方式中说明的“~部”中使用的各种数据(输入、输出、判定结果、计算结果、处理结果等)。
在实施方式中结构图以及流程图中包含的箭头主要表示数据、信号的输入输出。
在实施方式中说明为“~部”的部分既可以是“~电路”、“~装置”、“~仪器”,另外也可以是“~步骤”、“~过程”、“~处理”。即,说明为“~部”的部分可以通过固件、软件、硬件或者它们的组合中的任意一个来安装。
实施方式2.
说明使用以素数p为位数的配对群的直积来代替以合成数n(=pq)为位数的配对群的方式。
以下,主要说明与实施方式1不同的事项。关于省略说明的事项,与实施方式1相同。
以下,将以合成数为位数的配对群称为“合成数位数的配对群”,将以素数为位数的配对群称为“素数位数的配对群”。
通过式(2-1)来定义由素数位数p的配对群(非对称配对群)的直积构成的直积群。
G^=G_1×G_1,H^=G_2×G_2,GT^=G_t   式(2-1)
此处,
G_1、G_2、G_t是素数位数p的非对称配对群,
e:G_1×G_2→G_t是在G_1、G_2、G_t上定义的非对称配对。
另外,G^,H^,GT^是直积群。
构成直积群的一部分的部分群通过式(2-2)来定义。
G1^=<(g1,g1 x)>,G2^=<(g2,g2 y)>,H1^=<(h1 -y,h1)>,H2^=<(h2 -x,h2)>
式(2-2)
此处,
G1^,G2^,H1^,H2^:部分群;
g 1 , g 2 &LeftArrow; U G _ 1 , h 1 , h 2 &LeftArrow; U G _ 2 ;
x , y &LeftArrow; U Z p ;
x-y≠0;
<g>:用g生成的群。
配对e通过式(2-3)来定义。
e^((g,g’),(h,h’))=e(g,h)e(g’,h’)式(2-3)
此处,
g、g’是群G_1的任意的要素,h、h’是群G_2的任意的要素。
在上述定义中性质(2)成立。
性质(2):针对任意的x1∈G1^、y2∈H2^,是e^(x1,y2)=1,
针对任意的x2∈G2^、y1∈H1^,是e^(x2,y1)=1。
该性质(2)能够如以下那样确认。
能够将a、b设为某个整数,表示为x1=(g1 a,g1 ax)、y2=(h2 -xb,h2 b),所以如以下那样。
e^(x1,y2)=e^((g1 a,g1 ax),(h2 -xb,h2 b))
=e(g1 a,h2 -xb)e(g1 ax,h2 b)
=1
该性质(2)是与在实施方式1中说明的性质(1)等同的性质。
因此,能够使用素数位数p的配对群的直积,构成基于分层型ID的密码系统100。
即,通过将在实施方式1中说明的各群如以下那样置换为上述各群,从而能够构成基于分层型ID的密码系统100。
群G→群G^,H^;
群Gp→群G1^,H1^;
群Gq→群G2^,H2^;
群GT→群GT^;
配对e→配对e^。
此处,示出使用素数位数的配对群的直积的情况的一个例子。
但是,也可以使用将合成数位数的配对群变换为素数位数的配对群的变换方法。这样的变换方法例如公开在非专利文献6。
根据本实施方式,并非使用合成数位数的配对群,而能够使用素数位数的配对群来实现通配符对应的基于匿名性分层型ID的密码方式。
通常,素数位数的配对群能够通过比合成数位数的配对群还小的比特大小来实现同等的安全性。
因此,能够使密文、秘密密钥的大小比实施方式1小。
另外,比特大小越小,群运算的时间越缩短。即,与实施方式1相比能够提高运算速度。
另外,与实施方式1同样地,能够将在解密运算中进行的配对运算的次数设为固定次数,而并非与分层数成比例的次数。
实施方式3.
应用在实施方式1、2中说明的“通配符对应的基于匿名性分层型ID的密码方式”,说明“群组共享型公开密钥隐匿检索方式”。
以下,主要说明与实施方式1、2不同的事项。关于省略说明的事项,与实施方式1、2相同。
图17是实施方式3中的公开密钥隐匿检索系统110的结构图。
根据图17,说明实施方式3中的公开密钥隐匿检索系统110的结构。
公开密钥隐匿检索系统110除了在实施方式1中说明的基于分层型ID的密码系统100的结构(参照图1)之外,还具备检索装置500。
检索装置500具备存储了由加密装置400生成的多个密文数据CT的检索存储部590(密文存储部的一个例子)。
检索装置500输入检索查询QK,使用所输入的检索查询QK来检索检索存储部590,输出与检索查询QK相符的密文数据CT。
解密装置300对由检索装置500检索的密文数据CT进行解密,输出明文数据M。
图18是实施方式3中的解密装置300的概要图。
根据图18,说明实施方式3中的解密装置300的概要。
解密装置300除了在实施方式1中说明的结构(参照图7)以外,还具备查询生成处理部330。
查询生成处理部330具备查询生成输入部、查询生成预处理部、查询密钥值计算部以及查询生成部(图示省略)。
查询生成处理部330输入公开密钥PK、用户i的用户秘密密钥SK(IDi)、用户i的用户标识符IDi、以及关键字KW,输出检索查询QK(IDi,KW)。
图19是实施方式3中的检索装置500的概要图。
根据图19,说明实施方式3中的检索装置500的概要。
检索装置500具备检索处理部510和检索存储部590。
检索处理部510输入公开密钥PK和检索查询QK(IDi,KW),对检索存储部590中存储的密文数据CT进行检索,输出与检索查询QK(IDi,KW)相符的密文数据CT。
检索存储部590是对在检索装置500中使用的数据进行存储的存储部。
公开密钥PK、检索查询QK(IDi,KW)、密文数据CT是检索存储部590中存储的数据的一个例子。
图20是实施方式3中的检索装置500的功能结构图。
根据图20,说明实施方式3中的检索装置500的功能结构。
检索装置500如上所述具备检索处理部510和检索存储部590。
检索存储部590预先存储多个密文数据CT和多个密文数据CTW。
密文数据CTW是由加密装置400(参照图10)如以下那样生成的。
密码值计算部413对特定的明文数据MW进行加密而计算明文密码值CW0
加密输入部411输入所述密文数据CT的检索中使用的关键字KW。
密码值计算部413使用包括所述模式P并且将所述关键字KW作为识别第K+1分层的分层标识符来包括的模式PW,计算通配符密码值CW1和识别密码值CW3
密文生成部414生成包括所计算的明文密码值CW0、通配符密码值CW1以及识别密码值CW3的密文数据CTW,将所生成的密文数据CTW与所述密文数据CT对应关联地进行输出。
返回图20,继续检索装置500的说明。
检索处理部510具备检索查询输入部511、检索部512、以及检索结果输出部513。
检索查询输入部511进行检索查询输入处理。
例如,检索查询输入部511输入检索查询QK和通配符分层值W。
检索查询QK是由解密装置300(参照图18)如以下那样生成的。
查询生成处理部330的查询生成输入部(图示省略)输入所述用户标识符ID和所述关键字KW(查询生成输入)。
查询生成处理部330的查询密钥值计算部(图示省略)使用所输入的用户标识符ID和关键字KW来计算所述明文密码值CW0的解密中使用的密钥值aW0(查询密钥值计算处理)。
查询生成处理部330的查询生成部(图示省略)生成包括所计算的密钥值aW0和所述用户标识符ID的检索查询QK,输出所生成的检索查询QK(检索查询生成处理)。
返回图20,继续检索装置500的说明。
检索部512从检索存储部590选择密文数据CTW。
检索部512根据所输入的通配符分层值W,从所输入的检索查询QK中包含的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符。
检索部512使用所抽出的通配符标识符、所选择的密文数据CTW中包含的通配符密码值CW1、识别密码值CW3、以及所输入的检索查询QK中包含的密钥值aW0,对所选择的密文数据CTW中包含的明文密码值CW0进行解密。
检索部512判定对所述明文密码值CW0进行解密而得到的解密数据是否与所述明文数据MW一致。
检索部512在所述解密数据与所述明文数据MW一致的情况下,从检索存储部590取得与所选择的密文数据CTW对应的密文数据CT。
检索结果输出部513将所取得的密文数据CT作为针对所输入的检索查询QK的检索结果而输出。
图21是示出实施方式3中的基于分层型ID的密码系统100的分层构造的一个例子的图。
图22是示出实施方式3中的基于分层型ID的密码系统100的模式PW的一个例子的图。
如图21所示,在分层构造中包括关键字用的分层(第5分层),如图22所示,在模式PW中包括模式P和密文数据CT的检索用的关键字KW。
图23是示出实施方式3中的由加密装置400执行的加密方法的流程图。
根据图23,说明实施方式3中的加密方法的处理的流程。
在S411中,加密输入部411与S410(参照图14)同样地,输入公开密钥PK、用户i用的模式PWi、以及明文数据M。
在S411之后,进入S420。
在S420-S440中,密码处理部410使用模式PWi中包含的模式Pi来生成用户i用的密文数据CT(参照图14)。
在S440之后,进入S450。
在S450中,加密预处理部412将密文数据CT作为输入而计算规定的散列函数h,计算密文数据CT的散列值h(CT)。
散列值h(CT)是将密文数据CT写入到群GT的要素的值。例如,散列值h(CT)是将密文数据CT作为比特串而输入时的散列函数SHA-1的输出值。
在S450之后,进入S460。
在S460-S480中,密码处理部410将在S450中计算的散列值h(CT)作为明文数据MW,与S420-S440同样地使用模式PWi来生成用户i用的密文数据CTW。此时,将与关键字KW对应的分层处理为“识别分层”。
在S480之后,进入S490。
在S490中,密文生成部414生成包括在S440中生成的密文数据CT和在S480中生成的密文CTW的密文数据CTW,输出所生成的密文数据CTW
通过S490,加密方法的处理结束。
图24是示出实施方式3中的由解密装置300执行的查询生成方法的流程图。
根据图24,说明解密装置300的查询生成处理部330执行的查询生成方法的处理的流程。
在S610中,查询生成处理部330输入公开密钥PK、用户i的用户秘密密钥SK(IDi)、用户i的用户标识符IDi、以及关键字KW。
在S610之后,进入S620。
在S620-S650中,查询生成处理部330将对用户标识符IDi加上关键字KW而得到的数据作为用户j的用户标识符IDj来处理,与密钥移交处理部320同样地(参照图13的S320-S350)计算多个解密密钥值。
在S650之后,进入S660。
在S660中,查询生成处理部330生成包括用户i的用户标识符IDi和在S650中计算的多个解密密钥值的检索查询QK,输出所生成的检索查询QK。
通过S660,查询生成方法的处理结束。
图25是示出实施方式3中的由检索装置500执行的检索方法的流程图。
根据图25,说明检索装置500的检索处理部510所执行的检索方法的处理的流程。
在S710中,检索查询输入部511输入检索查询QK和公开密钥PK。
在S710之后,进入S711。
在S711中,检索查询输入部511从检索存储部590依次或者随机地选择一个未处理的密文数据CTW
在S712之后,进入S720。
在S720-S740中,检索部512使用公开密钥PK、检索查询QK中包含的解密密钥值、检索查询QK中包含的用户标识符IDi、以及密文数据CTW中包含的密文数据CTW,计算明文数据MW。
明文数据MW的计算方法与解密方法(参照图15的S520-S540)相同。
在S740之后,进入S750。
在S750中,检索部512计算密文数据CTW中包含的密文数据CT的散列值h(CT)。
散列值h(CT)的计算方法与S450(参照图23)相同。
在S750之后,进入S760。
在S760中,检索部512比较在S740中计算的明文数据MW和在S750中计算的散列值h(CT)。
在明文数据MW和散列值h(CT)一致的情况下(“是”),进入S770。
在明文数据MW和散列值h(CT)不一致的情况下(“否”),返回S711。
在S770中,检索部512输出密文数据CTW中包含的密文数据CT。
通过S770,检索方法的处理结束。
在S770中输出的密文数据CT通过在实施方式1中说明的解密方法(参照图15)被解密。
公开密钥隐匿检索系统110能够在使关键字隐匿了的状态下进行关键字检索。这是因为,所检索的密文除了隐匿性以外还具有匿名性,即使观察密文,关于关键字也得不到任何信息。
另外,由于与通配符的使用对应,所以能够与实施方式1同样地在群组内共享密文。
检索关键字也可以设置多个。即,也可以设置多个与关键字对应的分层。
在该情况下,密文数据CTW包括与检索关键字相同的数量的密文数据CTW,在至少关于某一个密文数据CTW,散列值h(CT)一致的情况下,判定为在检索中命中,输出密文数据CT。但是,也可以在关于所有的密文数据CTW,散列值h(CT)一致的情况下,判定为在检索中命中。而且,也可以在密文数据CTW的顺序、即检索关键字的分层顺序一致的情况下,判定为在检索中命中。
在加密处理(参照图23)以及检索方法(参照图25)中,也可以代替散列值h(CT)而将检索常数(例如,常数0)作为明文数据MW来处理。即,在检索时解密的值与检索常数一致的情况下,判定为在检索中命中。
由此,无需将密文数据CT和密文数据CTW(加密关键字)一起保持,能够单独地进行管理。因此,能够提高数据管理的灵活性。
在本实施方式中,构成为在检索查询中包括检索用户的用户标识符。这是因为,在检索时利用检索用户的用户标识符来“改写”密文中的与通配符对应的要素。
但是,也可以构成为在无需“改写”的情况(即,仅检索发给自己的密文的情况)下,在检索查询中不包括用户标识符。
这样,检索用户对于检索装置能够在隐去了自身的用户标识符的状态下请求检索。
在本实施方式中,也能够与实施方式1同样地使用合成数位数的配对群,还能够与实施方式2同样地使用素数位数的配对群的直积。
另外,更一般地,还能够使用“可移交的隐匿矢量密码”(Delegatable hidden vector encryption)来实现“群组共享型公开密钥隐匿检索”。
此处所称的“可移交的隐匿矢量密码”是指,基于ID的密码或者基于属性的密码等所谓的谓词密码(Predicate encryption)或者函数型密码(Functional encryption)。
其中,设为“可移交的隐匿矢量密码”具备密钥移交的功能,并且作为加密的ID或者属性而具备与通配符相当的功能。而且,设为“可移交的隐匿矢量密码”具备ID或者属性的信息不会从密文泄漏的匿名性。
在这具体的实现方式中,有例如非专利文献7记载的DelegatableHVE、非专利文献8记载的Hierarchical predicate encryption等。
根据各个密码方式,具体的算法、参数、或者作为根据的数论假设不同。但是,任一个密码方式基本上都与实施方式1同样地构成为包括设置单元、密钥生成单元、密钥移交单元、加密单元以及解密单元、或者与它们类似的部分。因此,通过采用依照在本实施方式中公开的结构的结构,能够与本实施方式同样地实现“群组共享型公开密钥隐匿检索”。这对于本领域技术人员是能够容易理解的。
根据本实施方式,能够实现群组共享型公开密钥隐匿检索。
而且,能够将检索运算以及解密运算(对在检索中命中了的密文进行解密的运算)中的配对运算的次数,以不与分层数成比例的方式设为固定次数(具体而言3次)。
由此,即使在如大企业、行政机关那样具有大的分层的组织中也能够实现高速的检索以及解密。
而且,与实施方式1同样地,在用户秘密密钥的生成、移交中、另外在加密中,都能够在指定用户标识符时在中间的分层部分设置空栏。
由此,还能够灵活地对应于如图21所示的田中君那样从通常的分层构造脱离的用户。即,还能够灵活地对应于特殊的分层构造。
而且,更一般地,能够使用“可移交的隐匿矢量密码”来实现“群组共享型公开密钥隐匿检索”。由此,能够提供用于实现群组共享型公开密钥隐匿检索方式的更一般的方法。
实施方式4.
说明追加或者删除可检索的用户的方式。
以下,主要说明与实施方式3不同的事项。关于省略说明的事项,与实施方式3相同。
首先,说明追加可检索的用户的方式。
为了追加可检索的用户,对所追加的用户分配用户标识符ID即可。
图26是示出实施方式4中的用户标识符ID的一个例子的图。
例如,在对任用股新配属了高桥君的情况下,如图26所示,生成高桥君的用户标识符ID9
任用股长通过在实施方式1中说明的密钥移交方法对高桥君移交用户秘密密钥SK,高桥君使用所移交的用户秘密密钥SK,通过在实施方式3中说明的查询生成方法来生成检索查询QK。
另外,在人事科中新设置了审定股的情况下,如图26所示,生成审定股(审定股长)的用户标识符ID10
人事科长对审定股长移交用户秘密密钥SK,审定股长使用所移交的用户秘密密钥SK来生成检索查询。另外,审定股长使用所移交的用户秘密密钥SK,对审定股的各职员移交用户秘密密钥SK。
接下来,说明删除可检索的用户的方式。
为了删除可检索的用户,制作不能检索的用户的列表(删除者列表)即可。
图27是示出实施方式4中的删除者列表的一个例子的图。
例如,将图27所示那样的删除者列表存储到检索装置500的检索存储部590(检索标识符存储部的一个例子)。
删除者列表示出不能检索的用户(无检索权限的用户)的用户标识符ID(非检索标识符)的一览。
例如,在任用股的山田君调动到其他岗位的情况下,任用股长将山田君的用户标识符ID13输入到检索装置500,请求向删除者列表登记山田君。检索装置500的用户管理部(图示省略)通过将所输入的用户标识符ID13如图27所示追加到删除者列表,从而在删除者列表中登记山田君。
在人事科的培训股撤销的情况下,同样地,人事科长请求向删除者列表登记培训股,检索装置500的用户管理部将培训股的用户标识符ID37如图27所示追加到删除者列表。
另外,在山田君再次配属到任用股的情况下,任用股长将山田君的用户标识符ID13输入到检索装置500,请求从删除者列表进行删除。检索装置500的用户管理部从删除者列表删除所输入的用户标识符ID13
在人事科的培训股恢复了的情况下,同样地,人事科长请求从删除者列表进行删除,检索装置500的用户管理部从删除者列表删除培训股的用户标识符ID37
此时,为了防止来自他人的伪造的请求,也可以要求请求者输入电子签名。检索装置500的用户管理部通过以往的签名验证方法来验证所输入的电子签名,在电子签名正确的情况下接受请求。
图28是示出实施方式4中的检索装置500的检索方法的流程图。
根据图28,说明实施方式4中的检索装置500的检索方法。
在实施方式4中,除了在实施方式3中说明的处理(参照图25)以外,还执行S712和S713。
在S712中,检索查询输入部511判定检索查询QK中包含的用户标识符ID是否包含于删除者列表中。即,判定检索查询QK中包含的用户标识符ID是否与删除者列表中包含的用户标识符ID一致。
在用户标识符ID包含于删除者列表的情况下(“是”),结束检索方法的处理。
在用户标识符ID未包含于删除者列表的情况下(“否”),进入S713。
例如,在检索查询QK中包括山田君的用户标识符ID13的情况下,由于在图23的删除者列表中包括山田君的用户标识符ID13,所以结束检索方法的处理。
在该情况下,山田君无法使用检索装置500进行检索。
在S713中,检索查询输入部511判定比检索查询QK中包含的用户标识符ID靠上位的分层的用户标识符ID是否包含于删除者列表中。即,判定检索查询QK中包含的用户标识符ID是否包括删除者列表内的用户标识符ID。
在比用户标识符ID靠上位的分层的用户标识符包含于删除者列表中的情况下(“是”),结束检索方法的处理。
在比用户标识符ID靠上位的分层的用户标识符未包含于删除者列表的情况下(“否”),进入S711。
例如,在检索查询QK中包括培训股的职员的用户标识符ID的情况下,在图23的删除者列表中包括培训股的用户标识符ID37,所以结束检索方法的处理。
在该情况下,培训股的职员无法使用检索装置500进行检索。
另外,在删除者列表中包含的山田君对检索装置500发送检索查询时,还有可能冒充未删除的其他用户的姓名来进行检索请求。
但是,即使在该情况下,山田君仍无法检索发往任用股(或者还包括比其更宽范围的发往人事科、发往总务部、发往所有职员)的密文。
例如,在山田君使用佐藤君的姓名(用户标识符)进行了检索请求的情况下,山田君所属的任用股用的模式P2如图22所示,职员名的栏(第4分层)应成为通配符。
因此,在检索步骤中,进行密文的各要素中的与通配符对应的要素的“改写”。由于山田君使用了佐藤氏的姓名,所以密文的通配符以佐藤君的姓名而被改写。
另一方面,山田君发送的检索查询中包含的解密密钥dk是使用山田君的姓名而移交的密钥,在与姓名对应的部位中包括山田君的姓名。
这样,改写中使用的姓名(佐藤)和解密密钥中包含的姓名(山田)不同,所以即使假设关键字一致,在检索中也不会命中。
此处,在职员名的栏成为通配符的情况下进行了说明,但在其以外的栏成为通配符的情况下也是同样的。
因此,即使使用未删除的其他用户的姓名进行检索请求,也无法检索密文。
另外,如果使其相反,则即使在删除者列表中包括山田君,仍能够检索发往山田君的密文。
这是因为,在山田君用的模式(图22的模式P1)中不包括通配符。因此,不会发生密文的“改写”,山田君的解密密钥dk有效地发挥功能。
为此,如实施方式3也记载那样,构成为在山田君的检索查询中不包括用户标识符ID即可。
在本实施方式中,与实施方式3同样地,只要是“可移交的隐匿矢量密码”,就可以通过任意方式来实现。
根据本实施方式,能够对群组(分层)新追加用户或者下位群组,并使新追加的用户或者下位群组执行关键字检索。
另外,能够从群组删除用户或者下位群组,使得无法进行与其群组关联的关键字检索。
因此,能够灵活地对应于用户、群组的追加以及退出。
实施方式5.
说明删除者列表中包含的用户连发往个人的密文也无法检索的方式。
以下,主要说明与实施方式4不同的事项。关于省略说明的事项,与实施方式4相同。
图29是示出实施方式5中的用户标识符ID的一个例子的图。
如图29所示,在实施方式5中设置将职员(用户的一个例子)对应关联的多个分层。
例如,在山田君的用户标识符ID6中,在第4分层和第5分层这2个分层中包括“山田”。即,职员层被二重化。
图30是示出实施方式5中的模式P的一个例子的图。
如图30所示,在实施方式5中,在将职员对应关联的多个分层中的至少一个分层中设定通配符值“*”。
例如,在山田君用的模式P1中,作为第4分层的要素,包括通配符值“*”。
由此,能够实现用户的失效。这是因为,在该用户可检索的密文中一定包括通配符,在检索查询中一定包括用户标识符。另外,这是因为,如实施方式4所述,无法使用他人的姓名来作出检索查询。
因此,如果在删除者列表中记载了姓名,则该用户无法进行检索。即,该用户的检索权限失效。
在本实施方式中,在使比职员层靠上位的分层失效的情况下,复用该分层即可。另外,也可以预先复用所有的分层。
根据本实施方式,能够使用户或者群组失效使得无法进行关键字检索。
因此,能够灵活地对应于用户、群组的失效。

Claims (20)

1.一种密码系统,使用用户标识符ID,其中,该用户标识符ID包括在具有分层构造的组织内属于第k分层的特定用户的用户标识符作为识别第k分层的分层标识符,并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符,其中k是2以上的特定的整数,所述密码系统的特征在于,具备:
加密装置,输入要加密的明文数据M,对所输入的明文数据M进行加密来计算明文密码值C0,输入针对每个分层包括分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P,根据所输入的模式P将所述模式值是通配符值的分层判定为通配符分层,输入包含有包括与k个分层对应关联的k个密钥值H的H密钥值群的公开密钥PK,从所输入的公开密钥PK中包含的H密钥值群抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值,使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1,根据所输入的模式P将所述模式值是分层标识符的分层判定为识别分层,从所输入的公开密钥PK中包含的H密钥值群抽出与所述识别分层对应关联的密钥值H作为识别密钥值,使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3,生成包括所计算的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W的密文数据CT,输出所生成的密文数据CT;以及
解密装置,输入所述密文数据CT和所述用户标识符ID,根据所输入的密文数据CT中包含的通配符分层值W,从所输入的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所输入的密文数据CT中包含的通配符密码值C1以及识别密码值C3,对所输入的密文数据CT中包含的明文密码值C0进行解密,输出对所述明文密码值C0进行解密而得到的所述明文数据M。
2.根据权利要求1所述的密码系统,其特征在于,
所述公开密钥PK包含有包括与k个分层对应关联的k个密钥值H’的H’密钥值群,
所述加密装置从所输入的公开密钥PK中包含的H’密钥值群抽出与所述通配符分层对应关联的密钥值H’作为第2通配符密钥值,使用所抽出的第2通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1’,从所输入的公开密钥PK中包含的H’密钥值群抽出与所述识别分层对应关联的密钥值H’作为第2识别密钥值,使用所抽出的第2识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3’,包括所计算的通配符密码值C1’和识别密码值C3’地输出所述密文数据CT,
所述解密装置使用所抽出的通配符标识符、所输入的密文数据CT中包含的通配符密码值C1、识别密码值C3、通配符密码值C1’以及识别密码值C3’,对所输入的密文数据CT中包含的明文密码值C0进行解密。
3.根据权利要求1所述的密码系统,其特征在于,
所述加密装置还对特定的明文数据MW进行加密来计算明文密码值CW0,输入所述密文数据CT的检索中使用的关键字KW,使用包括所述模式P并且将所述关键字KW作为识别第K+1分层的分层标识符来包括的模式PW,计算通配符密码值CW1和识别密码值CW3,将包括所计算的明文密码值CW0、通配符密码值CW1以及识别密码值CW3的密文数据CTW与所述密文数据CT对应关联地进行输出,
所述密码系统还具备:
检索查询生成装置,输入所述用户标识符ID和所述关键字KW,使用所输入的用户标识符ID和关键字KW来计算所述明文密码值CW0的解密中使用的密钥值y0,生成包括所计算的密钥值y0和所述用户标识符ID的检索查询QK,输出所生成的检索查询QK;以及
检索装置,具有将多个密文数据CT和多个密文数据CTW对应关联地进行存储的密文存储部,其中,
所述检索装置输入所述检索查询QK和所述通配符分层值W,从所述密文存储部选择密文数据CTW,根据所输入的通配符分层值W,从所输入的检索查询QK中包含的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所选择的密文数据CTW中包含的通配符密码值CW1、识别密码值CW3以及所输入的检索查询QK中包含的密钥值y0,对所选择的密文数据CTW中包含的明文密码值CW0进行解密,判定对所述明文密码值CW0进行解密而得到的解密数据是否与所述明文数据MW一致,在所述解密数据与所述明文数据MW一致的情况下,从所述密文存储部取得与所选择的密文数据CTW对应的密文数据CT,将所取得的密文数据CT作为针对所输入的检索查询QK的检索结果而输出。
4.根据权利要求3所述的密码系统,其特征在于,
所述加密装置计算所述密文数据CT的散列值作为所述明文数据MW,对所计算的明文数据MW进行加密而计算所述明文密码值CW0
所述检索装置计算与所选择的密文数据CTW对应的密文数据CT的散列值作为所述明文数据MW,判定所述解密数据是否与所计算的明文数据MW一致。
5.根据权利要求3所述的密码系统,其特征在于,
所述加密装置预先存储规定的检索常数作为所述明文数据MW,对预先存储的检索常数进行加密而计算所述明文密码值CW0
所述检索装置预先存储所述检索常数作为所述明文数据MW,判定所述解密数据是否与所述检索常数一致。
6.根据权利要求3所述的密码系统,其特征在于,
所述检索装置具备非检索标识符存储部,该非检索标识符存储部存储没有进行检索的权限的用户的用户标识符ID作为非检索标识符,
所述检索装置判定所输入的检索查询QK中包含的用户标识符ID和所述非检索标识符存储部中存储的非检索标识符是否一致,在所述用户标识符ID和所述非检索标识符一致的情况下不输出所述检索结果。
7.根据权利要求3所述的密码系统,其特征在于,
所述检索装置具备非检索标识符存储部,该非检索标识符存储部存储比没有进行检索的权限的用户所属的分层靠上位的分层的分层标识符作为非检索标识符,
所述检索装置判定在所输入的检索查询QK中包含的用户标识符ID中是否包括所述非检索标识符存储部中存储的非检索标识符,在所述用户标识符ID中包括所述非检索标识符的情况下不输出所述检索结果。
8.根据权利要求3所述的密码系统,其特征在于,
所述用户标识符ID包括所述特定的用户的第1用户标识符作为识别第k分层的分层标识符,并且包括所述特定的用户的第2用户标识符作为识别第k+1分层的分层标识符,
所述公开密钥PK中包含的H密钥值群包括与k+1个分层对应关联的k+1个密钥值H,
所述模式P包括通配符值作为第k分层和第k+1分层中的至少某一个分层的模式值。
9.一种密码系统的密码处理方法,该密码系统使用用户标识符ID,其中,该用户标识符ID包括在具有分层构造的组织内属于第k分层的特定用户的用户标识符作为识别第k分层的分层标识符,并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符,其中k是2以上的特定的整数,所述密码系统的密码处理方法的特征在于,
加密装置输入要加密的明文数据M,对所输入的明文数据M进行加密来计算明文密码值C0,输入针对每个分层包括分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P,根据所输入的模式P将所述模式值是通配符值的分层判定为通配符分层,输入包含有包括与k个分层对应关联的k个密钥值H的H密钥值群的公开密钥PK,从所输入的公开密钥PK中包含的H密钥值群抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值,使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1,根据所输入的模式P将所述模式值是分层标识符的分层判定为识别分层,从所输入的公开密钥PK中包含的H密钥值群抽出与所述识别分层对应关联的密钥值H作为识别密钥值,使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3,输出包括所计算的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W的密文数据CT,
解密装置输入所述密文数据CT和所述用户标识符ID,根据所输入的密文数据CT中包含的通配符分层值W,从所输入的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所输入的密文数据CT中包含的通配符密码值C1以及识别密码值C3,对所输入的密文数据CT中包含的明文密码值C0进行解密,输出对所述明文密码值C0进行解密而得到的所述明文数据M。
10.根据权利要求9所述的密码系统的密码处理方法,其特征在于,
所述加密装置还对特定的明文数据MW进行加密来计算明文密码值CW0,输入所述密文数据CT的检索中使用的关键字KW,使用包括所述模式P并且将所述关键字KW作为识别第K+1分层的分层标识符来包括的模式PW,计算通配符密码值CW1和识别密码值CW3,将包括所计算的明文密码值CW0、通配符密码值CW1以及识别密码值CW3的密文数据CTW与所述密文数据CT对应关联地进行输出,
检索查询生成装置输入所述用户标识符ID和所述关键字KW,使用所输入的用户标识符ID和关键字KW来计算所述明文密码值CW0的解密中使用的密钥值y0,输出包括所计算的密钥值y0和所述用户标识符ID的检索查询QK,
检索装置具有将多个密文数据CT和多个密文数据CTW对应关联地进行存储的密文存储部,
所述检索装置输入所述检索查询QK和所述通配符分层值W,从所述密文存储部选择密文数据CTW,根据所输入的通配符分层值W,从所输入的检索查询QK中包含的用户标识符ID抽出所述通配符分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所选择的密文数据CTW中包含的通配符密码值CW1、识别密码值CW3以及所输入的检索查询QK中包含的密钥值y0,对所选择的密文数据CTW中包含的明文密码值CW0进行解密,判定对所述明文密码值CW0进行解密而得到的解密数据是否与所述明文数据MW一致,在所述解密数据与所述明文数据MW一致的情况下,从所述密文存储部取得与所选择的密文数据CTW对应的密文数据CT,将所取得的密文数据CT作为针对所输入的检索查询QK的检索结果而输出。
11.一种加密装置,其特征在于,具备:
加密输入部,输入要加密的明文数据M,输入包含有包括与k个分层对应关联的k个密钥值H的H密钥值群的公开密钥PK,输入针对每个分层包括识别分层的分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P,其中k是2以上的特定的整数;
密码值计算部,对所述加密输入部所输入的明文数据M进行加密而计算明文密码值C0,根据所述加密输入部输入的模式P将所述模式值是通配符值的分层判定为通配符分层,从所述加密输入部所输入的公开密钥PK中包含的H密钥值群抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值,使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1,根据所述模式P将所述模式值是分层标识符的分层判定为识别分层,从所述公开密钥PK中包含的H密钥值群抽出与所述识别分层对应关联的密钥值H作为识别密钥值,使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3;以及
密文输出部,生成包括由所述密码值计算部计算的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W的密文数据CT,输出所生成的密文数据CT。
12.一种加密程序,其特征在于,使计算机执行:
加密输入处理,输入要加密的明文数据M,输入包含有包括与k个分层对应关联的k个密钥值H的H密钥值群的公开密钥PK,输入针对每个分层包括识别分层的分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P,其中k是2以上的特定的整数;
密码值计算处理,对通过所述加密输入处理输入的明文数据M进行加密而计算明文密码值C0,根据通过所述加密输入处理输入的模式P将所述模式值是通配符值的分层判定为通配符分层,从通过所述加密输入处理输入的公开密钥PK中包含的H密钥值群抽出与所述通配符分层对应关联的密钥值H作为通配符密钥值,使用所抽出的通配符密钥值来计算所述明文密码值C0的解密中使用的通配符密码值C1,根据所述模式P将所述模式值是分层标识符的分层判定为识别分层,从所述公开密钥PK中包含的H密钥值群抽出与所述识别分层对应关联的密钥值H作为识别密钥值,使用所抽出的识别密钥值来计算所述明文密码值C0的解密中使用的识别密码值C3;以及
密文输出处理,生成包括通过所述密码值计算处理计算的明文密码值C0、通配符密码值C1以及识别密码值C3并且包括表示所述通配符分层的通配符分层值W的密文数据CT,输出所生成的密文数据CT。
13.一种解密装置,使用用户标识符ID,其中,该用户标识符ID包括在具有分层构造的组织内属于第k分层的特定用户的用户标识符作为识别第k分层的分层标识符,并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符,其中k是2以上的特定的整数,所述解密装置的特征在于,具备:
解密输入部,输入使用针对每个分层包括分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P而生成的密文数据CT,输入所述用户标识符ID,其中,所述密文数据CT包括对明文数据M进行加密而得到的明文密码值C0、特定的通配符密码值C1以及特定的识别密码值C3并且包括表示所述模式P中包含的模式值是通配符值的分层的通配符分层值W;以及
解密部,根据所述解密输入部所输入的密文数据CT,从所述解密输入部所输入的用户标识符ID抽出通过所述通配符分层值W表示的分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所述密文数据CT中包含的通配符密码值C1以及识别密码值C3,对所述密文数据CT中包含的明文密码值C0进行解密,输出对所述明文密码值C0进行解密而得到的所述明文数据M。
14.一种解密程序,使用用户标识符ID,其中,该用户标识符ID包括在具有分层构造的组织内属于第k分层的特定用户的用户标识符作为识别第k分层的分层标识符,并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符,其中k是2以上的特定的整数,所述解密程序的特征在于,使计算机执行:
解密输入处理,输入使用针对每个分层包括分层标识符、意味着任意的用户的通配符值以及意味着不需要的分层的空栏值中的某一个作为模式值的模式P而生成的密文数据CT,输入所述用户标识符ID,其中,所述密文数据CT包括对明文数据M进行加密而得到的明文密码值C0、特定的通配符密码值C1以及特定的识别密码值C3并且包括表示所述模式P中包含的模式值是通配符值的分层的通配符分层值W;以及
解密处理,根据通过所述解密输入处理输入的密文数据CT,从通过所述解密输入处理输入的用户标识符ID抽出通过所述通配符分层值W表示的分层的分层标识符作为通配符标识符,使用所抽出的通配符标识符、所述密文数据CT中包含的通配符密码值C1以及识别密码值C3,对所述密文数据CT中包含的明文密码值C0进行解密,输出对所述明文密码值C0进行解密而得到的所述明文数据M。
15.一种设置装置,生成属于具有L个分层的组织的用户的公开密钥PK,其中L是2以上的特定的整数,其特征在于,具备:
要素值选择部,计算以素数p与素数q之积n为位数且包括n个要素值的循环群G,从构成计算出的循环群G的一部分且以素数p为位数的部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h,从所述部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h’,从构成计算出的循环群G的一部分且以素数q为位数的部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R,从所述部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R’;
公开密钥值计算部,将由所述要素值选择部选择的L个密钥值h和L个密钥值R针对每个分层进行相乘来计算与L个分层对应关联的L个密钥值H作为H密钥值群,将由所述要素值选择部选择的L个密钥值h’和L个密钥值R’针对每个分层进行相乘来计算与L个分层对应关联的L个密钥值H’作为H’密钥值群;以及
公开密钥生成部,生成包括由所述公开密钥值计算部计算的H密钥值群和H’密钥值群的公开密钥PK。
16.一种设置程序,生成属于具有L个分层的组织的用户的公开密钥PK,其中L是2以上的特定的整数,其特征在于,使计算机执行:
要素值选择处理,计算以素数p与素数q之积n为位数且包括n个要素值的循环群G,从构成计算出的循环群G的一部分且以素数p为位数的部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h,从所述部分群Gp,与L个分层对应关联地选择L个要素值作为L个密钥值h’,从构成计算出的循环群G的一部分且以素数q为位数的部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R,从所述部分群Gq,与L个分层对应关联地选择L个要素值作为L个密钥值R’;
公开密钥值计算处理,将通过所述要素值选择处理选择的L个密钥值h和L个密钥值R针对每个分层进行相乘来计算与L个分层对应关联的L个密钥值H作为H密钥值群,将通过所述要素值选择处理选择的L个密钥值h’和L个密钥值R’针对每个分层进行相乘来计算与L个分层对应关联的L个密钥值H’作为H’密钥值群;以及
公开密钥生成处理,生成包括通过所述公开密钥值计算处理计算的H密钥值群和H’密钥值群的公开密钥PK。
17.一种密钥生成装置,生成在具有分层构造的组织内属于第k分层的特定用户的用户秘密密钥SK,其中k是2以上的特定的整数,其特征在于,具备:
密钥生成输入部,输入包括所述特定用户的用户标识符作为识别第k分层的分层标识符并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符ID,输入包含有h密钥值群和h’密钥值群的主秘密密钥MSK,其中,所述h密钥值群包括与k个分层对应关联的k个密钥值h,所述h’密钥值群包括与k个分层对应关联的k个密钥值h’;
用户秘密密钥值计算部,使用所述密钥生成输入部所输入的用户标识符ID和主秘密密钥MSK来计算密文数据CT的解密中使用的密钥值a0;以及
用户秘密密钥生成部,生成包括由所述用户秘密密钥值计算部计算的密钥值a0的用户秘密密钥SK,输出所生成的用户秘密密钥SK。
18.一种密钥生成程序,生成在具有分层构造的组织内属于第k分层的特定用户的用户秘密密钥SK,其中k是2以上的特定的整数,其特征在于,使计算机执行:
密钥生成输入处理,输入包括所述特定用户的用户标识符作为识别第k分层的分层标识符并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符ID,输入包含有h密钥值群和h’密钥值群的主秘密密钥MSK,其中,所述h密钥值群包括与k个分层对应关联的k个密钥值h,所述h’密钥值群包括与k个分层对应关联的k个密钥值h’;
用户秘密密钥值计算处理,使用通过所述密钥生成输入处理输入的用户标识符ID和主秘密密钥MSK来计算密文数据CT的解密中使用的密钥值a0;以及
用户秘密密钥生成处理,生成包括通过所述用户秘密密钥值计算处理计算的密钥值a0的用户秘密密钥SK,输出所生成的用户秘密密钥SK。
19.一种密钥移交装置,生成在具有分层构造的组织内属于第k分层的用户j的用户秘密密钥SKj,其中k是2以上的特定的整数,其特征在于,具备:
密钥移交输入部,输入包括所述用户j的用户标识符作为识别第k分层的分层标识符并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符IDj,输入属于第k-1分层的用户i的用户秘密密钥SKi,其中,该用户秘密密钥SKi包括密文数据CT的解密中使用的密钥值a0
移交密钥值计算部,使用所述密钥移交输入部所输入的用户标识符IDj和用户秘密密钥SKi来计算所述密文数据CT的解密中使用的密钥值x0;以及
移交密钥生成部,生成包括由所述移交密钥值计算部计算的密钥值x0的用户秘密密钥SKj,输出所生成的用户秘密密钥SKj
20.一种密钥移交程序,生成在具有分层构造的组织内属于第k分层的用户j的用户秘密密钥SKj,其中k是2以上的特定的整数,其特征在于,使计算机执行:
密钥移交输入处理,输入包括所述用户j的用户标识符作为识别第k分层的分层标识符并且包括对第1分层至第k-1分层的分层进行识别的k-1个分层标识符的用户标识符IDj,输入属于第k-1分层的用户i的用户秘密密钥SKi,其中,该用户秘密密钥SKi包括密文数据CT的解密中使用的密钥值a0
移交密钥值计算处理,使用通过所述密钥移交输入处理输入的用户标识符IDj和用户秘密密钥SKi来计算所述密文数据CT的解密中使用的密钥值x0;以及
移交密钥生成处理,生成包括通过所述移交密钥值计算处理计算的密钥值x0的用户秘密密钥SKj,输出所生成的用户秘密密钥SKj
CN201180065310.6A 2011-01-18 2011-01-18 密码系统以及密码系统的密码处理方法 Expired - Fee Related CN103329478B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/050778 WO2012098649A1 (ja) 2011-01-18 2011-01-18 暗号システム、暗号システムの暗号処理方法、暗号化装置、暗号化プログラム、復号装置、復号プログラム、セットアップ装置、セットアッププログラム、鍵生成装置、鍵生成プログラム、鍵委譲装置および鍵委譲プログラム

Publications (2)

Publication Number Publication Date
CN103329478A true CN103329478A (zh) 2013-09-25
CN103329478B CN103329478B (zh) 2015-11-25

Family

ID=46515301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180065310.6A Expired - Fee Related CN103329478B (zh) 2011-01-18 2011-01-18 密码系统以及密码系统的密码处理方法

Country Status (5)

Country Link
US (1) US9276746B2 (zh)
EP (1) EP2667538A4 (zh)
JP (1) JP5501482B2 (zh)
CN (1) CN103329478B (zh)
WO (1) WO2012098649A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005406A (zh) * 2014-12-05 2017-08-01 三菱电机株式会社 加密系统、主密钥更新装置和主密钥更新程序
CN111602127A (zh) * 2018-01-17 2020-08-28 三菱电机株式会社 数据管理装置、检索装置、登记装置、数据管理方法和数据管理程序

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130040065A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 전자 장치 및 그 암호화 방법
US9391965B2 (en) 2012-01-25 2016-07-12 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program, and information processing device
JP5447544B2 (ja) * 2012-01-27 2014-03-19 沖電気工業株式会社 委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システム
US9256764B2 (en) * 2012-08-15 2016-02-09 Visa International Service Association Searchable encrypted data
KR101493212B1 (ko) * 2012-10-31 2015-02-23 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
JP5836506B2 (ja) * 2013-01-12 2015-12-24 三菱電機株式会社 鍵生成装置、鍵生成プログラム、秘匿検索システム及び鍵配布方法
WO2014112170A1 (ja) 2013-01-16 2014-07-24 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
EP2960808A4 (en) 2013-02-25 2016-10-26 Mitsubishi Electric Corp SERVER DEVICE, PRIVATE SEARCH PROGRAM, RECORDING MEDIA AND PRIVATE SEARCH SYSTEM
US10592682B2 (en) * 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
US10097522B2 (en) * 2015-05-21 2018-10-09 Nili Philipp Encrypted query-based access to data
WO2017139592A1 (en) * 2016-02-12 2017-08-17 Genosecurity, LLC Security enhanced portable data store and processor for allowing secure and selective access to genomic data
JP6326176B1 (ja) * 2016-08-29 2018-05-16 有限会社 アドリブ Id管理装置、id管理方法、コンピュータプログラム
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
CA3067504A1 (en) 2017-07-18 2019-01-24 Legic Identsystems Ag Method and devices for verifying authorization of an electronic device
JP7295818B2 (ja) * 2020-02-06 2023-06-21 Kddi株式会社 暗号化装置、復号装置、暗号化方法及び暗号化プログラム
CN112668042B (zh) * 2020-12-16 2022-12-02 西安电子科技大学 一种文件加密方法
CN113824559B (zh) * 2021-09-29 2023-05-12 福建师范大学 基于sm9的高效分层加密方法
CN114285609B (zh) * 2021-12-10 2024-02-13 中国联合网络通信集团有限公司 加密方法、装置、设备及存储介质
CN116305225B (zh) * 2023-05-24 2023-08-18 山东梧桐树软件有限公司 一种用于网上支付过程中的用户数据加密保护方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165275A (ja) * 2009-01-19 2010-07-29 Mitsubishi Electric Corp データ格納システム及び情報送信装置及びサーバ装置
JP2010273317A (ja) * 2009-04-23 2010-12-02 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
WO2005112078A1 (en) 2004-05-19 2005-11-24 Epivalley Co., Ltd. METHOD FOR MATERIAL GROWTH OF GaN-BASED NITRIDE LAYER
US7620625B2 (en) 2004-05-20 2009-11-17 Ntt Docomo, Inc. Method and apparatus for communication efficient private information retrieval and oblivious transfer
US8065332B2 (en) 2005-05-19 2011-11-22 Ntt Docomo, Inc. Method and apparatus for communication efficient private information retrieval and oblivious transfer
WO2008066671A2 (en) * 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
JP2008176040A (ja) 2007-01-18 2008-07-31 Hirokazu Ogi 鍵管理方法、鍵生成方法、暗号処理方法、復号権限委譲方法、通信ネットワークシステム
JP2008288837A (ja) 2007-05-17 2008-11-27 Hirokazu Ogi 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム
US20090019751A1 (en) 2007-07-20 2009-01-22 Goetting Thomas J Removably attachable card and card retaining device
JP5134555B2 (ja) * 2009-01-07 2013-01-30 日本電信電話株式会社 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体
JP2010160235A (ja) 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> 検索システム、端末装置、データベース装置、検索方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165275A (ja) * 2009-01-19 2010-07-29 Mitsubishi Electric Corp データ格納システム及び情報送信装置及びサーバ装置
JP2010273317A (ja) * 2009-04-23 2010-12-02 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAE HONG SEO等: "Anonymous Hierarchical Identity-Based Encryption with Constant Size Ciphertexts", 《12TH INTERNATIONAL CONFERENCE ON PRACTICE AND THEORY IN PUBLIC KEY CRYPTOGRAPHY - PKC 2009》, 20 March 2009 (2009-03-20) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005406A (zh) * 2014-12-05 2017-08-01 三菱电机株式会社 加密系统、主密钥更新装置和主密钥更新程序
CN107005406B (zh) * 2014-12-05 2020-07-17 三菱电机株式会社 函数型加密系统、主密钥更新装置和存储介质
CN111602127A (zh) * 2018-01-17 2020-08-28 三菱电机株式会社 数据管理装置、检索装置、登记装置、数据管理方法和数据管理程序
CN111602127B (zh) * 2018-01-17 2023-05-16 三菱电机株式会社 数据管理装置、数据管理方法和计算机能读取的存储介质

Also Published As

Publication number Publication date
JP5501482B2 (ja) 2014-05-21
CN103329478B (zh) 2015-11-25
US20130287206A1 (en) 2013-10-31
WO2012098649A1 (ja) 2012-07-26
EP2667538A4 (en) 2017-08-16
EP2667538A1 (en) 2013-11-27
JPWO2012098649A1 (ja) 2014-06-09
US9276746B2 (en) 2016-03-01

Similar Documents

Publication Publication Date Title
CN103329478B (zh) 密码系统以及密码系统的密码处理方法
CN111835500B (zh) 基于同态加密与区块链的可搜索加密数据安全共享方法
CN104363215B (zh) 一种基于属性的加密方法和系统
Song et al. Efficient Attribute‐Based Encryption with Privacy‐Preserving Key Generation and Its Application in Industrial Cloud
Ali et al. Lightweight revocable hierarchical attribute-based encryption for internet of things
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN107222483A (zh) 一种多访问级别的电子文档网络存储管理的方法
Saini et al. Triple security of data in cloud computing
CN111274594B (zh) 一种基于区块链的安全大数据隐私保护共享方法
CN106549753A (zh) 一种基于身份的支持密文比较的加密方案
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
CN112989375A (zh) 一种分级优化加密无损隐私保护方法
CN109688143A (zh) 一种面向云环境中隐私保护的聚类数据挖掘方法
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
Zou et al. Highly secure privacy‐preserving outsourced k‐means clustering under multiple keys in cloud computing
CN112804052B (zh) 一种基于合数阶群的用户身份加密方法
Jamil et al. Cyber Security for Medical Image Encryption using Circular Blockchain Technology Based on Modify DES Algorithm.
CN103220130A (zh) 数字混沌保密通信的加密及解密方法
Kim et al. Scalable wildcarded identity-based encryption
CN114629640A (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法
CN104135495A (zh) 具有隐私保护的无中央机构的密文政策的属性基加密方法
CN115442102B (zh) 一种基于sm9算法的等式测试方法
Taylor et al. Security approaches and crypto algorithms in mobile cloud storage environment to ensure data security
CN113691371B (zh) 区块链上基于身份的环签密方法
AU2021107080A4 (en) A system and method for storing user’s data securely in a cloud storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20200118

CF01 Termination of patent right due to non-payment of annual fee