CN107454975A - 加密系统和密钥生成装置 - Google Patents

加密系统和密钥生成装置 Download PDF

Info

Publication number
CN107454975A
CN107454975A CN201580078523.0A CN201580078523A CN107454975A CN 107454975 A CN107454975 A CN 107454975A CN 201580078523 A CN201580078523 A CN 201580078523A CN 107454975 A CN107454975 A CN 107454975A
Authority
CN
China
Prior art keywords
mrow
matrix
msub
msubsup
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580078523.0A
Other languages
English (en)
Other versions
CN107454975B (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 CN107454975A publication Critical patent/CN107454975A/zh
Application granted granted Critical
Publication of CN107454975B publication Critical patent/CN107454975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

加密系统(10)实现基于格子理论的函数型加密方式。在加密系统(10)中,密钥生成装置(100)生成作为密钥元素包含矩阵e的秘密密钥skv,作为与谓语向量v有关的秘密密钥skv,其中,所述矩阵e使得由作为输入参数Y的谓语向量v规定的矩阵AY与矩阵e之积,成为根据公开参数PP得到的多个矩阵u中的与包含多个值的集合[N]中的值j有关的矩阵uj

Description

加密系统和密钥生成装置
技术领域
本发明涉及基于格子理论的函数型加密方式。
背景技术
在非专利文献1~3中记载有基于格子理论的函数型加密方式。非专利文献1~3中记载的函数型加密方式基于格子理论,由此,针对量子计算机也具有耐性。
现有技术文献
非专利文献
非专利文献1:Shweta Agrawal,David Mandell Freeman,and VinodVaikuntanathan.Functional encryption for inner product predicates fromlearning with errors.In Advances in Cryptology-ASIACRYPT 2011-17thInternational Conference on the Theory and Application of Cryptology andInformation Security,Seoul,South Korea,December 4-8,2011.Proceedings,pages21-40,2011.
非专利文献2:Michel Abdalla,Angelo De Caro,and KarinaMochetti.Lattice-based hierarchical inner product encryption.In Progress inCryptology-LATINCRYPT 2012-2nd International Conference on Cryptology andInformation Security in Latin America,Santiago,Chile,October 7-10,2012.Proceedings,pages 121-138,2012.
非专利文献3:Keita Xagawa.Improved(hierarchical)inner-productencryption from lattices.In Public-Key Cryptography-PKC 2013-16thInternational Conference on Practice and Theory in Public-Key Cryptography,Nara,Japan,February 26-March 1,2013.Proceedings,pages 235-252,2013.
发明内容
发明要解决的课题
非专利文献1~3中记载的函数型加密方式是弱属性隐匿。即,非专利文献1~3中记载的函数型加密方式可能从具有满足秘密密钥条件的属性的密文泄露多余信息。
本发明的目的在于,不会从具有满足秘密密钥条件的属性的密文泄露多余信息。
用于解决课题的手段
本发明的加密系统具有:密钥生成装置,其生成作为密钥元素包含矩阵e的秘密密钥,作为与输入参数Y有关的秘密密钥,其中,所述矩阵e使得由所述输入参数Y规定的矩阵AY与所述矩阵e之积,成为根据公开参数PP得到的多个矩阵u中的与包含多个值的集合[N]中的值j有关的矩阵uj;加密装置,其生成包含与所述集合[N]中包含的各值有关的加密元素的密文;以及解密装置,其使用所述密文中包含的加密元素中的与所述值j有关的加密元素和所述秘密密钥,对所述密文进行解密。
发明效果
在本发明中,生成作为密钥元素包含矩阵AY与矩阵e之积成为与集合N中包含的值j有关的矩阵uj的矩阵e的秘密密钥。由此,能够使得不会从具有满足秘密密钥条件的属性的密文泄露多余信息。
附图说明
图1是实施方式1的加密系统10的结构图。
图2是实施方式1的密钥生成装置100的结构图。
图3是实施方式1的加密装置200的结构图。
图4是实施方式1的解密装置300的结构图。
图5是示出实施方式1的Setup算法的处理的流程图。
图6是示出实施方式1的KeyGen算法的处理的流程图。
图7是示出实施方式1的Enc算法的处理的流程图。
图8是示出实施方式1的Dec算法的处理的流程图。
图9是示出实施方式1的密钥生成装置100、加密装置200、解密装置300的硬件结构例的图。
具体实施方式
实施方式1
在实施方式1中,首先,对用于实现不会从具有满足秘密密钥条件的属性的密文泄露多余信息的强属性隐匿的关键技术进行说明。然后,对应用了关键技术的加密方式进行说明。
在实施方式1中,说明对非专利文献1中记载的函数型加密方式应用了关键技术的方式。但是,也可以对非专利文献2、3等中记载的函数型加密方式应用关键技术。
***关键技术***
在基于格子理论的函数型加密中,在与输入参数Y有关的秘密密钥生成中,关于由输入参数Y规定的矩阵AY、根据公开参数PP得到的矩阵u、范数比矩阵AY和矩阵u短的矩阵e,生成将满足矩阵目标等式“AY·e=u”的矩阵e作为密钥元素的秘密密钥。
在实施方式1中,使用根据公开参数PP得到的矩阵u中的与从包含多个值的集合N中选择出的值j有关的矩阵uj,生成将满足矩阵目标等式“AY·e=uj”的矩阵e作为密钥元素的秘密密钥。
在进行加密的情况下,无法确定选择了集合N中的哪个值作为值j,因此,对于集合N中包含的各值生成包含加密元素的密文。然后,在进行解密的情况下,使用与值j有关的加密元素和秘密密钥对密文进行解密。
***结构的说明***
根据图1对实施方式1的加密系统10的结构进行说明。
加密系统10具有密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100将参数即1n、1L、1N作为输入,执行Setup算法,生成公开参数PP和主密钥MK。并且,密钥生成装置100将公开参数PP、主密钥MK、输入参数Y即谓语向量v作为输入,执行KeyGen算法,生成与谓语向量v有关的秘密密钥skv
另外,在系统安装时等执行一次Setup算法,每当生成秘密密钥skv时执行KeyGen算法。并且,也可以设执行Setup算法的装置和执行KeyGen算法的装置为不同装置。
加密装置200将由密钥生成装置100生成的公开参数PP、属性向量w、示出0或1的1比特的消息M作为输入,执行Enc算法,生成密文CT。
解密装置300将由密钥生成装置100生成的公开参数PP和秘密密钥skv、由加密装置200生成的密文CT作为输入,执行Dec算法,输出0或1。
根据图2对实施方式1的密钥生成装置100的结构进行说明。
密钥生成装置100具有参数取得部110、主密钥生成部120、秘密密钥生成部130、参数公开部140、秘密密钥输出部150。
参数取得部110取得由加密系统10的管理者输入的参数即1n、1L、1N
参数取得部110取得由加密系统10的管理者输入的谓语向量v。这里,谓语向量v表示秘密密钥skv的用户的属性。
主密钥生成部120将由参数取得部110取得的1n、1L、1N作为输入,执行Setup算法,生成公开参数PP和主密钥MK。
主密钥生成部120具有基本矩阵选择部121、随机矩阵选择部122、随机向量选择部123。
秘密密钥生成部130将由主密钥生成部120生成的公开参数PP和主密钥MK、由参数取得部110取得的谓语向量v作为输入,执行KeyGen算法,生成与谓语向量v有关的秘密密钥skv
秘密密钥生成部130具有向量分解部131、谓语矩阵生成部132、密钥元素生成部133。
参数公开部140对由主密钥生成部120生成的公开参数PP进行公开。
这里,参数公开部140向公开用的服务器发送公开参数PP,能够经由因特网或局域网进行访问,由此对公开参数PP进行公开。也可以通过发送到加密装置200和解密装置300这样的其他方法对公开参数PP进行公开。
秘密密钥输出部150将由秘密密钥生成部130生成的秘密密钥skv秘密地输出到解密装置300。
这里,秘密密钥输出部150在利用某种加密方式对秘密密钥skv进行加密后经由网络进行发送,由此,秘密地输出秘密密钥skv。也可以通过存储在存储介质中然后将存储介质配送到解密装置300这样的其他方法,将秘密密钥skv秘密地输出到解密装置300。
根据图3对实施方式1的加密装置200的结构进行说明。
加密装置200具有参数取得部210、密文生成部220、密文输出部230。
参数取得部210取得由密钥生成装置100生成的公开参数PP。
参数取得部210取得由加密装置200的用户输入的属性向量w和消息M。这里,属性向量w表示能够对密文CT进行解密的用户的属性。并且,这里,消息M是示出0或1的1比特的值。
密文生成部220将由参数取得部210取得的公开参数PP、属性向量w和消息M作为输入,执行Enc算法,生成密文CT。
密文生成部220具有随机矩阵选择部221、随机数选择部222、噪声选择部223、加密元素生成部224。
密文输出部230将由密文生成部220生成的密文CT输出到解密装置300。
这里,密文输出部230经由网络向解密装置300发送密文CT,由此将密文CT输出到解密装置300。也可以通过存储在存储介质中然后将存储介质配送到解密装置300这样的其他方法,将密文CT输出到解密装置300。
根据图4对实施方式1的解密装置300的结构进行说明。
解密装置300具有参数取得部310、解密部320。
参数取得部310取得由密钥生成装置100生成的公开参数PP和秘密密钥skv
参数取得部310取得由加密装置200生成的密文CT。
解密部320将由参数取得部310取得的公开参数PP、秘密密钥skv和密文CT作为输入,执行Dec算法,输出0或1。即,解密部320输出通过秘密密钥skv对密文CT进行解密后的结果。
解密部320具有矩阵计算部321、值计算部322、结果输出部323。
***动作的说明***
根据图5~图8对实施方式1的加密系统10的动作进行说明。
实施方式1的加密系统10的动作相当于实施方式1的加密方法。并且,实施方式1的加密系统10的动作相当于实施方式1的加密程序的处理。
根据图5对实施方式1的Setup算法的处理进行说明。
如上所述,Setup算法由密钥生成装置100来执行。
在S101的参数取得处理中,参数取得部110取得作为Setup算法的输入的参数1n、1L、1N
这里,n是安全性参数,是1以上的整数。L是表示谓语向量v和属性向量w的长度的1以上的整数。N是2以上的整数。
在以下的说明中,设q是大于2的整数,m是大于n的整数。并且,设σ和α是正实数高斯参数。
在S102的基本矩阵选择处理中,基本矩阵选择部121选择矩阵A∈Zq n×m和数式11所示的向量的最大阶数集合TA。基本矩阵选择部121能够通过使用非专利文献1中记载的TrapGen算法,选择矩阵A和向量的最大阶数集合TA
【数式11】
这里,是对TA进行克施密特正交而得到的。ω是表示渐进的下限的记号,ω(√log m)是与√log m相同或稍大的意思。
在S103的随机矩阵选择处理中,随机矩阵选择部122选择与i=1,...,L的各整数i和γ=0,...,k的各整数γ有关的L·(k+1)个均匀且随机的矩阵Ai,γ∈Zq n×m
另外,Zq意味着将q作为除数的整数空间。并且,Zq a中的a表示元素数。因此,矩阵Ai,γ∈Zq n×m意味着将q作为除数的整数空间中的n行m列的矩阵。
在S104的随机向量选择处理中,随机向量选择部123选择与j=1,...,N的各整数j有关的j个均匀且随机的向量uj∈Zq n
在S105的密钥生成处理中,主密钥生成部120将在S102~S104中生成的矩阵A、L·(k+1)个矩阵Ai,γ、j个向量uj作为公开参数PP。并且,主密钥生成部120将在S102中生成的向量的集合TA作为主密钥MK。
在S106的参数公开处理中,参数公开部140对在S105中生成的公开参数PP进行公开。
根据图6对实施方式1的KeyGen算法的处理进行说明。
如上所述,KeyGen算法由密钥生成装置100来执行。
在S201的参数取得处理中,参数取得部110取得谓语向量v:=(v1,...,vL)∈Zq L。并且,秘密密钥生成部130取得由主密钥生成部120生成的公开参数PP和主密钥MK。
在S202的向量分解处理中,如数式12所示,向量分解部131对与i=1,...,L的各整数i有关的谓语向量v的元素vi进行二进制分解。
【数式12】
这里,vi,γ是0或1。
在S203的谓语矩阵生成处理中,谓语矩阵生成部132使用在S202中分解生成的值vi,γ、在S201中取得的公开参数PP中包含的矩阵Ai,γ,如数式13所示生成矩阵Cv和矩阵Av
【数式13】
这里,输入参数Y是谓语向量v,因此,矩阵Av相当于关键技术中说明的矩阵AY
在S204的索引选择处理中,密钥元素生成部133从集合[N]:=1,...,N中包含的值中随机选择值j。
在S205的密钥元素生成处理中,密钥元素生成部133针对在S204中选择出的值j,计算使得矩阵Av与向量e之积成为向量uj即成为Av·e=uj mod q的向量e。
这里,密钥元素生成部133将在S201中取得的公开参数PP中包含的矩阵A、在S203中生成的矩阵Cv、主密钥MK即集合TA、公开参数PP中包含的向量uj、高斯参数σ作为输入,执行SampleLeft算法,随机计算向量e。另外,SampleLeft算法记载在非专利文献1中。只要能够计算向量e即可,也可以是SampleLeft算法以外的方法。
在S206的秘密密钥输出处理中,秘密密钥输出部150输出将在S201中取得的谓语向量v、在S204中选择出的值j、在S205中计算出的向量e作为密钥元素的秘密密钥skv
根据图7对实施方式1的Enc算法的处理进行说明。
如上所述,Enc算法由加密装置200来执行。
在S301的参数取得处理中,参数取得部210取得由参数公开部140公开的公开参数PP。并且,参数取得部210取得属性向量w:=(w1,...,wL)和消息M∈{0,1}。
在S302的随机矩阵选择处理中,随机矩阵选择部221选择均匀且随机的矩阵B∈Zq n ×m
在S303的随机数选择处理中,随机数选择部222随机选择向量s∈Zq n
在S304的噪声选择处理中,噪声选择部223从概率分布中随机选择具有m个元素的噪声向量X,并且从概率分布中随机选择噪声项x。
这里,概率分布是以如下方式得到的Zq:=Z/qZ上的概率分布:针对α∈(0,1)和大于2的整数q,根据平均0、标准偏差α/√(2π)的正态分布(高斯分布)生成实数x,输出最接近qx的整数。
在S305的c0生成处理中,加密元素生成部224使用在S301中取得的公开参数PP中包含的矩阵A、在S303中选择出的向量s、在S304中生成的噪声向量X,如c0:=ATs+X那样计算矩阵c0
在S306的ci,γ生成处理中,加密元素生成部224针对i=1,...,L的各整数i和γ=0,...,k的各整数γ执行以下的(a)(b)。
(a)加密元素生成部224选择随机的矩阵Ri,γ∈{0,1}m×m。(b)加密元素生成部224使用在S301中取得的公开参数PP中包含的矩阵Ai,γ、在S301中取得的属性向量w、在S302中选择出的矩阵B、在S303中选择出的向量s、在S304中生成的噪声向量X,如ci,γ:=(Ai,γ+2γwiB)Ts+Ri,γ TX那样计算矩阵ci,γ
在S307的c’j生成处理中,加密元素生成部224针对j=1,...,N的各整数j,使用在S301中取得的公开参数PP中包含的向量uj、在S303中选择出的向量s、在S304中选择出的噪声项x、在S301中取得的消息M,如c’j:=uj Ts+x+M·“2/q”∈Zq那样计算矩阵c’j。即,加密元素生成部224针对集合[N]中包含的各值计算矩阵c’j
这里,“2/q”意味着最接近2/q的整数。
在S308的密文输出处理中,密文输出部230输出将在S305中计算出的矩阵c0、在S306中计算出的矩阵ci,γ、在S307中计算出的矩阵c’j作为加密元素的密文CT。
根据图8对实施方式1的Dec算法的处理进行说明。
如上所述,Dec算法由解密装置300来执行。
在S401的参数取得处理中,参数取得部310取得由参数公开部140公开的公开参数PP。并且,参数取得部310取得由秘密密钥输出部150输出的秘密密钥skv。并且,参数取得部310取得由密文输出部230输出的密文CT。
在S402的矩阵计算处理中,矩阵计算部321使用在S401中取得的秘密密钥skv中包含的谓语向量v、在S401中取得的密文CT中包含的矩阵ci,γ,如数式14所示计算矩阵cv
【数式14】
在S403的值计算处理中,值计算部322连接密文CT中包含的矩阵c0和在S402中计算出的矩阵cv而计算矩阵c。即,值计算部322设c:=[c0||cv]。
然后,值计算部322使用密文CT中包含的矩阵c’j、秘密密钥skv中包含的向量e、矩阵c,如z:=c’j-eTc mod q那样计算值z。
在S404的结果输出处理中,如果在S403中计算出的值z的绝对值|z|小于q/4,则结果输出部323输出0,如果在S403中计算出的值z的绝对值|z|不小于q/4,则结果输出部323输出1。
将噪声向量X和噪声项x记作“noise”。于是,如果谓语向量v与属性向量w的内积为0(v·w=0),则cv:=Σi=1 LΣγ=0 kvi,γci,γ=Cv Ts+noise。因此,c:=[c0||cv]=[A||Cv]Ts+noise=Av Ts+noise。由于Av·e=uj,因此,eTc=eTAv Ts+noise=uTs+noise。因此,z=M·"q/2"+noise。这里,“2/q”是最接近2/q的整数。
消息M是0或1,noise是从中选择出的,是较小的值。因此,如果绝对值|z|小于q/4,则消息M是0,如果绝对值|z|不小于q/4,则消息M是1。
***效果的说明***
如上所述,实施方式1的加密系统10实现基于格子理论的函数型加密方式。特别地,实施方式1的加密系统10使用与从包含多个值的集合N中选择出的值j有关的矩阵uj,生成将满足矩阵目标等式“Av·e=uj”的向量e作为密钥元素的秘密密钥skv
由此,能够使得不会从具有满足秘密密钥条件的属性的密文泄露多余信息。
另外,在上述函数型加密方式中,e和uj是向量。但是,根据应用关键技术的算法,e和uj成为矩阵。
并且,在上述说明中,针对矩阵AY、矩阵e、矩阵uj,生成将满足矩阵目标等式AY·e=uj的矩阵e作为密钥元素的秘密密钥。但是,矩阵AY、矩阵e、矩阵uj也可以改写成函数空间的元素。并且,矩阵AY、矩阵e、矩阵uj也可以改写成无限维度向量。
并且,在上述说明中,设矩阵e的范数比矩阵AY的范数短。
通过SampleLeft算法计算矩阵e。在SampleLeft算法中,根据高斯分布DΛ,σ进行采样来选择矩阵e。因此,矩阵e大致依照高斯分布DΛ,σ进行分布。
该情况下,标准偏差值σ将实质上的分布宽度规定成2σ√(m+m1)。标准偏差值σ大体上与O(√(n·(m+m1))·log q·log(m+m1))相同。因此,矩阵e的长度也使用适当的常数c,大致为c√(n·(m+m1))·log q·log(m+m1)。另外,m1是正整数。
图9是示出实施方式1的密钥生成装置100、加密装置200、解密装置300的硬件结构例的图。
密钥生成装置100、加密装置200、解密装置300是计算机。
密钥生成装置100、加密装置200、解密装置300具有处理器901、辅助存储装置902、存储器903、通信装置904、输入接口905、显示器接口906这样的硬件。
处理器901经由信号线910而与其它硬件连接,对这些其他硬件进行控制。
输入接口905通过缆线911而与输入装置907连接。
显示器接口906通过缆线912而与显示器908连接。
处理器901是进行处理的IC(Integrated Circuit:集成电路)。处理器901例如是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)、GPU(Graphics Processing Unit:图形处理单元)。
辅助存储装置902例如是ROM(Read Only Memory:只读存储器)、闪存、HDD(HardDisk Drive:硬盘驱动器)。
存储器903例如是RAM(Random Access Memory:随机存取存储器)。
通信装置904包含接收数据的接收机9041和发送数据的发送机9042。通信装置904例如是通信芯片或NIC(Network Interface Card:网络接口卡)。
输入接口905是连接输入装置907的缆线911的端口。输入接口905例如是USB(Universal Serial Bus:通用串行总线)端子。
显示器接口906是连接显示器908的缆线912的端口。显示器接口906例如是USB端子或HDMI(注册商标)(High Definition Multimedia Interface:高分辨率多媒体接口)端子。
输入装置907例如是鼠标、键盘或触摸面板。
显示器908例如是LCD(Liquid Crystal Display:液晶显示器)。
参数取得部110、参数公开部140、秘密密钥输出部150、参数取得部210、密文输出部230、参数取得部310由通信装置904来实现。参数取得部110、参数取得部210、参数取得部310也可以由输入接口905来实现。
结果输出部323由显示器接口906来实现。
在辅助存储装置902中存储有实现上述主密钥生成部120、基本矩阵选择部121、随机矩阵选择部122、随机向量选择部123、秘密密钥生成部130、向量分解部131、谓语矩阵生成部132、密钥元素生成部133、密文生成部220、随机矩阵选择部221、随机数选择部222、噪声选择部223、加密元素生成部224、解密部320、矩阵计算部321、值计算部322(下面,将主密钥生成部120、基本矩阵选择部121、随机矩阵选择部122、随机向量选择部123、秘密密钥生成部130、向量分解部131、谓语矩阵生成部132、密钥元素生成部133、密文生成部220、随机矩阵选择部221、随机数选择部222、噪声选择部223、加密元素生成部224、解密部320、矩阵计算部321、值计算部322统一记作“部”)的功能的程序。
该程序载入到存储器903,读入到处理器901,由处理器901来执行。
进而,在辅助存储装置902中还存储有OS(Operating System:操作系统)。
而且,OS的至少一部分载入到存储器903,处理器901执行OS,并且执行实现“部”的功能的程序。
在图9中图示出一个处理器901,但是,密钥生成装置100、加密装置200、解密装置300也可以具有多个处理器901。而且,多个处理器901也可以协作执行实现“部”的功能的程序。
并且,表示“部”的处理结果的信息、数据、信号值和变量值作为文件存储在存储器903、辅助存储装置902或处理器901内的寄存器或缓存中。
也可以利用“电路系统(circuitry)”来提供“部”。并且,也可以将“部”改写成“电路”或“工序”或“步骤”或“处理”。“电路”和“电路系统”是不仅包含处理器901,而且包含逻辑IC或GA(Gate Array:门阵列)或ASIC(Application Specific Integrated Circuit:面向特定用途的集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)这样的其他种类的处理电路的概念。
标号说明
10:加密系统;100:密钥生成装置;110:参数取得部;120:主密钥生成部;121:基本矩阵选择部;122:随机矩阵选择部;123:随机向量选择部;130:秘密密钥生成部;131:向量分解部;132:谓语矩阵生成部;133:密钥元素生成部;140:参数公开部;150:秘密密钥输出部;200:加密装置;210:参数取得部;220:密文生成部;221:随机矩阵选择部;222:随机数选择部;223:噪声选择部;224:加密元素生成部;230:密文输出部;300:解密装置;310:参数取得部;320:解密部;321:矩阵计算部;322:值计算部;323:结果输出部。

Claims (6)

1.一种加密系统,其中,所述加密系统具有:
密钥生成装置,其生成作为密钥元素包含矩阵e的秘密密钥,作为与输入参数Y有关的秘密密钥,其中,所述矩阵e使得由所述输入参数Y规定的矩阵AY与所述矩阵e之积,成为根据公开参数PP得到的多个矩阵u中的与包含多个值的集合[N]中的值j有关的矩阵uj
加密装置,其生成包含与所述集合[N]中包含的各值有关的加密元素的密文;以及
解密装置,其使用所述密文中包含的加密元素中的与所述值j有关的加密元素和所述秘密密钥,对所述密文进行解密。
2.根据权利要求1所述的加密系统,其中,
所述矩阵e的范数比所述矩阵AY和矩阵uj的范数短。
3.根据权利要求1或2所述的加密系统,其中,
与所述各值有关的加密元素是使用与该值有关的矩阵u生成的。
4.根据权利要求1~3中的任意一项所述的加密系统,其中,
所述矩阵AY是设定有作为所述输入参数Y的谓语向量v的矩阵Av
所述加密装置生成除了包含与所述各值有关的加密元素以外还包含设定有属性向量w的加密元素的密文。
5.根据权利要求4所述的加密系统,其中,
所述密钥生成装置生成数式1所示的矩阵e作为所述密钥元素,
所述加密装置生成数式2所示的c0、数式3所示的ci,γ、数式4所示的c’j作为所述加密元素,
所述解密装置进行数式5所示的计算,对所述密文进行解密,
【数式1】
Av·e=uj mod q,
<mrow> <mi>A</mi> <mo>&amp;Element;</mo> <msubsup> <mi>Z</mi> <mi>q</mi> <mrow> <mi>n</mi> <mo>&amp;times;</mo> <mi>m</mi> </mrow> </msubsup> <mo>,</mo> </mrow>
<mrow> <msub> <mi>C</mi> <mi>v</mi> </msub> <mo>:</mo> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>&amp;gamma;</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <mo>&amp;Element;</mo> <msubsup> <mi>Z</mi> <mi>q</mi> <mrow> <mi>n</mi> <mo>&amp;times;</mo> <mi>m</mi> </mrow> </msubsup> <mo>,</mo> </mrow>
<mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>&amp;gamma;</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mo>,</mo> </mrow> </msub> <mi>&amp;gamma;</mi> <mo>&amp;CenterDot;</mo> <mn>2</mn> <mi>&amp;gamma;</mi> <mo>,</mo> </mrow>
v:=(v1,...,vL),
n是1以上的整数,
m是n以上的整数,
q是大于2的整数,
L是1以上的整数,
【数式2】
c0:=ATs+X,
<mrow> <mi>s</mi> <mover> <mo>&amp;LeftArrow;</mo> <mi>U</mi> </mover> <msubsup> <mi>Z</mi> <mi>q</mi> <mi>n</mi> </msubsup> <mo>,</mo> </mrow>
<mrow> <mi>X</mi> <mover> <mo>&amp;LeftArrow;</mo> <mi>R</mi> </mover> <msubsup> <mover> <mi>&amp;phi;</mi> <mo>&amp;OverBar;</mo> </mover> <mi>&amp;alpha;</mi> <mi>m</mi> </msubsup> <mo>,</mo> </mrow>
上的概率分布,
【数式3】
<mrow> <msub> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <mo>:</mo> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>&amp;gamma;w</mi> <mi>i</mi> </msub> <mi>B</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mi>s</mi> <mo>+</mo> <msubsup> <mi>R</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> <mi>T</mi> </msubsup> <mi>X</mi> <mo>,</mo> </mrow>
w:=(w1,...,wL),
<mrow> <mi>B</mi> <mover> <mo>&amp;LeftArrow;</mo> <mi>U</mi> </mover> <msubsup> <mi>Z</mi> <mi>q</mi> <mrow> <mi>n</mi> <mo>&amp;times;</mo> <mi>m</mi> </mrow> </msubsup> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>R</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> <mi>T</mi> </msubsup> <mo>&amp;Element;</mo> <msup> <mrow> <mo>{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>}</mo> </mrow> <mrow> <mi>m</mi> <mo>&amp;times;</mo> <mi>m</mi> </mrow> </msup> </mrow>
【数式4】
<mrow> <msubsup> <mi>c</mi> <mi>j</mi> <mo>&amp;prime;</mo> </msubsup> <mo>:</mo> <mo>=</mo> <msubsup> <mi>u</mi> <mi>j</mi> <mi>T</mi> </msubsup> <mi>s</mi> <mo>+</mo> <mi>x</mi> <mo>+</mo> <mi>M</mi> <msup> <mo>&amp;CenterDot;</mo> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mn>2</mn> <mo>/</mo> <msup> <mi>q</mi> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>&amp;Element;</mo> <msub> <mi>Z</mi> <mi>q</mi> </msub> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi> </mi> <mi>j</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mi>N</mi> <mo>&amp;rsqb;</mo> <mo>,</mo> </mrow>
<mrow> <mi>x</mi> <mover> <mo>&amp;LeftArrow;</mo> <mi>R</mi> </mover> <msub> <mover> <mi>&amp;phi;</mi> <mo>&amp;OverBar;</mo> </mover> <mi>&amp;alpha;</mi> </msub> <mo>,</mo> </mrow>
M∈{0,1},
″2/q″是最接近2/q的整数,
【数式5】
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>c</mi> <mi>v</mi> </msub> <mo>:</mo> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>&amp;gamma;</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <msub> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>&amp;gamma;</mi> </mrow> </msub> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>c</mi> <mo>:</mo> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mn>0</mn> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>c</mi> <mi>v</mi> </msub> <mo>&amp;rsqb;</mo> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>z</mi> <mo>:</mo> <mo>=</mo> <msubsup> <mi>c</mi> <mi>j</mi> <mo>&amp;prime;</mo> </msubsup> <mo>-</mo> <msup> <mi>e</mi> <mi>T</mi> </msup> <mi>c</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mi> </mi> <mi>q</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> <mo>.</mo> </mrow>
6.一种密钥生成装置,其中,所述密钥生成装置具有:
参数取得部,其取得输入参数Y和公开参数PP;以及
秘密密钥生成部,其生成矩阵e作为秘密密钥的密钥元素,所述矩阵e使得由所述参数取得部取得的输入参数Y规定的矩阵AY与所述矩阵e之积,成为根据公开参数PP得到的多个矩阵u中的与包含多个值的集合[N]中的值j有关的矩阵uj
CN201580078523.0A 2015-04-07 2015-04-07 加密系统和密钥生成装置 Active CN107454975B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/060825 WO2016162941A1 (ja) 2015-04-07 2015-04-07 暗号システム及び鍵生成装置

Publications (2)

Publication Number Publication Date
CN107454975A true CN107454975A (zh) 2017-12-08
CN107454975B CN107454975B (zh) 2020-11-27

Family

ID=57072424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078523.0A Active CN107454975B (zh) 2015-04-07 2015-04-07 加密系统和密钥生成装置

Country Status (5)

Country Link
US (1) US10516534B2 (zh)
EP (1) EP3282437B1 (zh)
JP (1) JP6305638B2 (zh)
CN (1) CN107454975B (zh)
WO (1) WO2016162941A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006842B1 (ja) * 2015-07-22 2016-10-12 日本電信電話株式会社 秘密計算装置、その方法、およびプログラム
JP6849860B2 (ja) * 2017-10-17 2021-03-31 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 格子暗号法のために構成可能な装置
WO2019157503A1 (en) 2018-02-12 2019-08-15 Massachusetts Institute Of Technology Systems and methods for providing secure communications using a protocol engine
KR20210130196A (ko) * 2019-02-19 2021-10-29 메사추세츠 인스티튜트 오브 테크놀로지 양자-보안 사물 인터넷을 위한 설정가능한 래티스 암호 프로세서 및 관련된 기법들
JP2023544198A (ja) * 2020-10-05 2023-10-20 エヌティーティー リサーチ インコーポレイテッド 分散型マルチ権限属性ベース暗号
CN114095170B (zh) * 2022-01-20 2022-05-27 北京信安世纪科技股份有限公司 数据处理方法、装置、系统及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1759561A (zh) * 2003-03-10 2006-04-12 三菱电机株式会社 量子密钥配送方法及通信装置
CN102598576A (zh) * 2009-10-29 2012-07-18 三菱电机株式会社 数据处理装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142579A (en) 1991-01-29 1992-08-25 Anderson Walter M Public key cryptographic system and method
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
JP5349261B2 (ja) 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
EP2503533B1 (en) 2009-11-20 2016-10-05 Mitsubishi Electric Corporation Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method and cipher processing program
JP5325755B2 (ja) 2009-12-11 2013-10-23 株式会社エヌ・ティ・ティ・データ 暗号文復号権限委譲システム、暗号文復号権限委譲方法、暗号文変換装置、復号権限所持者用装置および暗号文変換プログラム
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices
JP5693206B2 (ja) 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5513444B2 (ja) 2011-05-31 2014-06-04 日本電信電話株式会社 ベクトル構成システム、方法、装置及びプログラム並びに暗号システム
JP5651609B2 (ja) 2012-01-23 2015-01-14 日本電信電話株式会社 検索可能暗号システム、検索装置、計算装置、及びプログラム
JP5670366B2 (ja) * 2012-01-27 2015-02-18 日本電信電話株式会社 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP5730805B2 (ja) * 2012-04-04 2015-06-10 日本電信電話株式会社 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
US8566601B1 (en) * 2012-09-12 2013-10-22 Zeutro Llc Systems and methods for functional encryption using a string of arbitrary length
JP5852551B2 (ja) * 2012-11-12 2016-02-03 日本電信電話株式会社 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
JP6115573B2 (ja) 2012-11-30 2017-04-19 日本電気株式会社 暗号システム、データ保存システム、それに用いる装置および方法
JP2014186097A (ja) * 2013-03-22 2014-10-02 Kddi Corp 公開鍵暗号化方式における並列GaussSieveアルゴリズムを用いた最短ベクトル問題の求解装置、求解方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1759561A (zh) * 2003-03-10 2006-04-12 三菱电机株式会社 量子密钥配送方法及通信装置
CN102598576A (zh) * 2009-10-29 2012-07-18 三菱电机株式会社 数据处理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XAGAWA K.: "《Improved (Hierarchical) Inner-Product Encryption from Lattices》", 《IACR EPRINT》 *

Also Published As

Publication number Publication date
US20180357933A1 (en) 2018-12-13
EP3282437A4 (en) 2018-04-04
CN107454975B (zh) 2020-11-27
JPWO2016162941A1 (ja) 2017-06-01
EP3282437B1 (en) 2021-10-27
JP6305638B2 (ja) 2018-04-04
US10516534B2 (en) 2019-12-24
WO2016162941A1 (ja) 2016-10-13
EP3282437A1 (en) 2018-02-14

Similar Documents

Publication Publication Date Title
Xiong et al. Color image chaos encryption algorithm combining CRC and nine palace map
Wu et al. Cryptanalysis and enhancements of image encryption based on three-dimensional bit matrix permutation
CN108898025B (zh) 基于双重置乱和dna编码的混沌图像加密方法
Ye et al. An efficient symmetric image encryption algorithm based on an intertwining logistic map
CN105046636B (zh) 基于混沌系统与核酸序列库的数字图像加密方法
CN107454975A (zh) 加密系统和密钥生成装置
Ye et al. An effective framework for chaotic image encryption based on 3D logistic map
Lai et al. High-efficiency medical image encryption method based on 2D Logistic-Gaussian hyperchaotic map
CN113297606B (zh) 基于多混沌与dna运算的彩色量子图像加密及解密方法
CN102404111B (zh) 一种采用不确定加密算法的分段加密方法
Kumar et al. IEHC: An efficient image encryption technique using hybrid chaotic map
EP2750322A1 (en) Cryptography processing device and cryptography processing method
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
CN107392970B (zh) 一种基于位平面和高维混沌系统的数字图像加密方法
CN107078906A (zh) 公钥加密系统
JP2004523183A (ja) データ、情報および機能変換のカモフラージュのための方法および装置
Koppu et al. A fast enhanced secure image chaotic cryptosystem based on hybrid chaotic magic transform
Wang et al. Cross-plane multi-image encryption using chaos and blurred pixels
CN110169010A (zh) 同态运算装置、加密系统和同态运算程序
Som et al. A colour image encryption based on DNA coding and chaotic sequences
Şatir et al. A symmetric DNA encryption process with a biotechnical hardware
CN110225222B (zh) 一种基于3d正交拉丁方和混沌系统的图像加密方法
Wang et al. A novel algorithm for image encryption based on couple chaotic systems
CN108124076A (zh) 基于异构混沌和keccak哈希函数的图像加密方法
CN112769545A (zh) 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法

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