CN100535962C - 加密系统、加密装置、解密装置和集成电路 - Google Patents
加密系统、加密装置、解密装置和集成电路 Download PDFInfo
- Publication number
- CN100535962C CN100535962C CNB2005800055361A CN200580005536A CN100535962C CN 100535962 C CN100535962 C CN 100535962C CN B2005800055361 A CNB2005800055361 A CN B2005800055361A CN 200580005536 A CN200580005536 A CN 200580005536A CN 100535962 C CN100535962 C CN 100535962C
- Authority
- CN
- China
- Prior art keywords
- ring
- desirable
- decryption
- parameter
- key
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
与现有技术相比可进行更高速处理的加密通信系统,包括加密装置和解密装置,在加密装置和解密装置之间共用p=3且q=2^k(k:2以上的整数)的参数(S161)。解密装置使用该参数来生成公钥和私钥(S162~S165)。加密装置使用解密装置的公钥来进行明文的加密(S166~S170)。解密装置使用解密装置的私钥对密文进行解密(S171~S173)。
Description
技术领域
本发明涉及作为信息安全技术的加密技术,尤其涉及不发生解密错误的加密。
背景技术
现有技术中,作为在发送装置和接收装置之间实现秘密通信的方法,提出了使用公钥(公開鍵)加密的加密通信。若简单说明现有的加密通信,则是发送装置使用接收装置的公钥来加密通信内容后加以发送,接收装置接收加密后的通信内容,并使用自身的私钥(秘密鍵)来解密该内容而得到原始的通信内容的方法(例如,参考非专利文献1)。这里,从公钥的值来计算私钥的值很困难。在使用该方法的一般的加密通信系统中,发送装置和接收装置同时存在多个。首先,发送装置取得通信端接收装置的公钥。该公钥与通信端接收装置具有的私钥成对,并在该系统中是公开的。并且,发送装置通过如上所取得的公钥来加密应通信的数据内容而加以发送。另一方面,接收装置接收如上那样加密后的通信内容数据。并且,接收装置通过自身具有的私钥来对加密后的通信内容数据进行解密后得到原始的通信内容数据。
1996年,作为可进行高速处理的公钥加密,提出了NTRU(NTRUcryptosystems的商标)加密(例如,参考非专利文献2)。该NTRU加密与在某个模下进行幂乘余数运算的RSA(Rivest ShamirAdleman)加密和进行椭圆曲线上的点的数乘(スカラ倍)运算的椭圆曲线加密相比,通过可进行高速运算的多项式运算来进行加密和解密。因此,与现有的公钥加密相比可以更高速进行处理,且在软件处理中也有实时进行加密和解密处理的可能。
因此,在将NTRU加密用于公钥加密的加密通信系统中,与使用了现有的公钥加密的加密通信系统相比,有发送装置和接收装置的处理可以更高速进行的优点。
对于该NTRU加密方式,由于在非专利文献2中进行了详细描述,所以这里省略详细的说明,而在下面进行简单说明。
<NTRU加密方式>
(1)NTRU加密的参数
NTRU加密具有非负整数的参数N、p、q、df、dg、d。下面,说明这些参数的含义。
(i)参数N
NTRU加密是通过多项式运算来进行加密和解密的公钥加密方式。通过上述参数N来决定在NTRU加密中处理的多项式的次数。
在NTRU加密中处理的多项式对于上述参数N,是(N-1)次以下的整数系数多项式,例如N=5时,是X^4+X^3+1等的多项式。这里,“X^a”是指X的a次幂。另外,加密时或解密时所用的公钥h、私钥f、明文m、随机数r和密文c都表现为(N-1)次以下的多项式。
并且,多项式运算使用对上述参数N,“X^N=1”的关系式,来进行运算,使得运算结果总是为(N-1)次以下的多项式。例如,在N=5的情况下,多项式X^4+X^2+1和多项式X^3+X的积在设多项式和多项式的积为“×”,整数和多项式的积(或整数和整数的积)为“·”时,根据“X^5=1”的关系计算为
(X^4+X^2+1)×(X^3+X)
=X^7+2·X^5+2·X^3+X
=X^2×1+2·1+2·X^3+X
=2·X^3+X^2+2
这样总是为(N-1)次以下的多项式。
(ii)参数p、q
NTRU加密中,使用为2以上的整数的参数p、q。NTRU加密中出现的多项式的系数取以p、q为模的余数。如在非专利文献2中所记载的,该参数p、q需要彼此为互质。
(iii)参数df、dg、d
NTRU加密中处理的作为私钥的一部分的多项式f、生成作为公钥的多项式h时与多项式f一起使用的多项式g、以及加密明文时使用的作为随机数的多项式r的选择分别通过参数df、dg和d来决定。
首先,多项式f选择为df个系数是1,且(df-1)个系数是-1,且其余系数为0。即,多项式f是(N-1)次以下的多项式,具有0次(常数项)到(N-1)次的N个系数。选择多项式f,使得该N个系数中,df个系数是1,且(df-1)个系数是-1,且(N-2df+1)个系数为0。
并且,多项式g选择为dg个系数是1,且dg个系数是-1,且其余系数为0。另外,作为随机数的多项式r,选择为d个系数是1,且d个系数是-1,且其余系数为0。
非专利文献2中作为NTRU加密的参数的例子,举出了(N,p,q,df,dg,d)=(107,3,64,15,12,5)、(N,p,q,df,dg,d)=(167,3,128,61,20,18)、(N,p,q,df,dg,d)=(503,3,256,216,77,55)三个例子。
(2)NTRU加密的密钥生成
NTRU加密中,如上所述,使用参数df和dg来分别随机生成多项式f和多项式g。并且,如在非专利文献2中所记载的,使用具有Fq×f=1(mod q)的关系的多项式Fq,通过
h=Fq×g(mod q)
来生成多项式h。这里,a(mod b)表示用b除a时的余数。
另外,NTRU加密中,私钥是(f,Fp),公钥是h。
这里,“x=y(mod q)”是为了使余数限制在0到q-1的范围中,而将用模q除多项式y的第i次的系数的余数,作为多项式x的第i次的系数的运算(0≤i≤N-1)。即,是为了限制在0到(q-1)的范围中,而将对y的各系数实施了q运算(求出用q除时的余数的运算、模q的余数运算)的多项式作为多项式x的运算。
(3)NTRU加密的加密化
在NTRU加密的加密中,加密作为明文的多项式m,来计算作为密文的多项式c。首先,随机生成作为上述多项式的随机数r。即,随机数r是(N-1)次以下的多项式,有0次(常数项)到(N-1)次N个系数,但是随机选择多项式(随机数)r,使得该N个系数中,d个系数是1,且d个系数是-1,且(N-2d)个系数为0。
并且,使用该随机数r和公钥h,来对系数为0、1或-1的(N-1)次以下的明文m,通过
c=p·r×h+m(mod q)
来生成密文c。
该运算如上所述,是为了限制在0到q-1的范围中,将对多项式(p·r×h+m)的各系数实施了mod q运算后的多项式作为多项式c的运算。
(4)NTRU加密的解密化
在NTRU加密的解密化中,解密作为密文的多项式c,来计算作为解密电文的多项式m’。在解密时,首先,对密文c,使用作为私钥的一部分的多项式f,通过
a=f×c(mod q*)
来计算多项式a。
这里,(mod q*)与上述的(mod q)运算不同,是为了限制在<-q/2>+1到<q/2>的范围中,而将用模q除多项式(f×c)的第i次的系数时的余数,作为多项式a的第i次的系数的运算(0≤i≤N-1)。即,在系数是<q/2>到q-1之间的值的情况下,从系数中减去q,而调整为限制在上述范围中。这里,<x>表示在x以下的数中最大的数。例如,<-1/2>=-1。
接着,对多项式a,使用参数p,通过
b=a(mod p)
来生成多项式b。
并且,对多项式b,使用作为私钥的一部分的多项式Fp,通过
m’=Fp×b(mod p*)
来计算解密电文m’。
另外,该(mod p*)的运算如上所述,是为了限制在<-p/2>+1到<p/2>的范围中,而将用模p除多项式(Fp×b)的第i次的系数时的余数,作为多项式m’的第i次的系数的运算。
另外,对于该NTRU加密,上述参数全部是p=3的参数,但是除了该参数之外,还公开了p=2的参数(例如,参考非专利文献3)。另外,如在非专利文献2中所记载的,在p=3的情况下,明文m是系数为0、1或-1这三个值的多项式,但是在p=2的情况下,明文m是系数为0或1这二个值的多项式。并且,作为私钥的多项式f、多项式g、随机数r与p=2还是p=3无关,是系数为0、1或-1这三个值的多项式。
另外,对于该NTRU加密,还公开了在密钥生成处理中,为了满足
h=p·Fq×g(mod q)
而生成公钥h,并通过
c=r×h+m(mod q)
来进行加密处理的方法(例如参考非专利文献5)。
但是,上述的NTRU加密使用公钥来加密明文而生成密文,即使使用正规的私钥来解密密文生成解密电文,也产生解密电文与原来的明文不同的情况(例如,参考非专利文献2)。其称作产生了解密错误(decryption failure)。非专利文献2所记载的NTRU加密因上述参数的选取方法解密错误的产生概率变化,但是已知在该文献所公开的参数中任何一个都以10^(-5)左右的概率产生解密错误(例如,参考非专利文献3)。
与此相对,近年来,提出了通过将参数限定于后述的参数,在解密时追加使解密错误发生概率降低的计算,从而使解密错误概率为2^(-100)以下的作为新的NTRU加密方式的、称作NTRUEncrypt的方式(例如,参考非专利文献4)。
对于该NTRUEncrypt方式,在非专利文献4中进行了详细描述,所以这里省略详细的说明,下面进行简单说明。
<NTRUEncrypt方式>
(1)NTRUEncrypt的参数
NTRUEncrypt中,具有非负整数的参数N、p、q、df、dg、d。非专利文献4中作为NTRUEncrypt的参数仅公开了(N,p,q,df,dg,d)=(251,2,239,72,72,72)的参数。NTRUEncrypt中,这些参数中,参数df、dg、d的含义与NTRU加密不同。
以下,以与上述NTRU加密的差异点为中心,来说明这些参数的含义。
(i)参数N
NTRUEncrypt与NTRU加密相同,是通过多项式运算来进行加密和解密的公钥加密方式。与NTRU加密相同,NTRUEncrypt中进行处理的多项式对于上述参数N,是(N-1)次以下的整数系数多项式,多项式运算使用X^N=1的关系式,来进行运算,使得运算结果总是为(N-1)次以下的多项式。
(ii)参数p、q
NTRUEncrypt中,如上述相同,使用p=2,且q=239的参数p、q。该参数p、q彼此互质。
(iii)参数df、dg、d
NTRUEncrypt中处理的作为私钥的一部分的多项式f,生成作为公钥的多项式h时与多项式f一起使用的多项式g、和加密明文时使用的作为随机数的多项式r的选择方法分别通过参数df、dg、d来决定。
首先,选择df个系数为1,且其余系数为0这样的(N-1)次以下的多项式f。
并且,选择dg个系数是1,且其余系数为0这样的(N-1)次以下的多项式。另外,作为随机数r,同样选择d个系数是1,且其他的系数为0这样的(N-1)次以下的多项式。
即,相对在NTRU加密中,作为多项式f、g、r,选择了系数为0、1或-1的多项式,在NTRUEncrypt中,作为多项式f、g、r,选择系数为0或1的多项式,在这一方面与NTRU加密不同。
(2)NTRUEncrypt的密钥生成
NTRUEncrypt中,如上所述,使用参数df、dg来随机生成多项式f、g。并且,如在非专利文献4中所记载的,使用Fq×f=1(mod q)的多项式Fq,通过
h=p·Fq×g(mod q)
来生成多项式h。另外,在NTRUEncrypt中,设私钥为(f,Fp)、公钥是多项式h。
(3)NTRUEncrypt的加密化
NTRUEncrypt中,首先,随机生成如上这样的随机数r。即,使用参数d,随机选择d个系数是1、且其余系数是0的(N-1)次以下的多项式,来作为随机数r。
并且,使用该随机数r和公钥h,对系数为0或1的(N-1)次以下的明文m,通过
c=r×h+m(mod q)
来生成密文c。
该运算如上所述,是为了限制在0到(q-1)的范围中,而将对多项式(r×h+m)的各系数实施了mod q运算后的多项式作为多项式c的运算。
另外,如在NTRU加密的说明中所描述的,在密钥生成处理中,生成公钥h,使其满足
h=Fq×g(mod q)
并通过
c=p·r×h+m(mod q)
来进行加密处理,由于密文c的值相同,所以没有本质上的不同。
(4)NTRUEncrypt的解密化
解密时,首先,对密文c,使用作为私钥的一部分的多项式f,通过a=f×c(mod q**)来计算多项式a。
这里,(mod q**)与上述的(mod q)运算不同,是为了限制在合适的幅度q的区间,而将模q除多项式(f×c)的第i次的系数时的余数,作为多项式a的第i次的系数的运算(0≤i≤N-1)。具体的运算方法在非专利文献4中,由称作中心1(center1)或中心2(center2)的算法来加以规定。
以下,表示center2的算法。
(center2算法)
步骤1:设作A=f×c(mod q),计算I1=(A(1)-p×d×dg)/(df(-1)mod q)mod q。这里,A(1)表示将1代入多项式A的变量x时的值。
步骤2:为了使I1进入到<(N-q)/2>+1到<(N+q)/2>的范围中,而将q的倍数加I1进行调整时的值设作I2(当然,满足I2=I1 modq)。
步骤3:计算J=df×I2+p×d×dg。
步骤4:为了使A的各系数进入到<J/N-q/2>+1到<J/N+q/2>的范围,而将q的倍数加各系数来进行调整后的多项式设作a(=f×c(modq**))。
该运算是为使解密错误发生概率减少而进行的处理。
接着,对多项式a,使用参数p,通过
b=a(mod p)
来生成多项式b。
并且,对多项式b,使用作为私钥的一部分的多项式Fp,通过
m’=Fp×b(mod p)
来生成解密电文m’。
另外,对于该NTRUEncrypt,还公开了选择df个系数为1,且其余系数为0这样的(N-1)次以下的多项式F,来通过f=1+p·F的式来构成多项式f的方式(例如,参考非专利文献4)。该方式如在非专利文献4中所记载的,由于是多项式f为f=1+p·F的形式,故Fp×f=1(mod p)的多项式Fp是Fp=1(mod p),所以不需要与在解密处理中进行的多项式Fp的多项式的相乘,通过
m’=a(mod p)
可以生成解密电文m’。
该NTRUEncrypt通过在解密时进行使解密错误发生概率减少的处理,是与NTRU加密相比解密错误很难发生的方式,但是该解密错误发生概率仅表示为2^(-100)以下,还不知道解密错误发生概率为0,即完全不发生解密错误的方法。
另外,虽然NTRU加密和NTRUEncrypt都使用多项式来表现运算,但是在专利文献1中将其表现为一般环R的元。具体的,将上述的多项式作为环R的元,p、q是环R的理想(ideal)。
专利文献1:日本专利特表2000-516733号公报
非专利文献1:岡山龍明、山本博資、“現代暗号”、シリ一ズ(现代加密,丛书)/情報科学の数学、産業図書(信息科学的数学、产业图书)1997
非专利文献2:Jeffery Hoffstein,Jill Pipher,and Joseph H.Silverman,“NTRU:A ring based public key cryptosystem”,LectureNotes in Computer Science,1423,pp.267-288,Springer-Verlag,1998
非专利文献3:Joseph H.Silverman,“NTRU CryptosystemsTechnical Report#011,Version 2,Wraps,Gaps,and LatticeConstants”,“online”、2001年3月15日,“2003年12月15日检索”,互联网<URL:http://www.ntru.com/cryptolab/pdf/NTRUTech011_v2.pdf>
非专利文献4:Joseph H.Silverman,W.Whyte“NTRUCryptosystems Technical Report#018,Version 1,EstimatingDecryption Failure Probabilities for NTRUEncrypt”,“online”、2003年,“2003年12月15日检索”,互联网<URL:http://www.ntru.com/cryptolab/pdf/NTRUTech018.pdf>
非专利文献5:NTRU Cryptosystems,Inc.,“The NTRU PublicKey Cryptosystem-A Tutorial”,“online”、“2003年12月15日检索”,互联网<URL:http://www.ntru.com/cryptolab/pdf/ntrututorials.pdf>
非专利文献6:Nick Howgrave-Graham,Joseph H.Silverman,andW.Whyte“NTRU Cryptosystems Technical Report#004,Version 2,A Meet-In-The-Middle Attack on an NTRU Private Key”,“online”,2003年,“2003年12月15日检索”,互联网<URL:http://www.ntru.com/cryptolab/pdf/NTRUTech018.pdf>“The NTRUPublic Key Cryptosystem-A Tutorial”“online”、“2003年12月15日检索”互联网<URL:http://www.ntru.com/cryptolab/pdf/NTRUTech004v2.pdf>
非专利文献7:Jeffery Hoffstein,Joseph H.Silverman,and WilliamWhyte“NTRU Cryptosystems Technical Report#012,Version 2,Estimated Breaking Times for NTRU Lattices”,“online”、2003年,“2003年12月15日检索”,互联网<URL:http://www.ntru.com/cryptolab/pdf/NTRUTech012v2.pdf>
但是,在上述的NTRUEncrypt方式中,由于q是2之外的质数,所以在加密处理和解密处理中进行的多项式系数的利用模q的余数运算比NTRU加密方式难。因此,有与NTRU加密方式相比,加密处理和解密处理的处理速度变慢的问题。
另外,在上述的NTRUEncrypt方式中,由于解密错误发生概率不是0,所以在适用于在发送装置和接收装置之间进行加密通信的加密通信系统的情况下,有在接收装置中不能正确得到发送装置发送的数据内容的情况这样的问题。
发明内容
本发明为解决上述现有的问题而做出,第一目的是新构成比NTRUEncrypt方式更高速的NTRU加密方式,并通过将新构成的NTRU加密方式适用于加密系统,从而进一步提供高速的加密系统。
另外,第二目的是新构成解密错误在原理上不发生的NTRU加密方式,并通过将新构成的NTRU加密方式适用于加密系统,从而提供在接收装置中总是能正确得到发送装置发送的数据内容的加密系统。
为了实现上述目的,本发明的加密系统,包括:加密装置,根据预定的加密方式加密明文来生成密文;解密装置,根据所述预定的加密方式来解密所述密文而生成解密电文,其特征在于:所述解密装置具有:密钥生成部,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥,其中,a(mod b)表示b除a后的余数;和解密部,使用所述私钥来解密所述密文而生成所述解密电文;所述加密装置具有:加密部,使用所述公钥和从所述环R随机选择的元r,来加密所述明文而生成所述密文;所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,其中,2^k表示对1进行k次乘以2后的结果,*表示环R的乘法。
如上所述,来定义q。因此,在q是整数的情况下,q是2的幂乘,可以通过位屏蔽运算来进行模q的余数运算(mod q运算)。因此,加密系统可以高速进行处理。
另外,所述密钥生成部中,所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;所述理想p相对所述环R的元pg为p=pg*R,所述理想q相对所述环的元qg为q=qg*R;所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于判断解密错误有无发生的错误条件信息。进一步,所述错误条件信息是表示用于使解密错误不发生的条件的条件式。具体地,所述条件式是Min(dg,d)+df<(qg-1)/p,其中,Min(a,b)表示a和b中小的数。
若设置参数,使其满足上述的条件式,则如后文在实施方式中所述,多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,不发生解密错误。
本发明不仅可以作为具有这种特征手段的加密系统实现,还可以作为以加密系统中包含的特征手段为步骤的加密方法实现,或作为使计算机起到构成加密系统的加密装置和解密装置中包含的特征手段的作用的程序来实现。并且,这种程序当然也可以经CD-ROM(Compact Disc-Read Only Memory:紧致盘-只读存储器)等记录媒体或互联网等的通信网络来流通。
发明的效果
根据本发明,通过新构成与现有的最快的NTRUEncrypt方式相比可进行更高速处理的NTRU加密方式,或将该NTRU加密方式适用于加密通信,可以构成比现有技术更高速处理的加密系统。
另外,通过构成解密错误在原理上不发生的NTRU加密方式,或将该NTRU加密方式适用于加密系统,可以构成在解密装置中总是可以正确得到加密装置发送的数据内容的加密系统。
进一步,通过构成解密错误在原理上不发生,且可进行高速处理的NTRU加密方式,或将该NTRU加密方式适用于加密系统,可以构成在解密装置中总是可以正确得到加密装置发送的数据内容,与现有技术相比可以更高速处理的加密系统。
从而,可以提供现有技术中不能实现的加密系统、加密装置和解密装置,其实用价值大。
附图说明
图1是表示本发明的实施方式1的加密通信系统的结构框图;
图2是表示实施方式1的加密装置的结构框图;
图3是表示实施方式1的加密装置的动作的流程图;
图4是表示实施方式1的解密装置的结构框图;
图5是表示实施方式1的解密装置的动作的流程图;
图6是表示实施方式1的加密通信系统整体的动作的流程图;
图7是表示本发明的实施方式2的加密通信系统的结构框图;
图8是表示实施方式2的加密装置的结构框图;
图9是表示实施方式2的解密装置的结构框图;
图10是表示实施方式2的加密通信系统整体的动作的流程图;
图11是表示实施方式3的加密通信系统的结构框图;
图12是表示实施方式3的加密装置的结构框图;
图13是表示实施方式3的解密装置的结构框图;
图14是表示实施方式3的加密通信系统整体的动作的流程图。
具体实施方式
下面参考附图来说明本发明的实施方式。
(实施方式1)
本实施方式1的加密通信系统、加密装置和解密装置中,新构成比现有技术中最快的NTRUEncrypt方式可更高速处理的NTRU加密方式,并使用该新构成的NTRU加密方式来进行加密通信(之后,将该新构成的可比现有技术进行更高速处理的NTRU加密方式称作“第一变形NTRU加密方式”)。
因此,首先对高速NTRU加密方式进行说明。
下面,以与现有的NTRUEncrypt方式的不同点为中心来说明第一变形NTRU加密方式。
<第一变形NTRU加密方式>
第一变形NTRU加密方式改变了的加密方式,与现有的NTRUEncrypt相比可进行更高速处理。
第一变形NTRU加密方式中,在作为参数使用为p=3、q=2^k(k:2以上的整数)的参数,并且作为多项式f、g、作为随机数的多项式r、和作为明文的多项式m,选择系数为0或1这二个值的多项式方面,与现有的NTRUEncrypt不同。参数p可以为与参数q为互质的值,也可以是3以外的值。
下面,说明该第一变形NTRU加密方式。
(1)第一变形NTRU加密方式的参数
第一变形NTRU加密方式具有非负整数的参数N、p、q、df、dg、d。
这些参数的含义与现有的NTRUEncrypt方式相同,但是生成p=3且q=2^k(k:2以上的整数)的参数,并且,尽管p=3,作为多项式f、g、r,使用系数为0或1这二个值的多项式,这方面与现有的NTRUEncrypt不同。
(2)第一变形NTRU加密方式的密钥生成
第一变形NTRU加密方式中,如上所述,使用参数df、dg来随机生成多项式f、多项式g。具体的,生成df个系数是1,除此之外的系数为0的多项式f,生成dg个系数是1,除此之外的系数为0的多项式g。并且,如在非专利文献2中所记载的,使用Fq×f=1(modq)的多项式Fq,通过
h=Fq×g(mod q)
来生成多项式h。设私钥是(f,Fp),公钥为h。
这里,x=y(mod q)是为了使余数限制在0到q-1的范围中,而将用模q除多项式y的第i次的系数时的余数,设作多项式x的第i次的系数的运算(0≤i≤N-1)。即,为了限制在0到(q-1)的范围中,而将对y的各系数实施了mod q运算后的多项式作为多项式x的运算。
(3)第一变形NTRU加密方式的加密化
在第一变形NTRU加密方式的加密中,加密作为明文的系数为0或1这二个值的多项式m,并计算作为密文的多项式c。首先,随机生成作为上述的随机数的多项式r。即,随机数r是(N-1)次以下的多项式,有第0次(常数项)到第(N-1)次N个系数,但是为了使该N个系数中,d个系数是1,且d个系数是-1,且(N-2d)个的系数为0。而随机选择随机数r。
并且,使用该随机数r和公钥h,对系数为0、1或-1的(N-1)次以下的明文m,通过
c=p·r×h+m(mod q)
来生成密文c。
该运算如上所述,是为了限制在0到q-1的范围中,而将对多项式(p·r×h+m)的各系数实施了mod q处理后的多项式作为多项式c的运算。
第一变形NTRU加密方式尽管p=3,但使用系数为0或1这二个值的多项式,这方面与现有的NTRUEncrypt不同。
(4)第一变形NTRU加密方式的解密化
在第一变形NTRU加密方式的解密中,解密作为密文的多项式c,来计算作为解密电文的多项式m’。解密时,首先对密文c,使用作为私钥的一部分的多项式f,通过
a=f×c(mod q*)
来计算多项式a。
这里,(mod q*)与上述的(mod q)运算不同,是为了限制在<-q/2>+1到<q/2>的范围中,而将用模q除多项式(f×c)的第i次的系数后的余数作为多项式a的第i次的系数的运算(0≤i≤N-1)。即,在系数为<q/2>到q-1的情况下,从系数中减去q,而调整为限制在上述范围中。这里<x>表示x以下的数中最大的数。例如,<-1/2>=-1。
接着,对多项式a,使用参数p,通过
b=a(mod p)
来生成多项式b。
并且,对多项式b,使用作为私钥的一部分的多项式Fp,通过
m’=Fp×b(mod p*)
来计算解密电文m’。
另外,该(mod p*)的运算如上所述,是为了限制在<-p/2>+1到<p/2>的范围中,而将用模p除多项式(Fp×b)的第i次的系数时的余数作为多项式m’的第i次的系数的运算。
<现有技术和第一变形NTRU加密方式的不同点>
下面,对第一变形NTRU加密方式比现有的NTRUEncrypt方式可进行更高速处理进行说明,并说明现有的NTRU加密和NTRUEncrypt方式的不同。
(与NTRUEncrypt的比较)
NTRUEncrypt中,如上所述,作为私钥的多项式f、多项式g、作为随机数的多项式r、作为明文的多项式m,使用系数为0或1这二个值的多项式,但是作为参数,仅公开了p=2且q=239的参数。
现在,NTRUEncrypt的密钥生成、加密化和解密化中的主要运算包含进行多项式的系数的mod q运算的运算,使得例如为
c=r×h+m(mod q)
这时,相对NTRUEncrypt中q=239,由于第一变形NTRU加密方式中q=2^k(k:2以上的整数),所以在第一变形NTRU加密方式中,可以用位屏蔽(bit mask)运算来高速处理mod q运算。
例如,在第一变形NTRU加密方式的参数q为q=256(=2^8)的情况下,系数的mod q运算可以通过由位屏蔽运算仅取低位8比特的运算来实现。
NTRUEncrypt中,p=2,但是第一变形NTRU加密方式中p=3,对于mod p的计算,NTRUEncrypt可高速进行。但是,mod p的计算仅在解密时进行,且NTRUEncrypt需要进行降低解密错误发生概率用的计算,但是在第一变形NTRU加密方式中不需要,所以与mod p的计算量增加相抵消。
因此,作为包含加密和解密的整体,第一变形NTRU加密方式比NTRUEncrypt高速。
(与现有技术的差异)
现有的NTRU加密中,对于p=3的参数,多项式f、g、作为随机数的多项式r、作为明文的多项式m使用系数是0、1或-1这三个值的多项式(p=2的情况下,这些多项式中,除了明文m之外,使用系数为0、1、-1这三个值的多项式。另外,在p≠2、3的情况下,多项式f、g、r使用0、1或-1这三个值的多项式,m使用系数具有<-p/2>+1到<p/2>的范围的整数的p值的多项式)。
另一方面,在现有的NTRUEncrypt中,对于p=2的参数,多项式f、g、作为随机数的多项式r、作为明文的多项式m使用系数为0或1这二个值的多项式。
因此,NTRU加密中,对于p=3的参数,作为多项式f、g、作为随机数的多项式r、作为明文的多项式m,通常使用三值的多项式,而如上述的第一变形NTRU加密方式那样,在p=3时,作为这些多项式使用了二值的多项式的情况下,对加密的安全性产生了怎样的影响没有进行公开。
但是,现在,对于p=3的参数,即使多项式f、g、作为随机数的多项式r、作为明文的多项式m使用系数为0或1这二个值的多项式,也可与现有的NTRU加密和NTRUEncrypt相同,若适当选择参数,则在安全性上不会产生问题。下面说明该情况。
作为对于NTRU加密和NTRUEncrypt的攻击方法,如在非专利文献2中所记载的,已知有对于多项式f、g、r的联合攻击和使用了LLL算法的攻击(lattice based attack:基于格的攻击)。
现在,对于联合攻击的安全性,如在非专利文献2和非专利文献6中所记载的,依赖于多项式f、g、r取得值的总数。因此,对于p=3的参数,作为这些多项式即使代替使用三值的多项式,而使用了二值的多项式,若选择参数df、dg、d,使得这些多项式取得的值的总数充分大,安全性上也不发生问题。
另外,对于LLL攻击的安全性,依赖于多项式f、g的不是0的系数的数的情况在非专利文献7中进行了记载。因此,若选择df、dg,使得不是0的系数的数充分大,安全性上不会发生问题。
<变形NTRU加密方式的参数的生成方法>
这里,举上述的第一变形NTRU加密方式的参数的生成方法的一例。
如上所述,第一变形NTRU加密方式的参数生成p=3且q=2^k(k:2以上的整数)的参数就可以了。
因此,这里,首先设p=3,为了使系数的mod q运算可通过由位屏蔽运算来仅取低位8比特的运算来实现,而设作q=256。
并且,作为df=dg=d,生成N、df、dg、d的值,使得对于上述的联合攻击和LLL攻击的安全性为规定的值以上。
另外,其是参数的生成方法的一例,若生成p=3且q=2^k(k:2以上的整数)的参数,则可以是其他生成方法。
之后,进行通过该生成方法生成的使用了(N,p,q,df,dg,d)=(251,3,256,72,72,72)的参数的情况下的说明。
以上,对第一变形NTRU加密方式进行了说明,之后对本实施方式的加密通信系统、加密装置和解密装置来进行说明。
<加密通信系统1的概要>
图1是表示本发明的实施方式1的加密通信系统1的整体结构的图。首先,使用该图来说明加密通信系统1的概要。
该加密通信系统1是进行明文m的加密通信的系统,由加密装置10和解密装置20构成,加密装置10和解密装置20经通信路径30来相互连接。
并且,该加密通信系统1在加密装置10和解密装置20之间,共用(N,p,q,df,dg,d)=(251,3,256,72,72,72)来作为第一变形NTRU加密方式的参数,。
在该加密通信系统1中,加密装置10使用上述的第一变形NTRU加密方式来加密从外部输入的明文m而生成密文c,并经通信路径30发送到解密装置20。
并且,解密装置20经通信路径30,解密从加密装置10接收的密文c,而生成解密电文m’后输出。
以上是加密通信系统1的概要,下面,在描述了加密通信系统1的结构后,将说明其动作。
<加密通信系统1的结构>
加密通信系统1如图所示,由加密装置10和解密装置20构成,加密装置10和解密装置20经通信路径30彼此连接。
下面,对这些的构成要素进行详细说明。
<加密装置10的结构>
加密装置10如图2所示,由参数存储部11、公钥存储部12和加密部13构成。
(1)参数存储部11
参数存储部11例如由RAM(Random Access Memory:随机存取存储器)和EEPROM(Electrically Erasable Programmable Read OnlyMemory:电可擦除可变成只读存储器)等的存储器构成,可从后述的加密部13进行访问。
参数存储部11预先存储了p=3且q=2^k(k是2以上的整数)的参数。这里,如上所述,设预先存储了参数(N,p,q,df,dg,d)=(251,3,256,72,72,72)。
(2)公钥存储部12
公钥存储部12例如由微计算机和RAM这样的存储器构成,可从后述的加密部13进行访问。
公钥存储部12预先经通信路径30取得解密装置20的公钥h来加以存储。
(3)加密部13
加密部13例如由微计算机构成,可访问参数存储部11和公钥存储部12。
加密部13从参数存储部11中读取参数N、参数q、参数d,并从公钥存储部12中读取公钥h。
并且,加密部13从外部接收明文m,该明文m表示为相对参数N的(N-1)次以下的多项式,系数为0或1。
并且,加密部13使用参数N、参数d,来随机选择(N-1)次以下的多项式r,使得d个系数是1,且其余系数是0。其可以通过例如选择0到N-1的范围不重复的d个随机数Ri(1≤i≤d),并将第Ri次(1≤i≤d)的系数设作1,将其余系数设作0来实现。
并且,加密部13对明文m,使用作为随机数的多项式r、公钥h、参数N、参数q,进行第一变形NTRU加密方式的加密处理,而生成密文c。
并且,加密部13经通信路径30将生成的密文c发送到解密装置20。
<加密装置10的动作>
这里,说明上述加密装置10的动作。
加密装置10预先存储了为p=3且q=2^k(k是2以上的整数)的参数,并将解密装置20的公钥h预先存储到公钥存储部12中。并且,在从外部输入表示为对于参数N的(N-1)次多项式的明文m后,进行下面所示的处理,使用上述的第一变形NTRU加密方式来加密明文m而生成密文c,并经通信路径30发送到解密装置20中。
下面,使用图3所示的流程图来进行说明。
首先,加密部13在从外部输入明文m后,从参数存储部11中读取参数N、参数q、参数d,并从公钥存储部12中读取公钥h(步骤S101)。
接着,加密部13使用参数N、参数d,来随机选择(N-1)次以下的多项式r,使得d个系数为1,且其余系数为0(步骤S102)。
接着,加密部13对明文m,使用作为随机数的多项式r、公钥h、参数N、参数q,来进行第一变形NTRU加密方式的机密处理,而生成密文c(步骤S103)。
接着,加密部13经通信路径30将所生成的密文c发送到解密装置20,而结束处理(步骤S104)。
<解密装置20的结构>
解密装置20如图4所示,由参数存储部21、密钥生成部22、私钥存储部23和解密部分24构成。
(1)参数存储部21
参数存储部21例如由EEPROM这样的存储器构成,可从后述的密钥生成部22和解密部24进行访问。
参数存储部21预先存储了与加密装置10的参数存储部11相同的参数(N,p,q,df,dg,d)。这里,如上所述,预先存储参数(N,p,q,df,dg,d)=(251,3,256,72,72,72)。
(2)密钥生成部22
密钥生成部22例如通过微计算机构成,生成第一变形NTRU加密方式的私钥(f,Fp)和公钥h。
密钥生成部22从参数存储部21中读取参数N、参数q、参数df、参数dg,并使用参数N、参数df,选择由(N-1)次以下的多项式表示的多项式f,使得df个系数是1,且其他的系数是0。其可以通过例如选择0到(N-1)的范围不重复的df个随机数Ri(1≤i≤df),使第Ri次(1≤i≤df)的系数为1,其余系数为0来实现。
并且,密钥生成部22使用参数N、参数dg,来选择由(N-1)次以下的多项式表示的多项式g,使得dg个系数为1,且其余系数为0。
并且,密钥生成部22进行上述的第一变形NTRU加密方式的密钥生成处理,而生成多项式Fp和h。
并且,密钥生成部22将多项式h作为公钥加密公开,使得加密装置10可以预先取得,并将多项式f和Fp的对(f,Fp)存储到私钥存储部23中。
(3)私钥存储部23
私钥存储部23例如由RAM这样的存储器构成,可从密钥生成部22和后述的解密部24进行访问。
私钥存储部23预先存储密钥生成部22生成的多项式f和Fp的对(f,Fp)。
(4)解密部24
解密部24例如由微计算机构成,可访问参数存储部21和私钥存储部23。
解密部24从参数存储部21中读取参数N、参数p、参数q,并从私钥存储部23中读取多项式f和Fp的对(f,Fp)。
并且,解密部24经通信路径30从加密装置10接收对于参数N,用(N-1)次以下的多项式表示的密文c。
并且,解密部24对密文c,使用作为私钥的多项式f和Fp、参数N、参数p、参数q,来进行第一变形NTRU加密方式的解密处理,而生成解密电文m’。
并且,解密部24向外部输出所生成的解密电文m’。
<解密装置20的动作>
这里,说明上述的解密装置20的动作。
解密装置20预先存储与加密装置10相同的参数,生成作为解密装置20的私钥的多项式f和Fp的对(f,Fp)以及作为公钥的多项式h,公开公钥h而使加密装置10预先取得,并将私钥(f,Fp)存储到私钥存储部23中。并且,解密装置20在经通信路径30从加密装置20中接收到对于参数N,用(N-1)次以下的多项式表示的密文c后,进行下面所示的处理,并使用上述的高速NTRU加密方式来生成解密电文m’,而输出到外部。
下面,使用图5所示的流程图来加以说明。
首先,解密部24在经通信路径30从加密装置10中接收到密文多项式c后,从参数存储部21中读取参数N、参数p、参数q,并从私钥存储部23中读取私钥(f,Fp)(步骤S131)。
接着,解密部24对密文c,使用作为私钥的多项式f和Fp,参数N、参数p、参数q,来进行第一变形NTRU加密方式的解密处理,而生成解密电文m’(步骤S132)。
接着,解密部24将所生成的解密电文m’输出到外部而结束处理(步骤S133)。
<加密通信系统1的动作>
以上,说明了加密通信系统1的结构,这里,使用图6所示的流程图来说明加密通信系统1的整体动作。
首先,参数存储部11和参数存储部21预先存储了p=3且q=2^k的参数(步骤S161)。
接着,密钥生成部22从参数存储部21中读取参数N、参数q、参数df、参数dg,并使用参数N、参数df,选择由(N-1)次以下的多项式表示的多项式f,使得df个系数为1,且其余系数是0(步骤S162)。
接着,密钥生成部22使用参数N、参数dg,选择用(N-1)次以下的多项式表示的多项式g,使得dg个系数是1,且其他的系数是0(步骤S163)。
接着,密钥生成部22进行上述的第一变形NTRU加密方式的密钥生成处理,并生成多项式h(步骤S164)。
接着,密钥生成部22将多项式h作为公钥来进行公开,而可以由加密装置10取得,并将多项式f和Fp的对(f,Fp)作为私钥存储到私钥存储部23上(步骤S165)。
接着,公钥存储部12经通信路径30取得解密装置20的公钥h来加以存储(步骤S166)。
接着,在从外部输入了系数是0或1的明文m后,加密部13从参数存储部11中读取参数N、参数q、参数d,并从公钥存储部12中读取公钥h(步骤S167)。
接着,加密部13使用参数N、参数d,来随机选择(N-1)次以下的多项式r,使得d个系数是1,且其余系数是0(步骤S168)。
接着,加密部13对明文m,使用作为随机数的多项式r、公钥h、参数N、参数q,来进行第一变形NTRU加密方式的加密,而生成密文c(步骤S169)。
接着,加密部13经通信部30将所生成的密文c发送到解密装置20(步骤S170)。
接着,解密部24在经通信路径30从加密装置10接收到密文c后,从参数存储部21中读取参数N、参数p、参数q,并从私钥存储部23中读取私钥(f,Fp)(步骤S171)。
接着,解密部24对密文c,使用作为私钥的多项式f和Fp、参数N、参数p、参数q,来进行第一变形NTRU加密方式的解密处理,而生成解密电文m’(步骤S172)。
接着,解密部24将所生成的解密电文m’输出到外部后结束处理(步骤S173)。
<加密通信系统1的动作验证>
首先,加密装置10和解密装置20在步骤S161中,存储p=3且q=2^k(k:2以上的整数)的参数。
并且,解密装置20预先使用该参数,在步骤S162和步骤S163中,生成系数为0或1这二个值的多项式f和g,并在步骤S164中,以这些多项式为基础来生成作为公钥的多项式h。
并且,加密装置10中,通过步骤S168,生成系数是0或1这二个值的多项式r,并在步骤S169中,使用作为p=3且q=2^k(k:2以上的整数)的参数、公钥h和随机数r,加密系数是0或1这二个值的明文m,来生成密文c。
并且,在解密装置20中,在步骤S172中,使用作为私钥的多项式f和Fp与存储的作为p=3且q=2^k(k:2以上的整数)的参数,来生成解密电文m’。
根据该结构,对于作为p=3且q=2^k的参数,由于作为多项式f、g、作为随机数的多项式r、作为明文的多项式m,使用二值的多项式,所以可以使用第一变形NTRU加密方式来进行加密通信。
另外,如在上述的第一变形NTRU加密方式的说明中所描述的,可以比NTRUEncrypt方式进行更高速处理。
由此,可以新构成比现有的NTRUEncrypt方式可更高速处理的第一变形NTRU加密方式,另外,可以将该第一变形NTRU加密方式适用于加密通信,可以提供比现有技术可进行更高速处理的加密通信系统。
<变形例>
另外,上述说明的实施方式是本发明的实施方式的一例,本发明不限于该实施方式,可以在不脱离其精神的范围中以各种形态来实施。下面的情况也包含在本发明中。
(1)加密通信系统1中,作为第一变形NTRU加密方式的参数,使用满足p=3且q=2^k(k:2以上的整数)的条件的参数,但是进一步,也可使用满足后述的条件式EFC1的参数。
由此,如后所述,由于解密错误在原理上不发生,所以可以实现在解密装置中总是可以正确得到加密装置发送的数据内容的加密通信系统。
另外,这时,由于解密错误在原理上不发生,所以与NTRUEncrypt不同,不需要使解密错误发生概率减少的处理,所以可以如下这样进行解密。
首先,对密文c,使用作为私钥的一部分的多项式f,并通过
a=f×c(mod q)
来计算多项式a。
并且,对该多项式a,与NTRUEncrypt相同,进行使解密错误发生概率降低的处理,而生成解密电文m’。
(2)在加密通信系统1中,作为第一变形NTRU加密方式的私钥的一部分的多项式f,选择df个系数是1,且其余系数是0的(N-1)次以下的多项式,但是也可与NTRUEncrypt相同,使用df个系数是1,且其余系数是0的(N-1)次以下的多项式F,并通过f=1+p·F来选择多项式f。
由此,不需要与NTRUEncrypt方式相同,在NTRU加密的解密处理中进行的与多项式Fp的多项式乘法。另外,这时,由于不需要与作为私钥的一部分的多项式Fp的多项式乘法,所以私钥可以是多项式f,而不是(f,Fp)。
(实施方式2)
本实施方式2的加密通信系统、加密装置和解密装置中,改进NTRUEncrypt方式,新构成解密错误在原理上不发生的NTRU加密方式,并使用该新构成的NTRU加密方式来进行加密通信(之后,将该新构成的解密错误在原理上不发生的NTRU加密方式称作“第二变形NTRU加密方式”)。
因此,首先对第二变形NTRU加密方式来进行说明。
以下,以与现有的NTRUEncrypt方式的差异点为中心,来说明第二变形NTRU加密方式。
<第二变形NTRU加密方式>
变形NTRU加密2将现有的NTRUEncrypt方式改变为解密错误在原理上不发生的方式。
变形NTRU加密2在生成参数,使其满足后述的条件式EFC1方面与现有的NTRUEncrypt不同。
以下,对该变形NTRU加密2进行说明。
(1)第二变形NTRU加密方式的参数
变形NTRU加密2具有非负整数的参数N、p、q、df、dg、d。这些参数的含义与现有的NTRUEncrypt方式相同,但是在选择参数p、q、df、dg、d,使其满足以下的条件式EFC1方面与现有的NTRUEncrypt方式不同。
EFC1:p·Min(dg,d)+df<q
若使用满足该条件式EFC1的参数,则如后所述,解密错误可以在原理上不发生。
(2)第二变形NTRU加密方式的密钥生成
第二变形NTRU加密方式中,如上所述,使用参数df、dg来随机生成多项式f、多项式g。并且,如在非专利文献2中所记载的,使用为Fq×f=1(mod q)的多项式Fq,通过
h=Fq×g(mod q)
来生成多项式h。这里,将私钥设作(f,Fp),将公钥设作h。
(3)第二变形NTRU加密方式的加密化
在第二变形NTRU加密方式的加密中,加密作为明文的系数是0或1这二个值的多项式m,并计算作为密文的多项式c。首先,随机生成如上所述的多项式r。即,随机数r是(N-1)次以下的多项式,有第0次(常数项)到第(N-1)次N个系数,但是随机选择多项式r,使得该N个系数中,d个系数是1,且d个系数是-1,且(N-2d)个的系数是0。
并且,使用该随机数r和公钥h,来对系数为0、1或-1的(N-1)次以下的明文m,通过
c=p·r×h+m(mod q)
来生成密文c。
(4)第二变形NTRU加密方式的解密
在第二变形NTRU加密方式的解密中,如后述那样,为了在原理上不发生解密错误,与NTRUEncrypt不同,不需要使解密错误发生概率减小的处理。
因此,按以下方式进行解密。
在第二变形NTRU加密方式的解密中,解密作为密文的多项式c,并计算作为解密电文的多项式m’。解密时,首先,对密文c,使用作为私钥的一部分的多项式f,通过
a=f×c(mod q*)
来计算多项式a。
接着,对多项式a,使用参数p,通过
b=a(mod p)
来生成多项式b。
并且,对多项式b,使用作为私钥的一部分的多项式Fp,通过
m’=Fp×b(mod p*)
来计算解密电文m’。
如上所述,在第二变形NTRU加密方式中,与现有的NTRUEncrypt方式不同,不进行如在非专利文献4中记载的称作center1或center2的算法这样的使解密错误发生概率减小的处理。
<解密错误原理上不发生的理由>
以下,说明第二变形NTRU加密方式中解密错误在原理上不发生的情况。
首先,在描述了解密错误不发生的条件后,说明使用满足上述条件式EFC1的参数的第二变形NTRU加密方式中,解密错误在原理上不发生的情况。
(为使解密错误不发生的条件)
第二变形NTRU加密方式将现有的NTRUEncrypt方式改变为解密错误在原理上不发生的方式。
当前,没有公开在NTRUEncrypt中使解密错误不发生的条件。但是,若多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,则可以正确进行解密处理,不发生解密错误。
以下,说明其理由。
(i)NTRU加密方式的情况
为了说明在NTRUEncrypt中使解密错误不发生的条件,首先描述在非专利文献2中记载的NTRU加密中为使解密错误不发生用的条件。
对于NTRU加密,在非专利文献2中记载了若在解密处理时计算的多项式(p·r×g+f×m)的系数全部限制在-q/2到q/2的范围中,则可以正确进行解密处理,不发生解密错误。其基于以下的理由。
现在,在非专利文献2记载的NTRU加密的解密处理中,首先,对密文c,使用作为私钥的一部分的多项式f,通过
a=c×f(mod q*)
来计算多项式a。这里,(mod q*)是为使余数限制在<-q/2>+1到<q/2>的范围中,将用模q除多项式c×f的第i次的系数的余数作为多项式a的第i次的系数的运算。即,求出多项式c和多项式f的乘法结果的多项式,并为了限制在<-q/2>+1到<q/2>的范围中,而将对该各个系数实施了mod q运算的多项式作为多项式a的运算。
这时,该多项式a的值如在非专利文献2中所记载的,根据明文m和密文c的关系式及作为私钥的一部分的多项式f和公钥h的关系式,为
a=c×f(mod q*)
=(p·r×h+m)×f(mod q*)
=p·r×g+f×m(mod q*)。
即,多项式a是为了限制在-q/2到q/2的范围中,而对多项式p·r×g+f×m的各系数实施q运算后的多项式。
这里,在NTRU加密中,随机数r、多项式f、g和明文m是系数为0、1或-1的多项式。因此,p·r×g+f×m是有其系数为负值的可能的多项式。
现在,若取该负的系数值的多项式p·r×g+f×m的所有的系数限制在-q/2到q/2的范围中,则由于多项式p·r×g+f×m(mod q*)的值与多项式p·r×g+f×m的值相等,所以多项式a的值为
a=p·r×g+f×m(mod q*)
=p·r×g+f×m。
这样,如在非专利文献2中所记载的,由于可以在之后的解密处理中正确恢复明文m,所以不会发生解密错误。
(ii)NTRUEncrypt方式的情况
另一方面,NTRUEncrypt中,没有公开解密错误不发生的条件,但是如上所述,若多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,则可以正确进行解密处理,不会发生解密错误。其基于下面的理由。
现在,在解密算法D中,如在非专利文献4中所记载的,首先,对密文c使用作为私钥的一部分的多项式f,并通过
a=c×f(mod q)
来运算多项式a。该运算是求出多项式c和多项式f的乘法结果的多项式,并为了限制在0到(q-1)的范围上,而对该各个系数实施了mod q运算后的多项式作为多项式a的运算。
这时,该多项式a的值如在非专利文献4中所记载的,根据明文m和密文c的关系式和作为私钥的一部分的多项式f和公钥h的关系式,为
a=c×f(mod q)
=p·r×g+f×m(mod q)。
即,多项式a是为了限制在0到(q-1)的范围中,而对多项式p·r×g+f×m的各系数实施了mod q运算后的多项式。
这里,在NTRUEncrypt中,作为随机数的多项式r、多项式f、g和作为明文的多项式m是系数为0或1的多项式。因此,p·r×g+f×m是其系数是0或为正的值的多项式。
现在,若该多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,则由于多项式p·r×g+f×m(mod q)的值与多项式p·r×g+f×m的值相等,所以多项式a的值为
a=p·r×g+f×m(mod q)
=p·r×g+f×m。
这样,与在非专利文献2中记载的NTRU加密相同,由于可以在之后的解密处理中正确恢复明文m,所以不会发生解密错误。
(若使用满足条件式EFC1的参数,则不会发生解密错误的理由)
第二变形NTRU加密方式设置参数,使其满足条件式EFC1,并改变现有的NTRUEncrypt方式,使得解密错误在原理上不发生。
以下,说明若设置参数,使其满足条件式EFC1,则多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,不会发生解密错误。
首先,考虑多项式p·r×g。
这里,多项式r×g的k次系数若用a(k)来表示多项式a的k次的系数,则是
(r×g)(k)
=r(0)·g(k)+r(1)·g(k-1)+...
+r(N-1)·g(k-(N-1)(mod N))
(对于多项式和多项式的乘法方法,例如,参考非专利文献2)。
如上所述,随机数r是d个系数是1,且其余系数是0的多项式,多项式g是dg个系数是1,且其余系数是0的多项式。
这样,多项式r×g的系数(r×g)(k)的值可用d个的1·g(in)的项(1≤n≤d)来表示,使得
r×g(k)
=r(0)·g(k)+r(1)·g(k-1)+...
+r(N-1)·g(k-(N-1)(mod N))
=1·g(i1)+1·g(i2)+...+1·g(id)
+0·g(j1)+0·g(j2)+...+0·g(j(N-d))
=1·g(i1)+1·g(i2)+...+1·g(id)。
现在,在d≤dg的情况下,考虑g(in)全部是1的情况(1≤n≤d≤dg),这时,(r×g)(k)取最大值,其值最大是d。
另外,在d>dg的情况下,由于不会有在g(in)全部是1的情况,所以在g(in)中dg个是1,且(d-dg)个是0的情况下,(r×g)(k)取最大值,其值最大是dg。
通过上述,多项式r×g的系数的最大值是Min(dg,d)。
因此,由于多项式p·r×g的系数的最大值为多项式r×g的系数的最大值乘以p,所以为p·Min(dg,d)。
接着,考虑多项式f×m。
这里,若考虑多项式f×m的第k次的系数,则由于多项式f是df个系数是1,且其余系数是0的多项式,所以与上述的讨论相同,用df个1·m(in)的项(1≤n≤df)表示,使得
f×m(k)
=f(0)·m(k)+f(1)·m(k-1)+...
+f(N-1)·m(k-(N-1)(mod N))
=1·m(i1)+1·m(i2)+...+1·m(idf)。
现在,由于作为明文的多项式m系数是0或1,所以考虑m(in)全部是1的情况(1≤n≤df),这时,(f×m)(k)取最大值,其值最大是df。
从上看出,多项式f×m的系数的最大值是df。
若整理以上所述,则多项式p·r×g+f×m的系数的最大值最大是
p·Min(dg,d)+df。
并且,若系数的最大值是q-1以下,则由于多项式p·r×g+f×m的所有的系数限制在0到(q-1)的范围中,所以不会发生解密错误。
即,为了使解密错误在原理上不发生,则成为
p·Min(dg,d)+df<q
就可以了,而导出下述条件式EFC1。
EFC1:p·Min(dg,d)+df<q
<第二变形NTRU加密方式的参数生成方法>
这里,举上述的第二变形NTRU加密方式的参数的生成方法的一例。
如上所述,第二变形NTRU加密方式的参数生成满足上述条件式EFC1的参数就可以了。
因此,这里,首先,设p=2,设q=239使其与p互质。
并且,设df=dg=d,生成df、dg、d的值,使其满足上述条件式EFC1。并且,生成N的值,使得对于上述的联合攻击和LLL攻击的安全性为规定的值以上。
另外,其是参数的生成方法的一例,若生成参数,使其满足条件式EFC1,则也可以是其他方法。
之后,进行通过该生成方法生成的使用了(N,p,q,df,dg,d)=(251,2,239,63,63,63)的参数的情况下的说明。
以上,对第二变形NTRU加密方式进行了说明,但是之后,对本实施方式的加密通信系统、加密装置和解密装置进行说明。
<加密通信系统1b的概要>
图7是表示本发明的实施方式2中的通信系统1b的整体结构的图。首先,使用该图来说明加密通信系统1b的概要。
该加密通信系统1b是进行明文m的加密通信的系统,由加密装置10b和解密装置20b构成,加密装置10b和解密装置20b经通信路径30来彼此连接。
并且,该加密通信系统1b在加密装置10b和解密装置20b之间,共用(N,p,q,df,dg,d)=(251,2,239,63,63,63)来作为第二变形NTRU加密方式的参数。
在该加密通信系统1b中,加密装置10b对从外部输入的明文m使用上述的第二变形NTRU加密方式来进行加密生成密文c,并经通信路径30发送到解密装置20b。
并且,解密装置20b经通信路径30解密从加密装置10b接收的密文c而生成解密电文m’后输出。
以上是加密通信系统1b的概要,下面以与加密通信系统1的差异点为中心,来说明其结构和动作。
<加密通信系统1b的结构>
加密通信系统1b如图7所示,由加密装置10b和解密装置20b构成,加密装置10b和解密装置20b经通信路径30彼此连接。
以下,以与加密通信系统1的差异点为中心来说明这些结构要素。
<加密装置10b的结构>
加密装置10b如图8所示,由参数存储部11b、公钥存储部12和加密部13b构成。
下面,以与加密装置10的差异点为中心来说明这些构成要素。
(1)参数存储部11b
参数存储部11b由例如RAM和EEPROM这样的存储器构成,可从后述的加密部13b进行访问。
参数存储部11b预先存储满足上述的条件式EFC1的参数。这里,如上所述,预先存储了参数(N,p,q,df,dg,d)=(251,2,239,63,63,63)。
(2)加密部13b
加密部13b例如由微计算机构成,可访问参数存储部11b和公钥存储部12。
加密部13b代替进行第一变形NTRU加密方式的加密处理,进行第二变形NTRU加密方式的加密处理,而生成密文c,在这方面与加密部13不同。
<解密装置20b的结构>
解密装置20b如图9所示,由参数存储部21b、密钥生成部22b、私钥存储部23和解密部24b构成。
下面,以与解密装置20的不同点为中心来说明这些构成要素。
(1)参数存储部21b
参数存储部21b例如由RAM和EEPROM这样的存储器构成,可从后述的密钥生成部22b和解密部24b进行访问。
参数存储部21b预先存储了与加密装置10b的参数存储部11b相同的参数(N,p,q,df,dg,d)。这里,如上所述,预先存储参数(N,p,q,df,dg,d)=(251,2,239,63,63,63)。
(2)密钥生成部22b
密钥生成部22b例如由微计算机构成,生成没有错误(error free)的NTRU加密的私钥f和公钥h。
密钥生成部22b在代替进行第一变形NTRU加密方式的密钥生成处理,而进行第二变形NTRU加密方式的密钥生成处理方面与密钥生成部22不同。
(3)解密部24b
解密部24b例如由微计算机构成,可访问参数存储部21b和私钥存储部23。
解密部24b在代替进行第一变形NTRU加密方式的解密处理,而进行第二变形NTRU加密方式的解密处理,并生成解密电文m’方面与解密部24不同。
<解密通信系统1b的动作>
以上,说明了加密通信系统1b的结构,这里,使用图10所示的流程图来说明加密通信系统1b的整体的动作。
首先,参数存储部11b和参数存储部21b预先存储满足条件式EFC1的参数(步骤S261)。
接着,密钥生成部22b从参数存储部21b中读取参数N、参数q、参数df和参数dg,并使用参数N、参数df,选择用(N-1)次以下的多项式表示的多项式f,使得df个系数是1,且其余系数是0(步骤S262)。
接着,密钥生成部22b使用参数N、参数dg,选择用(N-1)次以下的多项式表示的多项式g,使得dg个系数是1,且其余系数是0(步骤S263)。
接着,密钥生成部22b进行上述的第二变形NTRU加密方式的密钥生成处理,而生成多项式Fp和h(步骤S264)。
接着,密钥生成部22b将多项式h作为公钥来加以公开,使得加密装置10b可取得,并将多项式f和Fp的对(f,Fp)作为私钥存储在私钥存储部23上(步骤S265)。
接着,公钥存储部12经通信路径30取得解密装置20b的公钥h来加以存储(步骤S266)。
接着,在从外部输入作为系数是0或1的明文m后,加密部13b从参数存储部11b中读取参数N、参数q、参数d,并从公钥存储部12中读取公钥h(步骤S267)。
接着,加密部13b使用参数N、参数d,来随机选择(N-1)次以下的多项式r,使其d个系数是1,且其余系数是0(步骤S268)。
接着,加密部13b对明文m,使用随机数r、公钥h、参数N、参数q来进行第二变形NTRU加密方式的加密处理,并生成密文c(步骤S269)。
接着,加密部13b经通信路径30将所生成的密文c发送到解密装置20b(步骤S270)。
接着,解密部24b在经通信路径30从加密装置10接收到密文c后,从参数存储部21b中读取参数N、参数p、参数q,并从私钥存储部23中读取私钥(f,Fp)(步骤S271)。
接着,解密部24b对密文c,使用作为私钥的多项式f和Fp,参数N、参数p、参数q,进行第二变形NTRU加密方式的解密处理,而生成解密电文m’(步骤S272)。
接着,解密部24b将所生成的解密电文m’输出到外部而结束处理(步骤S273)。
<加密通信系统1b的动作验证>
首先,加密装置10b和解密装置20b在步骤S261中,存储满足条件式EFC1的参数。
并且,解密装置20b预先使用该参数,在步骤S262和步骤S263中,生成作为系数是0或1这二个值的多项式f和g,并在步骤S264中,以这些多项式为基础来生成作为公钥的多项式h。
并且,在加密装置10b中,在步骤S267中,生成系数是0或1这二个值的多项式r,并在步骤S268中,使用满足条件式EFC1的参数和公钥h及随机数r,加密系数是0或1这二个值的多项式的明文m,而生成密文c。
并且,解密装置20b中,在步骤S271中,使用作为私钥的多项式f和Fp以及存储着的满足条件式EFC1的参数,来生成解密电文m’。
根据该结构,由于在加密装置10b和解密装置20b之间共用满足条件式EFC1的参数,并使用该参数来进行加密通信,所以如在上述的条件式EFC1的说明中所描述的,解密错误在原理上不产生,解密电文m’必然与明文m相同。
由此,可以构成解密错误在原理上不发生的第二变形NTRU加密方式,另外,将第二变形NTRU加密方式适用于加密通信系统,可以提供在解密装置中总是可以正确接收加密装置发送的数据内容的加密通信系统。
<变形例>
另外,上述说明的实施方式是本发明的实施方式的一例,本发明无论无何都不限定于该实施方式,可以在不脱离其精神的范围中以各种形态来加以实施。下面的情况也包含在本发明中。
(1)加密通信系统1b中,作为第二变形NTRU加密方式的参数,使用p=2的参数,但是若满足条件式EFC1,也可以是其他的参数,例如,也可使用p=3的参数。另外,在上述的实施方式中,作为满足条件式EFC1的参数,使用参数(N,p,q,df,dg,d)=(251,2,239,63,63,63)来进行说明,但是即使是在NTRUEncrypt方式中采用的参数(N,p,q,df,dg,d)=(251,2,239,72,72,72),由于满足条件式EFC1,所以也可使用该参数。
(2)加密通信系统1b中,作为第二变形NTRU加密方式的私钥的一部分的多项式f,选择df个系数是1,且其余系数是0的(N-1)次以下的多项式,但是也可与NTRUEncrypt方式相同,使用df个系数是1,且其余系数是0的(N-1)次以下的多项式F,并通过f=1+p·F来选择私钥f,而生成满足后述的条件式EFC2的参数。这时,私钥可以是多项式f,而不是(f,Fp)。
由此,不需要与NTRUEncrypt方式相同,在NTRU加密的解密处理中进行的与多项式Fp的多项式乘法。另外,由于如后所述,生成满足条件式EFC2的参数,所以解密错误在原理上不发生,与实施方式2相同,可以实现在解密装置中总是可以正确得到加密装置发送的数据内容的加密通信系统。
(实施方式3)
本实施方式3的加密通信系统、加密装置和解密装置中,改进NTRUEncrypt方式,新构成解密错误在原理上不发生,且可进行高速处理的NTRU加密方式,并使用该新构成的NTRU加密方式来进行加密通信(下面,将该新构成的解密错误在原理上不发生的NTRU加密方式称作“第三变形NTRU加密方式”)。
因此,首先,对第三变形NTRU加密方式进行说明。
下面,以与现有的NTRUEncrypt方式的不同点为中心,对第三变形NTRU加密方式进行说明。
<第三变形NTRU加密方式>
第三变形NTRU加密方式将现有的NTRUEncrypt方式改变为解密错误在原理上不发生,且可进行高速处理的方式。
第三变形NTRU加密方式中,作为参数,使用p=3、q=2^k(k:2以上的整数)的参数,且作为多项式f、g、作为随机数的多项式r和作为明文的多项式m,选择系数是0或1这二个值的多项式,这方面以及生成参数使其满足后述的条件式EFC2这方面与现有的NTRUEncrypt不同。
下面,对该第三变形NTRU加密方式进行说明。
(1)第三变形NTRU加密方式的参数
第三变形NTRU加密方式具有非负整数的参数N、p、q、df、dg、d。这些参数的含义与现有的NTRUEncrypt方式相同,但是在生成p=3且q=2^k(k:2以上的整数)的参数,且尽管p=3但作为多项式f、g、作为随机数的多项式r,使用系数是0或1这二个值的多项式这一方面,以及选择参数p、q、df、dg、d使其满足以下的条件式EFC2这方面与现有的NTRUEncrypt方式不同。
EFC2:Min(dg,d)+df<(q-1)/p
这样,尽管使用p=3的参数无关,但作为多项式f、g、作为随机数的多项式r,通过使用系数为0或1这二个值的多项式,可以比现有的NTRUEncrypt进行更高速处理。
另外,若使用满足该条件式EFC2的参数,则如后所述,解密错误可以在原理上不发生。
(2)第三变形NTRU加密方式的密钥生成
在第三变形NTRU加密方式中,如上所述,使用参数df、dg来随机生成多项式f、多项式g。这里,多项式f使用df个系数是1,且其余系数是0的(N-1)次以下的多项式F,并通过f=1+p·F来选择多项式f。
并且,如在非专利文献2中所记载的,使用为Fq×f=1(mod q)的多项式Fq,通过
h=Fq×g(mod q)
来生成多项式h。这里,设私钥是多项式f,公钥是h。
(3)第三变形NTRU加密方式的加密化
在第三变形NTRU加密方式的加密中,加密作为明文的系数是0或1这二个值的多项式m,并计算作为密文的多项式c。首先,随机生成如上所述的多项式r。即,随机数r是(N-1)次以下的多项式,有第0次(常数项)到第(N-1)次N个的系数,随机选择多项式r,使得该N个系数中,d个系数是1,d个系数是-1,且(N-2d)个系数是0。
并且,使用该随机数r和公钥h,对系数是0、1或-1的(N-1)次以下的明文m,通过
c=p·r×h+m(mod q)
来生成密文c。
(4)第三变形NTRU加密方式的解密化
在第三变形NTRU加密方式中,如后所述,由于解密错误在原理上不发生,所以与NTRUEncrypt不同,不需要使解密错误发生概率减少的处理。
因此,如下这样来进行解密。
第三变形NTRU加密方式的解密中,解密作为密文的多项式c,来计算作为解密电文的多项式m’。解密时,首先,对密文c使用作为私钥的一部分的多项式f,通过
a=f×c(mod q*)
来计算多项式a。
接着,对多项式a,使用参数p,通过
b=a(mod p)
来生成多项式b。
并且,如在非专利文献4中所记载的,由于作为私钥的多项式f是f=1+p·F的形式,所以为Fp×f=1(mod p)的多项式Fp成为Fp=1(mod p),故不需要在解密处理中进行的与多项式Fp的多项式乘法,故通过
m’=a(mod p*)
来生成解密电文m’。
如上所述,在第三变形NTRU加密方式中,与现有的NTRUEncrypt方式不同,不需要进行在非专利文献4中记载的称作center1或center2的算法那样的使解密错误发生概率减少的处理。
<解密错误在原理上不发生的理由>
下面,说明使用满足上述的条件式EFC2的参数的第三变形NTRU加密方式解密错误在原理上不发生的情况。
(若使用满足条件式EFC2的参数,则解密错误不会发生的理由)
第三变形NTRU加密方式设置参数,使其满足条件式EFC2,而改变现有的NTRUEncrypt方式,使得解密错误在原理上不发生。
以下,说明若设置参数,使其满足条件式EFC2,则多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,解密错误不会发生的情况。
首先,若考虑多项式p·r×g,则如上所述,多项式p·r×g的系数的最大值为p·Min(dg,d)。
接着,考虑多项式f×m。
现在,由于作为私钥的多项式f是f=1+p·F,所以是
f×m
=(1+p·F)×m
=m+p·F×m。
这里,若考虑多项式F×m的第k次系数,则由于多项式F是df个系数是1,且其余系数是0的多项式,则与上述讨论相同,用df个1·m(in)项(1≤n≤df)来表示,使得
F×m(k)
=F(0)·m(k)+F(1)·m(k-1)+...
+F(N-1)·m(k-(N-1)(mod N))
=1·m(i1)+1·m(i2)+...+1·m(idf)。
现在,由于作为明文的多项式m系数是0或1,所以考虑m(in)全部是1的情况(1≤n≤df),这时,(F×m)(k)取最大值,该值最大是df。
如上,多项式F×m的系数的最大值是df。
因此,由于作为明文的多项式m的系数的最大值是1,p·F×m的系数的最大值是p·df,所以多项式f×m(=m+p·F×m)的系数的最大值是1+p·df。
若归纳上述,则多项式p·r×g+f×m的系数的最大值最高是
p·Min(dg,d)+1+p·df。
并且,若系数的最大值是q-1以下,则由于多项式p·r×g+f×m的所有系数限制在0到(q-1)的范围中,所以不发生解密错误。
即,为了使解密错误在原理上不发生,则
p·Min(dg,d)+1+p·df<q
就可以了,若变形该式,则导出下述条件式EFC2。
EFC2:Min(dg,d)+df<(q-1)/p
<第三变形NTRU加密方式的参数生成方法>
这里,举上述的第三变形NTRU加密方式的参数的生成方法的一例。
如上所述,第三变形NTRU加密方式的参数设作p=3且q=2^k(k:2以上的整数),生成满足上述的条件式EFC2的参数就可以了。
因此,这里,首先,设p=3,且为了与p互质,且系数的mod q运算通过位屏蔽运算来仅取低位8比特的运算来实现,而设q=256。
并且,作为df=dg=d,为了满足上述条件式EFC2,而生成df、dg、d的值。并且,生成N的值,使得对上述的联合攻击和LLL攻击的安全性在规定的值以上。
另外,这是参数的生成方法的一例。若生成参数,使其满足条件式EFC2,则也可以是其他方法。
之后,进行通过该生成方法生成的使用了(N,p,q,df,dg,d)=(251,3,256,42,42,42)的参数的情况。
以上,对第三变形NTRU加密方式进行了说明,但是之后对本实施方式的加密通信系统、加密装置和解密装置来进行说明。
<加密通信系统1c的概要>
图11是表示本发明的实施方式3的加密通信系统1c的整体结构图。首先,使用该图来说明加密通信系统1c的概要。
该加密通信系统1c是进行明文m的加密通信的系统,由加密装置10c和解密装置20c构成,经通信路径30来相互连接加密装置10c和解密装置20c。
并且,该加密通信系统1c在加密装置10c和解密装置20c之间,共用(N,p,q,df,dg,d)=(251,3,256,42,42,42)来作为第三变形NTRU加密方式的参数。
在该加密通信系统1c中,加密装置10c使用上述的第三变形NTRU加密方式来加密从外部输入的明文m而生成密文c,并经通信路径30发送到解密装置20c。
并且,解密装置20c经通信路径30解密从加密装置10c接收的密文c而生成解密电文m’后输出。
以上是加密通信系统1c的概要,以下,以与加密通信系统1的差异点为中心,来说明其结构和动作。
<加密通信系统1c的结构>
加密通信系统1c如图11所示,由加密装置10c和解密装置20c构成,经通信路径30来彼此连接加密装置10c和解密装置20c。
以下,以与加密通信系统1的差异点为中心来说明这些构成要素。
<加密装置10c的结构>
加密装置10c如图12所示,由参数存储部11c、公钥存储部12和加密部13c构成。
下面,以与加密装置10的差异点为中心来说明这些构成要素。
(1)参数存储部11c
参数存储部11c例如由RAM和EEPROM等的存储器构成,并可从后述的加密部13c进行访问。
参数存储部11c如上所述,预先存储设作p=3且q=2^k(k:2以上的整数),并满足条件式EFC2的参数。这里,如上所述,预先存储参数(N,p,q,df,dg,d)=(251,3,256,42,42,42)。
(2)加密部13c
加密部13c例如由微计算机构成,可访问参数存储部11c和公钥存储部12。
加密部13c在代替进行第一变形NTRU加密方式的加密处理,而进行第三变形NTRU加密方式的加密处理,生成密文c这方面,与加密部13不同。
<解密装置20c的结构>
解密装置20c如图13所示,由参数存储部21c、密钥生成部22c、私钥存储部23和解密部24c构成。
以下,以与解密装置20的差异点为中心来说明这些构成要素。
(1)参数存储部21c
参数存储部21c例如由RAM和EEPROM这样的存储器构成,可以从后述的密钥生成部22c和解密部24c进行访问。
参数存储部21c预先存储了与加密部10c的参数存储部11c相同的参数(N,p,q,df,dg,d)。这里,如上所述,预先存储(N,p,q,df,dg,d)=(251,3,256,42,42,42)。
(2)密钥生成部22c
密钥生成部22c例如由微计算机构成,生成作为第三变形NTRU加密方式的私钥的多项式f和作为公钥的多项式h。
密钥生成部22c在代替进行第一变形NTRU加密方式的密钥生成处理,进行第三变形NTRU加密方式的密钥生成处理这方面与密钥生成部22不同。
(3)解密部24c
解密部24c例如由微计算机构成,可以访问参数存储部21c和私钥存储部23。
解密部24c在代替进行第一变形NTRU加密方式的解密处理,进行第三变形NTRU加密方式的解密处理,而生成解密电文m’这方面,与解密部24不同。
<解密通信系统1c的动作>
以上,说明了加密通信系统1c的结构,但是这里使用图14所示的流程图来说明加密通信系统1c的整体的动作。
首先,参数存储部11c和参数存储部21c预先存储p=3且q=2^k(k:2以上的整数),且满足条件式EFC2的参数(步骤S361)。
接着,密钥生成部22c从参数存储部21c读取参数N、参数q、参数df、参数dg,并使用参数N、参数df,选择由(N-1)次以下的多项式表示的多项式F,使得df个系数是1,且其余系数是0,并通过f=1+p·F来生成私钥f(步骤S362)。
接着,密钥生成部22c使用参数N、参数dg,选择由(N-1)次以下的多项式表示的多项式g,使得dg个的系数是1且其余系数是0(步骤S363)。
接着,密钥生成部22c进行上述的第三变形NTRU加密方式的密钥生成处理,而生成作为公钥的多项式h(步骤S364)。
接着,密钥生成部22c将多项式h作为公钥来加以公开,而可以由加密装置10c取得,并将多项式f作为私钥存储在私钥存储部23中(步骤S365)。
接着,公钥存储部12经通信路径30取得解密装置20c的公钥h来加以存储(步骤S366)。
接着,在从外部输入系数是0或1的明文m后,加密部13c从参数存储部11c中读取参数N、参数q、参数d,并从公钥存储部12中读取公钥h(步骤S367)。
接着,加密部13使用参数N、参数d,随机选择(N-1)次以下的多项式r,使得d个系数是1,且其余系数是0(步骤S368)。
接着,加密部13c对明文m,使用随机数r,公钥h、参数N、参数q,进行第三变形NTRU加密方式的加密处理,而生成密文c(步骤S369)。
接着,加密部13c经通信路径30将所生成的密文c发送到解密装置20c(步骤S370)。
接着,解密部24c在经通信路径30从加密装置10c接收到密文c后,从参数存储部21c中读取参数N、参数p、参数q,从私钥存储部23中读取私钥f(步骤S371)。
接着,解密部24c对秘密电文c,使用私钥f、参数N、参数p、参数q,进行第三变形NTRU加密方式的解密处理,而生成解密电文m’(步骤S372)。
接着,解密部24c将所生成的解密电文m’输出到外部后结束处理(步骤S373)。
<加密通信系统1c的动作验证>
首先,加密装置10c和解密装置20c在步骤S361中,存储p=3且q=2^k(k:2以上的整数),并满足条件EFC2的参数。
并且,解密装置20c预先使用该参数,在步骤S362和步骤S363中,生成系数是0或1这二个值的私钥f和多项式g,并在步骤S364中,以这些多项式为基础来生成公钥h。
并且,加密装置10c中,在步骤S368,生成系数是0或1这二个值的多项式r,并在步骤S369中,使用p=3且q=2^k(k:2以上的整数),并满足条件式EFC2的参数和公钥h以及随机数r,来加密系数是0或1这二个值的明文m而生成密文c。
并且,在解密装置20c中,在步骤S372中,使用私钥f和所存储的p=3且q=2^k(k:2以上的整数),且满足条件式EFC2的参数,来生成解密电文m’。
根据该结构,在加密装置10c和解密装置20c之间共用p=3且q=2^k(k:2以上的整数),且满足条件式EFC2的参数,并使用该参数进行加密通信,所以如上所述,与现有的NTRUEncrypt相比可以进行更高速处理。另外,如在上述的条件式EFC2的说明中所描述的,解密错误不会在原理上发生,且解密电文m’必然与明文m相同。由此,可以构成解密错误在原理上不发生,且可进行高速处理的第三变形NTRU加密方式,另外,可以将第三变形NTRU加密方式适用于加密通信系统,而提供在解密装置中总是可正确得到加密装置发送的数据内容,与现有技术相比可以进行更高速处理的加密通信系统。
(其他变形例)
另外,上述说明的实施方式是本发明的实施方式的一例,本发明并不限于该实施方式,可以在不脱离其精神的范围中以各种形态来实施。除了上述变形例,下面的情况也包含在本发明中。
(1)加密通信系统1、1b、1c中,表示了参数生成方法的一例,和通过该参数生成方法生成的参数的具体例,但是其如在参数生成方法的说明中所描述的,也可以是其他生成方法,另外,若满足条件,则也可以是其他参数,并不加以限定。
(2)加密通信系统1中,在加密装置10和解密装置20之间,作为同一参数,共用(N,p,q,df,dg,d)=(251,3,256,42,42,42),但是在加密装置10中,也可仅保持该参数中加密处理所需的参数,在解密装置20中,仅保持密钥生成处理和解密处理所需的参数。
(3)在加密通信系统1中,解密装置20进行了密钥生成处理,但是也可进一步具有经专用通信路径可与加密装置10和解密装置20进行通信的密钥生成装置,代替解密装置20进行密钥生成处理,由密钥生成装置进行密钥生成处理,加密装置10从密钥生成装置经专用通信路径取得公钥h来预先存储到公钥存储部12上,解密装置20从密钥生成装置经专用通信路径取得作为私钥的一部分或私钥本身的多项式f,而预先存储到私钥存储部23上。另外,也可代替专用通信路径来使用通信路径30。
(4)实施方式1到3中,使用多项式来表现运算,但是也可如专利文献1那样,将其作为一般的环R的元来表现。具体的,可以将多项式作为环R的元,将p、q作为环的理想。进一步,实施方式1到3的p、q也可以是理想p=pg·R、q=qg·R。具体的,在实施方式1到3中,在p=3、q=2^k的情况下,可以是p=3·R、q=(2^k)·R。这时,2是环R中的2,是将乘法群的单位元1两次加到环R中的加法群的零元0上。同样,3是将单位元1三次加到零元0上。进一步,2^k是k次将2乘以乘法群的单位元1上。
另外,将dg、d设作以N维排列来表现元g、r时的要素是1的个数,将df设作用N维排列来表现f或F时的要素是1的个数,解密错误不发生的条件式也可以是pg×Min(dg,d)+1+pg×df<qg。
(5)本发明也可以是上述所示的方法。另外,这些方法也可以是通过计算机实现的计算机程序,也可以是由所述计算机程序构成的数字信号。
另外,本发明将所述计算机程序或所述数字信号记录在计算机可读取的记录媒体,例如半导体存储器、硬盘驱动器、CD-ROM、DVD-ROM、DVD-RAM等上。
(6)可以分别组合上述实施方式和变形例。
(7)另外,框图(图2和图4等)的各功能块典型地实现为作为集成电路的LSI。这些可以分别单芯片化,也可以包含一部分或全部的方式单芯片化。
另外,LSI因集成度的不同,称作IC、系统LSI、超级(super)LSI、甚(ultra)LSI。
另外,集成电路化的方法并不限于LSI,也可通过专用电路或通用处理器实现。LSI制造后,也可利用可进行编程的FPGA(FieldProgrammable Gate Array:现场可编程门阵列)与可重新构成LSI内部的电路单元的连接或设置的重新配置处理器。
进一步,若因半导体技术的进步和派生的其他技术替换LSI的集成电路的技术出现,当然也可使用该技术来进行功能块的集成化。作为其他技术有生物技术的可能。
产业上的可用性
本发明的加密通信系统、加密装置和解密装置与现有技术相比,具有可以进行更高速处理的效果,或有可以使解密错误在原理上不发生的效果,作为密钥发送和内容发送等的加密通信系统等有用。
Claims (24)
1、一种加密系统,包括:加密装置,根据预定的加密方式加密明文来生成密文;解密装置,根据所述预定的加密方式来解密所述密文而生成解密电文,其特征在于:
所述解密装置具有:
密钥生成部,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥,其中,a(mod b)表示b除a后的余数;和
解密部,使用所述私钥来解密所述密文而生成所述解密电文;
所述加密装置具有:
加密部,使用所述公钥和从所述环R随机选择的元r,来加密所述明文而生成所述密文;
所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,即,所述理想q是环R中的2^k的倍数的集合,其中,2^k表示对1进行k次乘以2后的结果,*表示环R的乘法;
所述密钥生成部中,
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
2、根据权利要求1所述的加密系统,其特征在于:
所述理想p是p=3*R,即,所述理想p是环R中的3的倍数的集合。
3、根据权利要求1所述的加密系统,其特征在于:
所述环R是多项式环。
4、根据权利要求1所述的加密系统,其特征在于:
所述解密部进一步对在生成所述解密电文的过程中出现的所述环R的元,实施使解密错误发生概率降低的处理。
5、根据权利要求4所述的加密系统,其特征在于:
所述使解密错误发生概率降低的处理是,NTRU加密方式中的center1算法或center2算法。
6、根据权利要求1所述的加密系统,其特征在于:
所述条件式是Min(dg,d)+df<(qg-1)/pg,其中,Min(a,b)表示a和b中小的数。
7、根据权利要求1所述的加密系统,其特征在于:
所述非负整数df规定所述环R的元F的N次排列的要素的值是1的要素的数目,来代替规定所述元f的N次排列的要素的值是1的要素的数目;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合;
所述私钥是所述环R的元(1+pg*F)。
8、根据权利要求1所述的加密系统,其特征在于:
所述预定的加密方式是NTRU加密方式。
9、一种加密装置,根据预定的加密方式来加密明文而生成密文,其特征在于,包括:
加密部,使用公钥和从环R中随机选择出的元r来加密所述明文而生成所述密文,其中该环R为定义了加法、减法、乘法的N次排列的集合;
所述预定的加密方式是通过包含下述步骤的方法来进行明文的加密以及密文的解密的加密方式,这些步骤为:
密钥生成步骤,对于所述环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;
加密步骤,使用所述公钥和从所述环R中随机选择的元r来加密所述明文而生成所述密文;和
解密步骤,使用所述私钥来解密所述密文而生成所述解密电文;
所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,即,所述理想q是环R中的2^k的倍数的集合;
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
10、据权利要求9所述的加密装置,其特征在于:
所述理想p是p=3*R,即,所述理想p是环R中的3的倍数的集合。
11、根据权利要求9所述的加密装置,其特征在于:
所述环R是多项式环。
12、根据权利要求9所述的加密装置,其特征在于:
所述条件式是Min(dg,d)+df<(qg-1)/pg,其中,Min(a,b)表示a和b中小的数。
13、根据权利要求9所述的加密装置,其特征在于:
所述预定的加密方式是NTRU加密方式。
14、一种解密装置,根据预定的加密方式来对密文进行解密而生成解密电文,其特征在于,包括:
密钥生成部,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;和
解密部,使用所述私钥来解密所述密文而生成所述解密电文;
所述预定的加密方式是通过包含下述步骤的方法来进行明文的加密以及密文的解密的加密方式,这些步骤为:
密钥生成步骤,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;
加密步骤,使用所述公钥和从所述环R中随机选择的元r来加密所述明文而生成所述密文;和
解密步骤,使用所述私钥来解密所述密文而生成所述解密电文;
所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,即,所述理想q是环R中的2^k的倍数的集合;
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
15、根据权利要求14所述的解密装置,其特征在于:
所述理想p是p=3*R,即,所述理想p是环R中的3的倍数的集合。
16、根据权利要求14所述的解密装置,其特征在于:
所述环R是多项式环。
17、根据权利要求14所述的解密装置,其特征在于:
所述解密部进一步对在生成所述解密电文的过程中出现的所述环R的元,实施使所述解密电文与所述明文相等的概率提高的处理。
18、根据权利要求17所述的解密装置,其特征在于:
所述使解密电文与所述明文相等的概率提高的处理是,NTRU加密方式中的center1算法或center2算法。
19、根据权利要求14所述的解密装置,其特征在于:
所述条件式是Min(dg,d)+df<(qg-1)/pg,其中,Min(a,b)表示a和b中小的数。
20、根据权利要求14所述的解密装置,其特征在于:
所述非负整数df规定所述环R的元F的N次排列的要素的值是1的要素的数目,来代替规定所述元f的N次排列的要素的值是1的要素的数目;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合;
所述私钥是所述环R的元(1+pg*F)。
21、根据权利要求14所述的解密装置,其特征在于:
所述预定的加密方式是NTRU加密方式。
22、一种加密方法,加密明文而生成密文,并且解密所述密文而生成解密电文,其特征在于,包括:
密钥生成步骤,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;
加密步骤,使用所述公钥和从所述环R中随机选择的元r来加密所述明文而生成所述密文;和
解密步骤,使用所述私钥来解密所述密文而生成所述解密电文;
所述密钥生成步骤中,
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
23、一种集成电路,根据预定的加密方式来加密明文而生成密文,其特征在于,
包括:加密部,使用公钥和从环R中随机选择出的元r来加密所述明文而生成所述密文,其中该环R为定义了加法、减法、乘法的N次排列的集合;
所述预定的加密方式是通过包含下述步骤的方法来进行明文的加密以及密文的解密的加密方式,这些步骤为:
密钥生成步骤,对于所述环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;
加密步骤,使用所述公钥和从所述环R中随机选择的元r来加密所述明文而生成所述密文;和
解密步骤,使用所述私钥来解密所述密文而生成所述解密电文;
所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,即,所述理想q是环R中的2^k的倍数的集合;
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
24、一种集成电路,根据预定的加密方式对密文进行解密而生成解密电文,其特征在于:
包括:
密钥生成部,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;和
解密部,使用所述私钥来解密所述密文而生成所述解密电文;
所述预定的加密方式是通过包含下述步骤的方法来进行明文的加密以及密文的解密的加密方式,这些步骤为:
密钥生成步骤,对于作为定义了加法、减法、乘法的N次排列的集合的环R和所述环R的理想p、q,生成所述环R的元f、g、作为f(mod q)的倒数的元Fq、作为f(mod p)的倒数的元Fp,并生成元h来作为公钥,该元h为与所述元g和所述元Fq之积的模为q的合同,并生成可得到所述元f和所述元Fp的信息作为私钥;
加密步骤,使用所述公钥和从所述环R中随机选择的元r来加密所述明文而生成所述密文;和
解密步骤,使用所述私钥来解密所述密文而生成所述解密电文;
所述元f、所述元g、所述元r、作为所述明文的N次排列的所有要素是0或1,所述理想p和所述理想q彼此互质,所述理想q为q=(2^k)*R,即,所述理想q是环R中的2^k的倍数的集合;
所述元f基于规定N次排列的值为1的要素的数目的非负整数df来生成;
所述元g基于规定N次排列的值为1的要素的数目的非负整数dg来生成;
所述元r基于规定N次排列的值为1的要素的数目的非负整数d来选择;
所述理想p相对所述环R的元pg满足p=pg*R,即,所述理想p是所述环R的元pg的倍数的集合,所述理想q相对所述环的元qg满足q=qg*R,即,所述理想q是所述环R的元qg的倍数的集合;
所述次数N、所述元pg、所述元qg、所述非负整数df、所述非负整数dg、所述非负整数d基于使解密错误不发生的条件式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004142022 | 2004-05-12 | ||
JP142022/2004 | 2004-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1922643A CN1922643A (zh) | 2007-02-28 |
CN100535962C true CN100535962C (zh) | 2009-09-02 |
Family
ID=35320424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800055361A Expired - Fee Related CN100535962C (zh) | 2004-05-12 | 2005-04-28 | 加密系统、加密装置、解密装置和集成电路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7773746B2 (zh) |
EP (1) | EP1746561A1 (zh) |
JP (1) | JP4786531B2 (zh) |
KR (1) | KR20070011293A (zh) |
CN (1) | CN100535962C (zh) |
WO (1) | WO2005109379A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792286B2 (en) * | 2005-04-18 | 2010-09-07 | Panasonic Corporation | Signature generation device and signature verification device |
KR100742093B1 (ko) * | 2007-05-10 | 2007-07-24 | 인하대학교 산학협력단 | 엔티알유 암호화 및 복호화를 위한 다항식 컨볼루션 연산방법 |
CN101321058B (zh) * | 2007-06-07 | 2010-12-15 | 管海明 | 一种用于编码和译码数字消息的方法和系统 |
CA2693234C (en) * | 2007-07-17 | 2016-09-13 | Certicom Corp. | Method of providing text representation of a cryptographic value |
JP2009278223A (ja) * | 2008-05-13 | 2009-11-26 | Panasonic Corp | 電子証明システム及び秘匿通信システム |
US8045708B2 (en) * | 2008-05-21 | 2011-10-25 | Apple Inc. | Discrete key generation method and apparatus |
CN105337737B (zh) * | 2014-07-03 | 2018-11-20 | 华为技术有限公司 | 公钥加密通信方法和装置 |
US9942031B2 (en) | 2014-09-03 | 2018-04-10 | Research Foundation Of The City University Of New York | System and method for private-key fully homomorphic encryption and private search between rings |
WO2018135563A1 (ja) * | 2017-01-20 | 2018-07-26 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム |
CN107592203A (zh) * | 2017-09-25 | 2018-01-16 | 深圳技术大学筹备办公室 | 一种基于格的聚合签名方法及其系统 |
CN109450634B (zh) * | 2018-10-18 | 2020-03-31 | 南京大学 | Rsa公钥分解和解密方法及系统 |
KR102160294B1 (ko) * | 2019-02-15 | 2020-09-28 | 주식회사 크립토랩 | 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법 |
WO2020166879A1 (en) * | 2019-02-15 | 2020-08-20 | Crypto Lab Inc. | Apparatus for performing threshold design on secret key and method thereof |
CN110175067B (zh) * | 2019-03-05 | 2023-06-13 | 广东电网有限责任公司信息中心 | 一种移动应用立体防御方法和系统 |
WO2021107515A1 (en) * | 2019-11-28 | 2021-06-03 | Seoul National University R&Db Foundation | Identity-based encryption method based on lattices |
CN113391576A (zh) * | 2020-03-13 | 2021-09-14 | 苏州拉普斯自动化有限公司 | 一种基于物联网的信息物理系统及方法 |
CN111767532A (zh) * | 2020-06-12 | 2020-10-13 | 上海橙群微电子有限公司 | 编程器鉴权方法和鉴权系统 |
US11522674B1 (en) * | 2021-09-09 | 2022-12-06 | Aires Investment Holdings Private Limited | Encryption, decryption, and key generation apparatus and method involving diophantine equation and artificial intelligence |
KR102600166B1 (ko) * | 2021-12-02 | 2023-11-08 | 조선대학교산학협력단 | 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템에서 사용되는 다항식의 역원을 생성하기 위한 역원 생성 장치 및 방법 |
KR102595938B1 (ko) * | 2021-12-02 | 2023-10-30 | 조선대학교산학협력단 | 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2263588C (en) * | 1996-08-19 | 2005-01-18 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
GB0013398D0 (en) | 2000-06-01 | 2000-07-26 | Tao Group Ltd | A method of protecting a cryptosystem from a multiple transmission attack |
GB0013399D0 (en) | 2000-06-01 | 2000-07-26 | Tao Group Ltd | Decryption of cipher polynomials |
EP1475920A4 (en) * | 2002-12-03 | 2005-03-02 | Matsushita Electric Ind Co Ltd | KEY SHARING SYSTEM, SHARED KEY CREATING DEVICE, AND SHARED KEY RESTORING DEVICE |
EP1616405A1 (en) | 2003-04-24 | 2006-01-18 | Matsushita Electric Industrial Co., Ltd. | Apparatus to generate parameter for ntru, ntru decryption and encryption system, apparatus, method and program implementing said parameter generating unit |
JP4567364B2 (ja) | 2003-04-24 | 2010-10-20 | パナソニック株式会社 | パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム |
-
2005
- 2005-04-28 US US10/592,387 patent/US7773746B2/en active Active
- 2005-04-28 JP JP2006512975A patent/JP4786531B2/ja active Active
- 2005-04-28 WO PCT/JP2005/008144 patent/WO2005109379A1/ja not_active Application Discontinuation
- 2005-04-28 KR KR1020067016741A patent/KR20070011293A/ko active IP Right Grant
- 2005-04-28 EP EP05736530A patent/EP1746561A1/en not_active Withdrawn
- 2005-04-28 CN CNB2005800055361A patent/CN100535962C/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
Estimating Decryption Failure Probabilities for NTRUEncrypt. J.H.Silverman,W.Whyte.. 2003 * |
Implementation Aspects of NTRUEncrypt and NTRUSign. Consortium,for,Efficient,Embedded,Security.. 2003 * |
Optimizations for NTRU. Jeffrey,Hoffstein,Joseph,Silverman.. 2000 * |
Also Published As
Publication number | Publication date |
---|---|
CN1922643A (zh) | 2007-02-28 |
JPWO2005109379A1 (ja) | 2008-03-21 |
US7773746B2 (en) | 2010-08-10 |
WO2005109379A1 (ja) | 2005-11-17 |
EP1746561A1 (en) | 2007-01-24 |
KR20070011293A (ko) | 2007-01-24 |
JP4786531B2 (ja) | 2011-10-05 |
US20070274518A1 (en) | 2007-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100535962C (zh) | 加密系统、加密装置、解密装置和集成电路 | |
WO2019117694A1 (ko) | 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들 | |
WO2014035146A2 (ko) | 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 | |
WO2018117651A1 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
CN105723648A (zh) | 一种密钥配置方法、系统和装置 | |
WO2017111559A1 (en) | Apparatus and method for encoding and decoding channel in communication or broadcasting system | |
WO2016137234A1 (en) | Transmitter and repetition method thereof | |
WO2016137258A1 (en) | Transmitter and method for generating additional parity thereof | |
WO2015126195A1 (en) | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals | |
WO2016137256A1 (en) | Transmitter and method for generating additional parity thereof | |
WO2015041475A1 (ko) | 송신 장치 및 그의 펑처링 방법 | |
WO2015061941A1 (zh) | 一种密钥配置方法和装置 | |
WO2016140515A1 (en) | Transmitter and parity permutation method thereof | |
WO2016140514A1 (en) | Transmitter and segmentation method thereof | |
WO2018034503A1 (en) | Method and apparatus for constructing interleaving sequence in a wireless communication system | |
WO2014187037A1 (zh) | 流转发方法、设备及系统 | |
WO2009157715A2 (en) | Codebook design method for multiple input multiple output system and method for using the codebook | |
EP3677008A1 (en) | Method and electronic device for providing communication service | |
WO2016140511A1 (en) | Transmitter and method for generating additional parity thereof | |
WO2016140513A1 (en) | Transmitter and parity permutation method thereof | |
WO2016140504A1 (en) | Transmitter and shortening method thereof | |
WO2018182371A1 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
EP2946560A1 (en) | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals | |
WO2019031925A1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
WO2020117015A1 (ko) | 다변수 패킹을 이용하는 연산 장치 및 방법 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090902 Termination date: 20130428 |