欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

密鑰共享系統(tǒng)、共享密鑰生成裝置及共享密鑰復(fù)原裝置的制作方法

文檔序號(hào):2392093閱讀:369來(lái)源:國(guó)知局
專利名稱:密鑰共享系統(tǒng)、共享密鑰生成裝置及共享密鑰復(fù)原裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及作為信息安全技術(shù)的密碼技術(shù),特別涉及不讓第3者知道而配送密鑰的技術(shù)。
背景技術(shù)
過(guò)去,為了從發(fā)送裝置向接收裝置秘密發(fā)送信息,使用了公開密鑰密碼方式。
在公開密鑰密碼方式中,發(fā)送裝置使用接收裝置的公開密鑰加密后再發(fā)送通信內(nèi)容,接收裝置接收已加密的通信內(nèi)容,并使用自身的秘密密鑰對(duì)已接收的通信內(nèi)容進(jìn)行解密,得到原來(lái)的通信內(nèi)容。(例如,參照非專利文獻(xiàn)1)。
1996年,作為可高速處理的公開密鑰密碼,提出了NTRU密碼(例如,參照非專利文獻(xiàn)2)。在NTRU密碼中,因使用可進(jìn)行高速運(yùn)算的多項(xiàng)式運(yùn)算進(jìn)行加密和解密,故若與進(jìn)行冪乘運(yùn)算的RSA密碼或進(jìn)行橢圓曲線上點(diǎn)的標(biāo)量乘積運(yùn)算的橢圓曲線密碼比較,利用軟件可以進(jìn)行比現(xiàn)有的公開密鑰密碼更高速的處理。
但是,在該NTRU密碼中,當(dāng)使用公開密鑰對(duì)明碼文加密后生產(chǎn)加密文,并使用正規(guī)的秘密密鑰對(duì)加密文解密后生成解密文時(shí),會(huì)產(chǎn)生解密文與原來(lái)的明碼文不同的情況。將該現(xiàn)象稱作發(fā)生解密錯(cuò)誤。再有,作為避免解密錯(cuò)誤的方法,公開了一種對(duì)明碼文添加附加信息后再加密,并和明碼文的散列函數(shù)值一起發(fā)送的方法(例如,參照非專利文獻(xiàn)1)。
另一方面,近年來(lái),作為公開密鑰密碼的新概念,提出了稱之為密鑰密封機(jī)制(Key Encapsulation Mechanisms)的方式(例如,參照非專利文獻(xiàn)3)。該密鑰密封機(jī)制是使用公開密鑰密碼在發(fā)送裝置和接收裝置之間進(jìn)行共享密鑰配送的算法,發(fā)送裝置將接收者的公開密鑰pk輸給加密算法E,再生成加密文C和共享密鑰K,并將加密文C傳送給接收裝置。其次,接收裝置將秘密密鑰sk和加密文C輸給解密算法D,再求出和發(fā)送裝置相同的共享密鑰K。
這樣,在使用密鑰密封機(jī)制使發(fā)送裝置和接收裝置對(duì)共享密鑰K進(jìn)行共享之后,發(fā)送裝置利用公共密鑰密碼方式并使用共享密鑰K對(duì)應(yīng)向接收裝置發(fā)送的明碼文進(jìn)行加密,生成加密文,并將生成的加密文發(fā)送給接收裝置。接收裝置接收加密文,利用上述公共密鑰密碼方式并使用共享密鑰K對(duì)已接收的加密文進(jìn)行解密,再生成解密文。
密鑰密封機(jī)制的過(guò)去所沒有的特征在于,在從發(fā)送者向接收者單方向發(fā)送信息,但發(fā)送者不能有意生成共享密鑰,從而限制了發(fā)送者的非法行為。
作為這樣的密鑰密封機(jī)制,公開了一種稱之為PSEC-KEM的算法(例如,參照非專利文獻(xiàn)3和非專利文獻(xiàn)4)。下面,說(shuō)明非專利文獻(xiàn)4中記載的PSEC-KEM算法。
(1)PSEC-KEM的系統(tǒng)參數(shù)PSEC-KEM具有以下系統(tǒng)參數(shù)。
.橢圓曲線E.橢圓曲線上的位數(shù)n的點(diǎn)P.散列函數(shù)G、H再有,關(guān)于橢圓曲線、位數(shù)及散列函數(shù),在非專利文獻(xiàn)1中已有詳細(xì)記載,這里省略其說(shuō)明。
(2)PSEC-KEM的公開密鑰和秘密密鑰.隨機(jī)選取Zn的要素x,生成W=x*P。
這里,Zn是由{0,1,---n-1}構(gòu)成的集合,x*P表示通過(guò)將x個(gè)橢圓曲線上的點(diǎn)P相加后得到的橢圓曲線上的點(diǎn)。再有,關(guān)于橢圓曲線上的點(diǎn)相加的方法,在非專利文獻(xiàn)1中已有記述。
.設(shè)公開密鑰pk為(E.P.W.n),秘密密鑰sk為x。
(3)PSEC-KEM的加密在加密時(shí),向下述加密算法KemE輸入公開密鑰pk再輸出共享密鑰K和加密文C。下面,說(shuō)明加密算法KemE。
.隨機(jī)生成和散列函數(shù)H的輸出位長(zhǎng)長(zhǎng)度相同的s。
.生成G(s)并分割G(s)生成a和K。a是由G(s)的高位多位構(gòu)成的位列,K是由剩下的位構(gòu)成的位列。這里,G(s)=a||K?!畖|’是表示位結(jié)合的運(yùn)算符。即,若a和K結(jié)合,則得到G(s)。
.生成R=a*P,Q=a*W。
.生成v=sxor H(R||Q)。這里,xor表示“異”運(yùn)算。
.輸出共享密鑰K和加密文C=(R,v)。
(4)PSEC-KEM的解密解密時(shí),向下述解密算法KemD輸入加密文C=(R,v)、公開密鑰pk和秘密密鑰sk再輸出共享密鑰K。下面,說(shuō)明解密算法KemD。
.生成Q=x*R。
.生成s=v xor H(R||Q)。
.生成G(s)并將G(s)分割成G(s)=a||K。
.檢驗(yàn)R=a*P是否成立。若成立則輸出共享密鑰K。
當(dāng)將該P(yáng)SEC-KEM算法應(yīng)用于在發(fā)送裝置和接收裝置之間進(jìn)行加密通信的密碼系統(tǒng)時(shí),首先,發(fā)送裝置取得通信目的地接收裝置的公開密鑰pk,并將取得的公開密鑰pk輸入到前述的加密算法KemE中,再導(dǎo)出共享密鑰K和加密文C,再將加密文C發(fā)送給接收裝置。
其次,接收裝置從發(fā)送裝置接收加密文C,將已接收的加密文C和自身具有的公開密鑰pk、秘密密鑰sk輸入到前述的解密算法KemD,導(dǎo)出和發(fā)送裝置導(dǎo)出的相同的共享密鑰K。
下面,進(jìn)一步詳細(xì)說(shuō)明。
現(xiàn)在,PSEC-KEM算法將散列函數(shù)H的輸入作為(a*P||a*W),使H(a*P||a*W)的值作用于在加密算法KemE中隨機(jī)生成的要素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中生成的隨機(jī)要素s。
因此,加密算法KemE和解密算法KemD可以向散列函數(shù)G輸入相同的s的值,并可以導(dǎo)出相同的共享密鑰K。結(jié)果,具有秘密密鑰sk的接收裝置可以導(dǎo)出和發(fā)送裝置所導(dǎo)出的相同的共享密鑰K。
另一方面,不知道秘密密鑰sk的其他接收裝置即使取得公共密鑰pk并接收到加密文C,因不知道秘密密鑰sk(=x),故不能根據(jù)R=a*P計(jì)算出Q=a*W(=(ax)*P),不能導(dǎo)出和發(fā)送裝置所導(dǎo)出的相同的共享密鑰K。
這是因?yàn)椋恢烂孛苊荑€sk的其他接收裝置只能利用公開密鑰pk,在上述計(jì)算中利用公開密鑰pk去代替秘密密鑰sk(=x),但是,一般,根據(jù)a*P和W=x*P求Q=a*W(=(ax)*P)被稱作橢圓曲線上的Diffie-Hellman問(wèn)題,若不知道a或x的值,則很難進(jìn)行計(jì)算(例如,參照非專利文獻(xiàn)5)。
即,在PSEC-KEM算法中,使用不使用秘密密鑰而根據(jù)a*P計(jì)算a*W較為困難的Diffie-Hellman問(wèn)題,并最終導(dǎo)出共享密鑰K,從而若不知道秘密密鑰,則不能導(dǎo)出該共享密鑰K。
由以上可知,發(fā)送裝置和接收裝置可以共同秘密地?fù)碛泄蚕砻荑€K,將使用秘密密鑰密碼從發(fā)送裝置向接收裝置通信的通信內(nèi)容數(shù)據(jù),使用共享密鑰K以公共密鑰密碼的形式對(duì)其進(jìn)行加密。
(專利文獻(xiàn)1)特開2002-252611號(hào)公報(bào)(非專利文獻(xiàn)1)岡本龍明、山本博資,“現(xiàn)代密碼”,系列/信息科學(xué)的數(shù)學(xué)、產(chǎn)業(yè)圖書,1997(非專利文獻(xiàn)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.
(非專利文獻(xiàn)3)Victor Shoup,“A proposal for an ISO standard for publickey encryption(version2.1)”,[online],2001年12月20日,[2002年9月29日檢索],Internet<URLhttp//shoup.net/papers/iso-2_1.pdf>
(非專利文獻(xiàn)4)Tatsuaki Okamoto,“Generic conversions for constructingIND-CCA2 public-key encryption in the random oracle model”,[online],The 5th Workshop on Elliptic Curve Cryptography(ECC2001),2001年10月30日,[2002年9月29日檢索],Internet<URLhttp//www.cacr.math.uwaterloo.ca/conferences/2001/ecc/okamoto.ppt>
(非專利文獻(xiàn)5)
Neal Koblitz,“Algebraic Aspects of Cryptography”,Algorithms and Computation in Mathematics Vo1.3,pp.132-133,Springer-Verlag,1998如上所述,現(xiàn)有的PSEC-KEM算法在散列函數(shù)H的輸入中使用a*P、a*W,利用不使用秘密密鑰而根據(jù)a*P計(jì)算a*W較為困難的Diffie-Hellman問(wèn)題,并最終導(dǎo)出共享密鑰K,從而若不知道秘密密鑰,則不能導(dǎo)出該共享密鑰K。
但是,在以NTRU密碼為首,不求解Diffie-Hellman問(wèn)題的其他公開密鑰密碼中,因沒有與Diffie-Hellman問(wèn)題中的a*P、a*W相當(dāng)?shù)膮?shù),故不適用于PSEC-KEM算法。即,可進(jìn)行高速處理的NTRU密碼不能使用作為密鑰密封機(jī)制的PSEC-KEM算法進(jìn)行共享密鑰的配送,因此,存在發(fā)送裝置和接收裝置不能進(jìn)行從使用了該共享密鑰的發(fā)送裝置向接收裝置的加密通信。

發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明的目的在于提供一種密鑰共享系統(tǒng)、共享密鑰生成裝置、共享密鑰復(fù)原裝置、共享密鑰生成方法、共享密鑰復(fù)原方法、共享密鑰生成程序和共享密鑰復(fù)原程序,即使使用不求解Diffie-Hellman問(wèn)題的密碼方式,也可以在不讓第三者知道的情況下從共享密鑰生成裝置向共享密鑰復(fù)原裝置配送共享密鑰,這時(shí),可以防止在共享密鑰生成裝置和共享密鑰復(fù)原裝置之間導(dǎo)出不同的共享密鑰。
為了達(dá)到上述目的,本發(fā)明提供一種密鑰共享系統(tǒng),由生成共享密鑰的共享密鑰生成裝置和共享密鑰復(fù)原裝置構(gòu)成,并生成不讓第三者知道的共享密鑰,上述共享密鑰生成裝置具有生成種子值的種子值生成裝置、根據(jù)已生成的上述種子值生成驗(yàn)證值和共享密鑰的第1共享密鑰生成裝置、對(duì)已生成的上述驗(yàn)證值進(jìn)行加密再生成第1加密信息的第1加密裝置、根據(jù)已生成的上述驗(yàn)證值對(duì)已生成的上述種子值進(jìn)行加密再生成第2加密信息的第2加密裝置、和發(fā)送已生成的上述第1加密信息和第2加密信息的發(fā)送裝置,上述共享密鑰復(fù)原裝置具有接收上述第1加密信息和上述第2加密信息的接收裝置、將已接收的上述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密裝置、根據(jù)已生成的上述第1解密驗(yàn)證值將已接收的上述第2加密信息解密后生成解密種子值的第2解密裝置、利用和上述第1共享密鑰生成裝置相同的方法,并根據(jù)已生成的上述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的第2共享密鑰生成裝置、根據(jù)已生成的上述第1解密驗(yàn)證值和上述第2解密驗(yàn)證值判斷是否輸出已生成的上述解密共享密鑰的判斷裝置、和當(dāng)判斷要輸出時(shí)輸出已生成的上述解密共享密鑰的輸出裝置。
若按照該構(gòu)成,上述共享密鑰生成裝置根據(jù)種子值生成驗(yàn)證值和共享密鑰,對(duì)上述驗(yàn)證值進(jìn)行加密生成第1加密信息,根據(jù)上述驗(yàn)證值對(duì)上述種子值進(jìn)行加密生成第2加密信息,上述共享密鑰復(fù)原裝置將上述第1加密信息解密后生成第1解密驗(yàn)證值,根據(jù)上述第1解密驗(yàn)證值將上述第2加密信息解密后生成解密種子值,和上述第1共享密鑰生成裝置一樣,根據(jù)上述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰,根據(jù)已生成的上述第1解密驗(yàn)證值和上述第2解密驗(yàn)證值判斷是否輸出已生成的上述解密共享密鑰,所以,能夠從共享密鑰生成裝置向共享密鑰復(fù)原裝置配送不讓第三者知道的共享密鑰,這時(shí),可以防止在共享密鑰生成裝置和共享密鑰復(fù)原裝置之間導(dǎo)出不同的共享密鑰。
這里,上述共享密鑰生成裝置進(jìn)而具有取得內(nèi)容的取得裝置和使用已生成的上述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密再生成加密內(nèi)容的加密裝置,上述發(fā)送裝置進(jìn)而發(fā)送已生成的上述加密內(nèi)容,上述接收裝置進(jìn)而接收上述加密內(nèi)容,上述共享密鑰復(fù)原裝置進(jìn)而具有使用已輸出的上述解密共享密鑰對(duì)已接收的上述加密內(nèi)容進(jìn)行解密再生成解密內(nèi)容的解密裝置、和輸出已生成的解密內(nèi)容的輸出裝置。
若按照該構(gòu)成,共享密鑰生成裝置使用已生成的上述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密再生成加密內(nèi)容,上述共享密鑰復(fù)原裝置使用已輸出的上述解密共享密鑰對(duì)已接收的上述加密內(nèi)容進(jìn)行解密再生成解密內(nèi)容,所以,能夠從共享密鑰生成裝置向共享密鑰復(fù)原裝置發(fā)送不讓第三者知道的內(nèi)容。
此外,本發(fā)明是不讓第三者知道而向?qū)Ψ窖b置傳送共享密鑰的共享密鑰生成裝置,具有生成種子值的種子值生成裝置、根據(jù)已生成的上述種子值生成驗(yàn)證值和共享密鑰的共享密鑰生成裝置、對(duì)已生成的上述驗(yàn)證值進(jìn)行加密后再生成第1加密信息的第1加密裝置、根據(jù)已生成的上述驗(yàn)證值對(duì)已生成的上述種子值進(jìn)行加密再生成第2加密信息的第2加密裝置、和發(fā)送已生成的上述第1加密信息和第2加密信息的發(fā)送裝置。
若按照該構(gòu)成,共享密鑰生成裝置對(duì)上述驗(yàn)證值進(jìn)行加密生成第1加密信息,根據(jù)上述驗(yàn)證值對(duì)上述種子值進(jìn)行加密生成第2加密信息,所以,可以通過(guò)雙重加密來(lái)進(jìn)一步提高安全性。第三者只要不知道第1和第2加密裝置的密碼方式,就得不到共享密鑰。
這里,上述種子值生成裝置生成隨機(jī)數(shù),通過(guò)將生成的隨機(jī)數(shù)作為上述種子值來(lái)生成上述種子值。
若按照該構(gòu)成,共享密鑰生成裝置生成隨機(jī)數(shù)并將生成的隨機(jī)數(shù)作為上述種子值,所以,在生成種子值、生成驗(yàn)證值和共享密鑰、生成第1加密信息和第2加密信息并發(fā)送第1加密信息和第2加密信息之后,當(dāng)生成下一個(gè)種子值時(shí),可以生成和最初生成的種子值不同的下一個(gè)種子值。因此,由共享密鑰生成裝置發(fā)送的第1加密信息和第2加密信息每一次都不同。所以,即使第三者這時(shí)盜聽、記錄從共享密鑰生成裝置向?qū)Ψ窖b置發(fā)送的第1加密信息和第2加密信息,也很難根據(jù)記錄的各第1加密信息和第2加密信息類推出原來(lái)的種子值。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行單向函數(shù)來(lái)生成函數(shù)值,并根據(jù)已生成的上述函數(shù)值生成上述驗(yàn)證值和上述共享密鑰。
若按照該構(gòu)成,對(duì)上述種子值執(zhí)行單向函數(shù)來(lái)生成上述驗(yàn)證值,所以,即使第三者得知了上述驗(yàn)證值,也很難根據(jù)上述驗(yàn)證值求出上述種子值。因此,根據(jù)上述驗(yàn)證值求出上述種子值進(jìn)而求得共享密鑰事實(shí)上是不可能的。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行作為上述單向函數(shù)的散列函數(shù),生成上述函數(shù)值。
若按照該構(gòu)成,上述單向函數(shù)是散列函數(shù),所以,其算法大家都熟悉,容易使用。
這里,上述共享密鑰生成裝置將已生成的上述函數(shù)值的一部分作為上述驗(yàn)證值,另一部分作為上述共享密鑰,由此,生成上述驗(yàn)證值和上述共享密鑰。
若按照該構(gòu)成,將上述函數(shù)值的一部分作為上述驗(yàn)證值,另一部分作為上述共享密鑰,所以,容易生成上述驗(yàn)證值和上述共享密鑰。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行單向函數(shù)再生成函數(shù)值,根據(jù)已生成的上述函數(shù)值生成上述驗(yàn)證值、上述共享密鑰和盲值。
若按照該構(gòu)成,對(duì)上述種子值執(zhí)行單向函數(shù)來(lái)生成上述驗(yàn)證值,所以,即使第三者得知了上述驗(yàn)證值,也很難根據(jù)上述驗(yàn)證值求出上述種子值。因此,根據(jù)上述驗(yàn)證值求出種子值進(jìn)而求得共享密鑰事實(shí)上是不可能的。
這里,上述第1加密裝置包含取得公開密鑰的公開密鑰取得部、使用取得的上述公開密鑰和已生成的上述盲值對(duì)上述驗(yàn)證值執(zhí)行公開密鑰加密算法再生成上述第1加密信息的公開密鑰加密部。
此外,上述第1加密裝置包含取得公開密鑰的公開密鑰取得部、使用取得的上述公開密鑰對(duì)上述驗(yàn)證值執(zhí)行公開密鑰加密算法再生成上述第1加密信息的公開密鑰加密部。
若按照該構(gòu)成,第1加密裝置使用公開密鑰密碼方式,所以,與使用共享密鑰密碼方式的情況相比,容易進(jìn)行密鑰的管理。
這里,上述公開密鑰加密算法是NTRU密碼方式,上述公開密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為上述公開密鑰,上述公開密鑰加密部根據(jù)上述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,根據(jù)上述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將上述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂上述驗(yàn)證值多項(xiàng)式,使用上述盲值多項(xiàng)式加密上述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的上述第1加密信息。
此外,上述公開密鑰加密算法是NTRU密碼方式,上述公開密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為上述公開密鑰,上述公開密鑰加密部根據(jù)上述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,生成盲值并根據(jù)生成的上述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將上述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂上述驗(yàn)證值多項(xiàng)式,使用上述盲值多項(xiàng)式加密上述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的上述第1加密信息。
若按照該構(gòu)成,可以采用NTRU密碼。
這里,上述第2加密裝置對(duì)上述驗(yàn)證值執(zhí)行單向函數(shù)再生成函數(shù)值,使用生成的上述函數(shù)值,對(duì)上述種子值執(zhí)行加密算法,再生成上述第2加密信息。
若按照該構(gòu)成,使用對(duì)上述驗(yàn)證值執(zhí)行單向函數(shù)所得到的函數(shù)值,對(duì)上述種子值執(zhí)行加密算法,再生成上述第2加密信息,所以,第三者只要不知道上述單向函數(shù)和上述加密算法,就不能從上述第2加密信息中得到上述種子值。
這里,上述第2加密裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的“異”運(yùn)算,生成上述第2加密信息。
若按照該構(gòu)成,因上述加密算法是“異”運(yùn)算,故容易使用。此外,還可以進(jìn)行逆運(yùn)算。
這里,上述第2加密裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的公共密鑰加密算法,生成上述第2加密信息。
若按照該構(gòu)成,因上述加密算法是眾所周知的公共密鑰加密算法,故容易使用。此外,還可以進(jìn)行逆運(yùn)算。
這里,上述第2加密裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的加法運(yùn)算,生成上述第2加密信息。
若按照該構(gòu)成,因上述加密算法是加法運(yùn)算,故容易使用。此外,還可以進(jìn)行逆運(yùn)算。
這里,上述第2加密裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的乘法運(yùn)算,生成上述第2加密信息。
若按照該構(gòu)成,因上述加密算法是乘法運(yùn)算,故容易使用。此外,還可以進(jìn)行逆運(yùn)算。
這里,上述第2加密裝置對(duì)上述驗(yàn)證值執(zhí)行作為上述單向函數(shù)的散列函數(shù)再生成上述函數(shù)值。
若按照該構(gòu)成,上述單向函數(shù)是散列函數(shù),其算法大家都熟悉,所以,容易使用。
這里,上述第2加密裝置使用上述驗(yàn)證值對(duì)上述種子值執(zhí)行加密算法,再生成第2加密信息。
若按照該構(gòu)成,使用上述驗(yàn)證值對(duì)上述種子值執(zhí)行加密算法,因運(yùn)算簡(jiǎn)單,故容易使用。
這里,上述第2加密裝置使用上述驗(yàn)證值和上述第1加密信息,對(duì)上述種子值進(jìn)行加密。
若按照該構(gòu)成,使用上述驗(yàn)證值和上述第1加密信息,對(duì)上述種子值進(jìn)行加密,所以,非法的第三者若不知道上述驗(yàn)證值和上述第1加密信息,就得不到種子值,從而提高了安全性。
這里,上述第2加密裝置對(duì)上述驗(yàn)證值和上述第1加密信息執(zhí)行單向函數(shù)再生成上述函數(shù)值,使用已生成的上述函數(shù)值對(duì)上述種子值執(zhí)行加密算法,生成上述第2加密信息。
若按照該構(gòu)成,使用單向函數(shù)和加密算法,所以,即使非法的第三者知道第1加密信息和第2加密信息,至少若不知道單向函數(shù)和加密算法,也得不到種子值,從而提高了安全性。
這里,上述第2加密裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的“異”運(yùn)算,生成上述第2加密信息。
若按照該構(gòu)成,因上述加密算法是“異”運(yùn)算,故運(yùn)算容易。此外,還可以進(jìn)行逆運(yùn)算。
這里,上述共享密鑰生成裝置進(jìn)而具有取得內(nèi)容的取得裝置和使用已生成的上述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密再生成加密內(nèi)容的加密裝置,上述發(fā)送裝置進(jìn)而發(fā)送已生成的上述加密內(nèi)容。
若按照該構(gòu)成,共享密鑰生成裝置可以不讓第三者知道而向?qū)Ψ窖b置發(fā)送內(nèi)容。
這里,是不讓第三者知道而從共享密鑰生成裝置接收共享密鑰的共享密鑰復(fù)原裝置,上述共享密鑰生成裝置生成種子值,根據(jù)已生成的上述種子值生成驗(yàn)證值和共享密鑰,對(duì)已生成的上述驗(yàn)證值進(jìn)行加密生成第1加密信息,根據(jù)已生成的上述驗(yàn)證值對(duì)已生成的上述種子值進(jìn)行加密生成第2加密信息,并發(fā)送已生成的上述第1加密信息和上述第2加密信息,上述共享密鑰復(fù)原裝置具有接收上述第1加密信息和上述第2加密信息的接收裝置、將已接收的上述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密裝置、根據(jù)已生成的上述第1解密驗(yàn)證值將已接收的上述第2加密信息解密后生成解密種子值的第2解密裝置、利用和上述共享密鑰生成裝置相同的方法,并根據(jù)已生成的上述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的共享密鑰生成裝置、根據(jù)已生成的上述第1解密驗(yàn)證值和上述第2解密驗(yàn)證值判斷是否輸出已生成的上述解密共享密鑰的判斷裝置、和當(dāng)判斷要輸出時(shí)輸出已生成的上述解密共享密鑰的輸出裝置。
若按照該構(gòu)成,可以不讓第三者知道而從共享密鑰生成裝置接收共享密鑰,這時(shí),還可以防止在共享密鑰生成裝置和共享密鑰復(fù)原裝置之間導(dǎo)出不同的共享密鑰。
這里,上述共享密鑰生成裝置取得公開密鑰,使用已取得的上述公開密鑰對(duì)上述驗(yàn)證值執(zhí)行公開密鑰加密算法,再生成上述第1加密信息,上述第1解密裝置包含取得與上述公開密鑰對(duì)應(yīng)的秘密密鑰的秘密密鑰取得部、使用取得的上述秘密密鑰對(duì)已接收的上述第1加密信息執(zhí)行與上述公開密鑰加密算法對(duì)應(yīng)的公開密鑰解密算法后再生成上述第1解密驗(yàn)證值的公開密鑰解密部。
若按照該構(gòu)成,第1解密裝置使用公開密鑰密碼方式,所以,與使用共享密鑰密碼方式的情形相比較,容易進(jìn)行密鑰的管理。
這里,上述公開密鑰加密算法和上述公開密鑰解密算法使用了NTRU密碼方式,上述共享密鑰生成裝置取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為上述公開密鑰,根據(jù)上述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,生成盲值并根據(jù)生成的上述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將上述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂上述驗(yàn)證值多項(xiàng)式,使用上述盲值多項(xiàng)式加密上述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的上述第1加密信息,上述接收裝置接收作為多項(xiàng)式的上述第1加密信息,上述秘密密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的秘密密鑰多項(xiàng)式作為上述秘密密鑰,上述公開密鑰解密部利用NTRU密碼方式的與上述加密算法對(duì)應(yīng)的解密算法,將上述秘密密鑰多項(xiàng)式作為密鑰使用,對(duì)作為多項(xiàng)式的上述第1加密信息進(jìn)行解密,生成解密驗(yàn)證值多項(xiàng)式,根據(jù)已生成的上述解密驗(yàn)證值多項(xiàng)式生成上述第1解密驗(yàn)證值。
若按照該構(gòu)成,可以采用NTRU密碼。
這里,上述共享密鑰生成裝置對(duì)上述驗(yàn)證值執(zhí)行單向函數(shù)再生成函數(shù)值,使用生成的上述函數(shù)值,對(duì)上述種子值執(zhí)行加密算法,再生成上述第2加密信息,上述第2解密裝置對(duì)已生成的上述第1解密驗(yàn)證值執(zhí)行上述單向函數(shù)再生成解密函數(shù)值,使用已生成的上述解密函數(shù)值對(duì)已接收的上述第2加密信息執(zhí)行與上述加密算法對(duì)應(yīng)的解密算法,再生成上述解密種子值。
若按照該構(gòu)成,第2解密裝置采用單向函數(shù)和解密算法的兩階段運(yùn)算方法,所以,即使非法的第三者知道第1加密信息和第2加密信息,至少若不知道單向函數(shù)和解密算法,也得不到種子值,從而提高了安全性。
這里,上述公共密鑰生成裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的“異”運(yùn)算,生成上述第2加密信息,上述第2解密裝置通過(guò)對(duì)已生成的上述解密函數(shù)值和上述第2加密信息執(zhí)行作為上述解密算法的“異”運(yùn)算,生成上述解密種子值。
若按照該構(gòu)成,因上述解密算法是“異”運(yùn)算,故運(yùn)算容易,此外,它還是上述加密算法的逆運(yùn)算。
這里,上述共享密鑰生成裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的公共密鑰加密算法,生成上述第2加密信息,上述第2解密裝置通過(guò)對(duì)已生成的上述解密函數(shù)值和上述第2加密信息執(zhí)行作為上述解密算法的、與上述公共密鑰加密算法對(duì)應(yīng)的公共密鑰解密算法,生成上述解密種子值。
若按照該構(gòu)成,因上述解密算法是眾所周知的共享密鑰解密算法,故容易使用,此外,它還是上述加密算法的逆運(yùn)算。
這里,上述公共密鑰生成裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的加法運(yùn)算,生成上述第2加密信息,上述第2解密裝置通過(guò)對(duì)已生成的上述解密函數(shù)值和上述第2加密信息執(zhí)行作為上述解密算法的減法運(yùn)算,生成上述解密種子值。
若按照該構(gòu)成,因上述解密算法是減法運(yùn)算,故運(yùn)算容易,此外,它還是上述加密算法的逆運(yùn)算。
這里,上述共享密鑰生成裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的乘法運(yùn)算,生成上述第2加密信息,上述第2解密裝置通過(guò)對(duì)已生成的上述解密函數(shù)值和上述第2加密信息執(zhí)行作為上述解密算法的除法運(yùn)算,生成上述解密種子值。
若按照該構(gòu)成,因上述解密算法是除法運(yùn)算,故運(yùn)算容易,此外,它還是上述加密算法的逆運(yùn)算。
這里,上述共享密鑰生成裝置對(duì)上述驗(yàn)證值執(zhí)行作為上述單向函數(shù)的散列函數(shù),生成上述函數(shù)值,上述第2解密裝置對(duì)已生成的上述第1解密驗(yàn)證值執(zhí)行作為上述單向函數(shù)的上述散列函數(shù),生成上述解密函數(shù)值。
若按照該構(gòu)成,因上述單向函數(shù)是散列函數(shù),是大家都熟悉的算法,故容易使用。
這里,上述共享密鑰生成裝置使用上述驗(yàn)證值,對(duì)上述種子值執(zhí)行加密算法,生成第2加密信息,上述第2解密裝置使用已生成的上述第1解密驗(yàn)證值,對(duì)上述第2加密信息執(zhí)行與上述加密算法對(duì)應(yīng)的解密算法,生成上述解密種子值。
若按照該構(gòu)成,使用第1解密驗(yàn)證值對(duì)第2加密信息進(jìn)行解密,所以運(yùn)算容易。
這里,上述共享密鑰生成裝置使用上述驗(yàn)證值和上述第1加密信息對(duì)上述種子值進(jìn)行加密,上述第2解密裝置使用已生成的上述第1解密驗(yàn)證值和已接收的上述第1加密信息,對(duì)上述第2加密信息進(jìn)行解密,生成上述解密種子值。
若按照該構(gòu)成,使用第1解密驗(yàn)證值和第1加密信息,對(duì)第2加密信息進(jìn)行解密,所以,非法的第三者若不知道上述第1解密驗(yàn)證值和上述第1加密信息,就得不到種子值,從而提高安全性。
這里,上述共享密鑰生成裝置對(duì)上述驗(yàn)證值和上述第1加密信息執(zhí)行單向函數(shù),生成函數(shù)值,并使用已生成的函數(shù)值對(duì)上述種子值執(zhí)行加密算法,生成上述第2加密信息,上述第2解密裝置對(duì)上述第1解密驗(yàn)證值和上述第1加密信息執(zhí)行上述單向函數(shù),生成解密函數(shù)值,使用已生成的上述解密函數(shù)值,對(duì)上述第2加密信息執(zhí)行與上述加密算法對(duì)應(yīng)的解密算法,生成上述解密種子值。
若按照該構(gòu)成,第2解密裝置使用單向函數(shù)和解密算法的兩階段運(yùn)算方法,所以,即使非法的第三者知道上述第1加密信息和上述第2加密信息,至少若不知道單向函數(shù)和解密算法,也得不到種子值,提高了安全性。
這里,上述共享密鑰生成裝置通過(guò)對(duì)已生成的上述函數(shù)值和上述種子值執(zhí)行作為上述加密算法的“異”運(yùn)算,生成上述第2加密信息,上述第2解密裝置通過(guò)對(duì)上述解密函數(shù)值和上述第2加密信息執(zhí)行作為上述解密算法的“異”運(yùn)算,生成上述解密種子值。
若按照該構(gòu)成,因上述解密算法是“異”運(yùn)算,故運(yùn)算容易,此外,它還是上述加密算法的逆運(yùn)算。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行單向函數(shù)來(lái)生成函數(shù)值,并根據(jù)已生成的上述函數(shù)值生成上述驗(yàn)證值和上述共享密鑰,上述共享密鑰生成裝置對(duì)已生成的上述解密種子值執(zhí)行上述單向函數(shù),生成解密函數(shù)值,并根據(jù)已生成的上述解密函數(shù)值生成上述第2解密驗(yàn)證值和上述解密共享密鑰。
若按照該構(gòu)成,對(duì)上述解密種子值執(zhí)行單向函數(shù)來(lái)生成上述第2解密驗(yàn)證值,所以,即使第三者得知了上述第2解密驗(yàn)證值,也很難根據(jù)上述第2解密驗(yàn)證值求出上述種子值。因此,根據(jù)上述第2解密驗(yàn)證值求出上述種子值進(jìn)而求得共享密鑰事實(shí)上是不可能的。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行作為上述單向函數(shù)的散列函數(shù),生成上述函數(shù)值,上述共享密鑰生成裝置對(duì)已生成的上述解密種子值執(zhí)行作為上述單向函數(shù)的上述散列函數(shù),生成上述解密函數(shù)值。
若按照該構(gòu)成,上述單向函數(shù)是散列函數(shù),所以,其算法大家都熟悉,容易使用。
這里,上述共享密鑰生成裝置將已生成的上述函數(shù)值的一部分作為上述驗(yàn)證值,另一部分作為上述共享密鑰,由此,生成上述驗(yàn)證值和上述共享密鑰,上述共享密鑰生成裝置將已生成的上述解密函數(shù)值的一部分作為上述第2解密驗(yàn)證值,另一部分作為上述解密共享密鑰,由此,生成上述第2解密驗(yàn)證值和上述解密共享密鑰。
若按照該構(gòu)成,將上述解密函數(shù)值的一部分作為上述第2解密驗(yàn)證值,另一部分作為上述解密共享密鑰,所以,容易生成上述第2解密驗(yàn)證值和上述解密共享密鑰。
這里,上述共享密鑰生成裝置對(duì)上述種子值執(zhí)行單向函數(shù)再生成函數(shù)值,根據(jù)已生成的上述函數(shù)值生成上述驗(yàn)證值、上述共享密鑰和盲值,取得公開密鑰,使用已取得的上述公開密鑰和已生成的上述盲值,對(duì)上述驗(yàn)證值執(zhí)行公開密鑰加密算法,生成上述第1加密信息,上述共享密鑰生成裝置對(duì)已生成的上述解密種子值執(zhí)行上述單向函數(shù),生成解密函數(shù)值,并根據(jù)已生成的解密函數(shù)值生成上述第2解密驗(yàn)證值、上述解密共享密鑰和解密盲值。
若按照該構(gòu)成,對(duì)上述解密種子值執(zhí)行單向函數(shù)來(lái)生成上述第2解密驗(yàn)證值,所以,即使第三者得知了上述第2解密驗(yàn)證值,也很難根據(jù)上述第2解密驗(yàn)證值求出上述種子值。因此,根據(jù)上述第2解密驗(yàn)證值求出種子值進(jìn)而求得共享密鑰事實(shí)上是不可能的。
這里,上述共享密鑰生成部取得公開密鑰并使用已取得的上述公開密鑰和已生成的上述盲值對(duì)上述驗(yàn)證值執(zhí)行公開密鑰加密算法,生成上述第1加密信息,上述判斷裝置取代基于上述第1解密驗(yàn)證值和第2解密驗(yàn)證值的上述判斷,而具有取得上述公開密鑰的公開密鑰取得部、使用已取得的上述公開密鑰和已生成的上述解密盲值對(duì)生成的上述第1解密驗(yàn)證值或上述第2解密驗(yàn)證值執(zhí)行上述公開密鑰加密算法并生成再加密信息的再加密部、根據(jù)已接收的上述第1加密信息和已生成的上述再加密信息判斷是否輸出已生成的上述解密共享密鑰的判斷部。
若按照該構(gòu)成,根據(jù)已接收的上述第1加密信息和已生成的上述再加密信息判斷是否輸出已生成的上述解密共享密鑰,所以,可以不讓第三者知道,而接收從共享密鑰生成裝置來(lái)的共享密鑰,這時(shí),還可以防止在共享密鑰生成裝置和共享密鑰接收裝置之間導(dǎo)出不同的共享密鑰。
這里,上述判斷部將上述第1加密信息和上述再加密信息比較,當(dāng)上述第1加密信息和上述再加密信息一致時(shí),判斷輸出上述解密共享密鑰。此外,上述判斷部將上述第1解密驗(yàn)證值和上述第2解密驗(yàn)證值比較,當(dāng)一致時(shí),判斷為輸出上述解密共享密鑰。
若按照該構(gòu)成,當(dāng)?shù)?加密信息和再加密信息一致時(shí),輸出解密共享密鑰,所以,可以可靠地進(jìn)行是否輸出解密共享密鑰的判斷。
這里,上述公開密鑰加密算法采用NTRU密碼方式,上述共享密鑰生成裝置取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為上述公開密鑰,根據(jù)上述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,根據(jù)上述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將上述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂上述驗(yàn)證值多項(xiàng)式,使用上述盲值多項(xiàng)式加密上述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的上述第1加密信息,上述公開密鑰取得部取得上述公開密鑰多項(xiàng)式,上述再加密部根據(jù)上述第2解密驗(yàn)證值生成解密驗(yàn)證值多項(xiàng)式,根據(jù)上述解密盲值生成解密盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將上述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂上述解密驗(yàn)證值多項(xiàng)式,使用上述盲值多項(xiàng)式加密上述解密驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的上述再加密信息。
若按照該構(gòu)成,可以采用NTRU密碼。
這里,上述共享密鑰生成裝置進(jìn)而取得內(nèi)容,使用已生成的上述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密再生成加密內(nèi)容,并發(fā)送已生成的上述加密內(nèi)容,上述接收裝置進(jìn)而接收上述加密內(nèi)容,上述共享密鑰復(fù)原裝置進(jìn)而具有使用已輸出的上述解密共享密鑰對(duì)已接收的上述加密內(nèi)容進(jìn)行解密后再生成解密內(nèi)容的解密裝置、和輸出已生成的解密內(nèi)容的輸出裝置。
若按照該構(gòu)成,共享密鑰生成裝置使用已生成的上述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密再生成加密內(nèi)容,上述共享密鑰復(fù)原裝置使用已輸出的上述解密共享密鑰對(duì)已接收的上述加密內(nèi)容進(jìn)行解密再生成解密內(nèi)容,所以,能夠從共享密鑰生成裝置向共享密鑰復(fù)原裝置發(fā)送不讓第三者知道的內(nèi)容。


圖1是表示內(nèi)容分配系統(tǒng)10的構(gòu)成和構(gòu)成要素之間的連接形態(tài)的概念圖。
圖2是表示加密裝置110的構(gòu)成的方框圖。
圖3是表示解密裝置120的構(gòu)成的方框圖。
圖4是表示加密裝置110和解密裝置120的動(dòng)作的處理系統(tǒng)圖。
圖5是表示加密裝置110和解密裝置120的動(dòng)作的流程圖。
圖6是表示加密裝置110b的構(gòu)成的方框圖。
圖7是表示解密裝置120b的構(gòu)成的方框圖。
圖8是表示加密裝置110b和解密裝置120b的動(dòng)作的處理系統(tǒng)圖。
圖9是表示加密裝置110c的構(gòu)成的方框圖。
圖10是表示解密裝置120c的構(gòu)成的方框圖。
圖11是表示加密裝置110c和解密裝置120c的動(dòng)作的處理系統(tǒng)圖。
圖12是表示加密裝置110c和解密裝置120c的變形例的動(dòng)作的處理系統(tǒng)圖。
圖13是表示加密裝置110d的構(gòu)成的方框圖。
圖14是表示解密裝置120d的構(gòu)成的方框圖。
圖15是表示加密裝置110d和解密裝置120d的動(dòng)作的流程圖。
圖16是表示加密裝置110d和解密裝置120d的動(dòng)作的處理系統(tǒng)圖。
圖17是表示加密裝置110e的構(gòu)成的方框圖。
圖18是表示解密裝置120e的構(gòu)成的方框圖。
圖19是表示加密裝置110e和解密裝置120e的動(dòng)作的處理系統(tǒng)圖。
圖20是表示加密裝置110e和解密裝置120e的動(dòng)作的處理系統(tǒng)圖。
具體實(shí)施例方式
實(shí)施形態(tài)1說(shuō)明作為本發(fā)明的1個(gè)實(shí)施形態(tài)的內(nèi)容分配系統(tǒng)10。內(nèi)容分配系統(tǒng)10是使用NTRU密碼進(jìn)行密鑰密封機(jī)制的密鑰配送后再進(jìn)行加密通信的加密通信系統(tǒng)。
1.1NTRU密碼方式對(duì)內(nèi)容分配系統(tǒng)10中使用的NTRU密碼方式進(jìn)行簡(jiǎn)單的說(shuō)明。NTRU密碼方式是使用多項(xiàng)式運(yùn)算進(jìn)行加密和解密的公開密鑰密碼方式。
再有,對(duì)于NTRU密碼方式和NTRU密碼方式中的公開密鑰和秘密密鑰的生成方法,非專利文獻(xiàn)2中進(jìn)行了詳細(xì)的敘述。
(1)NTRU密碼方式的系統(tǒng)參數(shù)在NTRU密碼方式中,存在整數(shù)的系統(tǒng)參數(shù)N、p、q,后述的加密裝置和解密裝置具有這樣的系統(tǒng)參數(shù)。
在上述文獻(xiàn)中,作為系統(tǒng)參數(shù)的例子,可以舉出(N,p,q)=(107,3,64)、(N,p,q)=(167,3,128)、(N,p,q)=(503,3,256)3個(gè)例子。
以后,在本實(shí)施形態(tài)中,以系統(tǒng)參數(shù)N=167為例進(jìn)行說(shuō)明。
(2)NTRU密碼方式的多項(xiàng)式運(yùn)算NTRU密碼方式如上所述,是利用多項(xiàng)式運(yùn)算進(jìn)行加密和解密的公開密鑰密碼方式。
NTRU密碼方式處理的多項(xiàng)式是對(duì)上述系統(tǒng)參數(shù)N的N-1次方以下的多項(xiàng)式。例如,當(dāng)N=5時(shí),是X^4+X^3+1等多項(xiàng)式。這里,‘X^a’表示X的a次方。
此外,加密時(shí)或解密時(shí)使用的公開密鑰h、秘密密鑰f、明碼文m、隨機(jī)數(shù)r、加密文c都可以用N-1次方以下的多項(xiàng)式來(lái)表現(xiàn)(以后分別稱作公開密鑰多項(xiàng)式h、秘密密鑰多項(xiàng)式f、明碼文多項(xiàng)式m、隨機(jī)數(shù)多項(xiàng)式r、加密文多項(xiàng)式c)。
在多項(xiàng)式運(yùn)算中,對(duì)上述系統(tǒng)參數(shù)N,使用關(guān)系式X^N=1,使運(yùn)算結(jié)果運(yùn)算為始終在N-1次方以下的多項(xiàng)式。
例如,若用×表示多項(xiàng)式和多項(xiàng)式的積,用·表示整數(shù)和多項(xiàng)式的積,根據(jù)X^5=1的關(guān)系,當(dāng)N=5時(shí),多項(xiàng)式X^4+X^2+1和多項(xiàng)式X^3+X的積變成(X^4+X^2+1)×(X^3+X)=X^7+2·X^5+2·X^3+X=X^7+2·X^5+2·X^3+X=2·X^3+X^2+X+2這樣,在多項(xiàng)式運(yùn)算中,始終將其運(yùn)算為N-1次方以下的多項(xiàng)式。
(3)NTRU密碼方式的加密后述的加密裝置如下面所示進(jìn)行NTRU密碼方式的加密。
加密時(shí),使用下述隨機(jī)數(shù)多項(xiàng)式r和公開密鑰多項(xiàng)式h,對(duì)明碼文多項(xiàng)式m執(zhí)行作為多項(xiàng)式運(yùn)算的加密算法E,生成加密文多項(xiàng)式c=E(m、r、h)。
這里,E(m、r、h)是對(duì)NTRU密碼方式的加密算法E輸入明碼文多項(xiàng)式m、隨機(jī)數(shù)多項(xiàng)式r和公開密鑰多項(xiàng)式h所得到的多項(xiàng)式運(yùn)算結(jié)果。對(duì)于加密算法E,非專利文獻(xiàn)2中有詳細(xì)敘述,這里省略其說(shuō)明。
再有,在NTRU密碼方式中,預(yù)先決定用來(lái)生成隨機(jī)數(shù)多項(xiàng)式r的參數(shù)d。這樣進(jìn)行選擇,使隨機(jī)數(shù)多項(xiàng)式r在構(gòu)成隨機(jī)數(shù)多項(xiàng)式的各項(xiàng)中,d個(gè)項(xiàng)的系數(shù)為‘1’,其余d個(gè)項(xiàng)的系數(shù)為‘-1’,剩下的項(xiàng)的系數(shù)為‘0’。
即,隨機(jī)數(shù)多項(xiàng)式r是N-1次方以下的多項(xiàng)式,對(duì)從0次方(常數(shù)項(xiàng))到N-1次方的N個(gè)項(xiàng),存在N個(gè)系數(shù)。隨機(jī)數(shù)多項(xiàng)式r可以這樣進(jìn)行選擇,使其在該N個(gè)系數(shù)中有d個(gè)系數(shù)是‘1’,有d個(gè)系數(shù)是‘-1’,有(N-2d)個(gè)系數(shù)是‘0’。
若按照非專利文獻(xiàn)2,當(dāng)參數(shù)N=167時(shí),d=18。即,隨機(jī)數(shù)多項(xiàng)式r被選擇成18個(gè)系數(shù)是‘1’,18個(gè)系數(shù)是‘-1’,131(=167-36)個(gè)系數(shù)是‘0’。
(4)NTRU密碼方式的解密后述的解密裝置如下面所示進(jìn)行NTRU密碼方式的解密。
解密時(shí),使用秘密密鑰多項(xiàng)式f,對(duì)加密文多項(xiàng)式c執(zhí)行作為多項(xiàng)式運(yùn)算的解密算法E,生成解密文多項(xiàng)式m’=D(c、f)。
這里,D(c、f)是對(duì)NTRU密碼方式的解密算法D輸入加密文多項(xiàng)式c和秘密密鑰多項(xiàng)式f所得到的多項(xiàng)式運(yùn)算結(jié)果。對(duì)于解密算法D,非專利文獻(xiàn)2中有詳細(xì)敘述,這里省略其說(shuō)明。
(5)NTRU密碼方式的解密錯(cuò)誤在該NTRU密碼方式中,發(fā)生已生成的解密文多項(xiàng)式m’與明碼文多項(xiàng)式m不同的情況。這時(shí),解密時(shí)不能正確地得到明碼文多項(xiàng)式m。將該現(xiàn)象稱作解密錯(cuò)誤。
1.2內(nèi)容分配系統(tǒng)10的構(gòu)成內(nèi)容分配系統(tǒng)10如圖1所示,由內(nèi)容服務(wù)裝置140、加密裝置110、解密裝置120、再生裝置150和監(jiān)視器155構(gòu)成,內(nèi)容服務(wù)裝置140和加密裝置110經(jīng)專用線路20連接,加密裝置110和解密裝置120經(jīng)因特網(wǎng)130連接。再生裝置150與內(nèi)裝有解密裝置120和揚(yáng)聲器的監(jiān)視器155連接。加密裝置110裝有存儲(chǔ)卡160,解密裝置120裝有存儲(chǔ)卡170。
內(nèi)容服務(wù)裝置140經(jīng)專用線路20將由圖像和聲音構(gòu)成的電影等內(nèi)容發(fā)送到解密裝置110。
加密裝置110和解密裝置120分別生成同一共享密鑰K和共享密鑰K’。其次,加密裝置110使用共享密鑰K對(duì)從內(nèi)容服務(wù)器裝置140接收來(lái)的內(nèi)容進(jìn)行加密,生成加密內(nèi)容,并發(fā)送已生成的加密內(nèi)容,解密裝置120接收加密內(nèi)容并對(duì)接收的加密內(nèi)容進(jìn)行解密,生成再生內(nèi)容,再生裝置150根據(jù)再生內(nèi)容生成圖像信號(hào)和聲音信號(hào),監(jiān)視器155顯示圖像并輸出聲音。
1.3內(nèi)容服務(wù)裝置140的構(gòu)成內(nèi)容服務(wù)裝置140是由微處理器、ROM、RAM、硬盤單元、顯示單元、通信單元、鍵盤和鼠標(biāo)等構(gòu)成的計(jì)算機(jī)系統(tǒng)(未圖示)。上述RAM或上述硬盤單元上存儲(chǔ)了計(jì)算機(jī)程序。內(nèi)容服務(wù)器140通過(guò)使上述微處理器按照上述計(jì)算機(jī)程序動(dòng)作來(lái)實(shí)現(xiàn)其一部分功能。
內(nèi)容服務(wù)裝置140預(yù)先將上述內(nèi)容存儲(chǔ)起來(lái),上述內(nèi)容由多個(gè)部分內(nèi)容mi(1≤i≤n)構(gòu)成。內(nèi)容服務(wù)裝置140根據(jù)加密裝置110的要求,讀出部分內(nèi)容mi,并經(jīng)專用線路20將讀出的部分內(nèi)容mi發(fā)送給加密裝置110。
1.4存儲(chǔ)卡160和存儲(chǔ)卡170的構(gòu)成存儲(chǔ)卡160是采用閃速存儲(chǔ)器作為存儲(chǔ)媒體的卡式存儲(chǔ)裝置,預(yù)先存儲(chǔ)公開密鑰多項(xiàng)式h。
此外,存儲(chǔ)卡170是和存儲(chǔ)卡160同樣的卡式存儲(chǔ)裝置,預(yù)先存儲(chǔ)秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h。
這里,秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h是利用NTRU密碼方式生成的多項(xiàng)式,并分別對(duì)應(yīng)。
1.5加密裝置110的構(gòu)成加密裝置110如圖2所示,由公開密鑰輸入部111、隨機(jī)數(shù)生成部112、第1函數(shù)部113、加密部114、第1發(fā)送部117、公共密鑰加密部118和第2發(fā)送部119構(gòu)成。
加密裝置110具體地說(shuō),是由微處理器、ROM、RAM和通信單元構(gòu)成的計(jì)算機(jī)系統(tǒng)。上述RAM中存儲(chǔ)了計(jì)算機(jī)程序。加密裝置110通過(guò)使上述微處理器按照上述計(jì)算機(jī)程序動(dòng)作來(lái)實(shí)現(xiàn)其功能。
(1)公開密鑰輸入部111公開密鑰輸入部111從存儲(chǔ)卡160讀出解密裝置120的公開密鑰多項(xiàng)式h,并將讀出的公開密鑰多項(xiàng)式h輸出給加密部114。
(2)隨機(jī)數(shù)生成部112隨機(jī)數(shù)生成部112生成隨機(jī)數(shù)s作為用來(lái)生成共享密鑰K的基礎(chǔ)的種子值,并將生成的隨機(jī)數(shù)s輸出給第1函數(shù)部113和加密部114。
(3)第1函數(shù)部113第1函數(shù)部113從隨機(jī)數(shù)生成部112接收隨機(jī)數(shù)s,生成隨機(jī)數(shù)s的函數(shù)值G(s)。這里,函數(shù)G是輸出長(zhǎng)度為2k位的散列函數(shù)。再有,散列函數(shù)是一種單向函數(shù)。其次,第1函數(shù)部113將函數(shù)值G(s)的高位k位作為隨機(jī)數(shù)值u,將G(s)的低位k位作為共享密鑰K,由此,根據(jù)生成的函數(shù)值G(s)生成共享密鑰K和隨機(jī)數(shù)值u,向加密部114輸出已生成的隨機(jī)數(shù)值u,將生成的共享密鑰K向公共密鑰加密部118輸出。
(4)加密部114加密部114從公開密鑰輸入部111接收公開密鑰多項(xiàng)式h,從隨機(jī)數(shù)生成部112接收隨機(jī)數(shù)s,從第1函數(shù)部113接收隨機(jī)數(shù)值u。其次,像下面那樣,通過(guò)NTRU密碼,并使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成隨機(jī)數(shù)s的第1加密文c1。這里,隨機(jī)數(shù)值u是盲值,用于使作為加密對(duì)象的隨機(jī)數(shù)s不明了。
加密部114生成由隨機(jī)數(shù)值u唯一求出的隨機(jī)數(shù)多項(xiàng)式r,該隨機(jī)數(shù)多項(xiàng)式r對(duì)于NTRU密碼的參數(shù)d,其d個(gè)項(xiàng)的系數(shù)是‘1’,d個(gè)項(xiàng)的系數(shù)是‘-1’,剩下的項(xiàng)的系數(shù)是‘0’。
例如,加密部114將隨機(jī)數(shù)值u作為模擬隨機(jī)數(shù)系列的初始值(隨機(jī)數(shù)種子)來(lái)設(shè)定,根據(jù){0、1、......N-1}生成2d個(gè)不重復(fù)的模擬隨機(jī)數(shù),設(shè)由最初的d個(gè)模擬隨機(jī)數(shù)分別表示的d個(gè)n次方的項(xiàng)的系數(shù)為‘1’,由剩下的d個(gè)偽隨機(jī)數(shù)分別表示的d個(gè)n次方的項(xiàng)的系數(shù)為‘-1’,其余次方的項(xiàng)的系數(shù)為‘0’。
其次,加密部114為了使隨機(jī)數(shù)s能夠適用于NTRU密碼的密碼算法E而構(gòu)成隨機(jī)數(shù)多項(xiàng)式sp,使由二進(jìn)制表現(xiàn)隨機(jī)數(shù)s時(shí)的N位位列的各位的值與隨機(jī)數(shù)多項(xiàng)式sp的各項(xiàng)的系數(shù)對(duì)應(yīng)。例如,設(shè)隨機(jī)數(shù)s的低位的第b位的值是項(xiàng)X^b的系數(shù)。具體地說(shuō),當(dāng)s=10010(用位表現(xiàn))時(shí),生成隨機(jī)數(shù)多項(xiàng)式sp=X^5+X^2。
其次,加密部114使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)多項(xiàng)式r對(duì)隨機(jī)數(shù)多項(xiàng)式sp執(zhí)行上述加密算法E,生成第1加密文c1=加密文多項(xiàng)式E(sp、r、h)。
其次,加密部114將生成的第1加密文c1輸出給第1發(fā)送部117。
再有,在圖2中,表示加密裝置110的各構(gòu)成部分的各方框通過(guò)連接線與其他方框連接。這里,各連接線表示信號(hào)或信息的傳送路徑。此外,在與表示加密部114的方框連接的多根連接線中,連接線上帶密鑰標(biāo)記的線表示向加密部114傳送密鑰信息的路徑。對(duì)于表示公共密鑰加密部118的方框也一樣。此外,其他的圖也一樣。
(5)第1發(fā)送部117第1發(fā)送部117從加密部114接收第1加密文c1,經(jīng)因特網(wǎng)130將第1加密文c1送往解密裝置120。
(6)公共密鑰加密部118公共密鑰加密部118例如具有像DES密碼方式那樣的公共密鑰加密算法Sym。
一般,在公共密鑰加密中,在加密側(cè)的裝置中,使用加密密鑰K對(duì)明碼文m執(zhí)行公共密鑰加密算法sym,生成加密文c=Sym(m、k)。這里,若加密文生成時(shí)使用的加密密鑰K和解密文生成時(shí)使用的加密密鑰K相同,則m’=m。再有,關(guān)于公共密鑰加密和DES密碼方式,因非專利文獻(xiàn)1有詳細(xì)敘述,故省略其說(shuō)明。
公共密鑰加密部118從內(nèi)容服務(wù)裝置140接收多個(gè)明碼文(部分內(nèi)容)mi(1≤i≤n),從第1函數(shù)部113接收共享密鑰K,使用接收的共享密鑰K對(duì)明碼文mi(1≤i≤n)執(zhí)行公共密鑰加密算法Sym,生成公共密鑰加密文Ci=Sym(mi、k)(1≤i≤n)。
其次,公共密鑰加密部118將公共密鑰加密文Ci(1≤i≤n)送給第2發(fā)送部119。
(7)第2發(fā)送部119第2發(fā)送部119從公共密鑰加密部118接收公共密鑰加密文Ci(1≤i≤n),并經(jīng)因特網(wǎng)130將接收的公共密鑰加密文Ci(1≤i≤n)發(fā)送給解密裝置120。
1.6解密裝置120的構(gòu)成解密裝置120如圖3所示,由秘密密鑰輸入部121、第1接收部122、解密部123、第2函數(shù)部126、比較部127、公共密鑰解密部128和第2接收部129構(gòu)成。
解密裝置120是和加密裝置110一樣的計(jì)算機(jī)系統(tǒng)。解密裝置120通過(guò)使微處理器按照計(jì)算機(jī)程序動(dòng)作來(lái)實(shí)現(xiàn)其功能。
(1)秘密密鑰輸入部121秘密密鑰輸入部121從存儲(chǔ)卡170讀出解密裝置120的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h,并將讀出的秘密密鑰多項(xiàng)式f輸出給解密部123,將讀出的公開密鑰多項(xiàng)式h輸出給比較部127。
(2)第1接收部122第1接收部122經(jīng)因特網(wǎng)130從加密裝置110接收第1加密文c1,將接收的第1加密文c1輸出給解密部123。
(3)解密部123解密部123從秘密密鑰輸入部121接收秘密密鑰多項(xiàng)式f,從第1接收部122接收第1加密文c1,如下面所示,利用NTRU密碼并使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1進(jìn)行解密,生成解密隨機(jī)數(shù)s’。
解密部123使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1執(zhí)行上述解密算法D,生成解密隨機(jī)數(shù)多項(xiàng)式sp’=D(c1、f)。其次,解密隨機(jī)數(shù)多項(xiàng)式sp’是用多項(xiàng)式表現(xiàn)的NTRU密碼的解密文,所以,生成解密隨機(jī)數(shù)s’,使解密隨機(jī)數(shù)多項(xiàng)式sp’的各項(xiàng)的系數(shù)與用二進(jìn)制表現(xiàn)解密隨機(jī)數(shù)s’時(shí)的N位位列的各值相對(duì)應(yīng)。例如,解密隨機(jī)數(shù)多項(xiàng)式sp’的b次方的項(xiàng)X^b的系數(shù)變成解密隨機(jī)數(shù)s’的低位第b位的值。
具體地說(shuō),當(dāng)解密隨機(jī)數(shù)多項(xiàng)式sp’=X^5+X^2時(shí),生成解密隨機(jī)數(shù)S’=10010(用位表現(xiàn))。
其次,解密部123將接收的第1加密文c1和生成的解密隨機(jī)數(shù)s’輸出給比較部127,將生成的解密隨機(jī)數(shù)s’輸出給第2函數(shù)部126。
(4)第2函數(shù)部126第2函數(shù)部126具有和第1函數(shù)部113所具有的函數(shù)相同的函數(shù)G的算法。
第2函數(shù)部126從解密部123接收解密隨機(jī)數(shù)s’,和第1函數(shù)部113同樣,生成解密隨機(jī)數(shù)s’的函數(shù)值G(s’),其次,根據(jù)函數(shù)值G(s’)生成隨機(jī)數(shù)值u’和共享密鑰K’,將生成的隨機(jī)數(shù)值u’和共享密鑰K’輸出給比較部127。
(5)比較部127比較部127如圖3所示,由加密部127x和比較運(yùn)算部127y構(gòu)成。
加密部127x從秘密密鑰輸入部121接收公開密鑰多項(xiàng)式h,從解密部123接收解密隨機(jī)數(shù)s’,從第2函數(shù)部126接收隨機(jī)數(shù)值u’。其次,和加密部114同樣,使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u’,對(duì)解密隨機(jī)數(shù)S’進(jìn)行加密,生成第1再加密文c1’,將生成的第1再加密文c1’輸出給比較運(yùn)算部127y。
比較運(yùn)算部127y從解密部123接收第1加密文c1,從第2函數(shù)部126接收共享密鑰K’,從加密部127x接收第1再加密文c1’。其次,將第1加密文c1和第1再加密文c1’進(jìn)行比較,判斷是否一致,當(dāng)判斷是一致時(shí),將接收的共享密鑰K’輸出給公共密鑰解密部128。當(dāng)判斷為不一致時(shí),不輸出接收的共享密鑰K’。
(6)第2接收部129第2接收部129經(jīng)因特網(wǎng)130從加密裝置110接收公共密鑰加密文Ci(1≤i≤n),將接收的公共密鑰加密文Ci(1≤i≤n)輸出給公共密鑰解密部128。
(7)公共密鑰解密部128公共密鑰解密部128預(yù)先具有和公共密鑰加密部118所具有的公共密鑰加密算法Sym相同的公共密鑰加密算法Sym。
公共密鑰解密部128從比較部127接收共享密鑰K’,從第2接收部129接收公共密鑰加密文Ci(1≤i≤n),對(duì)使用接收的共享密鑰K’對(duì)接收的公共密鑰加密文Ci(1≤i≤n),執(zhí)行公共密鑰加密算法Sym,并生成解密文mi’=Sym(C、i、K)(1≤i≤n)。
其次,公共密鑰解密部128將生成的解密文mi’(1≤i≤n)輸出給再生裝置150。
1.7再生裝置150和監(jiān)視器155再生裝置150從解密裝置120接收解密文mi’(1≤i≤n),根據(jù)接收的解密文mi’(1≤i≤n)生成圖像信號(hào)和聲音信號(hào),將生成圖像信號(hào)和聲音信號(hào)輸出給監(jiān)視器155。
監(jiān)視器155從再生裝置150接收?qǐng)D像信號(hào)和聲音信號(hào),利用接收的圖像信號(hào)和聲音信號(hào)顯示圖像和輸出聲音。
1.8加密裝置110和解密裝置120的動(dòng)作使用圖4所示的處理系統(tǒng)和圖5所示的流程圖說(shuō)明加密裝置110和解密裝置120的動(dòng)作。
加密裝置110的公開密鑰輸入部111從存儲(chǔ)卡160讀出解密裝置120的公開密鑰多項(xiàng)式h,將讀出的公開密鑰多項(xiàng)式h輸出給加密部114(步驟S101)。
其次,隨機(jī)數(shù)生成部112生成隨機(jī)數(shù)s,將生成的隨機(jī)數(shù)s輸出給第1函數(shù)部113和加密部114(步驟S102)。
其次,第1函數(shù)部113從隨機(jī)數(shù)生成部112接收隨機(jī)數(shù)s,生成隨機(jī)數(shù)s的函數(shù)值G(s)(步驟S103),其次,第1函數(shù)部113根據(jù)函數(shù)值G(s)生成隨機(jī)數(shù)值u和共享密鑰K,將隨機(jī)數(shù)值u輸出給加密部114,將共享密鑰K輸出給公共密鑰加密部118(步驟S104)。
其次,加密部114從公開密鑰輸入部111接收公開密鑰多項(xiàng)式h,從隨機(jī)數(shù)生成部112接收隨機(jī)數(shù)s,從第1函數(shù)部113接收隨機(jī)數(shù)值u,使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成隨機(jī)數(shù)s的第1加密文c1,將第1加密文c1輸出給第1發(fā)送部117(步驟S105)。
其次,第1發(fā)送部117從加密部114接收第1加密文c1,經(jīng)因特網(wǎng)130將第1加密文c1發(fā)送給解密裝置120(步驟S106)。
其次,解密裝置120的秘密密鑰輸入部121從存儲(chǔ)卡170讀出解密裝置120的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h,將讀出的秘密密鑰多項(xiàng)式f輸出給解密部123,將讀出的公開密鑰多項(xiàng)式h輸出給比較部127(步驟S151)。
其次,第1接收部122經(jīng)因特網(wǎng)130從加密裝置110接收第1加密文c1,將第1加密文c1輸出給解密部123(步驟S106)。
其次,解密部123從秘密密鑰輸入部121接收秘密密鑰多項(xiàng)式f,從第1接收部122接收第1加密文c1,其次,使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成解密隨機(jī)數(shù)s’,將第1加密文c1和解密隨機(jī)數(shù)s’輸出給比較部127,將解密隨機(jī)數(shù)s’輸出給第2函數(shù)部126(步驟S152)。
其次,第2函數(shù)部126從解密部123接收解密隨機(jī)數(shù)s’,生成解密隨機(jī)數(shù)s’的函數(shù)值G(s’)(步驟S153),根據(jù)函數(shù)值G(s’)生成隨機(jī)數(shù)值u’和共享密鑰K’,將隨機(jī)數(shù)值u’和共享密鑰K’輸出給比較部127(步驟S154)。
其次,比較部127從解密部123接收第1加密文c1,從第2函數(shù)部126接收隨機(jī)數(shù)值u’和共享密鑰K’,生成第1再解密文c1’(步驟S155),檢驗(yàn)第1加密文c1是不是使用了隨機(jī)數(shù)值u’的解密隨機(jī)數(shù)s’的加密文,若第1加密文c1不是解密隨機(jī)數(shù)s’的加密文(步驟S156),則解密裝置120結(jié)束處理。
公共密鑰加密部118從外部接收多個(gè)明碼文mi(1≤i≤n),從第1函數(shù)部113接收共享密鑰K,使用共享密鑰K對(duì)明碼文mi(1≤i≤n)執(zhí)行公共密鑰加密算法Sym,生成公共密鑰加密文Ci=Sym(mi、K)(1≤i≤n),將公共密鑰加密文Ci(1≤i≤n)輸出給第2發(fā)送部119(步驟S107)。
其次,第2發(fā)送部119從公共密鑰加密部118接收公共密鑰加密文Ci(1≤i≤n),經(jīng)因特網(wǎng)130發(fā)送給解密裝置120(步驟S108)并結(jié)束處理。
若第1加密文c1是解密隨機(jī)數(shù)s’的加密文(步驟S156),比較部127則向公共密鑰解密部128輸出共享密鑰K’(步驟S156),比較部127向公共密鑰解密部128輸出共享密鑰K’(步驟S157)。其次,第2接收部129經(jīng)因特網(wǎng)130從加密裝置110接收加密文Ci(1≤i≤n),并向公共密鑰解密部128輸出(步驟S108)。
其次,公共密鑰解密部128從比較部127接收共享密鑰K’,從第2接收部129接收公共密鑰加密文Ci(1≤i≤n),使用共享密鑰K’對(duì)公共密鑰加密文Ci(1≤i≤n)執(zhí)行公共密鑰加密算法Sym,生成解密文mi’=Sym(Ci、K)(1≤i≤n),將解密文mi’(1≤i≤n)輸出給再生裝置150(步驟S158)并結(jié)束處理。
1.9內(nèi)容分配系統(tǒng)的動(dòng)作檢驗(yàn)下面,說(shuō)明實(shí)施形態(tài)1的內(nèi)容分配系統(tǒng)10的全部動(dòng)作。
首先,加密裝置110將解密裝置120的公開密鑰多項(xiàng)式h作為輸入,生成隨機(jī)數(shù)s,根據(jù)函數(shù)值G(s)導(dǎo)出隨機(jī)數(shù)值u和共享密鑰K。其次,加密裝置110使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u,并用NTRU密碼對(duì)隨機(jī)數(shù)s進(jìn)行加密,生成第1加密文c1,并經(jīng)因特網(wǎng)130將第1加密文c1發(fā)送給解密裝置120。
即,該加密裝置110進(jìn)行以下處理,將第1加密文c1發(fā)送給解密裝置120。
.生成隨機(jī)數(shù)s。
.生成G(s),根據(jù)G(s)生成u、K。
.使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成隨機(jī)數(shù)s的第1加密文c1。
.輸出共享密鑰K和第1加密文c1。
其次,加密裝置110使用導(dǎo)出的共享密鑰K,用公共密鑰密碼對(duì)從外部輸入的明碼文mi(1≤i≤n)進(jìn)行加密,生成加密文Ci(1≤i≤n),并經(jīng)因特網(wǎng)130發(fā)送給解密裝置120。
另一方面,解密裝置120將解密裝置120的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h作為輸入,經(jīng)因特網(wǎng)130從加密裝置110接收第1加密文c1,使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成解密隨機(jī)數(shù)s’。其次,根據(jù)解密隨機(jī)數(shù)s’的函數(shù)值G(s’)導(dǎo)出隨機(jī)數(shù)值u’和共享密鑰K’,對(duì)解密隨機(jī)數(shù)s’進(jìn)行加密,生成第1再加密文c1’,若c1’=c1,則輸出共享密鑰K’。
即,該解密裝置120進(jìn)行以下處理,并導(dǎo)出共享密鑰K’。
.使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成s’。
.生成G(s’),根據(jù)G(s’)生成u’、K’。
.使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u’生成s’的第1再加密文c1’。
.檢查c1’=c1是否成立,若成立,則輸出共享密鑰K’。
這里,若在解密裝置120中使用與在加密裝置110中使用的公開密鑰多項(xiàng)式h對(duì)應(yīng)的正確的秘密密鑰多項(xiàng)式f,則第1解密文c1被正確解密,變成解密隨機(jī)數(shù)s’,因此,從G(s’)導(dǎo)出的隨機(jī)數(shù)值u’=u,共享密鑰K’=K。而且,因s’=s和u’=u成立,故c1’=c1成立,解密裝置120可以導(dǎo)出和加密裝置110相同的共享密鑰K。
其次,解密裝置120使用導(dǎo)出的共享密鑰K’(=K),經(jīng)因特網(wǎng)從加密裝置110對(duì)公共密鑰加密文Ci(1≤i≤n),以公共密鑰密碼進(jìn)行解密,生成解密文mi’(1≤i≤n),再向外部輸出。這里,因公共密鑰加密文生成時(shí)使用的密碼密鑰K和解密文生成時(shí)使用的密碼密鑰K’相同,故解密裝置120可以正確地得到mi’=mi(1≤i≤n)。
再有,當(dāng)發(fā)生解密錯(cuò)誤時(shí),因解密隨機(jī)數(shù)s’和隨機(jī)數(shù)s不同,從G(s’)導(dǎo)出的隨機(jī)數(shù)值u’和共享密鑰K’分別和u、K不同。但是,這時(shí),因s’、u’分別和s、u不同,故第1再加密文c1’和第1加密文c1不同,所以,解密裝置120不輸出共享密鑰K’。
1.10實(shí)施形態(tài)1的效果在現(xiàn)有的RSA-KEM算法中,將若不知道秘密密鑰則不能從加密文C導(dǎo)出的要素s輸入到散列函數(shù)G中,導(dǎo)出共享密鑰K。但是,若使用NTRU密碼并使用作為密鑰密封機(jī)制的RSA-KEM算法進(jìn)行共享密鑰配送,因有時(shí)會(huì)發(fā)生解密錯(cuò)誤,故即使使用秘密密鑰也不能導(dǎo)出要素s,因此,有時(shí)會(huì)導(dǎo)出不正確的共享密鑰K’。
但是,在實(shí)施形態(tài)1的內(nèi)容分配系統(tǒng)、加密裝置及解密裝置中,根據(jù)隨機(jī)數(shù)s的散列函數(shù)G(s)生成共享密鑰和隨機(jī)數(shù)值u,解密裝置使用隨機(jī)數(shù)值u和公開密鑰多項(xiàng)式h對(duì)解密隨機(jī)數(shù)s’進(jìn)行再加密,生成第1再加密文c1’,只要第1再加密文c1’和第1加密文c是不同的值,就不輸出共享密鑰K’,所以,當(dāng)發(fā)生解密錯(cuò)誤時(shí),可以防止加密裝置和解密裝置之間導(dǎo)出不同的密鑰。
此外,本發(fā)明的方式可以利用和非專利文獻(xiàn)3記載的證明方法同樣的方法,從理論上證明其安全性。
1.11變形例上述說(shuō)明的實(shí)施形態(tài)1是實(shí)施本發(fā)明的一個(gè)例子,本發(fā)明不限于該實(shí)施形態(tài),在不脫離其主旨的范圍內(nèi)可以實(shí)施各種各樣的形態(tài)。本發(fā)明還包括以下情況。
(1)使用的NTRU密碼的參數(shù)不限于N=167。參數(shù)N也可以取其他的值。
(2)在加密部114和解密部123進(jìn)行的位列的各個(gè)位值和多項(xiàng)式的各個(gè)項(xiàng)的系數(shù)之間的變換方法不限于上述已說(shuō)明的方法,也可以是其他變換方法。
例如,從隨機(jī)數(shù)s到隨機(jī)數(shù)多項(xiàng)式sp的變換可以使用使位列的各個(gè)位的值和多項(xiàng)式的各個(gè)項(xiàng)的系數(shù)一一對(duì)應(yīng)的函數(shù)進(jìn)行變換,也可以使用使位列的各個(gè)位的值和多項(xiàng)式的各個(gè)項(xiàng)的系數(shù)一一對(duì)應(yīng)而存儲(chǔ)的函數(shù)值表進(jìn)行變換。
此外,從隨機(jī)數(shù)值u到隨機(jī)數(shù)多項(xiàng)式r的變換,只要從u唯一地求出r,并設(shè)r的d個(gè)次方項(xiàng)的系數(shù)為‘1’,d個(gè)次方項(xiàng)的系數(shù)為‘-1’,其他次方項(xiàng)的系數(shù)為‘0’,則其他變換方法也可以,例如,也可以使用使隨機(jī)數(shù)值u和多項(xiàng)式對(duì)應(yīng)的函數(shù),或使用函數(shù)值表進(jìn)行變換。
(3)加密部114和解密部123使用的公開密鑰密碼方式若是能在加密部114中,使用公開密鑰和隨機(jī)數(shù)值u對(duì)隨機(jī)數(shù)s進(jìn)行加密再生成第1加密文c1,在解密部123中,使用秘密密鑰對(duì)第1加密文c1進(jìn)行解密,再生成和隨機(jī)數(shù)值s相等的解密隨機(jī)數(shù)s’即可。
因此,加密部114和解密部123使用的公開密鑰密碼除了NTRU密碼之外,可以使用任何公開密鑰密碼。
例如,若采用E1Gamal密碼,可以將h、f分別作為E1Gamal密碼的公開密鑰、秘密密鑰,在加密部114中,使用h和u對(duì)隨機(jī)數(shù)s進(jìn)行加密再生成c1,在解密部123中,使用f對(duì)c1進(jìn)行解密再生成S’。
再有,關(guān)于E1Gamal密碼,因非專利文獻(xiàn)1有詳細(xì)記載,故這里省略說(shuō)明。
(4)第1函數(shù)部113將函數(shù)值G(s)的高位k位作為隨機(jī)數(shù)值u,低位k位作為共享密鑰K,此外,只要從函數(shù)值G(s)導(dǎo)出隨機(jī)數(shù)值u和共享密鑰K,也可以采用其他方法。
例如,可以將函數(shù)值G(s)的高位k/2位作為隨機(jī)數(shù)值u,低位k×3/2位作為共享密鑰K。此外,也可以在函數(shù)值G(s)的2k位中,每隔1位選擇k位作為隨機(jī)數(shù)值u,將剩下的k位作為共享密鑰K。
(5)隨機(jī)數(shù)值u除了用第1函數(shù)部113和第2函數(shù)部126生成之外,只要在加密裝置110和解密裝置120中能得到相同的值,也可以采用其他生成方法。
例如,也可以對(duì)任意函數(shù)Func,使u=Func(s),從而可以使加密裝置110和解密裝置120中能得到相同的值。即,在加密裝置110和解密裝置120中,.生成G(s),根據(jù)G(s)生成K。
.生成Func(s),使u=Func(s)。
(6)隨機(jī)數(shù)值u除了用第1函數(shù)部113和第2函數(shù)部126生成之外,因只要在加密裝置110和解密裝置120中能得到相同的值即可,故加密裝置110也可以向解密裝置120b直接發(fā)送隨機(jī)數(shù)值u。
即,也可以像以下那樣,將第1加密文c1和隨機(jī)數(shù)值u發(fā)送給解密裝置120。這時(shí),隨機(jī)數(shù)值u也可以加密后發(fā)送。
在加密裝置110中,.生成G(s),根據(jù)G(s)生成K。
.通過(guò)別的渠道,從加密裝置110向解密裝置120發(fā)送隨機(jī)數(shù)值U。
.接收隨機(jī)數(shù)值u.代替隨機(jī)數(shù)值u’,使用接收的隨機(jī)數(shù)值u生成第1再加密文c1’。
這時(shí),也可以是加密裝置110將隨機(jī)數(shù)值u加密后再發(fā)送,解密裝置120對(duì)加密后的隨機(jī)數(shù)值u進(jìn)行解密。
(7)隨機(jī)數(shù)值u因只要加密裝置110和解密裝置120能得到相同的值即可,故也可以使用第1函數(shù)部113和第2函數(shù)部126生成隨機(jī)數(shù)值u的一部分的部分信息,隨機(jī)數(shù)值u的剩余部分的部分信息直接從加密裝置110向解密裝置120發(fā)送。
例如,也可以如以下那樣,加密裝置110將第1加密文c1和隨機(jī)數(shù)值u2發(fā)送給解密裝置120。
在加密裝置110中,(a)生成G(s),根據(jù)G(s)生成K、u1。
(b)生成隨機(jī)數(shù)值u2,通過(guò)另外的途徑向解密裝置120發(fā)送。
(c)根據(jù)u=u1 xor u2生成隨機(jī)數(shù)值u。
(d)使用隨機(jī)數(shù)值u生成第1加密文c1。
在解密裝置120中,(e)接收隨機(jī)數(shù)值u2。
(f)生成G(s’),根據(jù)G(s’)生成K’、u1’。
(g)根據(jù)u’=u1’xor u2生成隨機(jī)數(shù)值u’。
(h)使用生成的隨機(jī)數(shù)值u’生成第1再加密文c1’。
這時(shí),也可以是加密裝置110加密隨機(jī)數(shù)值u2再發(fā)送,解密裝置120對(duì)加密的隨機(jī)數(shù)值u2進(jìn)行解密。
此外,也可以在(c)和(g)中,代替“異”xor而進(jìn)行其他的運(yùn)算。例如,也可以在(c)和(g)中,分別使用加法運(yùn)算和減法運(yùn)算,此外,也可以使用乘法運(yùn)算和除法運(yùn)算。
(8)為了防止因發(fā)生解密錯(cuò)誤而在加密裝置110和解密裝置120之間導(dǎo)出不同的共享密鑰,當(dāng)?shù)?再解密文c1’和第1加密文c1相同時(shí),不馬上輸出共享密鑰K’,而使加密裝置110對(duì)任何1個(gè)以上的隨機(jī)數(shù)s、隨機(jī)數(shù)值u或共享密鑰K生成散列函數(shù)值,并將生成的散列函數(shù)值發(fā)送給解密裝置120,通過(guò)解密裝置120驗(yàn)證該散列函數(shù)值來(lái)決定是否輸出共享密鑰K’。例如,作為該散列函數(shù)值,也可以對(duì)任意的散列函數(shù)H生成隨機(jī)數(shù)s的散列函數(shù)值H(s),也可以使隨機(jī)數(shù)s、隨機(jī)數(shù)值u和共享密鑰K組合生成散列函數(shù)值H(s||u||k)或散列函數(shù)值H(u||k)等。
此外,這時(shí),加密裝置110的第1函數(shù)部113也可以不從函數(shù)值G(s)導(dǎo)出隨機(jī)數(shù)值u和共享密鑰K,而只從G(s)導(dǎo)出共享密鑰K。
下面,敘述其具體例。
內(nèi)容分配系統(tǒng)10不包含加密裝置110和解密裝置120,而包含加密裝置110b和解密裝置120b,加密裝置110b如圖6所示,由公開密鑰輸入部111、隨機(jī)數(shù)生成部112、第1函數(shù)部113b、加密部114b、第1發(fā)送部117b、公共密鑰加密部118和第2發(fā)送部119構(gòu)成,解密裝置120如圖7所示,由秘密密鑰輸入部121、第1接收部122b、解密部123b、第2函數(shù)部126b、比較部127b、公共密鑰解密部128和第2接收部129構(gòu)成。比較部127b包含第3函數(shù)部127u和比較運(yùn)算部127v。
加密裝置110b生成隨機(jī)數(shù)s的散列函數(shù)值,解密裝置120b在驗(yàn)證該散列函數(shù)值時(shí),在加密裝置110b中,如圖8的處理系統(tǒng)圖所示,第1函數(shù)部113b生成G(s)(步驟S103),根據(jù)G(s)生成K(步驟S104)。
其次,加密部114b生成隨機(jī)數(shù)值u,根據(jù)生成的隨機(jī)數(shù)值u生成隨機(jī)數(shù)多項(xiàng)式r,使用隨機(jī)數(shù)多項(xiàng)式r和公開密鑰多項(xiàng)式h生成隨機(jī)數(shù)s的第1加密文c1(步驟S105),生成散列函數(shù)值H(s)(步驟S111)。
其次,第1發(fā)送部117b發(fā)送第1加密文c1(步驟S106),并發(fā)送散列函數(shù)值H(s)(步驟S112)。
其次,在解密裝置120b中,第1接收部122b接收第1加密文c1(步驟S106),并接收散列函數(shù)值H(s)(步驟S112)其次,解密部123b使用秘密密鑰多項(xiàng)式f解密第1加密文c1再生成s’(步驟S152)。
其次,第2函數(shù)部126生成G(s’)(步驟S153),根據(jù)G(s’)生成K’(步驟S154)。
其次,比較部127利用第3函數(shù)部127u生成H(s’)(步驟S154),利用比較運(yùn)算部127v檢驗(yàn)H(s’)=H(s)是否成立(步驟S162),若成立則輸出共享密鑰K’(步驟S157)。
此外,這時(shí),為了進(jìn)一步提高安全性,也可以使用專利文獻(xiàn)1公開的方法,對(duì)附加了附加信息的隨機(jī)數(shù)s進(jìn)行加密,生成第1加密文c1。即,也可以是,在圖6中,加密部114b生成附加信息Ra,對(duì)s和Ra的位結(jié)合s||Ra的值進(jìn)行加密,生成第1加密文c1,在圖7中,解密部123b解密第1加密文c1,生成s’||Ra’,除去Ra’再生成解密隨機(jī)數(shù)s’。
此外,如專利文獻(xiàn)1公開的那樣,也可以不使用s||Ra的值,而使用s和Ra的可逆變換F(s、Ra)的值。
2.實(shí)施形態(tài)2說(shuō)明作為本發(fā)明的另1個(gè)實(shí)施形態(tài)的內(nèi)容分配系統(tǒng)10c(未圖示)。
內(nèi)容分配系統(tǒng)10c是在內(nèi)容分配系統(tǒng)10的基礎(chǔ)上對(duì)其進(jìn)行變形的系統(tǒng),和內(nèi)容分配系統(tǒng)10的不同點(diǎn)在于根據(jù)函數(shù)值G(s),除隨機(jī)數(shù)值u和共享密鑰K之外進(jìn)而還生成驗(yàn)證值a;加密裝置不是生成并發(fā)送將隨機(jī)數(shù)s加密后的第1加密文c1,而是生成并發(fā)送將驗(yàn)證值a加密后的第1加密文c1和根據(jù)驗(yàn)證值a將隨機(jī)數(shù)s加密后的第2加密文c2。
下面,以上述不同點(diǎn)為中心詳細(xì)說(shuō)明內(nèi)容分配系統(tǒng)10c。
2.1內(nèi)容分配系統(tǒng)10c的構(gòu)成內(nèi)容分配系統(tǒng)10c具有和內(nèi)容分配系統(tǒng)10同樣的構(gòu)成,取代加密裝置110和解密裝置120,而包含加密裝置110c和解密裝置120c。其他的構(gòu)成因和內(nèi)容分配系統(tǒng)10一樣,故省略其說(shuō)明。
2.2加密裝置110c的構(gòu)成加密裝置110c如圖9所示,具有和加密裝置110同樣的構(gòu)成,取代隨機(jī)數(shù)生成部112、第1函數(shù)部113、加密部114和第1發(fā)送部117,而是包含隨機(jī)數(shù)生成部112c、第1函數(shù)部113c、加密部114c、隨機(jī)數(shù)屏蔽部116c和第1發(fā)送部117c。
這里,說(shuō)明隨機(jī)數(shù)生成部112c、第1函數(shù)部113c、加密部114c、隨機(jī)數(shù)屏蔽部116c和第1發(fā)送部117c。
(1)隨機(jī)數(shù)生成部112c隨機(jī)數(shù)生成部112c生成隨機(jī)數(shù)s作為用來(lái)生成共享密鑰K的基礎(chǔ)的種子值,并將生成的隨機(jī)數(shù)s輸出給第1函數(shù)部113b和隨機(jī)數(shù)屏蔽部116c。
(2)第1函數(shù)部113c第1函數(shù)部113c從隨機(jī)數(shù)生成部112c接收隨機(jī)數(shù)s,生成隨機(jī)數(shù)s的函數(shù)值G(s)。其次,根據(jù)生成的函數(shù)值G(s)生成驗(yàn)證值a、共享密鑰K和隨機(jī)數(shù)值u。
這里,函數(shù)G是輸出長(zhǎng)度為3k位的散列函數(shù),第1函數(shù)部113c將函數(shù)值G(s)的高位k位作為驗(yàn)證值a,將函數(shù)值G(s)中間的k位作為共享密鑰K,將函數(shù)值G(s)的低位k位作為隨機(jī)數(shù)值u。
其次,第1函數(shù)部113c向加密部114c輸出已生成的驗(yàn)證值a和隨機(jī)數(shù)值u,將生成的共享密鑰K向公共密鑰加密部118輸出。將生成的驗(yàn)證值a向隨機(jī)數(shù)屏蔽部116c輸出。
(3)加密部114c加密部114c從公開密鑰輸入部111接收公共密鑰多項(xiàng)式h,從第1函數(shù)部113c接收驗(yàn)證值a和隨機(jī)數(shù)值u。并如下面所示,使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成驗(yàn)證值a的第1加密文c1。這里,第1加密文c1是NTRU密碼的加密文。
加密部114c生成由隨機(jī)數(shù)值u唯一求出的隨機(jī)數(shù)多項(xiàng)式r,該隨機(jī)數(shù)多項(xiàng)式r對(duì)于NTRU密碼的參數(shù)d,其d個(gè)項(xiàng)的各系數(shù)是‘1’,其余d個(gè)項(xiàng)的各系數(shù)是‘-1’,剩下的項(xiàng)的各系數(shù)是‘0’。具體地說(shuō),將隨機(jī)數(shù)值u作為模擬隨機(jī)數(shù)系列的初始值(隨機(jī)數(shù)種子)來(lái)設(shè)定,從{0、1、......N-1}中選擇2d個(gè)不重復(fù)的模擬隨機(jī)數(shù),設(shè)由最初的d個(gè)模擬隨機(jī)數(shù)表示的次方項(xiàng)的系數(shù)為‘1’,由剩下的d個(gè)模擬隨機(jī)數(shù)分別表示的次方項(xiàng)的系數(shù)為‘-1,其余項(xiàng)的系數(shù)為‘0’,由此來(lái)生成隨機(jī)數(shù)多項(xiàng)式r。
其次,加密部114c為了使接收的驗(yàn)證值a能夠適用于NTRU密碼的加密算法E而構(gòu)成驗(yàn)證值多項(xiàng)式ap,使由二進(jìn)制表現(xiàn)驗(yàn)證值a時(shí)的N位位列的各位的值與驗(yàn)證值多項(xiàng)式ap各項(xiàng)的系數(shù)對(duì)應(yīng),并由此將驗(yàn)證值a變換成驗(yàn)證值多項(xiàng)式ap。例如,設(shè)驗(yàn)證值a的低位的第b位的值是項(xiàng)X^b的系數(shù)的值。具體地說(shuō),當(dāng)驗(yàn)證值a=10010(用位表現(xiàn))時(shí),生成驗(yàn)證值多項(xiàng)式ap=X^5+X^2。
其次,加密部114c使用公開密鑰多項(xiàng)式h作為密鑰,使用隨機(jī)數(shù)多項(xiàng)式r對(duì)驗(yàn)證值多項(xiàng)式ap執(zhí)行上述加密算法E,生成作為加密文多項(xiàng)式的第1加密文c1=E(ap、r、h)。
其次,加密部114c將生成的第1加密文c1輸出給第1發(fā)送部117c。
(4)隨機(jī)數(shù)屏蔽部116c隨機(jī)數(shù)屏蔽部116c從隨機(jī)數(shù)生成部112c接收隨機(jī)數(shù)s,從第1函數(shù)部113c接收驗(yàn)證值a,其次,生成第2加密文c2=s xor a,并將生成的第2加密文c2輸出給第1發(fā)送部117c。
這里,xor是表示“異”運(yùn)算的運(yùn)算符。
再有,隨機(jī)數(shù)屏蔽部116c也可以不用“異”運(yùn)算,而用共享密鑰加密算法、加法運(yùn)算或乘法運(yùn)算。
(5)第1發(fā)送部117c第1發(fā)送部117c從加密部114c接收第1加密文c1,從隨機(jī)數(shù)屏蔽部116c接收第2加密文c2,經(jīng)因特網(wǎng)130將所接收的第1加密文c1和第2加密文c2送往解密裝置120c。
2.2解密裝置120c的構(gòu)成解密裝置120c如圖10所示,具有和解密裝置120同樣的構(gòu)成,取代第1接收部122、解密部123、第2函數(shù)部126和比較部127,而包含第1接收部122c、解密部123c、隨機(jī)數(shù)屏蔽除去部125c、第2函數(shù)部126c和比較部127c。
這里,說(shuō)明第1接收部122c、解密部123c、隨機(jī)數(shù)屏蔽除去部125c、第2函數(shù)部126c和比較部127c。
(1)第1接收部122c第1接收部122c經(jīng)因特網(wǎng)130從加密裝置110c接收第1加密文c1和第2加密文c2,將接收的第1加密文c1輸出給解密部123c,將接收的第2加密文c2輸出給隨機(jī)數(shù)屏蔽除去部125c。
(2)解密部123c解密部123c從秘密密鑰輸入部121接收秘密密鑰多項(xiàng)式f,從第1接收部122c接收第1加密文c1,如下面所示,使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’。這里,解密驗(yàn)證值a’是基于NTRU密碼的解密文。
解密部123c使用秘密密鑰多項(xiàng)式f作為密鑰,對(duì)第1加密文c1執(zhí)行上述解密算法D,生成解密驗(yàn)證值多項(xiàng)式ap’=D(c1、f)。這里,解密驗(yàn)證值多項(xiàng)式ap’是用多項(xiàng)式表現(xiàn)的NTRU密碼的解密文,所以,解密部123c將解密驗(yàn)證值多項(xiàng)式ap’變換成解密驗(yàn)證值a’,使解密驗(yàn)證值多項(xiàng)式ap’各項(xiàng)的系數(shù)與用二進(jìn)制表現(xiàn)的N位位列的解密驗(yàn)證值a’的各位的值對(duì)應(yīng)。例如,解密驗(yàn)證值多項(xiàng)式ap’的b次方項(xiàng)X^b的系數(shù)變成解密驗(yàn)證值a’的低位第b位的值。具體地,解密驗(yàn)證值多項(xiàng)式ap’=X^5+X^2時(shí),轉(zhuǎn)換為解密驗(yàn)證值a’=10010(用位表現(xiàn))。
其次,解密部123c將生成的解密驗(yàn)證值a’輸出給隨機(jī)數(shù)屏蔽除去部125c,將接收的第1加密文c1輸出給比較部127c。
(3)隨機(jī)數(shù)屏蔽除去部125c隨機(jī)數(shù)屏蔽除去部125c從第1接收部122c接收第2加密文c2,從解密部123c接收解密驗(yàn)證值a’,生成解密隨機(jī)數(shù)s’=c2 xor a’,并將生成的隨機(jī)數(shù)s’輸出給第2函數(shù)部126c。
再有,當(dāng)隨機(jī)數(shù)屏蔽部116c不用“異”運(yùn)算,而用共享密鑰加密算法、加法運(yùn)算或乘法運(yùn)算時(shí),隨機(jī)數(shù)屏蔽部125c也可以分別使用與共享密鑰加密算法對(duì)應(yīng)的共享密鑰解密算法、減法運(yùn)算或除法運(yùn)算。
(4)第2函數(shù)部126c第2函數(shù)部126c具有和第1函數(shù)部113c所具有的函數(shù)相同的函數(shù)G的算法。
第2函數(shù)部126c從隨機(jī)數(shù)屏蔽除去部125c接收解密隨機(jī)數(shù)s’,并生成接收的解密隨機(jī)數(shù)s’的函數(shù)值G(s’)。其次,和第1函數(shù)部113c同樣,根據(jù)函數(shù)值G(s’)生成驗(yàn)證值a”、共享密鑰K’和隨機(jī)數(shù)值u’,將生成的驗(yàn)證值a”、共享密鑰K’和隨機(jī)數(shù)值u’輸出給比較部127c。
(5)比較部127c比較部127c如圖10所示,由比較運(yùn)算部127s和加密部127t構(gòu)成。
加密部127t從秘密密鑰輸入部121接收公開密鑰多項(xiàng)式h,從第2函數(shù)部126c接收驗(yàn)證值a”和隨機(jī)數(shù)值u’,和加密部114c一樣,使用接收的公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u’,對(duì)驗(yàn)證值a”進(jìn)行加密,生成第1再加密文c1’,并將生成的第1再加密文c1’輸出給比較運(yùn)算部127s。
此外,比較運(yùn)算部127s從第2函數(shù)部126c接收共享密鑰K’,從解密部123c接收第1加密文c1,從加密部127t接收第1再加密文c1’,其次,將接收的第1加密文c 1和接收的第1再加密文c1’進(jìn)行比較,當(dāng)判斷第1加密文c1=第1再加密文c1’時(shí),將接收的共享密鑰K’輸出給公共密鑰解密部128。
2.3內(nèi)容分配系統(tǒng)10c的動(dòng)作下面,使用圖11所示的處理系統(tǒng)圖說(shuō)明實(shí)施形態(tài)2的內(nèi)容分配系統(tǒng)10c的全部動(dòng)作。
加密裝置110c接收解密裝置120c的公開密鑰多項(xiàng)式h(步驟S101),生成隨機(jī)數(shù)s(步驟S102),并求出函數(shù)值G(s),根據(jù)函數(shù)值G(s)導(dǎo)出驗(yàn)證值a、共享密鑰K和隨機(jī)數(shù)值u(步驟S 121)。其次,加密裝置110c使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u,并采用NTRU密碼對(duì)驗(yàn)證值a進(jìn)行加密,生成第1加密文c1(步驟S105),并根據(jù)驗(yàn)證值a對(duì)隨機(jī)數(shù)s進(jìn)行加密,生成第2加密文c2=s xor a(步驟S122)。其次,加密裝置110c經(jīng)因特網(wǎng)130將第1加密文c1和第2加密文c2發(fā)送給解密裝置120c(步驟S106)。
即,該加密裝置110c進(jìn)行以下處理,將加密文C=(c1、c2)發(fā)送給解密裝置120c。
(a)生成隨機(jī)數(shù)s。
(b)生成G(s),根據(jù)G(s)生成a、K、u。
(c)使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成驗(yàn)證值a的第1加密文c1。
(d)生成c2=s xor a。
其次,加密裝置110c使用導(dǎo)出的共享密鑰K,利用公共密鑰密碼方式對(duì)從內(nèi)容服務(wù)裝置140接收的明碼文mi(1≤i≤n)進(jìn)行加密,生成加密文Ci(1≤i≤n),并經(jīng)因特網(wǎng)130發(fā)送給解密裝置120c(步驟S108)。
另一方面,解密裝置120c接收解密裝置120c的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h(步驟S151),經(jīng)因特網(wǎng)130從加密裝置110c接收第1加密文c1和第2加密文c2(步驟S106),使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’(步驟S152)。其次,根據(jù)解密驗(yàn)證值a’解密第2加密文c2,生成解密隨機(jī)數(shù)s’=c2xor a’(步驟S171)。其次,解密裝置120c根據(jù)解密隨機(jī)數(shù)s’的函數(shù)值G(s’)導(dǎo)出驗(yàn)證值a”、隨機(jī)數(shù)值u’和共享密鑰K’(步驟S172)。進(jìn)而,對(duì)驗(yàn)證值a”進(jìn)行加密,生成第1再加密文c1’(步驟S155),若c1’=c1(步驟S156),則輸出共享密鑰K’(步驟S157)。
即,該解密裝置120c進(jìn)行以下處理,并導(dǎo)出共享密鑰K’。
(a)使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成a’。
(b)生成s’=c2 xor a’。
(c)生成G(s’),根據(jù)G(s’)生成a”、u’、K’。
(d)使用公開密鑰多項(xiàng)式h、隨機(jī)數(shù)值u’生成a”的第1再加密文c1’。
(e)檢查c1’=c1是否成立,若成立,則輸出共享密鑰K’。
這里,若在解密裝置120c中使用與在加密裝置110c中使用的公開密鑰多項(xiàng)式h對(duì)應(yīng)的正確的秘密密鑰多項(xiàng)式f,則第1解密文c1被正確解密,解密驗(yàn)證值a’=a,根據(jù)第2加密文c2和a’生成的解密隨機(jī)數(shù)s’=s。因此,從G(s’)導(dǎo)出的驗(yàn)證值a”=a,共享密鑰K’=K成立,隨機(jī)數(shù)值u’=u。這樣,因a”=a和u’=u成立,故c1’=c1成立,解密裝置120c可以導(dǎo)出和加密裝置110c相同的共享密鑰K。
其次,解密裝置120c經(jīng)因特網(wǎng)130從加密裝置110c接收公共密鑰加密文Ci(1≤i≤n),使用導(dǎo)出的共享密鑰K’(=K),并利用公共密鑰密碼方式對(duì)接收的公共密鑰加密文Ci(1≤i≤n)進(jìn)行解密,生成解密文mi’(1≤i≤n),再將解密文mi’(1≤i≤n)輸出給再生裝置150。
這里,因公共密鑰加密文生成時(shí)使用的加密密鑰K和解密文生成時(shí)使用的加密密鑰K’相同,故解密裝置120c可以得到正確的解密文mi’=mi(1≤i≤n)。
再有,當(dāng)發(fā)生解密錯(cuò)誤時(shí),因解密驗(yàn)證值a’和驗(yàn)證值a不同,故從第2加密文c2得到的解密隨機(jī)數(shù)s’和s不同。因此,從G(s’)導(dǎo)出的隨機(jī)數(shù)值u’和共享密鑰K’分別和u、K不同。但是,這時(shí),因a’、u’分別和a、u不同,故第1再加密文c1’和第1加密文c1不同,所以,解密裝置120c不輸出共享密鑰K’。
2.4實(shí)施形態(tài)2的效果在現(xiàn)有的RSA-KEM算法中,將若不知道秘密密鑰則不能從加密文C導(dǎo)出的要素s輸入到散列函數(shù)G中,導(dǎo)出共享密鑰K。但是,若使用NTRU密碼并使用作為密鑰密封機(jī)制的RSA-KEM算法進(jìn)行共享密鑰的配送,則因有時(shí)會(huì)發(fā)生解密錯(cuò)誤,故即使使用秘密密鑰也不能導(dǎo)出要素s,因此,有時(shí)會(huì)導(dǎo)出不正確的共享密鑰K’。
但是,在實(shí)施形態(tài)2的內(nèi)容分配系統(tǒng)、加密裝置及解密裝置中,根據(jù)隨機(jī)數(shù)s的散列函數(shù)G(s)除生成共享密鑰之外還生成驗(yàn)證值a和隨機(jī)數(shù)值u,解密裝置使用隨機(jī)數(shù)值u和公開密鑰多項(xiàng)式h對(duì)解密驗(yàn)證值a’進(jìn)行再加密,生成第1再加密文c1’,只要第1再加密文c1’和第1加密文c是不同的值,就不輸出共享密鑰K’,所以,當(dāng)發(fā)生解密錯(cuò)誤時(shí),可以防止加密裝置和解密裝置之間導(dǎo)出不同的密鑰。
此外,本發(fā)明的方式可以利用和非專利文獻(xiàn)3記載的證明方法同樣的方法,從理論上證明其安全性。
2.5變形例上述說(shuō)明的實(shí)施形態(tài)2是實(shí)施本發(fā)明的一個(gè)例子,本發(fā)明不限于該實(shí)施形態(tài),在不脫離其主旨的范圍內(nèi)可以實(shí)施各種各樣的形態(tài)。當(dāng)然可以實(shí)施和實(shí)施形態(tài)1同樣的變形例,本發(fā)明還包括以下情況。
(1)從驗(yàn)證值a到驗(yàn)證值多項(xiàng)式ap的變換也可以使用其他變換方法,例如,可以使用使位列的各個(gè)位的值和多項(xiàng)式的各個(gè)項(xiàng)的系數(shù)一一對(duì)應(yīng)的函數(shù)進(jìn)行變換,也可以使用使位列的各個(gè)位的值和多項(xiàng)式的各個(gè)項(xiàng)的系數(shù)一一對(duì)應(yīng)而存儲(chǔ)的函數(shù)值表進(jìn)行變換。
此外,從隨機(jī)數(shù)值u到隨機(jī)數(shù)多項(xiàng)式r的變換也可以使用其他變換方法,例如,只要從u唯一地求出r,并設(shè)d個(gè)次方項(xiàng)的系數(shù)為‘1’,d個(gè)次方項(xiàng)的系數(shù)為‘-1’,其他次方項(xiàng)的系數(shù)為‘0’,則其他變換方法也可以,例如,也可以使用使隨機(jī)數(shù)值u和多項(xiàng)式對(duì)應(yīng)的函數(shù),或函數(shù)值表來(lái)進(jìn)行變換。
(2)加密部114c和解密部123c使用的公開密鑰密碼若是能在加密部114c中,使用公開密鑰和隨機(jī)數(shù)值u對(duì)驗(yàn)證值a進(jìn)行加密再生成第1加密文c1,在解密部123c中,使用秘密密鑰對(duì)第1加密文c1進(jìn)行解密,再生成和驗(yàn)證值a相等的解密驗(yàn)證值a’即可。因此,加密部114c和解密部123c使用的公開密鑰密碼除了NTRU密碼之外,只要是使用隨機(jī)數(shù)的公開密鑰密碼,任何密碼都可以。
例如,若采用E1Gamal密碼,則可以將h、f分別作為E1Gamal密碼的公開密鑰、秘密密鑰,在加密部114c中,使用h和隨機(jī)數(shù)值u對(duì)a進(jìn)行加密再生成c1,在解密部123c中,使用f對(duì)c1進(jìn)行解密再生成a’。
(3)隨機(jī)數(shù)值u除了用第1函數(shù)部113c和第2函數(shù)部126c生成之外,只要在加密裝置110c和解密裝置120c中能得到相同的值,也可以采用其他生成方法。
例如,也可以對(duì)任意函數(shù)Func,使u=Func(s),從而可以使加密裝置110c和解密裝置120c中能得到相同的值。即,也可以.生成G(s),根據(jù)G(s)生成a、K。
.生成Func(s),使u=Func(s)。
(4)隨機(jī)數(shù)值u除了用第1函數(shù)部113c和第2函數(shù)部126c生成之外,因只要在加密裝置110c和解密裝置120c中能得到相同的值即可,故加密裝置110c也可以向解密裝置120c直接發(fā)送隨機(jī)數(shù)值u。
即,也可以像以下那樣,加密裝置110c將加密文C和隨機(jī)數(shù)值u發(fā)送給解密裝置120b。此外,隨機(jī)數(shù)值u也可以加密后發(fā)送。
.生成G(s),根據(jù)G(s)生成a、K。
.通過(guò)別的渠道,從加密裝置110c向解密裝置120b發(fā)送隨機(jī)數(shù)值u。
(5)隨機(jī)數(shù)值u因只要在加密裝置110c和解密裝置120c能得到相同的值即可,故也可以使用第1函數(shù)部113c和第2函數(shù)部126c生成隨機(jī)數(shù)值u的一部分的部分信息,隨機(jī)數(shù)值u的剩下的部分信息直接從加密裝置110c向解密裝置120c發(fā)送。
例如,如下所述,加密裝置110c可以將加密文C和隨機(jī)數(shù)值u2發(fā)送給解密裝置120c,此外,加密裝置110c也可以將隨機(jī)數(shù)值u2加密后再發(fā)送。
.生成G(s),根據(jù)G(s)生成a、K、u1。
.通過(guò)別的渠道,從加密裝置110c向解密裝置120b發(fā)送隨機(jī)數(shù)值u2。
.加密裝置110c生成隨機(jī)數(shù)值U=u1 xor u2。
(6)解密裝置120c檢驗(yàn)第1加密文c1是不是由第2函數(shù)部126c得到的驗(yàn)證值a”的加密文,當(dāng)c1是a”的加密文時(shí),使用共享密鑰K’對(duì)公共密鑰加密文Ci進(jìn)行解密,但也可以檢驗(yàn)第1加密文c1是不是解密驗(yàn)證值a’的加密文。
(7)解密裝置120c檢驗(yàn)第1加密文c1是不是由第2函數(shù)部126c得到的驗(yàn)證值a”的加密文,當(dāng)c1是a”的加密文時(shí),使用共享密鑰K’對(duì)公共密鑰加密文Ci進(jìn)行解密,但也可以像圖12的處理系統(tǒng)圖的步驟S156所示那樣,在比較部127c中,檢驗(yàn)解密部123c解密后的a’值是否等于由第2函數(shù)部126c生成的a”的值。
(8)為了防止因發(fā)生解密錯(cuò)誤而在加密裝置110c和解密裝置120c之間導(dǎo)出不同的密鑰,也可以檢驗(yàn)第1再解密文c1’和第1加密文c1的值是否相同,取代輸出共享密鑰K’,而使加密裝置110c對(duì)任何1個(gè)以上的隨機(jī)數(shù)s、驗(yàn)證值a、隨機(jī)數(shù)值u或共享密鑰K生成散列函數(shù)值,并將生成的散列函數(shù)值發(fā)送給解密裝置120c,通過(guò)解密裝置120c驗(yàn)證該散列函數(shù)值來(lái)決定是否輸出共享密鑰K’,為了提高安全性,也可以使用專利文獻(xiàn)1公開的方法。即,也可以使用實(shí)施形態(tài)1的變形例(8)。
3.實(shí)施形態(tài)1和實(shí)施形態(tài)2的總結(jié)如以上說(shuō)明的那樣,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成加密共享密鑰數(shù)據(jù)的第1加密部。
此外,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;根據(jù)上述驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密共享密鑰數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成。
這里,上述第2加密部可以進(jìn)行上述秘密數(shù)數(shù)據(jù)和上述驗(yàn)證值數(shù)據(jù)的“異”運(yùn)算后再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以使用上述驗(yàn)證值數(shù)據(jù)作為加密密鑰,并利用公共密鑰加密方式將上述秘密數(shù)數(shù)據(jù)加密后生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以使上述驗(yàn)證值數(shù)據(jù)和上述秘密數(shù)數(shù)據(jù)相加再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以使上述驗(yàn)證值數(shù)據(jù)和上述秘密數(shù)數(shù)據(jù)相乘再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述加密共享密鑰數(shù)據(jù)可以是上述第1加密預(yù)備數(shù)據(jù)和上述第2加密預(yù)備數(shù)據(jù)的位連接數(shù)據(jù)。
這里,上述第1加密部可以利用NTRU密碼方式加密后再生成上述加密共享密鑰數(shù)據(jù)。
這里,上述第1加密部可以利用NTRU密碼方式加密后再生成上述第1加密預(yù)備數(shù)據(jù)。
這里,上述秘密數(shù)數(shù)據(jù)可以是隨機(jī)生成的隨機(jī)數(shù)。
這里,作為規(guī)定的處理,上述公共密鑰導(dǎo)出部可以使用單向散列函數(shù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將加密公共密鑰數(shù)據(jù)解密后輸出公共密鑰數(shù)據(jù)的公共密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述加密共享密鑰數(shù)據(jù)后再生成秘密數(shù)數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成再加密共享密鑰數(shù)據(jù)的第3加密部,當(dāng)上述加密共享密鑰數(shù)據(jù)和上述再加密共享密鑰數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;根據(jù)上述驗(yàn)證值數(shù)據(jù)解密上述第2加密預(yù)備數(shù)據(jù)后再生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述驗(yàn)證值驗(yàn)證數(shù)據(jù)加密后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;根據(jù)上述驗(yàn)證值數(shù)據(jù)解密上述第2加密預(yù)備數(shù)據(jù)后再生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
這里,上述第2解密部可以進(jìn)行上述第2加密預(yù)備數(shù)據(jù)和上述驗(yàn)證值數(shù)據(jù)的“異”運(yùn)算后再生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以使用上述驗(yàn)證值數(shù)據(jù)作為加密密鑰,并利用共享密鑰加密方式將上述第2加密預(yù)備數(shù)據(jù)解密后生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以使第2加密預(yù)備數(shù)據(jù)減去上述驗(yàn)證值數(shù)據(jù)后再生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以采用上述第2加密預(yù)備數(shù)據(jù)除以上述驗(yàn)證值數(shù)據(jù)后再生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第1解密部可以利用NTRU密碼方式解密后再生成上述共享密鑰數(shù)據(jù)。
這里,上述第1解密部可以利用NTRU密碼方式解密后再生成上述驗(yàn)證值數(shù)據(jù)。
這里,作為規(guī)定的處理,上述共享密鑰導(dǎo)出部可以使用單向散列函數(shù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)生成將明碼文數(shù)據(jù)加密后的加密文數(shù)據(jù)的加密裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述秘密數(shù)數(shù)據(jù)后再生成第1加密預(yù)備數(shù)據(jù)的第1加密部;根據(jù)上述共享密鑰數(shù)據(jù)將上述明碼文數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密文數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和上述第2加密預(yù)備數(shù)據(jù)構(gòu)成。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密文數(shù)據(jù)解密后輸出解密文數(shù)據(jù)的解密裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)將上述第1加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,還包括解密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),根據(jù)上述共享密鑰將上述第2加密預(yù)備數(shù)據(jù)解密后生成上述解密文數(shù)據(jù)。
此外,本發(fā)明是由根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)生成將明碼文數(shù)據(jù)加密后的加密文數(shù)據(jù)的加密裝置和根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將加密文數(shù)據(jù)解密后輸出解密文數(shù)據(jù)的解密裝置構(gòu)成的密碼系統(tǒng)。上述加密裝置包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述秘密數(shù)數(shù)據(jù)后再生成第1加密預(yù)備數(shù)據(jù)的第1加密部;根據(jù)上述共享密鑰數(shù)據(jù)將上述明碼文數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密文數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和上述第2加密預(yù)備數(shù)據(jù)以及上述第3加密預(yù)備數(shù)據(jù)構(gòu)成。上述解密裝置包括根據(jù)上述秘密密鑰數(shù)據(jù)將上述第1加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成隨機(jī)數(shù)數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,還包括解密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),根據(jù)上述共享密鑰將上述第2加密預(yù)備數(shù)據(jù)解密后生成上述解密文數(shù)據(jù)。
如以上說(shuō)明的那樣,本發(fā)明是鑒于現(xiàn)有系統(tǒng)中的問(wèn)題而提出的,所以,在密碼系統(tǒng)中,通過(guò)構(gòu)成能使用NTRU密碼的新的密鑰密封機(jī)制,可以防止加密裝置和解密裝置之間導(dǎo)出不同的密鑰,并可以可靠地進(jìn)行從使用了由密鑰密封機(jī)制導(dǎo)出的密鑰的發(fā)送裝置向接收裝置的加密通信。
如上所述,可以提供一種現(xiàn)有技術(shù)不能實(shí)現(xiàn)的密碼系統(tǒng),具有很大的價(jià)值。
4.實(shí)施形態(tài)3說(shuō)明作為本發(fā)明的另1個(gè)實(shí)施形態(tài)的內(nèi)容分配系統(tǒng)10d(未圖示)。
再有,內(nèi)容分配系統(tǒng)10d是將內(nèi)容分配系統(tǒng)10變形后的系統(tǒng),這里,以和內(nèi)容分配系統(tǒng)10d的不同點(diǎn)為中心詳細(xì)說(shuō)明內(nèi)容分配系統(tǒng)10d。
4.1內(nèi)容分配系統(tǒng)10d的構(gòu)成內(nèi)容分配系統(tǒng)10d具有和內(nèi)容分配系統(tǒng)10同樣的構(gòu)成,取代加密裝置110和解密裝置120,而包含加密裝置110D和解密裝置120d。其他的構(gòu)成因和內(nèi)容分配系統(tǒng)10一樣,故省略其說(shuō)明。
內(nèi)容分配系統(tǒng)10d是通過(guò)使用NTRU密碼進(jìn)行密鑰密封機(jī)制的密鑰配送后再進(jìn)行加密通信的加密通信系統(tǒng),加密裝置110d和解密裝置120D經(jīng)因特網(wǎng)130連接。
4.2加密裝置110d的構(gòu)成加密裝置110d如圖13所示,由公開密鑰輸入部111d、隨機(jī)數(shù)生成部112d、第1函數(shù)部113d、加密部114d、第2函數(shù)部115d、隨機(jī)數(shù)屏蔽部116d、第1發(fā)送部117d、公共密鑰加密部118和第2發(fā)送部119構(gòu)成。
加密裝置110d是和加密裝置110一樣的計(jì)算機(jī)系統(tǒng),加密裝置110d通過(guò)使微處理器按照計(jì)算機(jī)程序動(dòng)作來(lái)實(shí)現(xiàn)其功能。
(1)公開密鑰輸入部111d公開密鑰輸入部111d從存儲(chǔ)卡160讀出解密裝置120的公開密鑰多項(xiàng)式h,將讀出的公開密鑰多項(xiàng)式h輸出給加密部114d。
(2)隨機(jī)數(shù)生成部112d隨機(jī)數(shù)生成部112d生成隨機(jī)數(shù)s作為用來(lái)生成共享密鑰K的基礎(chǔ)的種子值,并將生成的隨機(jī)數(shù)s輸出給第1函數(shù)部113和隨機(jī)數(shù)屏蔽部116。
(3)第1函數(shù)部113d第1函數(shù)部113d從隨機(jī)數(shù)生成部112d接收隨機(jī)數(shù)s,生成接收的隨機(jī)數(shù)s的函數(shù)值G(s),根據(jù)函數(shù)值G(s)生成驗(yàn)證值a和共享密鑰K。這里,函數(shù)G是作為單向函數(shù)的輸出長(zhǎng)度為2k位的散列函數(shù),第1函數(shù)部113d將函數(shù)值G(s)的高位k位作為驗(yàn)證值a,將函數(shù)值G(s)的低位k位作為共享密鑰K。
其次,第1函數(shù)部113d向加密部114d和第2函數(shù)部115d輸出已生成的驗(yàn)證值a,將生成的共享密鑰K向共享密鑰加密部118輸出。
(4)加密部114d加密部114d從公開密鑰輸入部111d接收公共密鑰多項(xiàng)式h,從第1函數(shù)部113d接收驗(yàn)證值a,如下面所示,使用接收的公開密鑰多項(xiàng)式h生成驗(yàn)證值a的第1加密文c1。這里,生成的第1加密文c1是NTRU密碼的加密文。
加密部114d隨機(jī)生成隨機(jī)數(shù)多項(xiàng)式r,該隨機(jī)數(shù)多項(xiàng)式r對(duì)于NTRU密碼的參數(shù)d,其d個(gè)項(xiàng)的各系數(shù)是‘1’,其余d個(gè)項(xiàng)的各系數(shù)是‘-1’,剩下的項(xiàng)的各系數(shù)是‘0’。其次,為了使驗(yàn)證值a能夠適用于NTRU密碼的加密算法E而生成驗(yàn)證值多項(xiàng)式ap,使由二進(jìn)制表現(xiàn)驗(yàn)證值a時(shí)的N位位列的各位的值與驗(yàn)證值多項(xiàng)式ap的各項(xiàng)的系數(shù)對(duì)應(yīng)。例如,設(shè)驗(yàn)證值a的低位的第b位的值是驗(yàn)證值多項(xiàng)式ap的項(xiàng)X^b的系數(shù),這樣將驗(yàn)證值a變換成驗(yàn)證值多項(xiàng)式ap。具體地說(shuō),當(dāng)驗(yàn)證值a=10010(用位表現(xiàn))時(shí),變換成驗(yàn)證值多項(xiàng)式ap=X^5+X^2。其次,使用公開密鑰多項(xiàng)式h,并使用隨機(jī)數(shù)多項(xiàng)式r對(duì)驗(yàn)證值多項(xiàng)式ap執(zhí)行上述加密算法E,生成作為加密文多項(xiàng)式的第1加密文c1=E(ap、r、h)。
其次,加密部114d將生成的第1加密文c1輸出給第2函數(shù)部115d和第1發(fā)送部117d。
(5)第2函數(shù)部115d第2函數(shù)部115d從第1函數(shù)部113d接收驗(yàn)證值a,從加密部114d接收第1加密文c1,如下面所示那樣,生成驗(yàn)證值a和第1加密文c1的函數(shù)值H(a、c1)。
這里,函數(shù)H是散列函數(shù),是單向函數(shù)的一種。
因第1加密文c1是由多項(xiàng)式表示的NTRU密碼的加密文,故第2函數(shù)部115d生成第1加密文位列c1’,使第1加密文c1的各項(xiàng)系數(shù)與用二進(jìn)制表現(xiàn)時(shí)的N位第1加密文位列c1’的各位的值對(duì)應(yīng)。例如,將第1加密文c1的b次方的項(xiàng)X^b的系數(shù)作為第1加密文位列c1’的低位第b位的值。這樣,將第1加密文c1變換成第1加密文位列c1’。具體地說(shuō),當(dāng)?shù)?加密文c1=X^5+X^2時(shí),變換成第1加密文位列c1’=10010(用位表現(xiàn))。
其次,第2函數(shù)部115d向散列函數(shù)H輸入驗(yàn)證值a和第1加密文位列c1’的位結(jié)合a||c1’,生成函數(shù)值H(a、c1)=H(a||c1’)。這里,‘||’是表示位結(jié)合的運(yùn)算符。
其次,第2函數(shù)部115d向隨機(jī)數(shù)屏蔽部116d輸出已生成的函數(shù)值H(a、c1)。
(6)隨機(jī)數(shù)屏蔽部116d隨機(jī)數(shù)屏蔽部116d從隨機(jī)數(shù)生成部112d接收隨機(jī)數(shù)s,從第2函數(shù)部115d接收函數(shù)值H(a、c1)。其次,生成第2加密文c2=s xorH(a、c1),并將生成的第2加密文c2輸出給第1發(fā)送部117d。
再有,隨機(jī)數(shù)屏蔽部116d也可以不用“異”運(yùn)算,而用共享密鑰加密算法、加法運(yùn)算或乘法運(yùn)算。
(7)第1發(fā)送部117d第1發(fā)送部117d從加密部114d接收第1加密文c1,從隨機(jī)數(shù)屏蔽部116d接收第2加密文c2,經(jīng)因特網(wǎng)130將接收的第1加密文c1和第2加密文c2送往解密裝置120d。
(8)公共密鑰加密部118和第2發(fā)送部119
公共密鑰加密部118和第2發(fā)送部119除了以下的點(diǎn)之外,分別和加密裝置110中包含的公共密鑰加密部118和第2發(fā)送部119相同。
公共密鑰加密部118從第1函數(shù)部113d接收共享密鑰K。
4.3解密裝置120d的構(gòu)成解密裝置120d如圖14所示,由秘密密鑰輸入部121d、第1接收部122d、解密部123d、第3函數(shù)部124d、隨機(jī)數(shù)屏蔽除去部125d、第4函數(shù)部126d、比較部127d、公共密鑰解密部128和第2接收部129構(gòu)成。
解密裝置120d是和解密裝置120一樣的計(jì)算機(jī)系統(tǒng),解密裝置120d通過(guò)使微處理器按照計(jì)算機(jī)程序動(dòng)作來(lái)實(shí)現(xiàn)其功能。
再有,公共密鑰解密部128和第2接收部129分別和解密裝置120中包含的公共密鑰解密部128和第2接收部129相同,這里省略其說(shuō)明。
(1)秘密密鑰輸入部121d秘密密鑰輸入部121d從存儲(chǔ)卡170讀出解密裝置120d的秘密密鑰多項(xiàng)式f,將讀出的秘密密鑰多項(xiàng)式f輸出給解密部123d。
(2)第1接收部122d第1接收部122d經(jīng)因特網(wǎng)130從加密裝置110d接收第1加密文c1和第2加密文c2,將接收的第1加密文c1輸出給解密部123d和第3函數(shù)部124d,將接收的第2加密文c2輸出給隨機(jī)數(shù)屏蔽除去部125d。
再有,當(dāng)隨機(jī)數(shù)屏蔽部116d不用“異”運(yùn)算,而用共享密鑰加密算法、加法運(yùn)算或乘法運(yùn)算時(shí),隨機(jī)數(shù)屏蔽除去部125d也可以分別使用與共享密鑰加密算法對(duì)應(yīng)的共享密鑰解密算法、減法運(yùn)算或除法運(yùn)算。
(3)解密部123d解密部123d從秘密密鑰輸入部121d接收秘密密鑰多項(xiàng)式f,從第1接收部122d接收第1加密文c1,如下面所示,使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’。這里,解密驗(yàn)證值a’是基于NTRU密碼的解密文。
解密部123d使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1執(zhí)行上述解密算法D,生成解密驗(yàn)證值多項(xiàng)式ap’=D(c1、f)。其次,解密驗(yàn)證值多項(xiàng)式ap’是用多項(xiàng)式表現(xiàn)的NTRU密碼的解密文,所以,解密部123d生成解密驗(yàn)證值a’,使解密驗(yàn)證值多項(xiàng)式ap’的各系數(shù)與用二進(jìn)制表現(xiàn)解密驗(yàn)證值a’時(shí)的N位位列的各位的數(shù)對(duì)應(yīng)。例如,將解密驗(yàn)證值多項(xiàng)式ap’的b次方的項(xiàng)X^b的系數(shù)作為解密驗(yàn)證值a’的低位第b位的值。這樣,將解密驗(yàn)證值多項(xiàng)式ap’變換成解密驗(yàn)證值a’。具體地說(shuō),當(dāng)解密驗(yàn)證值多項(xiàng)式ap’=X^5+X^2時(shí),變換成解密驗(yàn)證值a’=10010(用位表現(xiàn))。
其次,解密部123d將生成的解密驗(yàn)證值a’輸出給第3函數(shù)部124d和比較部127d。
(4)第3函數(shù)部124d第3函數(shù)部124d具有和第2函數(shù)部115d所具有的函數(shù)相同的函數(shù)H的算法。
第3函數(shù)部124d從第1接收部122d接收第1加密文c1,從解密部123d接收解密驗(yàn)證值a’。其次,和第2函數(shù)部115d一樣,生成驗(yàn)證值a’和第1加密文c1的函數(shù)值H(a’、c1),將生成的函數(shù)值H(a’、c1)輸出給隨機(jī)數(shù)屏蔽除去部125d。
(5)隨機(jī)數(shù)屏蔽除去部125d隨機(jī)數(shù)屏蔽除去部125d從第1接收部122d接收第2加密文c2,從第3函數(shù)部124d接收散列函數(shù)值H(a’、c1),其次,生成解密隨機(jī)數(shù)s’=c2 xor H(a’、c1),將生成的解密隨機(jī)數(shù)s’輸出給第4函數(shù)部126d。
(6)第4函數(shù)部126d第4函數(shù)部126d具有和第1函數(shù)部113d具有的函數(shù)相同的函數(shù)G的算法。
第4函數(shù)部126d從隨機(jī)數(shù)屏蔽除去部125d接收解密隨機(jī)數(shù)s’,生成解密隨機(jī)數(shù)s’的散列函數(shù)值G(s’)。其次,和第1函數(shù)部113d同樣,根據(jù)函數(shù)值G(s’)生成驗(yàn)證值a”和共享密鑰K’,將生成的驗(yàn)證值a”和共享密鑰K’輸出給比較部127d。
(7)比較部127d比較部127d從解密部123d接收解密驗(yàn)證值a’,從第4函數(shù)部126d接收驗(yàn)證值a”和共享密鑰K,其次,檢驗(yàn)解密驗(yàn)證值a’和驗(yàn)證值a”是否相等,若解密驗(yàn)證值a’和驗(yàn)證值a”相等,將共享密鑰K’輸出給公共密鑰解密部128。
(8)公共密鑰解密部128和第2接收部129公共密鑰解密部128從比較部127d接收共享密鑰K’。
公共密鑰解密部128在其他的點(diǎn)上和解密裝置120包含的公共密鑰解密部128相同,故這里省略說(shuō)明。
此外,第2接收部129和解密裝置120包含的第2接收部129相同,故這里省略說(shuō)明。
4.4內(nèi)容分配系統(tǒng)10d的動(dòng)作使用圖15所示的流程圖和圖16所示的處理系統(tǒng)圖說(shuō)明內(nèi)容分配系統(tǒng)10d的動(dòng)作。
公開密鑰輸入部111d從存儲(chǔ)卡160接收解密裝置120的公開密鑰多項(xiàng)式h,將公開密鑰多項(xiàng)式h輸出給加密部114d(步驟S201)。
其次,隨機(jī)數(shù)生成部112d生成隨機(jī)數(shù)s,再將隨機(jī)數(shù)s輸出給第1函數(shù)部113d和隨機(jī)數(shù)屏蔽部116d(步驟S202)。
其次,第1函數(shù)部113d從隨機(jī)數(shù)生成部112d接收隨機(jī)數(shù)s,生成隨機(jī)數(shù)s的函數(shù)值G(s)(步驟S203)。接著,第1函數(shù)部113d根據(jù)函數(shù)值G(s)生成驗(yàn)證值a和共享密鑰K,再將輸出驗(yàn)證值a輸出給加密部114d和第2函數(shù)部115d,將共享密鑰K輸出給公共密鑰加密部118(步驟S204)。
其次,加密部114d從公開密鑰輸入部111d接收公開密鑰多項(xiàng)式h,從第1函數(shù)部113d接收驗(yàn)證值a。接著,加密部114d使用公開密鑰多項(xiàng)式h生成驗(yàn)證值a的第1加密文c1,并將第1加密文c1輸出給第2函數(shù)部115d和第1發(fā)送部117d(步驟S205)。
其次,第2函數(shù)部115d從第1函數(shù)部113d接收驗(yàn)證值a,從加密部114d接收第1加密文c1,生成驗(yàn)證值a和第1加密文c1的函數(shù)值H(a、c1),并將函數(shù)值H(a、c1)輸出給隨機(jī)數(shù)屏蔽部116d(步驟S206)。
其次,隨機(jī)數(shù)屏蔽部116d從隨機(jī)數(shù)生成部112d接收隨機(jī)數(shù)s,從第2函數(shù)部115d接收函數(shù)值H(a、c1),隨機(jī)數(shù)屏蔽部116d生成第2加密文c2=s xor H(a、c1),并將第2加密文c2輸出給第1發(fā)送部117d(步驟S207)。
其次,第1發(fā)送部117d從加密部114d接收第1加密文c1,從隨機(jī)數(shù)屏蔽部116d接收第2加密文c2,經(jīng)因特網(wǎng)130將第1加密文c1和第2加密文c2送往解密裝置120d(步驟S208)。
其次,公共密鑰加密部118從內(nèi)容服務(wù)裝置140接收多個(gè)明碼文mi(1≤i≤n),從第1函數(shù)部113d接收共享密鑰K,使用共享密鑰K對(duì)明碼文mi(1≤i≤n)執(zhí)行共享密鑰加密算法Sym,生成共享密鑰加密文Ci=Sym(mi、K)(1≤i≤n),并將公共密鑰加密文Ci(1≤i≤n)輸出給第2發(fā)送裝置119(步驟S209)。
其次,第2發(fā)送部119從公共密鑰加密部118接收公共密鑰加密文Ci(1≤i≤n),經(jīng)因特網(wǎng)130發(fā)送給解密裝置120d(步驟S210),并結(jié)束處理。
另一方面,秘密密鑰輸入部121d從存儲(chǔ)卡170接收解密裝置120d的秘密密鑰多項(xiàng)式f,將秘密密鑰多項(xiàng)式f輸出給解密部123(步驟S251)。
其次,第1接收部122d經(jīng)因特網(wǎng)130從加密裝置110d接收第1加密文c1和第2加密文c2,將第1加密文c1輸出給解密部123d和第3函數(shù)部124d,將接收的第2加密文c2輸出給隨機(jī)數(shù)屏蔽除去部125d(步驟S208)。
其次,解密部123d從秘密密鑰輸入部121接收秘密密鑰多項(xiàng)式f,從第1接收部122d接收第1加密文c1,其次,使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’,并將解密驗(yàn)證值a’輸出給第3函數(shù)部124d和比較部127d(步驟S 252)。
其次,第3函數(shù)部124d從第1接收部122d接收第1加密文c1,從解密部123d接收解密驗(yàn)證值a’,其次,和第2函數(shù)部115d一樣,生成驗(yàn)證值a’和第1加密文c1的函數(shù)值H(a’、c1),并將函數(shù)值H(a’、c1)輸出給隨機(jī)數(shù)屏蔽除去部125d(步驟S253)。
其次,隨機(jī)數(shù)屏蔽除去部125d從第1接收部122d接收第2加密文c2,從第3函數(shù)部124d接收散列函數(shù)值H(a’、c1),其次,生成解密隨機(jī)數(shù)s’=c2 xor H(a’、c1),并將解密隨機(jī)數(shù)s’輸出給第4函數(shù)部126d(步驟S254)。
其次,第4函數(shù)部126d從隨機(jī)數(shù)屏蔽除去部125接收解密隨機(jī)數(shù)s’,生成解密隨機(jī)數(shù)s’的散列函數(shù)值G(s’)(步驟S255),和第1函數(shù)部113d同樣,根據(jù)函數(shù)值G(s’)生成驗(yàn)證值a”和共享密鑰K’,將驗(yàn)證值a”和共享密鑰K’輸出給比較部127d(步驟S256)。
其次,比較部127d從解密部123接收解密驗(yàn)證值a’,從第4函數(shù)部126d接收驗(yàn)證值a”和共享密鑰K’,檢驗(yàn)解密驗(yàn)證值a’和驗(yàn)證值a”是否相等,若不等(步驟S257),則結(jié)束處理。
若解密驗(yàn)證值a’和驗(yàn)證值a”相等(步驟S257),則比較部127d將共享密鑰K’輸出給公共密鑰解密部128(步驟S258)其次,第2接收部129經(jīng)因特網(wǎng)130從加密裝置110接收加密文Ci(1≤i≤n),并輸出給公共密鑰解密部128(步驟S210),其次,公共密鑰解密部128從比較部127d接收共享密鑰K’,從第2接收部129接收公共密鑰加密文Ci(1≤i≤n),使用共享密鑰K’對(duì)公共密鑰加密文Ci(1≤i≤n)執(zhí)行公共密鑰加密算法Sym,生成解密文mi’=Sym(Ci、K)(1≤i≤n),并將解密文mi’(1≤i≤n)向外部輸出(步驟S259),再結(jié)束處理。
4.5內(nèi)容分配系統(tǒng)10d的動(dòng)作驗(yàn)證下面,說(shuō)明內(nèi)容分配系統(tǒng)10d的全部動(dòng)作。
加密裝置110d接收解密裝置120d的公開密鑰多項(xiàng)式h,生成隨機(jī)數(shù)s,并根據(jù)函數(shù)值G(s)導(dǎo)出驗(yàn)證值a和共享密鑰K。其次,加密裝置110d使用公開密鑰多項(xiàng)式h,并用NTRU密碼對(duì)驗(yàn)證值a進(jìn)行加密,生成第1加密文c1,并根據(jù)驗(yàn)證值a和第1加密文c1生成函數(shù)值H(a、c1),根據(jù)隨機(jī)數(shù)s和函數(shù)值H(a、c1)生成第2加密文c2=s xor(a、c1)。其次,加密裝置110d經(jīng)因特網(wǎng)130將第1加密文c1和第2加密文c2發(fā)送給解密裝置120d。
即,該加密裝置110d進(jìn)行以下處理,將加密文C=(c1、c2)發(fā)送給解密裝置120d。
.生成隨機(jī)數(shù)s。
.生成G(s),根據(jù)G(s)生成a、K。
.使用公開密鑰多項(xiàng)式h生成驗(yàn)證值a的第1加密文c1。
.生成c2=s xor H(a、c1)。
.輸出共享密鑰K和加密文C=(c1、c2)。
其次,加密裝置110d使用導(dǎo)出的共享密鑰K,利用公共密鑰密碼方式對(duì)從內(nèi)容服務(wù)裝置140輸入的明碼文mi(1≤i≤n)進(jìn)行加密,生成加密文Ci(1≤i≤n),并經(jīng)因特網(wǎng)130發(fā)送給解密裝置120d。
另一方面,解密裝置120d輸入解密裝置120d的秘密密鑰多項(xiàng)式f,經(jīng)因特網(wǎng)130從加密裝置110d接收第1加密文c1和第2加密文c2,使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’。根據(jù)解密驗(yàn)證值a’和第1加密文c1生成函數(shù)值H(a’、c1),根據(jù)第2加密文c2和函數(shù)值H(a’、c1)生成解密隨機(jī)數(shù)s’=c2 xor(a’、c1)。其次,解密裝置120d根據(jù)解密隨機(jī)數(shù)s’的函數(shù)值G(s’)導(dǎo)出驗(yàn)證值a”和共享密鑰K’,若驗(yàn)證值a”=a’,則輸出共享密鑰K’。
即,該解密裝置120d進(jìn)行以下處理,并導(dǎo)出共享密鑰K’。
.使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成a’。
.生成s’=c2 xor H(a’、c1)。
.生成G(s’),根據(jù)G(s’)生成a”、K’。
.檢查a”=a’是否成立。若成立,則輸出共享密鑰K’。
這里,若在解密裝置120d中使用與在加密裝置110d中使用的公開密鑰多項(xiàng)式h對(duì)應(yīng)的正確的秘密密鑰多項(xiàng)式f,則第1解密文c1被正確解密,解密驗(yàn)證值a’=a,根據(jù)第2加密文c2和H(a’、c1)生成的解密隨機(jī)數(shù)s’=s。因此,從G(s’)導(dǎo)出的驗(yàn)證值a”=a,共享密鑰K’=K。而且,因a”=a成立,故解密裝置120d可以導(dǎo)出和加密裝置110d相同的共享密鑰K。
其次,解密裝置120d使用導(dǎo)出的共享密鑰K’(=K),經(jīng)因特網(wǎng)130從加密裝置110d接收公共密鑰加密文Ci(1≤i≤n),并利用公共密碼方式對(duì)接收的公共密鑰加密文Ci(1≤i≤n)進(jìn)行解密,生成解密文mi(1≤i≤n),再輸出給再生裝置150。
這里,因公共密鑰加密文生成時(shí)使用的加密密鑰K和解密文生成時(shí)使用的加密密鑰K’相同,故解密裝置120d可以正確地得到解密文mi’=mi(1≤i≤n)。
4.6實(shí)施形態(tài)3的效果在現(xiàn)有的PSEC-KEM算法中,使用a*p、a*w作為散列函數(shù)H的輸入,使用若不采用秘密密鑰則難以從a*p計(jì)算出a*w的Diffie-Hellman問(wèn)題,來(lái)最終導(dǎo)出共享密鑰K,這時(shí),若不知道秘密密鑰,則不能導(dǎo)出共享密鑰K。因此,以NTRU密碼為首的不利用Diffie-Hellman問(wèn)題的其他公開密鑰密碼沒有與Diffie-Hellman問(wèn)題的a*p、a*w相當(dāng)?shù)拿艽a,所以,存在不能使用PSEC-KEM算法的問(wèn)題。
但是,在本發(fā)明的內(nèi)容分配系統(tǒng)、加密裝置及解密裝置中,因?qū)⑸⒘泻瘮?shù)H的輸入作為驗(yàn)證值a及其加密文c1,故可以使用PSEC-KEM算法,且可以利用NTRU密碼或其他的公開密鑰密碼。
再有,在NTRU密碼中,即使使用公開密鑰對(duì)明碼文進(jìn)行加密生成加密文,使用正規(guī)的秘密密鑰對(duì)加密文進(jìn)行解密生成解密文,也會(huì)發(fā)生解密文和原來(lái)的明碼文不同的情況(例如,參照非專利文獻(xiàn)2)。若發(fā)生這樣的解密錯(cuò)誤,則解密裝置得到錯(cuò)誤的解密驗(yàn)證值a’,但是,因從G(s’)得到的驗(yàn)證值a”和a’不相等,故不輸出共享密鑰K’。因此,即使發(fā)生解密錯(cuò)誤,也可以防止加密裝置和解密裝置之間共用錯(cuò)誤的密鑰。
此外,在解密裝置中,因不進(jìn)行生成再加密文的處理,故與現(xiàn)有技術(shù)相比,可以減小運(yùn)算量。
由此,可以使用NTRU密碼構(gòu)成密鑰密封機(jī)制,使用NTRU密碼在加密裝置和解密裝置之間進(jìn)行密鑰配送。
此外,本發(fā)明的方式可以利用和非專利文獻(xiàn)3記載的證明方法同樣的方法,從理論上證明其安全性。
4.7變形例上述說(shuō)明的實(shí)施形態(tài)是實(shí)施本發(fā)明的一個(gè)例子,本發(fā)明不限于該實(shí)施形態(tài),在不脫離其主旨的范圍內(nèi)可以實(shí)施各種各樣的形態(tài)。本發(fā)明還包括以下情況。
(1)使用的NTRU密碼的參數(shù)不限于N=167,參數(shù)N也可以取其他的值。
(2)加密部114d、第2函數(shù)部115d、解密部123d及第3函數(shù)部124d進(jìn)行的位列和多項(xiàng)式的變換方法并不限于該方法,也可以是其他變換方法。
例如,可以使用使位列和多項(xiàng)式一一對(duì)應(yīng)的函數(shù)或函數(shù)值的表進(jìn)行變換。
此外,例如,也可以使用實(shí)施形態(tài)2的變形例(1)中描述的變換方法進(jìn)行變換。
(3)加密部114d和解密部123d使用的公開密鑰密碼方式若是能在加密部114d中,使用公開密鑰對(duì)驗(yàn)證值a進(jìn)行加密后再生成第1加密文c1,在解密部123d中,使用秘密密鑰對(duì)第1加密文c1進(jìn)行解密,再生成和驗(yàn)證值a相等的解密驗(yàn)證值a’即可。
因此,加密部114d和解密部123d使用的公開密鑰密碼除了NTRU密碼之外,也可以使用任何公開密鑰密碼。
例如,若采用RSA密碼,可以將h、f分別作為RSA密碼的公開密鑰和秘密密鑰,在加密部114d中,使用h加密a并生成c1,在解密部123d中,使用f解密c1并生成a’。
此外,例如,若采用E1Gamal密碼,可以將h、f分別作為E1Gamal密碼的公開密鑰、秘密密鑰,在加密部114d中,生成隨機(jī)數(shù)r,使用h和r加密a生成c1,在解密部123d中,使用f對(duì)c1進(jìn)行解密再生成a’。
再有,關(guān)于RSA密碼和E1Gamal密碼,因非專利文獻(xiàn)1有詳細(xì)記載,故這里省略其說(shuō)明。
(4)第1函數(shù)部113d除了將函數(shù)值G(s)的高位k位作為驗(yàn)證值a之外,只要是從函數(shù)值G(s)導(dǎo)出驗(yàn)證值a和共享密鑰K,也可以采用其他方法。
(5)第2函數(shù)部115d只要是從驗(yàn)證值a和第1加密文c1導(dǎo)出函數(shù)值H(a、c1),也可以采用其他生成方法。
例如,對(duì)任意的2項(xiàng)運(yùn)算#,也可以將a#c1輸入函數(shù)H來(lái)導(dǎo)出函數(shù)值。再有,在NTRU密碼中,因第1加密文c1是多項(xiàng)式,故也可以從第1加密文c1變換出第1加密文位列c1’,將a#c1’輸入到函數(shù)H來(lái)導(dǎo)出函數(shù)值。
(6)進(jìn)而,第2函數(shù)部115d只要是使用驗(yàn)證值a導(dǎo)出函數(shù)值,也可以采用其他方法。
例如,第2函數(shù)部115d可以輸出H(a),也可以直接原樣輸出驗(yàn)證值a。即,在加密裝置110d中,可以將第2加密文c2作為.c2=s xor H(a)或.c2=s xor a導(dǎo)出。
這時(shí),解密裝置120d的第3函數(shù)部124d分別輸出.H(a’)或.a’。
(7)若隨機(jī)數(shù)屏蔽部116d能從隨機(jī)數(shù)s和函數(shù)值H(a、c1)導(dǎo)出第2加密文c2,隨機(jī)數(shù)屏蔽除去部125d能從第2加密文c2和函數(shù)值H(a、c1)導(dǎo)出隨機(jī)數(shù)s,則也可以采用其他方法。
例如,隨機(jī)數(shù)屏蔽部116d也可以將第2加密文c2作為.c2=s+H(a、c1)或.c2=s·H(a、c1)導(dǎo)出。
5.實(shí)施形態(tài)4說(shuō)明作為本發(fā)明的又另1個(gè)實(shí)施形態(tài)的內(nèi)容分配系統(tǒng)10e(未圖示)。
內(nèi)容分配系統(tǒng)10e是在實(shí)施形態(tài)3所示的內(nèi)容分配系統(tǒng)10d的基礎(chǔ)上對(duì)其進(jìn)行變形的系統(tǒng),和內(nèi)容分配系統(tǒng)10d的不同點(diǎn)在于加密裝置根據(jù)函數(shù)值G(s),除驗(yàn)證值a和共享密鑰K之外進(jìn)而還生成隨機(jī)數(shù)值u;使用隨機(jī)數(shù)值u加密驗(yàn)證值a生成第1加密文c1。在解密裝置輸出共享密鑰K時(shí)的判斷方法這一點(diǎn)上也和內(nèi)容分配裝置10d不同。
這里,以和內(nèi)容分配系統(tǒng)10d不同點(diǎn)為中心詳細(xì)說(shuō)明內(nèi)容分配系統(tǒng)10e。
5.1內(nèi)容分配系統(tǒng)10e的構(gòu)成內(nèi)容分配系統(tǒng)10e具有和內(nèi)容分配系統(tǒng)10d同樣的構(gòu)成,取代加密裝置110d和解密裝置120d,而包含加密裝置110e和解密裝置120e。其他的構(gòu)成因和內(nèi)容分配系統(tǒng)10D一樣,故省略其說(shuō)明。
內(nèi)容分配系統(tǒng)10e是使用NTRU進(jìn)行密鑰配送的系統(tǒng)。加密裝置110e和解密裝置120e經(jīng)因特網(wǎng)130而連接。
5.2加密裝置110e的構(gòu)成加密裝置110e如圖17所示,由公開密鑰輸入部111d、隨機(jī)數(shù)生成部112d、第1函數(shù)部113e、加密部114e、第2函數(shù)部115d、隨機(jī)數(shù)屏蔽部116d、第1發(fā)送部117d、公共密鑰加密部118和第2發(fā)送部119構(gòu)成。
公開密鑰輸入部111d、隨機(jī)數(shù)生成部112d、第2函數(shù)部115d、隨機(jī)數(shù)屏蔽部116d、第1發(fā)送部117d、公共密鑰加密部118和第2發(fā)送部119因和構(gòu)成加密裝置110的構(gòu)成要素相同,故省略說(shuō)明,這里,只說(shuō)明和構(gòu)成加密裝置110d的構(gòu)成要素不同的第1函數(shù)部113e和加密部114e的構(gòu)成及動(dòng)作。
(1)第1函數(shù)部113e第1函數(shù)部113e從隨機(jī)數(shù)生成部112d接收隨機(jī)數(shù)s,生成接收的隨機(jī)數(shù)s的函數(shù)值G(s)。其次,如下面所示那樣,根據(jù)生成的函數(shù)值G(s)生成驗(yàn)證值a、共享密鑰K和隨機(jī)數(shù)值u。
這里,函數(shù)G是輸出長(zhǎng)度為3k位的散列函數(shù),第1函數(shù)部113e將函數(shù)值G(s)的高位k位作為驗(yàn)證值a,將函數(shù)值G(s)的中間的k位作為共享密鑰K,將函數(shù)值G(s)的低位k位作為隨機(jī)數(shù)值u。
其次,第1函數(shù)部113e向加密部114e和第2函數(shù)部115d輸出已生成的驗(yàn)證值a,將生成的共享密鑰K向公共密鑰加密部118輸出,將生成的隨機(jī)數(shù)值u向加密部114e輸出。
(2)加密部114e加密部114e從公開密鑰輸入部111d接收公開密鑰多項(xiàng)式h,從第1函數(shù)部113e接收驗(yàn)證值a和隨機(jī)數(shù)值u。其次,如下面所示,使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成驗(yàn)證值a的第1加密文c1。這里,第1加密文c1是NTRU密碼的加密文。隨機(jī)數(shù)值u是盲值,用于使作為加密對(duì)象的驗(yàn)證值a不明了。
加密部114e生成由隨機(jī)數(shù)值u唯一求出的隨機(jī)數(shù)多項(xiàng)式r,該隨機(jī)數(shù)多項(xiàng)式r對(duì)于NTRU密碼的參數(shù)d,其d個(gè)項(xiàng)的各系數(shù)是‘1’,其余d個(gè)項(xiàng)的各系數(shù)是‘-1’,剩下的項(xiàng)的各系數(shù)是‘0’。
具體地說(shuō),將隨機(jī)數(shù)值u作為模擬隨機(jī)數(shù)系列的初始值(隨機(jī)數(shù)種子)來(lái)設(shè)定,從{0、1、......N-1}中選擇2d個(gè)不重復(fù)的模擬隨機(jī)數(shù),設(shè)由最初的d個(gè)模擬隨機(jī)數(shù)表示的次方項(xiàng)的系數(shù)為‘1’,由剩下的d個(gè)模擬隨機(jī)數(shù)分別表示的次方項(xiàng)的系數(shù)為‘-1’,其余項(xiàng)的系數(shù)為‘0’,由此來(lái)生成隨機(jī)數(shù)多項(xiàng)式r。
其次,加密部114e和加密部114d一樣,使用隨機(jī)數(shù)多項(xiàng)式r生成第1加密文c1=E(ap、r、h)。
其次,加密部114e將生成的第1加密文c1輸出給第2函數(shù)部115d和第1發(fā)送部117d。
5.3解密裝置120e的構(gòu)成解密裝置120e如圖18所示,由秘密密鑰輸入部121e、解密部123e、第3函數(shù)部124d、隨機(jī)數(shù)屏蔽除去部125d、第4函數(shù)部126e、比較部127e、公共密鑰解密部128和第2接收部129構(gòu)成。
這里,因第3函數(shù)部124d、隨機(jī)數(shù)屏蔽除去部125d、公共密鑰解密部128和第2接收部129與解密裝置120d包含的各構(gòu)成要素相同,故省略說(shuō)明,說(shuō)明與解密裝置120d包含的各構(gòu)成要素不同的秘密密鑰輸入部121e、解密部123e、第4函數(shù)部126e和比較部127e的構(gòu)成及動(dòng)作。
(1)秘密密鑰輸入部121e秘密密鑰輸入部121e從存儲(chǔ)卡170接收解密裝置120e的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h,將秘密密鑰多項(xiàng)式f輸出給解密部123e,將公開密鑰多項(xiàng)式h輸出給比較部127e。
(2)解密部123e解密部123e從秘密密鑰輸入部121e接收秘密密鑰多項(xiàng)式f,從第1接收部122d接收第1加密文c1,其次,使用秘密密鑰多項(xiàng)式f,對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’,并將生成的解密驗(yàn)證值a’輸出給第3函數(shù)部124d,向比較部127e輸出接收的第1加密文c1。
(3)第4函數(shù)部126e第4函數(shù)部126e具有和第1函數(shù)部113e所具有的函數(shù)相同的函數(shù)G的算法。
第4函數(shù)部126e從隨機(jī)數(shù)屏蔽除去部125d接收解密隨機(jī)數(shù)s’,生成接收的解密隨機(jī)數(shù)s’的散列函數(shù)值G(s’)。其次,和第1函數(shù)部113e同樣,根據(jù)函數(shù)值G(s’)生成驗(yàn)證值a”、共享密鑰K’和隨機(jī)數(shù)值u’,將生成的驗(yàn)證值a”、共享密鑰K’和隨機(jī)數(shù)值u’輸出給比較部127e。
(4)比較部127e比較部127e如圖18所示,由比較運(yùn)算部127p和加密部127q構(gòu)成。
加密部127q從秘密密鑰輸入部121e接收公開密鑰多項(xiàng)式h,從第4函數(shù)部126e接收驗(yàn)證值a”和隨機(jī)數(shù)值u’。其次,和加密部114d一樣,使用接收的公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u’,對(duì)接收的驗(yàn)證值a”進(jìn)行加密,生成第1再加密文c1’,將生成的第1再加密文c1’輸出給比較運(yùn)算部127p。
比較運(yùn)算部127p從解密部123b接收第1加密文c1,從加密部127q接收第1再加密文c1’。其次,將接收的第1加密文c1和第1再加密文c1’比較,判斷是否c1’=c1。若c1’=c1,則將接收的共享密鑰K’輸出給公共密鑰解密部128,若不是c1’=c1,則不輸出接收的共享密鑰K’。
5.4內(nèi)容分配系統(tǒng)10e的動(dòng)作驗(yàn)證下面,使用圖19所示的處理系統(tǒng)圖說(shuō)明內(nèi)容分配系統(tǒng)10e的全部動(dòng)作。
加密裝置110e接收解密裝置120e的公開密鑰多項(xiàng)式h(步驟S201),生成隨機(jī)數(shù)s(步驟S202),生成函數(shù)值G(s)(步驟S203),根據(jù)函數(shù)值G(s)導(dǎo)出驗(yàn)證值a、共享密鑰K和隨機(jī)數(shù)值u(步驟S204)。其次,加密裝置110e使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u,并用NTRU密碼對(duì)驗(yàn)證值a進(jìn)行加密,生成第1加密文c1(步驟S205),并根據(jù)驗(yàn)證值a和第1加密文c1生成函數(shù)值H(a、c1)(步驟S206),根據(jù)隨機(jī)數(shù)s和函數(shù)值H(a、c1)生成第2加密文c2=sxor H(a、c1)(步驟S207)。其次,加密裝置110b經(jīng)因特網(wǎng)130將第1加密文c1和第2加密文c2發(fā)送給解密裝置120e(步驟S208)。
即,該加密裝置110e進(jìn)行以下處理(a)~(e),將加密文C=(c1、c2)發(fā)送給解密裝置120e。
(a)生成隨機(jī)數(shù)s。
(b)生成G(s),根據(jù)G(s)生成a、K、u。
(c)使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u生成驗(yàn)證值a的第1加密文c1。
(d)生成c2=s xor H(a、c1)a。
其次,加密裝置110e使用導(dǎo)出的共享密鑰K,利用公共密鑰密碼對(duì)從內(nèi)容服務(wù)裝置140輸入的明碼文mi(1≤i≤n)進(jìn)行加密,生成加密文Ci(1≤i≤n)(步驟S209),并經(jīng)因特網(wǎng)130發(fā)送給解密裝置120e(步驟S210)。
另一方面,解密裝置120e接收解密裝置120e的秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h(步驟S251、步驟251e),經(jīng)因特網(wǎng)130從加密裝置110e接收第1加密文c1和第2加密文c2(步驟S208),使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成解密驗(yàn)證值a’(步驟S252)。其次,根據(jù)解密驗(yàn)證值a’和第1加密文c1生成函數(shù)值H(a’、c1)(步驟S253),根據(jù)第2加密文c2和函數(shù)值H(a’、c1)生成解密隨機(jī)數(shù)s’=c2 xor H(a’、c1)(步驟S254)。其次,解密裝置120e解密隨機(jī)數(shù)s’的函數(shù)值G(s’)(步驟S255),根據(jù)生成的函數(shù)值G(s’)導(dǎo)出驗(yàn)證值a”、隨機(jī)數(shù)值u’和共享密鑰K’(步驟S256e)。其次,對(duì)驗(yàn)證值a”進(jìn)行加密,生成第1再加密文c1’(步驟S261),若c1’=c1(步驟S257),則輸出共享密鑰K’(步驟S258)。
即,該解密裝置120e進(jìn)行以下處理(a)~(e),并導(dǎo)出共享密鑰K’。
(a)使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行解密,生成a’。
(b)生成s’=c2 xor H(a’、c1)。
(c)生成G(s’),根據(jù)G(s’)生成a”、u’、K’。
(d)使用公開密鑰多項(xiàng)式h和隨機(jī)數(shù)值u’生成a”的第1再加密文c1’。
(e)檢查c1’=c1是否成立,若成立,則輸出共享密鑰K’。
這里,若在解密裝置120e中使用與在加密裝置110e中使用的公開密鑰多項(xiàng)式h對(duì)應(yīng)的正確的秘密密鑰多項(xiàng)式f,則第1解密文c1被正確解密,解密驗(yàn)證值a’=a,根據(jù)第2加密文c2和H(a’、c1)生成的解密隨機(jī)數(shù)s’=s。因此,從G(s’)導(dǎo)出的驗(yàn)證值a”=a,共享密鑰K’=K成立,隨機(jī)數(shù)值u’=u。這樣,因a”=a和u’=u成立,故c1’=c1成立,解密裝置120e可以導(dǎo)出和加密裝置110e相同的共享密鑰K。
其次,解密裝置120e經(jīng)因特網(wǎng)130從加密裝置110e接收公共密鑰加密文Ci(1≤i≤n)(步驟S210),利用公共密鑰密碼對(duì)接收的公共密鑰加密文Ci(1≤i≤n)進(jìn)行解密,生成解密文mi’(1≤i≤n)(步驟S259),再將解密文mi’(1≤i≤n)輸出給再生裝置150。
這里,因公共密鑰加密文生成時(shí)使用的加密密鑰K和解密文生成時(shí)使用的加密密鑰K’相同,故解密裝置120e可以正確地得到mi’=mi(1≤i≤n)。
5.5內(nèi)容分配系統(tǒng)10e的效果在現(xiàn)有的PSEC-KEM算法中,使用a*p、a*w作為散列函數(shù)H的輸入,使用若不采用秘密密鑰則難以從a*p計(jì)算出a*w的Diffie-Hellman問(wèn)題,來(lái)最終導(dǎo)出共享密鑰K,這時(shí),若不知道秘密密鑰則不能導(dǎo)出該共享密鑰K。因此,以NTRU密碼為首的不利用Diffie-Hellman問(wèn)題的其他公開密鑰密碼沒有與Diffie-Hellman問(wèn)題的a*p、a*w相當(dāng)?shù)拿艽a,所以,存在不能使用PSEC-KEM算法的問(wèn)題。
但是,在本發(fā)明的內(nèi)容分配系統(tǒng)、加密裝置及解密裝置中,因?qū)⑸⒘泻瘮?shù)H的輸入作為驗(yàn)證值a及其加密文c1,故和實(shí)施形態(tài)3一樣,可以利用NTRU密碼或其他的公開密鑰密碼。
再有,若發(fā)生解密錯(cuò)誤,解密裝置得到錯(cuò)誤的解密驗(yàn)證值a’,但是,因c1’不等于c1,故不輸出共享密鑰K’。因此,即使發(fā)生解密錯(cuò)誤,也可以防止加密裝置和解密裝置之間共用錯(cuò)誤的密鑰。
由此,可以使用NTRU密碼構(gòu)成密鑰密封機(jī)制,使用NTRU密碼在加密裝置和解密裝置之間進(jìn)行密鑰配送。
此外,本發(fā)明的方式可以利用和非專利文獻(xiàn)3記載的證明方法同樣的方法,從理論上證明其安全性。
5.6變形例上述說(shuō)明的實(shí)施形態(tài)是實(shí)施本發(fā)明的一個(gè)例子,本發(fā)明不限于該實(shí)施形態(tài),在不脫離其主旨的范圍內(nèi)可以實(shí)施各種各樣的形態(tài)。當(dāng)然可以實(shí)施和實(shí)施形態(tài)3同樣的變形例,本發(fā)明還包括以下情況。
(1)在加密部114e中進(jìn)行的從隨機(jī)數(shù)值u到隨機(jī)數(shù)多項(xiàng)式r的變換不限于本方法,若是從u唯一地求得r,則也可以使用其他變換方法,例如,可以使用使隨機(jī)數(shù)值u與多項(xiàng)式對(duì)應(yīng)的函數(shù)或函數(shù)值表進(jìn)行變換。
此外,例如,也可以使用在實(shí)施形態(tài)2的變形例(1)中記述的變換方法來(lái)進(jìn)行變換。
(2)加密部114e和解密部123e使用的公開密鑰密碼若是能在加密部114e中,使用公開密鑰和隨機(jī)數(shù)值u對(duì)驗(yàn)證值a進(jìn)行加密再生成第1加密文c1,在解密部123e中,使用秘密密鑰對(duì)第1加密文c1進(jìn)行解密,再生成和驗(yàn)證值a相等的解密驗(yàn)證值a’即可。因此,加密部114e和解密部123e使用的公開密鑰密碼除了NTRU密碼之外,只要是使用隨機(jī)數(shù)的公開密鑰密碼,任何密碼都可以利用。
例如,若采用E1Gamal密碼,可以將h、f分別作為E1Gamal密碼的公開密鑰、秘密密鑰,在加密部114e中,使用h和隨機(jī)數(shù)值u對(duì)a進(jìn)行加密再生成c1,在解密部123e中,使用f對(duì)c1進(jìn)行解密再生成a’。
(3)隨機(jī)數(shù)值u除了用第1函數(shù)部113e和第4函數(shù)部126e生成之外,只要在加密裝置110e和解密裝置120e中能得到相同的值,也可以采用其他生成方法。
例如,也可以對(duì)任意函數(shù)Func,作為u=Func(s),在加密裝置110e和解密裝置120e中能得到相同的值。即,.生成G(s),根據(jù)G(s)生成a、K。
.生成Func(s),使u=Func(s)。
(4)進(jìn)而,隨機(jī)數(shù)值u除了用第1函數(shù)部113e和第4函數(shù)部126e生成之外,困只要在加密裝置110e和解密裝置120e中能得到相同的值即可,故加密裝置110e也可以向解密裝置120e直接發(fā)送隨機(jī)數(shù)值u。
即,也可以像以下那樣,將加密文C和隨機(jī)數(shù)值u發(fā)送給解密裝置120e。
.生成G(s),根據(jù)G(s)生成a、K。
.通過(guò)別的渠道,從加密裝置110e向解密裝置120e發(fā)送隨機(jī)數(shù)值u。
此外,加密裝置110e也可以將隨機(jī)數(shù)值u加密后再發(fā)送。
(5)進(jìn)而,隨機(jī)數(shù)值u因只要加密裝置110e和解密裝置120e能得到相同的值即可,故也可以使用第1函數(shù)部113e和第4函數(shù)部126e生成由隨機(jī)數(shù)值u的一部分構(gòu)成的部分信息,隨機(jī)數(shù)值u的剩下的部分信息直接從加密裝置110e向解密裝置120e發(fā)送。
例如,如下所述,也可以將加密文C和隨機(jī)數(shù)值u2發(fā)送給解密裝置120e。
.生成G(s),根據(jù)G(s)生成a、K、u1。
.通過(guò)別的渠道,從加密裝置110e向解密裝置120e發(fā)送隨機(jī)數(shù)值u2。
.利用u=u1 xor u2生成隨機(jī)數(shù)值u。
此外,加密裝置110e也可以將隨機(jī)數(shù)值u2加密后再發(fā)送。
(6)解密裝置120e檢驗(yàn)第1加密文c1是不是由第4函數(shù)部126e得到的驗(yàn)證值a”的加密文,當(dāng)c1是a”的加密文時(shí),使用共享密鑰K’對(duì)公共密鑰加密文Ci進(jìn)行解密,但也可以利用和實(shí)施形態(tài)3的解密裝置120d相同的檢驗(yàn)方法進(jìn)行。
即,如圖20的處理系統(tǒng)所示,也可以和解密裝置120d一樣,使用解密部123d和比較部127d,像以下那樣進(jìn)行檢驗(yàn)。
(a)使用秘密密鑰多項(xiàng)式f對(duì)第1加密文c1進(jìn)行加密,再生成a’(步驟S252)。
(b)生成s’=c2 xor H(a’、c1)(步驟S254)。
(c)生成G(s’)(步驟S255),根據(jù)G(s’)生成a”、K’、u’(步驟S256e)。
(d)檢驗(yàn)a”=a是否成立(步驟S257),若成立則輸出共享密鑰K’(步驟S258)此外,也可以檢驗(yàn)第1加密文c1是不是解密驗(yàn)證值a’的加密文。
7.實(shí)施形態(tài)3和實(shí)施形態(tài)4的總結(jié)如以上說(shuō)明的那樣,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的共享密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密共享密鑰數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成。
此外,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密共享密鑰數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成。
此外,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密共享密鑰數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成。
此外,本發(fā)明是輸出共享密鑰數(shù)據(jù)和根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)將上述共享密鑰數(shù)據(jù)加密后的加密共享密鑰數(shù)據(jù)的共享密鑰生成裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部,上述加密共享密鑰數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成。
這里,上述秘密數(shù)數(shù)據(jù)可以是隨機(jī)生成的隨機(jī)數(shù)。
這里,作為規(guī)定的處理,上述共享密鑰導(dǎo)出部可以使用單向散列函數(shù)。
這里,上述第1加密部可以利用NTRU加密方式加密后生成上述第1加密預(yù)備數(shù)據(jù)。
這里,作為規(guī)定的處理,上述驗(yàn)證值變換部可以使用單向散列函數(shù)。
這里,上述第2加密部可以進(jìn)行上述秘密數(shù)數(shù)據(jù)和上述驗(yàn)證值數(shù)據(jù)的“異”運(yùn)算再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以將上述變換驗(yàn)證值數(shù)據(jù)作為加密密鑰使用,并利用公共密鑰加密方式將上述秘密數(shù)數(shù)據(jù)加密后生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以使上述變換驗(yàn)證值數(shù)據(jù)和上述秘密數(shù)數(shù)據(jù)相加后再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述第2加密部可以使上述驗(yàn)證值數(shù)據(jù)和上述秘密數(shù)數(shù)據(jù)相乘后再生成上述第2加密預(yù)備數(shù)據(jù)。
這里,上述加密共享密鑰數(shù)據(jù)可以是上述第1加密預(yù)備數(shù)據(jù)和上述第2加密預(yù)備數(shù)據(jù)的位連接數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部,按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述驗(yàn)證值驗(yàn)證數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述驗(yàn)證值數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述驗(yàn)證值驗(yàn)證數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)和公開密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)和第2加密預(yù)備數(shù)據(jù)構(gòu)成的加密共享密鑰數(shù)據(jù)解密后輸出共享密鑰數(shù)據(jù)的共享密鑰復(fù)原裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)解密上述第1加密預(yù)備數(shù)據(jù)后再生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)和上述第1加密預(yù)備數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部,按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)、隨機(jī)數(shù)數(shù)據(jù)和上述共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)和上述隨機(jī)數(shù)數(shù)據(jù)加密上述驗(yàn)證值數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,當(dāng)上述第1加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)一致時(shí),輸出上述共享密鑰數(shù)據(jù)。
這里,作為規(guī)定的處理,上述共享密鑰導(dǎo)出部可以使用單向散列函數(shù)。
這里,上述第1解密部可以利用NTRU密碼方式解密后再生成驗(yàn)證值數(shù)據(jù)。
這里,作為規(guī)定的處理,上述驗(yàn)證值變換部可以使用單向散列函數(shù)。
這里,作為規(guī)定的處理,上述驗(yàn)證值變換部可以直接將上述驗(yàn)證值數(shù)據(jù)原樣作為上述變換驗(yàn)證值數(shù)據(jù)。
這里,上述第2解密部可以進(jìn)行上述第2加密預(yù)備數(shù)據(jù)和上述驗(yàn)證值數(shù)據(jù)的“異”運(yùn)算后再生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以使用上述變換驗(yàn)證值數(shù)據(jù)作為加密密鑰,并利用共享密鑰加密方式將上述第2加密預(yù)備數(shù)據(jù)解密后生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以使第2加密預(yù)備數(shù)據(jù)減去上述變換驗(yàn)證值數(shù)據(jù)后再生成上述秘密數(shù)數(shù)據(jù)。
這里,上述第2解密部可以采用上述第2加密預(yù)備數(shù)據(jù)除以上述變換驗(yàn)證值數(shù)據(jù)后再生成上述秘密數(shù)數(shù)據(jù)。
此外,本發(fā)明是根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)生成將明碼文數(shù)據(jù)加密了的加密文數(shù)據(jù)的加密裝置,包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)加密上述驗(yàn)證值數(shù)據(jù)后再生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部;根據(jù)上述共享密鑰數(shù)據(jù)加密上述明碼文數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,上述加密文數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)、上述第2加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)構(gòu)成。
此外,本發(fā)明是根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將由第1加密預(yù)備數(shù)據(jù)、第2加密預(yù)備數(shù)據(jù)和第3加密預(yù)備數(shù)據(jù)構(gòu)成的加密文數(shù)據(jù)解密后輸出解密文數(shù)據(jù)的解密裝置,包括根據(jù)上述秘密密鑰數(shù)據(jù)將上述第1加密預(yù)備數(shù)據(jù)解密后生成驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成秘密數(shù)數(shù)據(jù)的第2解密部;以及按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,還包括解密部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),根據(jù)上述共享密鑰將上述第3加密預(yù)備數(shù)據(jù)解密后生成上述解密文數(shù)據(jù)。
此外,本發(fā)明是由根據(jù)預(yù)先給出的公開密鑰數(shù)據(jù)生成將明碼文數(shù)據(jù)加密后的加密文數(shù)據(jù)的加密裝置和根據(jù)預(yù)先給出的秘密密鑰數(shù)據(jù)將加密文數(shù)據(jù)解密后輸出解密文數(shù)據(jù)的解密裝置構(gòu)成的密碼系統(tǒng)。上述加密裝置包括生成秘密數(shù)數(shù)據(jù)的秘密數(shù)數(shù)據(jù)生成部;按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部;根據(jù)上述公開密鑰數(shù)據(jù)將上述驗(yàn)證值數(shù)據(jù)加密后生成第1加密預(yù)備數(shù)據(jù)的第1加密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述秘密數(shù)數(shù)據(jù)加密后生成第2加密預(yù)備數(shù)據(jù)的第2加密部;根據(jù)上述共享密鑰數(shù)據(jù)加密上述明碼文數(shù)據(jù)后生成第3加密預(yù)備數(shù)據(jù)的第3加密部,上述加密文數(shù)據(jù)由上述第1加密預(yù)備數(shù)據(jù)、上述第2加密預(yù)備數(shù)據(jù)和上述第3加密預(yù)備數(shù)據(jù)構(gòu)成。上述解密裝置包括根據(jù)上述秘密密鑰數(shù)據(jù)將上述第1加密預(yù)備數(shù)據(jù)解密后生成上述驗(yàn)證值數(shù)據(jù)的第1解密部;按照規(guī)定的處理將上述驗(yàn)證值數(shù)據(jù)變換成上述變換驗(yàn)證值數(shù)據(jù)的驗(yàn)證值變換部;根據(jù)上述變換驗(yàn)證值數(shù)據(jù)將上述第2加密預(yù)備數(shù)據(jù)解密后生成上述秘密數(shù)數(shù)據(jù)的第2解密部;以及按照規(guī)定的處理將上述秘密數(shù)數(shù)據(jù)變換成驗(yàn)證值驗(yàn)證數(shù)據(jù)和共享密鑰數(shù)據(jù)的共享密鑰導(dǎo)出部,還包括解密部,當(dāng)上述驗(yàn)證值數(shù)據(jù)和上述驗(yàn)證值驗(yàn)證數(shù)據(jù)一致時(shí),根據(jù)上述共享密鑰數(shù)據(jù)將上述第3加密預(yù)備數(shù)據(jù)解密后生成上述解密文數(shù)據(jù)。
如以上所說(shuō)明的那樣,本發(fā)明是鑒于現(xiàn)有系統(tǒng)的問(wèn)題而提出的,所以,在密碼系統(tǒng)中,通過(guò)構(gòu)成能使用NTRU密碼的密鑰密封機(jī)制,可以使用NTRU密碼在加密裝置和解密裝置之間進(jìn)行密鑰配送。
如上所述,可以提供一種現(xiàn)有技術(shù)不能實(shí)現(xiàn)的密碼系統(tǒng),具有很大的價(jià)值。
8.其他變形例雖然根據(jù)上述實(shí)施形態(tài)說(shuō)明了本發(fā)明,但本發(fā)明不限于上述實(shí)施形態(tài),以下情況也包含在本發(fā)明之內(nèi)。
(1)加密裝置可以不經(jīng)因特網(wǎng)向解密裝置發(fā)送各加密文,而向DVD等記錄媒體寫入各加密文,解密裝置從記錄媒體中讀出各加密文。
(2)本發(fā)明使用的NTRU密碼除了非專利文獻(xiàn)2記載的方式之外,也可以是EESS(Efficient Embedded Security Standard有效植入安全標(biāo)準(zhǔn))方式的NTRU密碼。關(guān)于EESS方式的NTRU密碼,在“EESS;Consortium for Efficient Embedded Security,EfficientEmbedded Security Standards#1Implementation Aspects of NTRUEncrypt and NTRU Sign,Version 2.0,”(available athttp/ceesstandards.org,May2003)中有詳細(xì)記載,因此,這里省略其詳細(xì)說(shuō)明,以下簡(jiǎn)單地進(jìn)行說(shuō)明。
在EESS方式的NTRU密碼中,隨機(jī)數(shù)多項(xiàng)式r是d個(gè)系數(shù)是1、(N-d)個(gè)系數(shù)是0的多項(xiàng)式,或是使用多個(gè)這樣的多項(xiàng)式計(jì)算后得到的多項(xiàng)式。因此,在上述實(shí)施形態(tài)中,當(dāng)生成隨機(jī)數(shù)多項(xiàng)式r時(shí),若生成這樣的多項(xiàng)式,則可以使用EESS方式的密碼去代替NTRU密碼,可以得到同樣的效果。
(3)內(nèi)容分配系統(tǒng)也可以像下面所示那樣構(gòu)成。
內(nèi)容分配系統(tǒng)由內(nèi)容服務(wù)裝置、加密裝置、發(fā)送裝置、接收裝置、解密裝置、再生裝置和監(jiān)視器構(gòu)成。
加密裝置和解密裝置與內(nèi)容分配系統(tǒng)10的加密裝置110和解密裝置120相對(duì)應(yīng)。
內(nèi)容服務(wù)器裝置和加密裝置經(jīng)專用線路連接,內(nèi)容服務(wù)器裝置經(jīng)專用線路將由圖像和聲音構(gòu)成的電影等內(nèi)容向加密裝置發(fā)送。加密裝置和發(fā)送裝置經(jīng)專用線路連接。加密裝置向發(fā)送裝置傳送各加密文,發(fā)送裝置將各加密文多路復(fù)用,并調(diào)制在數(shù)字廣播電波上進(jìn)行發(fā)送。
接收裝置和解密裝置連接,解密裝置和再生裝置連接。接收裝置接收數(shù)字廣播電波,從接收的數(shù)字廣播電波中抽出各加密文,將抽出的各加密文傳送給解密裝置。解密裝置接收各加密文,使用接收的各加密文生成再生內(nèi)容,將生成的再生內(nèi)容輸出給再生裝置。再生裝置與內(nèi)裝有揚(yáng)聲器的監(jiān)視器連接。再生裝置接收再生內(nèi)容,從接收的再生內(nèi)容中生成圖像信號(hào)和聲音信號(hào),監(jiān)視器顯示圖像并輸出聲音。
(4)內(nèi)容服務(wù)器裝置和加密裝置也可以由形成一體的裝置構(gòu)成。此外,解密裝置和再生裝置也可以由形成一體的裝置構(gòu)成。
(5)在上述各實(shí)施形態(tài)中,存儲(chǔ)卡160預(yù)先存儲(chǔ)公開密鑰多項(xiàng)式,存儲(chǔ)卡170預(yù)先存儲(chǔ)秘密密鑰多項(xiàng)式f和公開密鑰多項(xiàng)式h,加密裝置110和解密裝置120分別從存儲(chǔ)卡160和存儲(chǔ)卡170取得公開密鑰多項(xiàng)式和秘密密鑰多項(xiàng)式,但不限于此。
也可以是加密裝置110預(yù)先存儲(chǔ)公開密鑰多項(xiàng)式,解密裝置120預(yù)先存儲(chǔ)公開密鑰多項(xiàng)式和秘密密鑰多項(xiàng)式。
此外,密鑰管理裝置也可以生成秘密密鑰多項(xiàng)式和公開密鑰多項(xiàng)式,將秘密密鑰多項(xiàng)式和公開密鑰多項(xiàng)式秘密且安全地發(fā)送給解密裝置120,并將生成的公開密鑰多項(xiàng)式發(fā)送給加密裝置110。
(6)內(nèi)容分配系統(tǒng)分配的內(nèi)容不限于由圖像和聲音構(gòu)成的電影等內(nèi)容。也可以是由活動(dòng)圖像、靜止圖像、聲音、音樂、文書、小說(shuō)和DB軟件生成的數(shù)據(jù)庫(kù)、由表格計(jì)算軟件生成的電子表數(shù)據(jù)、計(jì)算機(jī)程序或其他計(jì)算機(jī)用數(shù)據(jù)等。
此外,上述內(nèi)容也可以不是上述那樣的著作物,而是使用于加密、解密、數(shù)字署名和署名驗(yàn)證等的密鑰信息。
例如,也可以像上述各實(shí)施形態(tài)所示那樣,加密裝置和解密裝置共用共享密鑰,加密裝置使用共享密鑰加密內(nèi)容密鑰后生成加密內(nèi)容密鑰,使用內(nèi)容密鑰對(duì)內(nèi)容加密后生成加密內(nèi)容,并將生成的加密內(nèi)容密鑰和生成的加密內(nèi)容發(fā)送給解密裝置。解密裝置接收加密內(nèi)容密鑰和加密內(nèi)容,并使用共享密鑰將加密內(nèi)容密鑰解密后生成內(nèi)容密鑰,使用生成的內(nèi)容密鑰將加密內(nèi)容解密后生成內(nèi)容。
(7)本發(fā)明可以是上面所示的方法。也可以是由計(jì)算機(jī)實(shí)現(xiàn)這些方法的計(jì)算機(jī)程序,也可以是由上述計(jì)算機(jī)程序構(gòu)成的數(shù)字信號(hào)。
此外,本發(fā)明可以是將上述計(jì)算機(jī)程序或上述數(shù)字信號(hào)記錄在計(jì)算機(jī)可讀取的記錄媒體、例如,軟盤、硬盤、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray盤)、半導(dǎo)體存儲(chǔ)器等上的技術(shù)。此外,也可以是記錄在這些記錄媒體上的上述計(jì)算機(jī)程序或上述數(shù)字信號(hào)。
此外,本發(fā)明也可以是經(jīng)由電氣通信線路、無(wú)線或有線通信線路、以因特網(wǎng)為代表的網(wǎng)絡(luò)、數(shù)字廣播等傳送上述計(jì)算機(jī)程序或上述數(shù)字信號(hào)的技術(shù)。
此外,本發(fā)明也可以是具有微處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng),上述存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)程序,上述微處理器按照上述計(jì)算機(jī)程序動(dòng)作。
此外,本發(fā)明也可以通過(guò)將上述程序和上述數(shù)字信號(hào)記錄在上述記錄媒體中后再進(jìn)行移送,或者經(jīng)由上述網(wǎng)絡(luò)等移送上述程序或上述數(shù)字信號(hào),從而由其他的獨(dú)立計(jì)算機(jī)系統(tǒng)來(lái)實(shí)施。
(8)也可以將上述實(shí)施形態(tài)和上述變形例分別組合。
以上說(shuō)明的內(nèi)容分配系統(tǒng)在從內(nèi)容供給者對(duì)使用者供給音樂、電影、小說(shuō)等數(shù)字化著作物的行業(yè)中,可以經(jīng)營(yíng)性地、反復(fù)地繼續(xù)使用。此外,構(gòu)成內(nèi)容分配系統(tǒng)的加密裝置和解密裝置在制造電氣產(chǎn)品等電氣行業(yè)中,可以進(jìn)行制造和販賣。
特別地,對(duì)通過(guò)將數(shù)字化著作物存儲(chǔ)在DVD等記錄媒體上后在市場(chǎng)上流通,或經(jīng)網(wǎng)絡(luò)流通,或通過(guò)廣播來(lái)提供數(shù)字化產(chǎn)品的行業(yè)很適用。
權(quán)利要求
1.一種密鑰共享系統(tǒng),由共享密鑰生成裝置和共享密鑰復(fù)原裝置構(gòu)成,并不讓第三者知道地生成共享密鑰,其特征在于所述共享密鑰生成裝置具有生成種子值的種子值生成裝置;根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰的第1共享密鑰生成裝置;對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后再生成第1加密信息的第1加密裝置;根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后再生成第2加密信息的第2加密裝置;以及發(fā)送已生成的所述第1加密信息和所述第2加密信息的發(fā)送裝置,所述共享密鑰復(fù)原裝置具有接收所述第1加密信息和所述第2加密信息的接收裝置;將已接收的所述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密裝置;根據(jù)已生成的所述第1解密驗(yàn)證值,將已接收的所述第2加密信息解密后生成解密種子值的第2解密裝置;利用和所述第1共享密鑰生成裝置相同的方法,并根據(jù)已生成的所述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的第2共享密鑰生成裝置;根據(jù)已生成的所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值判斷是否輸出已生成的所述解密共享密鑰的判斷裝置;以及當(dāng)判斷要輸出時(shí)輸出已生成的所述解密共享密鑰的輸出裝置。
2.權(quán)利要求1記載的密鑰共享系統(tǒng),其特征在于所述共享密鑰生成裝置進(jìn)而具有取得內(nèi)容的取得裝置;以及使用已生成的所述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密后再生成加密內(nèi)容的加密裝置,所述發(fā)送裝置進(jìn)而發(fā)送已生成的所述加密內(nèi)容,所述接收裝置進(jìn)而接收所述加密內(nèi)容,所述共享密鑰復(fù)原裝置進(jìn)而具有使用已輸出的所述解密共享密鑰,對(duì)已接收的所述加密內(nèi)容進(jìn)行解密后再生成解密內(nèi)容的解密裝置;以及輸出已生成的解密內(nèi)容的輸出裝置。
3.一種不讓第三者知道地向?qū)Ψ窖b置傳送共享密鑰的共享密鑰生成裝置,其特征在于具有生成種子值的種子值生成裝置;根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰的共享密鑰生成裝置;對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后再生成第1加密信息的第1加密裝置;根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后再生成第2加密信息的第2加密裝置;發(fā)送已生成的所述第1加密信息和第2加密信息的發(fā)送裝置。
4.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述種子值生成裝置生成隨機(jī)數(shù),通過(guò)將生成的隨機(jī)數(shù)作為所述種子值來(lái)生成所述種子值。
5.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行單向函數(shù)來(lái)生成函數(shù)值,并根據(jù)已生成的所述函數(shù)值生成所述驗(yàn)證值和所述共享密鑰。
6.權(quán)利要求5記載的共享密鑰生成裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行作為所述單向函數(shù)的散列函數(shù),并生成所述函數(shù)值。
7.權(quán)利要求5記載的共享密鑰生成裝置,其特征在于所述共享密鑰生成裝置將已生成的所述函數(shù)值的一部分作為所述驗(yàn)證值,另一部分作為所述共享密鑰,由此,生成所述驗(yàn)證值和所述共享密鑰。
8.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行單向函數(shù)后再生成函數(shù)值,根據(jù)已生成的所述函數(shù)值生成所述驗(yàn)證值、所述共享密鑰和盲值。
9.權(quán)利要求8記載的共享密鑰生成裝置,其特征在于所述第1加密裝置包括取得公開密鑰的公開密鑰取得部;和使用取得的所述公開密鑰和已生成的所述盲值,對(duì)所述驗(yàn)證值執(zhí)行公開密鑰加密算法后再生成所述第1加密信息的公開密鑰加密部。
10.權(quán)利要求9記載的共享密鑰生成裝置,其特征在于所述公開密鑰加密算法是NTRU密碼方式的算法,所述公開密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為所述公開密鑰,所述公開密鑰加密部根據(jù)所述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,根據(jù)所述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將所述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂所述驗(yàn)證值多項(xiàng)式,使用所述盲值多項(xiàng)式加密所述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的所述第1加密信息。
11.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述第1加密裝置包括取得公開密鑰的公開密鑰取得部;和使用取得的所述公開密鑰對(duì)所述驗(yàn)證值執(zhí)行公開密鑰加密算法后再生成所述第1加密信息的公開密鑰加密部。
12.權(quán)利要求11記載的共享密鑰生成裝置,其特征在于所述公開密鑰加密算法是NTRU密碼方式的算法,所述公開密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為所述公開密鑰,所述公開密鑰加密部根據(jù)所述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,生成盲值,并根據(jù)生成的所述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將所述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂所述驗(yàn)證值多項(xiàng)式,使用所述盲值多項(xiàng)式加密所述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的所述第1加密信息。
13.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述第2加密裝置對(duì)所述驗(yàn)證值執(zhí)行單向函數(shù)再生成函數(shù)值,使用生成的所述函數(shù)值,對(duì)所述種子值執(zhí)行加密算法,再生成所述第2加密信息。
14.權(quán)利要求13記載的共享密鑰生成裝置,其特征在于所述第2加密裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的“異”運(yùn)算,生成所述第2加密信息。
15.權(quán)利要求13記載的共享密鑰生成裝置,其特征在于所述第2加密裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的公共密鑰加密算法,生成所述第2加密信息。
16.權(quán)利要求13記載的共享密鑰生成裝置,其特征在于所述第2加密裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的加法運(yùn)算,生成所述第2加密信息。
17.權(quán)利要求13記載的共享密鑰生成裝置,其特征在于所述第2加密裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的乘法運(yùn)算,生成所述第2加密信息。
18.權(quán)利要求13記載的共享密鑰生成裝置,其特征在于所述第2加密裝置對(duì)所述驗(yàn)證值執(zhí)行作為所述單向函數(shù)的散列函數(shù)后再生成所述函數(shù)值。
19.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述第2加密裝置使用所述驗(yàn)證值對(duì)所述種子值執(zhí)行加密算法,再生成第2加密信息。
20.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述第2加密裝置使用所述驗(yàn)證值和所述第1加密信息,對(duì)所述種子值進(jìn)行加密。
21.權(quán)利要求20記載的共享密鑰生成裝置,其特征在于所述第2加密裝置對(duì)所述驗(yàn)證值和所述第1加密信息執(zhí)行單向函數(shù)后再生成所述函數(shù)值,使用已生成的所述函數(shù)值對(duì)所述種子值執(zhí)行加密算法,生成所述第2加密信息。
22.權(quán)利要求21記載的共享密鑰生成裝置,其特征在于所述第2加密裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的“異”運(yùn)算,生成所述第2加密信息。
23.權(quán)利要求3記載的共享密鑰生成裝置,其特征在于所述共享密鑰生成裝置進(jìn)而具有取得內(nèi)容的取得裝置;和使用已生成的所述共享密鑰對(duì)已取得的內(nèi)容進(jìn)行加密后再生成加密內(nèi)容的加密裝置,所述發(fā)送裝置進(jìn)而發(fā)送已生成的所述加密內(nèi)容。
24.一種不讓第三者知道而從共享密鑰生成裝置接收共享密鑰的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置生成種子值,根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰,對(duì)已生成的所述驗(yàn)證值進(jìn)行加密生成第1加密信息,根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密生成第2加密信息,并發(fā)送已生成的所述第1加密信息和所述第2加密信息,所述共享密鑰復(fù)原裝置具有接收所述第1加密信息和所述第2加密信息的接收裝置;將已接收的所述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密裝置;根據(jù)已生成的所述第1解密驗(yàn)證值,將已接收的所述第2加密信息解密后生成解密種子值的第2解密裝置;利用和所述共享密鑰生成裝置相同的方法,并根據(jù)已生成的所述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的共享密鑰生成裝置;根據(jù)已生成的所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值判斷是否輸出已生成的所述解密共享密鑰的判斷裝置;和當(dāng)判斷要輸出時(shí)輸出已生成的所述解密共享密鑰的輸出裝置。
25.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置取得公開密鑰,使用已取得的所述公開密鑰對(duì)所述驗(yàn)證值執(zhí)行公開密鑰加密算法,再生成所述第1加密信息,所述第1解密裝置包括取得與所述公開密鑰對(duì)應(yīng)的秘密密鑰的秘密密鑰取得部;使用取得的所述秘密密鑰對(duì)已接收的所述第1加密信息執(zhí)行與所述公開密鑰加密算法對(duì)應(yīng)的公開密鑰解密算法后再生成所述第1解密驗(yàn)證值的公開密鑰解密部。
26.權(quán)利要求25記載的共享密鑰復(fù)原裝置,其特征在于所述公開密鑰加密算法和所述公開密鑰解密算法使用了NTRU密碼方式,所述共享密鑰生成裝置取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為所述公開密鑰,根據(jù)所述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,生成盲值,并根據(jù)生成的所述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將所述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂所述驗(yàn)證值多項(xiàng)式,使用所述盲值多項(xiàng)式加密所述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的所述第1加密信息,所述接收裝置接收作為多項(xiàng)式的所述第1加密信息,所述秘密密鑰取得部取得利用NTRU密碼方式的密鑰生成算法生成的秘密密鑰多項(xiàng)式作為所述秘密密鑰,所述公開密鑰解密部利用NTRU密碼方式的與所述加密算法對(duì)應(yīng)的解密算法,將所述秘密密鑰多項(xiàng)式作為密鑰使用,對(duì)作為多項(xiàng)式的所述第1加密信息進(jìn)行解密,生成解密驗(yàn)證值多項(xiàng)式,根據(jù)已生成的所述解密驗(yàn)證值多項(xiàng)式生成所述第1解密驗(yàn)證值。
27.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述驗(yàn)證值執(zhí)行單向函數(shù)后再生成函數(shù)值,使用生成的所述函數(shù)值,對(duì)所述種子值執(zhí)行加密算法,再生成所述第2加密信息,所述第2解密裝置對(duì)已生成的所述第1解密驗(yàn)證值執(zhí)行所述單向函數(shù)后再生成解密函數(shù)值,使用已生成的所述解密函數(shù)值對(duì)已接收的所述第2加密信息執(zhí)行與所述加密算法對(duì)應(yīng)的解密算法,再生成所述解密種子值。
28.權(quán)利要求27記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的“異”運(yùn)算,生成所述第2加密信息,所述第2解密裝置通過(guò)對(duì)已生成的所述解密函數(shù)值和所述第2加密信息執(zhí)行作為所述解密算法的“異”運(yùn)算,生成所述解密種子值。
29.權(quán)利要求27記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的公共密鑰加密算法,生成所述第2加密信息,所述第2解密裝置通過(guò)對(duì)已生成的所述解密函數(shù)值和所述第2加密信息執(zhí)行作為所述解密算法的、與所述公共密鑰加密算法對(duì)應(yīng)的公共密鑰解密算法,生成所述解密種子值。
30.權(quán)利要求27記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的加法運(yùn)算,生成所述第2加密信息,所述第2解密裝置通過(guò)對(duì)已生成的所述解密函數(shù)值和所述第2加密信息執(zhí)行作為所述解密算法的減法運(yùn)算,生成所述解密種子值。
31.權(quán)利要求27記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的乘法運(yùn)算,生成所述第2加密信息,所述第2解密裝置通過(guò)對(duì)已生成的所述解密函數(shù)值和所述第2加密信息執(zhí)行作為所述解密算法的除法運(yùn)算,生成所述解密種子值。
32.權(quán)利要求27記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述驗(yàn)證值執(zhí)行作為所述單向函數(shù)的散列函數(shù),生成所述函數(shù)值,所述第2解密裝置對(duì)已生成的所述第1解密驗(yàn)證值執(zhí)行作為所述單向函數(shù)的所述散列函數(shù),生成所述解密函數(shù)值。
33.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置使用所述驗(yàn)證值,對(duì)所述種子值執(zhí)行加密算法,生成第2加密信息,所述第2解密裝置使用已生成的所述第1解密驗(yàn)證值,對(duì)所述第2加密信息執(zhí)行與所述加密算法對(duì)應(yīng)的解密算法,生成所述解密種子值。
34.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置使用所述驗(yàn)證值和所述第1加密信息對(duì)所述盲值進(jìn)行加密,所述第2解密裝置使用已生成的所述第1解密驗(yàn)證值和已接收的所述第1加密信息,對(duì)所述第2加密信息進(jìn)行解密,生成所述解密種子值。
35.權(quán)利要求34記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述驗(yàn)證值和所述第1加密信息執(zhí)行單向函數(shù),生成函數(shù)值,并使用已生成的所述函數(shù)值對(duì)所述種子值執(zhí)行加密算法,生成所述第2加密信息,所述第2解密裝置對(duì)所述第1解密驗(yàn)證值和所述第1加密信息執(zhí)行所述單向函數(shù),生成解密函數(shù)值,使用已生成的所述解密函數(shù)值,對(duì)所述第2加密信息執(zhí)行與所述加密算法對(duì)應(yīng)的解密算法,生成所述解密種子值。
36.權(quán)利要求35記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置通過(guò)對(duì)已生成的所述函數(shù)值和所述種子值執(zhí)行作為所述加密算法的“異”運(yùn)算,生成所述第2加密信息,所述第2解密裝置通過(guò)對(duì)所述解密函數(shù)值和所述第2加密信息執(zhí)行作為所述解密算法的“異”運(yùn)算,生成所述解密種子值。
37.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行單向函數(shù)來(lái)生成函數(shù)值,并根據(jù)已生成的所述函數(shù)值生成所述驗(yàn)證值和所述共享密鑰,所述共享密鑰生成裝置對(duì)已生成的所述解密種子值執(zhí)行所述單向函數(shù),生成解密函數(shù)值,并根據(jù)已生成的所述解密函數(shù)值生成所述第2解密驗(yàn)證值和所述解密共享密鑰。
38.權(quán)利要求37記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行作為所述單向函數(shù)的散列函數(shù),生成所述函數(shù)值,所述共享密鑰生成裝置對(duì)已生成的所述解密種子值執(zhí)行作為所述單向函數(shù)的所述散列函數(shù),生成所述解密函數(shù)值。
39.權(quán)利要求37記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置將已生成的所述函數(shù)值的一部分作為所述驗(yàn)證值,另一部分作為所述共享密鑰,由此,生成所述驗(yàn)證值和所述共享密鑰,所述共享密鑰生成裝置將已生成的所述解密函數(shù)值的一部分作為所述第2解密驗(yàn)證值,另一部分作為所述解密共享密鑰,由此,生成所述第2解密驗(yàn)證值和所述解密共享密鑰。
40.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置對(duì)所述種子值執(zhí)行單向函數(shù)后再生成函數(shù)值,根據(jù)已生成的所述函數(shù)值生成所述驗(yàn)證值、所述共享密鑰和盲值,取得公開密鑰,使用已取得的所述公開密鑰和已生成的所述盲值,對(duì)所述驗(yàn)證值執(zhí)行公開密鑰加密算法,生成所述第1加密信息,所述共享密鑰生成裝置對(duì)已生成的所述解密種子值執(zhí)行所述單向函數(shù),生成解密函數(shù)值,并根據(jù)已生成的所述解密函數(shù)值生成所述第2解密驗(yàn)證值、所述解密共享密鑰和解密盲值。
41.權(quán)利要求40記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置取得公開密鑰,并使用已取得的所述公開密鑰和已生成的所述盲值對(duì)所述驗(yàn)證值執(zhí)行公開密鑰加密算法,生成所述第1加密信息,所述判斷裝置取代基于所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值的所述判斷,而具有取得所述公開密鑰的公開密鑰取得部;使用已取得的所述公開密鑰和已生成的所述解密盲值對(duì)生成的所述第1解密驗(yàn)證值或所述第2解密驗(yàn)證值執(zhí)行所述公開密鑰加密算法并生成再加密信息的再加密部;根據(jù)已接收的所述第1加密信息和已生成的所述再加密信息判斷是否輸出已生成的所述解密共享密鑰的判斷部。
42.權(quán)利要求41記載的共享密鑰復(fù)原裝置,其特征在于所述判斷部將所述第1加密信息和所述再加密信息進(jìn)行比較,當(dāng)所述第1加密信息和所述再加密信息一致時(shí),判斷為輸出所述解密共享密鑰。
43.權(quán)利要求41記載的共享密鑰復(fù)原裝置,其特征在于所述公開密鑰加密算法采用NTRU密碼方式,所述共享密鑰生成裝置取得利用NTRU密碼方式的密鑰生成算法生成的公開密鑰多項(xiàng)式作為所述公開密鑰,根據(jù)所述驗(yàn)證值生成驗(yàn)證值多項(xiàng)式,根據(jù)所述盲值生成盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將所述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂所述驗(yàn)證值多項(xiàng)式,使用所述盲值多項(xiàng)式加密所述驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的所述第1加密信息,所述公開密鑰取得部取得所述公開密鑰多項(xiàng)式,所述再加密部根據(jù)所述第2解密驗(yàn)證值生成解密驗(yàn)證值多項(xiàng)式,根據(jù)所述解密盲值生成解密盲值多項(xiàng)式,利用NTRU密碼方式的加密算法,將所述公開密鑰多項(xiàng)式作為密鑰使用,為了攪亂所述解密驗(yàn)證值多項(xiàng)式,使用所述盲值多項(xiàng)式加密所述解密驗(yàn)證值多項(xiàng)式,再生成作為多項(xiàng)式的所述再加密信息。
44.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述判斷裝置將所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值比較,當(dāng)一致時(shí),判斷為輸出所述解密共享密鑰。
45.權(quán)利要求24記載的共享密鑰復(fù)原裝置,其特征在于所述共享密鑰生成裝置進(jìn)而取得內(nèi)容,使用已生成的所述共享密鑰,對(duì)已取得的內(nèi)容進(jìn)行加密后再生成加密內(nèi)容,并發(fā)送已生成的所述加密內(nèi)容,所述接收裝置進(jìn)而接收所述加密內(nèi)容,所述共享密鑰復(fù)原裝置進(jìn)而具有使用已輸出的所述解密共享密鑰對(duì)已接收的所述加密內(nèi)容進(jìn)行解密后再生成解密內(nèi)容的解密裝置;和輸出已生成的解密內(nèi)容的輸出裝置。
46.一種共享密鑰生成方法,是不讓第三者知道而向?qū)Ψ窖b置傳送共享密鑰的共享密鑰生成裝置中使用的共享密鑰生成方法,其特征在于具有生成種子值的種子值生成步驟;根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰的共享密鑰生成步驟;對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后再生成第1加密信息的第1加密步驟;根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后再生成第2加密信息的第2加密步驟;和發(fā)送已生成的所述第1加密信息和第2加密信息的發(fā)送步驟。
47.一種共享密鑰生成程序,是不讓第三者知道而向?qū)Ψ窖b置傳送共享密鑰的共享密鑰生成裝置中使用的共享密鑰生成程序,其特征在于具有生成種子值的種子值生成步驟;根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰的共享密鑰生成步驟;對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后再生成第1加密信息的第1加密步驟;根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后再生成第2加密信息的第2加密步驟;和發(fā)送已生成的所述第1加密信息和所述第2加密信息的發(fā)送步驟。
48.權(quán)利要求47記載的共享密鑰生成程序,其特征在于所述共享密鑰生成程序記錄在計(jì)算機(jī)可讀取的記錄媒體上。
49.一種共享密鑰復(fù)原方法,是不讓第三者知道而從共享密鑰生成裝置接收共享密鑰的共享密鑰復(fù)原裝置中使用的共享密鑰復(fù)原方法,其特征在于所述共享密鑰生成裝置生成種子值,根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰,對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后生成第1加密信息,根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后生成第2加密信息,并發(fā)送已生成的所述第1加密信息和所述第2加密信息,所述共享密鑰復(fù)原方法具有接收所述第1加密信息和所述第2加密信息的接收步驟;將已接收的所述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密步驟;根據(jù)已生成的所述第1解密驗(yàn)證值,將已接收的所述第2加密信息解密后生成解密種子值的第2解密步驟;利用和所述共享密鑰生成裝置相同的方法,并根據(jù)已生成的所述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的共享密鑰生成步驟;根據(jù)已生成的所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值判斷是否輸出已生成的所述解密共享密鑰的判斷步驟;和當(dāng)判斷要輸出時(shí),輸出已生成的所述解密共享密鑰的輸出步驟。
50.一種共享密鑰復(fù)原程序,是不讓第三者知道而從共享密鑰生成裝置接收共享密鑰的共享密鑰復(fù)原裝置中使用的共享密鑰復(fù)原程序,其特征在于所述共享密鑰生成裝置生成種子值,根據(jù)已生成的所述種子值生成驗(yàn)證值和共享密鑰,對(duì)已生成的所述驗(yàn)證值進(jìn)行加密后生成第1加密信息,根據(jù)已生成的所述驗(yàn)證值對(duì)已生成的所述種子值進(jìn)行加密后生成第2加密信息,并發(fā)送已生成的所述第1加密信息和所述第2加密信息,所述共享密鑰復(fù)原程序具有接收所述第1加密信息和所述第2加密信息的接收步驟;將已接收的所述第1加密信息解密后生成第1解密驗(yàn)證值的第1解密步驟;根據(jù)已生成的所述第1解密驗(yàn)證值將已接收的所述第2加密信息解密后生成解密種子值的第2解密步驟;利用和所述共享密鑰生成裝置相同的方法,并根據(jù)已生成的所述解密種子值生成第2解密驗(yàn)證值和解密共享密鑰的共享密鑰生成步驟;根據(jù)已生成的所述第1解密驗(yàn)證值和所述第2解密驗(yàn)證值判斷是否輸出已生成的所述解密共享密鑰的判斷步驟;和當(dāng)判斷要輸出時(shí),輸出已生成的所述解密共享密鑰的輸出步驟。
51.權(quán)利要求50記載的共享密鑰復(fù)原程序,其特征在于所述共享密鑰復(fù)原程序記錄在計(jì)算機(jī)可讀取的記錄媒體上。
全文摘要
提供一種能防止在加密裝置和解密裝置之間導(dǎo)出不同的密鑰的內(nèi)容分配系統(tǒng)。加密裝置(110d)的隨機(jī)數(shù)生成部(112d)生成隨機(jī)數(shù),第1函數(shù)部(113d)生成隨機(jī)數(shù)的函數(shù)值G(s),根據(jù)函數(shù)值G(s)生成驗(yàn)證值a和共享密鑰K,加密部(114d)使用公開密鑰多項(xiàng)式h生成驗(yàn)證值a的第1加密文c1,第2函數(shù)部(115d)生成驗(yàn)證值a和第1加密文c1的函數(shù)值H(a、c1),隨機(jī)數(shù)屏蔽部(116d)生成c2=s xor H(a、c1)。解密裝置(120d)使用秘密密鑰多項(xiàng)式f對(duì)第1加密文進(jìn)行解密后生成解密驗(yàn)證值,第3函數(shù)部(124d)生成驗(yàn)證值a’和第1加密文c1的函數(shù)值H(a’、c1),隨機(jī)數(shù)除去部(125d)生成解密隨機(jī)數(shù)s’=c2 xor H(a’、c1),第4函數(shù)部(126d)生成解密隨機(jī)數(shù)s’的散列函數(shù)值G(s’),根據(jù)函數(shù)值G(s’)生成驗(yàn)證值a”和共享密鑰K’,比較部(127d)在解密驗(yàn)證值a’和驗(yàn)證值a”相等時(shí),輸出共享密鑰K’。
文檔編號(hào)G09C1/00GK1745537SQ20038010948
公開日2006年3月8日 申請(qǐng)日期2003年11月28日 優(yōu)先權(quán)日2002年12月3日
發(fā)明者山道將人, 布田裕一, 大森基司, 館林誠(chéng) 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
怀远县| 广昌县| 平阴县| 樟树市| 洛浦县| 奇台县| 峨边| 台中县| 尼勒克县| 呼和浩特市| 马山县| 绥宁县| 青田县| 卢氏县| 柳江县| 五峰| 郑州市| 沙河市| 彭泽县| 犍为县| 互助| 泊头市| 磐安县| 府谷县| 湾仔区| 大荔县| 新晃| 安宁市| 和硕县| 开远市| 乌苏市| 同仁县| 河间市| 科技| 且末县| 舞阳县| 镇康县| 甘孜县| 启东市| 隆子县| 清丰县|