亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

密文生成裝置、密碼通信系統(tǒng)以及群參數(shù)生成裝置的制作方法

文檔序號(hào):2411131閱讀:636來源:國(guó)知局
專利名稱:密文生成裝置、密碼通信系統(tǒng)以及群參數(shù)生成裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及使用了基于ID的密碼通信方式的密碼通信系統(tǒng)。

背景技術(shù)
在公開密鑰密碼方式中,發(fā)送利用發(fā)送對(duì)方的公開密鑰進(jìn)行了加密的數(shù)據(jù),發(fā)送對(duì)方利用與公開密鑰成對(duì)(pair)的秘密密鑰進(jìn)行解密,從而實(shí)現(xiàn)只有發(fā)送對(duì)方可以解密的密碼通信。
以往,為了保證公開密鑰是發(fā)送對(duì)方的公開密鑰,對(duì)公開密鑰認(rèn)證機(jī)構(gòu)發(fā)行的公開密鑰證書進(jìn)行驗(yàn)證。
另外,提出了如下基于ID的密碼通信方式即使沒有像公開密鑰認(rèn)證機(jī)構(gòu)那樣的基礎(chǔ)設(shè)施,為了保證公開密鑰與其所有者的對(duì)應(yīng),將發(fā)送對(duì)方的姓名、名稱、機(jī)器序號(hào)這樣的識(shí)別名(ID)用作公開密鑰。
為了保證公開密鑰密碼方式的安全性,將公開密鑰密碼方式的安全性歸結(jié)于求解數(shù)學(xué)上的問題的困難性來進(jìn)行證明。
即,當(dāng)存在假設(shè)有可以隨機(jī)地解讀其密碼的攻擊者、并通過利用該攻擊者而可以求解其數(shù)學(xué)上的問題的算法的情況下,其密碼方式歸結(jié)于其數(shù)學(xué)上的問題。
在該證明中重要的是所歸結(jié)的數(shù)學(xué)上的問題的優(yōu)劣、歸結(jié)效率的優(yōu)劣、模型的優(yōu)劣。
歸結(jié)的數(shù)學(xué)上的問題的優(yōu)劣是指,求解其問題的困難度??梢詺w結(jié)為難以求解的問題的公開密鑰密碼方式可以說其安全性相應(yīng)地高。
歸結(jié)效率的優(yōu)劣是指,攻擊者為了解讀密碼而利用的資源(時(shí)間、存儲(chǔ)器等)、與為了利用攻擊者求解數(shù)學(xué)上的問題而利用的資源之間的關(guān)系。如果在密碼解讀中所需的資源、與為了求解數(shù)學(xué)上的問題而所需的資源之間沒有多少差,則說明歸結(jié)效率優(yōu)良。在該情況下,如果能夠解讀密碼,則可以求解數(shù)學(xué)上的問題,所以如果取對(duì)偶,則只要難以求解數(shù)學(xué)上的問題,就相同程度地也難以解讀密碼。相對(duì)于此,在歸結(jié)效率差的情況下,即,在與密碼解讀所需的資源比較時(shí)用于求解數(shù)學(xué)上的問題所需的資源非常大的情況下,即使難以求解數(shù)學(xué)上的問題,但未必相同程度地難以解讀密碼。
模型的優(yōu)劣是指,成為證明前提的模型是否切合現(xiàn)實(shí)。例如,不使用隨機(jī)預(yù)言(random oracle)的模型是比假設(shè)隨機(jī)預(yù)言的模型更優(yōu)良的模型。
非專利文獻(xiàn)1國(guó)際公開2005-050908號(hào) 非專利文獻(xiàn)1境隆一、大岸聖史、笠原正雄「楕円曲線上のペアリングを用いた暗號(hào)方式」暗號(hào)と情報(bào)セキユリテイシンポジウム(SCIS 2001)、2001年 非專利文獻(xiàn)2Dan Boneh、Matt Franklin“Identity-Based Encryption from the Weil Pairing”Crypto 2001、LNCS 2139、213~229頁(yè)、2001年 非專利文獻(xiàn)3Xavier Boyen“The BB1 Identity-Based CryptosystemA Standard for Encryption and Key Encapsulation”Submissions for IEEE P1363.3、2006年(http://grouper.ieee.org/groups/1363/IBC/submissions/index.html) 非專利文獻(xiàn)4Craig Gentry“PracticalIdentity-Based Encryption Without Random Oracles”Eurocrypt 2006、LNCS 4004、445~464頁(yè)、2006年 非專利文獻(xiàn)5Jung Hee Cheon“Security Analysis of the Strong Diffie-Hellman Problem”Eurocrypt 2006、1~13頁(yè)、2006年 非專利文獻(xiàn)6Mihir Bellare、Alexandra Boldyreva、Silvio Micali“Public-key Encryption in a Multi-User SettingSecutrity Proofs andImprovements”Eurocrypt 2000、LNCS 1807、2000年(http://www-cse.ucsd.edu/users/mihir/crypto-research-papers.html) 非專利文獻(xiàn)7Mihir Bellare、Alexandra Boldyreva、Jesica Staddon“Multi-Recipient Encryption SchemesSecurity Notions and Randomness Re-Use”PKC 2003、LNCS 2567、2003年(http://www-cse.uscd.edu/users.mihir/crypto-research-papers.html) 非專利文獻(xiàn)8Ronald Cramer、Victor Shoup“Design and Analysis of Practical Public-Key Encryption Schemes Secure against Adaptive Chosen Ciphertext Attack”SIAM J.Comput、vol.33、2003年 非專利文獻(xiàn)9Dan Boneh、Xavier Boyen“Efficient Selective-ID SecureIdentity Based Encryption Without Random Oracles”Eurocrypt 2004、LNCS 3027、223~238頁(yè)、2004年(http://crypto.sta.nford.edu/~dabo/) 非專利文獻(xiàn)10Brent Waters“EfficientIdentity-Based Encryption Without Random Oracles”Eurocrypt 2005(http://www.csl.sricom/users/bwaters/publications/publications.html) 非專利文獻(xiàn)11David Naccache“Secureand Practical Identity-Based Encryption”(http://eprint.iacr.org/2005/369) 非專利文獻(xiàn)12Sanjit Chatterjee、Palash Sarkar“Trading Time for SpaceTowards an Efficient IBE Scheme with Short(er)Public Parameters in the Standard Model”ICISC 2005、LNCS 3935、424~440頁(yè)、2006年 非專利文獻(xiàn)13N.P.Smart“Efficient Key Encapsulation to Multiple Parties”SCN 2004、LNCS 3352、208~219頁(yè)、2005年 非專利文獻(xiàn)14M.Barbosa、P.Farshim“Efficient Identity-Based Key Encapsulationto Multiple Parties”Cryptography and Coding、10th IMAInt.Cof.2005、LNCS 3796、SpringerVerlog、428~441頁(yè)、2005年 非專利文獻(xiàn)15Joonsang Baek、ReihanehSafavi-Naini、Willy Susilo“Efficient Multi-receiver Identity-Based Encryption and Its Application to Broadcast Encryption”PKC2005、LNCS 3386、380~397頁(yè)、2005年 非專利文獻(xiàn)16Sanjit Chatterjee、Palash Sarkar“Generalization of theSelective-ID Security Model forHIBE Protocols”PKC 2006、2006年 非專利文獻(xiàn)17Sanjit Chatterjee、Palash Sarkar“Multi-receiver Identity-Based Key Encapsulation withShortened Ciphertext”Indocryp t2006、LNCS 4329、394~408頁(yè)、2006年 非專利文獻(xiàn)18Xavier Boyen、Qixiang Mei、Brent Waters“Direct Chosen Ciphertext Security from Identity-Based Techniques”ACM-CCS 2005、320~329頁(yè)、2005年 發(fā)明要解決的課題 作為密碼的利用方法,有將對(duì)同一明文(plaintext)進(jìn)行加密而得到的密文(ciphertext)發(fā)送給多個(gè)不同的接收者這樣的使用方法。
在公開密鑰密碼方式中,由于密碼處理花費(fèi)時(shí)間,所以通常將對(duì)話密鑰進(jìn)行加密而發(fā)送給接收者,通過密碼處理快的共用密鑰密碼方式,使用所發(fā)送的對(duì)話密鑰,對(duì)想要發(fā)送的數(shù)據(jù)進(jìn)行加密。
在公開密鑰密碼方式中,使用各個(gè)接收者的公開密鑰對(duì)明文(對(duì)話密鑰)進(jìn)行加密而生成多個(gè)密文,并將生成的多個(gè)密文集中為一個(gè),通過郵件通信、數(shù)據(jù)廣播等進(jìn)行發(fā)送。
在以往的公開密鑰密碼方式中,討論了有關(guān)使用了這種對(duì)多個(gè)接收者進(jìn)行發(fā)送的使用方法時(shí)的安全性,但在基于ID的密碼方式中,關(guān)于這種多個(gè)接收者時(shí)的安全性的討論還不充分。
另外,在接收者較多的情況下,即使是將對(duì)話密鑰進(jìn)行加密的處理也需要較多的時(shí)間,所以需要使處理高效化。


發(fā)明內(nèi)容
本發(fā)明是例如為了解決如上所述的課題而完成的,其目的在于提供一種基于ID的密碼方式,在將同一明文進(jìn)行加密并發(fā)送給多個(gè)接收者的多個(gè)接收者環(huán)境中,密碼處理所需的資源少也可以,可以高速處理。
用于解決課題的方案 本發(fā)明的密文生成裝置,生成將明文M通知給n個(gè)接收者(n是1以上的整數(shù))的密文C,其特征在于,具有 存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;密碼參數(shù)存儲(chǔ)部;接收者識(shí)別輸入部;明文輸入部;密文主文生成部;哈希值計(jì)算部;密文驗(yàn)證文生成部;以及密文結(jié)合部, 上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)公開密碼參數(shù), 上述接收者識(shí)別輸入部使用上述處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù)), 上述明文輸入部使用上述處理裝置,輸入明文M, 上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi、以及上述明文輸入部輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù)), 上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi,生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、以及上述哈希值計(jì)算部計(jì)算出的哈希值H,生成密文驗(yàn)證文CC, 上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi、和上述密文驗(yàn)證文生成部生成的密文驗(yàn)證文CC,而設(shè)為一個(gè)密文C。
本發(fā)明的密文生成裝置的特征在于,還具有隨機(jī)數(shù)生成部, 上述隨機(jī)數(shù)生成部使用上述處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)), 上述密文主文生成部具有第一密文生成部、第二密文生成部、以及第三密文生成部, 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述明文輸入部輸入的明文M、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)), 將上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、以及上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi, 上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、以及上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為一個(gè)結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)哈希值H,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)), 上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、上述第三密文生成部生成的n個(gè)第三密文C3i、以及上述密文驗(yàn)證文生成部生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C。
本發(fā)明的密文生成裝置還將以下點(diǎn)作為特征。
上述密碼參數(shù)存儲(chǔ)部的特征是,使用上述存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)(order)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2、以及乘法群G2的要素h3的信息, 上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)整數(shù)IDi而作為n個(gè)接收者識(shí)別信息, 上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)), 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識(shí)別輸入部輸入的n個(gè)整數(shù)IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群GT的要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)), 上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0而設(shè)為哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),將分別表示計(jì)算出的乘法群GT的n個(gè)要素yi的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
本發(fā)明的密文生成裝置還將以下點(diǎn)作為特征。
上述密碼參數(shù)存儲(chǔ)部的特征是,使用上述存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1和V2、根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2的信息, 上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi而作為n個(gè)接收者識(shí)別信息, 上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)), 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)), 上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0而設(shè)為哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
本發(fā)明的密文生成裝置還將以下點(diǎn)作為特征。
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為表示兩個(gè)函數(shù)V1和V2的信息而存儲(chǔ)表示乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))以及乘法群G2的兩個(gè)要素h1’和h2’的信息, 上述第二密文生成部使用上述處理裝置,將上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi分別分割為m1個(gè)規(guī)定長(zhǎng)度的位串viξ(ξ是1以上m1以下的整數(shù)),并將分割的m1個(gè)規(guī)定長(zhǎng)度的位串viξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h1’、以及分割的m1個(gè)整數(shù)viξ,計(jì)算出函數(shù)V1的值即乘法群G2的要素V1(IDi)=h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù)), 上述密文驗(yàn)證文生成部使用上述處理裝置,將上述哈希值計(jì)算部計(jì)算出的規(guī)定長(zhǎng)度的位串w分割為m1個(gè)規(guī)定長(zhǎng)度的位串vξ(ξ是1以上m1以下的整數(shù)),并將分割的m1個(gè)規(guī)定長(zhǎng)度的位串vξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h2’、以及分割的m1個(gè)整數(shù)vξ,計(jì)算出函數(shù)V2的值即乘法群G2的要素V 2(w)=h 2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù))。
本發(fā)明的密文生成裝置還將以下點(diǎn)作為特征。
上述密文主文生成部的特征是,使用上述處理裝置,生成包括上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
本發(fā)明的密文生成裝置的特征在于,還具有密文通知部, 上述密文通知部使用上述處理裝置,對(duì)利用上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C。
本發(fā)明的密文生成裝置的特征在于,還具有對(duì)話密鑰生成部, 上述對(duì)話密鑰生成部使用上述處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串而設(shè)為對(duì)話密鑰K, 上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對(duì)話密鑰生成部生成的對(duì)話密鑰K。
本發(fā)明的密文生成裝置的特征在于,還具有數(shù)據(jù)輸入部、數(shù)據(jù)加密部、以及密文通知部, 上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù), 上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對(duì)話密鑰生成部生成的對(duì)話密鑰K,對(duì)上述數(shù)據(jù)輸入部輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密,設(shè)為一個(gè)加密數(shù)據(jù), 上述密文通知部使用上述處理裝置,對(duì)利用由上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C、以及上述數(shù)據(jù)加密部加密的一個(gè)加密數(shù)據(jù)。
本發(fā)明的密碼通信系統(tǒng),對(duì)各自具有對(duì)應(yīng)的密文接收裝置的n個(gè)接收者(n是1以上的整數(shù)),利用一個(gè)密文C通知明文M,其特征在于, 具有密碼參數(shù)生成裝置、密文生成裝置、以及多個(gè)密文接收裝置, 上述密碼參數(shù)生成裝置具有 存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;秘密信息生成部;秘密信息存儲(chǔ)部;公開參數(shù)生成部;公開參數(shù)公開部;識(shí)別信息輸入部;秘密密鑰生成部;以及秘密密鑰通知部, 上述秘密信息生成部使用上述處理裝置,隨機(jī)地生成秘密信息, 上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述秘密信息生成部生成的秘密信息, 上述公開參數(shù)生成部使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息,生成公開密碼參數(shù), 上述公開參數(shù)公開部使用上述處理裝置,公開上述公開參數(shù)生成部生成的公開密碼參數(shù), 上述識(shí)別信息輸入部使用上述處理裝置,輸入對(duì)與上述多個(gè)密文接收裝置中的一個(gè)密文接收裝置對(duì)應(yīng)的一個(gè)接收者進(jìn)行識(shí)別的接收者識(shí)別信息ID, 上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述秘密信息存儲(chǔ)部存儲(chǔ)的秘密信息、上述公開參數(shù)生成部生成的公開密碼參數(shù)、以及上述識(shí)別信息輸入部輸入的接收者識(shí)別信息ID,生成與上述一個(gè)接收者對(duì)應(yīng)的秘密密鑰dID, 上述秘密密鑰通知部使用上述處理裝置,對(duì)與上述一個(gè)接收者對(duì)應(yīng)的一個(gè)密文接收裝置,秘密地通知上述秘密密鑰生成部生成的秘密密鑰dID, 上述密文生成裝置具有 存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;密碼參數(shù)存儲(chǔ)部;接收者識(shí)別輸入部;明文輸入部;密文主文生成部;哈希值計(jì)算部;密文驗(yàn)證文生成部;密文結(jié)合部;以及密文通知部, 上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置公開的公開密碼參數(shù), 上述接收者識(shí)別輸入部使用上述處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù)), 上述明文輸入部使用上述處理裝置,輸入明文M, 上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi、以及上述明文輸入部輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù)), 上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi,生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、以及上述哈希值計(jì)算部計(jì)算出的哈希值H,生成密文驗(yàn)證文CC, 上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi、和上述密文驗(yàn)證文生成部生成的密文驗(yàn)證文CC,設(shè)為一個(gè)密文C, 上述密文通知部使用上述處理裝置,對(duì)與上述n個(gè)接收者對(duì)應(yīng)的n個(gè)密文接收裝置,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C, 上述多個(gè)密文接收裝置分別具有 存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;公開參數(shù)存儲(chǔ)部;秘密密鑰存儲(chǔ)部;密文接收部;密文分解部;驗(yàn)證哈希值計(jì)算部;密文驗(yàn)證部;以及密文解密部, 上述公開參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置公開的公開密碼參數(shù), 上述秘密密鑰存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置通知的秘密密鑰dID, 上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個(gè)密文C, 上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個(gè)密文C,取得n個(gè)密文主文CBi、以及密文驗(yàn)證文CC, 上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個(gè)密文主文CBi結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’, 上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述密文分解部取得的n個(gè)密文主文CBi中的對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)密文主文CBID、密文驗(yàn)證文CC、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的驗(yàn)證哈希值H’,判定上述密文接收部接收到的一個(gè)密文C中是否有匹配性, 上述密文解密部在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID、以及上述密文分解部取得的n個(gè)密文主文CBi中的對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)密文主文CBID,還原明文M。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述密文生成裝置的特征是,還具有隨機(jī)數(shù)生成部, 上述隨機(jī)數(shù)生成部使用上述處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)), 上述密文主文生成部具有第一密文生成部、第二密文生成部、以及第三密文生成部, 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述明文輸入部輸入的明文M、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)), 將上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、以及上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi, 上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、和上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為一個(gè)結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)哈希值H,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)), 上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、上述第三密文生成部生成的n個(gè)第三密文C3i、和上述密文驗(yàn)證文生成部生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C, 上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個(gè)密文C,取得n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi,并使用上述處理裝置,在取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi中,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID、一個(gè)對(duì)應(yīng)第三密文C3ID、以及一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID, 上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’, 上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID與一個(gè)對(duì)應(yīng)第三密文C3ID中的至少某一個(gè)和一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的驗(yàn)證哈希值H’,判定上述密文接收部接收到的一個(gè)密文C中是否有匹配性, 上述密文解密部在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID、以及上述密文分解部取得的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID,還原明文M。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述密碼參數(shù)生成裝置的特征是,還具有群參數(shù)存儲(chǔ)部, 上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息, 上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α, 上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)表示上述秘密信息生成部所生成的整數(shù)α的信息而作為秘密信息, 上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF,使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2、以及乘法群G2的要素h3,并使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息所表示的整數(shù)α、以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,并將表示上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)、決定的密鑰生成函數(shù)KDF和哈希函數(shù)HF、選擇的乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù), 上述識(shí)別信息輸入部使用上述處理裝置,輸入整數(shù)ID而作為接收者識(shí)別信息, 上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,1、1以上且小于自然數(shù)r的整數(shù)rID,2、以及1以上且小于自然數(shù)r的整數(shù)rID,3,并使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、上述秘密信息存儲(chǔ)部存儲(chǔ)的整數(shù)α、上述識(shí)別信息輸入部輸入的整數(shù)ID、以及生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3,計(jì)算出乘法群G2的要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))、乘法群G2的要素hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、以及乘法群G2的要素hID,3=(h3·g2^(-rID,3))^(1/(α-ID)),將表示所生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3、以及計(jì)算出的乘法群G2的要素hID,1、乘法群G2的要素hID,2和乘法群G2的要素hID,3的信息設(shè)為秘密密鑰dID, 上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)整數(shù)IDi而作為n個(gè)接收者識(shí)別信息, 上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)), 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識(shí)別輸入部輸入的n個(gè)整數(shù)IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^(-IDi))^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群GT的要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i, 上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0而設(shè)為哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群GT的要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)), 上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出自然數(shù)β’而設(shè)為驗(yàn)證哈希值H’, 上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,2、整數(shù)rID,3、乘法群G2的要素hID,2和乘法群G2的要素hID,3、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID和一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的自然數(shù)β’,計(jì)算出乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’),并使用上述處理裝置,對(duì)計(jì)算出的乘法群GT的要素y’、和上述密文分解部取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群GT的要素yID進(jìn)行比較,在乘法群GT的要素y’與乘法群GT的要素yID一致的情況下,判定為上述密文接收部接收到的一個(gè)密文C中有匹配性, 上述密文解密部在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID、以及對(duì)應(yīng)第三密文C3ID所表示的乘法群G2的要素vID,計(jì)算出密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1),并使用上述處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)上述密文分解部取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,還原明文M。
本申請(qǐng)的密碼通信系統(tǒng)的特征在于,還具有群參數(shù)生成裝置, 上述群參數(shù)生成裝置具有 處理信息的處理裝置、群階數(shù)候補(bǔ)生成部、群階數(shù)安全性判定部、以及參數(shù)生成部, 上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成素?cái)?shù)r作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)、以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是否為安全的群階數(shù), 上述參數(shù)生成部在群階數(shù)安全性判定部判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是安全的群階數(shù)的情況下,使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包括表示所計(jì)算出的乘法群的信息的群參數(shù), 上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述群參數(shù)生成裝置生成的群參數(shù)。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述群階數(shù)候補(bǔ)生成部的特征是,使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部、以及素因數(shù)判定部, 上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù), 上述判定值計(jì)算部在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4, 上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述群階數(shù)候補(bǔ)生成部的特征是,使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部、以及素因數(shù)判定部, 上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù), 上述判定值計(jì)算部在判定為上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4, 上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
本發(fā)明的密碼通信系統(tǒng)的特征在于,還將以下點(diǎn)作為特征。
上述密碼參數(shù)生成裝置的特征是,還具有群參數(shù)存儲(chǔ)部, 上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息, 上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α, 上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1和V2、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF,并使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g和乘法群G2的要素g2,根據(jù)上述秘密信息生成部生成的整數(shù)α、以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,使用上述處理裝置,將表示上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)、所決定的密鑰生成函數(shù)KDF、兩個(gè)函數(shù)V1及V2和哈希函數(shù)HF、所選擇的乘法群G1的要素g和乘法群G2的要素g2、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù), 上述秘密信息生成部還使用上述處理裝置,根據(jù)生成的整數(shù)α、以及上述公開參數(shù)生成部選擇的乘法群G2的要素g2,計(jì)算出乘法群G2的要素msk=g2^α, 上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,將表示上述秘密信息生成部計(jì)算出的乘法群G2的要素msk的信息,作為秘密信息而進(jìn)行存儲(chǔ), 上述識(shí)別信息輸入部使用上述處理裝置,輸入規(guī)定長(zhǎng)度的位串ID而作為接收者識(shí)別信息, 上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,并使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的乘法群G1的要素g和函數(shù)V1、上述秘密信息存儲(chǔ)部存儲(chǔ)的秘密信息所表示的乘法群G2的要素msk、以及生成的整數(shù)rID,計(jì)算出乘法群G2的要素d0ID=msk·V1(ID)^rID、以及乘法群G1的要素d1ID=g^rID,將表示所計(jì)算出的乘法群G2的要素d0ID與乘法群G1的要素d1ID的信息,設(shè)為秘密密鑰dID, 上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi而作為n個(gè)接收者識(shí)別信息, 上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)), 上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)), 上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)),計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)), 上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)), 上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0,而設(shè)為哈希值H, 上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi, 上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出規(guī)定長(zhǎng)度的位串w’,而設(shè)為驗(yàn)證哈希值H’, 上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和函數(shù)V2、上述密文分解部取得的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的規(guī)定長(zhǎng)度的位串w’,計(jì)算出乘法群GT的要素e(vID,V2(w’)),并使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g和配對(duì)e、以及上述密文分解部取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群G2的要素yID,計(jì)算出乘法群GT的要素e(g,yID),并使用上述處理裝置,對(duì)計(jì)算出的乘法群GT的要素e(vID,V2(w’))、與計(jì)算出的乘法群GT的要素e(g,yID)進(jìn)行比較,在乘法群GT的要素e(vID,V2(w’))與乘法群GT的要素e(g,yID)一致的情況下,判定為上述密文接收部接收到的一個(gè)密文C中有匹配性, 上述密文解密部在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的要素uID和對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計(jì)算出密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID)),并使用上述處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)上述密文分解部取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,從而還原明文M。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述密文主文生成部的特征是,使用上述處理裝置,生成包括上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
本發(fā)明的密碼通信系統(tǒng)還將以下點(diǎn)作為特征。
上述密文生成裝置的特征是,還具有對(duì)話密鑰生成部、數(shù)據(jù)輸入部、數(shù)據(jù)加密部、以及密文通知部, 上述對(duì)話密鑰生成部使用上述處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串而設(shè)為對(duì)話密鑰K, 上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對(duì)話密鑰生成部生成的對(duì)話密鑰K, 上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù), 上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對(duì)話密鑰生成部生成的對(duì)話密鑰K,對(duì)上述數(shù)據(jù)輸入部輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密而設(shè)為一個(gè)加密數(shù)據(jù), 上述密文通知部使用上述處理裝置,對(duì)利用由上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C、以及上述數(shù)據(jù)加密部加密的一個(gè)加密數(shù)據(jù), 上述多個(gè)密文接收裝置還分別具有數(shù)據(jù)解密部, 上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個(gè)密文C與一個(gè)加密數(shù)據(jù), 上述數(shù)據(jù)解密部將上述密文解密部還原的明文M設(shè)為對(duì)話密鑰K’,使用上述處理裝置,利用上述對(duì)話密鑰K’,對(duì)上述密文接收部接收到的一個(gè)加密數(shù)據(jù)進(jìn)行解密。
本發(fā)明的群參數(shù)生成裝置,生成對(duì)各自具有所對(duì)應(yīng)的密文接收裝置的n個(gè)接收者(n是1以上的整數(shù))利用一個(gè)密文C通知明文M的密碼通信系統(tǒng)中的密碼處理中所使用的乘法群的參數(shù),其特征在于, 具有處理信息的處理裝置、群階數(shù)候補(bǔ)生成部、群階數(shù)安全性判定部、以及參數(shù)生成部, 上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成素?cái)?shù)r作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)、以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是否是安全的群階數(shù), 上述參數(shù)生成部在群階數(shù)安全性判定部判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是安全的群階數(shù)的情況下,使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包括表示所計(jì)算出的乘法群的信息的群參數(shù), 上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述群參數(shù)生成裝置生成的群參數(shù)。
本發(fā)明的群參數(shù)生成裝置還將以下點(diǎn)作為特征。
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部、以及素因數(shù)判定部, 上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù), 上述判定值計(jì)算部在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4, 上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
本發(fā)明的群參數(shù)生成裝置還將以下點(diǎn)作為特征。
上述群階數(shù)候補(bǔ)生成部的特征是,使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ), 上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部、以及素因數(shù)判定部, 上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù), 上述判定值計(jì)算部在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4, 上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否是素?cái)?shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否是素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
發(fā)明的效果 根據(jù)本實(shí)施方式中的密文生成裝置,在基于ID的密碼通信方式中,將生成把同一明文M通知給多個(gè)接收者的一個(gè)密文C的處理的一部分即計(jì)算哈希值的處理、以及基于計(jì)算出的哈希值的處理分別執(zhí)行一次即可,所以起到如下效果處理高效化,可以進(jìn)行高速的密碼處理。



圖1是示出實(shí)施方式1中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個(gè)例子的系統(tǒng)結(jié)構(gòu)圖。
圖2是示出實(shí)施方式1中的密碼參數(shù)生成裝置100以及密文生成裝置200以及密文接收裝置301~303的外觀的一個(gè)例子的圖。
圖3是示出實(shí)施方式1中的密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的硬件資源的一個(gè)例子的圖。
圖4是示出實(shí)施方式1中的密碼參數(shù)生成裝置100的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
圖5是示出實(shí)施方式1中的密文生成裝置200的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
圖6是示出實(shí)施方式1中的密文接收裝置301的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
圖7是示出實(shí)施方式1中的密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
圖8是示出實(shí)施方式1中的密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
圖9是示出實(shí)施方式1中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
圖10是示出實(shí)施方式1中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
圖11是示出實(shí)施方式2中的對(duì)比例子即在密文生成裝置200中交換的信息的流程的一個(gè)例子的圖。
圖12是示出實(shí)施方式2中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
圖13是示出實(shí)施方式2中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
圖14是示出實(shí)施方式2中的對(duì)比例子即密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
圖15是示出實(shí)施方式2中的對(duì)比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
圖16是示出實(shí)施方式2中的在密文生成裝置200中交換的信息的流程的一個(gè)例子的圖。
圖17是示出實(shí)施方式2中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
圖18是示出實(shí)施方式2中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
圖19是示出實(shí)施方式3中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
圖20是示出實(shí)施方式3中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
圖21是示出實(shí)施方式3中的對(duì)比例子即密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
圖22是示出實(shí)施方式3中的對(duì)比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
圖23是示出實(shí)施方式3中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
圖24是示出實(shí)施方式3中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
圖25是示出實(shí)施方式4中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個(gè)例子的系統(tǒng)結(jié)構(gòu)圖。
圖26是示出實(shí)施方式4中的群參數(shù)生成裝置400的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
圖27是示出實(shí)施方式4中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個(gè)例子的流程圖。
圖28是示出實(shí)施方式5中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個(gè)例子的流程圖。
圖29是示出實(shí)施方式5中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個(gè)例子的流程圖。
附圖標(biāo)記說明 100密碼參數(shù)生成裝置;110參數(shù)設(shè)定部;111群參數(shù)存儲(chǔ)部;112秘密信息生成部;113公開參數(shù)生成部;114公開參數(shù)公開部;121秘密信息存儲(chǔ)部;122參數(shù)存儲(chǔ)部;130秘密密鑰設(shè)定部;131識(shí)別信息輸入部;132秘密密鑰生成部;133秘密密鑰通知部;200密文生成裝置;210密碼參數(shù)存儲(chǔ)部;221對(duì)話密鑰生成部;222隨機(jī)數(shù)生成部;231明文輸入部;232接收者識(shí)別輸入部;240密文主文生成部;241第一密文生成部;242第二密文生成部;243第三密文生成部;244哈希值計(jì)算部;245密文驗(yàn)證文生成部;246密文結(jié)合部;251數(shù)據(jù)輸入部;252數(shù)據(jù)加密部;261密文通知部;290密鑰加密部;301~303密文接收裝置;310公開參數(shù)存儲(chǔ)部;323秘密密鑰存儲(chǔ)部;341密文解密部;344驗(yàn)證哈希值計(jì)算部;345密文驗(yàn)證部;346密文分解部;351密文接收部;352數(shù)據(jù)解密部;390密鑰解密部;400群參數(shù)生成裝置;410參數(shù)生成條件存儲(chǔ)部;420群階數(shù)候補(bǔ)生成部;430群階數(shù)安全性判定部;431剩余計(jì)算部;432判定值計(jì)算部;433素因數(shù)判定部;440參數(shù)生成部;500公開的信息;510公開密碼參數(shù);531~533接收者識(shí)別信息;600秘密地通知的信息;601~603秘密密鑰;710明文數(shù)據(jù);720通知數(shù)據(jù);721密鑰密文C;722加密數(shù)據(jù);800基于ID的密碼通信系統(tǒng);901顯示裝置;902鍵盤;903鼠標(biāo);904FDD;905CDD;906打印機(jī)裝置;907掃描器裝置;910系統(tǒng)單元;911CPU;912總線;913ROM;914RAM;915通信裝置;920磁盤裝置;921OS;922視窗系統(tǒng);923程序群;924文件群;931電話機(jī);932傳真機(jī);940因特網(wǎng);941網(wǎng)關(guān);942LAN。

具體實(shí)施例方式 實(shí)施方式1 使用圖1~圖10對(duì)實(shí)施方式1進(jìn)行說明。
圖1是示出本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個(gè)例子的系統(tǒng)結(jié)構(gòu)圖。
基于ID的密碼通信系統(tǒng)800具有密碼參數(shù)生成裝置100、密文生成裝置200、多個(gè)密文接收裝置301~303。
密文接收裝置301~303分別對(duì)應(yīng)于接收者,并與識(shí)別所對(duì)應(yīng)的接收者的接收者識(shí)別信息531~533相對(duì)應(yīng)。
接收者識(shí)別信息531~533例如是接收者的住址/姓名、郵件地址等可以唯一地識(shí)別接收者的信息。接收者識(shí)別信息531~533是在基于ID的密碼通信系統(tǒng)800中公開的信息500的一部分,是可以容易地驗(yàn)證對(duì)應(yīng)關(guān)系是否正確的信息。
密碼參數(shù)生成裝置100生成基于ID的密碼通信系統(tǒng)800中的密碼處理所需的公開密碼參數(shù)510。密碼參數(shù)生成裝置100公開所生成的公開密碼參數(shù)510,公開密碼參數(shù)510成為在基于ID的密碼通信系統(tǒng)800中公開的信息500的一部分。
另外,密碼參數(shù)生成裝置100輸入密文接收裝置301~303的接收者識(shí)別信息531~533,根據(jù)輸入的接收者識(shí)別信息531~533,生成密文接收裝置301~303的秘密密鑰601~603。密碼參數(shù)生成裝置100將生成的秘密密鑰601~603以沒有被第三者得知的可能性的安全方法,秘密地通知給各自的密文接收裝置301~303。例如,密碼參數(shù)生成裝置100將生成的秘密密鑰601~603分別記錄在軟盤等存儲(chǔ)介質(zhì)中,并將記錄有秘密密鑰601的軟盤直接親手交給與密文接收裝置301對(duì)應(yīng)的接收者本人,接收者本人在密文接收裝置301中安裝秘密密鑰601,從而向密文接收裝置301通知秘密密鑰601。秘密密鑰602、603也以同樣的方式通知給密文接收裝置302、303。
密文生成裝置200對(duì)作為密文接收裝置301~303的全部或一部分的多個(gè)密文接收裝置,輸入希望通知的數(shù)據(jù)(明文數(shù)據(jù)710)。此處,以如下情況為例進(jìn)行說明希望將明文數(shù)據(jù)710通知給密文接收裝置301與密文接收裝置303,但不希望通知給密文接收裝置302。
密文生成裝置200對(duì)密文接收裝置301以及密文接收裝置303通知通知數(shù)據(jù)720。
通知數(shù)據(jù)720例如經(jīng)由郵件通信、數(shù)據(jù)廣播等,被通知給密文接收裝置301以及密文接收裝置303。因此,通知數(shù)據(jù)720是對(duì)于所有的接收者相同的數(shù)據(jù)。
通知數(shù)據(jù)720雖然不是打算公開的數(shù)據(jù),但密文生成裝置200通知通知數(shù)據(jù)720的路徑例如是因特網(wǎng)、數(shù)據(jù)廣播等第三者可以容易地截取通知數(shù)據(jù)720的環(huán)境。為此,通知數(shù)據(jù)720包括將明文數(shù)據(jù)710進(jìn)行加密而得到的加密數(shù)據(jù)722。
另外,明文數(shù)據(jù)710例如有時(shí)是運(yùn)動(dòng)圖像數(shù)據(jù)等巨大的數(shù)據(jù),所以與通知對(duì)方無關(guān)而使用共用的對(duì)話密鑰K來加密。這是因?yàn)?,在針?duì)每個(gè)通知對(duì)方改變對(duì)話密鑰K時(shí),需要生成與通知對(duì)方的數(shù)量相同數(shù)量的加密數(shù)據(jù)722,所以密文生成裝置200的加密處理的負(fù)荷增加,導(dǎo)致增大通知路徑的通信量。
通知數(shù)據(jù)720還包括對(duì)對(duì)話密鑰K進(jìn)行加密而得到的密鑰密文C721,其中該對(duì)話密鑰K是對(duì)明文數(shù)據(jù)710進(jìn)行加密而得到的。
密文接收裝置301通過對(duì)密鑰密文C721進(jìn)行解密,取得對(duì)話密鑰K,并利用所取得的對(duì)話密鑰K對(duì)加密數(shù)據(jù)722進(jìn)行解密,從而取得明文數(shù)據(jù)710。
密文生成裝置200被輸入密碼參數(shù)生成裝置100公開的公開密碼參數(shù)510、密文接收裝置310以及密文接收裝置303公開的接收者識(shí)別信息531以及接收者識(shí)別信息533。
密文生成裝置200根據(jù)輸入的信息,進(jìn)行基于ID的密碼方式的密碼處理,生成對(duì)話密鑰K與密鑰密文C721。
密文生成裝置200利用所生成的對(duì)話密鑰K,對(duì)明文數(shù)據(jù)710進(jìn)行加密而生成加密數(shù)據(jù)722。
密文生成裝置200將包括所生成的密鑰密文C721與加密數(shù)據(jù)722的通知數(shù)據(jù)720通知給密文接收裝置301以及密文接收裝置303。
密鑰密文C721包括與各個(gè)通知對(duì)方對(duì)應(yīng)的部分。密鑰密文C721也可以與通知對(duì)方無關(guān)地還包括共用的部分。
密文接收裝置301從密鑰密文C721中取得與密文接收裝置301對(duì)應(yīng)的部分(以及共用的部分),使用秘密密鑰601,進(jìn)行基于ID的密碼方式的解密處理,取得對(duì)話密鑰K。
密文接收裝置303也同樣地使用秘密密鑰601,取得對(duì)話密鑰K。
另一方面,密鑰密文C721由于未包括與密文接收裝置302對(duì)應(yīng)的部分,所以密文接收裝置302即使截取到通知數(shù)據(jù)720,也無法使用秘密密鑰602來解密,無法取得對(duì)話密鑰K。因此,密文接收裝置302無法取得明文數(shù)據(jù)710。
圖2是示出本實(shí)施方式中的密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的外觀的一個(gè)例子的圖。
密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303具備系統(tǒng)單元910、具有CRT(Cathode Ray Tube陰極射線管)、LCD(液晶)的顯示畫面的顯示裝置901、鍵盤902(KeyBoardK/B)、鼠標(biāo)903、FDD 904(Flexible Disk Drive軟盤驅(qū)動(dòng)器)、高密度盤裝置905(CDD)、打印機(jī)裝置906、掃描器裝置907等的硬件資源,它們通過線纜、信號(hào)線相連接。
系統(tǒng)單元910是計(jì)算機(jī),通過線纜與傳真機(jī)932、電話機(jī)931連接,另外,經(jīng)由局域網(wǎng)942(LAN)、網(wǎng)關(guān)941與因特網(wǎng)940連接。
圖3是示出本實(shí)施方式中的密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的硬件資源的一個(gè)例子的圖。
密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303具備執(zhí)行程序的CPU 911(Central Processing Unit,還稱為中央處理裝置、處理裝置、運(yùn)算裝置、微處理器、微型計(jì)算機(jī)、處理器)。CPU 911經(jīng)由總線912而與ROM 913、RAM 914、通信裝置915、顯示裝置901、鍵盤902、鼠標(biāo)903、FDD 904、CDD 905、打印機(jī)裝置906、掃描器裝置907、磁盤裝置920連接,并對(duì)這些硬件設(shè)備進(jìn)行控制。也可以代替磁盤裝置920,而是光盤裝置、存儲(chǔ)卡讀寫裝置等存儲(chǔ)裝置。
RAM 914是易失性存儲(chǔ)器的一個(gè)例子。ROM 913、FDD 904、CDD 905、磁盤裝置920的存儲(chǔ)介質(zhì)是非易失性存儲(chǔ)器的一個(gè)例子。它們是存儲(chǔ)裝置或存儲(chǔ)部的一個(gè)例子。
通信裝置915、鍵盤902、掃描器裝置907、FDD 904等是輸入部、輸入裝置的一個(gè)例子。
另外,通信裝置915、顯示裝置901、打印機(jī)裝置906等是輸出部、輸出裝置的一個(gè)例子。
通信裝置915與傳真機(jī)932、電話機(jī)931、LAN 942等連接。通信裝置915不限于LAN 942,也可以連接到因特網(wǎng)940、ISDN等的WAN(廣域網(wǎng))等。在與因特網(wǎng)940或ISDN等的WAN連接的情況下,網(wǎng)關(guān)941變得無用。
在磁盤裝置920中,存儲(chǔ)有操作系統(tǒng)921(OS)、視窗系統(tǒng)922、程序群923、文件群924。程序群923的程序是通過CPU 911、操作系統(tǒng)921、視窗系統(tǒng)922執(zhí)行的。
在上述程序群923中,存儲(chǔ)有執(zhí)行在以下敘述的實(shí)施方式的說明中說明為“~部”的功能的程序。程序是由CPU 911讀出并執(zhí)行的。
在文件群924中,作為“~文件”、“~數(shù)據(jù)庫(kù)”的各項(xiàng)目,存儲(chǔ)有在以下敘述的實(shí)施方式的說明中作為“~的判定結(jié)果”、“~的計(jì)算結(jié)果”、“~的處理結(jié)果”而說明的信息、數(shù)據(jù)、信號(hào)值、變量值、參數(shù)?!啊募?、“~數(shù)據(jù)庫(kù)”被存儲(chǔ)到盤、存儲(chǔ)器等記錄介質(zhì)中。由CPU 911經(jīng)由讀寫電路將存儲(chǔ)在盤、存儲(chǔ)器等存儲(chǔ)介質(zhì)中的信息、數(shù)據(jù)、信號(hào)值、變量值、參數(shù)讀出到主存儲(chǔ)器、高速緩存存儲(chǔ)器中,用于抽出/檢索/參照/比較/運(yùn)算/計(jì)算/處理/輸出/印刷/顯示等CPU的動(dòng)作中。在抽出/檢索/參照/比較/運(yùn)算/計(jì)算/處理/輸出/印刷/顯示的CPU的動(dòng)作期間,信息、數(shù)據(jù)、信號(hào)值、變量值、參數(shù)被臨時(shí)存儲(chǔ)到主存儲(chǔ)器、高速緩存存儲(chǔ)器、緩沖存儲(chǔ)器中。
另外,在以下敘述的實(shí)施方式的說明中說明的流程圖的箭頭的部分主要表示數(shù)據(jù)、信號(hào)的輸入輸出,數(shù)據(jù)、信號(hào)值被記錄到RAM 914的存儲(chǔ)器、FDD 904的軟盤、CDD 905的高密度盤、磁盤裝置920的磁盤、其它光盤、迷你盤、DVD(Digital Versatile Disc數(shù)字多功能盤)等記錄介質(zhì)中。另外,數(shù)據(jù)、信號(hào)通過總線912、信號(hào)線、線纜、或其它傳送介質(zhì)而被聯(lián)機(jī)傳送。
另外,在以下敘述的實(shí)施方式的說明中說明為“~部”的部分既可以是“~電路”、“~裝置”、“~機(jī)器”,另外也可以是“~步驟”、“~過程”、“~處理”。即,說明為“~部”的部分也可以通過存儲(chǔ)在ROM913中的固件來實(shí)現(xiàn)。或者,也可以僅通過軟件、或者僅通過元件/設(shè)備/基板/布線等硬件、或者通過軟件與硬件的組合、通過進(jìn)一步與固件的組合來實(shí)施。固件與軟件作為程序存儲(chǔ)在磁盤、軟盤、光盤、高密度盤、迷你盤、DVD等記錄介質(zhì)中。程序是由CPU 911讀出,并由CPU 911執(zhí)行的。即,程序作為以下敘述的“~部”使計(jì)算機(jī)發(fā)揮功能?;蛘?,使計(jì)算機(jī)執(zhí)行以下敘述的“~部”的過程、方法。
圖4是示出本實(shí)施方式中的密碼參數(shù)生成裝置100的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
密碼參數(shù)生成裝置100具有參數(shù)設(shè)定部110與秘密密鑰設(shè)定部130。
另外,密碼參數(shù)生成裝置100也可以分為具有參數(shù)設(shè)定部110的參數(shù)設(shè)定裝置與具有秘密密鑰設(shè)定部130的秘密密鑰設(shè)定裝置。在該情況下,也可以相對(duì)一個(gè)參數(shù)設(shè)定裝置,具有多個(gè)秘密密鑰設(shè)定裝置。
參數(shù)設(shè)定部110生成基于ID的密碼通信系統(tǒng)800中的成為基于ID的密碼方式的密碼處理/解密處理的基礎(chǔ)的公開密碼參數(shù),并公開。
參數(shù)設(shè)定部110具有群參數(shù)存儲(chǔ)部111、秘密信息生成部112、公開參數(shù)生成部113、公開參數(shù)公開部114、秘密信息存儲(chǔ)部121、以及參數(shù)存儲(chǔ)部122。
群參數(shù)存儲(chǔ)部111使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)群參數(shù)。
群參數(shù)是指,表示對(duì)進(jìn)行基于ID的密碼方式中的群運(yùn)算的群進(jìn)行定義的參數(shù)的信息。
例如,在作為進(jìn)行基于ID的密碼方式中的群運(yùn)算的群而使用橢圓曲線上的點(diǎn)所形成的群的情況下,群參數(shù)存儲(chǔ)部111存儲(chǔ)對(duì)橢圓曲線Y2=X3+aX+b進(jìn)行定義的系數(shù)a、系數(shù)b等,作為群參數(shù)。
另外,作為橢圓曲線上的點(diǎn)所形成的群中的運(yùn)算,通常,定義橢圓曲線上的點(diǎn)的加法。群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的群不限于橢圓曲線上的點(diǎn)所成的群,而也可以是其它群。此處,將群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的群設(shè)為乘法群。即,作為群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的群的要素之間的運(yùn)算而定義有乘法,關(guān)于乘法構(gòu)成了群。因此,在以下說明中,在作為“乘法群”而提及的群中,包括橢圓曲線上的點(diǎn)所形成的群,在作為“乘法/乘算”而提及的運(yùn)算中,通常,包括被稱為橢圓曲線上的點(diǎn)的加法的運(yùn)算。另外,在式中記述“乘法/乘算”的情況下,使用“·”。
另外,群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群中的乘算是可以在實(shí)用的時(shí)間內(nèi)通過規(guī)定的算法進(jìn)行計(jì)算的運(yùn)算。因此,可以使用CPU 911等處理裝置,計(jì)算出乘算結(jié)果。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,隨機(jī)地生成秘密信息。
秘密信息生成部112使用CPU 911等處理裝置,輸出所生成的秘密信息。
秘密信息是指,成為用于生成在基于ID的密碼方式中公開的公開密碼參數(shù)的基礎(chǔ)的信息。另外,秘密信息還成為用于生成秘密密鑰的基礎(chǔ),絕對(duì)不能被第三者知道。
秘密信息表示的內(nèi)容根據(jù)作為基于ID的密碼方式采用何種密碼方式而不同。秘密信息例如是表示比群參數(shù)表示的乘法群的階數(shù)r小、且1以上的整數(shù)的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、以及秘密信息生成部112輸出的秘密信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)與秘密信息,生成公開密碼參數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出所生成的公開密碼參數(shù)。
公開密碼參數(shù)所表示的內(nèi)容根據(jù)作為基于ID的密碼方式使用何種密碼方式而不同。公開密碼參數(shù)例如是表示群參數(shù)所表示的乘法群的要素的信息。
在公開密碼參數(shù)中巧妙地編入有秘密信息,密文生成裝置200、密文接收裝置301~303通過利用公開密碼參數(shù),可以間接地利用秘密信息,但無法從公開密碼參數(shù)逆運(yùn)算秘密信息。
例如,秘密信息表示整數(shù)α,公開密碼參數(shù)包括表示群參數(shù)所表示的乘法群G的要素g與乘法群G的要素g^α的信息。另外,“^”表示冪乘運(yùn)算,“g^α”表示g的α乘方、即表示將α個(gè)g相互乘算。如果乘法群G是難以求解DH問題(Diffie-Hellmanm Problem,雙線性問題)的群,則無法根據(jù)g與g^α求出α。
因此,即使公開了公開密碼參數(shù),也能守住秘密信息的秘密。
公開參數(shù)公開部114使用CPU 911等處理裝置,輸入公開參數(shù)生成部113所輸出的公開密碼參數(shù)。
公開參數(shù)公開部114使用CPU 911等處理裝置,公開所輸入的公開參數(shù)。此處,“公開”是指,雖然包含有向密文生成裝置200、密文接收裝置301~303通知的情形,但在密文生成裝置200、密文接收裝置301~303無法取得正確的公開密碼參數(shù),而萬一取得了被竄改的公開密碼參數(shù)的情況下,可以容易地判別其是否被竄改。例如,公開參數(shù)公開部114通過將公開密碼參數(shù)刊登在主頁(yè)上從而進(jìn)行公開。雖然主頁(yè)有可能由于第三者的攻擊而被竄改,但公開密碼參數(shù)生成裝置100通過檢查主頁(yè),可以發(fā)現(xiàn)竄改。另外。也可以通過使用多個(gè)服務(wù)器裝置公開同一公開密碼參數(shù),并判斷兩者是否一致,從而發(fā)現(xiàn)竄改。
秘密信息存儲(chǔ)部121使用CPU 911等處理裝置,輸入秘密信息生成部112所輸出的秘密信息。
秘密信息存儲(chǔ)部121使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)所輸入的秘密信息。
參數(shù)存儲(chǔ)部122使用CPU 911等處理裝置,輸入公開參數(shù)生成部113所輸出的公開密碼參數(shù)。
參數(shù)存儲(chǔ)部122使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)所輸入的公開密碼參數(shù)。
秘密密鑰設(shè)定部130生成基于ID的密碼通信系統(tǒng)800中的基于ID的密碼方式的解密處理中所需的秘密密鑰,并秘密地通知給各個(gè)密文接收裝置301~303。
秘密密鑰設(shè)定部130具有識(shí)別信息輸入部131、秘密密鑰生成部132、以及秘密密鑰通知部133。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入接收者識(shí)別信息。識(shí)別信息輸入部131輸入的接收者識(shí)別信息是識(shí)別與密文接收裝置301~303中的某一個(gè)對(duì)應(yīng)的接收者的信息,是公開的信息500的一部分。例如,識(shí)別信息輸入部131從公開的信息500中輸入識(shí)別與密文接收裝置301對(duì)應(yīng)的接收者的接收者識(shí)別信息531。
識(shí)別信息輸入部131使用CPU 911等處理裝置,根據(jù)公開的信息500,驗(yàn)證所輸入的接收者識(shí)別信息是否正確地識(shí)別了與密文接收裝置對(duì)應(yīng)的接收者。
驗(yàn)證的結(jié)果,如果沒有問題,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的接收者識(shí)別信息。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入識(shí)別信息輸入部131輸出的接收者識(shí)別信息、秘密信息存儲(chǔ)部121存儲(chǔ)的秘密信息、以及參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的接收者識(shí)別信息、秘密信息與公開密碼參數(shù),生成秘密密鑰。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出所生成的秘密密鑰。
秘密密鑰通知部133使用CPU 911等處理裝置,輸入秘密密鑰生成部132輸出的秘密密鑰。
秘密密鑰通知部133使用CPU 911等處理裝置,將輸入的秘密密鑰秘密地通知給對(duì)應(yīng)的接收者的密文接收裝置。例如,秘密密鑰通知部133將秘密密鑰生成部132根據(jù)接收者識(shí)別信息531生成的秘密密鑰601通知給與利用接收者識(shí)別信息531識(shí)別的接收者對(duì)應(yīng)的密文接收裝置301。
這樣,參數(shù)設(shè)定部110生成的公開密碼參數(shù)被公開,秘密密鑰設(shè)定部130生成的秘密密鑰601~603被通知給各個(gè)密文接收裝置301~303,從而完成基于ID的密碼方式的密碼通信的準(zhǔn)備。
圖5是示出本實(shí)施方式中的密文生成裝置200的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
密文生成裝置200具有密鑰加密部290、數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
密鑰加密部290使用CPU 911等處理裝置,生成對(duì)話密鑰K,并且生成密鑰密文C。
密鑰密文C是對(duì)密鑰加密部290生成的對(duì)話密鑰K進(jìn)行加密而得到的。密鑰密文C是密文C的一個(gè)例子。
密鑰加密部290具有密碼參數(shù)存儲(chǔ)部210、對(duì)話密鑰生成部221、隨機(jī)數(shù)生成部222、明文輸入部231、接收者識(shí)別輸入部232、密文主文生成部240、哈希值計(jì)算部244、密文驗(yàn)證文生成部245、以及密文結(jié)合部246。
密碼參數(shù)存儲(chǔ)部210使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
對(duì)話密鑰生成部221使用CPU 911等處理裝置,隨機(jī)地生成對(duì)話密鑰K。對(duì)話密鑰K是用于對(duì)明文數(shù)據(jù)710進(jìn)行加密的密鑰,例如是規(guī)定長(zhǎng)度的位串。對(duì)明文數(shù)據(jù)710進(jìn)行加密的密碼方式例如是AES(AdvancedEncryption Standard高級(jí)加密標(biāo)準(zhǔn))、MISTY(注冊(cè)上標(biāo))等共用密鑰密碼方式。
對(duì)話密鑰生成部221使用CPU 911等處理裝置,輸出所生成的對(duì)話密鑰K。
明文輸入部231使用CPU 911等處理裝置,將對(duì)話密鑰生成部221輸出的對(duì)話密鑰K作為明文M輸入。
明文輸入部231使用CPU 911等處理裝置,輸出所輸入的明文M。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸入與應(yīng)發(fā)送明文數(shù)據(jù)710的密文接收裝置對(duì)應(yīng)的接收者的接收者識(shí)別信息。例如,在希望對(duì)密文接收裝置301與密文接收裝置303發(fā)送明文數(shù)據(jù)710的情況下,接收者識(shí)別輸入部232輸入與密文接收裝置301對(duì)應(yīng)的接收者的接收者識(shí)別信息531、以及與密文接收裝置303對(duì)應(yīng)的接收者的接收者識(shí)別信息533。
以下,將希望發(fā)送明文數(shù)據(jù)710的對(duì)方的數(shù)量記載為n。另外,為了區(qū)分多個(gè)接收者識(shí)別信息而使用下標(biāo),以接收者識(shí)別信息ID1、接收者識(shí)別信息ID2、…、接收者識(shí)別信息IDn的方式進(jìn)行記述。有時(shí)也將n個(gè)接收者識(shí)別信息ID1、ID2、…、IDn總括而以“接收者識(shí)別信息IDi(i是1以上n以下的整數(shù))”的方式進(jìn)行記述。在以下說明中,下標(biāo)“i”原則上表示對(duì)應(yīng)于n個(gè)接收者中的各個(gè)接收者。
接收者識(shí)別輸入部232輸入與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù))。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個(gè)接收者識(shí)別信息IDi。
另外,接收者的數(shù)量n不是預(yù)先(例如在公開密碼參數(shù)生成時(shí))決定的,而是在實(shí)際發(fā)送數(shù)據(jù)時(shí)決定的。
基于ID的密碼通信系統(tǒng)800是可以對(duì)任意數(shù)量的接收者發(fā)送數(shù)據(jù)的密碼通信系統(tǒng)。根據(jù)當(dāng)時(shí)的需要,也許會(huì)是n=1,也許會(huì)是n=100。
密文生成裝置200例如在接收者識(shí)別輸入部232輸入了接收者識(shí)別信息時(shí)得知接收者的數(shù)量n。密文生成裝置200即使在n為1以上的任意數(shù)的情況下,也生成一個(gè)密鑰密文C(和加密數(shù)據(jù))。
另外,接收者識(shí)別輸入部232輸入的多個(gè)接收者識(shí)別信息全部相互不同?;蛘?,接收者識(shí)別輸入部232也可以判別在輸入的多個(gè)接收者識(shí)別信息中是否存在重復(fù)的信息,將重復(fù)的接收者識(shí)別信息集中為一個(gè)而排除重復(fù)。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,隨機(jī)地生成n個(gè)隨機(jī)數(shù)。隨機(jī)數(shù)生成部222生成的隨機(jī)數(shù)例如是比輸入的公開密碼參數(shù)所表示的乘法群的階數(shù)r小且1以上的整數(shù)s。
另外,隨機(jī)數(shù)生成部222生成的n個(gè)隨機(jī)數(shù)分別對(duì)應(yīng)于n個(gè)接收者。即,隨機(jī)數(shù)生成部222生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)隨機(jī)數(shù)。
隨機(jī)數(shù)生成部222輸出表示所生成的n個(gè)隨機(jī)數(shù)的信息。
密文主文生成部240使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、明文輸入部231輸出的明文M、接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息、表示隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
密文主文生成部240使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù))。
密文主文生成部240使用CPU 911等處理裝置,輸出所生成的n個(gè)密文主文CBi。
密文主文是指,通過基于ID的密碼方式,使用各接收者的接收者識(shí)別信息IDi,將明文M(對(duì)話密鑰K)面向各接收者進(jìn)行加密而得到的主文。n個(gè)密文主文CBi各自對(duì)應(yīng)于一個(gè)接收者。
另外,密文主文也能夠分節(jié)為若干個(gè)部分。在將密文主文分節(jié)而得到的部分中,也可以有對(duì)所有接收者共用的部分。關(guān)于將密文主文分節(jié)而得到的部分中的對(duì)所有接收者共用的部分,也可以通過集中為一個(gè),從而縮短n個(gè)密文主文CBi的全體。
密文主文生成部240具有第一密文生成部241、第二密文生成部242、以及第三密文生成部243。
密文主文生成部240輸出的密文主文CBi由第一密文生成部241輸出的第一密文C1i、第二密文生成部242輸出的第二密文C2i、以及第三密文生成部243輸出的第三密文C3i構(gòu)成。
密文主文CBi既可以是將第一密文C1i、第二密文C2i、以及第三密文C3i結(jié)合而得到的密文主文,也可以是將第一密文C1i、第二密文C2i、以及第三密文C3i設(shè)為組而得到的密文主文。
另外,在該例子中,密文主文CBi由三個(gè)密文構(gòu)成,但這是一個(gè)例子,也可以是其它結(jié)構(gòu)。
例如,密文主文CBi除了三個(gè)密文以外,也可以包括接收者識(shí)別信息IDi。
此處,“包括”是指,例如密文主文CBi是將接收者識(shí)別信息IDi、第一密文C1i、第二密文C2i、以及第三密文C3i結(jié)合而得到的密文主文的情況等,以該密文主文CBi可以容易地判別所對(duì)應(yīng)的接收者的接收者識(shí)別信息IDi、且如果需要還可以進(jìn)行驗(yàn)證的形式來包括。
第一密文生成部241使用CPU 911等處理裝置,輸入明文輸入部231輸出的明文M、密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及表示隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個(gè)第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息IDi、密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及表示隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出所生成的n個(gè)第二密文C2i。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及表示隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出所生成的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及密文主文生成部240生成的n個(gè)密文主文CBi(即,第一密文生成部241生成的n個(gè)第一密文C1i、第二密文生成部242生成的n個(gè)第二密文C2i、以及第三密文生成部243生成的n個(gè)第三密文C3i)。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的n個(gè)密文主文CBi,計(jì)算出一個(gè)哈希值H。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出所計(jì)算出的一個(gè)哈希值H。
哈希值計(jì)算部244計(jì)算出的哈希值H根據(jù)所使用的基于ID的密碼方式而不同。例如,哈希值H是利用公開密碼參數(shù)確定的規(guī)定長(zhǎng)度的位串?;蛘?,哈希值H是表示小于公開密碼參數(shù)所表示的乘法群的階數(shù)r且1以上的整數(shù)的信息。
另外,也可以在公開密碼參數(shù)中,定義用于計(jì)算哈希值H的哈希函數(shù)HF。在該情況下,哈希值計(jì)算部244通過公開密碼參數(shù)表示的哈希函數(shù)HF,計(jì)算出哈希值H。
哈希值計(jì)算部244根據(jù)所有n個(gè)密文主文CBi來計(jì)算出一個(gè)哈希值H。例如,哈希值計(jì)算部244將n個(gè)密文主文CBi全部結(jié)合而生成一個(gè)結(jié)合密文,計(jì)算出所生成的一個(gè)結(jié)合密文的哈希值H。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入哈希值計(jì)算部244輸出的哈希值H、密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及表示隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出所生成的密文驗(yàn)證文CCi。
另外,在該例子中,將密文驗(yàn)證文生成部245生成的密文驗(yàn)證文的數(shù)量設(shè)為n個(gè),但也可以構(gòu)成為與接收者無關(guān)地生成共用的一個(gè)密文驗(yàn)證文。
密文結(jié)合部246使用CPU 911等處理裝置,輸入密文主文生成部240輸出的n個(gè)密文主文CBi(即,第一密文生成部241輸出的n個(gè)第一密文C1i、第二密文生成部242輸出的n個(gè)第二密文C2i、以及第三密文生成部243輸出的n個(gè)第三密文C3i)、以及密文驗(yàn)證文生成部245輸出的密文驗(yàn)證文CC。
密文結(jié)合部246使用CPU 911等處理裝置,根據(jù)輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及密文驗(yàn)證文CC,生成一個(gè)密鑰密文C。例如,密文結(jié)合部246使用CPU 911等處理裝置,結(jié)合所輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、密文驗(yàn)證文CC,而設(shè)為一個(gè)密鑰密文C。
對(duì)于與n個(gè)接收者對(duì)應(yīng)的所有密文接收裝置,相等地發(fā)送密文結(jié)合部246結(jié)合的一個(gè)密鑰密文C。
另外,在結(jié)合的一個(gè)密鑰密文C中,根據(jù)預(yù)定的結(jié)合的順序等示出哪個(gè)部分是與哪個(gè)接收者對(duì)應(yīng)的部分,密文接收裝置301~303可以從密鑰密文C中容易地抽出與自己對(duì)應(yīng)的部分。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個(gè)密鑰密文C。
數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸入明文數(shù)據(jù)710。
數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸出所輸入的明文數(shù)據(jù)710。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸入數(shù)據(jù)輸入部251輸出的明文數(shù)據(jù)710、以及對(duì)話密鑰生成部221輸出的對(duì)話密鑰K。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,利用所輸入的對(duì)話密鑰K,對(duì)輸入的明文數(shù)據(jù)710進(jìn)行加密,設(shè)為加密數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸出所生成的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,輸入密文結(jié)合部246輸出的一個(gè)密鑰密文C、以及數(shù)據(jù)加密部252輸出的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,生成包括所輸入的密鑰密文C和加密數(shù)據(jù)722的通知數(shù)據(jù)720。
密文通知部261使用CPU 911等處理裝置,將生成的通知數(shù)據(jù)720通知給作為通知對(duì)方的多個(gè)密文接收裝置。
例如在郵件通信中,通過指定多個(gè)接收者而發(fā)送通知數(shù)據(jù)720,從而通知給多個(gè)密文接收裝置。通知數(shù)據(jù)720并非針對(duì)每個(gè)接收者不同,而對(duì)于所有接收者是共用的。
圖6是示出本實(shí)施方式中的密文接收裝置301的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
密文接收裝置301具有密文接收部351、密鑰解密部390、以及數(shù)據(jù)解密部352。
另外,密文接收裝置302、密文接收裝置303的塊結(jié)構(gòu)也與密文接收裝置301相同。
密文接收部351使用CPU 911等處理裝置,接收密文生成裝置200通知的通知數(shù)據(jù)720。
密文接收部351使用CPU 911等處理裝置,取得所接收到的通知數(shù)據(jù)720中包含的一個(gè)密鑰密文C、以及加密數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,輸出所取得的一個(gè)密鑰密文C、以及加密數(shù)據(jù)。
密鑰解密部390對(duì)密文接收部351輸出的密鑰密文C進(jìn)行解密,取得用于對(duì)加密數(shù)據(jù)進(jìn)行解密的對(duì)話密鑰。
密鑰解密部390具有公開參數(shù)存儲(chǔ)部310、秘密密鑰存儲(chǔ)部323、密文接收部351、密文分解部346、驗(yàn)證哈希值計(jì)算部344、密文驗(yàn)證部345、密文解密部341、以及數(shù)據(jù)解密部352。
公開參數(shù)存儲(chǔ)部310使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
秘密密鑰存儲(chǔ)部323使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100通知的秘密密鑰。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,分解所輸入的一個(gè)密鑰密文C,取得n個(gè)密文主文CBi(即,n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i)、以及密文驗(yàn)證文CC。
以下,將與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi中的、與密文接收裝置301所對(duì)應(yīng)的接收者對(duì)應(yīng)的第二密文稱為對(duì)應(yīng)密文主文CBID。對(duì)于第一密文、第二密文、第三密文、密文驗(yàn)證文也相同。
密文分解部346使用CPU 911等處理裝置,從n個(gè)密文主文CBi中,取得對(duì)應(yīng)密文主文CBID(即,對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID)。
同樣地,密文分解部346使用CPU 911等處理裝置,取得對(duì)應(yīng)密文驗(yàn)證文CCID。
另外,在密文驗(yàn)證文與接收者無關(guān)而是共用的一個(gè)密文驗(yàn)證文的情況下,密文分解部346取得的對(duì)應(yīng)密文驗(yàn)證文CCID是密文驗(yàn)證文本身。
密文分解部346使用CPU 911等處理裝置,輸出所取得的n個(gè)密文主文CBi、對(duì)應(yīng)密文主文CBID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
另外,在n個(gè)密文主文CBi中,包含有表示哪個(gè)密文主文是與哪個(gè)ID對(duì)應(yīng)的對(duì)應(yīng)密文主文CBID的信息的情況下,密文分解部346也可以不取得對(duì)應(yīng)密文主文CBID。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的n個(gè)密文主文CBi、以及公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,通過與密文生成裝置200的哈希值計(jì)算部244計(jì)算哈希值H的方式同樣的方式,計(jì)算出驗(yàn)證哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出所計(jì)算出的驗(yàn)證哈希值H’。
驗(yàn)證哈希值計(jì)算部344根據(jù)輸入的n個(gè)密文主文CBi,通過與哈希值計(jì)算部244同樣的方式,計(jì)算出一個(gè)驗(yàn)證哈希值H’。
例如,驗(yàn)證哈希值計(jì)算部344根據(jù)將輸入的n個(gè)密文主文CBi全部結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入密文分解部346輸出的對(duì)應(yīng)密文主文CBID、對(duì)應(yīng)密文驗(yàn)證文CCID、驗(yàn)證哈希值計(jì)算部344輸出的驗(yàn)證哈希值H’、公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、以及秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的信息,生成驗(yàn)證信息。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)生成的驗(yàn)證信息與輸入的對(duì)應(yīng)密文驗(yàn)證文CCID,判定密文接收部351接收到的一個(gè)密鑰密文C中是否有匹配性。
例如,密文分解部346在生成的驗(yàn)證信息與輸入的對(duì)應(yīng)密文驗(yàn)證文CCID一致的情況下,判定為密文接收部351接收到的一個(gè)密鑰密文C中有匹配性。
或者,密文驗(yàn)證部345也可以根據(jù)輸入的對(duì)應(yīng)密文驗(yàn)證文CCID(以及公開密碼參數(shù)、秘密密鑰),生成另一個(gè)驗(yàn)證信息,在生成的兩個(gè)驗(yàn)證信息一致的情況下,判定為密文接收部351接收到的一個(gè)密鑰密文C中有匹配性。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸出表示所判定的判定結(jié)果的信息。
密文解密部341使用CPU 911等處理裝置,輸入表示密文分解部346輸出的判定結(jié)果的信息、密文分解部346輸出的對(duì)應(yīng)密文主文CBID、公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、以及秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的信息,當(dāng)密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密鑰密文C中有匹配性的情況下,還原明文M。
密文解密部341使用CPU 911等處理裝置,輸出所還原的明文M。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸入密文解密部341輸出的明文M與密文接收部351輸出的加密數(shù)據(jù),并將輸入的明文M設(shè)為對(duì)話密鑰K’。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,利用輸入的對(duì)話密鑰K’對(duì)輸入的加密數(shù)據(jù)進(jìn)行解密,并設(shè)為解密數(shù)據(jù)。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸出所解密的解密數(shù)據(jù)。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖7是示出本實(shí)施方式中的密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù),隨機(jī)地生成秘密信息。
秘密信息生成部112使用CPU 911等處理裝置,輸出所生成的秘密信息。
秘密信息存儲(chǔ)部121使用CPU 911等處理裝置,輸入秘密信息生成部112輸出的秘密信息。
秘密信息存儲(chǔ)部121使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)所輸入的秘密信息。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入在秘密信息生成工序S11中由秘密信息生成部112輸出的秘密信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)和輸入的秘密信息,生成公開密碼參數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出所生成的公開密碼參數(shù)。
參數(shù)存儲(chǔ)部122使用CPU 911等處理裝置,輸入公開參數(shù)生成部113輸出的公開密碼參數(shù)。
參數(shù)存儲(chǔ)部122使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)所輸入的公開密碼參數(shù)。
在密碼參數(shù)公開工序S13中,公開參數(shù)公開部114使用CPU 911等處理裝置,輸入在密碼參數(shù)生成工序S12中由公開參數(shù)生成部113輸出的公開密碼參數(shù)。
公開參數(shù)公開部114使用CPU 911等處理裝置,公開所輸入的公開密碼參數(shù)。
關(guān)于公開參數(shù)公開部114公開的公開密碼參數(shù),由密文生成裝置200以及密文接收裝置301~303取得,并由密碼參數(shù)存儲(chǔ)部210以及公開參數(shù)存儲(chǔ)部310使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
參數(shù)設(shè)定處理是在基于ID的密碼通信系統(tǒng)800的運(yùn)用開始之前僅執(zhí)行一次即可的處理。但是,為了確保密碼通信的安全,也可以定期地執(zhí)行參數(shù)設(shè)定處理而改變公開密碼參數(shù),為了提高密碼強(qiáng)度,也可以變更所使用的乘法群來執(zhí)行參數(shù)設(shè)定處理。
圖8是示出本實(shí)施方式中的密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
在識(shí)別輸入工序S21中,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入接收者識(shí)別信息ID。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的接收者識(shí)別信息ID。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,輸入在S21中由識(shí)別信息輸入部131輸出的接收者識(shí)別信息ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入秘密信息存儲(chǔ)部121存儲(chǔ)的秘密信息。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入?yún)?shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的秘密信息、輸入的公開密碼參數(shù)、以及輸入的接收者識(shí)別信息ID,生成秘密密鑰dID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出所生成的秘密密鑰dID。
在秘密密鑰通知工序S23中,秘密密鑰通知部133使用CPU 911等處理裝置,輸入在S21中由識(shí)別信息輸入部131輸出的接收者識(shí)別信息ID。
秘密密鑰通知部133使用CPU 911等處理裝置,輸入在S22中秘密密鑰生成部132輸出的秘密密鑰dID。
秘密密鑰通知部133使用CPU 911等處理裝置,對(duì)于與利用輸入的接收者識(shí)別信息ID識(shí)別的接收者對(duì)應(yīng)的密文接收裝置,秘密地通知所輸入的秘密密鑰dID。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由被通知的密文接收裝置取得,并由秘密密鑰存儲(chǔ)部323使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
秘密密鑰設(shè)定處理是設(shè)定與基于ID的密碼通信系統(tǒng)800內(nèi)的密文接收裝置分別對(duì)應(yīng)的秘密密鑰的處理。密碼參數(shù)生成裝置100也可以預(yù)先生成秘密密鑰,并對(duì)基于ID的密碼通信系統(tǒng)800內(nèi)的所有密文接收裝置301~303通知秘密密鑰,也可以根據(jù)來自密文接收裝置301~303的要求來執(zhí)行。也可以在密文生成裝置200通知了通知數(shù)據(jù)720之后,執(zhí)行秘密密鑰設(shè)定處理。
圖9是示出本實(shí)施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
在明文數(shù)據(jù)輸入工序S31中,數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸入應(yīng)通知給n個(gè)密文接收裝置的明文數(shù)據(jù)。
數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸出所輸入的明文數(shù)據(jù)。
在接收者識(shí)別輸入工序S32中,接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸入分別對(duì)與應(yīng)通知在明文數(shù)據(jù)輸入工序S31中由數(shù)據(jù)輸入部251輸入的明文數(shù)據(jù)的n個(gè)密文接收裝置對(duì)應(yīng)的n個(gè)接收者進(jìn)行識(shí)別的n個(gè)接收者識(shí)別信息IDi(i為以上n以下的整數(shù))。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個(gè)接收者識(shí)別信息IDi。
在對(duì)話密鑰生成工序S33中,對(duì)話密鑰生成部221使用CPU 911等處理裝置,隨機(jī)地生成對(duì)話密鑰K。
對(duì)話密鑰生成部221使用CPU 911等處理裝置,輸出所生成的對(duì)話密鑰K。
明文輸入部231使用CPU 911等處理裝置,輸入對(duì)話密鑰生成部221輸出的對(duì)話密鑰K。
明文輸入部231使用CPU 911等處理裝置,將輸入的對(duì)話密鑰K作為明文M而輸出。
在隨機(jī)數(shù)生成工序S34中,隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,隨機(jī)地生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)隨機(jī)數(shù)。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個(gè)隨機(jī)數(shù)的信息。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
第一密文生成部241使用CPU 911等處理裝置,輸入在對(duì)話密鑰生成工序S33中由明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,輸入表示在隨機(jī)數(shù)生成工序S34中由隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個(gè)第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
第二密文生成部242使用CPU 911等處理裝置,輸入在接收者識(shí)別輸入工序S32中由接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息IDi。
第二密文生成部242使用CPU 911等處理裝置,輸入表示在隨機(jī)數(shù)生成工序S34中由隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出所生成的n個(gè)第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
第三密文生成部243使用CPU 911等處理裝置,輸入表示在隨機(jī)數(shù)生成工序S34中由隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出所生成的n個(gè)第三密文C3i。
在哈希值計(jì)算工序S38中,哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入在第一密文生成工序S35中第一密文生成部241輸出的n個(gè)第一密文C1i。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入在第二密文生成工序S36中第二密文生成部242輸出的n個(gè)第二密文C2i。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入在第三密文生成工序S37中第三密文生成部243輸出的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的信息,計(jì)算出哈希值H。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出所計(jì)算出的哈希值H。
在密文驗(yàn)證文生成工序S39中,密文驗(yàn)證文生成部245使用CPU911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入表示在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222輸出的n個(gè)隨機(jī)數(shù)的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入在哈希值計(jì)算工序S38中哈希值計(jì)算部244輸出的哈希值H。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出所生成的n個(gè)密文驗(yàn)證文CCi。
在密文結(jié)合工序S40中,密文結(jié)合部246使用CPU 911等處理裝置,輸入在第一密文生成工序S35中第一密文生成部241輸出的n個(gè)第一密文C1i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在第二密文生成工序S36中第二密文生成部242輸出的n個(gè)第二密文C2i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在第三密文生成工序S37中第三密文生成部243輸出的n個(gè)第三密文C3i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在密文驗(yàn)證文生成工序S39中密文驗(yàn)證文生成部245輸出的n個(gè)密文驗(yàn)證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,結(jié)合輸入的n個(gè)第一密文C1i、輸入的n個(gè)第二密文C2i、輸入的n個(gè)第三密文C3i、以及輸入的n個(gè)密文驗(yàn)證文CCi,而設(shè)為一個(gè)密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出結(jié)合了的一個(gè)密鑰密文C。
在數(shù)據(jù)加密工序S41中,數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸入在明文數(shù)據(jù)輸入工序S31中數(shù)據(jù)輸入部251輸出的明文數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸入在對(duì)話密鑰生成工序S33中對(duì)話密鑰生成部221輸出的對(duì)話密鑰K。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,利用所輸入的對(duì)話密鑰K,對(duì)輸入的明文數(shù)據(jù)進(jìn)行加密,而設(shè)為加密數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸出加密后的加密數(shù)據(jù)。
在密文通知工序S42中,密文通知部261使用CPU 911等處理裝置,輸入在接收者識(shí)別輸入工序S32中接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息IDi。
密文通知部261使用CPU 911等處理裝置,輸入在密文結(jié)合工序S40中密文結(jié)合部246輸出的一個(gè)密鑰密文C。
密文通知部261使用CPU 911等處理裝置,輸入在數(shù)據(jù)加密工序S41中數(shù)據(jù)加密部252輸出的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,生成包括所輸入的一個(gè)密鑰密文C和所輸入的加密數(shù)據(jù)的數(shù)據(jù),而設(shè)為通知數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,對(duì)與利用所輸入的n個(gè)接收者識(shí)別信息IDi識(shí)別的接收者對(duì)應(yīng)的密文接收裝置,通知所生成的通知數(shù)據(jù)。
圖10是示出本實(shí)施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
在通知數(shù)據(jù)接收工序S51中,密文接收部351使用CPU 911等處理裝置,接收密文生成裝置200通知的通知數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,取得所接收到的通知數(shù)據(jù)中包含的一個(gè)密鑰密文C、以及加密數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,輸出所取得的一個(gè)密鑰密文C、以及加密數(shù)據(jù)。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,輸入在通知數(shù)據(jù)接收工序S51中密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,根據(jù)輸入的一個(gè)密鑰密文C,取得n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi。
密文分解部346使用CPU 911等處理裝置,輸出所取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi。
另外,密文分解部346使用CPU 911等處理裝置,取得對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
在驗(yàn)證哈希值計(jì)算工序S53中,驗(yàn)證哈希值計(jì)算部344使用CPU911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)輸入的信息,計(jì)算出驗(yàn)證哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出所計(jì)算出的驗(yàn)證哈希值H’。
在密文驗(yàn)證工序S54中,密文驗(yàn)證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入在驗(yàn)證哈希值計(jì)算工序S53中驗(yàn)證哈希值計(jì)算部344輸出的驗(yàn)證哈希值H’。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的信息,生成驗(yàn)證信息。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)生成的驗(yàn)證信息和輸入的對(duì)應(yīng)密文驗(yàn)證文CCID,判定密文接收部351接收到的一個(gè)密鑰密文C中是否有匹配性。
在判定為有匹配性的情況下,進(jìn)入密文解密工序S55。
在判定為無匹配性的情況下,結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
密文解密部341使用CPU 911等處理裝置,輸入秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰。
密文解密部341使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的信息,還原明文M。
密文解密部341使用CPU 911等處理裝置,輸出所還原的明文M。
在數(shù)據(jù)解密工序S56中,數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸入在通知數(shù)據(jù)接收工序S51中密文接收部351輸出的加密數(shù)據(jù)。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,作為對(duì)話密鑰K’而輸入在密文解密工序S55中密文解密部341輸出的明文M。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,利用輸入的對(duì)話密鑰K’,對(duì)輸入的加密數(shù)據(jù)進(jìn)行解密,而設(shè)為解密數(shù)據(jù)。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸出所解密的解密數(shù)據(jù)。
如上所述,只有想要通知明文數(shù)據(jù)的接收者能夠還原對(duì)話密鑰K,所以可以對(duì)加密數(shù)據(jù)進(jìn)行解密。
以下,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的安全性進(jìn)行討論。
首先,作為基于ID的密碼方式的多個(gè)用戶中的安全性,如下所述定義MU-IND-ID-CCA2安全性。
此處,“MU-IND-ID-CCA2安全性”是指,在多個(gè)用戶(Multi-User)中,針對(duì)能夠適當(dāng)?shù)剡x擇目標(biāo)ID的攻擊者的安全性。
密碼系統(tǒng)∏是具有PKG(Private Key Generator私鑰產(chǎn)生器)用密鑰生成功能S、秘密密鑰導(dǎo)出功能X、加密功能C、以及解密功能D的基于ID的密碼通信系統(tǒng)。
PKG用密鑰生成功能S將初始信息Γ作為輸入,生成PKG用主密鑰msk和共用參數(shù)params。
PKG用密鑰生成功能S相當(dāng)于基于ID的密碼通信系統(tǒng)800中的公開密碼參數(shù)生成裝置100的參數(shù)設(shè)定部110的功能。初始信息Γ相當(dāng)于群參數(shù)。PKG用主密鑰msk相當(dāng)于秘密信息。共用參數(shù)params相當(dāng)于公開密碼參數(shù)。
秘密密鑰導(dǎo)出功能X將用戶的識(shí)別信息ID和PKG用主密鑰msk作為輸入,輸出秘密密鑰dID。
秘密密鑰導(dǎo)出功能X相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密碼參數(shù)生成裝置100的秘密密鑰設(shè)定部130的功能。用戶的識(shí)別信息ID相當(dāng)于接收者識(shí)別信息。
加密功能E根據(jù)用戶的識(shí)別信息ID、共用參數(shù)params、以及消息M,生成密文C。密文C相當(dāng)于密鑰密文C。
加密功能E相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密文生成裝置200的功能。消息M相當(dāng)于明文M(=對(duì)話密鑰K)。
解密功能D將秘密密鑰dID、共用參數(shù)params、以及密文C作為輸入,對(duì)消息進(jìn)行解密。解密功能D返回所解密的消息。另外,在解密失敗的情況下,返回“拒絕”而并非消息。
解密功能D相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密文接收裝置301~303的功能。
將針對(duì)如上所述構(gòu)成的密碼系統(tǒng)∏的攻擊者設(shè)為A。
另外,將n=n(k)設(shè)為k的多項(xiàng)式。
攻擊者A可以利用加密oracle OE。
加密oracle OE預(yù)先隨機(jī)地選擇0和1中的某一個(gè)而作為b。
加密oracle OE輸入用戶的識(shí)別信息ID*、兩個(gè)消息M0*以及M1*。
加密oracle OE根據(jù)預(yù)先選擇的b,從消息M0*以及消息M1*中選擇一個(gè),通過加密功能E,根據(jù)輸入的用戶的識(shí)別信息ID*、共用參數(shù)params、以及選擇的消息,生成密文C*并進(jìn)行回答。
攻擊者A可以針對(duì)不同的用戶的識(shí)別信息ID*,調(diào)用加密oracleOE。但是,在攻擊者A調(diào)用加密oracle OE時(shí),可以輸入到加密oracleOE中的用戶的識(shí)別信息ID*的個(gè)數(shù)設(shè)為n以下。
另外,攻擊者A還可以針對(duì)相同用戶的識(shí)別信息ID*,輸入不同的消息M0*以及M1*而調(diào)用加密oracle OE。
這樣,攻擊者A多次調(diào)用加密oracle OE。加密oracle OE在輸入的兩個(gè)消息中,總是選擇相同的一方(如果是前者則總是選擇前者,如果是后者則總是選擇后者)。
另外,攻擊者A可以利用密鑰導(dǎo)出oracle Ox。
密鑰導(dǎo)出oracle Ox輸入用戶的識(shí)別信息ID。
密鑰導(dǎo)出oracle Ox通過密鑰導(dǎo)出功能X,根據(jù)攻擊者A不知道的PKG用主密鑰msk、和輸入的用戶的識(shí)別信息ID,生成秘密密鑰dID并進(jìn)行回答。
另外,攻擊者A可以利用解密oracle OD。
解密oracle OD輸入用戶的識(shí)別信息ID、和密文C。
解密oracle OD通過密鑰導(dǎo)出功能X,根據(jù)攻擊者A不知道的PKG用主密鑰msk、和輸入的用戶的識(shí)別信息ID,生成秘密密鑰dID。
解密oracle OD通過解密功能E,根據(jù)生成的秘密密鑰dID、共用參數(shù)params、以及輸入的密文C,對(duì)消息進(jìn)行解密。
解密oracle OD回答所解密的消息(或“拒絕”)。
攻擊者A利用這些oracle,對(duì)猜中b是0還是1的游戲進(jìn)行挑戰(zhàn)。
攻擊者A無法將曾經(jīng)輸入到密鑰導(dǎo)出oracle OX的用戶的識(shí)別信息ID輸入到加密oracle OE。如果攻擊者A知道秘密密鑰dID,則可以對(duì)加密oracle輸出的密文C*進(jìn)行解密,所以容易猜中對(duì)哪個(gè)消息進(jìn)行了加密,絲毫不能說解讀了密碼。
相反地,攻擊者A也無法將曾經(jīng)輸入到加密oracle OE的用戶的識(shí)別信息ID*輸入到密鑰導(dǎo)出oracle OX。
另外,攻擊者A也無法將曾經(jīng)輸入到加密oracle OE的用戶的識(shí)別信息ID*、與針對(duì)其而由加密oracle OE輸出的密文C的組合,輸入到解密oracle OD。因?yàn)樵诶媒饷躱racle OD對(duì)加密oracle輸出的密文C*進(jìn)行了解密的情況下,也容易猜中對(duì)哪個(gè)消息進(jìn)行了加密,絲毫不能說解讀了密碼。
除了上述限制,攻擊者A自由地調(diào)用oracle,推測(cè)b是0還是1。攻擊者A輸出推測(cè)結(jié)果b’。
此處,將攻擊者A針對(duì)每個(gè)用戶的識(shí)別信息ID調(diào)用加密oracleOE的次數(shù)設(shè)為qe。即,加密oracle OE有最大被調(diào)用n·qe次的可能性。
另外,將攻擊者A調(diào)用解密oracle OD的次數(shù)設(shè)為qd,將調(diào)用密鑰導(dǎo)出oracle Ox的次數(shù)設(shè)為qx。
在攻擊者A完全無法解讀密碼的情況下,成為b=b’的概率是1/2。在攻擊者A總是可以解讀密碼的情況下,成為b=b’的概率是1。在攻擊者A有時(shí)可以解讀密碼的情況下,成為b=b’的概率是1/2與1之間。另外,雖然還有成為b=b’的概率小于1/2的可能性,但在該情況下,在相反的意思上可以說攻擊者A解讀了密碼。
因此,將攻擊者A的優(yōu)勢(shì)(advantage)A d v定義為Advmun,∏,Γ(A)=|Pr[Gamemun,∏,Γ(A,0)=0]-Pr[Gamemun,∏,Γ(A,1)=0]|。
此處,Pr[…]表示發(fā)生該事件的概率。
Gamemun,∏,Γ(A,0)表示在b=0的情況下攻擊者A推測(cè)的推測(cè)結(jié)果b’的值。因此,Gamemun,∏,Γ(A,0)=0表示在b=0的情況下攻擊者A的推測(cè)命中的事件。
另外,Gamemun,∏,Γ(A,1)表示在b=1的情況下攻擊者A推測(cè)的推測(cè)結(jié)果b’的值。因此,Gamemun,∏,Γ(A,1)=0表示在b=1的情況下攻擊者A的推測(cè)沒命中的事件。
即,Advmun,∏,Γ(A)表示在攻擊者A輸出了推測(cè)結(jié)果b’=0的情況下該推測(cè)命中的概率與沒命中的概率之差的絕對(duì)值。
在攻擊者A完全無法解讀密碼的情況下,Advmun,∏,Γ(A)成為0。在攻擊者A總是可以解讀密碼的情況下,Advmun,∏,Γ(A)成為1。在攻擊者A有時(shí)可以解讀密碼的情況下,Advmun,∏,Γ(A)成為0與1之間的值。
將密碼系統(tǒng)∏的n個(gè)用戶安全性定義為Advmun,∏,Γ(t,qe,qd,qx)=max{Advmun,∏,Γ(A)}。這表示,針對(duì)每個(gè)ID調(diào)用qe次加密oracle OE、調(diào)用qd次解密oracle OD、調(diào)用qx次密鑰導(dǎo)出oracle OX而在時(shí)間t的期間給出回答的攻擊者A中的、具有最高優(yōu)勢(shì)的攻擊者的優(yōu)勢(shì)。
在Advmun,∏,Γ(t,qe,qd,qx)對(duì)于所有k的多項(xiàng)式n(k)可以忽視(negligible)時(shí),可以說密碼系統(tǒng)∏是(t,qe,qd,qx)-MU安全。
以往,作為基于ID的密碼方式的安全性而定義的是此處定義的安全性的特殊的情況,是qe=1且n=1時(shí)的MU安全性。
接下來,作為基于ID的密碼方式的多個(gè)接收者中的安全性,如下所述定義SMMR-IND-ID-CCA2安全性。
此處,“SMMR-IND-ID-CCA2安全性”表示在對(duì)多個(gè)接收者(Multi-Recipient)發(fā)送單一的消息(Single Message)的情況下針對(duì)可以適當(dāng)?shù)剡x擇目標(biāo)ID的攻擊者的安全性。
密碼系統(tǒng)∏’是對(duì)單一的消息進(jìn)行多點(diǎn)傳送的基于多個(gè)接收者ID的密碼通信系統(tǒng)。密碼系統(tǒng)∏’具有PKG用密鑰生成功能S’、秘密密鑰導(dǎo)出功能X’、加密功能E’、密文分節(jié)功能T’、以及解密功能D’。
PKG用密鑰生成功能S’以及秘密密鑰導(dǎo)出功能X’由于與MU-IND-ID-CCA2安全的定義中的PKG用密鑰生成功能S以及秘密密鑰導(dǎo)出功能X’相同,所以省略說明。
加密功能E’輸入多個(gè)用戶的識(shí)別信息ID=(ID1,ID2,…,IDn)、共用參數(shù)params、以及消息M,生成密文C。
密文分節(jié)功能T’輸入密文C,面向各ID分節(jié),生成密文CID。
密文分節(jié)功能T’相當(dāng)于基于ID的密碼通信系統(tǒng)800的密文接收裝置的密文分解部346的功能。
解密功能D’輸入秘密密鑰dID、共用參數(shù)params、以及針對(duì)其ID(被分節(jié))的密文CID,返回所解密的消息(或“拒絕”)。
將針對(duì)如上所述構(gòu)成的密碼系統(tǒng)∏’的攻擊者設(shè)為A。
攻擊者A可以利用加密oracle OE’。
加密oracle OE′輸入n個(gè)用戶各自的識(shí)別信息ID*=(ID1*,ID2*,…,IDn*)、以及兩個(gè)消息M0*以及M1*。
加密oracle OE′隨機(jī)地選擇0和1中的某一個(gè)而設(shè)為b。
加密oracle OE’根據(jù)所選擇的b,從所輸入的兩個(gè)消息M0*以及消息M1*中選擇某一方,通過加密功能E,根據(jù)輸入的n個(gè)用戶各自的識(shí)別信息ID*、共用參數(shù)params、以及選擇的消息,生成密文C*并進(jìn)行回答。
另外,攻擊者A可以利用密鑰導(dǎo)出oracle Ox’。
密鑰導(dǎo)出oracle Ox’輸入(一個(gè))用戶的識(shí)別信息ID。
密鑰導(dǎo)出oracle Ox’通過密鑰導(dǎo)出功能X’,根據(jù)攻擊者A不知道的PKG用主密鑰msk、以及輸入的用戶的識(shí)別信息ID,生成秘密密鑰dID并進(jìn)行回答。
另外,攻擊者A可以利用解密oracle OD’。
解密oracle OD’輸入用戶的識(shí)別信息ID、以及針對(duì)該ID(被分節(jié))的密文CID。
解密oracle OD’通過密鑰導(dǎo)出功能X’,根據(jù)攻擊者A不知道的PKG用主密鑰msk、以及輸入的用戶的識(shí)別信息ID,生成秘密密鑰dID。
解密oracle OD’通過解密功能D’,根據(jù)所生成的秘密密鑰dID、共用參數(shù)params、以及所輸入的密文CID,對(duì)消息進(jìn)行解密。
解密oracle OD’回答所解密的消息(或“拒絕”)。
攻擊者A調(diào)用一次加密oracle OE′,對(duì)猜中b是0還是1的游戲進(jìn)行挑戰(zhàn)。
攻擊者A在調(diào)用加密oracle OE′之前以及調(diào)用加密oracle OE′之后,都可以多次調(diào)用密鑰導(dǎo)出oracle Ox’以及解密oracle OD’。
但是,無法將向加密oracle OE′輸入了的(進(jìn)行輸入的)n個(gè)用戶各自的識(shí)別信息ID*中包含的用戶的識(shí)別信息輸入到密鑰導(dǎo)出oracle Ox’。
另外,攻擊者A也無法將向加密oracle OE’輸入了的n個(gè)用戶各自的識(shí)別信息ID*中包含的用戶的識(shí)別信息ID*、與針對(duì)其由加密oracle OE’輸出的密文C中的針對(duì)該識(shí)別信息的密文CID的組合,輸入到解密oracle OD’。
除了上述限制,攻擊者A自由地調(diào)用密鑰導(dǎo)出oracle Ox’以及解密oracle OD’,推測(cè)b是0還是1。攻擊者A輸出推測(cè)結(jié)果b’。
根據(jù)上述游戲,與MU-IND-ID-CCA2安全性的情況同樣地,將攻擊者A的優(yōu)勢(shì)Adv定義為Advsmmrn,∏’,Γ(A)=|Pr[Gamesmmrn,∏’,Γ(A,0)=0]-Pr[Gamesmmrn,∏’,Γ(A,1)=0]|。
另外,密碼系統(tǒng)∏’的n個(gè)接收者安全性也同樣地,定義為Advsmmrn,∏’,Γ(t,qd,qx)=max{Advsmmrn,∏’,Γ(A)}。這表示調(diào)用qd次解密oracle OD’、調(diào)用qx次密鑰導(dǎo)出oracle Ox’而在時(shí)間t的期間給出回答的攻擊者A中的、具有最高優(yōu)勢(shì)的攻擊者的優(yōu)勢(shì)。
并且,在Advsmmrn,∏’,Γ(t,qd,qx)對(duì)于所有k的多項(xiàng)式n(k)可以忽視時(shí),可以說密碼系統(tǒng)∏’是(t,qd,qx)-SMMR安全。
基于以上定義,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的SMMR-IND-ID-CCA2安全性進(jìn)行說明。
在本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800中,哈希值計(jì)算部244根據(jù)與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi,計(jì)算出一個(gè)哈希值H。將該方式稱為“哈希值共用化方式”。
與此相對(duì),還有如下方式哈希值計(jì)算部244分別根據(jù)與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi計(jì)算出哈希值,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)哈希值。以下將這樣的方式稱為“連接方式”。
此處,首先對(duì)連接方式的安全性進(jìn)行說明。
SMMR-IND-ID-CCA2安全性的定義中的加密oracle OE′輸入n個(gè)用戶各自的識(shí)別信息ID*=(ID1*,ID2*,…,IDn*),進(jìn)行加密處理。
與此相對(duì),MU-IND-ID-CCA2安全性的定義中的加密oracleOE輸入(一個(gè))用戶的識(shí)別信息ID*,進(jìn)行加密處理。
因此,如果調(diào)用n次MU-IND-ID-CCA2安全性的定義中的加密oracle OE而進(jìn)行關(guān)于各個(gè)用戶的識(shí)別信息的加密處理,則與SMMR-IND-ID-CCA2安全性的定義中的加密oracle OE′同等。
另外,MU-IND-ID-CCA2安全性的定義中的密鑰導(dǎo)出oracleOx以及解密oracle OD,與SMMR-IND-ID-CCA2安全性的定義中的密鑰導(dǎo)出oracle Ox’以及解密oracle OD’同等。
通過以上,基于連接方式的密碼系統(tǒng)∏’的n個(gè)接收者SMMR安全性與在原來的密碼系統(tǒng)∏中qe=1時(shí)的n個(gè)用戶MU安全性同等。即,是Advsmmrn,∏’,Γ(t,qd,qx)=Advmun,∏,Γ(t,1,qd,qx)。
另外,針對(duì)一般的公開密鑰密碼方式∏的MU安全性可以證明Advmun,∏,Γ(t,qe,qd,qx)≤qe·n·Advmu1,∏,Γ(t’,1,qd,qx)。這在基于ID的密碼方式的情況下也相同。
此處,Advmu1,∏,Γ(t’,1,qd,qx)是n個(gè)用戶MU安全性的n=1且qe=1時(shí)的安全性,所以以往被定義為基于ID的密碼方式的安全性。
因此,通過連接方式將在以往的意義中證明了安全性的基于ID的密碼方式進(jìn)行擴(kuò)展而得到的基于多個(gè)接收者ID的密碼方式的SMMR安全性成為Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx),可以證明安全性。
這樣,連接方式的SMMR安全性可以從原來的基于(單獨(dú)接收者)ID的密碼方式的MU安全性直接導(dǎo)出,但哈希值共用化方式的SMMR安全性分別需要進(jìn)行具體的證明。
在哈希值共用化方式中,哈希值計(jì)算部244計(jì)算出一個(gè)哈希值H即可,所以與計(jì)算出對(duì)應(yīng)于n個(gè)接收者的n個(gè)哈希值的連接方式相比,可以削減哈希值計(jì)算部244計(jì)算哈希值的處理的處理量。
另外,關(guān)于密文驗(yàn)證文生成部245生成密文驗(yàn)證文CC的處理,在連接方式中需要將大部分的運(yùn)算重復(fù)進(jìn)行n次,與此相對(duì),在哈希值共用化方式中,共用化直到途中為止的運(yùn)算而進(jìn)行一次即可,所以還可以削減密文驗(yàn)證文生成部245生成密文驗(yàn)證文CC的處理的處理量。
由此,密文生成裝置200中的密文生成處理的處理速度變快,即使密文生成裝置200的CPU 911等處理裝置的處理能力較低,也可以在實(shí)用的時(shí)間內(nèi)進(jìn)行密文生成處理。
本實(shí)施方式中的密文生成裝置200生成將明文M通知給n個(gè)接收者(n是1以上的整數(shù))的密文C(密鑰密文C),密文生成裝置200的特征在于具有存儲(chǔ)信息的磁盤裝置920等存儲(chǔ)裝置;處理信息的CPU911等處理裝置;密碼參數(shù)存儲(chǔ)部210;接收者識(shí)別輸入部232;明文輸入部231;密文主文生成部240;哈希值計(jì)算部244;密文驗(yàn)證文生成部245;以及密文結(jié)合部246。
密碼參數(shù)存儲(chǔ)部210的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)公開密碼參數(shù)。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù))。
明文輸入部231的特征是,使用CPU 911等處理裝置,輸入明文M。
密文主文生成部240的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi、以及明文輸入部231輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個(gè)密文主文CBi,生成結(jié)合密文,并使用CPU911等處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及哈希值計(jì)算部244計(jì)算出的哈希值H,生成密文驗(yàn)證文CC。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個(gè)密文主文CBi、以及密文驗(yàn)證文生成部245生成的密文驗(yàn)證文CC,設(shè)為一個(gè)密文C。
根據(jù)本實(shí)施方式中的密文生成裝置200,在基于ID的密碼通信方式中,將生成把同一明文M通知給多個(gè)接收者的一個(gè)密文C的處理的一部分即計(jì)算哈希值的處理、以及基于計(jì)算出的哈希值的處理分別執(zhí)行一次即可,所以具有使處理高效化、可以實(shí)現(xiàn)高速的密碼處理這樣的效果。
本實(shí)施方式中的密文生成裝置200的特征在于,還具有隨機(jī)數(shù)生成部222。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù))。
密文主文生成部240的特征是,具有第一密文生成部241、第二密文生成部242、以及第三密文生成部243。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、明文輸入部231輸入的明文M、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,將第一密文生成部241生成的n個(gè)第一密文C1i、第二密文生成部242生成的n個(gè)第二密文C2i、以及第三密文生成部243生成的n個(gè)第三密文C3i進(jìn)行結(jié)合,設(shè)為一個(gè)結(jié)合密文,并使用CPU 911等處理裝置,根據(jù)結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H0。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)哈希值H0,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合第一密文生成部241生成的n個(gè)第一密文C1i、第二密文生成部242生成的n個(gè)第二密文C2i、第三密文生成部243生成的n個(gè)第三密文C3i、以及密文驗(yàn)證文生成部245生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C(密鑰密文C)。
根據(jù)本實(shí)施方式中的密文生成裝置200,哈希值計(jì)算部244與接收者無關(guān)地計(jì)算出共用的一個(gè)哈希值H0,所以起到可以削減密文生成裝置200中的密文生成處理的處理量這樣的效果。
另外,在將對(duì)于單獨(dú)接收者的情況證明了安全性的基于ID的密碼通信方式擴(kuò)展為多個(gè)接收者的基于ID的密碼通信方式中,起到可以證明與單獨(dú)接收者的情況同樣的安全性這樣的效果。
本實(shí)施方式中的密文生成裝置200還將以下的點(diǎn)作為特征。
密文主文生成部240的特征是,使用CPU 911等處理裝置,生成包含有由接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
根據(jù)本實(shí)施方式中的密文生成裝置200,成為哈希值計(jì)算部244計(jì)算出的哈希值的基礎(chǔ)的n個(gè)密文主文CBi包含有n個(gè)接收者識(shí)別信息,所以起到基于ID的密碼通信方式的安全性變高這樣的效果。
本實(shí)施方式中的密文生成裝置200的特征在于,還具有密文通知部261。
密文通知部261的特征是,使用CPU 911等處理裝置,對(duì)利用由接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部246結(jié)合的一個(gè)密文C(密鑰密文C)。
根據(jù)本實(shí)施方式中的密文生成裝置200,密文通知部261對(duì)n個(gè)接收者通知同一密文C,所以起到通知密文的通信路徑的通信量所需的負(fù)荷小這樣的效果。
本實(shí)施方式中的密文生成裝置200的特征在于,還具有對(duì)話密鑰生成部221。
對(duì)話密鑰生成部221的特征是,使用CPU 911等處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串,設(shè)為對(duì)話密鑰K。
明文輸入部213的特征是,使用CPU 911等處理裝置,作為明文M,輸入上述對(duì)話密鑰生成部生成的對(duì)話密鑰K。
在本實(shí)施方式中的密文生成裝置200中,對(duì)話密鑰生成部221生成對(duì)話密鑰K,生成將所生成的對(duì)話密鑰通知給通知對(duì)方的密文C,所以與從外部輸入對(duì)話密鑰K的情況相比,具有安全性高這樣的效果。
本實(shí)施方式中的密文生成裝置200的特征在于,還具有數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
數(shù)據(jù)輸入部251的特征是,使用CPU 911等處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù)。
數(shù)據(jù)加密部252的特征是,使用CPU 911等處理裝置,利用對(duì)話密鑰生成部221生成的對(duì)話密鑰K,對(duì)由數(shù)據(jù)輸入部251輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密,設(shè)為一個(gè)加密數(shù)據(jù)。
密文通知部261的特征是,使用CPU 911等處理裝置,對(duì)利用由接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi識(shí)別的n個(gè)接收者,通知密文結(jié)合部246結(jié)合的一個(gè)密文C(密鑰密文C)、以及數(shù)據(jù)加密部252加密的一個(gè)加密數(shù)據(jù)。
根據(jù)本實(shí)施方式中的密文生成裝置200,數(shù)據(jù)加密部252與接收者無關(guān)地利用共用的一個(gè)對(duì)話密鑰K對(duì)明文數(shù)據(jù)進(jìn)行加密,密文通知部261與接收者無關(guān)地將共用的一個(gè)密文C以及一個(gè)加密數(shù)據(jù)通知給接收者,所以具有通信路徑的通信量所需的負(fù)荷小這樣的效果。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))對(duì)具有各自對(duì)應(yīng)的密文接收裝置的n個(gè)接收者(n是1以上的整數(shù)),利用一個(gè)密文C(密鑰密文C)通知明文M(對(duì)話密鑰K),密碼通信系統(tǒng)800的特征在于,具有密碼參數(shù)生成裝置100、密文生成裝置200、以及多個(gè)密文接收裝置301~303。
密碼參數(shù)生成裝置100的特征是,具有存儲(chǔ)信息的磁盤裝置920等存儲(chǔ)裝置;處理信息的CPU 911等處理裝置;秘密信息生成部112;秘密信息存儲(chǔ)部121;公開參數(shù)生成部113;公開參數(shù)公開部114;識(shí)別信息輸入部131;秘密密鑰生成部132;秘密密鑰通知部133。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,隨機(jī)地生成秘密信息。
秘密信息存儲(chǔ)部121的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)秘密信息生成部112生成的秘密信息。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,根據(jù)秘密信息生成部112生成的秘密信息,生成公開密碼參數(shù)。
公開參數(shù)公開部114的特征是,使用CPU 911等處理裝置,公開由公開參數(shù)生成部113生成的公開密碼參數(shù)。
識(shí)別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入對(duì)與多個(gè)密文接收裝置301~303中的一個(gè)密文接收裝置對(duì)應(yīng)的一個(gè)接收者進(jìn)行識(shí)別的接收者識(shí)別信息ID。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)秘密信息存儲(chǔ)部121存儲(chǔ)的秘密信息、公開參數(shù)生成部113生成的公開密碼參數(shù)、以及識(shí)別信息輸入部131輸入的接收者識(shí)別信息ID,生成與上述一個(gè)接收者對(duì)應(yīng)的秘密密鑰dID。
秘密密鑰通知部133的特征是,使用CPU 911等處理裝置,對(duì)與上述一個(gè)接收者對(duì)應(yīng)的一個(gè)密文接收裝置,秘密地通知秘密密鑰生成部132生成的秘密密鑰dID。
密文生成裝置200的特征是,具有存儲(chǔ)信息的磁盤裝置920等存儲(chǔ)裝置;處理信息的CPU 911等處理裝置;密碼參數(shù)存儲(chǔ)部210;接收者識(shí)別輸入部232;明文輸入部231;隨機(jī)數(shù)生成部222;密文主文生成部240;哈希值計(jì)算部244;密文驗(yàn)證文生成部245;密文結(jié)合部246;以及密文通知部261。
密碼參數(shù)存儲(chǔ)部210的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù))。
明文輸入部231的特征是,使用CPU 911等處理裝置,輸入明文M。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi、以及明文輸入部231輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個(gè)密文主文CBi,生成結(jié)合密文,使用CPU 911等處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及哈希值計(jì)算部244計(jì)算出的哈希值H,生成密文驗(yàn)證文CC。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部244生成的n個(gè)密文主文CBi、以及密文驗(yàn)證文生成部245生成的密文驗(yàn)證文CC,設(shè)為一個(gè)密文C(密鑰密文C)。
密文通知部261的特征是,使用CPU 911等處理裝置,對(duì)與上述n個(gè)接收者對(duì)應(yīng)的n個(gè)密文接收裝置,通知密文結(jié)合部246結(jié)合的一個(gè)密文C。
多個(gè)密文接收裝置301~303的特征是,分別具有存儲(chǔ)信息的磁盤裝置920等存儲(chǔ)裝置;處理信息的CPU 911等處理裝置;公開參數(shù)存儲(chǔ)部310;秘密密鑰存儲(chǔ)部323;密文接收部351;密文分解部346;驗(yàn)證哈希值計(jì)算部344;密文驗(yàn)證部345;以及密文解密部341。
公開參數(shù)存儲(chǔ)部310的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
秘密密鑰存儲(chǔ)部323的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)密碼參數(shù)生成裝置100通知的秘密密鑰dID。
密文接收部351的特征是,使用CPU 911等處理裝置,接收密文生成裝置200通知的一個(gè)密文C(密鑰密文C)。
密文分解部346的特征是,使用CPU 911等處理裝置,根據(jù)密文接收部351接收到的一個(gè)密文C,取得n個(gè)密文主文C2i、以及密文驗(yàn)證文CC,使用CPU 911等處理裝置,在取得的n個(gè)密文主文CBi中,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)密文主文CBID。
驗(yàn)證哈希值計(jì)算部344的特征是,使用CPU 911等處理裝置,根據(jù)將密文分解部346取得的n個(gè)密文主文CBi結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’。
密文驗(yàn)證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、密文分解部346取得的一個(gè)對(duì)應(yīng)密文主文CBID和密文驗(yàn)證文CC、以及驗(yàn)證哈希值計(jì)算部344計(jì)算出的驗(yàn)證哈希值H’,判定密文接收部351接收到的一個(gè)密文C中是否有匹配性。
密文解密部341的特征是,在密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID、以及密文分解部346取得的一個(gè)對(duì)應(yīng)密文主文CBID,還原明文M。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,具有如下效果在基于ID的密碼通信方式下,利用一個(gè)密文C將同一明文M通知給多個(gè)接收者,其它接收者無法解讀密文C。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下的點(diǎn)作為特征。
密文生成裝置200的特征是,還具有隨機(jī)數(shù)生成部222。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù))。
密文主文生成部240的特征是,具有第一密文生成部241、第二密文生成部242、以及第三密文生成部243。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、明文輸入部231輸入的明文M、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,結(jié)合由第一密文生成部241生成的n個(gè)第一密文C1i、第二密文生成部242生成的n個(gè)第二密文C2i、以及第三密文生成部243生成的n個(gè)第三密文C3i,設(shè)為一個(gè)結(jié)合密文,并使用CPU 911等處理裝置,根據(jù)所結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H0。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)哈希值H0,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合第一密文生成部241生成的n個(gè)第一密文C1i、第二密文生成部242生成的n個(gè)第二密文C2i、第三密文生成部243生成的n個(gè)第三密文C3i、以及密文驗(yàn)證文生成部245生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C(密鑰密文C)。
密文分解部346的特征是,使用CPU 911等處理裝置,根據(jù)由密文接收部351接收到的一個(gè)密文C,取得n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi,并使用CPU 911等處理裝置,在取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i、以及n個(gè)密文驗(yàn)證文CCi中,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID、一個(gè)對(duì)應(yīng)第三密文C3ID、以及一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID。
驗(yàn)證哈希值計(jì)算部344的特征是,使用CPU 911等處理裝置,根據(jù)將密文分解部346取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’。
密文驗(yàn)證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID中的至少某一個(gè)與一個(gè)對(duì)應(yīng)密文驗(yàn)證文、以及驗(yàn)證哈希值計(jì)算部344計(jì)算出的驗(yàn)證哈希值H’,判定密文接收部351接收到的一個(gè)密文C中是否有匹配性。
密文解密部341的特征是,在密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID、以及密文分解部346取得的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID,還原明文M。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,哈希值計(jì)算部244與接收者無關(guān)地計(jì)算出共用的一個(gè)哈希值H0,所以起到可以削減密文生成裝置200中的密文生成處理的處理量這樣的效果。
另外,在將對(duì)于單獨(dú)接收者的情況證明了安全性的基于ID的密碼通信方式擴(kuò)展為多個(gè)接收者的基于ID的密碼通信方式中,起到可以證明與單獨(dú)接收者的情況同樣的安全性這樣的效果。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點(diǎn)作為特征。
密文主文生成部240的特征是,使用CPU 911等處理裝置,生成包含有由接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,成為哈希值計(jì)算部244計(jì)算出的哈希值的基礎(chǔ)的n個(gè)密文主文CBi包括n個(gè)接收者識(shí)別信息,所以起到基于ID的密碼通信方式的安全性變高這樣的效果。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點(diǎn)作為特征。
密文生成裝置200的特征是,還具有對(duì)話密鑰生成部221、數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
對(duì)話密鑰生成部221的特征是,使用CPU 911等處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串,設(shè)為對(duì)話密鑰K。
明文輸入部231的特征是,使用CPU 911等處理裝置,作為明文M,輸入對(duì)話密鑰生成部221生成的對(duì)話密鑰K。
數(shù)據(jù)輸入部251的特征是,使用CPU 911等處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù)。
數(shù)據(jù)加密部252的特征是,使用CPU 911等處理裝置,利用對(duì)話密鑰生成部221生成的對(duì)話密鑰K,對(duì)數(shù)據(jù)輸入部251輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密,設(shè)為一個(gè)加密數(shù)據(jù)。
密文通知部261的特征是,使用CPU 911等處理裝置,對(duì)利用由接收者識(shí)別輸入部232輸入的n個(gè)接收者識(shí)別信息識(shí)別的n個(gè)接收者,通知密文結(jié)合部246結(jié)合的一個(gè)密文C(密鑰密文C)、以及數(shù)據(jù)加密部252加密的一個(gè)加密數(shù)據(jù)。
多個(gè)密文接收裝置301~303的特征是,分別還具有數(shù)據(jù)解密部352。
密文接收部351的特征是,使用CPU 911等處理裝置,接收密文生成裝置200通知的一個(gè)密文C與一個(gè)加密數(shù)據(jù)。
數(shù)據(jù)解密部352的特征是,將密文解密部341還原的明文M設(shè)為對(duì)話密鑰K’,使用CPU 911等處理裝置,利用上述對(duì)話密鑰K’,對(duì)密文接收部351接收到的一個(gè)加密數(shù)據(jù)進(jìn)行解密。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,數(shù)據(jù)加密部252與接收者無關(guān)地利用共用的一個(gè)對(duì)話密鑰K對(duì)明文數(shù)據(jù)進(jìn)行加密,密文通知部261與接收者無關(guān)地將共用的一個(gè)密文C以及一個(gè)加密數(shù)據(jù)通知給接收者,所以起到通信路徑的通信量所需的負(fù)荷小這樣的效果。
另外,在本實(shí)施方式中,說明了接收者的數(shù)量n不是預(yù)先(例如在公開密碼參數(shù)生成時(shí))決定而是在實(shí)際發(fā)送數(shù)據(jù)時(shí)決定的情況,但也可以預(yù)先固定接收者的數(shù)量n。
例如,在接收者確定為一人的情況下,也可以固定為n=1?;蛘咭部梢怨潭閚=10。
另外,在預(yù)先確定接收者的數(shù)量n的范圍而發(fā)送數(shù)據(jù)時(shí),也可以在該范圍內(nèi)指定n。例如,也可以在1≤n<100的范圍內(nèi)改變n。
即,基于ID的密碼通信系統(tǒng)800既可以是接收者的數(shù)量為預(yù)先固定的密碼通信系統(tǒng),也可以是在發(fā)送數(shù)據(jù)時(shí)可以改變接收者的數(shù)量的密碼通信系統(tǒng)。
實(shí)施方式2 使用圖11~圖18,對(duì)實(shí)施方式2進(jìn)行說明。
在說明本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800之前,首先,對(duì)作為對(duì)比例子的基于ID的密碼通信系統(tǒng)進(jìn)行說明。
本實(shí)施方式中的對(duì)比例子即基于ID的密碼通信系統(tǒng)的整體結(jié)構(gòu)由于與實(shí)施方式1中說明的部分相同,所以此處省略說明。
最初,對(duì)密碼參數(shù)生成裝置100進(jìn)行說明。
密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與實(shí)施方式1中說明的部分相同,所以使用圖4,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
群參數(shù)存儲(chǔ)部111使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)表示自然數(shù)r、乘法群G1、乘法群G2、乘法群GT以及配對(duì)(pairing)e的信息而作為群參數(shù)。
自然數(shù)r是難以求解DH問題的大素?cái)?shù)。
乘法群G1、乘法群G2以及乘法群GT是階數(shù)為自然數(shù)r的乘法群。
另外,乘法群G1與乘法群G2既可以是相同的乘法群,也可以是不同的乘法群。在乘法群G1與乘法群G2是相同的乘法群的情況下,群參數(shù)存儲(chǔ)部111也可以不存儲(chǔ)表示乘法群G2的信息。
配對(duì)e是根據(jù)乘法群G1的要素與乘法群G2的要素來計(jì)算出乘法群GT的要素的映射。以下,將根據(jù)乘法群G1的要素p與乘法群G2的要素q計(jì)算出的乘法群GT的要素記述為配對(duì)值e(p,q)。
另外,配對(duì)e是雙線性配對(duì)(Bilinear Pairing)。即,配對(duì)e具有如下性質(zhì)乘法群G1的要素p的a乘方(a為0以上且小于自然數(shù)r的整數(shù))與乘法群G2的要素q的b乘方(b為0以上且小于自然數(shù)r的整數(shù))的配對(duì)值e(p^a,q^b)等于乘法群G1的要素p與乘法群G2的要素q的配對(duì)值e(p,q)的c乘方(c為將整數(shù)a與整數(shù)b的積除以自然數(shù)r而得到的余數(shù))(如果用公式來表現(xiàn),則“e(p^a,q^b)=e(p,q)^(a·b)”)。
另外,作為使用計(jì)算機(jī)的CPU 911等處理裝置在實(shí)用的時(shí)間內(nèi)可以計(jì)算的雙線性配對(duì),已知Tate配對(duì)(Tate Pairing)、Weil配對(duì)(Weil Pairing)等。
配對(duì)e不限于特定的配對(duì),只要是雙線性配對(duì),則可以是任意的配對(duì),但設(shè)為使用計(jì)算機(jī)的CPU 911等處理裝置在實(shí)用的時(shí)間內(nèi)可以計(jì)算的配對(duì)。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所生成的整數(shù)α的信息(秘密信息)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、以及表示秘密信息生成部112輸出的整數(shù)α的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群GT,決定密鑰生成函數(shù)KDF。
密鑰生成函數(shù)KDF是根據(jù)乘法群GT的要素而計(jì)算出規(guī)定長(zhǎng)度的位串的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,決定哈希函數(shù)HF。
哈希函數(shù)HF是根據(jù)任意長(zhǎng)度的位串而計(jì)算出小于自然數(shù)r的自然數(shù)的函數(shù)。另外,設(shè)哈希函數(shù)HF根據(jù)不同的位串計(jì)算出相同的自然數(shù)的概率極低。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1,隨機(jī)地選擇乘法群G1的要素g。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機(jī)地選擇乘法群G2的四個(gè)要素g2、h1、h2、h3。
其中,乘法群G2的要素g2、h1、h2、h3選擇相互不同的要素。
另外,以使乘法群G1的要素g與乘法群G2的要素g2的配對(duì)值即乘法群GT的要素e(g,g2)不會(huì)成為乘法群GT的單位元素的方式,選擇乘法群G1的要素g與乘法群G2的要素g2。
另外,在乘法群G1與乘法群G2是相同的乘法群的情況下,乘法群G1的要素g與乘法群G2的要素g2也可以是同一要素。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1、選擇的乘法群G1的要素、以及輸入的信息所表示的整數(shù)α,計(jì)算出乘法群G1的要素g1=g^α。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出表示所輸入的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、選擇的乘法群G1的要素g、計(jì)算出的乘法群G1的要素g1、以及選擇的乘法群G2的四個(gè)要素g2、h1、h2、h3的信息,作為公開密碼參數(shù)。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入接收者識(shí)別信息ID。
在以下的說明中,密碼參數(shù)生成裝置100將接收者識(shí)別信息ID作為整數(shù)進(jìn)行處理。
例如,密碼參數(shù)生成裝置100通過將郵件地址等任意長(zhǎng)度的位串作為表示整數(shù)值的位串進(jìn)行處理,從而將接收者識(shí)別信息作為整數(shù)進(jìn)行處理。
或者,密碼參數(shù)生成裝置100也可以將郵件地址等任意長(zhǎng)度的位串作為哈希函數(shù)(既可以是與公開參數(shù)生成部113決定的哈希函數(shù)HF相同的哈希函數(shù),也可以是不同的哈希函數(shù))的輸入,取得利用哈希函數(shù)計(jì)算出的整數(shù),作為接收者識(shí)別信息。
即,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識(shí)別信息。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的整數(shù)ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入表示秘密信息存儲(chǔ)部121存儲(chǔ)的整數(shù)α的信息、參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)、以及識(shí)別信息輸入部131輸出的整數(shù)ID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成三個(gè)整數(shù)rID,1、rID,2、rID,3。三個(gè)整數(shù)rID,1、rID,2、rID,3都是1以上且小于自然數(shù)r的整數(shù),生成相互不同的整數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)α、以及輸入的整數(shù)ID,計(jì)算出α與ID的差(α-ID)的倒數(shù)1/(α-ID)。另外,這里所說的倒數(shù)是指有限域Z/rZ上的倒數(shù)。即,把將(α-ID)與倒數(shù)(假設(shè)為x)的積(α-ID)·x除以自然數(shù)r而得到的余數(shù)成為1的、1以上且小于r的整數(shù)x稱為(α-ID)的倒數(shù),記述為1/(α-ID)。
另外,自然數(shù)r由于是素?cái)?shù),所以α-ID只要不是0(或者自然數(shù)r的倍數(shù)),就存在一個(gè)(α-ID)的倒數(shù),可以使用計(jì)算機(jī)的CPU 911等處理裝置在實(shí)用的時(shí)間內(nèi)計(jì)算出。
此處,自然數(shù)r由于是非常大的自然數(shù),所以α-ID成為0(或者自然數(shù)r的倍數(shù))的概率極低,也可以忽視。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的要素g2、以及生成的整數(shù)rID,1,計(jì)算出乘法群G2的要素g2的(-rID,1)乘方即乘法群G2的要素g2^(-rID,1)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的要素h1、以及計(jì)算出的乘法群G2的要素g2^(-rID,1),計(jì)算出乘法群G2的要素h1與乘法群G2的要素g2^(-rID,1)的積即乘法群G2的要素h1·g2^(-rID,1)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)計(jì)算出的乘法群G2的要素h1·g2^(-rID,1)、以及計(jì)算出的整數(shù)1/(α-ID),計(jì)算出乘法群G2的要素h1·g2^(-rID,1)的1/(α-ID)乘方即乘法群G2的要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))。
秘密密鑰生成部132使用CPU 911等處理裝置,同樣地計(jì)算出乘法群G2的要素hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、以及乘法群G2的要素hID,3=(h3·g2^(-rID,3))^(1/(α-ID))。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出表示計(jì)算出的三個(gè)整數(shù)rID,1、rID,2、rID,3和計(jì)算出的乘法群G2的三個(gè)要素hID,1、hID,2、hID,3的信息,而作為秘密密鑰dID。
接下來,對(duì)密文生成裝置200進(jìn)行說明。
密文生成裝置200的功能塊的結(jié)構(gòu)也與實(shí)施方式1中說明的部分相同,所以使用圖5,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
密文生成裝置200與密碼參數(shù)生成裝置100同樣地,將接收者識(shí)別信息ID作為整數(shù)進(jìn)行處理。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸入n個(gè)整數(shù)IDi(i是1以上n以下的整數(shù))作為分別識(shí)別n個(gè)接收者(n是1以上的整數(shù))的n個(gè)接收者識(shí)別信息。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個(gè)整數(shù)IDi。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個(gè)整數(shù)si的信息。
第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素h1,計(jì)算出乘法群G1的要素g與乘法群G2的要素h1的配對(duì)值即乘法群GT的要素e(g,h1)。
另外,乘法群GT的要素e(g,h1)由于與整數(shù)si、明文M無關(guān)而是一定的,所以也可以事先計(jì)算并使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(g,h1)、以及輸入的信息所表示的n個(gè)整數(shù)si,計(jì)算出乘法群GT的要素e(g,h1)的si乘方即乘法群GT的n個(gè)要素e(g,h1)^si(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計(jì)算出的乘法群GT的n個(gè)要素e(g,h1)^si,計(jì)算出利用密鑰生成函數(shù)KDF將乘法群GT的要素e(g,h1)^si進(jìn)行變換后的規(guī)定長(zhǎng)度的位串即n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的明文M、以及計(jì)算出的n個(gè)密鑰位串ki,生成利用n個(gè)密鑰位串ki對(duì)明文M分別進(jìn)行了加密的n個(gè)位串,設(shè)為n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
在明文M的位長(zhǎng)與密鑰位串ki的位長(zhǎng)度相等的情況下,例如,第一密文生成部241對(duì)明文M與密鑰位串ki之間的每個(gè)位計(jì)算“異”,設(shè)為第一密文C1i。
另外,對(duì)明文M進(jìn)行加密的方式不限于使用“異”運(yùn)算的方式,只要是如果存在與密鑰位串ki相同的位串則可以從第一密文C1i還原明文M的密碼方式,也可以是其它密碼方式。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個(gè)第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及接收者識(shí)別輸入部232輸出的n個(gè)整數(shù)IDi。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g、以及輸入的n個(gè)整數(shù)IDi,計(jì)算出乘法群G1的要素g的(-IDi)乘方即乘法群G1的n個(gè)要素g^(-IDi)(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g1、以及計(jì)算出的乘法群G1的n個(gè)要素g^(-IDi),計(jì)算出乘法群G1的要素g1與乘法群G1的要素g^(-IDi)的積即乘法群G1的要素g1·g^(-IDi)(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群G1的n個(gè)要素g1·g^(-IDi),計(jì)算出乘法群G1的要素g1·g^(-IDi)的si乘方即乘法群G1的n個(gè)要素ui=(g1·g^(-IDi))^si(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,而作為n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、以及表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素g2,計(jì)算出乘法群G1的要素g與乘法群G2的要素g2的配對(duì)值即乘法群GT的要素e(g,g2)。
另外,乘法群GT的要素e(g,g2)由于與整數(shù)si無關(guān)而是一定的,所以也可以事先計(jì)算出并使用磁盤裝置920等存儲(chǔ)裝置來進(jìn)行存儲(chǔ)。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群GT的要素e(g,g2),計(jì)算出乘法群GT的要素e(g,g2)的si乘方即乘法群GT的n個(gè)要素e(g,g2)^si(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群GT的n個(gè)要素e(g,g2)^si的位串,而作為n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、第一密文生成部241輸出的n個(gè)第一密文C1i、第二密文生成部242輸出的n個(gè)第二密文C2i、以及第三密文生成部243輸出的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,分別結(jié)合所輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i,生成n個(gè)結(jié)合密文。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的n個(gè)結(jié)合密文,計(jì)算出將n個(gè)結(jié)合密文通過哈希函數(shù)HF分別進(jìn)行了變換的n個(gè)自然數(shù)βi,設(shè)為n個(gè)哈希值Hi。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出表示所計(jì)算出的n個(gè)自然數(shù)βi的信息、以及生成的n個(gè)結(jié)合密文。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及表示哈希值計(jì)算部244輸出的n個(gè)自然數(shù)βi的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素h2,計(jì)算出乘法群G1的要素g與乘法群G2的要素h2的配對(duì)值即乘法群GT的要素e(g,h2)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素h3,計(jì)算出乘法群G1的要素g與乘法群G2的要素h3的配對(duì)值即乘法群GT的要素e(g,h3)。
另外,乘法群GT的要素e(g,h2)以及乘法群GT的要素e(g,h3)由于與整數(shù)si無關(guān)而是一定的,所以也可以事先計(jì)算出并使用磁盤裝置920等存儲(chǔ)裝置來進(jìn)行存儲(chǔ)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群GT的要素e(g,h2),計(jì)算出乘法群GT的要素e(g,h2)的si乘方即乘法群GT的n個(gè)要素e(g,h2)^si(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的n個(gè)整數(shù)si、以及輸入的信息所表示的n個(gè)自然數(shù)βi,分別計(jì)算出整數(shù)si與自然數(shù)βi的積即n個(gè)整數(shù)(si·βi)(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(g,h3)、以及計(jì)算出的n個(gè)整數(shù)(si·βi),計(jì)算出乘法群GT的要素e(g,h3)的(si·βi)乘方即乘法群GT的n個(gè)要素e(g,h3)^(si·βi)(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的n個(gè)要素e(g,h2)^si、以及計(jì)算出的乘法群GT的n個(gè)要素e(g,h3)^(si·βi),計(jì)算出乘法群GT的要素e(g,h2)^si與乘法群GT的要素e(g,h3)^(si·βi)的積即乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·βi)(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群GT的n個(gè)要素yi的位串,而作為n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計(jì)算部244輸出的n個(gè)結(jié)合密文、以及密文驗(yàn)證文生成部245輸出的n個(gè)密文驗(yàn)證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的n個(gè)結(jié)合密文和輸入的n個(gè)密文驗(yàn)證文全部結(jié)合,而生成一個(gè)密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個(gè)密鑰密文C。
另外,在該例子中,密文結(jié)合部246輸入哈希值計(jì)算部244輸出的n個(gè)結(jié)合密文,但結(jié)合密文由于是結(jié)合第一密文C1i、第二密文C2i、以及第三密文C3i而得到的密文,所以密文結(jié)合部246輸入n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i。
圖11是示出本實(shí)施方式中的對(duì)比例子即密文生成裝置200中交換的信息的流程的一個(gè)例子的圖。
接收者識(shí)別輸入部232輸入n個(gè)接收者識(shí)別信息ID1、ID2、…、IDn。
隨機(jī)數(shù)生成部222生成與接收者識(shí)別輸入部232輸入的接收者識(shí)別信息ID1、ID2、…、IDn的數(shù)量相同數(shù)量的n個(gè)整數(shù)s1、s2、…、sn。
第一密文生成部241根據(jù)明文M與整數(shù)s1生成第一密文C11,根據(jù)明文M與整數(shù)s2生成第一密文C12,…,根據(jù)明文M與整數(shù)sn生成第一密文C1n。
第二密文生成部242根據(jù)接收者識(shí)別信息ID1與整數(shù)s1生成第二密文C21,根據(jù)接收者識(shí)別信息ID2與整數(shù)s2生成第二密文C22,…,根據(jù)接收者識(shí)別信息IDn與整數(shù)sn生成第二密文C2n。
第三密文生成部243根據(jù)整數(shù)s1生成第三密文C31,根據(jù)整數(shù)s3生成第三密文C32,…,根據(jù)整數(shù)sn生成第三密文C3n。
哈希值計(jì)算部244結(jié)合第一密文C11、第二密文C21、以及第三密文C31而生成結(jié)合密文(C11|C21|C31),結(jié)合第一密文C12、第二密文C22、以及第三密文C32而生成結(jié)合密文(C12|C22|C32),…,結(jié)合第一密文C1n、第二密文C2n、以及第三密文C3n而生成結(jié)合密文(C1n|C2n|C3n)。此處“|”表示結(jié)合。例如,(C11|C21|C31)表示在位串C11之后結(jié)合位串C21、而且在其后結(jié)合位串C31而得到的位串。另外,結(jié)合的順序也可以是與它不同的順序。
哈希值計(jì)算部244根據(jù)生成的結(jié)合密文(C11|C21|C31)計(jì)算出哈希值H1,根據(jù)生成的結(jié)合密文(C12|C22|C32)計(jì)算出哈希值H2,…,根據(jù)生成的結(jié)合密文(C1n|C2n|C3n)計(jì)算出哈希值Hn。
密文驗(yàn)證文生成部245根據(jù)整數(shù)s1與哈希值H1生成密文驗(yàn)證文CC1,根據(jù)整數(shù)s2與哈希值H2生成密文驗(yàn)證文CC2,…,根據(jù)整數(shù)sn與哈希值Hn生成密文驗(yàn)證文CCn。
密文結(jié)合部246將n個(gè)結(jié)合密文(C11|C21|C31)、(C12|C22|C32)、…、(C1n|C2n|C3n)、與n個(gè)密文驗(yàn)證文CC1、CC2、…、CCn全部結(jié)合,而生成一個(gè)密鑰密文C=(C11|C21|C31|CC1|C12|C22|C32|CC2|…|C1n |C2n |C3n|CCn)。
另外,在該例子中,按照將與一個(gè)接收者對(duì)應(yīng)的第一密文~密文驗(yàn)證文匯總到一處的順序來結(jié)合密文而生成密鑰密文C,但結(jié)合的順序也可以是與它不同的順序。例如,也可以如(C11|C12|…|C1n|C21|C22|…|C2n|C31|C32|…|C3n|CC1|CC2|…|CCn)那樣,按照關(guān)于第一密文將第一密文彼此匯總到一處、關(guān)于第二密文將第二密文彼此匯總到一處的順序來進(jìn)行結(jié)合。
如該例子那樣,由于按照將與一個(gè)接收者對(duì)應(yīng)的第一密文~密文驗(yàn)證文匯總到一處的順序進(jìn)行結(jié)合的方法,能夠?qū)⒐V涤?jì)算部244結(jié)合的結(jié)合密文原樣地進(jìn)行結(jié)合而生成密鑰密文C,所以是優(yōu)選的。另外,還具有能夠容易地發(fā)現(xiàn)對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的密文的優(yōu)點(diǎn)。
接下來,對(duì)密文接收裝置301~303進(jìn)行說明。
密文接收裝置301~303的功能塊的結(jié)構(gòu)也與實(shí)施方式1中說明的部分相同,所以使用圖6,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個(gè)密鑰密文C,取得對(duì)應(yīng)于自身所對(duì)應(yīng)的接收者的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
例如,一個(gè)密鑰密文C如圖11所示,是按照(C11|C21|C31|CC1|C12|C22|C32|CC2|…|C1n|C2n|C3n|CCn)這樣的順序結(jié)合密文而得到的密文。
密文分解部346例如將一個(gè)密鑰密文C按照每個(gè)第一密文~密文驗(yàn)證文的位長(zhǎng)度之和進(jìn)行分割,而設(shè)為(C11|C21|C31|CC1)、(C12|C22|C32|CC2)、…、(C1n|C2n|C3n|CCn),從其中取得與自己對(duì)應(yīng)的對(duì)應(yīng)密文(C1ID|C2ID|C3ID|CCID)。
密文分解部346例如根據(jù)密文接收部351接收到的通知數(shù)據(jù)720的其它部分,判斷與自己對(duì)應(yīng)的對(duì)應(yīng)密文是第幾個(gè),并根據(jù)判斷結(jié)果,取得對(duì)應(yīng)密文。
接下來,密文分解部346分割所取得的對(duì)應(yīng)密文(C1ID|C2ID|C3ID|CCID),取得驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
而且,密文分解部346分割所取得的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID),取得對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID。
密文分解部346輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
另外,在該例子中,為了省去驗(yàn)證哈希值計(jì)算部344生成驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)的工作,密文分解部346使用CPU 911等處理裝置,還一并輸出所取得的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,結(jié)合所輸入的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID,生成驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)。另外,結(jié)合的順序只要與密文生成裝置200的哈希值計(jì)算部244生成結(jié)合密文時(shí)的順序相同,則也可以是與它不同的順序。
另外,在如上述例子那樣,在密文分解部346輸出驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)的情況下,驗(yàn)證哈希值計(jì)算部344也可以代替生成驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID),而輸入密文分解部346所輸出的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成或輸入的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID),計(jì)算出將驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進(jìn)行變換后的自然數(shù)β’,并設(shè)為哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出表示所計(jì)算出的自然數(shù)β’的信息。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID、密文分解部346輸出的對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID和對(duì)應(yīng)密文驗(yàn)證文CCID、以及表示驗(yàn)證哈希值計(jì)算部344輸出的自然數(shù)β’的信息。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,3、以及輸入的信息所表示的自然數(shù)β’,計(jì)算出乘法群G2的要素hID,3的β’乘方即乘法群G2的要素hID,3^β’。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,2、以及計(jì)算出的乘法群G2的要素hID,3^β’,計(jì)算出乘法群G2的要素hID,2與乘法群G2的要素hID,3^β’之積即乘法群G2的要素hID,2·hID,3^β’。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的對(duì)應(yīng)第二密文C 2ID所表示的乘法群G1的要素uID、以及計(jì)算出的乘法群G2的要素hID,2·hID,3^β’,計(jì)算出乘法群G1的要素uID與乘法群G2的要素hID,2·hID,3^β’的配對(duì)值即乘法群GT的要素e(uID,hID,2·hID,3^β’)。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的秘密密鑰dID所表示的整數(shù)rID,2與整數(shù)rID,3、以及輸入的信息所表示的自然數(shù)β’,計(jì)算出整數(shù)rID,3和自然數(shù)β’的積、與整數(shù)rID,2之和即整數(shù)rID,2+rID,3·β’。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及計(jì)算出的整數(shù)rID,2+rID,3·β’,計(jì)算出乘法群GT的要素vID的rID,2+rID,3·β’乘方即乘法群GT的要素vID^(rID,2+rID,3·β’)。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(uID,hID,2·hID,3^β’)、以及計(jì)算出的乘法群GT的要素vID^(rID,2+rID,3·β’),計(jì)算出乘法群GT的要素e(uID,hID,2·hID,3^β’)與乘法群GT的要素vID^(rID,2+rID,3·β’)之積即乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’)。
密文驗(yàn)證部345使用CPU 911等處理裝置,將輸入的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群GT的要素yID、與計(jì)算出的乘法群GT的要素y’進(jìn)行比較,在乘法群GT的要素yID與計(jì)算出的乘法群GT的要素y’一致的情況下,判定為密文接收部351輸入的一個(gè)密鑰密文C中有匹配性,在不一致的情況下,判定為密文接收部351輸入的一個(gè)密鑰密文C中無匹配性。
此處,密文生成裝置200的密文驗(yàn)證文生成部245計(jì)算出的乘法群GT的要素yi是yi=e(g,h2)^si·e(g,h3)^(si·βi)。
另外,密文生成裝置200的第二密文生成部242計(jì)算出的乘法群G1的要素ui是ui=(g1·g^(-IDi))^si,關(guān)于密碼參數(shù)生成裝置100的公開參數(shù)生成部113計(jì)算出的乘法群G1的要素g1,由于g1=g^α,所以u(píng)i=g^(si·(α-IDi))。
另外,密文生成裝置200的第三密文生成部243計(jì)算出的乘法群GT的要素vi是vi=e(g,g 2)^si。
另一方面,密文驗(yàn)證文生成部245計(jì)算出的乘法群GT的要素y’是y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’)。由配對(duì)e的雙線性,是y’=e(uID,hID,2)·e(uID,hID,3)^β’·vID^(rID,2+rID,3·β’)。
另外,關(guān)于密碼參數(shù)生成裝置100的秘密密鑰生成部132計(jì)算出的乘法群G2的要素hID,2、hID,3,由于hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、hID,3=(h3·g2^(-rID,3))^(1/(α-ID)),所以e(uID,hID,2)=e(g,h2·g2^(-rID,2))^sID、e(uID,hID,3)=e(g,h3·g2^(-rID,3))^sID。
因此,y’=e(g,h2)^sID·e(g,h3)^(sID·β’)。如果一個(gè)密鑰密文C中有匹配性,則β’=βID,所以成為y’=y(tǒng)ID。
在密文驗(yàn)證部345判定為密文接收部351輸入的一個(gè)密鑰密文C中有匹配性的情況下,密文解密部341為了還原明文M,進(jìn)行以下處理。
密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID、以及密文分解部346輸出的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID和對(duì)應(yīng)第三密文C3ID。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,1、以及輸入的對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID,計(jì)算出乘法群G1的要素uID與乘法群G2的要素hID,1的配對(duì)值即乘法群GT的要素e(uID,hID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的秘密密鑰dID所表示的整數(shù)rID,1、以及輸入的對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的要素vID,計(jì)算出乘法群GT的要素vID的rID,1乘方即乘法群GT的要素vID^rID,1。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(uID,hID,1)、以及計(jì)算出的乘法群GT的要素vID^rID,1,計(jì)算出乘法群GT的要素e(uID,hID,1)與乘法群GT的要素vID^rID,1之積即乘法群GT的要素e(uID,hID,1)·vID^rID,1。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計(jì)算出的乘法群GT的要素e(uID,hID,1)·vID^rID,1,計(jì)算出將乘法群GT的要素e(uID,hID,1)·vID^rID,1通過密鑰生成函數(shù)KDF進(jìn)行變換后的規(guī)定長(zhǎng)度的位串即密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的對(duì)應(yīng)第一密文C1ID、以及計(jì)算出的密鑰位串k’,生成將對(duì)應(yīng)第一密文C1ID利用密鑰位串k’解密而得到的位串。
此處,密文生成裝置200的第一密文生成部241計(jì)算出的密鑰位串ki是ki=KDF(e(g,h1)^si)。
另一方面,密文解密部341計(jì)算出的密鑰位串k’是k’=KDF(e(uID,hID,1)·vID^rID,1)。
另外,密碼參數(shù)生成裝置100的秘密密鑰生成部132計(jì)算出的乘法群G2的要素hID,1是hID,1=(h1·g2^(-rID,1))^(1/(α-ID))。
因此,k’=KDF(e(g,h1)^sID),所以成為k’=kID。
密文解密部341利用與密文生成裝置200的第一密文生成部241對(duì)明文M進(jìn)行加密而得到的密鑰位串相同的密鑰位串k’,對(duì)對(duì)應(yīng)第一密文C1ID進(jìn)行解密,所以可以還原明文M。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖12是示出本實(shí)施方式中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的參數(shù)設(shè)定處理的工序共同的工序,附加同一標(biāo)號(hào)。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息存儲(chǔ)部121使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)表示秘密信息生成部112生成的整數(shù)α的信息。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群GT與自然數(shù)r,決定密鑰生成函數(shù)KDF與哈希函數(shù)HF。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g和乘法群G2的四個(gè)要素g2、h1、h2、h3。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1、在秘密信息生成工序S11中秘密信息生成部112生成的整數(shù)α、以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α。
參數(shù)存儲(chǔ)部122使用磁盤裝置920等存儲(chǔ)裝置,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、選擇的乘法群G1的要素g、計(jì)算出的乘法群G1的要素g1、以及選擇的乘法群G2的四個(gè)要素g2、h1、h2、h3的信息,存儲(chǔ)為公開密碼參數(shù)。
在密碼參數(shù)公開工序S13中,公開參數(shù)公開部114使用CPU 911等處理裝置,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、公開參數(shù)生成部113決定的密鑰生成函數(shù)KDF和哈希函數(shù)HF、公開參數(shù)生成部113選擇的乘法群G1的要素g和乘法群G2的四個(gè)要素g2、h1、h2、h3、以及公開參數(shù)生成部113計(jì)算出的乘法群G1的要素g1的信息,作為公開密碼參數(shù)進(jìn)行公開。
關(guān)于公開參數(shù)公開部114公開的公開密碼參數(shù),由密文生成裝置200以及密文接收裝置301~303取得,并由密碼參數(shù)存儲(chǔ)部210以及公開參數(shù)存儲(chǔ)部310使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
圖13是示出本實(shí)施方式中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的秘密密鑰設(shè)定處理的工序共同的工序,附加同一標(biāo)號(hào)。
在識(shí)別輸入工序S21中,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識(shí)別信息。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的三個(gè)整數(shù)rID,1、rID,2、rID,3。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的三個(gè)要素h1、h2、h3、以及生成的三個(gè)整數(shù)rID,1、rID,2、rID,3,計(jì)算出乘法群G2的三個(gè)要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))、hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、hID,3=(h3·g2^(-rID,3))^(1/(α-ID))。
在秘密密鑰通知工序S23中,秘密密鑰通知部133使用CPU 911等處理裝置,將表示在秘密密鑰生成工序S22中秘密密鑰生成部132生成的三個(gè)整數(shù)rID,1、rID,2、rID,3、以及在秘密密鑰生成工序S22中秘密密鑰生成部132計(jì)算出的乘法群G2的三個(gè)要素hID,1、hID,2、hID,3的信息作為秘密密鑰dID,秘密地通知給所對(duì)應(yīng)的密文接收裝置。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由對(duì)應(yīng)的密文接收裝置取得,并由秘密密鑰存儲(chǔ)部323使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
圖14是示出本實(shí)施方式中的對(duì)比例子即密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號(hào)。
在接收者識(shí)別輸入工序S32中,接收者識(shí)別輸入部232使用CPU911等處理裝置,作為分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息,而輸入與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)IDi。
在隨機(jī)數(shù)生成工序S34中,隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT、配對(duì)e、乘法群G1的要素g、乘法群G2的要素h1和密鑰生成函數(shù)KDF、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)在對(duì)話密鑰生成工序S33中對(duì)話密鑰生成部221生成的對(duì)話密鑰K(=明文M)、以及計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki,利用與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki對(duì)一個(gè)對(duì)話密鑰K分別進(jìn)行加密,而生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g和乘法群G1的要素g1、在接收者識(shí)別輸入工序S32中接收者識(shí)別輸入部232輸入的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)IDi、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的、乘法群G1的n個(gè)要素ui=(g1·g^(-IDi))^si。
第二密文生成部242使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的、乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT、配對(duì)e、乘法群G1的要素g和乘法群G2的要素g2、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的、乘法群GT的n個(gè)要素vi=e(g,g2)^si。
第三密文生成部243使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的、乘法群GT的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i。
在哈希值計(jì)算工序S38中,哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i,生成將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i分別結(jié)合而得到的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i)。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i),計(jì)算出將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i)分別通過哈希函數(shù)HF進(jìn)行變換后的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)βi=HF(C1i|C2i|C3i)。
在密文驗(yàn)證文生成工序S39中,密文驗(yàn)證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT、配對(duì)e、乘法群G1的要素g和乘法群G2的兩個(gè)要素h2、h3、在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si、以及在哈希值計(jì)算工序S38中哈希值計(jì)算部244計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)βi,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·βi)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群GT的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi。
圖15是示出本實(shí)施方式中的對(duì)比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號(hào)。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,根據(jù)在通知數(shù)據(jù)接收工序中密文接收部351輸出的一個(gè)密鑰密文C,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID、一個(gè)對(duì)應(yīng)第三密文C3ID、以及一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID。
在驗(yàn)證哈希值計(jì)算工序S53中,驗(yàn)證哈希值計(jì)算部344使用CPU911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及將在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID以及一個(gè)對(duì)應(yīng)第三密文C3ID結(jié)合而得到的一個(gè)對(duì)應(yīng)結(jié)合密文(C1ID|C2ID|C3ID),計(jì)算出將一個(gè)對(duì)應(yīng)結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)整數(shù)β’,而作為驗(yàn)證哈希值H’。
在密文驗(yàn)證工序S54中,密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT和配對(duì)e、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的兩個(gè)整數(shù)rID,2、rID,3和乘法群G2的兩個(gè)要素hID,2、hID,3、在密文分解工序S52中密文分解部346取得的一個(gè)驗(yàn)證第二密文C2ID所表示的乘法群G1的一個(gè)要素uID和一個(gè)驗(yàn)證第三密文C3ID所表示的乘法群GT的一個(gè)要素vID、以及在驗(yàn)證哈希值計(jì)算工序S53中驗(yàn)證哈希值計(jì)算部344計(jì)算出的一個(gè)整數(shù)β’,計(jì)算出乘法群GT的一個(gè)要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’)。
密文驗(yàn)證部345使用CPU 911等處理裝置,對(duì)在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群GT的一個(gè)要素yID、與計(jì)算出的乘法群GT的一個(gè)要素y’進(jìn)行比較。
在乘法群GT的要素yID與乘法群GT的要素y’相等的情況下,密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密鑰密文C中有匹配性,并進(jìn)入密文解密工序S55。
在乘法群GT的要素yID與乘法群GT的要素y’不相等的情況下,密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密鑰密文C中無匹配性,并結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的乘法群GT、配對(duì)e和密鑰生成函數(shù)KDF、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、以及在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的一個(gè)要素uID和一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的一個(gè)要素vID,計(jì)算出一個(gè)密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第一密文C1ID、以及計(jì)算出的一個(gè)密鑰位串k’,利用密鑰位串k’對(duì)對(duì)應(yīng)第一密文C1ID進(jìn)行解密,生成規(guī)定長(zhǎng)度的位串,并設(shè)為對(duì)話密鑰K’(=明文M)。
如上所述,密文解密部341生成的對(duì)話密鑰K’成為與密文生成裝置200的對(duì)話密鑰生成部221生成的對(duì)話密鑰K相同的位串。
接下來,對(duì)本實(shí)施方式中的對(duì)比例子即基于ID的密碼通信系統(tǒng)所使用的基于ID的密碼方式的安全性進(jìn)行討論。
另外,在以下證明中,為了簡(jiǎn)單而將乘法群G1與乘法群G2設(shè)為同一乘法群G。
首先,作為本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式歸結(jié)的數(shù)學(xué)問題,定義q-D-t…BDHE問題(q Decisional TrancatedAugmented Bilinear Diffie-Hellman Exponent Problem)。
在q-D-tABDHE問題中,解答者B被提供乘法群G的q+3個(gè)要素g’、g’q+2、g、g1、…、gq、以及乘法群GT的一個(gè)要素Z。另外,對(duì)于解答者B,作為秘密的信息,有1以上且小于乘法群G的階數(shù)的整數(shù)α。
乘法群G的要素g以及g’是隨機(jī)地選擇的乘法群G的要素。
乘法群G的要素gi(i是1以上q以下的整數(shù))是乘法群G的要素g的α^i乘方即乘法群G的要素g^(α^i),其中,將整數(shù)α的i乘方設(shè)為整數(shù)α^i。
乘法群G的要素g’q+2也同樣。即,乘法群G的要素g’q+2=g’^(α^(q+2))。
解答者B對(duì)判別乘法群G的要素gq+1=g^(α^(q+1))和乘法群G的要素g’的配對(duì)值即乘法群GT的要素e(gq+1,g’)是否與所提供的乘法群GT的要素Z相等的問題進(jìn)行回答。
實(shí)際上將Z=e(gq+1,g’)的分布設(shè)為P,將Z是隨機(jī)地選擇的乘法群GT的要素的分布設(shè)為R。
將解答者B的優(yōu)勢(shì)定義為Advq-d-tabdhek,G,GT(B)=|Pr[B(1k,I)=1I←P]-P r[B(1k,I)=1I←R]|。此處,B(1k,I)表示解答者B的判斷結(jié)果,“B(1k,I)=1”表示判定為Z=e(gq+1,g’)。另外,“I←P”表示實(shí)際上是Z=e(gq+1,g’)的事件,“I←R”表示Z是隨機(jī)地選擇的乘法群GT的要素的事件。即,Advq-d-tabdhek、G,G T(B)是在實(shí)際上Z=e(gq+1,g’)的情況下解答者B判斷為Z=e(gq+1,g’)(即,解答者B的判斷正確)的概率、與在Z為隨機(jī)地選擇的乘法群GT的要素的情況下解答者B判斷為Z=e(gq+1,g’)(即,解答者B的判斷錯(cuò)誤)的概率之差的絕對(duì)值。
另外,設(shè)為Advq-d-tabdhek、G,GT(t)=max(Advq-d-tabdhek、G,GT(B))。這表示在時(shí)間t的期間解答的解答者B中的、具有最高優(yōu)勢(shì)的解答者的優(yōu)勢(shì)。
在Advq-d-tabdhek、G,G T(t)≤ε時(shí),在(G,GT)中(t,ε,q)-D-tABDHE假設(shè)(或者、簡(jiǎn)稱為“q-D-tABDHE假設(shè)”)成立。
首先,證明成為本實(shí)施方式中的對(duì)比例子即多個(gè)接收者的基于ID的密碼方式∏’的基礎(chǔ)的單獨(dú)接收者的基于ID的密碼方式∏的MU-IND-ID-CCA2安全性。
攻擊者A設(shè)為具有針對(duì)密碼方式∏的優(yōu)勢(shì)Advmun,∏,Γ(A)=|Pr[T0]-1/2|。此處,T0表示在MU-IND-ID-CCA2安全性的定義中攻擊者A挑戰(zhàn)的游戲(以下稱為“G0”)中成為b=b’(即,攻擊者A正確解答)的事件。Pr[T0]表示發(fā)生事件T0的概率。
另外,設(shè)為q=qx+n+1。
以下,同樣地,在游戲Gλ(λ為1以上6以下的整數(shù))中,將成為b=b’的事件稱為Tλ。
游戲G1與游戲G0的不同點(diǎn)在于,攻擊者A攻擊的對(duì)象不是密碼系統(tǒng)∏,而是由解答者B模擬的加密oracle OE、密鑰導(dǎo)出oracle OX、解密oracle OD。
首先,解答者B如下所述,模擬PKG用密鑰生成功能S。
解答者B隨機(jī)地生成1以上且小于乘法群G的階數(shù)r的整數(shù)α。
解答者B生成具有0以上且小于r的隨機(jī)的整數(shù)系數(shù)的三個(gè)q次多項(xiàng)式fj(x)(j是1以上3以下的整數(shù))。
解答者B隨機(jī)地生成密鑰生成函數(shù)KDF和不易沖突的哈希函數(shù)HF。
解答者B隨機(jī)地選擇乘法群G的要素g。
解答者B計(jì)算出乘法群G的要素g1=g^α。
解答者B計(jì)算出乘法群G的三個(gè)要素h1=g^f1(α)、h2=g^f2(α)、h3=g^f3(α)。
解答者B隨機(jī)地生成1以上且小于r的整數(shù)s0。
解答者B計(jì)算出乘法群G的要素g’=g^s0。
解答者B輸出共用參數(shù)params=(g,g1,h1,h2,h3,KDF,HF)。
此處,由于g、α、fj(x)、s0是隨機(jī)的,所以共用參數(shù)params的分布成為與實(shí)際的PKG用密鑰生成功能S相同的分布。另外,解答者B如下所述,模擬密鑰導(dǎo)出oracle OX。
解答者B在輸入的用戶的識(shí)別信息ID(作為整數(shù)進(jìn)行處理)與整數(shù)α相等的情況下,進(jìn)行拒絕。這在實(shí)際的密碼系統(tǒng)∏中也同樣。
在ID≠α的情況下,解答者B計(jì)算出三個(gè)整數(shù)rID,j=fj(ID)(j是1以上3以下的整數(shù))。
解答者B計(jì)算出(q-1)次多項(xiàng)式FID,j(x)=(fj(x)-fj(ID))/(x-ID)。
解答者B計(jì)算出乘法群G的三個(gè)要素hID,j=g^FID,j(α)(j是1以上3以下的整數(shù))。
解答者B輸出dID=(rID,1,rID,2,rID,3,hID,1,hID,2,hID,3)而作為秘密密鑰dID。
此處,h1=g^f1(α),所以hID,1=g^((f1(α)-f1(ID))/(α-ID))=(h1·g^(-f1(ID)))^(1/(α-ID))。hID,2、hID,3也同樣。由于rID,j=fj(ID),所以rID,j與hID,j的關(guān)系成為與實(shí)際的密碼系統(tǒng)∏相同的關(guān)系。
另外,解答者B如下所述模擬解密oracle OD。
解答者B通過上述過程模擬密鑰導(dǎo)出oracle OX,而生成秘密密鑰dID。
解答者B根據(jù)生成的秘密密鑰dID,通過與實(shí)際的密碼系統(tǒng)∏相同的過程,對(duì)密文C進(jìn)行解密。
并且,解答者B如下所述模擬加密oracle OE。
解答者B在輸入的用戶的識(shí)別信息ID*與整數(shù)α相等的情況下,通過與實(shí)際的密碼系統(tǒng)∏相同的過程,生成密文C。
在ID*≠α的情況下,解答者B通過上述的過程模擬密鑰導(dǎo)出oracle OX,生成秘密密鑰dID*=(rID*,1,rID*,2,rID*,3,hID*,1,hID*,2,hID*,3)。
解答者B計(jì)算出乘法群GT的要素Z=e(g,g’)^(α^(q+1))。
解答者B根據(jù)(q+2)次多項(xiàng)式φ(x)=x^(q+2),計(jì)算出(q+1)次多項(xiàng)式ΦID*(x)=(φ(x)-φ(ID*))/(x-ID*)。將計(jì)算出的(q+1)次多項(xiàng)式ΦID*(x)的τ次系數(shù)(τ是0以上q以下的整數(shù))設(shè)為ΦID*,τ。
解答者B隨機(jī)地生成1以上且小于r的整數(shù)s’*。
解答者B計(jì)算出乘法群G的要素u*=(g’^(φ(α)-φ(ID*))^s’*。
解答者B計(jì)算出乘法群GT的要素v*=(Z·e(g’,∏(g^(ΦID*,τ·α^τ)))^s’*。
解答者B計(jì)算出密鑰位串k*=KDF(e(u*,hID*,1)·v*^rID*,1)。
解答者B利用密鑰位串k*,對(duì)所選擇的消息進(jìn)行加密。
解答者B結(jié)合表示所加密的消息的位串(第一密文C1)、表示乘法群G的要素u*的位串(第二密文C2)、以及表示乘法群G的要素v*的位串(第三密文C3),通過哈希函數(shù)HF計(jì)算出哈希值β*。
解答者B計(jì)算出乘法群GT的要素y*=e(u*,hID*,2·hID*,3^β*)·v*^(rID*,2+rID*,3·β*)。
解答者B生成密文C并輸出。
此處,設(shè)為s*=s’*·s0·ΦID*(α)。
由于g’=g^s0、φ(α)-φ(ID*)=ΦID*(α)·(α-ID*)、g1=g^α,所以u(píng)*=g^(s*·(α-ID*))=(g1·g^(-ID*))^s*。
另外,由于∏(g^(ΦID,τ·α^τ))=g^∑(ΦID,τ·α^τ)=g^(ΦID(α)-α^(q+1)),所以從配對(duì)e的雙線性,v*=e(g,g)^s*。
并且,由于rID,j=fj(ID)、hID,1=g^((f1(α)-f1(ID))/(α-ID)),所以k*=KDF(e(g^(s*·(α-ID*)),g^((f1(α)-f1(ID))/(α-ID)))·e(g,g)^(s*·f1(ID))=KDF(e(g,g)^(s*·f1(ID)))=KDF(e(g,h1)^s*)。同樣地,y*=e(g,h2)^s*·e(g,h3)^(s*·β)。
因此,各密文之間的關(guān)系也成為與實(shí)際的密碼系統(tǒng)∏相同的關(guān)系。
另外,由于s*針對(duì)加密oracle OE的每次調(diào)用是獨(dú)立隨機(jī)的,所以密文的分布也具有與實(shí)際的密碼系統(tǒng)∏相同的分布。
并且,由于q=qx+n+1,密鑰導(dǎo)出oracle OX、加密oracleOE、解密oracle OD中使用的{fj(ID)}以及{fj(α)}全部是獨(dú)立隨機(jī)的,由解答者B進(jìn)行的模擬是完整的。
因此,游戲G1中的攻擊者A的優(yōu)勢(shì)與游戲G0中的優(yōu)勢(shì)相同,Pr[T1]=Pr[T0]。
游戲G2是將游戲G1如下所述變更而得到的游戲。
在加密oracle OE的模擬中,解答者B代替計(jì)算乘法群GT的要素Z=e(g,g’)^(α^q+1)),而通過以下過程,預(yù)先(例如在PKG用密鑰生成功能S的模擬時(shí))計(jì)算出Z。
解答者B隨機(jī)地生成1以上且小于乘法群G的階數(shù)r的整數(shù)z。其中,設(shè)為z≠α^(q+1)。
解答者B計(jì)算出乘法群GT的要素Z=e(g,g’)^z。
如果在游戲G1中的攻擊者A的舉動(dòng)、與游戲G2中的攻擊者A的舉動(dòng)之間存在某些差異,則解答者B可以通過判別該差異,來判斷是否為Z=e(g,g’)^(α^(q+1))。
因此,解答者B考慮利用在所提供的q-D-tABDHE問題中提供的參數(shù)來進(jìn)行oracle的模擬的情況。
解答者B在所提供的q-D-tABDHE問題中,代替不知道未被解答者B知道的秘密的整數(shù)α,而知道乘法群G的q+3個(gè)要素g’、g’q+2、g、g1、…、gq,所以可以利用它來進(jìn)行模擬。
即,解答者B將在q-D-tABDHE問題中提供的乘法群G的要素g設(shè)為在PKG用密鑰生成功能S的模擬中選擇的乘法群G的要素g。
另外,解答者B代替隨機(jī)地生成整數(shù)s0,而將在q-D-tABDHE問題中提供的乘法群G的要素g’設(shè)為在PKG用密鑰生成功能S的模擬中計(jì)算出的乘法群G的要素g’(=g^s0)。
在將q次多項(xiàng)式fj(x)的τ次系數(shù)設(shè)為fj,τ(τ是0以上且q以下的整數(shù))時(shí),乘法群G的要素h1是h1=g^fj(α)=∏(g^(fj,τ·α^τ))=∏(gτ^fj,τ),所以解答者B即使不知道α,也可以計(jì)算出乘法群G的要素h1。關(guān)于h2、h3也相同。
因此,解答者B即使不知道α,也可以模擬PKG用密鑰生成功能S。
同樣地,解答者B即使不知道α,也可以模擬密鑰導(dǎo)出oracle OX以及解密oracle OD。另外,解答者B除了乘法群GT的要素Z的計(jì)算以外,還可以模擬加密oracle OE。
解答者B將在q-D-tABDHE問題中提供的乘法群GT的要素Z用作乘法群GT的要素Z,而對(duì)加密oracle OE進(jìn)行模擬。
如果Z=(g,g’)^(α^(q+1)),則解答者B進(jìn)行游戲G1。
如果Z≠(g,g’)^(α^(q+1)),則解答者B進(jìn)行游戲G2。
解答者B根據(jù)游戲內(nèi)的攻擊者A的舉動(dòng)的差異來對(duì)其進(jìn)行判別,判斷是否為Z=(g,g’)^(α^(q+1)),而回答所提供的q-D-tABDHE問題。
因此,|Pr[T2]-Pr[T1]|≤Advq-d-tabdhek,G,GT(t1)+3/p(其中,t1=t+O(q2·tG)。tG是乘法群G中的冪乘所需的時(shí)間)成立。
游戲G3是將游戲G2如下所述變更而得到的游戲。
解答者B在PKG用密鑰生成功能S的模擬中,并非使用隨機(jī)地生成的q次多項(xiàng)式fj(x)來計(jì)算乘法群G的要素h1、h2、h3,而是隨機(jī)地選擇乘法群G的要素h1、h2、h3。
另外,在密鑰導(dǎo)出oracle OX的模擬中,解答者B針對(duì)ID,隨機(jī)地生成整數(shù)rID,j,計(jì)算出乘法群G的要素hID,1=(h1·g^(-rID,j))^(1/(α-I D)。關(guān)于hID,2、hID,3也相同。
解答者B通過以下過程對(duì)加密oracle OE進(jìn)行模擬。
解答者B計(jì)算出整數(shù)z’*=(z-α^(q+1))/ΦID*(α)。
解答者B隨機(jī)地生成1以上且小于乘法群G的階數(shù)r的整數(shù)s*。
解答者B計(jì)算出乘法群G的要素u*=g^(s*·(α-ID*))。
解答者B計(jì)算出乘法群GT的要素v*=e(g,g)^(s*·(1+z’*))。
解答者B計(jì)算出密鑰位串k=KDF(e(g,h1·g^(z’*·rID,1)^s*)。
解答者B計(jì)算出乘法群GT的要素y*=e(g,h2·h3^β*)^s*·e(g,g)^(s*·z’*·(rID*,2+rID*,3·β*))。
上述以外的部分與游戲G2相同。
從攻擊者A觀察時(shí),游戲G2與游戲G3看起來相同,所以Pr[T3]=Pr[T2]。
游戲G4是將游戲G3如下所述變更而得到的游戲。
在解密oracle OD的模擬中,解答者B判定v=e(u,g)^(1/(α-ID)以及y=e(u,h2·h3^β)是否成立,如果不成立則返回“拒絕”。
在成立的情況下,解答者B計(jì)算出密鑰位串k’=KDF(e(u,h1)^(1/(α-ID))),對(duì)消息進(jìn)行解密。
這樣,解答者B在密文的匹配性判定以及密鑰位串k’的生成中,不使用秘密密鑰dID,而使用整數(shù)α。
在密文的匹配性判定中,在實(shí)際的密碼系統(tǒng)∏中,判定是否為y=e(u,hID,2·hID,3^β)·v^(rID,2+rID,3·β)。
由于判定方法不同,所以有時(shí)拒絕在實(shí)際的密碼系統(tǒng)∏中不會(huì)拒絕的密文。將該事件設(shè)為R4時(shí),|Pr[T4]-Pr[T3]|≤Pr[R4]。
游戲G5是將游戲G4如下所述變更而得到的游戲。
在加密oracle OE中,解答者B隨機(jī)地生成1以上且小于乘法群G的階數(shù)r的整數(shù)r*。
解答者B計(jì)算出密鑰位串k*=KDF(e(g,g)^r*)。
解答者B與加密oracle OE輸入的消息M0*、M1*無關(guān)地,將計(jì)算出的密鑰位串k*原樣地設(shè)為加密的消息。
由于加密oracle OE的輸出與b、M0*、M1*獨(dú)立,所以攻擊者A沒有優(yōu)勢(shì)。因此,Pr[T5]=1/2。
如游戲G4的說明中所述,在解密oracle OD的模擬中,解答者B不使用整數(shù)rID,1。rID*,1被初次(且唯一)使用時(shí)是在ID*被輸入到加密oracle OE中的時(shí)候。
因此,在首先隨機(jī)地生成rID*,1并與其匹配地計(jì)算出r*時(shí)、和首先隨機(jī)地生成r*并與其匹配地計(jì)算出rID*,1的情況下,當(dāng)(g,h1,z,*,s*,M*)被固定時(shí),相對(duì)于(r*,rID*,1)提供相同的分布。
因此,從攻擊者A觀察時(shí),游戲G4與游戲G5看起來相同。
另外,由于在該加密oracle OE的模擬內(nèi)以外不參照rID*,1,所以無需根據(jù)r*進(jìn)行計(jì)算。
如上所述,Pr[T4]=Pr[T5]=1/2、Pr[R4]=Pr[R5]成立。另外,R5表示在游戲G5中拒絕在實(shí)際的密碼系統(tǒng)∏中不會(huì)拒絕的密文的事件。
游戲G6是將游戲G5如下所述變更而得到的游戲。
在第i個(gè)加密oracle OE的模擬中,解答者B將輸入的ID*、生成的密文C*、以及計(jì)算出的哈希值β*的組his*i=(ID*i,C*i,β*i)保持在列表Clist中。
在解密oracle OD的模擬中,解答者B在密文的匹配性判定之前,進(jìn)行以下判定。
解答者B判定在保持的列表Clist中是否有ID*i與輸入的ID相等、并且β*i與根據(jù)輸入的密文C計(jì)算出的β相等的his*i。
在有相等的his*i情況下,解答者B對(duì)包含在該his*i中的密文C*i中(除了密文驗(yàn)證文CC*i)的相當(dāng)于密文主文CB*i的部分、與輸入的密文C中(除了密文驗(yàn)證文CC)的相當(dāng)于密文主文CB的部分進(jìn)行比較,如果不相等,則返回“拒絕”。
將密文通過該判定而被拒絕的事件設(shè)為C6。另外,在實(shí)際的密碼系統(tǒng)∏中,將在該判定中未被拒絕的密文在游戲G4中變更了的判定方法中被拒絕的事件設(shè)為R6時(shí),|Pr[R6]-Pr[R5]|≤Pr[C6]。
此處,事件C6是雖然成為哈希值計(jì)算的基礎(chǔ)的位串不同但哈希值β相等的情況,所以Pr[C6]≤AdvcrH(t2)。另外,AdvcrH(t2)表示哈希函數(shù)HF的不易沖突性優(yōu)勢(shì)。
另外,為了使事件R6成立,需要針對(duì)不是0的z’,將成為y=e(g,h2·h3^β)^s·e(g,g)^(s·z’·(rID,2+rID,3·β))的y輸入給解密oracle OD。(rID,2,rID,3)相對(duì)各ID是隨機(jī)的,所以在ID被輸入到加密oracle OE之前,選擇這樣的y的概率是1/r以下(r為乘法群GT的階數(shù))。
另外,在將ID=ID*i輸入到加密oracle之后,如果β=β*i,則通過追加的判定而被拒絕。因此,選擇β≠β*i且滿足上述條件的y的概率仍為1/r以下。
因此,Pr[R6]≤qd/r成立。
如上所述,成為Advmun,∏,Γ(t,qe,qd,qx)≤qe·Advq-d-tabdhek,G,GT(t1)+qe·AdvcrH(t2)+qe·(qd+3)/r。
本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式∏’是將以上說明的單獨(dú)接收者的密碼方式∏通過連接方式擴(kuò)展為多個(gè)接收者的方式。
如實(shí)施方式1所述,通過連接方式擴(kuò)展為多個(gè)接收者的密碼方式的SMMR安全性由于是Advsmmrn,∏’,Γ(t,qd,qx)≤Advmun,∏,Γ(t,1,qd,qx),所以本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式的SMMR的安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤Advq-d-tabdhek,G,GT(t1)+AdvcrH(t2)+(qd+3)/r。
與此相對(duì),將一般的單獨(dú)接收者密碼方式通過連接方式擴(kuò)展為多個(gè)接收者時(shí)的SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx),所以在表示與數(shù)學(xué)上的問題的優(yōu)勢(shì)之間的關(guān)系的不等式中出現(xiàn)接收者數(shù)n。
即,本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式與一般的情況相比,SMMR安全性緊密地歸結(jié)于數(shù)學(xué)上的問題(歸結(jié)效率良好)。
這樣,本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式可以實(shí)現(xiàn)更良好的安全性證明。
接下來,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800進(jìn)行說明。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)以及密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與對(duì)比例子中說明的部分相同,所以此處省略說明。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800是將對(duì)比例子中說明的基于多個(gè)接收者ID的密碼方式通過哈希值共用化進(jìn)行高效化而得到的。
首先,對(duì)密文生成裝置200進(jìn)行說明。
密文生成裝置200的塊結(jié)構(gòu)由于與對(duì)比例子中說明的部分相同,所以使用圖4,對(duì)與對(duì)比例子不同的部分進(jìn)行說明。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
哈希值計(jì)算部244使用CPU 911等處理裝置,作為密文主文生成部240輸出的n個(gè)密文主文CBi,輸入第一密文生成部241輸出的n個(gè)第一密文C1i、第二密文生成部242輸出的n個(gè)第二密文C2i、以及第三密文生成部243輸出的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,將輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i全部結(jié)合,而生成一個(gè)結(jié)合密文。
另外,哈希值計(jì)算部244也可以作為n個(gè)密文主文CBi(的一部分)而還輸入接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息IDi,并將輸入的n個(gè)接收者識(shí)別信息IDi、n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i全部結(jié)合,生成一個(gè)結(jié)合密文。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個(gè)結(jié)合密文,計(jì)算出將一個(gè)結(jié)合密文通過哈希函數(shù)HF進(jìn)行變換后的自然數(shù)β0,并設(shè)為一個(gè)哈希值H0。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出表示所計(jì)算出的一個(gè)自然數(shù)β0的信息、以及生成的一個(gè)結(jié)合密文。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及表示哈希值計(jì)算部244輸出的一個(gè)自然數(shù)β0的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素h2,計(jì)算出乘法群G1的要素g與乘法群G2的要素h2的配對(duì)值即乘法群GT的要素e(g,h2)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g、以及乘法群G2的要素h3,計(jì)算出乘法群G1的要素g與乘法群G2的要素h3的配對(duì)值即乘法群GT的要素e(g,h3)。
另外,乘法群GT的要素e(g,h2)以及乘法群GT的要素e(g,h3)由于與整數(shù)si無關(guān)而是恒定的,所以也可以事先計(jì)算出并使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的一個(gè)自然數(shù)β0、以及計(jì)算出的乘法群GT的要素e(g,h3),計(jì)算出乘法群GT的要素e(g,h3)的β0乘方即乘法群GT的一個(gè)要素e(g,h3)^β0。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(g,h2)、以及計(jì)算出的乘法群GT的一個(gè)要素e(g,h3)^β0,計(jì)算出乘法群GT的要素e(g,h2)與乘法群GT的要素e(g,h3)^β0之積即乘法群GT的一個(gè)要素e(g,h2)·e(g,h3)^β0。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群GT的一個(gè)要素e(g,h2)·e(g,h3)^β0,計(jì)算出乘法群GT的要素e(g,h2)·e(g,h3)^β0的si乘方即乘法群GT的n個(gè)要素yi=(e(g,h2)·e(g,h3)^β0)^si(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群GT的n個(gè)要素yi的n個(gè)位串,而作為n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計(jì)算部244輸出的一個(gè)結(jié)合密文、以及密文驗(yàn)證文生成部245輸出的n個(gè)密文驗(yàn)證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的一個(gè)結(jié)合密文和輸入的n個(gè)密文驗(yàn)證文全部結(jié)合,而生成一個(gè)密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個(gè)密鑰密文C。
圖16是示出本實(shí)施方式中的在密文生成裝置200中交換的信息的流程的一個(gè)例子的圖。
接收者識(shí)別輸入部232輸入n個(gè)接收者識(shí)別信息ID1、ID2、…、IDn。
隨機(jī)數(shù)生成部222生成與接收者識(shí)別輸入部232輸入的接收者識(shí)別信息ID1、ID2、…、IDn的數(shù)量相同數(shù)量的n個(gè)整數(shù)s1、s2、…、sn。
第一密文生成部241根據(jù)明文M與整數(shù)s1生成第一密文C11,根據(jù)明文M與整數(shù)s2生成第一密文C12,…,根據(jù)明文M與整數(shù)sn生成第一密文C1n。
第二密文生成部242根據(jù)接收者識(shí)別信息ID1與整數(shù)s1生成第二密文C21,根據(jù)接收者識(shí)別信息ID2與整數(shù)s2生成第二密文C22,…,根據(jù)接收者識(shí)別信息IDn與整數(shù)sn生成第二密文C2n。
第三密文生成部243根據(jù)整數(shù)s1生成第三密文C31,根據(jù)整數(shù)s2生成第三密文C32,…,根據(jù)整數(shù)sn生成第三密文C3n。
到此為止的流程與對(duì)比例子相同。
哈希值計(jì)算部244將第一密文C11、第二密文C21、第三密文C31、第一密文C12、第二密文C22、第三密文C32、…、第一密文C1n、第二密文C2n、以及第三密文C3n全部結(jié)合而生成一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。另外,結(jié)合的順序也可以是與它不同的順序。
哈希值計(jì)算部244根據(jù)生成的一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出一個(gè)哈希值H0。
密文驗(yàn)證文生成部245根據(jù)整數(shù)s1與哈希值H0生成密文驗(yàn)證文CC1,根據(jù)整數(shù)s2與哈希值H0生成密文驗(yàn)證文CC2,…,根據(jù)整數(shù)sn與哈希值H0生成密文驗(yàn)證文CCn。
密文結(jié)合部246將一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)、與密文驗(yàn)證文CC1、密文驗(yàn)證文CC2、…、以及密文驗(yàn)證文CCn全部結(jié)合,而生成一個(gè)密鑰密文C=(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n|CC1|CC2|…|CCn)。
另外,在該例子中,由于將哈希值計(jì)算部244生成的結(jié)合密文原樣地利用,所以密文的結(jié)合順序與對(duì)比例子不同,但密文的結(jié)合順序不限于該順序。既可以是與對(duì)比例子中說明的順序相同的順序,也可以是其它順序。
接下來,對(duì)密文接收裝置301~303進(jìn)行說明。
密文接收裝置301~303的塊結(jié)構(gòu)也與對(duì)比例子中說明的結(jié)構(gòu)相同,所以使用圖6,對(duì)與對(duì)比例子不同的部分進(jìn)行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個(gè)密鑰密文C,取得對(duì)應(yīng)于自身所對(duì)應(yīng)的接收者的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
例如,一個(gè)密鑰密文C是如圖16所示,按照(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n|CC1|CC2|…|CCn)這樣的順序結(jié)合密文而得到的。
密文分解部346例如將一個(gè)密鑰密文C分割為第一密文~第三密文的位長(zhǎng)之和的n倍、和密文驗(yàn)證文的位長(zhǎng)的n倍,取得驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)、以及結(jié)合密文驗(yàn)證文(CC1|CC2|…|CCn)。
密文分解部346將驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)進(jìn)一步分割,而設(shè)為(C11|C21|C31)、(C12|C22|C32)、…、(C1n|C2n|C3n),從其中取得與自己對(duì)應(yīng)的對(duì)應(yīng)密文(C1ID|C2ID|C3ID)。
密文分解部346分割所取得的對(duì)應(yīng)密文(C1ID|C2ID|C3ID),取得對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID。
另外,密文分解部346分割所取得的結(jié)合密文驗(yàn)證文(CC1|CC2|…|CCn)而設(shè)為CC1、CC2、…、CCn,并從其中取得與自己對(duì)應(yīng)的對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
另外,在該例子中,為了省略驗(yàn)證哈希值計(jì)算部344生成驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)的工作,密文分解部346使用CPU 911等處理裝置,還一并輸出所取得的驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)?;蛘撸?yàn)證哈希值計(jì)算部344也可以使用CPU 911等處理裝置來結(jié)合密文,生成驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及輸入或生成的驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希變換HF進(jìn)行變換后的自然數(shù)β’,而設(shè)為哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出表示所計(jì)算出的自然數(shù)β’的信息。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖17是示出本實(shí)施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與在對(duì)比例子中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號(hào)。
在哈希值計(jì)算工序S38中,哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i,生成將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i全部結(jié)合而得到的一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)整數(shù)β0=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
在密文驗(yàn)證文生成工序S39中,密文驗(yàn)證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT、配對(duì)e、乘法群G1的要素g和乘法群G2的兩個(gè)要素h2、h3、在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)自然數(shù)si、以及在哈希值計(jì)算工序S38中哈希值計(jì)算部244計(jì)算出的一個(gè)整數(shù)β0,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群GT的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi。
圖18是示出本實(shí)施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與在對(duì)比例子中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號(hào)。
在驗(yàn)證哈希值計(jì)算工序S53中,驗(yàn)證哈希值計(jì)算部344使用CPU911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)整數(shù)β’=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
上述說明以外的工序由于與在對(duì)比例子中說明的工序相同,所以此處省略說明。
如上所述,本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800與對(duì)比例子中說明的基于ID的密碼通信系統(tǒng)800相比,雖然一個(gè)密鑰密文C的長(zhǎng)度不變,但密文生成處理中所需的計(jì)算量減少,所以可以削減密碼通信的成本。
特別是在哈希值計(jì)算工序S38中,在對(duì)比例子中說明的方式的情況下,需要n次的哈希值計(jì)算,但在該方式的情況下,一次哈希值計(jì)算即可。
另外,在密文驗(yàn)證文生成工序S39中,在對(duì)比例子中說明的方式的情況下,需要2n次的乘法群GT中的冪乘算和n次的乘法群GT中的乘算,但在該方式的情況下,進(jìn)行(n+1)次的乘法群GT中的冪乘算和一次的乘法群GT中的乘算即可,在接收者的人數(shù)多的情況下,可以大幅削減計(jì)算量。
接下來,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性進(jìn)行說明。
另外,在以下說明中,設(shè)為在密文主文CBi中包含有識(shí)別與其對(duì)應(yīng)的接收者的接收者識(shí)別信息IDi。
本實(shí)施方式中的基于ID的密碼方式的SMMR安全性的證明,可以通過與成為在對(duì)比例子中說明的ID密碼方式的基礎(chǔ)的單獨(dú)接收者的基于ID的密碼方式的MU安全性的證明并行的討論來證明。
此處,省略證明中的關(guān)于共用的部分的說明,說明不同的部分。
解密oracle OD’輸入用戶的識(shí)別信息ID、以及與針對(duì)該ID的(分節(jié)的)密文CID。
此處,(分節(jié)的)密文CID由n個(gè)密文主文CBi、表示在n個(gè)密文主文CBi中與該ID對(duì)應(yīng)的對(duì)應(yīng)密文主文CID是哪個(gè)的信息、以及對(duì)應(yīng)密文驗(yàn)證文CCID構(gòu)成。
解密oracle OD’結(jié)合所輸入的n個(gè)密文主文CBi,生成驗(yàn)證結(jié)合密文,計(jì)算出哈希值β’。
解密oracle OD’根據(jù)輸入的信息所表示的對(duì)應(yīng)密文主文CBID、輸入的對(duì)應(yīng)密文驗(yàn)證文CCID、計(jì)算出的哈希值β’、以及通過密鑰導(dǎo)出功能X’生成的秘密密鑰dID,驗(yàn)證密文。
在驗(yàn)證失敗的情況下,解密oracle OD’返回“拒絕”。
在驗(yàn)證成功的情況下,解密oracle OD’進(jìn)行解密處理,返回所解密的消息。
游戲G6是將游戲G5如下所述變更而得到的游戲。
在加密oracle OE’的模擬中,解答者B保持所輸入的ID*=(ID*1,ID*2,…,ID*n)、生成的n個(gè)密文主文CB*=(CB*1,CB*2,…,CB*n)、以及計(jì)算出的哈希值β*0。
在解密oracle OD’的模擬中,解答者B判定所保持的β*0、與根據(jù)輸入的n個(gè)密文主文CBi計(jì)算出的哈希值β’是否相等。
在相等的情況下,解答者B判定在保持的ID*中是否有與輸入的ID相等的ID*i,在有與輸入的ID相等的ID*i的情況下,在保持的n個(gè)密文主文C B*之中,比較對(duì)應(yīng)于該ID*i的密文主文CB*i與輸入的信息所表示的對(duì)應(yīng)密文主文CBID,如果不相等則返回“拒絕”。
除了以上相異點(diǎn),證明的主要部分的結(jié)構(gòu)沒變,所以本實(shí)施方式中的基于ID的密碼方式的SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤Advq-d-tabdhek,G,GT(t1)+AdvcrH(t2)+(qd+3)/r。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,可以通過緊密地歸結(jié)于數(shù)學(xué)上的問題的證明來證明SMMR-IND-ID-CCA2安全性,所以起到可以使用基于ID的密碼通信系統(tǒng)800來實(shí)現(xiàn)安全的密碼通信這樣的效果。
本實(shí)施方式中的密文生成裝置200將以下點(diǎn)作為特征。
密碼參數(shù)存儲(chǔ)部210的特征是,使用磁盤裝置920等存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2、以及乘法群G2的要素h3的信息。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,作為n個(gè)接收者識(shí)別信息而輸入n個(gè)整數(shù)IDi。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),使用CPU 911等處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki對(duì)明文輸入部231輸入的明文M分別進(jìn)行加密,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、接收者識(shí)別輸入部232輸入的n個(gè)整數(shù)IDi、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群GT的要素vi的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0,而設(shè)為哈希值H0。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群GT的n個(gè)要素yi的位串設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
根據(jù)本實(shí)施方式中的密文生成裝置200,密碼處理中所需的資源較少也可以,起到如下效果可以實(shí)現(xiàn)利用了可以在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))將以下點(diǎn)作為特征。
密碼參數(shù)生成裝置100的特征是,還具有群參數(shù)存儲(chǔ)部111。
群參數(shù)存儲(chǔ)部111的特征是,使用磁盤裝置920等存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息存儲(chǔ)部121的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)表示秘密信息生成部112生成的整數(shù)α的信息而作為秘密信息。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2以及乘法群G2的要素h3,使用CPU 911等處理裝置,根據(jù)秘密信息生成部112生成的秘密信息所表示的整數(shù)α、以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、所決定的密鑰生成函數(shù)KDF與哈希函數(shù)HF、所選擇的乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù)。
識(shí)別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識(shí)別信息。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,1、1以上且小于自然數(shù)r的整數(shù)rID,2、以及1以上且小于自然數(shù)r的整數(shù)rID,3,使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、秘密信息存儲(chǔ)部121存儲(chǔ)的整數(shù)α、識(shí)別信息輸入部131輸入的整數(shù)ID、以及生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3,計(jì)算出乘法群G2的要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))、乘法群G2的要素hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、以及乘法群G2的要素hID,3=(h3·g2^(-rID,3))^(1/(α-ID)),將表示所生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3、以及計(jì)算出的乘法群G2的要素hID,1、乘法群G2的要素hID,2和乘法群G2的要素hID,3的信息,設(shè)為秘密密鑰dID。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個(gè)整數(shù)IDi而作為n個(gè)接收者識(shí)別信息。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),使用CPU 911等處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)明文輸入部231輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、接收者識(shí)別輸入部232輸入的n個(gè)整數(shù)IDi、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g 2)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群GT的要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0而設(shè)為哈希值H0。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群GT的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
驗(yàn)證哈希值計(jì)算部344的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出自然數(shù)β’,而設(shè)為驗(yàn)證哈希值H’。
密文驗(yàn)證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,2、整數(shù)rID,3、乘法群G2的要素hID,2和乘法群G2的要素hID,3、密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID和一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及驗(yàn)證哈希值計(jì)算部344計(jì)算出的自然數(shù)β’,計(jì)算出乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’),使用CPU 911等處理裝置,對(duì)計(jì)算出的乘法群GT的要素y’、與密文分解部346取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群GT的要素yID進(jìn)行比較,在乘法群GT的要素y’與乘法群GT的要素yID一致的情況下,判定為密文接收部351接收到的一個(gè)密文C(密鑰密文C)中有匹配性。
密文解密部341的特征是,在密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID、以及對(duì)應(yīng)第三密文C3ID所表示的乘法群G2的要素vID,計(jì)算出密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1),使用CPU 911等處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)密文分解部346取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,從而還原明文M。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,密碼處理中所需的資源較少也可以,起到如下效果可以實(shí)現(xiàn)利用了可以在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
實(shí)施方式3 使用圖18~圖24,對(duì)實(shí)施方式3進(jìn)行說明。
在說明本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800之前,首先,對(duì)作為對(duì)比例子的基于ID的密碼通信系統(tǒng)進(jìn)行說明。
本實(shí)施方式中的對(duì)比例子即基于ID的密碼通信系統(tǒng)的整體結(jié)構(gòu)由于與實(shí)施方式1中說明的部分相同,所以此處省略說明。
最初,對(duì)密碼參數(shù)生成裝置100進(jìn)行說明。
密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與實(shí)施方式1中說明的部分相同,所以使用圖4,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
群參數(shù)存儲(chǔ)部111使用磁盤裝置920等存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、乘法群G1、乘法群G2、乘法群GT以及配對(duì)e的信息。
自然數(shù)r是難以求解DH問題的大素?cái)?shù)。
乘法群G1、乘法群G2以及乘法群GT是階數(shù)為自然數(shù)r的乘法群。
另外,乘法群G1與乘法群G2既可以是相同的乘法群,也可以是不同的乘法群。在乘法群G1與乘法群G2是相同的乘法群的情況下,群參數(shù)存儲(chǔ)部111也可以不存儲(chǔ)表示乘法群G2的信息。
配對(duì)e是根據(jù)乘法群G1的要素與乘法群G2的要素而計(jì)算出乘法群GT的要素的映射。配對(duì)e是雙線性配對(duì),是可以使用計(jì)算機(jī)的CPU 911等處理裝置在實(shí)用的時(shí)間內(nèi)計(jì)算的配對(duì)。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所生成的整數(shù)α的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、以及秘密信息生成部112輸出的整數(shù)α。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群GT,決定密鑰生成函數(shù)KDF。
密鑰生成函數(shù)KDF是根據(jù)乘法群GT的要素來計(jì)算出規(guī)定長(zhǎng)度的位串的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,決定哈希函數(shù)HF。
哈希函數(shù)HF是根據(jù)任意長(zhǎng)度的位串來計(jì)算出規(guī)定長(zhǎng)度的位串的函數(shù)。另外,哈希函數(shù)HF是根據(jù)不同的位串計(jì)算出相同位串的概率極低的函數(shù)。
以下,將哈希函數(shù)HF輸出的位串長(zhǎng)度設(shè)為m位。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機(jī)地決定兩個(gè)函數(shù)V1以及V2。
函數(shù)V1以及V2是根據(jù)規(guī)定長(zhǎng)度的位串來計(jì)算出乘法群G2的要素的函數(shù)。
函數(shù)V1以及V2輸入的位串的長(zhǎng)度與哈希函數(shù)HF輸出的位串的長(zhǎng)度相等,是m位。
在該對(duì)比例子中,函數(shù)V1以及V2輸入的m位的位串可以分解為m1個(gè)m2位的位串。即,設(shè)為m=m1·m2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機(jī)地選擇乘法群G2的(m1+2)個(gè)要素h1、h2、…、hm1、h1’、h2’。
將成為函數(shù)V1以及V2的輸入的m位的位串設(shè)為ID=(v1|v2|…|vm1)(vξ(ξ是1以上m1以下的整數(shù))是m2位的位串)。
在函數(shù)V1中,將vξ解釋為0以上且小于2m2的整數(shù),根據(jù)公開參數(shù)生成部113選擇的乘法群G2的(m1+1)個(gè)要素h1、h2、…、hm1、h1’,將乘法群G2的要素h1的v1乘方、乘法群G2的要素h2的v2乘方、…、乘法群G2的要素hm1的vm1乘方、和乘法群G2的要素h1’的總積即乘法群G2的要素h1’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù)),定義為函數(shù)V1輸出的乘法群G2的要素V1(ID)。
在函數(shù)V2中也同樣地,根據(jù)公開參數(shù)生成部113選擇的乘法群G2的(m1+1)個(gè)要素h1、h2、…、hm1、h2’,將乘法群G2的要素h1的v1乘方、乘法群G2的要素h2的v2乘方、…、乘法群G2的要素hm1的vm1乘方、和乘法群G2的要素h2’的總積即乘法群G2的要素h2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù)),定義為函數(shù)V2輸出的乘法群G2的要素V2(ID)。
公開參數(shù)生成部113通過選擇用于計(jì)算函數(shù)V1以及V2而所需的乘法群G2的(m1+2)個(gè)要素h1、h2、…、hm1、h1’、h2’,來決定函數(shù)V1以及V2。
另外,函數(shù)V1以及V2也可以并不是上述所說明的定義的函數(shù)。另外,函數(shù)V1與函數(shù)V2也可以是相同的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1,隨機(jī)地選擇乘法群G1的要素g。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機(jī)地選擇乘法群G2的要素g2。
其中,選擇乘法群G1的要素g與乘法群G2的要素g,使得乘法群G1的要素g與乘法群G2的要素g2的配對(duì)值即乘法群GT的要素e(g,g2)不會(huì)成為乘法群GT的單位元素。
另外,在乘法群G1與乘法群G2是相同的乘法群的情況下,乘法群G1的要素g與乘法群G2的要素g2選擇不同的要素。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1、所選擇的乘法群G1的要素g、以及輸入的信息所表示的整數(shù)α,計(jì)算出乘法群G1的要素g的α乘方即乘法群G1的要素g1=g^α。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出表示所輸入的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、決定的兩個(gè)函數(shù)V1、V2、選擇的乘法群G1的要素g、計(jì)算出的乘法群G1的要素g1、以及選擇的乘法群G2的要素g2的信息,作為公開密碼參數(shù)。
另外,公開密碼參數(shù)作為表示函數(shù)V1以及V2的信息而包括表示乘法群G2的(m1+2)個(gè)要素h1、h2、…、hm1、h1’、h2’的信息。
秘密信息生成部112使用CPU 911等處理裝置,輸入公開參數(shù)生成部113輸出的公開密碼參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的要素g2、以及生成的整數(shù)α,計(jì)算出乘法群G2的要素g2的α乘方即乘法群G2的要素g2^α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所計(jì)算出的乘法群G2的要素g2^α的信息。
秘密信息存儲(chǔ)部121使用CPU 911等處理裝置,輸入表示秘密信息生成部112輸出的乘法群G2的要素g2^α的信息而作為秘密信息。
秘密信息存儲(chǔ)部121使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)表示輸入的乘法群G2的要素msk=g2^α的信息。
另外,秘密信息存儲(chǔ)部121也可以代替表示秘密信息生成部112計(jì)算出的乘法群G2的要素msk的信息,而存儲(chǔ)表示秘密信息生成部112生成的整數(shù)α的信息。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入接收者識(shí)別信息ID。
在以下說明中,密碼參數(shù)生成裝置100將接收者識(shí)別信息ID作為m位的位串進(jìn)行處理。
例如,密碼參數(shù)生成裝置100通過對(duì)郵件地址等任意長(zhǎng)度的位串附加填充位串,設(shè)為m位的位串,并設(shè)為接收者識(shí)別信息。
或者,密碼參數(shù)生成裝置100也可以將郵件地址等任意長(zhǎng)度的位串作為哈希函數(shù)(既可以是與公開參數(shù)生成部113決定的哈希函數(shù)HF相同的哈希函數(shù),也可以是不同的哈希函數(shù))的輸入,取得通過哈希函數(shù)計(jì)算出的m位的位串,而作為接收者識(shí)別信息。
即,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入m位的位串ID而作為接收者識(shí)別信息。
識(shí)別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的m位的位串ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入表示秘密信息存儲(chǔ)部121存儲(chǔ)的乘法群G2的要素msk的信息、參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)、以及識(shí)別信息輸入部131輸出的m位的位串ID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成整數(shù)rID。整數(shù)rID是1以上且小于r的整數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1、以及輸入的長(zhǎng)度m的位串ID,計(jì)算出將m位的位串ID通過函數(shù)V1進(jìn)行變換后的乘法群G2的要素V1(ID)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、計(jì)算出的乘法群G2的要素V1(ID)、以及生成的整數(shù)rID,計(jì)算出乘法群G2的要素V1(ID)的rID乘方即乘法群G2的要素V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的信息所表示的乘法群G2的要素msk、以及計(jì)算出的乘法群G2的要素V1(ID)^rID,計(jì)算出乘法群G2的要素msk與乘法群G2的要素V1(ID)^rID之積即乘法群G2的要素d0ID=msk·V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及生成的整數(shù)rID,計(jì)算出乘法群G1的要素g的rID乘方即乘法群G1的要素d1ID=g^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出表示計(jì)算出的乘法群G2的要素d0ID和計(jì)算出的乘法群G1的要素d1ID的信息,而作為秘密密鑰dID。
接下來,對(duì)密文生成裝置200進(jìn)行說明。
密文生成裝置200的功能塊的結(jié)構(gòu)也與實(shí)施方式1中說明的部分相同,所以使用圖5,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
密文生成裝置200與密碼參數(shù)生成裝置100同樣地,將接收者識(shí)別信息ID作為m位的位串進(jìn)行處理。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,作為分別識(shí)別n個(gè)接收者(n是1以上的整數(shù))的n個(gè)接收者識(shí)別信息,而輸入n個(gè)m位的位串IDi(i是1以上n以下的整數(shù))。
接收者識(shí)別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個(gè)m位的位串IDi。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個(gè)整數(shù)si的信息。
第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、乘法群G1的要素g1和乘法群G2的要素g2,計(jì)算出乘法群G1的要素g1與乘法群G2的要素g2的配對(duì)值即乘法群GT的要素e(g1,g2)。
另外,乘法群GT的要素e(g1,g2)由于與整數(shù)si、明文M無關(guān)而是一定的,所以也可以事先計(jì)算出并使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(g1,g2)、以及輸入的信息所表示的n個(gè)整數(shù)si,計(jì)算出乘法群GT的要素e(g1,g2)的si乘方即乘法群GT的n個(gè)要素e(g1,g2)^si(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計(jì)算出的乘法群GT的n個(gè)要素e(g1,g2)^si,計(jì)算出將乘法群GT的要素e(g1,g2)^si通過密鑰生成函數(shù)KDF進(jìn)行變換后的規(guī)定長(zhǎng)度的位串即n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的明文M和計(jì)算出的n個(gè)密鑰位串ki,生成利用n個(gè)密鑰位串ki對(duì)明文M分別進(jìn)行加密得到的n個(gè)位串,設(shè)為n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個(gè)第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及接收者識(shí)別輸入部232輸出的n個(gè)m位的位串IDi。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1和輸入的n個(gè)m位的位串IDi,計(jì)算出將m位的位串IDi通過函數(shù)V1進(jìn)行變換后的乘法群G2的n個(gè)要素V1(IDi)(i是1以上n以下的整數(shù))。
另外,函數(shù)V1的計(jì)算例如按照以下過程。
第二密文生成部242使用CPU 911等處理裝置,將輸入的n個(gè)m位的位串IDi分別分解為m1個(gè)m2位的位串viξ(i是1以上n以下的整數(shù)。ξ是1以上m1以下的整數(shù)。m=m1·m2)。作為結(jié)果,分解的m2位的位串viξ的全部數(shù)量成為n·m1個(gè)。在以下說明中,說明為了避免繁雜度而對(duì)于一個(gè)m位的位串IDi計(jì)算函數(shù)V1的值V1(IDi)的過程。
第二密文生成部242將分解的m2位的位串viξ作為0以上且小于2的m2乘方的整數(shù)而進(jìn)行處理。例如,將所有的位是“0”的位串viξ作為整數(shù)0進(jìn)行處理,將所有的位是“1”的位串viξ作為整數(shù)2m2-1進(jìn)行處理。雖然可以將任意位串作為任意整數(shù)進(jìn)行處理,但在根據(jù)CPU 911等處理裝置內(nèi)部中的通過整數(shù)的表現(xiàn)形式來決定的對(duì)應(yīng)關(guān)系進(jìn)行處理時(shí),省去了變換的工作,所以是優(yōu)選的。在以下記述中,“整數(shù)viξ”意味著將m2位的位串viξ作為整數(shù)進(jìn)行處理時(shí)的整數(shù)。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))、以及m1個(gè)整數(shù)viξ,計(jì)算出乘法群G2的要素hξ的viξ乘方即乘法群G2的m1個(gè)要素hξ^viξ。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2與乘法群G2的要素h1’、以及計(jì)算出的乘法群G2的m1個(gè)要素hξ^viξ,計(jì)算出將乘法群G2的要素h1’與乘法群G2的m1個(gè)要素hξ^viξ全部相乘的結(jié)果即乘法群G2的一個(gè)要素h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
第二密文生成部242將計(jì)算出的乘法群G2的一個(gè)要素h1’·∏(hξ^viξ)設(shè)為函數(shù)V1的值V1(IDi)。
為了計(jì)算出乘法群G2的n個(gè)要素V1(IDi),將以上的過程進(jìn)行n次。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、計(jì)算出的乘法群G2的n個(gè)要素V1(IDi)、以及輸入的信息所表示的n個(gè)整數(shù)si,計(jì)算出乘法群G2的要素V1(IDi)的si乘方即乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的n個(gè)位串,而作為n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、和表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及輸入的信息所表示的n個(gè)整數(shù)si,計(jì)算出乘法群G1的要素g的si乘方即乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的n個(gè)位串而作為n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)。
哈希值計(jì)算部244使用CPU 911等處理裝置,作為密文主文生成部240輸出的n個(gè)密文主文CBi,輸入第一密文生成部241輸出的n個(gè)第一密文C1i、第二密文生成部242輸出的n個(gè)第二密文C2i、以及第三密文生成部243輸出的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,分別結(jié)合所輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i,生成n個(gè)結(jié)合密文。
另外,哈希值計(jì)算部244也可以還輸入接收者識(shí)別輸入部232輸出的n個(gè)接收者識(shí)別信息IDi而作為n個(gè)密文主文CBi(的一部分),將輸入的n個(gè)接收者識(shí)別信息IDi、n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i全部結(jié)合,而生成一個(gè)結(jié)合密文。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的n個(gè)結(jié)合密文,計(jì)算出將n個(gè)結(jié)合密文通過哈希函數(shù)HF分別進(jìn)行變換后的n個(gè)m位的位串wi,設(shè)為n個(gè)哈希值Hi。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出表示所計(jì)算出的n個(gè)m位的位串wi的信息、以及生成的n個(gè)結(jié)合密文。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及表示哈希值計(jì)算部244輸出的n個(gè)m位的位串wi的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2、以及輸入的n個(gè)m位的位串wi,計(jì)算出將m位的位串wi通過函數(shù)V2分別進(jìn)行變換后的乘法群G2的n個(gè)要素V2(wi)(i是1以上n以下的整數(shù))。
另外,函數(shù)V2的計(jì)算例如按照以下過程。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,將輸入的n個(gè)m位的位串wi分別分解為m1個(gè)m2位的位串viξ(i是1以上n以下的整數(shù)。ξ是1以上m1以下的整數(shù)。m=m1·m2)。作為結(jié)果,分解的m2位的位串viξ的全部數(shù)量成為n·m1個(gè)。在以下說明中,敘述針對(duì)一個(gè)m位的位串wi計(jì)算函數(shù)V2的值V2(wi)的過程。
密文驗(yàn)證文生成部245將分解的m2位的位串viξ作為0以上且小于2的m2乘方的整數(shù)而進(jìn)行處理。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))、以及m1個(gè)整數(shù)viξ,計(jì)算出乘法群G2的要素hξ的viξ乘方即乘法群G2的m1個(gè)要素hξ^viξ。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2與乘法群G2的要素h2’、以及計(jì)算出的乘法群G2的m1個(gè)要素hξ^viξ,計(jì)算出將乘法群G2的要素h2’與乘法群G2的m1個(gè)要素hξ^viξ全部相乘得到的結(jié)果即乘法群G2的一個(gè)要素h2’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
密文驗(yàn)證文生成部245將計(jì)算出的乘法群G2的一個(gè)要素h2’·∏(hξ^viξ)設(shè)為函數(shù)V2的值V2(IDi)。
為了計(jì)算出乘法群G2的n個(gè)要素V2(IDi),將以上的過程進(jìn)行n次。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群G2的n個(gè)要素V2(wi),計(jì)算出乘法群G2的要素V2(wi)的si乘方即乘法群G2的n個(gè)要素yi=V2(wi)^si(i是1以上n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群G2的n個(gè)要素yi的n個(gè)位串,而作為n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計(jì)算部244輸出的n個(gè)結(jié)合密文、以及密文驗(yàn)證文生成部245輸出的n個(gè)密文驗(yàn)證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的n個(gè)結(jié)合密文與輸入的n個(gè)密文驗(yàn)證文全部結(jié)合,而生成一個(gè)密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個(gè)密鑰密文C。
另外,在該例子中,密文結(jié)合部246輸入哈希值計(jì)算部244輸出的n個(gè)結(jié)合密文,但結(jié)合密文由于是結(jié)合第一密文C1i、第二密文C2i、以及第三密文C3i而得到的密文,所以密文結(jié)合部246輸入n個(gè)第一密文C1i、n個(gè)第二密文C2i、以及n個(gè)第三密文C3i。
本實(shí)施方式中的對(duì)比例子即在密文生成裝置200中交換的信息的流程與實(shí)施方式2中使用圖11說明的流程相同。
接下來,對(duì)密文接收裝置301~303進(jìn)行說明。
密文接收裝置301~303的功能塊的結(jié)構(gòu)也與實(shí)施方式1中說明的部分相同,所以使用圖6,對(duì)與實(shí)施方式1不同的部分進(jìn)行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個(gè)密鑰密文C,取得對(duì)應(yīng)于自身所對(duì)應(yīng)的接收者的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
另外,密文分解部346也可以使用CPU 911等處理裝置,取得驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)并進(jìn)行輸出。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,結(jié)合所輸入的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、以及對(duì)應(yīng)第三密文C3ID,生成驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)。
或者,驗(yàn)證哈希值計(jì)算部344也可以代替生成驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID),而輸入密文分解部346輸出的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成或輸入的驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID),計(jì)算出將驗(yàn)證結(jié)合密文(C1ID|C2ID|C3ID)通過哈希變換HF進(jìn)行變換后的m位的位串w’,而設(shè)為哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出表示所計(jì)算出的m位的位串w’的信息。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、密文分解部346輸出的對(duì)應(yīng)第二密文C2ID和對(duì)應(yīng)第三密文C3ID、識(shí)別自身所對(duì)應(yīng)的接收者的m位的位串ID、以及驗(yàn)證哈希值計(jì)算部344輸出的m位的位串w’。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1、以及輸入的m位的位串ID,計(jì)算出將m位的位串ID通過函數(shù)V1進(jìn)行變換后的乘法群G2的要素V1(ID)。
另外,密文驗(yàn)證部345計(jì)算函數(shù)V1的過程例如與上述說明的密文生成裝置200的第二密文生成部242計(jì)算函數(shù)V1的過程相同,所以此處省略說明。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID、以及計(jì)算出的乘法群G2的要素V1(ID),計(jì)算出乘法群G1的要素vID與乘法群G2的要素V1(ID)的配對(duì)值即乘法群GT的要素e(vID,V1(ID))。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e與乘法群G1的要素g、以及輸入的對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的要素uID,計(jì)算出乘法群G1的要素g與乘法群G2的要素uID的配對(duì)值即乘法群GT的要素e(g,uID)。
密文驗(yàn)證部345使用CPU 911等處理裝置,對(duì)計(jì)算出的乘法群GT的要素e(vID,V1(ID))和計(jì)算出的乘法群GT的要素e(g,uID)進(jìn)行比較,在不一致的情況下,判定為密文接收部351輸入的一個(gè)密鑰密文C中無匹配性。
在計(jì)算出的乘法群GT的要素e(vID,V1(ID))與計(jì)算出的乘法群GT的要素e(g,uID)一致的情況下,密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2以及輸入的m位的位串w’,計(jì)算出將m位的位串w’通過函數(shù)V2進(jìn)行變換后的乘法群G2的要素V2(w’)。
另外,密文驗(yàn)證部345計(jì)算函數(shù)V2的過程例如與上述說明的密文生成裝置200的密文驗(yàn)證文生成部245計(jì)算函數(shù)V2的過程相同,所以此處省略說明。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID、以及計(jì)算出的乘法群G2的要素V2(w’),計(jì)算出乘法群G1的要素vID與乘法群G2的要素V2(w’)的配對(duì)值即乘法群GT的要素e(vID,V2(w’))。
密文驗(yàn)證部345使用CPU 911等處理裝置,輸入密文分解部346輸出的對(duì)應(yīng)密文驗(yàn)證文CCID。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e和乘法群G1的要素g、以及輸入的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群G2的要素yID,計(jì)算出乘法群G1的要素g與乘法群G2的要素yID的配對(duì)值即乘法群GT的要素e(g,yID)。
密文驗(yàn)證部345使用CPU 911等處理裝置,對(duì)計(jì)算出的乘法群GT的要素e(vID,V2(w’))與計(jì)算出的乘法群GT的要素e(g,yID)進(jìn)行比較。在一致的情況下,密文驗(yàn)證部345使用CPU 911等處理裝置,判定為密文接收部351輸入的一個(gè)密鑰密文C中有匹配性,在不一致的情況下,判定為密文接收部351輸入的一個(gè)密鑰密文C中無匹配性。
此處,如果在密文接收部351輸入的一個(gè)密鑰密文C中有匹配性,則uID=V1(ID)^sID、vID=g^sID,所以由配對(duì)e的雙線性,成為e(vID,V1(ID))=e(g,uID)=e(g,V1(ID))^sID。
另外,由于yID=V 2(wID)^sID,所以如果w’=wID,則成為e(vID,V2(w’)=e(g,yID)=e(g,V2(wID))^sID。
在密文驗(yàn)證部345判定為密文接收部351輸入的一個(gè)密鑰密文C中有匹配性的情況下,密文解密部341為了還原明文M,進(jìn)行以下處理。
密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID、以及密文分解部346輸出的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID和對(duì)應(yīng)第三密文C3ID。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的秘密密鑰dID所表示的乘法群G2的要素d0ID、以及輸入的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計(jì)算出乘法群G1的要素vID與乘法群G2的要素d0ID的配對(duì)值即乘法群GT的要素e(vID,d0ID)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對(duì)e、輸入的秘密密鑰dID所表示的乘法群G1的要素d1ID、以及輸入的對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的要素uID,計(jì)算出乘法群G1的要素d1ID與乘法群G2的要素uID的配對(duì)值即乘法群GT的要素e(d1ID,uID)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計(jì)算出的乘法群GT的要素e(vID,d0ID)、以及計(jì)算出的乘法群GT的要素e(d1ID,uID),計(jì)算出乘法群GT的要素e(vID,d0ID)與乘法群GT的要素e(d1ID,uID)的倒數(shù)之積即乘法群GT的要素e(vID,d0ID)/e(d1ID,uID)。
此處,乘法群GT的要素e(d1ID,uID)的倒數(shù)表示乘法群GT中的倒數(shù)。即,乘法群GT的要素e(dID,2,uID)的倒數(shù)是指,與乘法群GT的要素e(d1ID,uID)的積成為乘法群GT的單位元素的乘法群GT的要素。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計(jì)算出的乘法群GT的要素e(vID,d0ID)/e(d1ID,uID),計(jì)算出將乘法群GT的要素e(vID,d0ID)/e(d1ID,uID)通過密鑰生成函數(shù)KDF進(jìn)行變換后的密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID))。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的對(duì)應(yīng)第一密文C1ID、以及計(jì)算出的密鑰位串k’,生成將對(duì)應(yīng)第一密文C1ID通過密鑰位串k’進(jìn)行解密后的位串。
此處,密文生成裝置200的第一密文生成部241計(jì)算出的密鑰位串ki是ki=KDF(e(g1,g2)^si)。由于g1=g^α,所以由配對(duì)e的雙線性,e(g1,g2)^si=e(g,g2)^(α·si)。
另一方面,密文解密部341計(jì)算出的密鑰位串k’是k’=KDF(e(vID,d0ID)/e(d1ID,uID))。由于d0ID=g2^α·V1(ID)^rID、d1ID=g^rID、uID=V1(ID)^sID、vID=g^sID,所以由配對(duì)e的雙線性,e(vID,d0ID)=e(g,g2)^(α·sID)·e(g,V1(ID))^(rID·sID)、e(d1ID,uID)=e(g,V1(ID))^(rID·sID)。
因此,由于k’=KDF(e(g,g2)^(α·sID)),所以k’=kID。
密文解密部341利用與密文生成裝置200的第一密文生成部241對(duì)明文M進(jìn)行解密而得到的密鑰位串相同的密鑰位串k’,對(duì)對(duì)應(yīng)第一密文C1ID進(jìn)行解密,所以可以還原明文M。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖19是示出本實(shí)施方式中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的參數(shù)設(shè)定處理的工序共同的工序,附加同一標(biāo)號(hào)。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的群參數(shù)GT與自然數(shù)r,決定密鑰生成函數(shù)KDF與哈希函數(shù)HF。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G2,決定函數(shù)V1與函數(shù)V2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1與群參數(shù)G2,隨機(jī)地選擇乘法群G1的要素g和乘法群G2的要素g2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1、在秘密信息生成工序S11中秘密信息生成部112所生成的整數(shù)α、以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α。
參數(shù)存儲(chǔ)部122使用磁盤裝置920等存儲(chǔ)裝置,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、決定的函數(shù)V1、決定的函數(shù)V2、選擇的乘法群G1的要素g、計(jì)算出的乘法群G1的要素g1、以及選擇的乘法群G2的要素g2的信息,作為公開密碼參數(shù)進(jìn)行存儲(chǔ)。
在第二秘密信息生成工序S16中,秘密信息生成部112使用CPU911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G2、在秘密信息生成工序S11中生成的整數(shù)α、以及在密碼參數(shù)生成工序S12中公開參數(shù)生成部113選擇的乘法群G2的要素g2,計(jì)算出乘法群G2的要素msk=g2^α。
秘密信息存儲(chǔ)部121使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)表示秘密信息生成部112計(jì)算出的乘法群G2的要素msk的信息。
在密碼參數(shù)公開工序S13中,公開參數(shù)公開部114使用CPU 911等處理裝置,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、公開參數(shù)生成部113決定的密鑰生成函數(shù)KDF、哈希函數(shù)HF、函數(shù)V1和函數(shù)V2、公開參數(shù)生成部113選擇的乘法群G1的要素g與乘法群G2的要素g2、以及公開參數(shù)生成部113計(jì)算出的乘法群G1的要素g1的信息,作為公開密碼參數(shù)而進(jìn)行公開。
關(guān)于公開參數(shù)公開部114公開的公開密碼參數(shù),由密文生成裝置200以及密文接收裝置301~303取得,并由密碼參數(shù)存儲(chǔ)部210以及公開參數(shù)存儲(chǔ)部310使用磁盤裝置920等存儲(chǔ)裝置來進(jìn)行存儲(chǔ)。
圖20是示出本實(shí)施方式中的對(duì)比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的秘密密鑰設(shè)定處理的工序共同的工序,附加同一標(biāo)號(hào)。
在識(shí)別輸入工序S21中,識(shí)別信息輸入部131使用CPU 911等處理裝置,輸入m位的位串ID而作為接收者識(shí)別信息。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2與函數(shù)V1、秘密信息存儲(chǔ)部121存儲(chǔ)的乘法群G2的要素msk、在識(shí)別輸入工序S21中輸入的m位的位串ID、以及生成的整數(shù)rID,計(jì)算出乘法群G2的要素d0ID=msk·V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲(chǔ)部122存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及生成的整數(shù)rID,計(jì)算出乘法群G1的要素d1ID=g^rID。
秘密密鑰通知部133使用CPU 911等處理裝置,將表示在秘密密鑰生成工序S22中秘密密鑰生成部132計(jì)算出的乘法群G2的要素d0ID與乘法群G1的要素d1ID的信息作為秘密密鑰dID,秘密地通知給所對(duì)應(yīng)的密文接收裝置。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由對(duì)應(yīng)的密文接收裝置取得,并由秘密密鑰存儲(chǔ)部323使用磁盤裝置920等存儲(chǔ)裝置來進(jìn)行存儲(chǔ)。
圖21是示出本實(shí)施方式中的對(duì)比例子即密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號(hào)。
在接收者識(shí)別輸入工序S32中,接收者識(shí)別輸入部232使用CPU911等處理裝置,作為分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息,而輸入與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)m位的位串IDi。
在隨機(jī)數(shù)生成工序S34中,隨機(jī)數(shù)生成部222使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群GT、配對(duì)e、乘法群G1的要素g1、乘法群G2的要素g2和密鑰生成函數(shù)KDF、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)在對(duì)話密鑰生成工序S33中對(duì)話密鑰生成部221生成的對(duì)話密鑰K(=明文M)、以及計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki,利用與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密鑰位串ki對(duì)一個(gè)對(duì)話密鑰K分別進(jìn)行加密,而生成與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、在接收者識(shí)別輸入工序S32中接收者識(shí)別輸入部232輸入的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)m位的位串IDi、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si。
第二密文生成部242使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1和乘法群G1的要素g、以及在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si。
第三密文生成部243使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群G1的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i。
在哈希值計(jì)算工序S38中,哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i,生成將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i分別結(jié)合而得到的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i)。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i),計(jì)算出將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)結(jié)合密文(C1i|C2i|C3i)分別通過哈希函數(shù)HF進(jìn)行變換后的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)m位的位串wi=HF(C1i|C2i|C3i)。
在密文驗(yàn)證文生成工序S39中,密文驗(yàn)證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2和函數(shù)V2、在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)整數(shù)si、以及在哈希值計(jì)算工序S38中哈希值計(jì)算部244計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)m位的位串wi,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(wi)^si。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi。
圖22是本實(shí)施方式中的對(duì)比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與實(shí)施方式1中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號(hào)。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,根據(jù)在通知數(shù)據(jù)接收工序中密文接收部351輸出的一個(gè)密鑰密文C,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID、一個(gè)對(duì)應(yīng)第三密文C3ID、以及一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID。
在驗(yàn)證哈希值計(jì)算工序S53中,驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及將在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID結(jié)合而得到的一個(gè)對(duì)應(yīng)結(jié)合密文(C1ID|C2ID|C3ID),計(jì)算出將一個(gè)對(duì)應(yīng)結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)m位的位串w’,而作為驗(yàn)證哈希值H’。
在密文驗(yàn)證工序S54中,密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和函數(shù)V1、在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的一個(gè)要素vID、以及識(shí)別自身所對(duì)應(yīng)的接收者的m位的位串ID,計(jì)算出乘法群GT的一個(gè)要素e(vID,V1(ID))。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和乘法群G1的要素g、以及在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的一個(gè)要素uID,計(jì)算出乘法群GT的一個(gè)要素e(g,uID)。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和函數(shù)V2、在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的一個(gè)要素vID、以及在驗(yàn)證哈希值計(jì)算工序S53中驗(yàn)證哈希值計(jì)算部344計(jì)算出的m位的位串w’,計(jì)算出乘法群GT的一個(gè)要素e(vID,V2(w’))。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和乘法群G1的要素g、以及在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群G2的一個(gè)要素yID,計(jì)算出乘法群GT的一個(gè)要素e(g,yID)。
密文驗(yàn)證部345使用CPU 911等處理裝置,根據(jù)計(jì)算出的乘法群GT的一個(gè)要素e(vID,V1(ID))、計(jì)算出的乘法群GT的一個(gè)要素e(g,uID)、計(jì)算出的乘法群GT的一個(gè)要素e(vID,V2(w’))、以及計(jì)算出的乘法群GT的一個(gè)要素e(g,yID),判定是否為e(vID,V1(ID))=e(g,uID)、且e(vID,V2(w’))=e(g,yID)。
在兩個(gè)等式成立的情況下,密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密鑰密文C中有匹配性,并進(jìn)入密文解密工序S55。
在某一個(gè)或雙方的等式不成立的情況下,密文驗(yàn)證部345判定為在密文接收部351接收到的一個(gè)密鑰密文C中無匹配性,結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的乘法群GT、配對(duì)e和密鑰生成函數(shù)KDF、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的一個(gè)要素uID和一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的一個(gè)要素vID,計(jì)算出一個(gè)密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID))。
密文解密部341使用CPU 911等處理裝置,根據(jù)在密文分解工序S52中密文分解部346取得的一個(gè)對(duì)應(yīng)第一密文C1ID、以及計(jì)算出的一個(gè)密鑰位串k’,利用密鑰位串k’對(duì)對(duì)應(yīng)第一密文C1ID進(jìn)行解密,生成規(guī)定長(zhǎng)度的位串,并設(shè)為對(duì)話密鑰K’(=明文M)。
如上所述,密文解密部341生成的對(duì)話密鑰K’成為與密文生成裝置200的對(duì)話密鑰生成部221生成的對(duì)話密鑰K相同的位串。
接下來,對(duì)本實(shí)施方式中的對(duì)比例子即基于ID的密碼通信系統(tǒng)使用的基于ID的密碼方式的安全性進(jìn)行討論。
本實(shí)施方式中的對(duì)比例子即多個(gè)接收者的基于ID的密碼方式是將單獨(dú)接收者的基于ID的密碼方式通過連接方式進(jìn)行了擴(kuò)展的方式,所以SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx)。
此處,Advmu1,∏,Γ(t’,1,qd,qx)表示成為本實(shí)施方式中的對(duì)比例子即多個(gè)接收者的基于ID的密碼方式的基礎(chǔ)的單獨(dú)接收者的基于ID的密碼方式的以往的意義中的安全性。
可以證明成為本實(shí)施方式中的對(duì)比例子即多個(gè)接收者的基于ID的密碼方式的基礎(chǔ)的單獨(dú)接收者的基于ID的密碼方式的以往的意義中的安全性Advmu1,II,Γ(t’,1,qd,qx)歸結(jié)于D-BDH問題(DecisionalBilinear Diffie-Hellman Problem)。
此處,D-BDH問題是如下定義的數(shù)學(xué)上的問題。
在D-BDH問題中,解答者B被提供乘法群G的四個(gè)要素g、g1、g2、g3、以及乘法群GT的一個(gè)要素Z。另外,作為秘密的信息,解答者B有1以上且小于乘法群G的階數(shù)的三個(gè)整數(shù)a、b、c。
乘法群G的要素g是隨機(jī)地選擇的乘法群G的要素。
乘法群G的要素g1是乘法群G的要素g的a乘方即乘法群G的要素g^a。
乘法群G的要素g2是乘法群G的要素g的b乘方即乘法群G的要素g^b。
乘法群G的要素g3是乘法群G的要素g的c乘方即乘法群G的要素g^c。
解答者B回答對(duì)乘法群G的要素g彼此的配對(duì)值即乘法群GT的要素e(g,g)的、整數(shù)a、整數(shù)b和整數(shù)c的積(a·b·c)乘方即乘法群GT的要素e(g,g)^(a·b·c)是否與所提供的乘法群GT的要素Z相等進(jìn)行判別的問題。
與q-D-ABDHE問題同樣地,在定義Advd-bhdk,G,GT(t),且Advd-bhdk,G,GT(t)≤ε時(shí),D-BDH假設(shè)成立 以上,可以證明本實(shí)施方式中的對(duì)比例子即基于ID的密碼方式的SMMR安全性歸結(jié)于D-BDH問題。
接下來,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800進(jìn)行說明。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)以及密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與在對(duì)比例子中說明的部分相同,所以此處省略說明。
首先,對(duì)密文生成裝置200進(jìn)行說明。
密文生成裝置200的塊結(jié)構(gòu)由于與對(duì)比例子中說明的部分相同,所以使用圖4,對(duì)與對(duì)比例子不同的部分進(jìn)行說明。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、第一密文生成部241輸出的n個(gè)第一密文C1i、第二密文生成部242輸出的n個(gè)第二密文C2i、以及第三密文生成部243輸出的n個(gè)第三密文C3i。
哈希值計(jì)算部244使用CPU 911等處理裝置,將所輸入的n個(gè)第一密文C1i、n個(gè)第二密文C2i、和n個(gè)第三密文C3i全部結(jié)合,而生成一個(gè)結(jié)合密文。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個(gè)結(jié)合密文,計(jì)算出將一個(gè)結(jié)合密文通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)m位的位串w0,設(shè)為一個(gè)哈希值H0。
哈希值計(jì)算部244使用CPU 911等處理裝置,輸出表示所計(jì)算出的一個(gè)m位的位串w0的信息、以及生成的一個(gè)結(jié)合密文。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)、表示隨機(jī)數(shù)生成部222輸出的n個(gè)整數(shù)si的信息、以及表示哈希值計(jì)算部244輸出的一個(gè)m位的位串w0的信息。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2、以及輸入的信息所表示的一個(gè)m位的位串w0,計(jì)算出將m位的位串w0通過函數(shù)V2進(jìn)行變換后的乘法群G2的一個(gè)要素V2(w0)。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的信息所表示的n個(gè)整數(shù)si、以及計(jì)算出的乘法群G2的要素V2(w0),計(jì)算出乘法群G2的要素V2(w0)的si乘方即乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上且n以下的整數(shù))。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,輸出分別表示所計(jì)算出的乘法群G2的n個(gè)要素yi的n個(gè)位串,而作為n個(gè)密文驗(yàn)證文CCi(i是1以上且n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計(jì)算部244輸出的一個(gè)結(jié)合密文、以及密文驗(yàn)證文生成部245輸出的n個(gè)密文驗(yàn)證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的一個(gè)結(jié)合密文、以及輸入的n個(gè)密文驗(yàn)證文全部結(jié)合,而生成一個(gè)密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個(gè)密鑰密文C。
本實(shí)施方式中的密文生成裝置200中交換的信息的流程與實(shí)施方式2中使用圖16說明的流程相同,所以此處省略說明。
接下來,對(duì)密文接收裝置301~303進(jìn)行說明。
密文接收裝置301~303的塊結(jié)構(gòu)也與對(duì)比例子中說明的部分相同,所以使用圖6,對(duì)與對(duì)比例子不同的部分進(jìn)行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個(gè)密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個(gè)密鑰密文C,取得對(duì)應(yīng)于自身所對(duì)應(yīng)的接收者的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對(duì)應(yīng)第一密文C1ID、對(duì)應(yīng)第二密文C2ID、對(duì)應(yīng)第三密文C3ID、以及對(duì)應(yīng)密文驗(yàn)證文CCID。
密文分解部346還使用CPU 911等處理裝置,從一個(gè)密鑰密文C,取得驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)并進(jìn)行輸出。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)?;蛘?,驗(yàn)證哈希值計(jì)算部344也可以使用CPU 911等處理裝置來結(jié)合密文,并生成驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及輸入或生成的驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希變換HF進(jìn)行變換后的m位的位串w’,而設(shè)為哈希值H’。
驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,輸出表示所計(jì)算出的m位的位串w’的信息。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖23是示出本實(shí)施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個(gè)例子的流程圖。
另外,對(duì)于與對(duì)比例子中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號(hào)。
在哈希值計(jì)算工序S38中,哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i,生成將與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第一密文C1i、與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第二密文C2i、以及與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)第三密文C3i全部結(jié)合而得到的一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
哈希值計(jì)算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將一個(gè)結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進(jìn)行變換后的一個(gè)m位的位串w0=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
在密文驗(yàn)證文生成工序S39中,密文驗(yàn)證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2和函數(shù)V2、在隨機(jī)數(shù)生成工序S34中隨機(jī)數(shù)生成部222生成的與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)自然數(shù)si、以及在哈希值計(jì)算工序S38中哈希值計(jì)算部244計(jì)算出的一個(gè)m位的位串w0,計(jì)算出與n個(gè)接收者分別對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=V2(w0)^si。
密文驗(yàn)證文生成部245使用CPU 911等處理裝置,將分別表示計(jì)算出的與n個(gè)接收者分別對(duì)應(yīng)的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi。
圖24是示出本實(shí)施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個(gè)例子的流程圖。
另外,針對(duì)與在對(duì)比例子中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號(hào)。
在驗(yàn)證哈希值計(jì)算工序S53中,驗(yàn)證哈希值計(jì)算部344使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計(jì)算出將驗(yàn)證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進(jìn)行變換后的m位的位串w’=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
上述說明以外的工序由于與在對(duì)比例子中說明的工序相同,所以此處省略說明。
如上所述,本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800與對(duì)比例子中說明的基于ID的密碼通信系統(tǒng)800相比,一個(gè)密鑰密文C的長(zhǎng)度沒變,但密文生成處理中所需的計(jì)算量減少,所以可以削減密碼通信的成本。
特別是在哈希值計(jì)算工序S38中,在對(duì)比例子中說明的方式的情況下,需要n次哈希值計(jì)算,但在該方式的情況下,只要進(jìn)行一次哈希值計(jì)算即可。
另外,在密文驗(yàn)證文生成工序S39中,需要進(jìn)行函數(shù)V2的計(jì)算。在按照對(duì)比例子中說明的過程計(jì)算函數(shù)V2時(shí),為了計(jì)算一次函數(shù)V2,需要m1次的乘法群G2中的冪乘以及m1次的乘法群G2中的乘算。在對(duì)比例子中說明的方式的情況下,需要計(jì)算n次函數(shù)V2,相對(duì)于此,在本方式的情況下,只要計(jì)算一次函數(shù)V2即可,在接收者的人數(shù)多的情況下,可以大幅削減計(jì)算量。
接下來,對(duì)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性進(jìn)行說明。
另外,在以下說明中,設(shè)為在密文主文CBi中,包含有識(shí)別與其對(duì)應(yīng)的接收者的接收者識(shí)別信息IDi。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性可以通過組合非專利文獻(xiàn)18記載的證明與非專利文獻(xiàn)6記載的證明來進(jìn)行證明。
在加密oracle的模擬中,解答者B隨機(jī)地生成1以上m2以下的整數(shù)j,判定ID*j是否為可以模擬的ID。
在ID*j是可以模擬的ID的情況下,解答者B針對(duì)1≤i<j的i,選擇M*0而生成密文主文CBi,針對(duì)j<i≤n的i,選擇M*1而生成密文主文CBi,針對(duì)i=j(luò)的i,通過使用了所提供的D-BDH問題的參數(shù)的模擬,生成密文主文CBi。
解答者B結(jié)合所生成的n個(gè)密文主文CBi(i是1以上n以下的整數(shù)),計(jì)算出哈希值w*0。
解答者B針對(duì)i≠j的i,使用密文主文的生成中所使用的隨機(jī)數(shù)si,生成密文驗(yàn)證文CCi,針對(duì)i=j(luò)的i,通過使用了所提供的D-BDH問題的參數(shù)的模擬,生成密文驗(yàn)證文CCi。
由此,在ID*j是可以模擬的ID的情況下,解答者B可以正確地解答D-BDH問題。另外,在ID*j不是可以模擬的ID的情況下,解答者B模擬的加密oracle的輸出分布是與b獨(dú)立的。
因此,可以證明本實(shí)施方式中的基于ID的密碼方式的SMMR安全性。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,可以在數(shù)學(xué)上證明MR-IND-ID-CCA安全性,所以起到可以使用基于ID的密碼通信系統(tǒng)800來實(shí)現(xiàn)安全的密碼通信這樣的效果。
本實(shí)施方式中的密文生成裝置200將以下點(diǎn)作為特征。
密碼參數(shù)存儲(chǔ)部210的特征是,使用磁盤裝置920等存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1和V2、根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、以及乘法群G2的要素g2的信息。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi作為n個(gè)接收者識(shí)別信息。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用CPU 911等處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)明文輸入部231輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及接收者識(shí)別輸入部232輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0而設(shè)為哈希值H。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者分別對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
根據(jù)本實(shí)施方式中的密文生成裝置200,起到如下效果密碼處理中所需的資源少也可以,可以實(shí)現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實(shí)施方式中的密文生成裝置200還將以下點(diǎn)作為特征。
密碼參數(shù)存儲(chǔ)部210的特征是,使用磁盤裝置920等存儲(chǔ)裝置,作為表示兩個(gè)函數(shù)V1以及V2的信息而存儲(chǔ)表示乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))、以及乘法群G2的兩個(gè)要素h1’和h2’的信息。
第二密文生成部242的特征是,使用CPU 911等處理裝置,將接收者識(shí)別輸入部232輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi分別分割為m1個(gè)規(guī)定長(zhǎng)度的位串viξ(ξ是1以上m1以下的整數(shù)),將分割的m1個(gè)規(guī)定長(zhǎng)度的位串viξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h1’、以及分割的m1個(gè)整數(shù)viξ,計(jì)算出函數(shù)V1的值即乘法群G2的要素V1(IDi)=h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,將哈希值計(jì)算部244計(jì)算出的規(guī)定長(zhǎng)度的位串w分割為m1個(gè)規(guī)定長(zhǎng)度的位串vξ(ξ是1以上m1以下的整數(shù)),將分割的m1個(gè)規(guī)定長(zhǎng)度的位串vξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h2’、以及分割的m1個(gè)整數(shù)vξ,計(jì)算出函數(shù)V2的值即乘法群G2的要素V2(w)=h2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù))。
根據(jù)本實(shí)施方式中的密文生成裝置200,起到如下效果密碼處理中所需的資源少也可以,可以實(shí)現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800將以下點(diǎn)作為特征。
密碼參數(shù)生成裝置100的特征是,還具有群參數(shù)存儲(chǔ)部111。
群參數(shù)存儲(chǔ)部111的特征是,使用磁盤裝置920等存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1和V2、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF,并使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)所表示的乘法群G1和乘法群G2,隨機(jī)地選擇乘法群G1的要素g和乘法群G2的要素g2,根據(jù)秘密信息生成部112生成的整數(shù)α和所選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,使用CPU 911等處理裝置,將表示群參數(shù)存儲(chǔ)部111存儲(chǔ)的群參數(shù)、所決定的密鑰生成函數(shù)KDF、兩個(gè)函數(shù)V1及V2和哈希函數(shù)HF、所選擇的乘法群G1的要素g和乘法群G2的要素g2、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù)。
秘密信息生成部112的特征是,還使用CPU 911等處理裝置,根據(jù)生成的整數(shù)α和公開參數(shù)生成部113選擇的乘法群G2的要素g2,計(jì)算出乘法群G2的要素msk=g2^α。
秘密信息存儲(chǔ)部121的特征是,使用磁盤裝置920等存儲(chǔ)裝置,將表示秘密信息生成部112計(jì)算出的乘法群G2的要素msk的信息存儲(chǔ)為秘密信息。
識(shí)別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入規(guī)定長(zhǎng)度的位串ID而作為接收者識(shí)別信息。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,并使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的乘法群G1的要素g和函數(shù)V1、秘密信息存儲(chǔ)部121存儲(chǔ)的秘密信息所表示的乘法群G2的要素msk、以及生成的整數(shù)rID,計(jì)算出乘法群G2的要素d0ID=msk·V1(ID)^rID和乘法群G1的要素d1ID=g^rID,將表示所計(jì)算出的乘法群G2的要素d0ID和乘法群G1的要素d1ID的信息設(shè)為秘密密鑰dID。
接收者識(shí)別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi而作為n個(gè)接收者識(shí)別信息。
隨機(jī)數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用CPU 911等處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)明文輸入部231輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、接收者識(shí)別輸入部232輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)),計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、以及隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計(jì)算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0,而設(shè)為哈希值H。
密文驗(yàn)證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲(chǔ)部210存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、隨機(jī)數(shù)生成部222生成的n個(gè)整數(shù)si、以及哈希值計(jì)算部244計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi。
驗(yàn)證哈希值計(jì)算部344的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出規(guī)定長(zhǎng)度的位串w’,而設(shè)為驗(yàn)證哈希值H’。
密文驗(yàn)證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和函數(shù)V2、密文分解部346取得的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID以及驗(yàn)證哈希值計(jì)算部344計(jì)算出的規(guī)定長(zhǎng)度的位串w’,計(jì)算出乘法群GT的要素e(vID,V2(w’)),并使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g和配對(duì)e、以及密文分解部346取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群G2的要素yID,計(jì)算出乘法群GT的要素e(g,yID),并使用CPU 911等處理裝置,對(duì)計(jì)算出的乘法群GT的要素e(vID,V2(w’))和計(jì)算出的乘法群GT的要素e(g,yID)進(jìn)行比較,在乘法群GT的要素e(vID,V2(w’))與乘法群GT的要素e(g,yID)一致的情況下,判定為密文接收部351接收到的一個(gè)密文C(密鑰密文C)中有匹配性。
密文解密部341的特征是,在密文驗(yàn)證部345判定為密文接收部351接收到的一個(gè)密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲(chǔ)部310存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、秘密密鑰存儲(chǔ)部323存儲(chǔ)的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及密文分解部346取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的要素uID和對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計(jì)算出密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID)),并使用CPU 911等處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)密文分解部346取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,還原明文M。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,起到如下效果密碼處理中所需的資源少也可以,可以實(shí)現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
實(shí)施方式4 使用圖25~圖28,對(duì)實(shí)施方式4進(jìn)行說明。
圖25是示出本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個(gè)例子的系統(tǒng)結(jié)構(gòu)圖。
基于ID的密碼通信系統(tǒng)800具有密碼參數(shù)生成裝置100、密文生成裝置200、密文接收裝置301~密文接收裝置303、以及群參數(shù)生成裝置400。
其中,密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~密文接收裝置303由于與實(shí)施方式2中說明的部分相同,所以此處省略說明。
群參數(shù)生成裝置400生成群參數(shù)。關(guān)于群參數(shù)生成裝置400生成的群參數(shù),由密碼參數(shù)生成裝置100輸入,并由群參數(shù)存儲(chǔ)部11進(jìn)行存儲(chǔ)。
另外,群參數(shù)生成裝置400也可以在密碼參數(shù)生成裝置100的內(nèi)部。
圖26是示出本實(shí)施方式中的群參數(shù)生成裝置400的功能塊的結(jié)構(gòu)的一個(gè)例子的塊結(jié)構(gòu)圖。
群參數(shù)生成裝置400具有參數(shù)生成條件存儲(chǔ)部410、群階數(shù)候補(bǔ)生成部420、群階數(shù)安全性判定部430以及參數(shù)生成部440。
參數(shù)生成條件存儲(chǔ)部410使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)參數(shù)生成條件信息。
參數(shù)生成條件信息是指,表示有關(guān)群參數(shù)生成裝置400生成的群參數(shù)的條件的信息。關(guān)于有關(guān)群參數(shù)生成裝置400生成的群參數(shù)的條件,從使用了該群參數(shù)的基于ID的密碼通信系統(tǒng)800的安全性等觀點(diǎn)出發(fā),是預(yù)先決定的。
參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)表示整數(shù)k、整數(shù)D、整數(shù)B1和整數(shù)B2的信息而作為參數(shù)生成條件信息。
此處,整數(shù)k表示嵌入次數(shù)(embeding degree)。整數(shù)D表示判別式。整數(shù)B1表示第一閾值。整數(shù)B2表示第二閾值。
群階數(shù)候補(bǔ)生成部420生成在群參數(shù)之中成為自然數(shù)r(乘法群G1、乘法群G2以及乘法群GT的階數(shù))的候補(bǔ)的自然數(shù)。
群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息。
群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)K與整數(shù)D,生成滿足以下三個(gè)條件的自然數(shù)r。
第一條件是自然數(shù)r為充分大的素?cái)?shù)這樣的條件。此處,“充分大”意味著在將自然數(shù)r設(shè)為階數(shù)的乘法群中難以求解DH問題。
第二條件是自然數(shù)r為整數(shù)k的倍數(shù)+1這樣的條件。
第三條件是在將自然數(shù)r設(shè)為除數(shù)(modulo)時(shí)整數(shù)D為平方剩余這樣的條件。
群階數(shù)候補(bǔ)生成部420生成滿足以上三個(gè)條件的自然數(shù)r,使用CPU 911等處理裝置,輸出表示所生成的自然數(shù)r的信息。
群階數(shù)安全性判定部430從基于ID的密碼通信系統(tǒng)800的安全性的觀點(diǎn)出發(fā),判定群階數(shù)候補(bǔ)生成部420生成的自然數(shù)r是否合適。
在本實(shí)施方式中,在(r-1)以及(r+1)無法進(jìn)行素因數(shù)分解時(shí),認(rèn)為安全性最高。
這是因?yàn)?,關(guān)于q-D-tABDHE問題,存在利用(r-1)或者(r+1)的因數(shù)來求出α的算法,所以在采用歸結(jié)于q-D-ABDHE問題的密碼方式的情況下,優(yōu)選避免這樣的r。
但是,在現(xiàn)實(shí)中,不存在滿足這樣的條件的r。因?yàn)閞是大的素?cái)?shù),所以是奇數(shù),(r-1)以及(r+1)分別被2除盡。
另外,從上述r的選擇條件,(r-1)被k除盡。
而且,(r-1)以及(r+1)中的任意一個(gè)被4除盡。因?yàn)樵诩僭O(shè)(r+1)無法被4除盡時(shí),由于(r+1)被2除盡,所以將(r+1)除以4而得到的余數(shù)是2,因此(r-1)被4除盡。
因此,以(r-1)以及(r+1)不具有上述以外的素因數(shù)為目標(biāo),選擇自然數(shù)r。
群階數(shù)安全性判定部420具有剩余計(jì)算部431、判定值計(jì)算部432以及素因數(shù)判定部433。
剩余計(jì)算部431使用CPU 911等處理裝置,輸入表示群階數(shù)候補(bǔ)生成部420輸出的自然數(shù)r的信息。
剩余計(jì)算部431使用CPU 911等處理裝置,計(jì)算出將輸入的信息所表示的自然數(shù)r除以4而得到的余數(shù)。
剩余計(jì)算部431使用CPU 911等處理裝置,輸出表示所計(jì)算出的余數(shù)的信息。
自然數(shù)r應(yīng)滿足的條件根據(jù)將自然數(shù)r除以4而得到的余數(shù)是1還是3而不同。
判定值計(jì)算部432使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息、表示群階數(shù)候補(bǔ)生成部420輸出的自然數(shù)r的信息、以及表示剩余計(jì)算部431輸出的余數(shù)的信息。
判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的余數(shù),判定將自然數(shù)r除以4而得到的余數(shù)是1還是3。
在將自然數(shù)r除以4而得到的余數(shù)是1的情況下,(r-1)被4除盡。因此,以將(r-1)除以整數(shù)k與4的最小公倍數(shù)而得到的商不具有比整數(shù)B1小的素因數(shù)、并且將(r+1)除以2而得到的商不具有比整數(shù)B2小的素因數(shù)的情況作為條件,而選擇自然數(shù)r。
因此,在判定為將自然數(shù)r除以4而得到的余數(shù)是1的情況下,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)k、以及輸入的信息所表示的自然數(shù)r,計(jì)算出將自然數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商(r-1)/CM(k,4),而設(shè)為整數(shù)r1。
另外,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以2而得到的商(r+1)/2,而設(shè)為整數(shù)r2。
在將自然數(shù)r除以4而得到的余數(shù)是3的情況下,(r+1)被4除盡。因此,以將(r-1)除以整數(shù)k與2的最小公倍數(shù)而得到的商不具有比整數(shù)B1小的素因數(shù)、且將(r+1)除以4而得到的商不具有比整數(shù)B2小的素因數(shù)的情況作為條件,選擇自然數(shù)r。
因此,在判定為將自然數(shù)r除以4而得到的余數(shù)是3的情況下,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)k以及輸入的信息所表示的自然數(shù)r,計(jì)算出將自然數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商(r-1)/LCM(k,2),設(shè)為整數(shù)r1。
另外,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
判定值計(jì)算部432使用CPU 911等處理裝置,輸出表示所計(jì)算出的整數(shù)r1與整數(shù)r2的信息。
素因數(shù)判定部433使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息、以及表示判定值計(jì)算部432輸出的整數(shù)r1與整數(shù)r2的信息。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)B1、以及輸入的信息所表示的整數(shù)r1,判定整數(shù)r1是否具有比整數(shù)B1小的素因數(shù)。
在判定為整數(shù)r1具有比整數(shù)B1小的素因數(shù)的情況下,素因數(shù)判定部433使用CPU 911等處理裝置,判定為自然數(shù)r不合適。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)B2、以及輸入的信息所表示的整數(shù)r2,判定整數(shù)r2是否具有比整數(shù)B2小的素因數(shù)。
在判定為整數(shù)r2具有比整數(shù)B2小的素因數(shù)的情況下,素因數(shù)判定部433使用CPU 911等處理裝置,判定為自然數(shù)r不合適。
僅在整數(shù)r1不具有比整數(shù)B1小的素因數(shù)、且整數(shù)r2不具有比整數(shù)B2小的素因數(shù)的情況下,素因數(shù)判定部433使用CPU 911等處理裝置,判定為自然數(shù)r合適。
在群階數(shù)安全性判定部430判定為自然數(shù)r合適的情況下,參數(shù)生成部440根據(jù)自然數(shù)r,生成群參數(shù)。
參數(shù)生成部440使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息、以及表示群階數(shù)候補(bǔ)生成部420輸出的自然數(shù)r的信息。
參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)k與整數(shù)D、以及輸入的信息所表示的自然數(shù)r,決定乘法群G1以及乘法群G2。
參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)決定的乘法群G1以及乘法群G2,決定乘法群G1的要素與乘法群G2的要素的配對(duì)e、以及以配對(duì)e的值為要素的乘法群GT。
參數(shù)生成部440使用CPU 911等處理裝置,輸出表示所決定的群參數(shù)G1、群參數(shù)G2、群參數(shù)GT和配對(duì)e的信息,而作為群參數(shù)。
此處,乘法群G1以及乘法群G2例如是橢圓曲線EY2=X3+aX+b(X、Y、a、b是階數(shù)p(p是素?cái)?shù))的有限域GF(p)的要素)上的點(diǎn)所成的群。
配對(duì)e例如是Weil配對(duì)(Weil Pairing)、Tate配對(duì)(TatePairing)。
乘法群GT例如是階數(shù)qk(q是素?cái)?shù)。k是2以上的整數(shù))的有限域G F(qk)的乘法群的部分群。
作為求解將自然數(shù)r設(shè)為橢圓曲線E上的點(diǎn)所成的群的階數(shù)、將整數(shù)D設(shè)為判別式、將整數(shù)k設(shè)為有限域G F(qk)的嵌入次數(shù)的、橢圓曲線E的參數(shù)的算法,例如有Cocks-Pinch(コツクスピンチ)方法。
參數(shù)生成部440使用CPU 911等處理裝置,例如通過Cocks-Pinch方法,計(jì)算出有限域GF(p)的階數(shù)p、以及p+1-t或p+1+t成為素?cái)?shù)的整數(shù)t。
參數(shù)生成部440使用CPU 911等處理裝置,計(jì)算出針對(duì)判別式D的希爾伯特類多項(xiàng)式HD(X)。
參數(shù)生成部440使用CPU 911等處理裝置,計(jì)算出所計(jì)算出的希爾伯特類多項(xiàng)式HD(X)的除數(shù)p還原多項(xiàng)式的根即有限域GF(p)的要素j。參數(shù)生成部440例如通過Berlekamp算法,計(jì)算出有限域GF(p)的要素j。
參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)求出的有限域GF(p)的要素j,計(jì)算出滿足j=1728a3/(a3+27b2)的有限域GF(p)的要素a以及b,設(shè)為橢圓曲線EY2=X3+aX+b的系數(shù)。
參數(shù)生成部440例如如上所述,決定乘法群G1、乘法群G2、乘法群GT以及配對(duì)e。
關(guān)于參數(shù)生成部440輸出的群參數(shù),由密碼參數(shù)生成裝置100的群參數(shù)存儲(chǔ)部111使用CPU 911等處理裝置進(jìn)行輸入,并使用磁盤裝置920等存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
圖27是示出本實(shí)施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個(gè)例子的流程圖。
在自然數(shù)生成工序S61中,群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,生成自然數(shù)r。
在素?cái)?shù)判定工序S62中,群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,判定自然數(shù)r是否為素?cái)?shù)。
在判定為自然數(shù)r是素?cái)?shù)的情況下,進(jìn)入倍數(shù)判定工序S63。
在判定為自然數(shù)r不是素?cái)?shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在倍數(shù)判定工序S63中,群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,判定自然數(shù)r是否為整數(shù)k的倍數(shù)+1。
在判定為自然數(shù)r是整數(shù)k的倍數(shù)+1的情況下,進(jìn)入平方剩余判定工序S64。
在判定為自然數(shù)r不是整數(shù)k的倍數(shù)+1的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在平方剩余判定工序S64中,群階數(shù)候補(bǔ)生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)D、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,判定整數(shù)D是否為除數(shù)r下的平方剩余。
在判定為整數(shù)D是除數(shù)r下的平方剩余的情況下,進(jìn)入第一剩余計(jì)算工序S65。
在判斷為整數(shù)D不是除數(shù)r下的平方剩余的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在第一剩余計(jì)算工序S65中,剩余計(jì)算部431使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計(jì)算出將自然數(shù)r除以4而得到的余數(shù)。
在將自然數(shù)r除以4而得到的余數(shù)是3的情況下,進(jìn)入第一判定值計(jì)算工序S66。
在將自然數(shù)r除以4而得到的余數(shù)是1的情況下,進(jìn)入第三判定值計(jì)算工序S68。
在第一判定值計(jì)算工序S66中,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
在第二判定值計(jì)算工序S67中,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k,計(jì)算出整數(shù)k與2的最小公倍數(shù)LCM(k,2)。
判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r、以及計(jì)算出的最小公倍數(shù)LCM(k,2),計(jì)算出將自然數(shù)r與1之差(r-1)除以最小公倍數(shù)LCM(k,2)而得到的商(r-1)/LCM(k,2),并設(shè)為整數(shù)r1。
之后,進(jìn)入第一素因數(shù)判定工序S70。
在第三判定值計(jì)算工序S68中,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以2而得到的商(r+1)/2,并設(shè)為整數(shù)r2。
在第四判定值計(jì)算工序S69中,判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k,計(jì)算出整數(shù)k與4的最小公倍數(shù)LCM(k,4)。
判定值計(jì)算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r、以及計(jì)算出的最小公倍數(shù)LCM(k,4),計(jì)算出將自然數(shù)r與1之差(r-1)除以最小公倍數(shù)LCM(k,4)而得到的商(r-1)/LCM(k,4),設(shè)為整數(shù)r1。
在第一素因數(shù)判定工序S70中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)B1、以及在第二判定值計(jì)算工序S67或第四判定值計(jì)算工序S69中計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有小于整數(shù)B1的素因數(shù)。
在判定為整數(shù)r1具有小于整數(shù)B1的素因數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r1不具有小于整數(shù)B1的素因數(shù)的情況下,進(jìn)入第二素因數(shù)判定工序S71。
在第二素因數(shù)判定工序S71中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)B2、以及在第一判定值計(jì)算工序S66或第三判定值計(jì)算工序S68中計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有小于整數(shù)B2的素因數(shù)。
在判定為整數(shù)r2具有小于整數(shù)B2的素因數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r2不具有小于整數(shù)B2的素因數(shù)的情況下,進(jìn)入群參數(shù)生成工序S85。
這樣,群階數(shù)安全性判定部430選擇安全的自然數(shù)r而作為乘法群的階數(shù)。
在群參數(shù)生成工序S72中,參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,計(jì)算出將自然數(shù)r設(shè)為群階數(shù)的乘法群。
參數(shù)生成部440使用CPU 911等處理裝置,生成包括表示所計(jì)算出的乘法群的信息的群參數(shù)。
如上所述,實(shí)現(xiàn)使用了安全的群階數(shù)的基于ID的密碼通信系統(tǒng)800。
圖28是示出本實(shí)施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的另一例子的流程圖。
另外,針對(duì)與圖27中說明的群參數(shù)生成處理的工序共同的工序,附加同一標(biāo)號(hào),省略說明。
在自然數(shù)生成工序S81中,群階數(shù)候補(bǔ)生成部420使用CPU 911等處理裝置,生成自然數(shù)n。
在嵌入次數(shù)判定工序S82中,群階數(shù)候補(bǔ)生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k,判定整數(shù)k是奇數(shù)還是偶數(shù)。
在判定為整數(shù)k是偶數(shù)的情況下,進(jìn)入第一自然數(shù)計(jì)算工序S83。
在判定為整數(shù)k是奇數(shù)的情況下,進(jìn)入第二自然數(shù)計(jì)算工序S84。
在第一自然數(shù)計(jì)算工序S83中,群階數(shù)候補(bǔ)生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S81中生成的自然數(shù)n,計(jì)算出對(duì)整數(shù)k與自然數(shù)n之積加上1的自然數(shù)r=n·k+1。
之后,進(jìn)入素?cái)?shù)判定工序S62。
在第二自然數(shù)計(jì)算工序S84中,群階數(shù)候補(bǔ)生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S81中生成的自然數(shù)n,計(jì)算出對(duì)整數(shù)k與自然數(shù)n的兩倍之積加上1的自然數(shù)r=2n·k+1。
由此,在上述條件之中,滿足自然數(shù)r是整數(shù)k的倍數(shù)+1這樣的條件。另外,由于自然數(shù)r總是奇數(shù),所以有可能是素?cái)?shù)。
在第一判定值計(jì)算工序S85中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一自然數(shù)計(jì)算工序S83或第二自然數(shù)計(jì)算工序S84中計(jì)算出的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
在第二判定值計(jì)算工序S86中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S81中生成的自然數(shù)n,將自然數(shù)n設(shè)為整數(shù)r1。
在整數(shù)k是奇數(shù)的情況下,由于r=2n·k+1,所以n=(r-1)/2k。因此,整數(shù)r1是將(r-1)除以k與2的最小公倍數(shù)(由于整數(shù)k是奇數(shù),所以與2k相等)而得到的商。
在整數(shù)k是偶數(shù)的情況下,由于r=n·k+1,所以n=(r-1)/k。因此,整數(shù)r1是將(r-1)除以k與2的最小公倍數(shù)(由于整數(shù)k是偶數(shù),所以與k相等)而得到的商。
另外,在k是4的倍數(shù)的情況下,整數(shù)r1也是將(r-1)除以k與4的最小公倍數(shù)而得到的商。
之后,進(jìn)入第一素因數(shù)判定工序S70。
在第三判定值計(jì)算工序S87中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一自然數(shù)計(jì)算工序S83或第二自然數(shù)計(jì)算工序S84中計(jì)算出的自然數(shù)r,計(jì)算出將自然數(shù)r與1之和(r+1)除以2而得到的商(r+1)/2,設(shè)為整數(shù)r2。
在第二剩余計(jì)算工序S88中,群階數(shù)安全性判定部430使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)的參數(shù)生成條件信息所表示的整數(shù)k,計(jì)算出將整數(shù)k除以4而得到的余數(shù)。
在計(jì)算出的余數(shù)是0的情況下,進(jìn)入第二判定值計(jì)算工序S86。
在計(jì)算出的余數(shù)是0以外的情況下,進(jìn)入第四判定值計(jì)算工序S89。
在第四判定值計(jì)算工序S89中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S81中生成的自然數(shù)n,計(jì)算出將自然數(shù)n除以2而得到的商n/2,設(shè)為整數(shù)r1。
在整數(shù)k是奇數(shù)的情況下,成為r1=(r-1)/4k。因此,自然數(shù)r1是將(r-1)除以k與4的最小公倍數(shù)而得到的商。
在整數(shù)k是偶數(shù)的情況下,將整數(shù)k除以4而得到的余數(shù)是2,成為r1=(r-1)/2k。因此,整數(shù)r1是將(r-1)除以k與4的最小公倍數(shù)而得到的商。
這樣,選擇滿足自然數(shù)r作為乘法群的階數(shù)而應(yīng)滿足的所有條件的自然數(shù)r。
另外,不限于上述兩個(gè)處理的流程,也可以通過其它過程來選擇自然數(shù)r。
只要能夠選擇滿足上述自然數(shù)r應(yīng)滿足的條件的自然數(shù)r即可,判定的順序、詳細(xì)的過程也可以不同。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))的特征是,還具有群參數(shù)生成裝置400。
群參數(shù)生成裝置400的特征是,具有處理信息的CPU 911等處理裝置、群階數(shù)候補(bǔ)生成部420、群階數(shù)安全性判定部430、以及參數(shù)生成部440。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成素?cái)?shù)r(自然數(shù)r)作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)、以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用CPU 911等處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r是否為安全的群階數(shù)。
參數(shù)生成部440的特征是,在群階數(shù)安全性判定部430判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r是安全的群階數(shù)的情況下,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用CPU 911等處理裝置,生成包括表示所計(jì)算出的乘法群的信息的群參數(shù)。
群參數(shù)存儲(chǔ)部111的特征是,使用磁盤裝置920等存儲(chǔ)裝置,存儲(chǔ)群參數(shù)生成裝置400生成的群參數(shù)。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,起到可以根據(jù)具有安全的群階數(shù)的乘法群來進(jìn)行基于ID的密碼通信這樣的效果。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點(diǎn)作為特征。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r(自然數(shù)r)而作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,具有剩余計(jì)算部431、判定值計(jì)算部432、以及素因數(shù)判定部433。
剩余計(jì)算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù)。
判定值計(jì)算部432的特征是,在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計(jì)算部431計(jì)算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r不是安全的群階數(shù)。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,由于可以避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,進(jìn)行基于ID的密碼通信。
本實(shí)施方式中的群參數(shù)生成裝置400將以下點(diǎn)作為特征。
一種群參數(shù)生成裝置400,生成對(duì)各自具有對(duì)應(yīng)的密文接收裝置301~303的n個(gè)接收者(n是1以上的整數(shù))利用一個(gè)密文C(密鑰密文C)通知明文M(對(duì)話密鑰K)的密碼通信系統(tǒng)(基于ID的密碼通信系統(tǒng)800)中的密碼處理中使用的乘法群的參數(shù),其特征在于,具有處理信息的CPU 911等處理裝置、群階數(shù)候補(bǔ)生成部420、群階數(shù)安全性判定部430、以及參數(shù)生成部440。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成素?cái)?shù)r作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)、以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用CPU 911等處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r是否為安全的群階數(shù)。
參數(shù)生成部440的特征是,在群階數(shù)安全性判定部430判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r是安全的群階數(shù)的情況下,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用CPU 911等處理裝置,生成包括表示所計(jì)算出的乘法群的信息的群參數(shù)。
根據(jù)本實(shí)施方式中的群參數(shù)生成裝置400,可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),所以起到如下效果可以確保基于ID的密碼通信系統(tǒng)800中的密碼通信的安全。
本實(shí)施方式中的群參數(shù)生成裝置400還將以下點(diǎn)作為特征。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,具有剩余計(jì)算部431、判定值計(jì)算部432、以及素因數(shù)判定部433。
剩余計(jì)算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù)。
判定值計(jì)算部432的特征是,在剩余計(jì)算部431計(jì)算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計(jì)算部431計(jì)算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r不是安全的群階數(shù)。
根據(jù)本實(shí)施方式中的群參數(shù)生成裝置400,由于可以避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確保基于ID的密碼通信系統(tǒng)800中的密碼通信的安全。
實(shí)施方式5 使用圖29,對(duì)實(shí)施方式5進(jìn)行說明。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)、密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的塊結(jié)構(gòu)由于與實(shí)施方式4中說明的部分相同,所以此處省略說明。
對(duì)群參數(shù)生成裝置400進(jìn)行說明。
本實(shí)施方式中的群參數(shù)生成裝置400的塊結(jié)構(gòu)由于與實(shí)施方式4中說明的部分相同,所以使用圖26,對(duì)不同的部分進(jìn)行說明。
參數(shù)生成條件存儲(chǔ)部410存儲(chǔ)表示整數(shù)k、整數(shù)D的信息而作為參數(shù)生成條件信息。
素因數(shù)判定部433使用CPU 911等處理裝置,輸入表示判定值計(jì)算部432輸出的整數(shù)r1與整數(shù)r2的信息。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù)。
在判定為整數(shù)r1不是素?cái)?shù)的情況下,素因數(shù)判定部433使用CPU911等處理裝置,判定為群階數(shù)候補(bǔ)生成部420生成的自然數(shù)r不是安全的群階數(shù)、作為群階數(shù)不合適。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù)。
在判定為整數(shù)r2不是素?cái)?shù)的情況下,素因數(shù)判定部433使用CPU911等處理裝置,判定為群階數(shù)候補(bǔ)生成部420生成的自然數(shù)r不是安全的群階數(shù)、作為群階數(shù)不合適。
素因數(shù)判定部433僅在判定為整數(shù)r1與整數(shù)r2都是素?cái)?shù)的情況下,判定為群階數(shù)候補(bǔ)生成部420生成的自然數(shù)r是安全的群階數(shù)、作為群階數(shù)是合適的。
接下來,對(duì)動(dòng)作進(jìn)行說明。
圖29是示出本實(shí)施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個(gè)例子的流程圖。
另外,針對(duì)與實(shí)施方式4中說明的群參數(shù)生成處理的工序共同的工序,附加同一標(biāo)號(hào)。
在第一素因數(shù)判定工序S70中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第二判定值計(jì)算工序S67或第四判定值計(jì)算工序S69中計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù)。
在判定為整數(shù)r1不是素?cái)?shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r1是素?cái)?shù)的情況下,進(jìn)入第二素因數(shù)判定工序S71。
在第二素因數(shù)判定工序S71中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一判定值計(jì)算工序S66或第二判定值計(jì)算工序S68中計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù)。
在判定為整數(shù)r2不是素?cái)?shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r2是素?cái)?shù)的情況下,進(jìn)入群參數(shù)生成工序S85。
在實(shí)施方式4中,如果整數(shù)r1以及r2不具有直到某種程度的大小的素因數(shù)就視為安全,但在本實(shí)施方式中,通過判定整數(shù)r1以及r2是否為素?cái)?shù),來判定自然數(shù)r是否為安全的群階數(shù),所以安全性進(jìn)一步提高。
本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))將以下點(diǎn)作為特征。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,具有剩余計(jì)算部431、判定值計(jì)算部432、以及素因數(shù)判定部433。
剩余計(jì)算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù)。
判定值計(jì)算部432的特征是,在剩余計(jì)算部431計(jì)算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計(jì)算部431計(jì)算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù),并使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r不是安全的群階數(shù)。
根據(jù)本實(shí)施方式中的基于ID的密碼通信系統(tǒng)800,由于可以可靠地避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
本實(shí)施方式中的群參數(shù)生成裝置400將以下點(diǎn)作為特征。
群階數(shù)候補(bǔ)生成部420的特征是,使用CPU 911等處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ)。
群階數(shù)安全性判定部430的特征是,具有剩余計(jì)算部431、判定值計(jì)算部432、以及素因數(shù)判定部433。
剩余計(jì)算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù)。
判定值計(jì)算部432的特征是,在剩余計(jì)算部431計(jì)算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計(jì)算部431計(jì)算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù),并使用CPU 911等處理裝置,根據(jù)判定值計(jì)算部432計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為群階數(shù)候補(bǔ)生成部420生成的素?cái)?shù)r不是安全的群階數(shù)。
根據(jù)本實(shí)施方式中的群參數(shù)生成裝置400,由于可以可靠地避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
權(quán)利要求
1.一種密文生成裝置,生成將明文M通知給n個(gè)接收者(n是1以上的整數(shù))的密文C,其特征在于,具有
存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;密碼參數(shù)存儲(chǔ)部;接收者識(shí)別輸入部;明文輸入部;密文主文生成部;哈希值計(jì)算部;密文驗(yàn)證文生成部;以及密文結(jié)合部,
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)公開密碼參數(shù),
上述接收者識(shí)別輸入部使用上述處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù)),
上述明文輸入部使用上述處理裝置,輸入明文M,
上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi以及上述明文輸入部輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù)),
上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi而生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)以及上述哈希值計(jì)算部計(jì)算出的哈希值H,生成密文驗(yàn)證文CC,
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi和上述密文驗(yàn)證文生成部生成的密文驗(yàn)證文CC,設(shè)為一個(gè)密文C。
2.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,上述密文生成裝置還具有隨機(jī)數(shù)生成部,
上述隨機(jī)數(shù)生成部使用上述處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)),
上述密文主文生成部具有第一密文生成部、第二密文生成部以及第三密文生成部,
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述明文輸入部輸入的明文M以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)),
將上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i以及上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi,
上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i以及上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為一個(gè)結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si以及上述哈希值計(jì)算部計(jì)算出的一個(gè)哈希值H,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)),
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、上述第三密文生成部生成的n個(gè)第三密文C3i和上述密文驗(yàn)證文生成部生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C。
3.根據(jù)權(quán)利要求2所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2以及乘法群G2的要素h3的信息,
上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)整數(shù)IDi而作為n個(gè)接收者識(shí)別信息,
上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識(shí)別輸入部輸入的n個(gè)整數(shù)IDi以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群GT的要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0,而設(shè)為哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群GT的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
4.根據(jù)權(quán)利要求2所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為公開密碼參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e、根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1以及V2、根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1以及乘法群G2的要素g2的信息,
上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi而作為n個(gè)接收者識(shí)別信息,
上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si以及上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),將分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0,而設(shè)為哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si以及上述哈希值計(jì)算部計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù))。
5.根據(jù)權(quán)利要求4所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為表示兩個(gè)函數(shù)V1以及V2的信息而存儲(chǔ)表示乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的兩個(gè)要素h1’及h2’的信息,
上述第二密文生成部使用上述處理裝置,將上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi分別分割為m1個(gè)規(guī)定長(zhǎng)度的位串viξ(ξ是1以上m1以下的整數(shù)),將分割的m1個(gè)規(guī)定長(zhǎng)度的位串viξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h1’、以及分割的m1個(gè)整數(shù)viξ,計(jì)算出函數(shù)V1的值即乘法群G2的要素V1(IDi)=h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù)),
上述密文驗(yàn)證文生成部使用上述處理裝置,將上述哈希值計(jì)算部計(jì)算出的規(guī)定長(zhǎng)度的位串w分割為m1個(gè)規(guī)定長(zhǎng)度的位串vξ(ξ是1以上m1以下的整數(shù)),將分割的m1個(gè)規(guī)定長(zhǎng)度的位串vξ作為m1個(gè)整數(shù)而進(jìn)行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G2的m1個(gè)要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h2’、以及分割的m1個(gè)整數(shù)vξ,計(jì)算出函數(shù)V2的值即乘法群G2的要素V2(w)=h2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù))。
6.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文主文生成部使用上述處理裝置,生成包括上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
7.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有密文通知部,
上述密文通知部使用上述處理裝置,對(duì)根據(jù)上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi而識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C。
8.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有對(duì)話密鑰生成部,
上述對(duì)話密鑰生成部使用上述處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串而設(shè)為對(duì)話密鑰K,
上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對(duì)話密鑰生成部生成的對(duì)話密鑰K。
9.根據(jù)權(quán)利要求8所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有數(shù)據(jù)輸入部、數(shù)據(jù)加密部以及密文通知部,
上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù),
上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對(duì)話密鑰生成部生成的對(duì)話密鑰K,對(duì)上述數(shù)據(jù)輸入部輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密,而設(shè)為一個(gè)加密數(shù)據(jù),
上述密文通知部使用上述處理裝置,對(duì)根據(jù)上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi而識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C和上述數(shù)據(jù)加密部加密的一個(gè)加密數(shù)據(jù)。
10.一種密碼通信系統(tǒng),對(duì)各自具有對(duì)應(yīng)的密文接收裝置的n個(gè)接收者(n是1以上的整數(shù)),利用一個(gè)密文C通知明文M,其特征在于,
具有密碼參數(shù)生成裝置、密文生成裝置以及多個(gè)密文接收裝置,
上述密碼參數(shù)生成裝置具有
存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;秘密信息生成部;秘密信息存儲(chǔ)部;公開參數(shù)生成部;公開參數(shù)公開部;識(shí)別信息輸入部;秘密密鑰生成部;以及秘密密鑰通知部,
上述秘密信息生成部使用上述處理裝置,隨機(jī)地生成秘密信息,
上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述秘密信息生成部生成的秘密信息,
上述公開參數(shù)生成部使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息,生成公開密碼參數(shù),
上述公開參數(shù)公開部使用上述處理裝置,公開上述公開參數(shù)生成部生成的公開密碼參數(shù),
上述識(shí)別信息輸入部使用上述處理裝置,輸入對(duì)與上述多個(gè)密文接收裝置中的一個(gè)密文接收裝置對(duì)應(yīng)的一個(gè)接收者進(jìn)行識(shí)別的接收者識(shí)別信息ID,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述秘密信息存儲(chǔ)部存儲(chǔ)的秘密信息、上述公開參數(shù)生成部生成的公開密碼參數(shù)以及上述識(shí)別信息輸入部輸入的接收者識(shí)別信息ID,生成與上述一個(gè)接收者對(duì)應(yīng)的秘密密鑰dID,
上述秘密密鑰通知部使用上述處理裝置,對(duì)與上述一個(gè)接收者對(duì)應(yīng)的一個(gè)密文接收裝置,秘密地通知上述秘密密鑰生成部生成的秘密密鑰dID,
上述密文生成裝置具有
存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;密碼參數(shù)存儲(chǔ)部;接收者識(shí)別輸入部;明文輸入部;密文主文生成部;哈希值計(jì)算部;密文驗(yàn)證文生成部;密文結(jié)合部;以及密文通知部,
上述密碼參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置公開的公開密碼參數(shù),
上述接收者識(shí)別輸入部使用上述處理裝置,輸入分別識(shí)別n個(gè)接收者的n個(gè)接收者識(shí)別信息IDi(i是1以上n以下的整數(shù)),
上述明文輸入部使用上述處理裝置,輸入明文M,
上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi以及上述明文輸入部輸入的明文M,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi(i是1以上n以下的整數(shù)),
上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi而生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計(jì)算出哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)和上述哈希值計(jì)算部計(jì)算出的哈希值H,生成密文驗(yàn)證文CC,
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個(gè)密文主文CBi和上述密文驗(yàn)證文生成部生成的密文驗(yàn)證文CC,設(shè)為一個(gè)密文C,
上述密文通知部使用上述處理裝置,對(duì)與上述n個(gè)接收者對(duì)應(yīng)的n個(gè)密文接收裝置,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C,
上述多個(gè)密文接收裝置分別具有
存儲(chǔ)信息的存儲(chǔ)裝置;處理信息的處理裝置;公開參數(shù)存儲(chǔ)部;秘密密鑰存儲(chǔ)部;密文接收部;密文分解部;驗(yàn)證哈希值計(jì)算部;密文驗(yàn)證部;以及密文解密部,
上述公開參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置公開的公開密碼參數(shù),
上述秘密密鑰存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述密碼參數(shù)生成裝置通知的秘密密鑰dID,
上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個(gè)密文C,
上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個(gè)密文C,取得n個(gè)密文主文CBi和密文驗(yàn)證文CC,
上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個(gè)密文主文CBi結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’,
上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述密文分解部取得的n個(gè)密文主文CBi中的對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)密文主文CBID、密文驗(yàn)證文CC、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的驗(yàn)證哈希值H’,判定上述密文接收部接收到的一個(gè)密文C中是否有匹配性,
上述密文解密部在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID、以及上述密文分解部取得的n個(gè)密文主文CBi中的對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)密文主文CBID,還原明文M。
11.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文生成裝置還具有隨機(jī)數(shù)生成部,
上述隨機(jī)數(shù)生成部使用上述處理裝置,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)),
上述密文主文生成部具有第一密文生成部、第二密文生成部以及第三密文生成部,
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述明文輸入部輸入的明文M以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)),
將上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i和上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文主文CBi,
上述哈希值計(jì)算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i和上述第三密文生成部生成的n個(gè)第三密文C3i,設(shè)為一個(gè)結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個(gè)結(jié)合密文,計(jì)算出一個(gè)哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si以及上述哈希值計(jì)算部計(jì)算出的一個(gè)哈希值H,生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)),
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個(gè)第一密文C1i、上述第二密文生成部生成的n個(gè)第二密文C2i、上述第三密文生成部生成的n個(gè)第三密文C3i和上述密文驗(yàn)證文生成部生成的n個(gè)密文驗(yàn)證文CCi,設(shè)為一個(gè)密文C,
上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個(gè)密文C,取得n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i以及n個(gè)密文驗(yàn)證文CCi,使用上述處理裝置,在取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i、n個(gè)第三密文C3i以及n個(gè)密文驗(yàn)證文CCi之中,取得對(duì)應(yīng)于密文接收裝置所對(duì)應(yīng)的接收者的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID、一個(gè)對(duì)應(yīng)第三密文C3ID和一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID,
上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個(gè)第一密文C1i、n個(gè)第二密文C2i和n個(gè)第三密文C3i結(jié)合而得到的驗(yàn)證結(jié)合密文,計(jì)算出驗(yàn)證哈希值H’,
上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID中的至少某一個(gè)與一個(gè)對(duì)應(yīng)密文驗(yàn)證文CCID、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的驗(yàn)證哈希值H’,判定上述密文接收部接收到的一個(gè)密文C中是否有匹配性,
在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID、以及上述密文分解部取得的一個(gè)對(duì)應(yīng)第一密文C1ID、一個(gè)對(duì)應(yīng)第二密文C2ID和一個(gè)對(duì)應(yīng)第三密文C3ID,還原明文M。
12.根據(jù)權(quán)利要求11所述的密碼通信系統(tǒng),其特征在于,
上述密碼參數(shù)生成裝置還具有群參數(shù)存儲(chǔ)部,
上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息,
上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α,
上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)表示上述秘密信息生成部生成的整數(shù)α的信息而作為秘密信息,
上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF,并使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3,并使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息所表示的整數(shù)α以及選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,將表示上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)、決定的密鑰生成函數(shù)KDF和哈希函數(shù)HF、選擇的乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù),
上述識(shí)別信息輸入部使用上述處理裝置,輸入整數(shù)ID作為接收者識(shí)別信息,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,1、1以上且小于自然數(shù)r的整數(shù)rID,2以及1以上且小于自然數(shù)r的整數(shù)rID,3,使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、上述秘密信息存儲(chǔ)部存儲(chǔ)的整數(shù)α、上述識(shí)別信息輸入部輸入的整數(shù)ID、以及生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3,計(jì)算出乘法群G2的要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))、乘法群G2的要素hID,2=(h2·g2^(-rID,2))^(1/(α-ID))以及乘法群G2的要素hID,3=(h3·g2^(-rID,3))^(1/(α-ID)),將表示所生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3、以及計(jì)算出的乘法群G2的要素hID,1、乘法群G2的要素hID,2和乘法群G2的要素hID,3的信息,設(shè)為秘密密鑰dID,
上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)整數(shù)IDi而作為n個(gè)接收者識(shí)別信息,
上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對(duì)e、密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識(shí)別輸入部輸入的n個(gè)整數(shù)IDi以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素ui=(g1·g^(-IDi))^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對(duì)e、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群GT的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3,
上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)自然數(shù)β0而設(shè)為哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對(duì)e、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si以及上述哈希值計(jì)算部計(jì)算出的一個(gè)自然數(shù)β0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群GT的n個(gè)要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群GT的要素yi的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi(i是1以上n以下的整數(shù)),
上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出自然數(shù)β’,而設(shè)為驗(yàn)證哈希值H’,
上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,2、整數(shù)rID,3、乘法群G2的要素hID,2和乘法群G2的要素hID,3、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID和一個(gè)對(duì)應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及上述驗(yàn)證哈希值計(jì)算部計(jì)算出的自然數(shù)β’,計(jì)算出乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’),并使用上述處理裝置,對(duì)計(jì)算出的乘法群GT的要素y’和上述密文分解部取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群GT的要素yID進(jìn)行比較,在乘法群GT的要素y’與乘法群GT的要素yID一致的情況下,判定為上述密文接收部接收到的一個(gè)密文C中有匹配性,
在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G1的要素uID、以及對(duì)應(yīng)第三密文C3ID所表示的乘法群G2的要素vID,計(jì)算出密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1),并使用上述處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)上述密文分解部取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,還原明文M。
13.根據(jù)權(quán)利要求12所述的密碼通信系統(tǒng),其特征在于,
上述密碼通信系統(tǒng)還具有群參數(shù)生成裝置,
上述群參數(shù)生成裝置具有
處理信息的處理裝置、群階數(shù)候補(bǔ)生成部、群階數(shù)安全性判定部以及參數(shù)生成部,
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成素?cái)?shù)r作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是否為安全的群階數(shù),
在群階數(shù)安全性判定部判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是安全的群階數(shù)的情況下,上述參數(shù)生成部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包含有表示所計(jì)算出的乘法群的信息的群參數(shù),
上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述群參數(shù)生成裝置生成的群參數(shù)。
14.根據(jù)權(quán)利要求13所述的密碼通信系統(tǒng),其特征在于,上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部和素因數(shù)判定部,
上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù),
上述判定值計(jì)算部,在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
15.根據(jù)權(quán)利要求13所述的密碼通信系統(tǒng),其特征在于,
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部和素因數(shù)判定部,
上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù),
上述判定值計(jì)算部,在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
16.根據(jù)權(quán)利要求11所述的密碼通信系統(tǒng),其特征在于,
上述密碼參數(shù)生成裝置還具有群參數(shù)存儲(chǔ)部,
上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,作為群參數(shù)而存儲(chǔ)表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計(jì)算出乘法群GT的要素的配對(duì)e的信息,
上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)α,
上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計(jì)算出規(guī)定長(zhǎng)度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長(zhǎng)度的位串計(jì)算出乘法群GT的要素的兩個(gè)函數(shù)V1和V2、以及根據(jù)任意長(zhǎng)度的位串計(jì)算出規(guī)定長(zhǎng)度的位串的哈希函數(shù)HF,并使用上述處理裝置,根據(jù)上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)所表示的乘法群G1與乘法群G2,隨機(jī)地選擇乘法群G1的要素g和乘法群G2的要素g2,根據(jù)上述秘密信息生成部生成的整數(shù)α以及所選擇的乘法群G1的要素g,計(jì)算出乘法群G1的要素g1=g^α,并使用上述處理裝置,將表示上述群參數(shù)存儲(chǔ)部存儲(chǔ)的群參數(shù)、所決定的密鑰生成函數(shù)KDF、兩個(gè)函數(shù)V1及V2和哈希函數(shù)HF、所選擇的乘法群G1的要素g和乘法群G2的要素g2、以及計(jì)算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù),
上述秘密信息生成部還使用上述處理裝置,根據(jù)生成的整數(shù)α以及上述公開參數(shù)生成部選擇的乘法群G2的要素g2,計(jì)算出乘法群G2的要素msk=g2^α,
上述秘密信息存儲(chǔ)部使用上述存儲(chǔ)裝置,將表示上述秘密信息生成部計(jì)算出的乘法群G2的要素msk的信息作為秘密信息而進(jìn)行存儲(chǔ),
上述識(shí)別信息輸入部使用上述處理裝置,輸入規(guī)定長(zhǎng)度的位串ID而作為接收者識(shí)別信息,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成1以上且小于自然數(shù)r的整數(shù)rID,并使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的乘法群G1的要素g和函數(shù)V1、上述秘密信息存儲(chǔ)部存儲(chǔ)的秘密信息所表示的乘法群G2的要素msk、以及所生成的整數(shù)rID,計(jì)算出乘法群G2的要素d0ID=msk·V1(ID)^rID以及乘法群G1的要素d1ID=g^rID,并將表示所計(jì)算出的乘法群G2的要素d0ID與乘法群G1的要素d1ID的信息設(shè)為秘密密鑰dID,
上述接收者識(shí)別輸入部使用上述處理裝置,輸入n個(gè)規(guī)定長(zhǎng)度的位串IDi而作為n個(gè)接收者識(shí)別信息,
上述隨機(jī)數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的自然數(shù)r,隨機(jī)地生成與n個(gè)接收者對(duì)應(yīng)的n個(gè)1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對(duì)e和密鑰生成函數(shù)KDF、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的n個(gè)密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計(jì)算出的n個(gè)密鑰位串ki,對(duì)上述明文輸入部輸入的明文M分別進(jìn)行加密,而設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V1、上述接收者識(shí)別輸入部輸入的n個(gè)規(guī)定長(zhǎng)度的位串IDi、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si(i是1以上n以下的整數(shù)),計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G2的n個(gè)要素ui的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g、以及上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G1的n個(gè)要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計(jì)算出的乘法群G1的n個(gè)要素vi的位串,設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計(jì)算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出一個(gè)規(guī)定長(zhǎng)度的位串w0而設(shè)為哈希值H,
上述密文驗(yàn)證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機(jī)數(shù)生成部生成的n個(gè)整數(shù)si、以及上述哈希值計(jì)算部計(jì)算出的一個(gè)規(guī)定長(zhǎng)度的位串w0,計(jì)算出與n個(gè)接收者對(duì)應(yīng)的乘法群G2的n個(gè)要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計(jì)算出的乘法群G2的n個(gè)要素yi的位串設(shè)為與n個(gè)接收者對(duì)應(yīng)的n個(gè)密文驗(yàn)證文CCi,
上述驗(yàn)證哈希值計(jì)算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的哈希函數(shù)HF,計(jì)算出規(guī)定長(zhǎng)度的位串w’而設(shè)為驗(yàn)證哈希值H’,
上述密文驗(yàn)證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和函數(shù)V2、上述密文分解部取得的對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID和上述驗(yàn)證哈希值計(jì)算部計(jì)算出的規(guī)定長(zhǎng)度的位串w’,計(jì)算出乘法群GT的要素e(vID,V2(w’)),并使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的乘法群G1的要素g和配對(duì)e、以及上述密文分解部取得的對(duì)應(yīng)密文驗(yàn)證文CCID所表示的乘法群G2的要素yID,計(jì)算出乘法群GT的要素e(g,yID),并使用上述處理裝置,對(duì)計(jì)算出的乘法群GT的要素e(vID,V2(w’))和計(jì)算出的乘法群GT的要素e(g,yID)進(jìn)行比較,在乘法群GT的要素e(vID,V2(w’))與乘法群GT的要素e(g,yID)一致的情況下,判定為上述密文接收部接收到的一個(gè)密文C中有匹配性,
在上述密文驗(yàn)證部判定為上述密文接收部接收到的一個(gè)密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲(chǔ)部存儲(chǔ)的公開密碼參數(shù)所表示的配對(duì)e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲(chǔ)部存儲(chǔ)的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及上述密文分解部取得的一個(gè)對(duì)應(yīng)第二密文C2ID所表示的乘法群G2的要素uID和對(duì)應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計(jì)算出密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID)),并使用上述處理裝置,利用所計(jì)算出的密鑰位串k’,對(duì)上述密文分解部取得的對(duì)應(yīng)第一密文C1ID進(jìn)行解密,還原明文M。
17.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文主文生成部使用上述處理裝置,生成包含有上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息IDi的n個(gè)密文主文CBi。
18.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文生成裝置還具有對(duì)話密鑰生成部、數(shù)據(jù)輸入部、數(shù)據(jù)加密部以及密文通知部,
上述對(duì)話密鑰生成部使用上述處理裝置,隨機(jī)地生成規(guī)定長(zhǎng)度的位串而設(shè)為對(duì)話密鑰K,
上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對(duì)話密鑰生成部生成的對(duì)話密鑰K,
上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個(gè)接收者的一個(gè)明文數(shù)據(jù),
上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對(duì)話密鑰生成部生成的對(duì)話密鑰K,對(duì)上述數(shù)據(jù)輸入部輸入的一個(gè)明文數(shù)據(jù)進(jìn)行加密,設(shè)為一個(gè)加密數(shù)據(jù),
上述密文通知部使用上述處理裝置,對(duì)根據(jù)上述接收者識(shí)別輸入部輸入的n個(gè)接收者識(shí)別信息識(shí)別的n個(gè)接收者,通知上述密文結(jié)合部結(jié)合的一個(gè)密文C和上述數(shù)據(jù)加密部加密的一個(gè)加密數(shù)據(jù),
上述多個(gè)密文接收裝置還分別具有數(shù)據(jù)解密部,
上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個(gè)密文C與一個(gè)加密數(shù)據(jù),
上述數(shù)據(jù)解密部將上述密文解密部還原的明文M作為對(duì)話密鑰K’,并使用上述處理裝置,利用上述對(duì)話密鑰K’,對(duì)上述密文接收部接收到的一個(gè)加密數(shù)據(jù)進(jìn)行解密。
19.一種群參數(shù)生成裝置,生成對(duì)各自具有對(duì)應(yīng)的密文接收裝置的n個(gè)接收者(n是1以上的整數(shù))利用一個(gè)密文C通知明文M的密碼通信系統(tǒng)中的密碼處理中所使用的乘法群的參數(shù),其特征在于,
具有處理信息的處理裝置、群階數(shù)候補(bǔ)生成部、群階數(shù)安全性判定部以及參數(shù)生成部,
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成素?cái)?shù)r作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出素?cái)?shù)r與1之差(r-1)的因數(shù)以及素?cái)?shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計(jì)算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是否為安全的群階數(shù),
上述參數(shù)生成部在群階數(shù)安全性判定部判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r是安全的群階數(shù)的情況下,使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包含有表示所計(jì)算出的乘法群的信息的群參數(shù),
上述群參數(shù)存儲(chǔ)部使用上述存儲(chǔ)裝置,存儲(chǔ)上述群參數(shù)生成裝置生成的群參數(shù)。
20.根據(jù)權(quán)利要求19所述的群參數(shù)生成裝置,其特征在于,
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部以及素因數(shù)判定部,
上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù),
上述判定值計(jì)算部在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
21.根據(jù)權(quán)利要求19所述的群參數(shù)生成裝置,其特征在于,
上述群階數(shù)候補(bǔ)生成部使用上述處理裝置,生成對(duì)規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素?cái)?shù)r而作為群階數(shù)的候補(bǔ),
上述群階數(shù)安全性判定部具有剩余計(jì)算部、判定值計(jì)算部以及素因數(shù)判定部,
上述剩余計(jì)算部使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r除以4而得到的余數(shù),
上述判定值計(jì)算部在上述剩余計(jì)算部計(jì)算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計(jì)算部計(jì)算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r,計(jì)算出將素?cái)?shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r1,判定整數(shù)r1是否為素?cái)?shù),并使用上述處理裝置,根據(jù)上述判定值計(jì)算部計(jì)算出的整數(shù)r2,判定整數(shù)r2是否為素?cái)?shù),在判定為整數(shù)r1不是素?cái)?shù)的情況、以及判定為整數(shù)r2不是素?cái)?shù)的情況下,判定為上述群階數(shù)候補(bǔ)生成部生成的素?cái)?shù)r不是安全的群階數(shù)。
全文摘要
隨機(jī)數(shù)生成部(222)隨機(jī)地生成整數(shù)(s)。第一密文生成部(241)根據(jù)整數(shù)(s)對(duì)明文(M)進(jìn)行加密而生成第一密文(C1)。第二密文生成部(242)根據(jù)整數(shù)(s)與接收者ID生成第二密文(C2)。第三密文生成部(243)根據(jù)整數(shù)(s)生成第三密文(C3)。哈希值計(jì)算部(244)結(jié)合第一密文(C1)、第二密文(C2)和第三密文(C3)而計(jì)算出哈希值(H0)。第四密文生成部(245)根據(jù)哈希值(H0)生成第四密文(C4)。密文結(jié)合部(246)結(jié)合第一密文(C1)、第二密文(C2)、第三密文(C3)和第四密文(C4)而生成密文(C)。由此,可以提供即使將對(duì)同一明文進(jìn)行加密而得到的密文發(fā)送給多個(gè)接收者也安全的基于ID的公開密鑰密碼通信系統(tǒng)。
文檔編號(hào)G09C1/00GK101617351SQ20078005186
公開日2009年12月30日 申請(qǐng)日期2007年1月19日 優(yōu)先權(quán)日2007年1月19日
發(fā)明者高島克幸 申請(qǐng)人:三菱電機(jī)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1