隐匿分析装置、隐匿分析系统、隐匿分析方法和隐匿分析程序

文档序号:1205589 发布日期:2020-09-01 浏览:10次 >En<

阅读说明:本技术 隐匿分析装置、隐匿分析系统、隐匿分析方法和隐匿分析程序 (Concealment analysis device, concealment analysis system, concealment analysis method, and concealment analysis program ) 是由 川合丰 平野贵人 小关义博 于 2018-01-17 设计创作,主要内容包括:加密装置(50)生成使用加密令牌(etk)对信息(x)进行加密而成的密文(ct)。解密密钥生成装置(60)使用与加密令牌(etk)对应的解密令牌(dtk),根据设定有向量(y)的用户秘密密钥(sk)生成解密密钥(dk)。隐匿分析装置(70)利用由解密密钥生成装置(60)生成的解密密钥(dk)对由加密装置(50)生成的密文(ct)进行解密,生成关于向量(x)和向量(y)的运算结果。(An encryption device (50) generates a ciphertext (ct) that is obtained by encrypting information (x) using an encryption token (etk). A decryption key generation device (60) generates a decryption key (dk) from a user secret key (sk) to which a vector (y) is set, using a decryption token (dtk) corresponding to the encryption token (etk). A secret analysis device (70) decrypts a ciphertext (ct) generated by an encryption device (50) by using a decryption key (dk) generated by a decryption key generation device (60), and generates an operation result about a vector (x) and a vector (y).)

隐匿分析装置、隐匿分析系统、隐匿分析方法和隐匿分析程序

技术领域

本发明涉及在加密的状态下执行运算的技术。

背景技术

作为原则,当对数据进行了加密时,不解密就无法浏览和编辑内部的数据。因此,在编辑多个密文的数据的情况下,需要在将密文一次解密成明文之后进行編集,再次进行加密。

存在能够计算内积的函数型加密(以下,称作内积加密)(参照专利文献1和非专利文献1)。在内积加密中,在执行加密时设定向量x,在用户秘密密钥中设定向量y,在对密文进行解密时输出向量x与向量y的内积<x,y>。即,内积加密是能够在加密的状态下计算内积的加密。在以下的说明中,将向量x与向量y的内积写作<x,y>。

内积加密分成可单一输入的内积加密和可多个输入的内积加密。关于可单一输入的内积加密,在解密时能够计算的内积仅为1个。与此相对,可多个输入的内积加密能够在秘密密钥中设定是N个向量y1,…,yN,能够在解密时以N个密文为输入而计算<x1,y1>+<x2,y2>+…+<xN,yN>。

现有技术文献

专利文献

专利文献1:日本特开2009-272995号公报

非专利文献

非专利文献1:Multi-Input Functional Encryption for Inner Products:Function-Hiding Realizations and Constructions without Pairings MichelAbdalla and Dario Catalano and Dario Fiore and Romain Gay and Bogdan Ursu inCryptology ePrint Archive:

发明内容

发明要解决的课题

非专利文献1记载的方法能够计算N个内积之和。但是,在非专利文献1记载的方法中,只要是至少持有一个用户秘密密钥并且能够执行加密的用户,就能够类推与密文相关联的向量。

关于可多个输入的内积加密,可期待在不对上传到云的多个密文进行解密的情况下进行内积这样的分析。但是,如非专利文献1记载的方法那样,在原本不应该泄漏的、各个密文中设定的信息例如内积的情况下,向量的值会泄漏。

本发明的目的在于,能够在加密的状态下进行内积这样的运算,防止密文中设定的信息泄漏。

用于解决课题的手段

本发明的隐匿分析装置具有:

密文取得部,其取得使用加密令牌etk对信息x进行加密而成的密文ct;以及

解密部,其利用使用与所述加密令牌etk对应的解密令牌dtk根据设定有信息y的用户秘密密钥sk生成的解密密钥dk,对由所述密文取得部取得的所述密文ct进行解密,生成关于所述信息x和所述信息y的运算结果。

发明效果

在本发明中,不是利用用户秘密密钥sk而是利用使用解密令牌dtk根据用户秘密密钥sk生成的解密密钥dk,生成关于信息x和信息y的运算结果。即使具有用户秘密密钥sk也无法进行运算,因此,能够防止信息泄漏给具有用户秘密密钥sk的用户。

附图说明

图1是实施方式1的隐匿分析系统10的结构图。

图2是实施方式1的主密钥生成装置20的结构图。

图3是实施方式1的用户秘密密钥生成装置30的结构图。

图4是实施方式1的令牌生成装置40的结构图。

图5是实施方式1的加密装置50的结构图。

图6是实施方式1的解密密钥生成装置60的结构图。

图7是实施方式1的隐匿分析装置70的结构图。

图8是示出实施方式1的主密钥生成装置20的动作的流程图。

图9是示出实施方式1的用户秘密密钥生成装置30的动作的流程图。

图10是示出实施方式1的令牌生成装置40的动作的流程图。

图11是示出实施方式1的加密装置50的动作的流程图。

图12是示出实施方式1的解密密钥生成装置60的动作的流程图。

图13是示出实施方式1的隐匿分析装置70的动作的流程图。

图14是示出变形例2的主密钥生成装置20的结构图。

图15是变形例2的用户秘密密钥生成装置30的结构图。

图16是变形例2的令牌生成装置40的结构图。

图17是变形例2的加密装置50的结构图。

图18是变形例2的解密密钥生成装置60的结构图。

图19是变形例2的隐匿分析装置70的结构图。

具体实施方式

实施方式1.

***结构的说明***

参照图1,说明实施方式1的隐匿分析系统10的结构。

隐匿分析系统10具有主密钥生成装置20、1台以上的用户秘密密钥生成装置30、1台以上的令牌生成装置40、1台以上的加密装置50、1台以上的解密密钥生成装置60和1台以上的隐匿分析装置70。

主密钥生成装置20、用户秘密密钥生成装置30、令牌生成装置40、加密装置50、解密密钥生成装置60和隐匿分析装置70经由传输路径90连接。作为具体例,传输路径90是互联网或LAN(Local Area Network:局域网)。

参照图2,说明实施方式1的主密钥生成装置20的结构。

主密钥生成装置20具有处理器21、内存22、存储器23和通信接口24这样的硬件。处理器21经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,主密钥生成装置20具有参数取得部211、主密钥生成部212和发送部213。主密钥生成装置20的各功能结构要素的功能通过软件来实现。

在存储器23存储有实现主密钥生成装置20的各功能结构要素的功能的程序。该程序被处理器21读入内存22中,由处理器21执行。由此,实现主密钥生成装置20的各功能结构要素的功能。

此外,存储器23实现主密钥存储部231的功能。

参照图3,说明实施方式1的用户秘密密钥生成装置30的结构。

用户秘密密钥生成装置30具有处理器31、内存32、存储器33和通信接口34这样的硬件。处理器31经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,用户秘密密钥生成装置30具有主密钥取得部311、向量取得部312、用户秘密密钥生成部313和发送部314。用户秘密密钥生成装置30的各功能结构要素的功能通过软件来实现。

在存储器33存储有实现用户秘密密钥生成装置30的各功能结构要素的功能的程序。该程序被处理器31读入内存32中,由处理器31执行。由此,实现用户秘密密钥生成装置30的各功能结构要素的功能。

此外,存储器33实现主密钥存储部331的功能。

参照图4,说明实施方式1的令牌生成装置40的结构。

令牌生成装置40具有处理器41、内存42、存储器43和通信接口44这样的硬件。处理器41经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,令牌生成装置40具有向量选择部411、令牌生成部412和发送部413。令牌生成装置40的各功能结构要素的功能通过软件来实现。

在存储器43存储有实现令牌生成装置40的各功能结构要素的功能的程序。该程序被处理器41读入内存42中,由处理器41执行。由此,实现令牌生成装置40的各功能结构要素的功能。

参照图5,说明实施方式1的加密装置50的结构。

加密装置50具有处理器51、内存52、存储器53和通信接口54这样的硬件。处理器51经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,加密装置50具有主密钥取得部511、令牌取得部512、向量取得部513、加密部514和发送部515。加密装置50的各功能结构要素的功能通过软件来实现。

在存储器53存储有实现加密装置50的各功能结构要素的功能的程序。该程序被处理器51读入内存52中,由处理器51执行。由此,实现加密装置50的各功能结构要素的功能。

此外,存储器53实现主密钥存储部531和令牌存储部532的功能。

参照图6,说明实施方式1的解密密钥生成装置60的结构。

解密密钥生成装置60具有处理器61、内存62、存储器63和通信接口64这样的硬件。处理器61经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,解密密钥生成装置60具有用户秘密密钥取得部611、令牌取得部612、解密密钥生成部613和发送部614。解密密钥生成装置60的各功能结构要素的功能通过软件来实现。

在存储器63存储有实现解密密钥生成装置60的各功能结构要素的功能的程序。该程序被处理器61读入内存62中,由处理器61执行。由此,实现解密密钥生成装置60的各功能结构要素的功能。

存储器63实现用户秘密密钥存储部631和令牌存储部632的功能。

参照图7,说明实施方式1的隐匿分析装置70的结构。

隐匿分析装置70具有处理器71、内存72、存储器73和通信接口74这样的硬件。处理器71经由信号线而与其他硬件连接,对这些其他硬件进行控制。

作为功能结构要素,隐匿分析装置70具有密文取得部711、解密密钥取得部712、解密部713和发送部714。隐匿分析装置70的各功能结构要素的功能通过软件来实现。

在存储器73存储有实现隐匿分析装置70的各功能结构要素的功能的程序。该程序被处理器71读入内存72中,由处理器71执行。由此,实现隐匿分析装置70的各功能结构要素的功能。

存储器73实现密文存储部731和解密密钥存储部732的功能。

处理器21、31、41、51、61、71是进行运算处理的IC(Integrated Circuit:集成电路)。作为具体例,处理器21、31、41、51、61、71是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)和GPU(Graphics ProcessingUnit:图形处理单元)。

内存22、32、42、52、62、72是临时存储数据的存储装置。作为具体例,内存22、32、42、52、62、72是SRAM(Static Random Access Memory:静态随机存取存储器)和DRAM(Dynamic Random Access Memory:动态随机存取存储器)。

存储器23、33、43、53、63、73是保管数据的存储装置。作为具体例,存储器23、33、43、53、63、73是HDD(Hard Disk Drive:硬盘驱动器)。此外,存储器23、33、43、53、63、73也可以是SD(注册商标,Secure Digital:安全数字)存储卡、CF(CompactFlash:致密闪存,注册商标)、NAND闪存、软盘、光盘、压缩盘、Blu-ray(注册商标)盘、DVD(Digital VersatileDisk:数字多功能盘)这样的移动存储介质。

通信接口24、34、44、54、64、74是用于与外部装置进行通信的接口。作为具体例,通信接口24、34、44、54、64、74是Ethernet(注册商标)、USB(Universal Serial Bus:通用串行总线)、HDMI(注册商标,High-Definition Multimedia Interface:高清晰度多媒体接口)的端口。

在图2中,仅示出一个处理器21。但是,主密钥生成装置20也可以具有替代处理器21的多个处理器。同样,用户秘密密钥生成装置30也可以具有替代处理器31的多个处理器。令牌生成装置40也可以具有替代处理器41的多个处理器。加密装置50也可以具有替代处理器51的多个处理器。解密密钥生成装置60也可以具有替代处理器61的多个处理器。隐匿分析装置70也可以具有替代处理器71的多个处理器。

这些多个处理器分担执行实现各功能结构要素的功能的程序。与处理器21、31、41、51、61、71同样,各个处理器是进行运算处理的IC。

***动作的说明***

参照图8~图13,说明实施方式1的隐匿分析系统10的动作。

隐匿分析系统10使用现有的可单一输入的内积加密。作为具体例,现有的可单一输入的内积加密是非专利文献1记载的方式。

可单一输入的内积加密具有Setup算法、KeyGen算法、Enc算法和Dec算法。

Setup算法是主密钥生成算法。Setup算法以密钥的比特长度λ为输入,生成主秘密密钥msk和主公开密钥mpk。

KeyGen算法是用户秘密密钥生成算法。KeyGen算法以m维向量y和主密钥mk为输入,生成秘密密钥sk。m为1以上的整数。

Enc算法是加密算法。Enc算法以m维向量x和主密钥mk为输入,生成密文ct。

Dec算法是解密算法。Dec算法以密文ct和秘密密钥sk为输入,生成向量x与向量y的内积<x,y>。

参照图8,说明实施方式1的主密钥生成装置20的动作。

实施方式1的主密钥生成装置20的动作相当于实施方式1的主密钥生成方法。此外,实施方式1的主密钥生成装置20的动作相当于实施方式1的主密钥生成程序的处理。

(步骤S11:参数取得处理)

参数取得部211取得密钥的比特长度λ。

具体而言,参数取得部211取得通过经由通信接口24连接的输入装置等输入的密钥的比特长度λ。参数取得部211将密钥的比特长度λ写入到内存22中。

另外,在除了密钥的比特长度λ以外还存在必要的参数的情况下,参数取得部211还取得该参数。

(步骤S12:主密钥生成处理)

主密钥生成部212生成主密钥mk。

具体而言,主密钥生成部212从内存22读出密钥的比特长度λ。主密钥生成部212关于i=1,…,n的各整数i,以密钥的比特长度λ为输入执行Setup算法,生成主秘密密钥mski与主公开密钥mpki的对。n为1以上的整数。主密钥生成部212将关于i=1,…,n的各整数i的主秘密密钥mski与主公开密钥mpki的集合视为主密钥mk。即,mk:=(msk1,msk2,…,mskn,mpk1,mpk2,…,mpkn)。主密钥生成部212将主密钥mk写入到内存22中。

另外,在需要生成随机数以执行Setup算法的情况下,主密钥生成部212也可以具有随机数生成功能。

(步骤S13:发送处理)

发送部213将主密钥mk发送到用户秘密密钥生成装置30和加密装置50。

具体而言,发送部213从内存22读出主密钥mk。发送部213经由通信接口24将主密钥mk发送到用户秘密密钥生成装置30和加密装置50。

然后,用户秘密密钥生成装置30的主密钥取得部311经由通信接口34接收主密钥mk。主密钥取得部311将主密钥mk写入到主密钥取得部311中。此外,加密装置50的主密钥取得部511经由通信接口54接收主密钥mk。主密钥取得部511将主密钥mk写入到主密钥存储部531中。

另外,发送部213也可以仅将主密钥mk中的主秘密密钥msk1,msk2,…,mskn发送到用户秘密密钥生成装置30,仅将主密钥mk中的主公开密钥mpk1,mpk2,…,mpkn发送到加密装置50。

此外,发送部213将主密钥mk写入到主密钥存储部231中。

参照图9,说明实施方式1的用户秘密密钥生成装置30的动作。

实施方式1的用户秘密密钥生成装置30的动作相当于实施方式1的用户秘密密钥生成方法。此外,实施方式1的用户秘密密钥生成装置30的动作相当于实施方式1的用户秘密密钥生成程序的处理。

(步骤S21:向量取得处理)

向量取得部312取得关于i=1,…,n的各整数i的m维向量yi

具体而言,向量取得部312取得通过经由通信接口24连接的输入装置等输入的向量yi。向量取得部312将向量yi写入到内存32中。

(步骤S22:用户秘密密钥生成处理)

用户秘密密钥生成部313生成关于i=1,…,n的各整数i的用户秘密密钥ski

具体而言,用户秘密密钥生成部313从内存32读出关于i=1,…,n的各整数i的向量yi。此外,用户秘密密钥生成部313从主密钥存储部331读出主密钥mk。用户秘密密钥生成部313关于i=1,…,n的各整数i,以向量yi和主秘密密钥mski为输入执行KeyGen算法,生成用户秘密密钥ski。用户秘密密钥ski包含设定有向量yi的密钥keyi和向量yi。用户秘密密钥生成部313将用户秘密密钥ski写入到内存32中。

另外,在需要生成随机数以执行KeyGen算法的情况下,用户秘密密钥生成部313也可以具有随机数生成功能。

(步骤S23:发送处理)

发送部314将关于i=1,…,n的各整数i的用户秘密密钥ski发送到解密密钥生成装置60。

具体而言,发送部314从内存32读出关于i=1,…,n的各整数i的用户秘密密钥ski。发送部314经由通信接口34将关于i=1,…,n的各整数i的用户秘密密钥ski发送到解密密钥生成装置60。

然后,解密密钥生成装置60的用户秘密密钥取得部611接收关于i=1,…,n的各整数i的用户秘密密钥ski。用户秘密密钥取得部611将关于i=1,…,n的各整数i的用户秘密密钥ski写入到用户秘密密钥存储部631中。

这里,是通过1个用户秘密密钥生成装置30生成关于i=1,…,n的各整数i的用户秘密密钥ski。但是,也可以通过多个用户秘密密钥生成装置30生成关于i=1,…,n的各整数i的用户秘密密钥ski。例如,也可以通过关于i=1,…,n的各整数i的用户秘密密钥生成装置30i生成用户秘密密钥ski

参照图10,说明实施方式1的令牌生成装置40的动作。

实施方式1的令牌生成装置40的动作相当于实施方式1的令牌生成方法。此外,实施方式1的令牌生成装置40的动作相当于实施方式1的令牌生成程序的处理。

(步骤S31:向量选择处理)

向量选择部411选择关于i=1,…,n的各整数i的m维向量ui

具体而言,向量选择部411使用随机数生成功能等随机地选择关于i=1,…,n的各整数i的m维向量ui。向量选择部411将向量ui写入到内存42中。

(步骤S32:令牌生成处理)

令牌生成部412生成关于i=1,…,n的各整数i的加密令牌etki和解密令牌dtk。解密令牌dtk对应于关于i=1,…,n的各整数i的加密令牌etki

具体而言,令牌生成部412从内存42读出关于i=1,…,n的各整数i的向量ui。令牌生成部412关于i=1,…,n的各整数i,将向量ui视为加密令牌etki。即,etki:=ui。此外,令牌生成部412将关于i=1,…,n的各整数i的向量ui的集合视为解密令牌dtk。即,dtk:=(u1,u2,…,un)。令牌生成部412将关于i=1,…,n的各整数i的加密令牌etki和解密令牌dtk写入到内存42中。

(步骤S33:发送处理)

发送部413将关于i=1,…,n的各整数i的加密令牌etki发送到加密装置50。此外,发送部413将解密令牌dtk发送到解密密钥生成装置60。

具体而言,发送部413从内存42读出关于i=1,…,n的各整数i的加密令牌etki和解密令牌dtk。发送部413经由通信接口44将关于i=1,…,n的各整数i的加密令牌etki发送到加密装置50。此外,发送部413经由通信接口44将解密令牌dtk发送到解密密钥生成装置60。

然后,加密装置50的令牌取得部512经由通信接口54接收关于i=1,…,n的各整数i的加密令牌etki。令牌取得部512将关于i=1,…,n的各整数i的加密令牌etki写入到令牌存储部532中。此外,解密密钥生成装置60的令牌取得部612经由通信接口64接收解密令牌dtk。令牌取得部612将解密令牌dtk写入令牌存储部632中。

这里,是通过1个令牌生成装置40生成关于i=1,…,n的各整数i的加密令牌etki。但是,也可以通过多个令牌生成装置40生成关于i=1,…,n的各整数i的加密令牌etki。例如,也可以通过关于i=1,…,n的各整数i的令牌生成装置40i生成加密令牌etki。在该情况下,从各令牌生成装置40向某一令牌生成装置40发送关于i=1,…,n的各整数i的加密令牌etki,通过某一令牌生成装置40生成解密令牌dtk。

参照图11,说明实施方式1的加密装置50的动作。

实施方式1的加密装置50的动作相当于实施方式1的加密方法。此外,实施方式1的加密装置50的动作相当于实施方式1的加密程序的处理。

(步骤S41:向量取得处理)

向量取得部513取得关于i=1,…,n的各整数i的m维向量xi

具体而言,向量取得部513取得通过经由通信接口54连接的输入装置等输入的向量xi。向量取得部513将向量xi写入到内存32中。

(步骤S42:加密处理)

加密部514关于i=1,…,n的各整数i,生成设定有向量xi的密文cti

具体而言,加密部514从主密钥存储部531读出主密钥mk。此外,加密部514从令牌存储部532读出关于i=1,…,n的各整数i的加密令牌etki。此外,加密部514从内存52读出关于i=1,…,n的各整数i的向量xi

加密部514关于i=1,…,n的各整数i,生成向量xi与加密令牌etki之和作为消息mi。即,mi:=xi+etki=xi+ui。加密部514关于i=1,…,n的各整数i,以消息mi和主公开密钥mpki为输入执行Enc算法,生成密文cti。加密部514将密文cti写入到内存52中。

另外,在需要生成随机数以执行Enc算法的情况下,加密部514也可以具有随机数生成功能。

(步骤S43:发送处理)

发送部515将关于i=1,…,n的各整数i的密文cti发送到隐匿分析装置70。

具体而言,发送部515从内存52读出关于i=1,…,n的各整数i的密文cti。发送部515经由通信接口54将关于i=1,…,n的各整数i的密文cti发送到隐匿分析装置70。

然后,隐匿分析装置70的密文取得部711经由通信接口74接收关于i=1,…,n的各整数i的密文cti。密文取得部711将关于i=1,…,n的各整数i的密文cti写入到密文存储部731中。

这里。是通过1个加密装置50生成关于i=1,…,n的各整数i的密文cti。但是,也可以通过多个加密装置50生成关于i=1,…,n的各整数i的密文cti。例如,也可以通过关于i=1,…,n的各整数i的加密装置50i生成密文cti。在该情况下,在图10的步骤S33中,将关于i=1,…,n的各整数i的加密令牌etki发送到加密装置50i。

参照图12,说明实施方式1的解密密钥生成装置60的动作。

实施方式1的解密密钥生成装置60的动作相当于实施方式1的解密密钥生成方法。此外,实施方式1的解密密钥生成装置60的动作相当于实施方式1的解密密钥生成程序的处理。

(步骤S51:解密密钥生成处理)

解密密钥生成部613生成解密密钥dk。

具体而言,解密密钥生成部613从用户秘密密钥存储部631读出关于i=1,…,n的各整数i的用户秘密密钥ski。此外,解密密钥生成部613从令牌存储部632读出解密令牌dtk。

解密密钥生成部613计算关于i=1,…,n的各整数i的向量yi与向量ui的内积之和作为密钥元素z。即,z:=Σi=1 n<xi,ui>。这里,向量yi包含在用户秘密密钥ski中。此外,向量ui包含在解密令牌dtk中。

解密密钥生成部613将关于i=1,…,n的各整数i的用户秘密密钥ski与密钥元素z的集合视为解密密钥dk。解密密钥生成部613将解密密钥dk写入到内存62中。

(步骤S52:发送处理)

发送部614将解密密钥dk发送到隐匿分析装置70。

具体而言,发送部614从内存62读出解密密钥dk。发送部614经由通信接口64将解密密钥dk发送到隐匿分析装置70。

然后,隐匿分析装置70的解密密钥取得部712经由通信接口74接收解密密钥dk。解密密钥取得部712将解密密钥dk写入到解密密钥存储部732中。

参照图13,说明实施方式1的隐匿分析装置70的动作。

实施方式1的隐匿分析装置70的动作相当于实施方式1的隐匿分析方法。此外,实施方式1的隐匿分析装置70的动作相当于实施方式1的隐匿分析程序的处理。

(步骤S61:解密处理)

解密部713利用解密密钥dk,对关于i=1,…,n的各整数i的密文cti进行解密,生成关于i=1,…,n的各整数i的向量xi与向量yi的运算结果D。这里,密文cti是使用加密令牌etki对信息xi(向量xi)进行加密而生成的。此外,解密密钥dk是使用与关于i=1,…,n的各整数i的加密令牌etki对应的解密令牌dtk根据设定有信息yi(向量yi)的用户秘密密钥ski而生成的。

具体而言,解密部713从密文存储部731读出关于i=1,…,n的各整数i的密文cti。此外,解密部713从解密密钥存储部732读出解密密钥dk。

解密部713关于i=1,…,n的各整数i,以密文cti和用户秘密密钥ski为输入执行Dec算法,生成解密数据Di。解密部713从关于i=1,…,n的各整数i的解密数据Di之和中减去密钥元素z,生成运算结果D。即,D:=(Σi=1 nDi)-z。解密部713将运算结果D写入到内存72中。

这里,Di=<(xi+ui),yi>。因此,Σi=1 nDi=Σi=1 n<(xi+ui),yi>。此外,z:=Σi=1 n<xi,ui>。因此,D:=(Σi=1 nDi)-z=Σi=1 n<(xi+ui),yi>-Σi=1 n<xi,ui>=Σi=1 n<xi,yi>。即,运算结果D为关于i=1,…,n的各整数i的向量xi与向量yi的内积之和。

这里,为了得到运算结果D,需要解密密钥dk而不是用户秘密密钥sk。因此,即使在将用户秘密密钥sk分布给用户的情况下,用户也无法使用用户秘密密钥sk计算运算结果D。

为了得到运算结果D,需要将用户秘密密钥sk给与解密密钥生成装置60,并且将与用于生成运算对象密文cti的加密令牌etki对应的解密令牌dtk给与解密密钥生成装置60。因此,即使在将用户秘密密钥sk发布给用户的情况下,用户也无法自由地得到运算结果D。

(步骤S62:发送处理)

发送部714将运算结果D发送到显示装置这样的输出装置。

具体而言,发送部714从内存72读出运算结果D。发送部714经由通信接口74将运算结果D发送到显示装置这样的输出装置。

***实施方式1的效果***

如上所述,实施方式1的隐匿分析系统10能够在不对密文ct进行解密的情况下计算密文ct中设定的向量x与用户秘密密钥sk中设定的向量y的内积。而且,实施方式1的隐匿分析系统10需要使用解密令牌dtk根据用户秘密密钥sk生成的解密密钥dk以计算向量x与向量y的内积,而不需要用户秘密密钥sk。因此,能够防止向量x与向量y的内积、向量x这样的信息泄漏给具有用户秘密密钥sk的用户。

***其他结构***

<变形例1>

在实施方式1中,是将如下的技术应用于内积加密:使用加密令牌etk生成密文ct,使用与加密令牌对应的解密令牌dtk根据用户秘密密钥sk生成解密密钥dk。由此,能够在防止信息泄漏的同时,计算密文ct中设定的向量x与用户秘密密钥sk中设定的向量y的内积即运算结果D。

通过将上述技术应用于在加密的状态下进行其他运算的加密技术而不应用于内积加密,还能够在防止信息泄漏的同时,计算进行不是内积的其他运算而得到的运算结果。此外,在该情况下,密文和用户秘密密钥中设定的可能不是向量x和向量y,而是任意形式的信息x和信息y。

<变形例2>

在实施方式1中,是通过软件实现各功能结构要素。但是,作为变形例2,也可以通过硬件实现功能结构要素。关于该变形例2,说明与实施方式1不同的点。

参照图14,说明变形例2的主密钥生成装置20的结构。

在通过硬件实现功能的情况下,主密钥生成装置20替代处理器21、内存22和存储器23而具有电子电路25。电子电路25是实现主密钥生成装置20的功能结构要素、内存22和存储器23的功能的专用电路。

参照图15,说明变形例2的用户秘密密钥生成装置30的结构。

在通过硬件实现功能的情况下,用户秘密密钥生成装置30替代处理器31、内存32和存储器33而具有电子电路35。电子电路35是实现用户秘密密钥生成装置30的功能结构要素、内存32和存储器33的功能的专用电路。

参照图16,说明变形例2的令牌生成装置40的结构。

在通过硬件实现功能的情况下,令牌生成装置40替代处理器41、内存42和存储器43而具有电子电路45。电子电路45是实现令牌生成装置40的功能结构要素、内存42和存储器43的功能的专用电路。

参照图17,说明变形例2的加密装置50的结构。

在通过硬件实现功能的情况下,加密装置50替代处理器51、内存52和存储器53而具有电子电路55。电子电路55是实现加密装置50的功能结构要素、内存52和存储器53的功能的专用电路。

参照图18,说明变形例2的解密密钥生成装置60的结构。

在通过硬件实现功能的情况下,解密密钥生成装置60替代处理器61、内存62和存储器63而具有电子电路65。电子电路65是实现解密密钥生成装置60的功能结构要素、内存62和存储器63的功能的专用电路。

参照图19,说明变形例2的隐匿分析装置70的结构。

在通过硬件实现功能的情况下,隐匿分析装置70替代处理器71、内存72和存储器73而具有电子电路75。电子电路75是实现隐匿分析装置70的功能结构要素、内存72和存储器73的功能的专用电路。

电子电路25、35、45、55、65、75假设是单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑IC、GA(Gate Array:门阵列)、ASIC(Application SpecificIntegrated Circuit:面向特定用途的集成电路)、FPGA(Field-Programmable GateArray:现场可编程门阵列)。

可以通过一个电子电路25实现主密钥生成装置20的各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个电子电路25中实现。同样,关于用户秘密密钥生成装置30、令牌生成装置40、加密装置50、解码密钥生成装置60和隐匿分析装置70,可以分别通过一个电子电路35、45、55、65、75实现各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个电子电路35、45、55、65、75中实现。

<变形例3>

作为变形例3,也可以通过硬件实现一部分功能,通过软件实现其他功能。即,也可以通过硬件实现各功能结构要素中的一部分功能,通过软件实现其他功能。

将处理器21、31、41、51、61、71、内存22、32、42、52、62、72、存储器23、33、43、53、63、73和电子电路25、35、45、55、65、75称作处理电路。即,各功能结构要素的功能通过处理电路实现。

标号说明

10:隐匿分析系统;20:主密钥生成装置;21:处理器;22:内存;23:存储器;24:通信接口;25:电子电路;211:参数取得部;212:主密钥生成部;213:发送部;231:主密钥存储部;30:用户秘密密钥生成装置;31:处理器;32:内存;33:存储器;34:通信接口;35:电子电路;311:主密钥取得部;312:向量取得部;313:用户秘密密钥生成部;314:发送部;331:主密钥存储部;40:令牌生成装置;41:处理器;42:内存;43:存储器;44:通信接口;45:电子电路;411:向量选择部;412:令牌生成部;413:发送部;50:加密装置;51:处理器;52:内存;53:存储器;54:通信接口;55:电子电路;511:主密钥取得部;512:令牌取得部;513:向量取得部;514:加密部;515:发送部;531:主密钥存储部;532:令牌存储部;60:解密密钥生成装置;61:处理器;62:内存;63:存储器;64:通信接口;65:电子电路;611:用户秘密密钥取得部;612:令牌取得部;613:解密密钥生成部;614:发送部;631:用户秘密密钥存储部;632:令牌存储部;70:隐匿分析装置;71:处理器;72:内存;73:存储器;74:通信接口;75:电子电路;711:密文取得部;712:解密密钥取得部;713:解密部;714:发送部;731:密文存储部;732:解密密钥存储部。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:获取数字签名的数据的计算机实现方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!