CN110169010B - 同态运算装置、加密系统和计算机能读取的存储介质 - Google Patents

同态运算装置、加密系统和计算机能读取的存储介质 Download PDF

Info

Publication number
CN110169010B
CN110169010B CN201780082960.9A CN201780082960A CN110169010B CN 110169010 B CN110169010 B CN 110169010B CN 201780082960 A CN201780082960 A CN 201780082960A CN 110169010 B CN110169010 B CN 110169010B
Authority
CN
China
Prior art keywords
ciphertext
encryption
encryption element
homomorphic
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780082960.9A
Other languages
English (en)
Other versions
CN110169010A (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 CN110169010A publication Critical patent/CN110169010A/zh
Application granted granted Critical
Publication of CN110169010B publication Critical patent/CN110169010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

加密装置(30)生成密文ct,该密文ct包含设定了明文μ的加密元素C、设定了属性x的加密元素Cx和设定了明文μ且无法利用与属性x满足的策略f对应的解密密钥skf进行解密的加密元素F。同态运算装置(40)利用加密元素F将密文ct中包含的加密元素C,转换成能够利用与由策略取得部取得的策略集合F对应的解密密钥skF进行解密的加密元素C,由此将密文ct转换成密文ct。同态运算装置(40)对密文ct进行同态运算g而生成密文ct*

Description

同态运算装置、加密系统和计算机能读取的存储介质
技术领域
本发明涉及在加密的状态下对数据进行运算的技术。
背景技术
同态加密是能够在加密的状态下对数据进行运算的加密技术。近来,云服务的使用不断扩大,但由于担心破解和云的可靠性,考虑对数据进行加密之后保管在云中。同态加密是如下技术:由于能够针对加密后的数据实施运算而不进行解密,因此,能够在不损害安全性的情况下利用云服务。
能够按照指定的条件灵活地控制解密者以提高同态加密的便利性的加密技术是基于属性的同态加密。在基于属性的同态加密中,仅在密文与某个属性相关且解密密钥与某个解密许可条件相关,并且使用属性满足解密许可条件的密钥对密文进行解密时,能够得到准确的明文。
在非专利文献1中记载有基于属性的同态加密的最初的方式。在非专利文献1记载的方式中,存在只能在与同一属性有关的密文彼此之间进行同态运算这样的课题。
在非专利文献2中记载有解决了非专利文献1的课题的基于属性的同态加密方式。
在非专利文献2中示出被称作基于单一目标属性的同态加密和基于多个目标属性的同态加密的2个加密技术的结构。基于单一目标属性的同态加密是如下加密方式:针对某一个解密许可条件,如果是与满足该条件的属性有关的密文彼此,则能够进行同态运算。基于多个目标属性的同态加密是如下加密方式:针对多个解密许可条件,如果是与满足任意条件的属性有关的密文彼此,则能够进行同态运算。
现有技术文献
非专利文献
非专利文献1:C.Gentry,A.Sahai,and B.Waters.“Homomorphic Encryptionfrom Learning with Errors:Conceptually-Simpler,Asymptotically-Faster,Attribute-Based”.In CRYPTO 2013,pages 75-92,2013.
非专利文献2:Z.Brakerski,D.Cash,R.Tsabary,and H.Wee.“TargetedHomomorphic Attribute Based Encryption”.In TCC 2016-B,pages 330-360,2016.
非专利文献3:C.Peikert,and S.Shiehian“Multi-Key FHE from LWE,Revisited”2016
发明内容
发明要解决的课题
在非专利文献2所示的基于多个目标属性的同态加密中,对作为运算对象的密文X进行同态运算而得到的密文Y,与能够对作为运算对象的密文X进行解密的解密许可条件的集合F相关联。只要在使用密文Y再次与另一同态运算前的密文Z进行同态运算时,密文Z的解密许可条件不包含在与密文Y相关联的解密许可条件的集合F中,则无法进行同态运算。
因此,需要根据密文X、Y、Z的解密许可条件,事先收集全部密文X、Y、Z,一次进行同态运算。因此,例如在对加密后的时间序列数据进行同态运算时,需要用于事先收集并保持用于运算的全部时间序列数据的庞大存储容量。
本发明的目的在于能够进行灵活的同态运算。
用于解决课题的手段
本发明的同态运算装置具有;
密文取得部,其取得密文ct,该密文ct包含设定了明文μ的加密元素C、设定了属性x的加密元素Cx和设定了所述明文μ且无法利用与所述属性x满足的策略f对应的解密密钥skf进行解密的加密元素F;
策略取得部,其取得作为策略的集合的策略集合F;
密文转换部,其利用所述加密元素F将由所述密文取得部取得的所述密文ct中包含的所述加密元素C,转换成能够利用与由所述策略取得部取得的所述策略集合F对应的解密密钥skF进行解密的加密元素C,由此将所述密文ct转换成密文ct;以及
同态运算部,其对由所述密文转换部转换后的所述密文ct进行同态运算g而生成密文ct*
发明效果
在本发明中,使用加密元素F将加密元素C转换成加密元素C。由此,能够在不将加密元素C内的元素与策略集合F相关联的情况下进行同态运算。因此,能够将密文ct*作为输入再次进行灵活的同态运算。
附图说明
图1是实施方式1的密码系统10的结构图。
图2是实施方式1的密钥生成装置20的结构图。
图3是实施方式1的加密装置30的结构图。
图4是实施方式1的同态运算装置40的结构图。
图5是实施方式1的解密装置50的结构图。
图6是实施方式1的Setup处理的流程图。
图7是实施方式1的KeyGen处理的流程图。
图8是实施方式1的Enc处理的流程图。
图9是实施方式1的Eval处理的流程图。
图10是实施方式1的Dec处理的流程图。
图11是变形例1的密钥生成装置20的结构图。
图12是变形例1的加密装置30的结构图。
图13是变形例1的同态运算装置40的结构图。
图14是变形例1的解密装置50的结构图。
具体实施方式
实施方式1
***结构的说明***
参照图1,说明实施方式1的加密系统10的结构。
加密系统10具有密钥生成装置20、加密装置30、同态运算装置40和解密装置50。
密钥生成装置20、加密装置30、同态运算装置40和解密装置50经由网络60连接。作为具体例,网络60是互联网。网络60也可以是LAN(Local Area Network:局域网)这样的其它种类的网络。
参照图2,说明实施方式1的密钥生成装置20的结构。
密钥生成装置20是计算机。
密钥生成装置20具有处理器21、内存22、存储器23和通信接口24这样的硬件。处理器21经由信号线而与其它硬件连接,对这些其它硬件进行控制。
密钥生成装置20作为功能结构要素具有取得部211、主密钥生成部212、解密密钥生成部213和输出部214。通过软件实现取得部211、主密钥生成部212、解密密钥生成部213和输出部214的功能。
存储器23中存储有实现取得部211、主密钥生成部212、解密密钥生成部213和输出部214的功能的程序。该程序被处理器21读入到内存22中,由处理器21执行。由此,实现取得部211、主密钥生成部212、解密密钥生成部213和输出部214的功能。
此外,存储器23实现主密钥存储部231的功能。
参照图3,说明实施方式1的加密装置30的结构。
加密装置30是计算机。
加密装置30具有处理器31、内存32、存储器33和通信接口34这样的硬件。处理器31经由信号线而与其它硬件连接,对这些其它硬件进行控制。
加密装置30作为功能结构要素具有取得部311、加密部312和输出部313。通过软件实现取得部311、加密部312和输出部313的功能。
存储器33中存储有实现取得部311、加密部312和输出部313的功能的程序。该程序被处理器31读入到内存32中,由处理器31执行。由此,实现取得部311、加密部312和输出部313的功能。
此外,存储器33实现公开参数存储部331的功能。
参照图4,说明实施方式1的同态运算装置40的结构。
同态运算装置40是计算机。
同态运算装置40具有处理器41、内存42、存储器43和通信接口44这样的硬件。处理器41经由信号线而与其它硬件连接,对这些其它硬件进行控制。
同态运算装置40作为功能结构要素具有取得部411、密文转换部412、同态运算部413和输出部414。取得部411具有公开参数取得部415、密文取得部416、策略取得部417和运算取得部418。通过软件实现取得部411、密文转换部412、同态运算部413、输出部414、公开参数取得部415、密文取得部416、策略取得部417和运算取得部418的功能。
存储器43中存储有实现取得部411、密文转换部412、同态运算部413、输出部414、公开参数取得部415、密文取得部416、策略取得部417和运算取得部418的功能的程序。该程序被处理器41读入到内存42中,由处理器41执行。由此,实现取得部411、密文转换部412、同态运算部413、输出部414、公开参数取得部415、密文取得部416、策略取得部417和运算取得部418的功能。
此外,存储器43实现公开参数存储部431和密文存储部432的功能。
参照图5,说明实施方式1的解密装置50的结构。
解密装置50是计算机。
解密装置50具有处理器51、内存52、存储器53和通信接口54这样的硬件。处理器51经由信号线而与其它硬件连接,对这些其它硬件进行控制。
解密装置50作为功能结构要素具有取得部511、解密部512和输出部513。通过软件实现取得部511、解密部512和输出部513的功能。
存储器53中存储有实现取得部511、解密部512和输出部513的功能的程序。该程序被处理器51读入到内存52中,由处理器51执行。由此,实现取得部511、解密部512和输出部513的功能。
此外,存储器53实现密钥存储部531、条件存储部532和结果存储部533的功能。
处理器21、31、41、51是进行运算处理的IC(Integrated Circuit:集成电路)。作为具体例,处理器21、31、41、51是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)和GPU(Graphics Processing Unit:图形处理单元)。
内存22、32、42、52是临时存储数据的存储装置。作为具体例,内存22、32、42、52是SRAM(Static Random Access Memory:静态随机存取存储器)和DRAM(Dynamic RandomAccess Memory:动态随机存取存储器)。
存储器23、33、43、53是保管数据的存储装置。作为具体例,存储器23、33、43、53是HDD(Hard Disk Drive:硬盘驱动器)。此外,存储器23、33、43、53也可以是SD(注册商标,Secure Digital:安全数字)存储卡、CF(CompactFlash:致密闪存)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(Digital Versatile Disk:数字多功能盘)这样的移动存储介质。
通信接口24、34、44、54是用于与外部装置进行通信的接口。作为具体例,通信接口24、34、44、54是Ethernet(注册商标)、USB(Universal Serial Bus:通用串行总线)、HDMI(注册商标,High-Definition Multimedia Interface:高清晰度多媒体接口)的端口。
在图2中,仅示出一个处理器21。但是,密钥生成装置20也可以具有替代处理器21的多个处理器。同样,也可以是,加密装置30具有替代处理器31的多个处理器,同态运算装置40具有替代处理器41的多个处理器,解密装置50具有替代处理器51的多个处理器。该多个处理器分担执行实现各功能结构要素的功能的程序。与处理器21、31、41、51同样,各个处理器是进行运算处理的IC。
***动作的说明***
参照图6~图10,说明实施方式1的加密系统10的动作。
实施方式1的加密系统10的动作相当于实施方式1的加密方法。并且,相当于实施方式1的加密程序的处理。
加密系统10的动作可分成Setup处理、KeyGen处理、Enc处理、Eval处理和Dec处理。
在以下的说明中,以与非专利文献2记载的内容不同的部分为中心进行说明,由于与非专利文献2记载的内容相同的部分是公知的内容,因此,省略一部分的说明。
对以下说明中的符号进行说明。
n、q、χ是LWE(Learning With Errors:容错学习)问题中的参数。LWE问题是公知的问题。Decisional LWE问题(DLWE问题)如下进行定义。
<DLWE问题>
λ是安全性参数,n=n(λ)和q=q(λ)是整数,χ=χ(λ)是整数Z上的概率分布。在设为式11的情况下,DLWEn,q,χ问题针对全部m=poly(n),在计算上无法区分(A,sTA+eT)和(A,uT)。
[式11]
Figure GDA0002124945770000061
m、N、M、gT如式12所示。
[式12]
m=O(n log q),
Figure GDA0002124945770000071
Figure GDA0002124945770000072
Figure GDA0002124945770000073
针对任意的x∈Zq,式13所示的y是满足式14的向量。
[式13]
Figure GDA0002124945770000074
[式14]
Figure GDA0002124945770000075
针对任意的自然式n、m,In是n行n列的单位矩阵,0n×m是元素全部为0的n行m列的矩阵。针对任意的i∈[n],ei∈{0,1}n是第n个元素为1且其它为0的标准基向量。另外,i∈[n]表示i=1,...,n。
Figure GDA0002124945770000076
是能够在深度dF的布尔电路中计算的策略的集合。
Figure GDA0002124945770000077
Figure GDA0002124945770000078
是能够在深度dG的布尔电路中计算的运算的集合。
参照图6,说明实施方式1的Setup处理。
在加密系统10的初始设定时等,主要由密钥生成装置20执行Setup处理。实施方式1的Setup处理相当于实施方式1的主密钥生成方法和主密钥生成程序的处理。
(步骤S11:取得处理)
密钥生成装置20的取得部211取得参数λ,L,dF,dG
具体而言,取得部211经由通信接口24而受理由加密系统10的管理者等输入的参数λ,L,dF,dG。取得部211将受理的参数λ,L,dF,dG写入到内存22中。
(步骤S12:主密钥生成处理)
密钥生成装置20的主密钥生成部212生成公开参数pp与主秘密密钥msk的对。
具体而言,如式15所示,主密钥生成部212生成矩阵A与陷门Aτ0 -1的对(A,Aτ0 -1)。
[式15]
Figure GDA0002124945770000081
在非专利文献2中记载有TrapGen算法。这里,矩阵A是式16所示的矩阵,陷门Aτ0 -1是式17所示的算法。
[式16]
Figure GDA0002124945770000082
[式17]
Figure GDA0002124945770000083
Ax=u
如式18所示,主密钥生成部212生成矩阵B,B0,B1,...,BL,对B x进行定义。
[式18]
Figure GDA0002124945770000084
Figure GDA0002124945770000085
如式19所示,主密钥生成部212生成向量v和PRF(PseudoRandom Function:伪随机函数)的种子(seed)σ。
[式19]
Figure GDA0002124945770000086
Figure GDA0002124945770000087
在非专利文献2中记载有PRF.Gen算法。
主密钥生成部212设(A,B0,B x,B,v)为公开参数pp,(Aτ0 -1,σ)为主秘密密钥msk。主密钥生成部212将公开参数pp写入到内存22中,并且将公开参数pp和主秘密密钥msk写入到主密钥存储部231中。
(步骤S13:输出处理)
密钥生成装置20的输出部214输出公开参数pp。
具体而言,输出部214从内存22读出公开参数pp。然后,输出部214经由通信接口24而将公开参数pp发送到加密装置30、同态运算装置40和解密装置50。
(步骤S14:公开参数取得处理)
加密装置30的取得部311、同态运算装置40的公开参数取得部415和解密装置50的取得部511取得公开参数pp。
具体而言,取得部311经由通信接口34而接收由输出部214发送的公开参数pp。取得部311将接收到的公开参数pp写入到公开参数存储部331中。
此外,同态运算装置40的公开参数取得部415经由通信接口44而接收由输出部214发送的公开参数pp。公开参数取得部415将接收到的公开参数pp写入到公开参数存储部431中。
此外,解密装置50的取得部511经由通信接口54而接收由输出部214发送的公开参数pp。取得部511将接收到的公开参数pp写入到密钥存储部531中。
即,密钥生成装置20执行式20所示的Setup算法,生成公开参数pp和主秘密密钥msk。
[式20]
Figure GDA0002124945770000101
Figure GDA0002124945770000102
Figure GDA0002124945770000103
Figure GDA0002124945770000104
Figure GDA0002124945770000105
Figure GDA0002124945770000106
Figure GDA0002124945770000107
参照图7,说明实施方式1的KeyGen处理。
在生成新的解密密钥skf时,主要由密钥生成装置20执行KeyGen处理。实施方式1的KeyGen处理相当于实施方式1的解密密钥生成方法和解密密钥生成程序的处理。
(步骤S21:解密密钥委托处理)
解密装置50的取得部511委托密钥生成装置20生成解密密钥skf
具体而言,取得部511受理表示由解密装置50的使用者等输入的解密许可条件的策略f。策略f例如设定使用者的属性。然后,取得部511将输入的策略f发送到密钥生成装置20,请求生成与策略f相关联的解密密钥skf
取得部511将在请求生成解密密钥skf时发送的策略f写入到条件存储部532中。
(步骤S22:取得处理)
密钥生成装置20的取得部211取得策略f。
具体而言,取得部211经由通信接口24而接收从解密装置50发送的策略f。取得部211将接收到的策略f写入到内存22中。
(步骤S23:解密密钥生成处理)
密钥生成装置20的解密密钥生成部213生成与策略f相关联的解密密钥skf
具体而言,解密密钥生成部213从内存22读出策略f,从主密钥存储部231读出公开参数pp和主秘密密钥msk。如式21所示,解密密钥生成部213计算矩阵Bf
[式21]
Figure GDA0002124945770000111
在非专利文献2中记载有Eval算法。
解密密钥生成部213随机预言地查询,从而得到矩阵r’f=O(A,f)∈{0,1}N。即,解密密钥生成部213生成随机的矩阵r’f。如式22所示,解密密钥生成部213生成矩阵rf
[式22]
Figure GDA0002124945770000112
其中,τ如式23所示。
[式23]
Figure GDA0002124945770000113
这时,陷门Aτ0 -1是式17所示的算法,因此,式24成立。
[式24]
Figure GDA0002124945770000114
解密密钥生成部213将矩阵rf作为解密密钥skf写入到内存22中。
(步骤S24:输出处理)
密钥生成装置20的输出部214输出解密密钥skf
具体而言,输出部214从内存22读出解密密钥skf。然后,输出部214经由通信接口24而将解密密钥skf发送到解密装置50。
(步骤S25:解密密钥取得处理)
解密装置50的取得部511取得解密密钥skf
具体而言,取得部511经由通信接口54而接收由输出部214发送的解密密钥skf。取得部511将接收到的解密密钥skf写入到密钥存储部531中。
即,密钥生成装置20执行式25所示的KeyGen算法,生成解密密钥skf
[式25]
Figure GDA0002124945770000121
Figure GDA0002124945770000122
Figure GDA0002124945770000123
Figure GDA0002124945770000124
Figure GDA0002124945770000125
return sk:=[rf].
参照图8,说明实施方式1的Enc处理。
在生成密文ct时,主要由加密装置30执行Enc处理。实施方式1的Enc处理相当于实施方式1的加密方法和加密程序的处理。
(步骤S31:取得处理)
加密装置30的取得部311取得明文μ和属性x。
具体而言,取得部311经由通信接口34而受理由加密装置30的使用者等输入的明文μ和属性x。明文μ是加密之后发送的消息,且明文μ∈{0,1}。属性x是与密文相关的属性,且属性x∈{0,1}L。取得部311将明文μ和属性x写入到内存32中。
(步骤S32:加密处理)
加密装置30的加密部312生成设定属性x并对明文μ加密后的密文ct。
具体而言,加密部312从公开参数存储部331读出公开参数pp,并且从内存32读出明文μ和属性x。如式26所示,加密部312生成矩阵S、矩阵EA和错误向量ev
[式26]
Figure GDA0002124945770000126
如式27所示,加密部312针对i∈{0,1,...,L}的各整数i和j∈[M]的各整数j,生成矩阵Ri,j
[式27]
Figure GDA0002124945770000131
如式28所示,加密部312针对i∈{0,1,...,L}的各整数i和j∈[M]的各整数j,生成矩阵Ei[j]。这里,Ei[j]和EA[j]分别表示矩阵Ei和矩阵EA的第j列。
[式28]
Figure GDA0002124945770000132
加密部312如式29所示地生成矩阵C,如式30所示地生成矩阵Cx
[式29]
Figure GDA0002124945770000133
[式30]
Figure GDA0002124945770000134
矩阵C成为设定了明文μ并能够利用与属性x满足的策略f对应的解密密钥skf进行解密的结构。
这里,式31表示张量积。
[式31]
Figure GDA0002124945770000135
并且是式32。
[式32]
Figure GDA0002124945770000141
如式33所示,加密部312生成矩阵R和矩阵EF
[式33]
Figure GDA0002124945770000142
如式34所示,加密部312生成矩阵F。
[式34]
Figure GDA0002124945770000143
如式34所示,在矩阵F中设定有明文μ和作为随机数的矩阵R。矩阵F成为替代矩阵中包含的矩阵B0包含矩阵B且无法利用与属性x满足的策略f对应的解密密钥skf进行解密的结构。
如式35所示,加密部312针对i∈{0,1,...,L}的各整数i、j∈[M]的各整数j和k∈[N]的各整数k,生成矩阵E(k) A、向量e(k) v和矩阵R(k) i,j
[式35]
Figure GDA0002124945770000144
如式36所示,加密部312生成向量E(k) i和矩阵E(k)。这里,E(k) i[j]和矩阵E(k) A[j]分别表示矩阵E(k) i和矩阵E(k) A的第j列。
[式36]
Figure GDA0002124945770000151
Figure GDA0002124945770000152
如式37所示,加密部312生成矩阵S(1),...,S(N)
[式37]
Figure GDA0002124945770000153
加密部312如式38所示地生成矩阵D,如式39所示地生成矩阵D(k) x
[式38]
Figure GDA0002124945770000154
[式39]
Figure GDA0002124945770000155
即,矩阵D是对矩阵F中包含的随机数即矩阵R进行加密而成的。
加密部312将设属性x、矩阵C、矩阵Cx、矩阵F、矩阵D以及针对k∈[N]的各整数k的矩阵D(k) x为加密元素的密文ct写入到内存32中。即,密文ct包含设定了明文μ的加密元素即矩阵C、设定了属性x的加密元素即矩阵Cx、设定了明文μ和作为随机数的矩阵R且无法利用与属性x满足的策略f对应的解密密钥skf进行解密的加密元素即矩阵F、以及对作为随机数的矩阵R进行加密后的加密元素即矩阵D。
(步骤S33:输出处理)
加密装置30的输出部313输出密文ct。
具体而言,输出部313从内存32读出密文ct。然后,输出部313经由通信接口34而将密文ct发送到同态运算装置40。
(步骤S34:密文取得处理)
同态运算装置40的密文取得部416经由通信接口44而接收由输出部313发送的密文ct。密文取得部416将接收到的密文ct写入到密文存储部432中。
即,加密装置30执行式40~式41所示的Enc算法,生成密文ct。
[式40]
Enc(μ∈{0,1},x∈{0,1}L)
Figure GDA0002124945770000161
for i∈{0,...,L};j=[M]
Figure GDA0002124945770000162
Figure GDA0002124945770000163
Figure GDA0002124945770000164
Figure GDA0002124945770000165
Figure GDA0002124945770000166
[式41]
for i=1,...,L;j=l,...,M;k=1,...,N
Figure GDA0002124945770000171
Figure GDA0002124945770000172
Figure GDA0002124945770000173
Figure GDA0002124945770000174
Figure GDA0002124945770000175
Figure GDA0002124945770000176
参照图9,说明实施方式1的Eval处理。
在对密文ct进行同态运算时,由同态运算装置40执行Eval处理。实施方式1的Eval处理相当于实施方式1的同态运算方法和同态运算程序的处理。
(步骤S41:密文取得处理)
密文取得部416取得作为运算对象的密文ct(1),...,ct(k)。这里,k是1以上的整数。
具体而言,密文取得部416经由通信接口44而从密文存储部432读出由同态运算装置40的使用者等指定的密文ct(1),...,ct(k)。密文取得部416将读出的密文ct(1),...,ct(k)写入到内存42中。
(步骤S42:策略取得处理)
同态运算装置40的策略取得部417取得作为策略的集合的策略集合F:={f1,...,fd}。这里,d是1以上的整数。
具体而言,策略取得部417经由通信接口44而受理由同态运算装置40的使用者等输入的策略集合F。策略取得部417将受理的策略集合F写入到内存42中。
另外,为了进行同态运算,关于在步骤S41中读出的i=1,...,k的各整数i的密文ct(i)需要满足策略集合F中包含的任意的f1,…,fd。换言之,关于i=1,...,K的各整数i的密文ctct(i)需要能够利用与任意的f1,...,fd相关联的解密密钥skf进行解密。即,当设对关于i=1,…,k的各整数i的密文ct(i)设定的属性为属性xi时,需要关于i=1,…,k的各整数i,相对于某个j∈[d]满足fj(xi)=0。
(步骤S43:运算取得处理)
同态运算装置40的运算取得部418取得要执行的同态运算g。
具体而言,运算取得部418经由通信接口44而受理由同态运算装置40的使用者等输入的同态运算g。运算取得部418将受理的同态运算g写入到内存42中。
(步骤S44:密文转换处理)
同态运算装置40的密文转换部412将关于i=1,...,k的各整数i的密文ct(i)转换成密文ct(i)~:=(C,F,D)。
具体而言,密文转换部412将关于i=1,…,k的各整数i的密文ct(i)作为对象,首先执行Apply算法,然后执行Expansion算法。但是,仅针对一次也未进行同态运算的密文ct(i)执行Apply算法。即,在密文ct(i)是由加密装置30生成并在图8的步骤S33中输出的密文ct的情况下,执行Apply算法,在密文ct(i)是在后述的步骤S46中输出的密文ct*的情况下,不执行Apply算法。在密文ct(i)是在后述的步骤S46中输出的密文ct*的情况下,仅执行Expansion算法。
这里,为了简化记述,将作为对象的密文ct(i)记作密文ct,将对密文ct(i)进行转换后的密文ct(i)~记作密文ct。此外,将作为对象的密文ct(i)满足的策略fj记作策略f。
说明Apply算法。
如式42所示,密文转换部412计算矩阵H。
[式42]
Figure GDA0002124945770000181
在非专利文献2中记载有EvRelation算法。
密文转换部412生成矩阵Cf:=HTCx。如式43所示,密文转换部412生成矩阵C^f
[式43]
Figure GDA0002124945770000191
如式44所示,密文转换部412针对i∈[k]的各整数i生成矩阵D(i) f
[式44]
Figure GDA0002124945770000192
如式45所示,密文转换部412生成矩阵Df
[式45]
Figure GDA0002124945770000193
密文转换部412生成矩阵D^f:=Df+D。
即,密文转换部412执行式46所示的Apply算法。
[式46]
Figure GDA0002124945770000201
Figure GDA0002124945770000202
Cf:=HTCx
Figure GDA0002124945770000203
Figure GDA0002124945770000204
Figure GDA0002124945770000205
Figure GDA0002124945770000206
Figure GDA0002124945770000207
说明Expansion算法。
这里,在作为对象的密文ct(i)是在后述的步骤S46中输出的密文ct*:=(C*,F*,D*)的情况下,设C^f:=C*,F:=F*,D^f:=D*
密文转换部412直接设矩阵F为矩阵F~。
如式47所示,密文转换部412生成矩阵D~。
[式47]
Figure GDA0002124945770000208
如式48所示,密文转换部412生成矩阵C
[式48]
Figure GDA0002124945770000209
这里,矩阵X如式49所示。
[式49]
Figure GDA0002124945770000211
此外,矩阵s如式50所示。
[式50]
Figure GDA0002124945770000212
另外,向量r’f∈{0,1}N是通过随机预言地查询f而得到的向量。即,向量r’f是随机的向量。此外,Bf如式21所示。
密文转换部412将密文ct:=(C,F,D)写入到内存42中。
即,密文转换部412执行式51所示的Expansion算法。
[式51]
Figure GDA0002124945770000213
F:=F,
Figure GDA0002124945770000214
Figure GDA0002124945770000215
Figure GDA0002124945770000216
Figure GDA0002124945770000217
Figure GDA0002124945770000218
return C,F,D.
(步骤S45:同态运算处理)
同态运算装置40的同态运算部413针对关于i=1,...,k的各整数i的密文ct(i)~执行同态运算g,生成密文ct*:=(C*,F*,D*)。
具体而言,同态运算部413读出关于i=1,…,k的各整数i的密文ct(i)~。然后,同态运算部413将关于i=1,…,k的各整数i的密文ct(i)~作为输入,根据非专利文献3的“3.2Homomorphic Operations”中记载的同态运算的运算方法执行同态运算g,生成密文ct*。同态运算部413将生成的密文ct*写入到内存42中。
作为具体例,说明对2个密文ct(1)~:=(C1,F1,D1)和ct(2)~:=(C2,F2,D2)进行同态相加的情况。该情况下,同态运算部413如C*:=C1+C2,F*:=F1+F2,D*:=D1+D2那样计算各加密元素。
此外,作为具体例,说明对2个密文ct(1)~:=(C1,F1,D1)和ct(2)~:=(C2,F2,D2)进行同态相乘的情况。该情况下,如式52所示,同态运算部413计算各加密元素。
[式52]
Figure GDA0002124945770000221
Figure GDA0002124945770000222
Figure GDA0002124945770000223
(步骤S46:输出处理)
同态运算装置40的输出部414输出密文ct*
具体而言,输出部414从内存42读出密文ct*。然后,输出部414将密文ct*写入到密文存储部432中。
即,同态运算装置40执行式53所示的Evaluation算法,生成密文ct*
[式53]
Figure GDA0002124945770000231
j∈[d]satisfy fj(xi)=0 for i∈[k],
Figure GDA0002124945770000232
Figure GDA0002124945770000233
Figure GDA0002124945770000234
return ct*:=[C*,F*,D*].
另外,H.Op算法是非专利文献3记载的同态运算的运算算法。
参照图10,说明实施方式1的Dec处理。
在对密文ct进行解密时,主要由解密装置50执行Dec处理。实施方式1的Dec处理相当于实施方式1的解密方法和解密程序的处理。
(步骤S51:取得处理)
解密装置50的取得部511取得作为解密对象的密文ct(F):=(C^F,F,D^F)。
具体而言,取得部511经由通信接口54而向同态运算装置40发送密文ct(F)的取得请求。同态运算装置40的输出部414在接收到取得请求时,从密文存储部432读出被请求的密文ct(F)。这时,在密文ct(F)是在图8的步骤S33中输出的密文ct的情况下,同态运算装置40的密文转换部412执行上述的Apply算法,将密文ct转换成密文ct(F):=(C^F,F,D^F)。此外,在密文ct(F)是在图9的步骤S46中输出的密文ct*:=(C*,F*,D*)的情况下,同态运算装置40的密文转换部412转换成密文ct(F):=(C^f:=C*,F:=F*,D^f:=D*)。然后,输出部414将转换后的密文ct(F)经由通信接口44而发送到解密装置50。取得部511接收从同态运算装置40发送的密文ct(F)。取得部511将接收到的密文ct(F)写入到内存52中。
密文ct(F)表示能够利用与策略集合F:={f1,...,fd}相关联的解密密钥skf1,...,skfd进行解密的密文。
(步骤S52:解密处理)
解密装置50的解密部512利用解密密钥skf1:=rf1,…,skfd:=rfd对密文ct(F)进行解密,计算值μ
具体而言,解密部512对j∈[d]的各整数j随机预言地进行查询,取得矩阵r’fj:=O(A,fj)。如式54所示,解密部512将关于j∈[d]的各整数j的解密密钥skfj连结起来,生成解密密钥rF T
[式54]
Figure GDA0002124945770000241
如式55所示,解密部512计算向量c。
[式55]
Figure GDA0002124945770000242
如式56所示,解密部512计算值μ
[式56]
Figure GDA0002124945770000243
这里,向量u如式57所示。
[式57]
Figure GDA0002124945770000244
(步骤S53:输出处理)
如果值μ的绝对值小于q/4,则解密装置50的输出部513输出0,否则解密装置50的输出部513输出1。
即,解密装置50执行式58所示的Dec算法,对密文ct(F)进行解密。
[式58]
Figure GDA0002124945770000251
r′fj:=O(A,fj)for j=1,...,d,
Figure GDA0002124945770000252
Figure GDA0002124945770000253
Figure GDA0002124945770000254
Figure GDA0002124945770000255
Figure GDA0002124945770000256
***实施方式1的效果***
如上所述,在实施方式1的加密系统10中,使用加密元素F将加密元素即矩阵C转换成加密元素即矩阵C。由此,能够在不将加密元素C内的元素与策略集合F相关联的情况下进行同态运算。因此,能够将密文ct*作为输入再次进行灵活的同态运算。
说明可得到能够将密文ct*作为输入再次进行灵活的同态运算的效果的理由。
将由加密装置30生成的密文ct:=(x,C,Cx,F,D,{D(k) x}k)作为输入,执行在图9的步骤S44中说明的Apply算法,其结果是,得到密文ct(f):=(C^f,F,D^f)。
这时,密文ct(f)针对解密密钥t∈Zq m+N+1和较小的随机矩阵R∈Zq n×M,满足式59所示的(1)~(3)的关系。
[式59]
Figure GDA0002124945770000257
Figure GDA0002124945770000258
Figure GDA0002124945770000259
将密文ct(f)作为输入执行在图9的步骤S44中说明的Expansion算法,其结果是,得到密文ct:=(C,F,D)。这时,密文ct针对将解密密钥tf与解密密钥t连结而得到的解密密钥t:=[t||tf]和随机矩阵R,如以下说明的那样,保持着满足式59所示的(1)~(3)的关系的状态。
矩阵F直接成为矩阵F。因此,随机矩阵R直接成为随机矩阵R。因此,满足式59的(2)所示的关系。
如式47所示地生成矩阵D。这时,式60所示的关系成立。
[式60]
Figure GDA0002124945770000261
因此,满足式59的(3)的关系。
如式48所示地生成矩阵C。这时,根据矩阵X的结构,式61的关系成立。
[式61]
Figure GDA0002124945770000262
因此,式62的关系成立。
[式62]
Figure GDA0002124945770000271
其结果是,式63的关系成立,满足式59的(1)的关系。
[式63]
Figure GDA0002124945770000272
将密文ct作为输入,执行在图9的步骤S45中说明的同态运算g,其结果是,得到密文ct*:=(C*,F*,D*)。这时,如在非专利文献3中说明的那样,关于密文ct*,也保持着满足式59所示的(1)~(3)的关系的状态。
即,执行同态运算g而得到的密文ct*保持着将由加密装置30生成的密文ct作为输入执行Apply算法而得到的密文ct(f)满足的关系。因此,即使在替代由加密装置30生成的密文ct,将执行同态运算g而得到的密文ct*作为输入执行了Expansion算法的情况下,也能够成为保持满足该关系的状态。其结果是,针对执行同态运算g而得到的密文ct*,也与由加密装置30生成的密文ct同样,能够进行灵活的同态运算。
即,在图9的步骤S44中,密文转换部412利用加密元素即矩阵F和加密元素即矩阵D,将由密文取得部416取得的密文ct中包含的加密元素即矩阵C和矩阵Cx,转换成能够利用与由策略取得部417取得的策略集合F对应的解密密钥skF进行解密的加密元素即矩阵C。此外,密文转换部412将矩阵D也一并转换成矩阵D。由此,密文转换部412将密文ct转换成密文ct
即,密文转换部412使用设定了明文μ和作为随机数的矩阵R且无法利用与属性x满足的策略f对应的解密密钥skf进行解密的加密元素即矩阵F、对作为随机数的矩阵R进行加密后的加密元素即矩阵D,对设定了明文μ的加密元素即矩阵C和设定了属性x的加密元素即矩阵Cx进行转换。这样,密文转换部412通过使用矩阵F和矩阵D,能够在保持着在密文与解密密钥和随机数R之间成立的关系性的状态下,执行同态运算。
***其它结构***
<变形例1>
在实施方式1中,是通过软件实现密钥生成装置20、加密装置30、同态运算装置40和解密装置50的功能结构要素。但是,作为变形例1,也可以通过硬件实现功能结构要素。关于该变形例1,说明与实施方式1不同的内容。
参照图11,说明变形例1的密钥生成装置20的结构。
在由硬件实现功能的情况下,密钥生成装置20替代处理器21、内存22和存储器23而具有处理电路25。处理电路25是实现密钥生成装置20的功能结构要素、内存22和存储器23的功能的专用电子电路。
参照图12,说明变形例1的加密装置30的结构。
在由硬件实现功能的情况下,加密装置30替代处理器31、内存32和存储器33而具有处理电路35。处理电路35是实现加密装置30的功能结构要素、内存32和存储器33的功能的专用电子电路。
参照图13,说明变形例1的同态运算装置40的结构。
在由硬件实现功能的情况下,同态运算装置40替代处理器41、内存42和存储器43而具有处理电路45。处理电路45是实现同态运算装置40的功能结构要素、内存42和存储器43的功能的专用电子电路。
参照图14,说明变形例1的解密装置50的结构。
在由硬件实现功能的情况下,同态运算装置50替代处理器51、内存52和存储器53而具有处理电路55。处理电路55是实现解密装置50的功能结构要素、内存52和存储器53的功能的专用电子电路。
处理电路25、35、45、55假设有单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑IC、GA(Gate Array:门阵列)、ASIC(Application Specific IntegratedCircuit:面向特定用途的集成电路)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)。
可以通过一个处理电路25实现密钥生成装置20的各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个处理电路25中实现。同样,加密装置30、同态运算装置40和解密装置50可以分别通过一个处理电路35、45、55实现各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个处理电路35、45、55中实现。
<变形例2>
作为变形例2,也可以通过硬件实现一部分的功能,通过软件实现其它功能。即,也可以通过硬件实现各功能结构要素中的一部分功能,通过软件实现其它功能。
将处理器21、31、41、51、内存22、32、42、52、存储器23、33、43、53和处理电路25、35、45、55统称作“处理线路”。即,各功能结构要素的功能通过处理线路实现。
***记法的说明***
在A为随机变量或分布时,式64表示根据A的分布而从A中随机选择y。即,在式64中,y为随机数。
[式64]
Figure GDA0002124945770000291
在A为集合时,式65表示从A中选择相同的y。即,在式65中,y为相同随机数。
[式65]
Figure GDA0002124945770000292
式66表示用z定义y的集合或者将y代入z的集合。
[式66]
y:=z
在a为常数时,式67表示机械(算法)A相对于输入x而输出a。
[式67]
A(x)→a
Zq表示位数q的整数的群。此外,y∈Zq v表示y是具有Zq上的v个元素的向量。此外,y∈Zq v×w表示y是具有Zq上的元素的v行w列的矩阵。
标号说明
10:加密系统;20:密钥生成装置;21:处理器;22:内存;23:存储器;24:通信接口;25:处理电路;211:取得部;212:主密钥生成部;213:解密密钥生成部;214:输出部;231:主密钥存储部;30:加密装置;31:处理器;32:内存;33:存储器;34:通信接口;35:处理电路;311:取得部;312:加密部;313:输出部;331:公开参数存储部;40:同态运算装置;41:处理器;42:内存;43:存储器;44:通信接口;45:处理电路;411:取得部;412:密文转换部;413:同态运算部;414:输出部;415:公开参数取得部;416:密文取得部;417:策略取得部;418:运算取得部;431:公开参数存储部;432:密文存储部;50:解密装置;51:处理器;52:内存;53:存储器;54:通信接口;55:处理电路;511:取得部;512:解密部;513:输出部;531:密钥存储部;532:条件存储部;533:结果存储部;λ:安全性参数;pp:公开参数;msk:主秘密密钥;skf:解密密钥;μ:明文;x:属性;ct、ct(F)、ct、ct*:密文;F:策略集合;g:同态运算。

Claims (9)

1.一种同态运算装置,该同态运算装置具有:
密文取得部,其取得密文ct,该密文ct包含:
加密元素C,其中明文μ被加密,且所述加密元素C能够利用与加密策略不相关的密钥进行解密;
加密元素Cx,所述加密元素Cx通过属性x创建,且其用于将所述加密元素C转换为利用与所述属性x满足的策略f对应的解密密钥skf进行解密的加密元素C^f
加密元素F,其中所述明文μ被加密,且所述加密元素F仅能够利用与所述密钥skf不同的密钥进行解密,且所述不同的密钥对应的策略不同于与所述属性x满足的策略f;
策略取得部,其取得作为策略的集合的策略集合;
密文转换部,其利用所述加密元素F将由所述密文取得部取得的所述密文ct中包含的所述加密元素C,转换成能够利用与由所述策略取得部取得的所述策略集合对应的解密密钥skF进行解密的加密元素C,由此将所述密文ct转换成密文ct;以及
同态运算部,其对由所述密文转换部转换后的所述密文ct进行同态运算g而生成密文ct*
2.根据权利要求1所述的同态运算装置,其中,
所述加密元素F中设定有随机数R,
所述密文ct包含对所述随机数R进行加密后的加密元素D,
所述密文转换部利用所述加密元素F和所述加密元素D,将所述加密元素C转换成所述加密元素C
3.根据权利要求2所述的同态运算装置,其中,
所述密文ct包含式1所示的所述加密元素C、式2所示的所述加密元素Cx、式3所示的所述加密元素F和式4所示的加密元素D,
【式1】
Figure FDA0003631662310000021
其中,上标“T”表示转置;
Figure FDA0003631662310000022
Zq表示位数q的整数的群,A为具有Zq上的元素的n行m列的矩阵,其中n和q为LWE(Learning With Errors:容错学习)问题中的参数;
Figure FDA0003631662310000023
B0表示从所述群Zq中选择n行N列个相同随机数的矩阵;
Figure FDA0003631662310000024
v表示从所述群Zq中选择出的n个相同随机数的向量;
Figure FDA0003631662310000025
S表示从所述群Zq中选择出的n行M列个相同随机数的矩阵;
Figure FDA0003631662310000026
EA表示按照概率x分布的随机选择的m行和M列的矩阵;其中x为LWE问题中的参数;
E0:=[E0[1],…,E0[M]],
Figure FDA0003631662310000027
Figure FDA0003631662310000028
Figure FDA0003631662310000029
Figure FDA00036316623100000210
ev表示按照概率x的分布随机选择的M个随机数的向量,其中x为LWE问题中的参数;
μ:明文,
Im+N+1:m+N+1行m+N+1列的单位矩阵,
Figure FDA00036316623100000211
Figure FDA00036316623100000212
【式2】
Figure FDA0003631662310000031
其中,
Figure FDA0003631662310000032
Figure FDA0003631662310000033
x:属性,
Figure FDA0003631662310000034
Ei:=[Ei[1],...,Ei[M]]for i=1,...,L,
Figure FDA0003631662310000035
Figure FDA0003631662310000036
【式3】
Figure FDA0003631662310000037
其中,
Figure FDA0003631662310000038
Figure FDA0003631662310000039
Figure FDA00036316623100000310
χ:LWE(Learning With Errors:容错学习)问题的参数,
【式4】
Figure FDA00036316623100000311
其中,
Figure FDA0003631662310000041
Figure FDA0003631662310000042
Figure FDA0003631662310000043
Figure FDA0003631662310000044
Figure FDA0003631662310000045
Figure FDA0003631662310000046
Figure FDA0003631662310000047
em+N+1:第m+N+1个元素为1且其它元素为0的向量。
4.根据权利要求3所述的同态运算装置,其中,
所述密文转换部如式5所示地将所述加密元素C转换成加密元素C^f,如式6所示地将所述加密元素C^f转换成所述加密元素C
【式5】
Figure FDA0003631662310000048
其中,
0m×M:表示元素为0的m行M列的矩阵,
01×M:表示元素为0的1行M列的矩阵,
Cf:=HTCx
Figure FDA0003631662310000049
【式6】
Figure FDA00036316623100000410
其中,
Figure FDA0003631662310000051
Figure FDA0003631662310000052
In:n行n列的单位矩阵,
Figure FDA0003631662310000053
Figure FDA0003631662310000054
Figure FDA0003631662310000055
Figure FDA0003631662310000056
Figure FDA0003631662310000057
Figure FDA0003631662310000058
Figure FDA0003631662310000059
Figure FDA00036316623100000510
r′f∈{0,1}N
其中,0M:表示元素为0的M行M列的矩阵。
5.根据权利要求4所述的同态运算装置,其中,
所述同态运算部对所述加密元素C进行所述同态运算g而生成加密元素C*,对所述加密元素F进行所述同态运算g而生成加密元素F*,对将所述加密元素D转换后的加密元素D进行所述同态运算g而生成加密元素D*,从而生成包含所述加密元素C*、所述加密元素F*和所述加密元素D*的所述密文ct*
6.根据权利要求5所述的同态运算装置,其中,
所述密文转换部如式7所示地将所述加密元素D转换成所述加密元素D
【式7】
Figure FDA00036316623100000511
其中,0(m+M+1)×n:表示元素为0的m+M+1行n列的矩阵,
IN:N行N列的单位矩阵,
In′:n′行n′列的单位矩阵。
7.根据权利要求1所述的同态运算装置,其中,
所述同态运算部生成包含对所述加密元素C进行同态运算g而生成的加密元素C*的所述密文ct*
所述密文取得部取得由所述同态运算部生成的所述密文ct*
所述密文转换部利用所述加密元素F将所述密文ct*中包含的所述加密元素C*,转换成能够利用与所述解密密钥skF不同的解密密钥skF’进行解密的加密元素C,由此将密文ct*转换成密文ct
8.一种加密系统,该加密系统具有:
加密装置,其生成密文ct,该密文ct包含:
加密元素C,其中明文μ被加密,且所述加密元素C能够利用与加密策略不相关的密钥进行解密;
加密元素Cx,所述加密元素Cx通过属性x创建,且其用于将所述加密元素C转换为利用与所述属性x满足的策略f对应的解密密钥skf进行解密的加密元素C^f
加密元素F,其中所述明文μ被加密,且所述加密元素F仅能够利用与所述密钥skf不同的密钥进行解密,且所述不同的密钥对应的策略不同于与所述属性x满足的策略f;以及
同态运算装置,其利用所述加密元素F将由所述加密装置生成的所述密文ct中包含的所述加密元素C,转换成能够利用与作为策略的集合的策略集合对应的解密密钥skF进行解密的加密元素C,由此将所述密文ct转换成密文ct,对转换后的所述密文ct进行同态运算g而生成密文ct*
9.一种存储有同态运算程序的计算机能读取的存储介质,该同态运算程序使计算机执行以下处理:
密文取得处理,取得密文ct,该密文ct包含:
加密元素C,其中明文μ被加密,且所述加密元素C能够利用与加密策略不相关的密钥进行解密;
加密元素Cx,所述加密元素Cx通过属性x创建,且其用于将所述加密元素C转换为利用与所述属性x满足的策略f对应的解密密钥skf进行解密的加密元素C^f
加密元素F,其中所述明文μ被加密,且所述加密元素F仅能够利用与所述密钥skf不同的密钥进行解密,且所述不同的密钥对应的策略不同于与所述属性x满足的策略f;
策略取得处理,取得作为策略的集合的策略集合;
密文转换处理,利用所述加密元素F将通过所述密文取得处理取得的所述密文ct中包含的所述加密元素C,转换成能够利用与通过所述策略取得处理取得的所述策略集合对应的解密密钥skF进行解密的加密元素C,由此将所述密文ct转换成密文ct;以及
同态运算处理,对通过所述密文转换处理转换后的所述密文ct~进行同态运算g而生成密文ct*
CN201780082960.9A 2017-01-18 2017-01-18 同态运算装置、加密系统和计算机能读取的存储介质 Active CN110169010B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/001589 WO2018134922A1 (ja) 2017-01-18 2017-01-18 準同型演算装置、暗号システム及び準同型演算プログラム

Publications (2)

Publication Number Publication Date
CN110169010A CN110169010A (zh) 2019-08-23
CN110169010B true CN110169010B (zh) 2022-09-23

Family

ID=62907901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780082960.9A Active CN110169010B (zh) 2017-01-18 2017-01-18 同态运算装置、加密系统和计算机能读取的存储介质

Country Status (4)

Country Link
US (1) US11139952B2 (zh)
JP (1) JP6522263B2 (zh)
CN (1) CN110169010B (zh)
WO (1) WO2018134922A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11849019B2 (en) * 2019-02-25 2023-12-19 Nec Corporation Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus
WO2021001990A1 (ja) * 2019-07-04 2021-01-07 三菱電機株式会社 データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
KR20220009643A (ko) * 2020-07-16 2022-01-25 삼성전자주식회사 스토리지 컨트롤러, 이를 포함하는 클라이언트 및 서버, 및 이의 동작 방법
CN112232639B (zh) * 2020-09-22 2023-06-30 支付宝(杭州)信息技术有限公司 统计方法、装置和电子设备
CN114422273B (zh) * 2022-03-29 2022-06-17 四川高速公路建设开发集团有限公司 智慧建设工程信息系统中敏感决策数据安全共享方法
WO2023212391A1 (en) * 2022-04-29 2023-11-02 Ntt Research, Inc. Ciphertext-policy attribute-based encryption with post-quantum security for broadcast systems
WO2024210233A1 (ko) * 2023-04-05 2024-10-10 엘지전자 주식회사 무선 통신 시스템에서 암호화된 데이터를 공유하기 위한 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283669A (zh) * 2014-08-25 2015-01-14 东南大学 全同态加密中重加密深度优化方法
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007114494A (ja) 2005-10-20 2007-05-10 Nippon Telegr & Teleph Corp <Ntt> 秘匿計算方法及び装置
WO2012067214A1 (ja) 2010-11-15 2012-05-24 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US20130333051A1 (en) 2011-03-04 2013-12-12 Nec Corporation Random value identification device, random value identification system, and random value identification method
US20130333024A1 (en) 2011-03-04 2013-12-12 Nec Corporation Random value identification device, random value identification system, and random value identification method
KR101388724B1 (ko) * 2011-11-11 2014-04-25 닛본 덴끼 가부시끼가이샤 데이터베이스 암호화 시스템과 방법 및 컴퓨터 판독가능 기록 매체
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5511925B2 (ja) 2012-10-06 2014-06-04 三菱電機株式会社 アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム
JP5921410B2 (ja) * 2012-10-19 2016-05-24 三菱電機株式会社 暗号システム
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
WO2014112182A1 (ja) 2013-01-18 2014-07-24 三菱電機株式会社 データ復号装置、属性ベース暗号システム、乱数要素除去装置、ランダム化秘密鍵生成装置、データ復号方法およびデータ復号プログラム
JP6144992B2 (ja) 2013-08-08 2017-06-07 株式会社日立製作所 検索可能暗号処理システム及び方法
US10747888B2 (en) * 2014-06-30 2020-08-18 Nicira, Inc. Method and apparatus for differently encrypting data messages for different logical networks
CN106922210B (zh) * 2014-12-05 2018-07-10 三菱电机株式会社 解密条件追加装置、加密系统和计算机可读介质
JP6677653B2 (ja) 2014-12-25 2020-04-08 国立大学法人 東京大学 制御装置、解析装置および復号装置
JP6381128B2 (ja) 2015-02-05 2018-08-29 国立研究開発法人産業技術総合研究所 検索システム、クライアント、サーバ、検索プログラムおよび検索方法
JP6504013B2 (ja) * 2015-10-13 2019-04-24 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
US10778431B2 (en) * 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序
CN104283669A (zh) * 2014-08-25 2015-01-14 东南大学 全同态加密中重加密深度优化方法

Also Published As

Publication number Publication date
JPWO2018134922A1 (ja) 2019-06-27
WO2018134922A1 (ja) 2018-07-26
US11139952B2 (en) 2021-10-05
US20200127810A1 (en) 2020-04-23
JP6522263B2 (ja) 2019-05-29
CN110169010A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110169010B (zh) 同态运算装置、加密系统和计算机能读取的存储介质
JP6391900B1 (ja) 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム
JP6934963B2 (ja) データを暗号化する方法およびシステム
JP6083234B2 (ja) 暗号処理装置
US9438423B2 (en) Encryption device, encryption method, and information processing device
US11374742B2 (en) Conversion key generation device, ciphertext conversion device, privacy-preserving information processing system, conversion key generation method, ciphertext conversion method, and computer
CN110635909B (zh) 一种基于属性的抗合谋攻击的代理重加密方法
CN112236974B (zh) 解密装置、加密装置以及密码系统
CN107454975B (zh) 加密系统和密钥生成装置
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
JP7126635B2 (ja) 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム
WO2019016916A1 (ja) 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
JP6452910B1 (ja) 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
JP2017223822A (ja) 暗号文処理システム、暗号文処理サーバ、及び暗号文処理方法
US11811741B2 (en) Information processing system and information processing method
WO2020075224A1 (ja) 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant