密钥共享系统、共享密钥生成装置及共享密钥复原装置制造方法及图纸

技术编号:3515694 阅读:163 留言:0更新日期:2012-04-11 18:40
一种密钥共享系统,由共享密钥生成装置和共享密钥复原装置构成,并不让第三者知道地生成共享密钥,其特征在于:    所述共享密钥生成装置具有:    生成种子值的种子值生成装置;    根据已生成的所述种子值生成验证值和共享密钥的第1共享密钥生成装置;    对已生成的所述验证值进行加密后再生成第1加密信息的第1加密装置;    根据已生成的所述验证值对已生成的所述种子值进行加密后再生成第2加密信息的第2加密装置;以及    发送已生成的所述第1加密信息和所述第2加密信息的发送装置,    所述共享密钥复原装置具有:    接收所述第1加密信息和所述第2加密信息的接收装置;    将已接收的所述第1加密信息解密后生成第1解密验证值的第1解密装置;    根据已生成的所述第1解密验证值,将已接收的所述第2加密信息解密后生成解密种子值的第2解密装置;    利用和所述第1共享密钥生成装置相同的方法,并根据已生成的所述解密种子值生成第2解密验证值和解密共享密钥的第2共享密钥生成装置;    根据已生成的所述第1解密验证值和所述第2解密验证值判断是否输出已生成的所述解密共享密钥的判断装置;以及    当判断要输出时输出已生成的所述解密共享密钥的输出装置。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及作为信息安全技术的密码技术,特别涉及不让第3者知道而配送密钥的技术。
技术介绍
过去,为了从发送装置向接收装置秘密发送信息,使用了公开密钥密码方式。在公开密钥密码方式中,发送装置使用接收装置的公开密钥加密后再发送通信内容,接收装置接收已加密的通信内容,并使用自身的秘密密钥对已接收的通信内容进行解密,得到原来的通信内容。(例如,参照非专利文献1)。1996年,作为可高速处理的公开密钥密码,提出了NTRU密码(例如,参照非专利文献2)。在NTRU密码中,因使用可进行高速运算的多项式运算进行加密和解密,故若与进行幂乘运算的RSA密码或进行椭圆曲线上点的标量乘积运算的椭圆曲线密码比较,利用软件可以进行比现有的公开密钥密码更高速的处理。但是,在该NTRU密码中,当使用公开密钥对明码文加密后生产加密文,并使用正规的秘密密钥对加密文解密后生成解密文时,会产生解密文与原来的明码文不同的情况。将该现象称作发生解密错误。再有,作为避免解密错误的方法,公开了一种对明码文添加附加信息后再加密,并和明码文的散列函数值一起发送的方法(例如,参照非专利文献1)。另一方面,近年来,作为公开密钥密码的新概念,提出了称之为密钥密封机制(Key Encapsulation Mechanisms)的方式(例如,参照非专利文献3)。该密钥密封机制是使用公开密钥密码在发送装置和接收装置之间进行共享密钥配送的算法,发送装置将接收者的公开密钥pk输给加密算法E,再生成加密文C和共享密钥K,并将加密文C传送给接收装置。其次,接收装置将秘密密钥sk和加密文C输给解密算法D,再求出和发送装置相同的共享密钥K。这样,在使用密钥密封机制使发送装置和接收装置对共享密钥K进行共享之后,发送装置利用公共密钥密码方式并使用共享密钥K对应向接收装置发送的明码文进行加密,生成加密文,并将生成的加密文发送给接收装置。接收装置接收加密文,利用上述公共密钥密码方式并使用共享密钥K对已接收的加密文进行解密,再生成解密文。密钥密封机制的过去所没有的特征在于,在从发送者向接收者单方向发送信息,但发送者不能有意生成共享密钥,从而限制了发送者的非法行为。作为这样的密钥密封机制,公开了一种称之为PSEC-KEM的算法(例如,参照非专利文献3和非专利文献4)。下面,说明非专利文献4中记载的PSEC-KEM算法。(1)PSEC-KEM的系统参数PSEC-KEM具有以下系统参数。.椭圆曲线E.椭圆曲线上的位数n的点P.散列函数G、H再有,关于椭圆曲线、位数及散列函数,在非专利文献1中已有详细记载,这里省略其说明。(2)PSEC-KEM的公开密钥和秘密密钥.随机选取Zn的要素x,生成W=x*P。这里,Zn是由{0,1,---n-1}构成的集合,x*P表示通过将x个椭圆曲线上的点P相加后得到的椭圆曲线上的点。再有,关于椭圆曲线上的点相加的方法,在非专利文献1中已有记述。.设公开密钥pk为(E.P.W.n),秘密密钥sk为x。(3)PSEC-KEM的加密在加密时,向下述加密算法KemE输入公开密钥pk再输出共享密钥K和加密文C。下面,说明加密算法KemE。.随机生成和散列函数H的输出位长长度相同的s。.生成G(s)并分割G(s)生成a和K。a是由G(s)的高位多位构成的位列,K是由剩下的位构成的位列。这里,G(s)=a||K。‘||’是表示位结合的运算符。即,若a和K结合,则得到G(s)。.生成R=a*P,Q=a*W。.生成v=sxor H(R||Q)。这里,xor表示“异”运算。.输出共享密钥K和加密文C=(R,v)。(4)PSEC-KEM的解密解密时,向下述解密算法KemD输入加密文C=(R,v)、公开密钥pk和秘密密钥sk再输出共享密钥K。下面,说明解密算法KemD。.生成Q=x*R。.生成s=v xor H(R||Q)。.生成G(s)并将G(s)分割成G(s)=a||K。.检验R=a*P是否成立。若成立则输出共享密钥K。当将该PSEC-KEM算法应用于在发送装置和接收装置之间进行加密通信的密码系统时,首先,发送装置取得通信目的地接收装置的公开密钥pk,并将取得的公开密钥pk输入到前述的加密算法KemE中,再导出共享密钥K和加密文C,再将加密文C发送给接收装置。其次,接收装置从发送装置接收加密文C,将已接收的加密文C和自身具有的公开密钥pk、秘密密钥sk输入到前述的解密算法KemD,导出和发送装置导出的相同的共享密钥K。下面,进一步详细说明。现在,PSEC-KEM算法将散列函数H的输入作为(a*P||a*W),使H(a*P||a*W)的值作用于在加密算法KemE中随机生成的要素s,生成v。接着,在解密算法KemD中使用秘密密钥sk(=x),可以从R=a*P中求出Q=x*R=x*(a*P)=a*(x*P)=a*W,所以,使H(a*P||a*W)的值作用于v,可以求出在加密算法KemK中生成的随机要素s。因此,加密算法KemE和解密算法KemD可以向散列函数G输入相同的s的值,并可以导出相同的共享密钥K。结果,具有秘密密钥sk的接收装置可以导出和发送装置所导出的相同的共享密钥K。另一方面,不知道秘密密钥sk的其他接收装置即使取得公共密钥pk并接收到加密文C,因不知道秘密密钥sk(=x),故不能根据R=a*P计算出Q=a*W(=(ax)*P),不能导出和发送装置所导出的相同的共享密钥K。这是因为,不知道秘密密钥sk的其他接收装置只能利用公开密钥pk,在上述计算中利用公开密钥pk去代替秘密密钥sk(=x),但是,一般,根据a*P和W=x*P求Q=a*W(=(ax)*P)被称作椭圆曲线上的Diffie-Hellman问题,若不知道a或x的值,则很难进行计算(例如,参照非专利文献5)。即,在PSEC-KEM算法中,使用不使用秘密密钥而根据a*P计算a*W较为困难的Diffie-Hellman问题,并最终导出共享密钥K,从而若不知道秘密密钥,则不能导出该共享密钥K。由以上可知,发送装置和接收装置可以共同秘密地拥有共享密钥K,将使用秘密密钥密码从发送装置向接收装置通信的通信内容数据,使用共享密钥K以公共密钥密码的形式对其进行加密。(专利文献1)特开2002-252611号公报(非专利文献1)冈本龙明、山本博资,“现代密码”,系列/信息科学的数学、产业图书,1997(非专利文献2)Jeffery Hoffstein,Jill Pipher and Joseph H.Silverman,“NTRUA ring based public key cryptosystem”,Lecture Notesin Computer Science,1423,pp.267-288,Springer-Verlag,1988. (非专利文献3)Victor Shoup,“A proposal for an ISO standard for publickey encryption(version2.1)”,,2001年12月20日,,Internet<URLhttp//shoup.net/papers/iso-2_1.pdf> (非专利文献4)Tatsuaki Oka本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:山道将人布田裕一大森基司馆林诚
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利