午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

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

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

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


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



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

具體實施例方式 實施方式1 使用圖1~圖10對實施方式1進行說明。
圖1是示出本實施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個例子的系統(tǒng)結(jié)構(gòu)圖。
基于ID的密碼通信系統(tǒng)800具有密碼參數(shù)生成裝置100、密文生成裝置200、多個密文接收裝置301~303。
密文接收裝置301~303分別對應(yīng)于接收者,并與識別所對應(yīng)的接收者的接收者識別信息531~533相對應(yīng)。
接收者識別信息531~533例如是接收者的住址/姓名、郵件地址等可以唯一地識別接收者的信息。接收者識別信息531~533是在基于ID的密碼通信系統(tǒng)800中公開的信息500的一部分,是可以容易地驗證對應(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的接收者識別信息531~533,根據(jù)輸入的接收者識別信息531~533,生成密文接收裝置301~303的秘密密鑰601~603。密碼參數(shù)生成裝置100將生成的秘密密鑰601~603以沒有被第三者得知的可能性的安全方法,秘密地通知給各自的密文接收裝置301~303。例如,密碼參數(shù)生成裝置100將生成的秘密密鑰601~603分別記錄在軟盤等存儲介質(zhì)中,并將記錄有秘密密鑰601的軟盤直接親手交給與密文接收裝置301對應(yīng)的接收者本人,接收者本人在密文接收裝置301中安裝秘密密鑰601,從而向密文接收裝置301通知秘密密鑰601。秘密密鑰602、603也以同樣的方式通知給密文接收裝置302、303。
密文生成裝置200對作為密文接收裝置301~303的全部或一部分的多個密文接收裝置,輸入希望通知的數(shù)據(jù)(明文數(shù)據(jù)710)。此處,以如下情況為例進行說明希望將明文數(shù)據(jù)710通知給密文接收裝置301與密文接收裝置303,但不希望通知給密文接收裝置302。
密文生成裝置200對密文接收裝置301以及密文接收裝置303通知通知數(shù)據(jù)720。
通知數(shù)據(jù)720例如經(jīng)由郵件通信、數(shù)據(jù)廣播等,被通知給密文接收裝置301以及密文接收裝置303。因此,通知數(shù)據(jù)720是對于所有的接收者相同的數(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進行加密而得到的加密數(shù)據(jù)722。
另外,明文數(shù)據(jù)710例如有時是運動圖像數(shù)據(jù)等巨大的數(shù)據(jù),所以與通知對方無關(guān)而使用共用的對話密鑰K來加密。這是因為,在針對每個通知對方改變對話密鑰K時,需要生成與通知對方的數(shù)量相同數(shù)量的加密數(shù)據(jù)722,所以密文生成裝置200的加密處理的負荷增加,導(dǎo)致增大通知路徑的通信量。
通知數(shù)據(jù)720還包括對對話密鑰K進行加密而得到的密鑰密文C721,其中該對話密鑰K是對明文數(shù)據(jù)710進行加密而得到的。
密文接收裝置301通過對密鑰密文C721進行解密,取得對話密鑰K,并利用所取得的對話密鑰K對加密數(shù)據(jù)722進行解密,從而取得明文數(shù)據(jù)710。
密文生成裝置200被輸入密碼參數(shù)生成裝置100公開的公開密碼參數(shù)510、密文接收裝置310以及密文接收裝置303公開的接收者識別信息531以及接收者識別信息533。
密文生成裝置200根據(jù)輸入的信息,進行基于ID的密碼方式的密碼處理,生成對話密鑰K與密鑰密文C721。
密文生成裝置200利用所生成的對話密鑰K,對明文數(shù)據(jù)710進行加密而生成加密數(shù)據(jù)722。
密文生成裝置200將包括所生成的密鑰密文C721與加密數(shù)據(jù)722的通知數(shù)據(jù)720通知給密文接收裝置301以及密文接收裝置303。
密鑰密文C721包括與各個通知對方對應(yīng)的部分。密鑰密文C721也可以與通知對方無關(guān)地還包括共用的部分。
密文接收裝置301從密鑰密文C721中取得與密文接收裝置301對應(yīng)的部分(以及共用的部分),使用秘密密鑰601,進行基于ID的密碼方式的解密處理,取得對話密鑰K。
密文接收裝置303也同樣地使用秘密密鑰601,取得對話密鑰K。
另一方面,密鑰密文C721由于未包括與密文接收裝置302對應(yīng)的部分,所以密文接收裝置302即使截取到通知數(shù)據(jù)720,也無法使用秘密密鑰602來解密,無法取得對話密鑰K。因此,密文接收裝置302無法取得明文數(shù)據(jù)710。
圖2是示出本實施方式中的密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的外觀的一個例子的圖。
密碼參數(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ū)動器)、高密度盤裝置905(CDD)、打印機裝置906、掃描器裝置907等的硬件資源,它們通過線纜、信號線相連接。
系統(tǒng)單元910是計算機,通過線纜與傳真機932、電話機931連接,另外,經(jīng)由局域網(wǎng)942(LAN)、網(wǎng)關(guān)941與因特網(wǎng)940連接。
圖3是示出本實施方式中的密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的硬件資源的一個例子的圖。
密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303具備執(zhí)行程序的CPU 911(Central Processing Unit,還稱為中央處理裝置、處理裝置、運算裝置、微處理器、微型計算機、處理器)。CPU 911經(jīng)由總線912而與ROM 913、RAM 914、通信裝置915、顯示裝置901、鍵盤902、鼠標(biāo)903、FDD 904、CDD 905、打印機裝置906、掃描器裝置907、磁盤裝置920連接,并對這些硬件設(shè)備進行控制。也可以代替磁盤裝置920,而是光盤裝置、存儲卡讀寫裝置等存儲裝置。
RAM 914是易失性存儲器的一個例子。ROM 913、FDD 904、CDD 905、磁盤裝置920的存儲介質(zhì)是非易失性存儲器的一個例子。它們是存儲裝置或存儲部的一個例子。
通信裝置915、鍵盤902、掃描器裝置907、FDD 904等是輸入部、輸入裝置的一個例子。
另外,通信裝置915、顯示裝置901、打印機裝置906等是輸出部、輸出裝置的一個例子。
通信裝置915與傳真機932、電話機931、LAN 942等連接。通信裝置915不限于LAN 942,也可以連接到因特網(wǎng)940、ISDN等的WAN(廣域網(wǎng))等。在與因特網(wǎng)940或ISDN等的WAN連接的情況下,網(wǎng)關(guān)941變得無用。
在磁盤裝置920中,存儲有操作系統(tǒng)921(OS)、視窗系統(tǒng)922、程序群923、文件群924。程序群923的程序是通過CPU 911、操作系統(tǒng)921、視窗系統(tǒng)922執(zhí)行的。
在上述程序群923中,存儲有執(zhí)行在以下敘述的實施方式的說明中說明為“~部”的功能的程序。程序是由CPU 911讀出并執(zhí)行的。
在文件群924中,作為“~文件”、“~數(shù)據(jù)庫”的各項目,存儲有在以下敘述的實施方式的說明中作為“~的判定結(jié)果”、“~的計算結(jié)果”、“~的處理結(jié)果”而說明的信息、數(shù)據(jù)、信號值、變量值、參數(shù)。“~文件”、“~數(shù)據(jù)庫”被存儲到盤、存儲器等記錄介質(zhì)中。由CPU 911經(jīng)由讀寫電路將存儲在盤、存儲器等存儲介質(zhì)中的信息、數(shù)據(jù)、信號值、變量值、參數(shù)讀出到主存儲器、高速緩存存儲器中,用于抽出/檢索/參照/比較/運算/計算/處理/輸出/印刷/顯示等CPU的動作中。在抽出/檢索/參照/比較/運算/計算/處理/輸出/印刷/顯示的CPU的動作期間,信息、數(shù)據(jù)、信號值、變量值、參數(shù)被臨時存儲到主存儲器、高速緩存存儲器、緩沖存儲器中。
另外,在以下敘述的實施方式的說明中說明的流程圖的箭頭的部分主要表示數(shù)據(jù)、信號的輸入輸出,數(shù)據(jù)、信號值被記錄到RAM 914的存儲器、FDD 904的軟盤、CDD 905的高密度盤、磁盤裝置920的磁盤、其它光盤、迷你盤、DVD(Digital Versatile Disc數(shù)字多功能盤)等記錄介質(zhì)中。另外,數(shù)據(jù)、信號通過總線912、信號線、線纜、或其它傳送介質(zhì)而被聯(lián)機傳送。
另外,在以下敘述的實施方式的說明中說明為“~部”的部分既可以是“~電路”、“~裝置”、“~機器”,另外也可以是“~步驟”、“~過程”、“~處理”。即,說明為“~部”的部分也可以通過存儲在ROM913中的固件來實現(xiàn)?;蛘?,也可以僅通過軟件、或者僅通過元件/設(shè)備/基板/布線等硬件、或者通過軟件與硬件的組合、通過進一步與固件的組合來實施。固件與軟件作為程序存儲在磁盤、軟盤、光盤、高密度盤、迷你盤、DVD等記錄介質(zhì)中。程序是由CPU 911讀出,并由CPU 911執(zhí)行的。即,程序作為以下敘述的“~部”使計算機發(fā)揮功能?;蛘?,使計算機執(zhí)行以下敘述的“~部”的過程、方法。
圖4是示出本實施方式中的密碼參數(shù)生成裝置100的功能塊的結(jié)構(gòu)的一個例子的塊結(jié)構(gòu)圖。
密碼參數(shù)生成裝置100具有參數(shù)設(shè)定部110與秘密密鑰設(shè)定部130。
另外,密碼參數(shù)生成裝置100也可以分為具有參數(shù)設(shè)定部110的參數(shù)設(shè)定裝置與具有秘密密鑰設(shè)定部130的秘密密鑰設(shè)定裝置。在該情況下,也可以相對一個參數(shù)設(shè)定裝置,具有多個秘密密鑰設(shè)定裝置。
參數(shù)設(shè)定部110生成基于ID的密碼通信系統(tǒng)800中的成為基于ID的密碼方式的密碼處理/解密處理的基礎(chǔ)的公開密碼參數(shù),并公開。
參數(shù)設(shè)定部110具有群參數(shù)存儲部111、秘密信息生成部112、公開參數(shù)生成部113、公開參數(shù)公開部114、秘密信息存儲部121、以及參數(shù)存儲部122。
群參數(shù)存儲部111使用磁盤裝置920等存儲裝置,存儲群參數(shù)。
群參數(shù)是指,表示對進行基于ID的密碼方式中的群運算的群進行定義的參數(shù)的信息。
例如,在作為進行基于ID的密碼方式中的群運算的群而使用橢圓曲線上的點所形成的群的情況下,群參數(shù)存儲部111存儲對橢圓曲線Y2=X3+aX+b進行定義的系數(shù)a、系數(shù)b等,作為群參數(shù)。
另外,作為橢圓曲線上的點所形成的群中的運算,通常,定義橢圓曲線上的點的加法。群參數(shù)存儲部111存儲的群參數(shù)所表示的群不限于橢圓曲線上的點所成的群,而也可以是其它群。此處,將群參數(shù)存儲部111存儲的群參數(shù)所表示的群設(shè)為乘法群。即,作為群參數(shù)存儲部111存儲的群參數(shù)所表示的群的要素之間的運算而定義有乘法,關(guān)于乘法構(gòu)成了群。因此,在以下說明中,在作為“乘法群”而提及的群中,包括橢圓曲線上的點所形成的群,在作為“乘法/乘算”而提及的運算中,通常,包括被稱為橢圓曲線上的點的加法的運算。另外,在式中記述“乘法/乘算”的情況下,使用“·”。
另外,群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群中的乘算是可以在實用的時間內(nèi)通過規(guī)定的算法進行計算的運算。因此,可以使用CPU 911等處理裝置,計算出乘算結(jié)果。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,隨機地生成秘密信息。
秘密信息生成部112使用CPU 911等處理裝置,輸出所生成的秘密信息。
秘密信息是指,成為用于生成在基于ID的密碼方式中公開的公開密碼參數(shù)的基礎(chǔ)的信息。另外,秘密信息還成為用于生成秘密密鑰的基礎(chǔ),絕對不能被第三者知道。
秘密信息表示的內(nèi)容根據(jù)作為基于ID的密碼方式采用何種密碼方式而不同。秘密信息例如是表示比群參數(shù)表示的乘法群的階數(shù)r小、且1以上的整數(shù)的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(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ù)逆運算秘密信息。
例如,秘密信息表示整數(shù)α,公開密碼參數(shù)包括表示群參數(shù)所表示的乘法群G的要素g與乘法群G的要素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ù)刊登在主頁上從而進行公開。雖然主頁有可能由于第三者的攻擊而被竄改,但公開密碼參數(shù)生成裝置100通過檢查主頁,可以發(fā)現(xiàn)竄改。另外。也可以通過使用多個服務(wù)器裝置公開同一公開密碼參數(shù),并判斷兩者是否一致,從而發(fā)現(xiàn)竄改。
秘密信息存儲部121使用CPU 911等處理裝置,輸入秘密信息生成部112所輸出的秘密信息。
秘密信息存儲部121使用磁盤裝置920等存儲裝置,存儲所輸入的秘密信息。
參數(shù)存儲部122使用CPU 911等處理裝置,輸入公開參數(shù)生成部113所輸出的公開密碼參數(shù)。
參數(shù)存儲部122使用磁盤裝置920等存儲裝置,存儲所輸入的公開密碼參數(shù)。
秘密密鑰設(shè)定部130生成基于ID的密碼通信系統(tǒng)800中的基于ID的密碼方式的解密處理中所需的秘密密鑰,并秘密地通知給各個密文接收裝置301~303。
秘密密鑰設(shè)定部130具有識別信息輸入部131、秘密密鑰生成部132、以及秘密密鑰通知部133。
識別信息輸入部131使用CPU 911等處理裝置,輸入接收者識別信息。識別信息輸入部131輸入的接收者識別信息是識別與密文接收裝置301~303中的某一個對應(yīng)的接收者的信息,是公開的信息500的一部分。例如,識別信息輸入部131從公開的信息500中輸入識別與密文接收裝置301對應(yīng)的接收者的接收者識別信息531。
識別信息輸入部131使用CPU 911等處理裝置,根據(jù)公開的信息500,驗證所輸入的接收者識別信息是否正確地識別了與密文接收裝置對應(yīng)的接收者。
驗證的結(jié)果,如果沒有問題,識別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的接收者識別信息。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入識別信息輸入部131輸出的接收者識別信息、秘密信息存儲部121存儲的秘密信息、以及參數(shù)存儲部122存儲的公開密碼參數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的接收者識別信息、秘密信息與公開密碼參數(shù),生成秘密密鑰。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出所生成的秘密密鑰。
秘密密鑰通知部133使用CPU 911等處理裝置,輸入秘密密鑰生成部132輸出的秘密密鑰。
秘密密鑰通知部133使用CPU 911等處理裝置,將輸入的秘密密鑰秘密地通知給對應(yīng)的接收者的密文接收裝置。例如,秘密密鑰通知部133將秘密密鑰生成部132根據(jù)接收者識別信息531生成的秘密密鑰601通知給與利用接收者識別信息531識別的接收者對應(yīng)的密文接收裝置301。
這樣,參數(shù)設(shè)定部110生成的公開密碼參數(shù)被公開,秘密密鑰設(shè)定部130生成的秘密密鑰601~603被通知給各個密文接收裝置301~303,從而完成基于ID的密碼方式的密碼通信的準(zhǔn)備。
圖5是示出本實施方式中的密文生成裝置200的功能塊的結(jié)構(gòu)的一個例子的塊結(jié)構(gòu)圖。
密文生成裝置200具有密鑰加密部290、數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
密鑰加密部290使用CPU 911等處理裝置,生成對話密鑰K,并且生成密鑰密文C。
密鑰密文C是對密鑰加密部290生成的對話密鑰K進行加密而得到的。密鑰密文C是密文C的一個例子。
密鑰加密部290具有密碼參數(shù)存儲部210、對話密鑰生成部221、隨機數(shù)生成部222、明文輸入部231、接收者識別輸入部232、密文主文生成部240、哈希值計算部244、密文驗證文生成部245、以及密文結(jié)合部246。
密碼參數(shù)存儲部210使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
對話密鑰生成部221使用CPU 911等處理裝置,隨機地生成對話密鑰K。對話密鑰K是用于對明文數(shù)據(jù)710進行加密的密鑰,例如是規(guī)定長度的位串。對明文數(shù)據(jù)710進行加密的密碼方式例如是AES(AdvancedEncryption Standard高級加密標(biāo)準(zhǔn))、MISTY(注冊上標(biāo))等共用密鑰密碼方式。
對話密鑰生成部221使用CPU 911等處理裝置,輸出所生成的對話密鑰K。
明文輸入部231使用CPU 911等處理裝置,將對話密鑰生成部221輸出的對話密鑰K作為明文M輸入。
明文輸入部231使用CPU 911等處理裝置,輸出所輸入的明文M。
接收者識別輸入部232使用CPU 911等處理裝置,輸入與應(yīng)發(fā)送明文數(shù)據(jù)710的密文接收裝置對應(yīng)的接收者的接收者識別信息。例如,在希望對密文接收裝置301與密文接收裝置303發(fā)送明文數(shù)據(jù)710的情況下,接收者識別輸入部232輸入與密文接收裝置301對應(yīng)的接收者的接收者識別信息531、以及與密文接收裝置303對應(yīng)的接收者的接收者識別信息533。
以下,將希望發(fā)送明文數(shù)據(jù)710的對方的數(shù)量記載為n。另外,為了區(qū)分多個接收者識別信息而使用下標(biāo),以接收者識別信息ID1、接收者識別信息ID2、…、接收者識別信息IDn的方式進行記述。有時也將n個接收者識別信息ID1、ID2、…、IDn總括而以“接收者識別信息IDi(i是1以上n以下的整數(shù))”的方式進行記述。在以下說明中,下標(biāo)“i”原則上表示對應(yīng)于n個接收者中的各個接收者。
接收者識別輸入部232輸入與n個接收者分別對應(yīng)的n個接收者識別信息IDi(i是1以上n以下的整數(shù))。
接收者識別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個接收者識別信息IDi。
另外,接收者的數(shù)量n不是預(yù)先(例如在公開密碼參數(shù)生成時)決定的,而是在實際發(fā)送數(shù)據(jù)時決定的。
基于ID的密碼通信系統(tǒng)800是可以對任意數(shù)量的接收者發(fā)送數(shù)據(jù)的密碼通信系統(tǒng)。根據(jù)當(dāng)時的需要,也許會是n=1,也許會是n=100。
密文生成裝置200例如在接收者識別輸入部232輸入了接收者識別信息時得知接收者的數(shù)量n。密文生成裝置200即使在n為1以上的任意數(shù)的情況下,也生成一個密鑰密文C(和加密數(shù)據(jù))。
另外,接收者識別輸入部232輸入的多個接收者識別信息全部相互不同?;蛘?,接收者識別輸入部232也可以判別在輸入的多個接收者識別信息中是否存在重復(fù)的信息,將重復(fù)的接收者識別信息集中為一個而排除重復(fù)。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
隨機數(shù)生成部222使用CPU 911等處理裝置,隨機地生成n個隨機數(shù)。隨機數(shù)生成部222生成的隨機數(shù)例如是比輸入的公開密碼參數(shù)所表示的乘法群的階數(shù)r小且1以上的整數(shù)s。
另外,隨機數(shù)生成部222生成的n個隨機數(shù)分別對應(yīng)于n個接收者。即,隨機數(shù)生成部222生成與n個接收者分別對應(yīng)的n個隨機數(shù)。
隨機數(shù)生成部222輸出表示所生成的n個隨機數(shù)的信息。
密文主文生成部240使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、明文輸入部231輸出的明文M、接收者識別輸入部232輸出的n個接收者識別信息、表示隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
密文主文生成部240使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個密文主文CBi(i是1以上n以下的整數(shù))。
密文主文生成部240使用CPU 911等處理裝置,輸出所生成的n個密文主文CBi。
密文主文是指,通過基于ID的密碼方式,使用各接收者的接收者識別信息IDi,將明文M(對話密鑰K)面向各接收者進行加密而得到的主文。n個密文主文CBi各自對應(yīng)于一個接收者。
另外,密文主文也能夠分節(jié)為若干個部分。在將密文主文分節(jié)而得到的部分中,也可以有對所有接收者共用的部分。關(guān)于將密文主文分節(jié)而得到的部分中的對所有接收者共用的部分,也可以通過集中為一個,從而縮短n個密文主文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òu)成,但這是一個例子,也可以是其它結(jié)構(gòu)。
例如,密文主文CBi除了三個密文以外,也可以包括接收者識別信息IDi。
此處,“包括”是指,例如密文主文CBi是將接收者識別信息IDi、第一密文C1i、第二密文C2i、以及第三密文C3i結(jié)合而得到的密文主文的情況等,以該密文主文CBi可以容易地判別所對應(yīng)的接收者的接收者識別信息IDi、且如果需要還可以進行驗證的形式來包括。
第一密文生成部241使用CPU 911等處理裝置,輸入明文輸入部231輸出的明文M、密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及表示隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入接收者識別輸入部232輸出的n個接收者識別信息IDi、密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及表示隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出所生成的n個第二密文C2i。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及表示隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出所生成的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及密文主文生成部240生成的n個密文主文CBi(即,第一密文生成部241生成的n個第一密文C1i、第二密文生成部242生成的n個第二密文C2i、以及第三密文生成部243生成的n個第三密文C3i)。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的n個密文主文CBi,計算出一個哈希值H。
哈希值計算部244使用CPU 911等處理裝置,輸出所計算出的一個哈希值H。
哈希值計算部244計算出的哈希值H根據(jù)所使用的基于ID的密碼方式而不同。例如,哈希值H是利用公開密碼參數(shù)確定的規(guī)定長度的位串?;蛘?,哈希值H是表示小于公開密碼參數(shù)所表示的乘法群的階數(shù)r且1以上的整數(shù)的信息。
另外,也可以在公開密碼參數(shù)中,定義用于計算哈希值H的哈希函數(shù)HF。在該情況下,哈希值計算部244通過公開密碼參數(shù)表示的哈希函數(shù)HF,計算出哈希值H。
哈希值計算部244根據(jù)所有n個密文主文CBi來計算出一個哈希值H。例如,哈希值計算部244將n個密文主文CBi全部結(jié)合而生成一個結(jié)合密文,計算出所生成的一個結(jié)合密文的哈希值H。
密文驗證文生成部245使用CPU 911等處理裝置,輸入哈希值計算部244輸出的哈希值H、密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及表示隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出所生成的密文驗證文CCi。
另外,在該例子中,將密文驗證文生成部245生成的密文驗證文的數(shù)量設(shè)為n個,但也可以構(gòu)成為與接收者無關(guān)地生成共用的一個密文驗證文。
密文結(jié)合部246使用CPU 911等處理裝置,輸入密文主文生成部240輸出的n個密文主文CBi(即,第一密文生成部241輸出的n個第一密文C1i、第二密文生成部242輸出的n個第二密文C2i、以及第三密文生成部243輸出的n個第三密文C3i)、以及密文驗證文生成部245輸出的密文驗證文CC。
密文結(jié)合部246使用CPU 911等處理裝置,根據(jù)輸入的n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、以及密文驗證文CC,生成一個密鑰密文C。例如,密文結(jié)合部246使用CPU 911等處理裝置,結(jié)合所輸入的n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、密文驗證文CC,而設(shè)為一個密鑰密文C。
對于與n個接收者對應(yīng)的所有密文接收裝置,相等地發(fā)送密文結(jié)合部246結(jié)合的一個密鑰密文C。
另外,在結(jié)合的一個密鑰密文C中,根據(jù)預(yù)定的結(jié)合的順序等示出哪個部分是與哪個接收者對應(yīng)的部分,密文接收裝置301~303可以從密鑰密文C中容易地抽出與自己對應(yīng)的部分。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個密鑰密文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、以及對話密鑰生成部221輸出的對話密鑰K。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,利用所輸入的對話密鑰K,對輸入的明文數(shù)據(jù)710進行加密,設(shè)為加密數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸出所生成的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,輸入密文結(jié)合部246輸出的一個密鑰密文C、以及數(shù)據(jù)加密部252輸出的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,生成包括所輸入的密鑰密文C和加密數(shù)據(jù)722的通知數(shù)據(jù)720。
密文通知部261使用CPU 911等處理裝置,將生成的通知數(shù)據(jù)720通知給作為通知對方的多個密文接收裝置。
例如在郵件通信中,通過指定多個接收者而發(fā)送通知數(shù)據(jù)720,從而通知給多個密文接收裝置。通知數(shù)據(jù)720并非針對每個接收者不同,而對于所有接收者是共用的。
圖6是示出本實施方式中的密文接收裝置301的功能塊的結(jié)構(gòu)的一個例子的塊結(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中包含的一個密鑰密文C、以及加密數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,輸出所取得的一個密鑰密文C、以及加密數(shù)據(jù)。
密鑰解密部390對密文接收部351輸出的密鑰密文C進行解密,取得用于對加密數(shù)據(jù)進行解密的對話密鑰。
密鑰解密部390具有公開參數(shù)存儲部310、秘密密鑰存儲部323、密文接收部351、密文分解部346、驗證哈希值計算部344、密文驗證部345、密文解密部341、以及數(shù)據(jù)解密部352。
公開參數(shù)存儲部310使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
秘密密鑰存儲部323使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100通知的秘密密鑰。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,分解所輸入的一個密鑰密文C,取得n個密文主文CBi(即,n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i)、以及密文驗證文CC。
以下,將與n個接收者對應(yīng)的n個密文主文CBi中的、與密文接收裝置301所對應(yīng)的接收者對應(yīng)的第二密文稱為對應(yīng)密文主文CBID。對于第一密文、第二密文、第三密文、密文驗證文也相同。
密文分解部346使用CPU 911等處理裝置,從n個密文主文CBi中,取得對應(yīng)密文主文CBID(即,對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID)。
同樣地,密文分解部346使用CPU 911等處理裝置,取得對應(yīng)密文驗證文CCID。
另外,在密文驗證文與接收者無關(guān)而是共用的一個密文驗證文的情況下,密文分解部346取得的對應(yīng)密文驗證文CCID是密文驗證文本身。
密文分解部346使用CPU 911等處理裝置,輸出所取得的n個密文主文CBi、對應(yīng)密文主文CBID、以及對應(yīng)密文驗證文CCID。
另外,在n個密文主文CBi中,包含有表示哪個密文主文是與哪個ID對應(yīng)的對應(yīng)密文主文CBID的信息的情況下,密文分解部346也可以不取得對應(yīng)密文主文CBID。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的n個密文主文CBi、以及公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,通過與密文生成裝置200的哈希值計算部244計算哈希值H的方式同樣的方式,計算出驗證哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出所計算出的驗證哈希值H’。
驗證哈希值計算部344根據(jù)輸入的n個密文主文CBi,通過與哈希值計算部244同樣的方式,計算出一個驗證哈希值H’。
例如,驗證哈希值計算部344根據(jù)將輸入的n個密文主文CBi全部結(jié)合而得到的驗證結(jié)合密文,計算出驗證哈希值H’。
密文驗證部345使用CPU 911等處理裝置,輸入密文分解部346輸出的對應(yīng)密文主文CBID、對應(yīng)密文驗證文CCID、驗證哈希值計算部344輸出的驗證哈希值H’、公開參數(shù)存儲部310存儲的公開密碼參數(shù)、以及秘密密鑰存儲部323存儲的秘密密鑰。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的信息,生成驗證信息。
密文驗證部345使用CPU 911等處理裝置,根據(jù)生成的驗證信息與輸入的對應(yīng)密文驗證文CCID,判定密文接收部351接收到的一個密鑰密文C中是否有匹配性。
例如,密文分解部346在生成的驗證信息與輸入的對應(yīng)密文驗證文CCID一致的情況下,判定為密文接收部351接收到的一個密鑰密文C中有匹配性。
或者,密文驗證部345也可以根據(jù)輸入的對應(yīng)密文驗證文CCID(以及公開密碼參數(shù)、秘密密鑰),生成另一個驗證信息,在生成的兩個驗證信息一致的情況下,判定為密文接收部351接收到的一個密鑰密文C中有匹配性。
密文驗證部345使用CPU 911等處理裝置,輸出表示所判定的判定結(jié)果的信息。
密文解密部341使用CPU 911等處理裝置,輸入表示密文分解部346輸出的判定結(jié)果的信息、密文分解部346輸出的對應(yīng)密文主文CBID、公開參數(shù)存儲部310存儲的公開密碼參數(shù)、以及秘密密鑰存儲部323存儲的秘密密鑰。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的信息,當(dāng)密文驗證部345判定為密文接收部351接收到的一個密鑰密文C中有匹配性的情況下,還原明文M。
密文解密部341使用CPU 911等處理裝置,輸出所還原的明文M。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸入密文解密部341輸出的明文M與密文接收部351輸出的加密數(shù)據(jù),并將輸入的明文M設(shè)為對話密鑰K’。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,利用輸入的對話密鑰K’對輸入的加密數(shù)據(jù)進行解密,并設(shè)為解密數(shù)據(jù)。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸出所解密的解密數(shù)據(jù)。
接下來,對動作進行說明。
圖7是示出本實施方式中的密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個例子的流程圖。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù),隨機地生成秘密信息。
秘密信息生成部112使用CPU 911等處理裝置,輸出所生成的秘密信息。
秘密信息存儲部121使用CPU 911等處理裝置,輸入秘密信息生成部112輸出的秘密信息。
秘密信息存儲部121使用磁盤裝置920等存儲裝置,存儲所輸入的秘密信息。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入在秘密信息生成工序S11中由秘密信息生成部112輸出的秘密信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)和輸入的秘密信息,生成公開密碼參數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出所生成的公開密碼參數(shù)。
參數(shù)存儲部122使用CPU 911等處理裝置,輸入公開參數(shù)生成部113輸出的公開密碼參數(shù)。
參數(shù)存儲部122使用磁盤裝置920等存儲裝置,存儲所輸入的公開密碼參數(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ù)存儲部210以及公開參數(shù)存儲部310使用磁盤裝置920等存儲裝置進行存儲。
參數(shù)設(shè)定處理是在基于ID的密碼通信系統(tǒng)800的運用開始之前僅執(zhí)行一次即可的處理。但是,為了確保密碼通信的安全,也可以定期地執(zhí)行參數(shù)設(shè)定處理而改變公開密碼參數(shù),為了提高密碼強度,也可以變更所使用的乘法群來執(zhí)行參數(shù)設(shè)定處理。
圖8是示出本實施方式中的密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個例子的流程圖。
在識別輸入工序S21中,識別信息輸入部131使用CPU 911等處理裝置,輸入接收者識別信息ID。
識別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的接收者識別信息ID。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,輸入在S21中由識別信息輸入部131輸出的接收者識別信息ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入秘密信息存儲部121存儲的秘密信息。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入?yún)?shù)存儲部122存儲的公開密碼參數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的秘密信息、輸入的公開密碼參數(shù)、以及輸入的接收者識別信息ID,生成秘密密鑰dID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出所生成的秘密密鑰dID。
在秘密密鑰通知工序S23中,秘密密鑰通知部133使用CPU 911等處理裝置,輸入在S21中由識別信息輸入部131輸出的接收者識別信息ID。
秘密密鑰通知部133使用CPU 911等處理裝置,輸入在S22中秘密密鑰生成部132輸出的秘密密鑰dID。
秘密密鑰通知部133使用CPU 911等處理裝置,對于與利用輸入的接收者識別信息ID識別的接收者對應(yīng)的密文接收裝置,秘密地通知所輸入的秘密密鑰dID。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由被通知的密文接收裝置取得,并由秘密密鑰存儲部323使用磁盤裝置920等存儲裝置進行存儲。
秘密密鑰設(shè)定處理是設(shè)定與基于ID的密碼通信系統(tǒng)800內(nèi)的密文接收裝置分別對應(yīng)的秘密密鑰的處理。密碼參數(shù)生成裝置100也可以預(yù)先生成秘密密鑰,并對基于ID的密碼通信系統(tǒng)800內(nèi)的所有密文接收裝置301~303通知秘密密鑰,也可以根據(jù)來自密文接收裝置301~303的要求來執(zhí)行。也可以在密文生成裝置200通知了通知數(shù)據(jù)720之后,執(zhí)行秘密密鑰設(shè)定處理。
圖9是示出本實施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個例子的流程圖。
在明文數(shù)據(jù)輸入工序S31中,數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸入應(yīng)通知給n個密文接收裝置的明文數(shù)據(jù)。
數(shù)據(jù)輸入部251使用CPU 911等處理裝置,輸出所輸入的明文數(shù)據(jù)。
在接收者識別輸入工序S32中,接收者識別輸入部232使用CPU 911等處理裝置,輸入分別對與應(yīng)通知在明文數(shù)據(jù)輸入工序S31中由數(shù)據(jù)輸入部251輸入的明文數(shù)據(jù)的n個密文接收裝置對應(yīng)的n個接收者進行識別的n個接收者識別信息IDi(i為以上n以下的整數(shù))。
接收者識別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個接收者識別信息IDi。
在對話密鑰生成工序S33中,對話密鑰生成部221使用CPU 911等處理裝置,隨機地生成對話密鑰K。
對話密鑰生成部221使用CPU 911等處理裝置,輸出所生成的對話密鑰K。
明文輸入部231使用CPU 911等處理裝置,輸入對話密鑰生成部221輸出的對話密鑰K。
明文輸入部231使用CPU 911等處理裝置,將輸入的對話密鑰K作為明文M而輸出。
在隨機數(shù)生成工序S34中,隨機數(shù)生成部222使用CPU 911等處理裝置,隨機地生成與n個接收者分別對應(yīng)的n個隨機數(shù)。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個隨機數(shù)的信息。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
第一密文生成部241使用CPU 911等處理裝置,輸入在對話密鑰生成工序S33中由明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,輸入表示在隨機數(shù)生成工序S34中由隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
第二密文生成部242使用CPU 911等處理裝置,輸入在接收者識別輸入工序S32中由接收者識別輸入部232輸出的n個接收者識別信息IDi。
第二密文生成部242使用CPU 911等處理裝置,輸入表示在隨機數(shù)生成工序S34中由隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出所生成的n個第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
第三密文生成部243使用CPU 911等處理裝置,輸入表示在隨機數(shù)生成工序S34中由隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者分別對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出所生成的n個第三密文C3i。
在哈希值計算工序S38中,哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
哈希值計算部244使用CPU 911等處理裝置,輸入在第一密文生成工序S35中第一密文生成部241輸出的n個第一密文C1i。
哈希值計算部244使用CPU 911等處理裝置,輸入在第二密文生成工序S36中第二密文生成部242輸出的n個第二密文C2i。
哈希值計算部244使用CPU 911等處理裝置,輸入在第三密文生成工序S37中第三密文生成部243輸出的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的信息,計算出哈希值H。
哈希值計算部244使用CPU 911等處理裝置,輸出所計算出的哈希值H。
在密文驗證文生成工序S39中,密文驗證文生成部245使用CPU911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
密文驗證文生成部245使用CPU 911等處理裝置,輸入表示在隨機數(shù)生成工序S34中隨機數(shù)生成部222輸出的n個隨機數(shù)的信息。
密文驗證文生成部245使用CPU 911等處理裝置,輸入在哈希值計算工序S38中哈希值計算部244輸出的哈希值H。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息,生成與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出所生成的n個密文驗證文CCi。
在密文結(jié)合工序S40中,密文結(jié)合部246使用CPU 911等處理裝置,輸入在第一密文生成工序S35中第一密文生成部241輸出的n個第一密文C1i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在第二密文生成工序S36中第二密文生成部242輸出的n個第二密文C2i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在第三密文生成工序S37中第三密文生成部243輸出的n個第三密文C3i。
密文結(jié)合部246使用CPU 911等處理裝置,輸入在密文驗證文生成工序S39中密文驗證文生成部245輸出的n個密文驗證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,結(jié)合輸入的n個第一密文C1i、輸入的n個第二密文C2i、輸入的n個第三密文C3i、以及輸入的n個密文驗證文CCi,而設(shè)為一個密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出結(jié)合了的一個密鑰密文C。
在數(shù)據(jù)加密工序S41中,數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸入在明文數(shù)據(jù)輸入工序S31中數(shù)據(jù)輸入部251輸出的明文數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸入在對話密鑰生成工序S33中對話密鑰生成部221輸出的對話密鑰K。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,利用所輸入的對話密鑰K,對輸入的明文數(shù)據(jù)進行加密,而設(shè)為加密數(shù)據(jù)。
數(shù)據(jù)加密部252使用CPU 911等處理裝置,輸出加密后的加密數(shù)據(jù)。
在密文通知工序S42中,密文通知部261使用CPU 911等處理裝置,輸入在接收者識別輸入工序S32中接收者識別輸入部232輸出的n個接收者識別信息IDi。
密文通知部261使用CPU 911等處理裝置,輸入在密文結(jié)合工序S40中密文結(jié)合部246輸出的一個密鑰密文C。
密文通知部261使用CPU 911等處理裝置,輸入在數(shù)據(jù)加密工序S41中數(shù)據(jù)加密部252輸出的加密數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,生成包括所輸入的一個密鑰密文C和所輸入的加密數(shù)據(jù)的數(shù)據(jù),而設(shè)為通知數(shù)據(jù)。
密文通知部261使用CPU 911等處理裝置,對與利用所輸入的n個接收者識別信息IDi識別的接收者對應(yīng)的密文接收裝置,通知所生成的通知數(shù)據(jù)。
圖10是示出本實施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個例子的流程圖。
在通知數(shù)據(jù)接收工序S51中,密文接收部351使用CPU 911等處理裝置,接收密文生成裝置200通知的通知數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,取得所接收到的通知數(shù)據(jù)中包含的一個密鑰密文C、以及加密數(shù)據(jù)。
密文接收部351使用CPU 911等處理裝置,輸出所取得的一個密鑰密文C、以及加密數(shù)據(jù)。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,輸入在通知數(shù)據(jù)接收工序S51中密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,根據(jù)輸入的一個密鑰密文C,取得n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、以及n個密文驗證文CCi。
密文分解部346使用CPU 911等處理裝置,輸出所取得的n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、以及n個密文驗證文CCi。
另外,密文分解部346使用CPU 911等處理裝置,取得對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
在驗證哈希值計算工序S53中,驗證哈希值計算部344使用CPU911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i。
驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)輸入的信息,計算出驗證哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出所計算出的驗證哈希值H’。
在密文驗證工序S54中,密文驗證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
密文驗證部345使用CPU 911等處理裝置,輸入秘密密鑰存儲部323存儲的秘密密鑰。
密文驗證部345使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文驗證部345使用CPU 911等處理裝置,輸入在驗證哈希值計算工序S53中驗證哈希值計算部344輸出的驗證哈希值H’。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的信息,生成驗證信息。
密文驗證部345使用CPU 911等處理裝置,根據(jù)生成的驗證信息和輸入的對應(yīng)密文驗證文CCID,判定密文接收部351接收到的一個密鑰密文C中是否有匹配性。
在判定為有匹配性的情況下,進入密文解密工序S55。
在判定為無匹配性的情況下,結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
密文解密部341使用CPU 911等處理裝置,輸入秘密密鑰存儲部323存儲的秘密密鑰。
密文解密部341使用CPU 911等處理裝置,輸入在密文分解工序S52中密文分解部346輸出的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(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等處理裝置,作為對話密鑰K’而輸入在密文解密工序S55中密文解密部341輸出的明文M。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,利用輸入的對話密鑰K’,對輸入的加密數(shù)據(jù)進行解密,而設(shè)為解密數(shù)據(jù)。
數(shù)據(jù)解密部352使用CPU 911等處理裝置,輸出所解密的解密數(shù)據(jù)。
如上所述,只有想要通知明文數(shù)據(jù)的接收者能夠還原對話密鑰K,所以可以對加密數(shù)據(jù)進行解密。
以下,對本實施方式中的基于ID的密碼通信系統(tǒng)800的安全性進行討論。
首先,作為基于ID的密碼方式的多個用戶中的安全性,如下所述定義MU-IND-ID-CCA2安全性。
此處,“MU-IND-ID-CCA2安全性”是指,在多個用戶(Multi-User)中,針對能夠適當(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將用戶的識別信息ID和PKG用主密鑰msk作為輸入,輸出秘密密鑰dID。
秘密密鑰導(dǎo)出功能X相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密碼參數(shù)生成裝置100的秘密密鑰設(shè)定部130的功能。用戶的識別信息ID相當(dāng)于接收者識別信息。
加密功能E根據(jù)用戶的識別信息ID、共用參數(shù)params、以及消息M,生成密文C。密文C相當(dāng)于密鑰密文C。
加密功能E相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密文生成裝置200的功能。消息M相當(dāng)于明文M(=對話密鑰K)。
解密功能D將秘密密鑰dID、共用參數(shù)params、以及密文C作為輸入,對消息進行解密。解密功能D返回所解密的消息。另外,在解密失敗的情況下,返回“拒絕”而并非消息。
解密功能D相當(dāng)于基于ID的密碼通信系統(tǒng)800中的密文接收裝置301~303的功能。
將針對如上所述構(gòu)成的密碼系統(tǒng)∏的攻擊者設(shè)為A。
另外,將n=n(k)設(shè)為k的多項式。
攻擊者A可以利用加密oracle OE。
加密oracle OE預(yù)先隨機地選擇0和1中的某一個而作為b。
加密oracle OE輸入用戶的識別信息ID*、兩個消息M0*以及M1*。
加密oracle OE根據(jù)預(yù)先選擇的b,從消息M0*以及消息M1*中選擇一個,通過加密功能E,根據(jù)輸入的用戶的識別信息ID*、共用參數(shù)params、以及選擇的消息,生成密文C*并進行回答。
攻擊者A可以針對不同的用戶的識別信息ID*,調(diào)用加密oracleOE。但是,在攻擊者A調(diào)用加密oracle OE時,可以輸入到加密oracleOE中的用戶的識別信息ID*的個數(shù)設(shè)為n以下。
另外,攻擊者A還可以針對相同用戶的識別信息ID*,輸入不同的消息M0*以及M1*而調(diào)用加密oracle OE。
這樣,攻擊者A多次調(diào)用加密oracle OE。加密oracle OE在輸入的兩個消息中,總是選擇相同的一方(如果是前者則總是選擇前者,如果是后者則總是選擇后者)。
另外,攻擊者A可以利用密鑰導(dǎo)出oracle Ox。
密鑰導(dǎo)出oracle Ox輸入用戶的識別信息ID。
密鑰導(dǎo)出oracle Ox通過密鑰導(dǎo)出功能X,根據(jù)攻擊者A不知道的PKG用主密鑰msk、和輸入的用戶的識別信息ID,生成秘密密鑰dID并進行回答。
另外,攻擊者A可以利用解密oracle OD。
解密oracle OD輸入用戶的識別信息ID、和密文C。
解密oracle OD通過密鑰導(dǎo)出功能X,根據(jù)攻擊者A不知道的PKG用主密鑰msk、和輸入的用戶的識別信息ID,生成秘密密鑰dID。
解密oracle OD通過解密功能E,根據(jù)生成的秘密密鑰dID、共用參數(shù)params、以及輸入的密文C,對消息進行解密。
解密oracle OD回答所解密的消息(或“拒絕”)。
攻擊者A利用這些oracle,對猜中b是0還是1的游戲進行挑戰(zhàn)。
攻擊者A無法將曾經(jīng)輸入到密鑰導(dǎo)出oracle OX的用戶的識別信息ID輸入到加密oracle OE。如果攻擊者A知道秘密密鑰dID,則可以對加密oracle輸出的密文C*進行解密,所以容易猜中對哪個消息進行了加密,絲毫不能說解讀了密碼。
相反地,攻擊者A也無法將曾經(jīng)輸入到加密oracle OE的用戶的識別信息ID*輸入到密鑰導(dǎo)出oracle OX。
另外,攻擊者A也無法將曾經(jīng)輸入到加密oracle OE的用戶的識別信息ID*、與針對其而由加密oracle OE輸出的密文C的組合,輸入到解密oracle OD。因為在利用解密oracle OD對加密oracle輸出的密文C*進行了解密的情況下,也容易猜中對哪個消息進行了加密,絲毫不能說解讀了密碼。
除了上述限制,攻擊者A自由地調(diào)用oracle,推測b是0還是1。攻擊者A輸出推測結(jié)果b’。
此處,將攻擊者A針對每個用戶的識別信息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有時可以解讀密碼的情況下,成為b=b’的概率是1/2與1之間。另外,雖然還有成為b=b’的概率小于1/2的可能性,但在該情況下,在相反的意思上可以說攻擊者A解讀了密碼。
因此,將攻擊者A的優(yōu)勢(advantage)A d v定義為Advmun,∏,Γ(A)=|Pr[Gamemun,∏,Γ(A,0)=0]-Pr[Gamemun,∏,Γ(A,1)=0]|。
此處,Pr[…]表示發(fā)生該事件的概率。
Gamemun,∏,Γ(A,0)表示在b=0的情況下攻擊者A推測的推測結(jié)果b’的值。因此,Gamemun,∏,Γ(A,0)=0表示在b=0的情況下攻擊者A的推測命中的事件。
另外,Gamemun,∏,Γ(A,1)表示在b=1的情況下攻擊者A推測的推測結(jié)果b’的值。因此,Gamemun,∏,Γ(A,1)=0表示在b=1的情況下攻擊者A的推測沒命中的事件。
即,Advmun,∏,Γ(A)表示在攻擊者A輸出了推測結(jié)果b’=0的情況下該推測命中的概率與沒命中的概率之差的絕對值。
在攻擊者A完全無法解讀密碼的情況下,Advmun,∏,Γ(A)成為0。在攻擊者A總是可以解讀密碼的情況下,Advmun,∏,Γ(A)成為1。在攻擊者A有時可以解讀密碼的情況下,Advmun,∏,Γ(A)成為0與1之間的值。
將密碼系統(tǒng)∏的n個用戶安全性定義為Advmun,∏,Γ(t,qe,qd,qx)=max{Advmun,∏,Γ(A)}。這表示,針對每個ID調(diào)用qe次加密oracle OE、調(diào)用qd次解密oracle OD、調(diào)用qx次密鑰導(dǎo)出oracle OX而在時間t的期間給出回答的攻擊者A中的、具有最高優(yōu)勢的攻擊者的優(yōu)勢。
在Advmun,∏,Γ(t,qe,qd,qx)對于所有k的多項式n(k)可以忽視(negligible)時,可以說密碼系統(tǒng)∏是(t,qe,qd,qx)-MU安全。
以往,作為基于ID的密碼方式的安全性而定義的是此處定義的安全性的特殊的情況,是qe=1且n=1時的MU安全性。
接下來,作為基于ID的密碼方式的多個接收者中的安全性,如下所述定義SMMR-IND-ID-CCA2安全性。
此處,“SMMR-IND-ID-CCA2安全性”表示在對多個接收者(Multi-Recipient)發(fā)送單一的消息(Single Message)的情況下針對可以適當(dāng)?shù)剡x擇目標(biāo)ID的攻擊者的安全性。
密碼系統(tǒng)∏’是對單一的消息進行多點傳送的基于多個接收者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’輸入多個用戶的識別信息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、以及針對其ID(被分節(jié))的密文CID,返回所解密的消息(或“拒絕”)。
將針對如上所述構(gòu)成的密碼系統(tǒng)∏’的攻擊者設(shè)為A。
攻擊者A可以利用加密oracle OE’。
加密oracle OE′輸入n個用戶各自的識別信息ID*=(ID1*,ID2*,…,IDn*)、以及兩個消息M0*以及M1*。
加密oracle OE′隨機地選擇0和1中的某一個而設(shè)為b。
加密oracle OE’根據(jù)所選擇的b,從所輸入的兩個消息M0*以及消息M1*中選擇某一方,通過加密功能E,根據(jù)輸入的n個用戶各自的識別信息ID*、共用參數(shù)params、以及選擇的消息,生成密文C*并進行回答。
另外,攻擊者A可以利用密鑰導(dǎo)出oracle Ox’。
密鑰導(dǎo)出oracle Ox’輸入(一個)用戶的識別信息ID。
密鑰導(dǎo)出oracle Ox’通過密鑰導(dǎo)出功能X’,根據(jù)攻擊者A不知道的PKG用主密鑰msk、以及輸入的用戶的識別信息ID,生成秘密密鑰dID并進行回答。
另外,攻擊者A可以利用解密oracle OD’。
解密oracle OD’輸入用戶的識別信息ID、以及針對該ID(被分節(jié))的密文CID。
解密oracle OD’通過密鑰導(dǎo)出功能X’,根據(jù)攻擊者A不知道的PKG用主密鑰msk、以及輸入的用戶的識別信息ID,生成秘密密鑰dID。
解密oracle OD’通過解密功能D’,根據(jù)所生成的秘密密鑰dID、共用參數(shù)params、以及所輸入的密文CID,對消息進行解密。
解密oracle OD’回答所解密的消息(或“拒絕”)。
攻擊者A調(diào)用一次加密oracle OE′,對猜中b是0還是1的游戲進行挑戰(zhàn)。
攻擊者A在調(diào)用加密oracle OE′之前以及調(diào)用加密oracle OE′之后,都可以多次調(diào)用密鑰導(dǎo)出oracle Ox’以及解密oracle OD’。
但是,無法將向加密oracle OE′輸入了的(進行輸入的)n個用戶各自的識別信息ID*中包含的用戶的識別信息輸入到密鑰導(dǎo)出oracle Ox’。
另外,攻擊者A也無法將向加密oracle OE’輸入了的n個用戶各自的識別信息ID*中包含的用戶的識別信息ID*、與針對其由加密oracle OE’輸出的密文C中的針對該識別信息的密文CID的組合,輸入到解密oracle OD’。
除了上述限制,攻擊者A自由地調(diào)用密鑰導(dǎo)出oracle Ox’以及解密oracle OD’,推測b是0還是1。攻擊者A輸出推測結(jié)果b’。
根據(jù)上述游戲,與MU-IND-ID-CCA2安全性的情況同樣地,將攻擊者A的優(yōu)勢Adv定義為Advsmmrn,∏’,Γ(A)=|Pr[Gamesmmrn,∏’,Γ(A,0)=0]-Pr[Gamesmmrn,∏’,Γ(A,1)=0]|。
另外,密碼系統(tǒng)∏’的n個接收者安全性也同樣地,定義為Advsmmrn,∏’,Γ(t,qd,qx)=max{Advsmmrn,∏’,Γ(A)}。這表示調(diào)用qd次解密oracle OD’、調(diào)用qx次密鑰導(dǎo)出oracle Ox’而在時間t的期間給出回答的攻擊者A中的、具有最高優(yōu)勢的攻擊者的優(yōu)勢。
并且,在Advsmmrn,∏’,Γ(t,qd,qx)對于所有k的多項式n(k)可以忽視時,可以說密碼系統(tǒng)∏’是(t,qd,qx)-SMMR安全。
基于以上定義,對本實施方式中的基于ID的密碼通信系統(tǒng)800的SMMR-IND-ID-CCA2安全性進行說明。
在本實施方式中的基于ID的密碼通信系統(tǒng)800中,哈希值計算部244根據(jù)與n個接收者對應(yīng)的n個密文主文CBi,計算出一個哈希值H。將該方式稱為“哈希值共用化方式”。
與此相對,還有如下方式哈希值計算部244分別根據(jù)與n個接收者對應(yīng)的n個密文主文CBi計算出哈希值,計算出與n個接收者對應(yīng)的n個哈希值。以下將這樣的方式稱為“連接方式”。
此處,首先對連接方式的安全性進行說明。
SMMR-IND-ID-CCA2安全性的定義中的加密oracle OE′輸入n個用戶各自的識別信息ID*=(ID1*,ID2*,…,IDn*),進行加密處理。
與此相對,MU-IND-ID-CCA2安全性的定義中的加密oracleOE輸入(一個)用戶的識別信息ID*,進行加密處理。
因此,如果調(diào)用n次MU-IND-ID-CCA2安全性的定義中的加密oracle OE而進行關(guān)于各個用戶的識別信息的加密處理,則與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個接收者SMMR安全性與在原來的密碼系統(tǒng)∏中qe=1時的n個用戶MU安全性同等。即,是Advsmmrn,∏’,Γ(t,qd,qx)=Advmun,∏,Γ(t,1,qd,qx)。
另外,針對一般的公開密鑰密碼方式∏的MU安全性可以證明Advmun,∏,Γ(t,qe,qd,qx)≤qe·n·Advmu1,∏,Γ(t’,1,qd,qx)。這在基于ID的密碼方式的情況下也相同。
此處,Advmu1,∏,Γ(t’,1,qd,qx)是n個用戶MU安全性的n=1且qe=1時的安全性,所以以往被定義為基于ID的密碼方式的安全性。
因此,通過連接方式將在以往的意義中證明了安全性的基于ID的密碼方式進行擴展而得到的基于多個接收者ID的密碼方式的SMMR安全性成為Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx),可以證明安全性。
這樣,連接方式的SMMR安全性可以從原來的基于(單獨接收者)ID的密碼方式的MU安全性直接導(dǎo)出,但哈希值共用化方式的SMMR安全性分別需要進行具體的證明。
在哈希值共用化方式中,哈希值計算部244計算出一個哈希值H即可,所以與計算出對應(yīng)于n個接收者的n個哈希值的連接方式相比,可以削減哈希值計算部244計算哈希值的處理的處理量。
另外,關(guān)于密文驗證文生成部245生成密文驗證文CC的處理,在連接方式中需要將大部分的運算重復(fù)進行n次,與此相對,在哈希值共用化方式中,共用化直到途中為止的運算而進行一次即可,所以還可以削減密文驗證文生成部245生成密文驗證文CC的處理的處理量。
由此,密文生成裝置200中的密文生成處理的處理速度變快,即使密文生成裝置200的CPU 911等處理裝置的處理能力較低,也可以在實用的時間內(nèi)進行密文生成處理。
本實施方式中的密文生成裝置200生成將明文M通知給n個接收者(n是1以上的整數(shù))的密文C(密鑰密文C),密文生成裝置200的特征在于具有存儲信息的磁盤裝置920等存儲裝置;處理信息的CPU911等處理裝置;密碼參數(shù)存儲部210;接收者識別輸入部232;明文輸入部231;密文主文生成部240;哈希值計算部244;密文驗證文生成部245;以及密文結(jié)合部246。
密碼參數(shù)存儲部210的特征是,使用磁盤裝置920等存儲裝置,存儲公開密碼參數(shù)。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,輸入分別識別n個接收者的n個接收者識別信息IDi(i是1以上n以下的整數(shù))。
明文輸入部231的特征是,使用CPU 911等處理裝置,輸入明文M。
密文主文生成部240的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、接收者識別輸入部232輸入的n個接收者識別信息IDi、以及明文輸入部231輸入的明文M,生成與n個接收者對應(yīng)的n個密文主文CBi(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個密文主文CBi,生成結(jié)合密文,并使用CPU911等處理裝置,根據(jù)生成的結(jié)合密文,計算出哈希值H。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及哈希值計算部244計算出的哈希值H,生成密文驗證文CC。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個密文主文CBi、以及密文驗證文生成部245生成的密文驗證文CC,設(shè)為一個密文C。
根據(jù)本實施方式中的密文生成裝置200,在基于ID的密碼通信方式中,將生成把同一明文M通知給多個接收者的一個密文C的處理的一部分即計算哈希值的處理、以及基于計算出的哈希值的處理分別執(zhí)行一次即可,所以具有使處理高效化、可以實現(xiàn)高速的密碼處理這樣的效果。
本實施方式中的密文生成裝置200的特征在于,還具有隨機數(shù)生成部222。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,隨機地生成與n個接收者對應(yīng)的n個整數(shù)si(i是1以上n以下的整數(shù))。
密文主文生成部240的特征是,具有第一密文生成部241、第二密文生成部242、以及第三密文生成部243。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、明文輸入部231輸入的明文M、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、接收者識別輸入部232輸入的n個接收者識別信息IDi、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,將第一密文生成部241生成的n個第一密文C1i、第二密文生成部242生成的n個第二密文C2i、以及第三密文生成部243生成的n個第三密文C3i進行結(jié)合,設(shè)為一個結(jié)合密文,并使用CPU 911等處理裝置,根據(jù)結(jié)合的一個結(jié)合密文,計算出一個哈希值H0。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個哈希值H0,生成與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合第一密文生成部241生成的n個第一密文C1i、第二密文生成部242生成的n個第二密文C2i、第三密文生成部243生成的n個第三密文C3i、以及密文驗證文生成部245生成的n個密文驗證文CCi,設(shè)為一個密文C(密鑰密文C)。
根據(jù)本實施方式中的密文生成裝置200,哈希值計算部244與接收者無關(guān)地計算出共用的一個哈希值H0,所以起到可以削減密文生成裝置200中的密文生成處理的處理量這樣的效果。
另外,在將對于單獨接收者的情況證明了安全性的基于ID的密碼通信方式擴展為多個接收者的基于ID的密碼通信方式中,起到可以證明與單獨接收者的情況同樣的安全性這樣的效果。
本實施方式中的密文生成裝置200還將以下的點作為特征。
密文主文生成部240的特征是,使用CPU 911等處理裝置,生成包含有由接收者識別輸入部232輸入的n個接收者識別信息IDi的n個密文主文CBi。
根據(jù)本實施方式中的密文生成裝置200,成為哈希值計算部244計算出的哈希值的基礎(chǔ)的n個密文主文CBi包含有n個接收者識別信息,所以起到基于ID的密碼通信方式的安全性變高這樣的效果。
本實施方式中的密文生成裝置200的特征在于,還具有密文通知部261。
密文通知部261的特征是,使用CPU 911等處理裝置,對利用由接收者識別輸入部232輸入的n個接收者識別信息IDi識別的n個接收者,通知上述密文結(jié)合部246結(jié)合的一個密文C(密鑰密文C)。
根據(jù)本實施方式中的密文生成裝置200,密文通知部261對n個接收者通知同一密文C,所以起到通知密文的通信路徑的通信量所需的負荷小這樣的效果。
本實施方式中的密文生成裝置200的特征在于,還具有對話密鑰生成部221。
對話密鑰生成部221的特征是,使用CPU 911等處理裝置,隨機地生成規(guī)定長度的位串,設(shè)為對話密鑰K。
明文輸入部213的特征是,使用CPU 911等處理裝置,作為明文M,輸入上述對話密鑰生成部生成的對話密鑰K。
在本實施方式中的密文生成裝置200中,對話密鑰生成部221生成對話密鑰K,生成將所生成的對話密鑰通知給通知對方的密文C,所以與從外部輸入對話密鑰K的情況相比,具有安全性高這樣的效果。
本實施方式中的密文生成裝置200的特征在于,還具有數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
數(shù)據(jù)輸入部251的特征是,使用CPU 911等處理裝置,輸入應(yīng)發(fā)送給n個接收者的一個明文數(shù)據(jù)。
數(shù)據(jù)加密部252的特征是,使用CPU 911等處理裝置,利用對話密鑰生成部221生成的對話密鑰K,對由數(shù)據(jù)輸入部251輸入的一個明文數(shù)據(jù)進行加密,設(shè)為一個加密數(shù)據(jù)。
密文通知部261的特征是,使用CPU 911等處理裝置,對利用由接收者識別輸入部232輸入的n個接收者識別信息IDi識別的n個接收者,通知密文結(jié)合部246結(jié)合的一個密文C(密鑰密文C)、以及數(shù)據(jù)加密部252加密的一個加密數(shù)據(jù)。
根據(jù)本實施方式中的密文生成裝置200,數(shù)據(jù)加密部252與接收者無關(guān)地利用共用的一個對話密鑰K對明文數(shù)據(jù)進行加密,密文通知部261與接收者無關(guān)地將共用的一個密文C以及一個加密數(shù)據(jù)通知給接收者,所以具有通信路徑的通信量所需的負荷小這樣的效果。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))對具有各自對應(yīng)的密文接收裝置的n個接收者(n是1以上的整數(shù)),利用一個密文C(密鑰密文C)通知明文M(對話密鑰K),密碼通信系統(tǒng)800的特征在于,具有密碼參數(shù)生成裝置100、密文生成裝置200、以及多個密文接收裝置301~303。
密碼參數(shù)生成裝置100的特征是,具有存儲信息的磁盤裝置920等存儲裝置;處理信息的CPU 911等處理裝置;秘密信息生成部112;秘密信息存儲部121;公開參數(shù)生成部113;公開參數(shù)公開部114;識別信息輸入部131;秘密密鑰生成部132;秘密密鑰通知部133。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,隨機地生成秘密信息。
秘密信息存儲部121的特征是,使用磁盤裝置920等存儲裝置,存儲秘密信息生成部112生成的秘密信息。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,根據(jù)秘密信息生成部112生成的秘密信息,生成公開密碼參數(shù)。
公開參數(shù)公開部114的特征是,使用CPU 911等處理裝置,公開由公開參數(shù)生成部113生成的公開密碼參數(shù)。
識別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入對與多個密文接收裝置301~303中的一個密文接收裝置對應(yīng)的一個接收者進行識別的接收者識別信息ID。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)秘密信息存儲部121存儲的秘密信息、公開參數(shù)生成部113生成的公開密碼參數(shù)、以及識別信息輸入部131輸入的接收者識別信息ID,生成與上述一個接收者對應(yīng)的秘密密鑰dID。
秘密密鑰通知部133的特征是,使用CPU 911等處理裝置,對與上述一個接收者對應(yīng)的一個密文接收裝置,秘密地通知秘密密鑰生成部132生成的秘密密鑰dID。
密文生成裝置200的特征是,具有存儲信息的磁盤裝置920等存儲裝置;處理信息的CPU 911等處理裝置;密碼參數(shù)存儲部210;接收者識別輸入部232;明文輸入部231;隨機數(shù)生成部222;密文主文生成部240;哈希值計算部244;密文驗證文生成部245;密文結(jié)合部246;以及密文通知部261。
密碼參數(shù)存儲部210的特征是,使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,輸入分別識別n個接收者的n個接收者識別信息IDi(i是1以上n以下的整數(shù))。
明文輸入部231的特征是,使用CPU 911等處理裝置,輸入明文M。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、接收者識別輸入部232輸入的n個接收者識別信息IDi、以及明文輸入部231輸入的明文M,生成與n個接收者對應(yīng)的n個密文主文CBi(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部240生成的n個密文主文CBi,生成結(jié)合密文,使用CPU 911等處理裝置,根據(jù)生成的結(jié)合密文,計算出哈希值H。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及哈希值計算部244計算出的哈希值H,生成密文驗證文CC。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合由密文主文生成部244生成的n個密文主文CBi、以及密文驗證文生成部245生成的密文驗證文CC,設(shè)為一個密文C(密鑰密文C)。
密文通知部261的特征是,使用CPU 911等處理裝置,對與上述n個接收者對應(yīng)的n個密文接收裝置,通知密文結(jié)合部246結(jié)合的一個密文C。
多個密文接收裝置301~303的特征是,分別具有存儲信息的磁盤裝置920等存儲裝置;處理信息的CPU 911等處理裝置;公開參數(shù)存儲部310;秘密密鑰存儲部323;密文接收部351;密文分解部346;驗證哈希值計算部344;密文驗證部345;以及密文解密部341。
公開參數(shù)存儲部310的特征是,使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100公開的公開密碼參數(shù)。
秘密密鑰存儲部323的特征是,使用磁盤裝置920等存儲裝置,存儲密碼參數(shù)生成裝置100通知的秘密密鑰dID。
密文接收部351的特征是,使用CPU 911等處理裝置,接收密文生成裝置200通知的一個密文C(密鑰密文C)。
密文分解部346的特征是,使用CPU 911等處理裝置,根據(jù)密文接收部351接收到的一個密文C,取得n個密文主文C2i、以及密文驗證文CC,使用CPU 911等處理裝置,在取得的n個密文主文CBi中,取得對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)密文主文CBID。
驗證哈希值計算部344的特征是,使用CPU 911等處理裝置,根據(jù)將密文分解部346取得的n個密文主文CBi結(jié)合而得到的驗證結(jié)合密文,計算出驗證哈希值H’。
密文驗證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)、密文分解部346取得的一個對應(yīng)密文主文CBID和密文驗證文CC、以及驗證哈希值計算部344計算出的驗證哈希值H’,判定密文接收部351接收到的一個密文C中是否有匹配性。
密文解密部341的特征是,在密文驗證部345判定為密文接收部351接收到的一個密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)、秘密密鑰存儲部323存儲的秘密密鑰dID、以及密文分解部346取得的一個對應(yīng)密文主文CBID,還原明文M。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,具有如下效果在基于ID的密碼通信方式下,利用一個密文C將同一明文M通知給多個接收者,其它接收者無法解讀密文C。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下的點作為特征。
密文生成裝置200的特征是,還具有隨機數(shù)生成部222。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,隨機地生成與n個接收者對應(yīng)的n個整數(shù)si(i是1以上n以下的整數(shù))。
密文主文生成部240的特征是,具有第一密文生成部241、第二密文生成部242、以及第三密文生成部243。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、明文輸入部231輸入的明文M、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、接收者識別輸入部232輸入的n個接收者識別信息IDi、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及隨機數(shù)生成部222生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,結(jié)合由第一密文生成部241生成的n個第一密文C1i、第二密文生成部242生成的n個第二密文C2i、以及第三密文生成部243生成的n個第三密文C3i,設(shè)為一個結(jié)合密文,并使用CPU 911等處理裝置,根據(jù)所結(jié)合的一個結(jié)合密文,計算出一個哈希值H0。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個哈希值H0,生成與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246的特征是,使用CPU 911等處理裝置,結(jié)合第一密文生成部241生成的n個第一密文C1i、第二密文生成部242生成的n個第二密文C2i、第三密文生成部243生成的n個第三密文C3i、以及密文驗證文生成部245生成的n個密文驗證文CCi,設(shè)為一個密文C(密鑰密文C)。
密文分解部346的特征是,使用CPU 911等處理裝置,根據(jù)由密文接收部351接收到的一個密文C,取得n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、以及n個密文驗證文CCi,并使用CPU 911等處理裝置,在取得的n個第一密文C1i、n個第二密文C2i、n個第三密文C3i、以及n個密文驗證文CCi中,取得對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID、一個對應(yīng)第三密文C3ID、以及一個對應(yīng)密文驗證文CCID。
驗證哈希值計算部344的特征是,使用CPU 911等處理裝置,根據(jù)將密文分解部346取得的n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i結(jié)合而得到的驗證結(jié)合密文,計算出驗證哈希值H’。
密文驗證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)、密文分解部346取得的一個對應(yīng)第二密文C2ID和一個對應(yīng)第三密文C3ID中的至少某一個與一個對應(yīng)密文驗證文、以及驗證哈希值計算部344計算出的驗證哈希值H’,判定密文接收部351接收到的一個密文C中是否有匹配性。
密文解密部341的特征是,在密文驗證部345判定為密文接收部351接收到的一個密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)、秘密密鑰存儲部323存儲的秘密密鑰dID、以及密文分解部346取得的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID和一個對應(yīng)第三密文C3ID,還原明文M。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,哈希值計算部244與接收者無關(guān)地計算出共用的一個哈希值H0,所以起到可以削減密文生成裝置200中的密文生成處理的處理量這樣的效果。
另外,在將對于單獨接收者的情況證明了安全性的基于ID的密碼通信方式擴展為多個接收者的基于ID的密碼通信方式中,起到可以證明與單獨接收者的情況同樣的安全性這樣的效果。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點作為特征。
密文主文生成部240的特征是,使用CPU 911等處理裝置,生成包含有由接收者識別輸入部232輸入的n個接收者識別信息IDi的n個密文主文CBi。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,成為哈希值計算部244計算出的哈希值的基礎(chǔ)的n個密文主文CBi包括n個接收者識別信息,所以起到基于ID的密碼通信方式的安全性變高這樣的效果。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點作為特征。
密文生成裝置200的特征是,還具有對話密鑰生成部221、數(shù)據(jù)輸入部251、數(shù)據(jù)加密部252、以及密文通知部261。
對話密鑰生成部221的特征是,使用CPU 911等處理裝置,隨機地生成規(guī)定長度的位串,設(shè)為對話密鑰K。
明文輸入部231的特征是,使用CPU 911等處理裝置,作為明文M,輸入對話密鑰生成部221生成的對話密鑰K。
數(shù)據(jù)輸入部251的特征是,使用CPU 911等處理裝置,輸入應(yīng)發(fā)送給n個接收者的一個明文數(shù)據(jù)。
數(shù)據(jù)加密部252的特征是,使用CPU 911等處理裝置,利用對話密鑰生成部221生成的對話密鑰K,對數(shù)據(jù)輸入部251輸入的一個明文數(shù)據(jù)進行加密,設(shè)為一個加密數(shù)據(jù)。
密文通知部261的特征是,使用CPU 911等處理裝置,對利用由接收者識別輸入部232輸入的n個接收者識別信息識別的n個接收者,通知密文結(jié)合部246結(jié)合的一個密文C(密鑰密文C)、以及數(shù)據(jù)加密部252加密的一個加密數(shù)據(jù)。
多個密文接收裝置301~303的特征是,分別還具有數(shù)據(jù)解密部352。
密文接收部351的特征是,使用CPU 911等處理裝置,接收密文生成裝置200通知的一個密文C與一個加密數(shù)據(jù)。
數(shù)據(jù)解密部352的特征是,將密文解密部341還原的明文M設(shè)為對話密鑰K’,使用CPU 911等處理裝置,利用上述對話密鑰K’,對密文接收部351接收到的一個加密數(shù)據(jù)進行解密。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,數(shù)據(jù)加密部252與接收者無關(guān)地利用共用的一個對話密鑰K對明文數(shù)據(jù)進行加密,密文通知部261與接收者無關(guān)地將共用的一個密文C以及一個加密數(shù)據(jù)通知給接收者,所以起到通信路徑的通信量所需的負荷小這樣的效果。
另外,在本實施方式中,說明了接收者的數(shù)量n不是預(yù)先(例如在公開密碼參數(shù)生成時)決定而是在實際發(fā)送數(shù)據(jù)時決定的情況,但也可以預(yù)先固定接收者的數(shù)量n。
例如,在接收者確定為一人的情況下,也可以固定為n=1?;蛘咭部梢怨潭閚=10。
另外,在預(yù)先確定接收者的數(shù)量n的范圍而發(fā)送數(shù)據(jù)時,也可以在該范圍內(nèi)指定n。例如,也可以在1≤n<100的范圍內(nèi)改變n。
即,基于ID的密碼通信系統(tǒng)800既可以是接收者的數(shù)量為預(yù)先固定的密碼通信系統(tǒng),也可以是在發(fā)送數(shù)據(jù)時可以改變接收者的數(shù)量的密碼通信系統(tǒng)。
實施方式2 使用圖11~圖18,對實施方式2進行說明。
在說明本實施方式中的基于ID的密碼通信系統(tǒng)800之前,首先,對作為對比例子的基于ID的密碼通信系統(tǒng)進行說明。
本實施方式中的對比例子即基于ID的密碼通信系統(tǒng)的整體結(jié)構(gòu)由于與實施方式1中說明的部分相同,所以此處省略說明。
最初,對密碼參數(shù)生成裝置100進行說明。
密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與實施方式1中說明的部分相同,所以使用圖4,對與實施方式1不同的部分進行說明。
群參數(shù)存儲部111使用磁盤裝置920等存儲裝置,存儲表示自然數(shù)r、乘法群G1、乘法群G2、乘法群GT以及配對(pairing)e的信息而作為群參數(shù)。
自然數(shù)r是難以求解DH問題的大素數(shù)。
乘法群G1、乘法群G2以及乘法群GT是階數(shù)為自然數(shù)r的乘法群。
另外,乘法群G1與乘法群G2既可以是相同的乘法群,也可以是不同的乘法群。在乘法群G1與乘法群G2是相同的乘法群的情況下,群參數(shù)存儲部111也可以不存儲表示乘法群G2的信息。
配對e是根據(jù)乘法群G1的要素與乘法群G2的要素來計算出乘法群GT的要素的映射。以下,將根據(jù)乘法群G1的要素p與乘法群G2的要素q計算出的乘法群GT的要素記述為配對值e(p,q)。
另外,配對e是雙線性配對(Bilinear Pairing)。即,配對e具有如下性質(zhì)乘法群G1的要素p的a乘方(a為0以上且小于自然數(shù)r的整數(shù))與乘法群G2的要素q的b乘方(b為0以上且小于自然數(shù)r的整數(shù))的配對值e(p^a,q^b)等于乘法群G1的要素p與乘法群G2的要素q的配對值e(p,q)的c乘方(c為將整數(shù)a與整數(shù)b的積除以自然數(shù)r而得到的余數(shù))(如果用公式來表現(xiàn),則“e(p^a,q^b)=e(p,q)^(a·b)”)。
另外,作為使用計算機的CPU 911等處理裝置在實用的時間內(nèi)可以計算的雙線性配對,已知Tate配對(Tate Pairing)、Weil配對(Weil Pairing)等。
配對e不限于特定的配對,只要是雙線性配對,則可以是任意的配對,但設(shè)為使用計算機的CPU 911等處理裝置在實用的時間內(nèi)可以計算的配對。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所生成的整數(shù)α的信息(秘密信息)。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)、以及表示秘密信息生成部112輸出的整數(shù)α的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群GT,決定密鑰生成函數(shù)KDF。
密鑰生成函數(shù)KDF是根據(jù)乘法群GT的要素而計算出規(guī)定長度的位串的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,決定哈希函數(shù)HF。
哈希函數(shù)HF是根據(jù)任意長度的位串而計算出小于自然數(shù)r的自然數(shù)的函數(shù)。另外,設(shè)哈希函數(shù)HF根據(jù)不同的位串計算出相同的自然數(shù)的概率極低。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1,隨機地選擇乘法群G1的要素g。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機地選擇乘法群G2的四個要素g2、h1、h2、h3。
其中,乘法群G2的要素g2、h1、h2、h3選擇相互不同的要素。
另外,以使乘法群G1的要素g與乘法群G2的要素g2的配對值即乘法群GT的要素e(g,g2)不會成為乘法群GT的單位元素的方式,選擇乘法群G1的要素g與乘法群G2的要素g2。
另外,在乘法群G1與乘法群G2是相同的乘法群的情況下,乘法群G1的要素g與乘法群G2的要素g2也可以是同一要素。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1、選擇的乘法群G1的要素、以及輸入的信息所表示的整數(shù)α,計算出乘法群G1的要素g1=g^α。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出表示所輸入的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、選擇的乘法群G1的要素g、計算出的乘法群G1的要素g1、以及選擇的乘法群G2的四個要素g2、h1、h2、h3的信息,作為公開密碼參數(shù)。
識別信息輸入部131使用CPU 911等處理裝置,輸入接收者識別信息ID。
在以下的說明中,密碼參數(shù)生成裝置100將接收者識別信息ID作為整數(shù)進行處理。
例如,密碼參數(shù)生成裝置100通過將郵件地址等任意長度的位串作為表示整數(shù)值的位串進行處理,從而將接收者識別信息作為整數(shù)進行處理。
或者,密碼參數(shù)生成裝置100也可以將郵件地址等任意長度的位串作為哈希函數(shù)(既可以是與公開參數(shù)生成部113決定的哈希函數(shù)HF相同的哈希函數(shù),也可以是不同的哈希函數(shù))的輸入,取得利用哈希函數(shù)計算出的整數(shù),作為接收者識別信息。
即,識別信息輸入部131使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識別信息。
識別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的整數(shù)ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入表示秘密信息存儲部121存儲的整數(shù)α的信息、參數(shù)存儲部122存儲的公開密碼參數(shù)、以及識別信息輸入部131輸出的整數(shù)ID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成三個整數(shù)rID,1、rID,2、rID,3。三個整數(shù)rID,1、rID,2、rID,3都是1以上且小于自然數(shù)r的整數(shù),生成相互不同的整數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)α、以及輸入的整數(shù)ID,計算出α與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由于是素數(shù),所以α-ID只要不是0(或者自然數(shù)r的倍數(shù)),就存在一個(α-ID)的倒數(shù),可以使用計算機的CPU 911等處理裝置在實用的時間內(nèi)計算出。
此處,自然數(shù)r由于是非常大的自然數(shù),所以α-ID成為0(或者自然數(shù)r的倍數(shù))的概率極低,也可以忽視。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的要素g2、以及生成的整數(shù)rID,1,計算出乘法群G2的要素g2的(-rID,1)乘方即乘法群G2的要素g2^(-rID,1)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的要素h1、以及計算出的乘法群G2的要素g2^(-rID,1),計算出乘法群G2的要素h1與乘法群G2的要素g2^(-rID,1)的積即乘法群G2的要素h1·g2^(-rID,1)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)計算出的乘法群G2的要素h1·g2^(-rID,1)、以及計算出的整數(shù)1/(α-ID),計算出乘法群G2的要素h1·g2^(-rID,1)的1/(α-ID)乘方即乘法群G2的要素hID,1=(h1·g2^(-rID,1))^(1/(α-ID))。
秘密密鑰生成部132使用CPU 911等處理裝置,同樣地計算出乘法群G2的要素hID,2=(h2·g2^(-rID,2))^(1/(α-ID))、以及乘法群G2的要素hID,3=(h3·g2^(-rID,3))^(1/(α-ID))。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出表示計算出的三個整數(shù)rID,1、rID,2、rID,3和計算出的乘法群G2的三個要素hID,1、hID,2、hID,3的信息,而作為秘密密鑰dID。
接下來,對密文生成裝置200進行說明。
密文生成裝置200的功能塊的結(jié)構(gòu)也與實施方式1中說明的部分相同,所以使用圖5,對與實施方式1不同的部分進行說明。
密文生成裝置200與密碼參數(shù)生成裝置100同樣地,將接收者識別信息ID作為整數(shù)進行處理。
接收者識別輸入部232使用CPU 911等處理裝置,輸入n個整數(shù)IDi(i是1以上n以下的整數(shù))作為分別識別n個接收者(n是1以上的整數(shù))的n個接收者識別信息。
接收者識別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個整數(shù)IDi。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
隨機數(shù)生成部222使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者分別對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個整數(shù)si的信息。
第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素h1,計算出乘法群G1的要素g與乘法群G2的要素h1的配對值即乘法群GT的要素e(g,h1)。
另外,乘法群GT的要素e(g,h1)由于與整數(shù)si、明文M無關(guān)而是一定的,所以也可以事先計算并使用磁盤裝置920等存儲裝置進行存儲。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(g,h1)、以及輸入的信息所表示的n個整數(shù)si,計算出乘法群GT的要素e(g,h1)的si乘方即乘法群GT的n個要素e(g,h1)^si(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計算出的乘法群GT的n個要素e(g,h1)^si,計算出利用密鑰生成函數(shù)KDF將乘法群GT的要素e(g,h1)^si進行變換后的規(guī)定長度的位串即n個密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的明文M、以及計算出的n個密鑰位串ki,生成利用n個密鑰位串ki對明文M分別進行了加密的n個位串,設(shè)為n個第一密文C1i(i是1以上n以下的整數(shù))。
在明文M的位長與密鑰位串ki的位長度相等的情況下,例如,第一密文生成部241對明文M與密鑰位串ki之間的每個位計算“異”,設(shè)為第一密文C1i。
另外,對明文M進行加密的方式不限于使用“異”運算的方式,只要是如果存在與密鑰位串ki相同的位串則可以從第一密文C1i還原明文M的密碼方式,也可以是其它密碼方式。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及接收者識別輸入部232輸出的n個整數(shù)IDi。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g、以及輸入的n個整數(shù)IDi,計算出乘法群G1的要素g的(-IDi)乘方即乘法群G1的n個要素g^(-IDi)(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g1、以及計算出的乘法群G1的n個要素g^(-IDi),計算出乘法群G1的要素g1與乘法群G1的要素g^(-IDi)的積即乘法群G1的要素g1·g^(-IDi)(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1、輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群G1的n個要素g1·g^(-IDi),計算出乘法群G1的要素g1·g^(-IDi)的si乘方即乘法群G1的n個要素ui=(g1·g^(-IDi))^si(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群G1的n個要素ui的位串,而作為n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、以及表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素g2,計算出乘法群G1的要素g與乘法群G2的要素g2的配對值即乘法群GT的要素e(g,g2)。
另外,乘法群GT的要素e(g,g2)由于與整數(shù)si無關(guān)而是一定的,所以也可以事先計算出并使用磁盤裝置920等存儲裝置來進行存儲。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群GT的要素e(g,g2),計算出乘法群GT的要素e(g,g2)的si乘方即乘法群GT的n個要素e(g,g2)^si(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群GT的n個要素e(g,g2)^si的位串,而作為n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、第一密文生成部241輸出的n個第一密文C1i、第二密文生成部242輸出的n個第二密文C2i、以及第三密文生成部243輸出的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,分別結(jié)合所輸入的n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i,生成n個結(jié)合密文。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的n個結(jié)合密文,計算出將n個結(jié)合密文通過哈希函數(shù)HF分別進行了變換的n個自然數(shù)βi,設(shè)為n個哈希值Hi。
哈希值計算部244使用CPU 911等處理裝置,輸出表示所計算出的n個自然數(shù)βi的信息、以及生成的n個結(jié)合密文。
密文驗證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及表示哈希值計算部244輸出的n個自然數(shù)βi的信息。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素h2,計算出乘法群G1的要素g與乘法群G2的要素h2的配對值即乘法群GT的要素e(g,h2)。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素h3,計算出乘法群G1的要素g與乘法群G2的要素h3的配對值即乘法群GT的要素e(g,h3)。
另外,乘法群GT的要素e(g,h2)以及乘法群GT的要素e(g,h3)由于與整數(shù)si無關(guān)而是一定的,所以也可以事先計算出并使用磁盤裝置920等存儲裝置來進行存儲。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群GT的要素e(g,h2),計算出乘法群GT的要素e(g,h2)的si乘方即乘法群GT的n個要素e(g,h2)^si(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的n個整數(shù)si、以及輸入的信息所表示的n個自然數(shù)βi,分別計算出整數(shù)si與自然數(shù)βi的積即n個整數(shù)(si·βi)(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(g,h3)、以及計算出的n個整數(shù)(si·βi),計算出乘法群GT的要素e(g,h3)的(si·βi)乘方即乘法群GT的n個要素e(g,h3)^(si·βi)(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的n個要素e(g,h2)^si、以及計算出的乘法群GT的n個要素e(g,h3)^(si·βi),計算出乘法群GT的要素e(g,h2)^si與乘法群GT的要素e(g,h3)^(si·βi)的積即乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·βi)(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群GT的n個要素yi的位串,而作為n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計算部244輸出的n個結(jié)合密文、以及密文驗證文生成部245輸出的n個密文驗證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的n個結(jié)合密文和輸入的n個密文驗證文全部結(jié)合,而生成一個密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個密鑰密文C。
另外,在該例子中,密文結(jié)合部246輸入哈希值計算部244輸出的n個結(jié)合密文,但結(jié)合密文由于是結(jié)合第一密文C1i、第二密文C2i、以及第三密文C3i而得到的密文,所以密文結(jié)合部246輸入n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i。
圖11是示出本實施方式中的對比例子即密文生成裝置200中交換的信息的流程的一個例子的圖。
接收者識別輸入部232輸入n個接收者識別信息ID1、ID2、…、IDn。
隨機數(shù)生成部222生成與接收者識別輸入部232輸入的接收者識別信息ID1、ID2、…、IDn的數(shù)量相同數(shù)量的n個整數(shù)s1、s2、…、sn。
第一密文生成部241根據(jù)明文M與整數(shù)s1生成第一密文C11,根據(jù)明文M與整數(shù)s2生成第一密文C12,…,根據(jù)明文M與整數(shù)sn生成第一密文C1n。
第二密文生成部242根據(jù)接收者識別信息ID1與整數(shù)s1生成第二密文C21,根據(jù)接收者識別信息ID2與整數(shù)s2生成第二密文C22,…,根據(jù)接收者識別信息IDn與整數(shù)sn生成第二密文C2n。
第三密文生成部243根據(jù)整數(shù)s1生成第三密文C31,根據(jù)整數(shù)s3生成第三密文C32,…,根據(jù)整數(shù)sn生成第三密文C3n。
哈希值計算部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é)合的順序也可以是與它不同的順序。
哈希值計算部244根據(jù)生成的結(jié)合密文(C11|C21|C31)計算出哈希值H1,根據(jù)生成的結(jié)合密文(C12|C22|C32)計算出哈希值H2,…,根據(jù)生成的結(jié)合密文(C1n|C2n|C3n)計算出哈希值Hn。
密文驗證文生成部245根據(jù)整數(shù)s1與哈希值H1生成密文驗證文CC1,根據(jù)整數(shù)s2與哈希值H2生成密文驗證文CC2,…,根據(jù)整數(shù)sn與哈希值Hn生成密文驗證文CCn。
密文結(jié)合部246將n個結(jié)合密文(C11|C21|C31)、(C12|C22|C32)、…、(C1n|C2n|C3n)、與n個密文驗證文CC1、CC2、…、CCn全部結(jié)合,而生成一個密鑰密文C=(C11|C21|C31|CC1|C12|C22|C32|CC2|…|C1n |C2n |C3n|CCn)。
另外,在該例子中,按照將與一個接收者對應(yīng)的第一密文~密文驗證文匯總到一處的順序來結(jié)合密文而生成密鑰密文C,但結(jié)合的順序也可以是與它不同的順序。例如,也可以如(C11|C12|…|C1n|C21|C22|…|C2n|C31|C32|…|C3n|CC1|CC2|…|CCn)那樣,按照關(guān)于第一密文將第一密文彼此匯總到一處、關(guān)于第二密文將第二密文彼此匯總到一處的順序來進行結(jié)合。
如該例子那樣,由于按照將與一個接收者對應(yīng)的第一密文~密文驗證文匯總到一處的順序進行結(jié)合的方法,能夠?qū)⒐V涤嬎悴?44結(jié)合的結(jié)合密文原樣地進行結(jié)合而生成密鑰密文C,所以是優(yōu)選的。另外,還具有能夠容易地發(fā)現(xiàn)對應(yīng)于密文接收裝置所對應(yīng)的接收者的密文的優(yōu)點。
接下來,對密文接收裝置301~303進行說明。
密文接收裝置301~303的功能塊的結(jié)構(gòu)也與實施方式1中說明的部分相同,所以使用圖6,對與實施方式1不同的部分進行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個密鑰密文C,取得對應(yīng)于自身所對應(yīng)的接收者的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
例如,一個密鑰密文C如圖11所示,是按照(C11|C21|C31|CC1|C12|C22|C32|CC2|…|C1n|C2n|C3n|CCn)這樣的順序結(jié)合密文而得到的密文。
密文分解部346例如將一個密鑰密文C按照每個第一密文~密文驗證文的位長度之和進行分割,而設(shè)為(C11|C21|C31|CC1)、(C12|C22|C32|CC2)、…、(C1n|C2n|C3n|CCn),從其中取得與自己對應(yīng)的對應(yīng)密文(C1ID|C2ID|C3ID|CCID)。
密文分解部346例如根據(jù)密文接收部351接收到的通知數(shù)據(jù)720的其它部分,判斷與自己對應(yīng)的對應(yīng)密文是第幾個,并根據(jù)判斷結(jié)果,取得對應(yīng)密文。
接下來,密文分解部346分割所取得的對應(yīng)密文(C1ID|C2ID|C3ID|CCID),取得驗證結(jié)合密文(C1ID|C2ID|C3ID)、以及對應(yīng)密文驗證文CCID。
而且,密文分解部346分割所取得的驗證結(jié)合密文(C1ID|C2ID|C3ID),取得對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID。
密文分解部346輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
另外,在該例子中,為了省去驗證哈希值計算部344生成驗證結(jié)合密文(C1ID|C2ID|C3ID)的工作,密文分解部346使用CPU 911等處理裝置,還一并輸出所取得的驗證結(jié)合密文(C1ID|C2ID|C3ID)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID。
驗證哈希值計算部344使用CPU 911等處理裝置,結(jié)合所輸入的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID,生成驗證結(jié)合密文(C1ID|C2ID|C3ID)。另外,結(jié)合的順序只要與密文生成裝置200的哈希值計算部244生成結(jié)合密文時的順序相同,則也可以是與它不同的順序。
另外,在如上述例子那樣,在密文分解部346輸出驗證結(jié)合密文(C1ID|C2ID|C3ID)的情況下,驗證哈希值計算部344也可以代替生成驗證結(jié)合密文(C1ID|C2ID|C3ID),而輸入密文分解部346所輸出的驗證結(jié)合密文(C1ID|C2ID|C3ID)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成或輸入的驗證結(jié)合密文(C1ID|C2ID|C3ID),計算出將驗證結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進行變換后的自然數(shù)β’,并設(shè)為哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出表示所計算出的自然數(shù)β’的信息。
密文驗證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)、秘密密鑰存儲部323存儲的秘密密鑰dID、密文分解部346輸出的對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID和對應(yīng)密文驗證文CCID、以及表示驗證哈希值計算部344輸出的自然數(shù)β’的信息。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,3、以及輸入的信息所表示的自然數(shù)β’,計算出乘法群G2的要素hID,3的β’乘方即乘法群G2的要素hID,3^β’。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,2、以及計算出的乘法群G2的要素hID,3^β’,計算出乘法群G2的要素hID,2與乘法群G2的要素hID,3^β’之積即乘法群G2的要素hID,2·hID,3^β’。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的對應(yīng)第二密文C 2ID所表示的乘法群G1的要素uID、以及計算出的乘法群G2的要素hID,2·hID,3^β’,計算出乘法群G1的要素uID與乘法群G2的要素hID,2·hID,3^β’的配對值即乘法群GT的要素e(uID,hID,2·hID,3^β’)。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的秘密密鑰dID所表示的整數(shù)rID,2與整數(shù)rID,3、以及輸入的信息所表示的自然數(shù)β’,計算出整數(shù)rID,3和自然數(shù)β’的積、與整數(shù)rID,2之和即整數(shù)rID,2+rID,3·β’。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的對應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及計算出的整數(shù)rID,2+rID,3·β’,計算出乘法群GT的要素vID的rID,2+rID,3·β’乘方即乘法群GT的要素vID^(rID,2+rID,3·β’)。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(uID,hID,2·hID,3^β’)、以及計算出的乘法群GT的要素vID^(rID,2+rID,3·β’),計算出乘法群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·β’)。
密文驗證部345使用CPU 911等處理裝置,將輸入的對應(yīng)密文驗證文CCID所表示的乘法群GT的要素yID、與計算出的乘法群GT的要素y’進行比較,在乘法群GT的要素yID與計算出的乘法群GT的要素y’一致的情況下,判定為密文接收部351輸入的一個密鑰密文C中有匹配性,在不一致的情況下,判定為密文接收部351輸入的一個密鑰密文C中無匹配性。
此處,密文生成裝置200的密文驗證文生成部245計算出的乘法群GT的要素yi是yi=e(g,h2)^si·e(g,h3)^(si·βi)。
另外,密文生成裝置200的第二密文生成部242計算出的乘法群G1的要素ui是ui=(g1·g^(-IDi))^si,關(guān)于密碼參數(shù)生成裝置100的公開參數(shù)生成部113計算出的乘法群G1的要素g1,由于g1=g^α,所以ui=g^(si·(α-IDi))。
另外,密文生成裝置200的第三密文生成部243計算出的乘法群GT的要素vi是vi=e(g,g 2)^si。
另一方面,密文驗證文生成部245計算出的乘法群GT的要素y’是y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’)。由配對e的雙線性,是y’=e(uID,hID,2)·e(uID,hID,3)^β’·vID^(rID,2+rID,3·β’)。
另外,關(guān)于密碼參數(shù)生成裝置100的秘密密鑰生成部132計算出的乘法群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·β’)。如果一個密鑰密文C中有匹配性,則β’=βID,所以成為y’=y(tǒng)ID。
在密文驗證部345判定為密文接收部351輸入的一個密鑰密文C中有匹配性的情況下,密文解密部341為了還原明文M,進行以下處理。
密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)、秘密密鑰存儲部323存儲的秘密密鑰dID、以及密文分解部346輸出的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID和對應(yīng)第三密文C3ID。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的秘密密鑰dID所表示的乘法群G2的要素hID,1、以及輸入的對應(yīng)第二密文C2ID所表示的乘法群G1的要素uID,計算出乘法群G1的要素uID與乘法群G2的要素hID,1的配對值即乘法群GT的要素e(uID,hID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的秘密密鑰dID所表示的整數(shù)rID,1、以及輸入的對應(yīng)第三密文C3ID所表示的乘法群GT的要素vID,計算出乘法群GT的要素vID的rID,1乘方即乘法群GT的要素vID^rID,1。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(uID,hID,1)、以及計算出的乘法群GT的要素vID^rID,1,計算出乘法群GT的要素e(uID,hID,1)與乘法群GT的要素vID^rID,1之積即乘法群GT的要素e(uID,hID,1)·vID^rID,1。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計算出的乘法群GT的要素e(uID,hID,1)·vID^rID,1,計算出將乘法群GT的要素e(uID,hID,1)·vID^rID,1通過密鑰生成函數(shù)KDF進行變換后的規(guī)定長度的位串即密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的對應(yīng)第一密文C1ID、以及計算出的密鑰位串k’,生成將對應(yīng)第一密文C1ID利用密鑰位串k’解密而得到的位串。
此處,密文生成裝置200的第一密文生成部241計算出的密鑰位串ki是ki=KDF(e(g,h1)^si)。
另一方面,密文解密部341計算出的密鑰位串k’是k’=KDF(e(uID,hID,1)·vID^rID,1)。
另外,密碼參數(shù)生成裝置100的秘密密鑰生成部132計算出的乘法群G2的要素hID,1是hID,1=(h1·g2^(-rID,1))^(1/(α-ID))。
因此,k’=KDF(e(g,h1)^sID),所以成為k’=kID。
密文解密部341利用與密文生成裝置200的第一密文生成部241對明文M進行加密而得到的密鑰位串相同的密鑰位串k’,對對應(yīng)第一密文C1ID進行解密,所以可以還原明文M。
接下來,對動作進行說明。
圖12是示出本實施方式中的對比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的參數(shù)設(shè)定處理的工序共同的工序,附加同一標(biāo)號。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息存儲部121使用磁盤裝置920等存儲裝置,存儲表示秘密信息生成部112生成的整數(shù)α的信息。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群GT與自然數(shù)r,決定密鑰生成函數(shù)KDF與哈希函數(shù)HF。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1與乘法群G2,隨機地選擇乘法群G1的要素g和乘法群G2的四個要素g2、h1、h2、h3。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1、在秘密信息生成工序S11中秘密信息生成部112生成的整數(shù)α、以及選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α。
參數(shù)存儲部122使用磁盤裝置920等存儲裝置,將表示群參數(shù)存儲部111存儲的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、選擇的乘法群G1的要素g、計算出的乘法群G1的要素g1、以及選擇的乘法群G2的四個要素g2、h1、h2、h3的信息,存儲為公開密碼參數(shù)。
在密碼參數(shù)公開工序S13中,公開參數(shù)公開部114使用CPU 911等處理裝置,將表示群參數(shù)存儲部111存儲的群參數(shù)、公開參數(shù)生成部113決定的密鑰生成函數(shù)KDF和哈希函數(shù)HF、公開參數(shù)生成部113選擇的乘法群G1的要素g和乘法群G2的四個要素g2、h1、h2、h3、以及公開參數(shù)生成部113計算出的乘法群G1的要素g1的信息,作為公開密碼參數(shù)進行公開。
關(guān)于公開參數(shù)公開部114公開的公開密碼參數(shù),由密文生成裝置200以及密文接收裝置301~303取得,并由密碼參數(shù)存儲部210以及公開參數(shù)存儲部310使用磁盤裝置920等存儲裝置進行存儲。
圖13是示出本實施方式中的對比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的秘密密鑰設(shè)定處理的工序共同的工序,附加同一標(biāo)號。
在識別輸入工序S21中,識別信息輸入部131使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識別信息。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的三個整數(shù)rID,1、rID,2、rID,3。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲部122存儲的公開密碼參數(shù)所表示的乘法群G2、乘法群G2的三個要素h1、h2、h3、以及生成的三個整數(shù)rID,1、rID,2、rID,3,計算出乘法群G2的三個要素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生成的三個整數(shù)rID,1、rID,2、rID,3、以及在秘密密鑰生成工序S22中秘密密鑰生成部132計算出的乘法群G2的三個要素hID,1、hID,2、hID,3的信息作為秘密密鑰dID,秘密地通知給所對應(yīng)的密文接收裝置。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由對應(yīng)的密文接收裝置取得,并由秘密密鑰存儲部323使用磁盤裝置920等存儲裝置進行存儲。
圖14是示出本實施方式中的對比例子即密文生成裝置200生成密文的密文生成處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號。
在接收者識別輸入工序S32中,接收者識別輸入部232使用CPU911等處理裝置,作為分別識別n個接收者的n個接收者識別信息,而輸入與n個接收者分別對應(yīng)的n個整數(shù)IDi。
在隨機數(shù)生成工序S34中,隨機數(shù)生成部222使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者分別對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群GT、配對e、乘法群G1的要素g、乘法群G2的要素h1和密鑰生成函數(shù)KDF、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的n個密鑰位串ki=KDF(e(g,h1)^si)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)在對話密鑰生成工序S33中對話密鑰生成部221生成的對話密鑰K(=明文M)、以及計算出的與n個接收者分別對應(yīng)的n個密鑰位串ki,利用與n個接收者分別對應(yīng)的n個密鑰位串ki對一個對話密鑰K分別進行加密,而生成與n個接收者分別對應(yīng)的n個第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1、乘法群G1的要素g和乘法群G1的要素g1、在接收者識別輸入工序S32中接收者識別輸入部232輸入的與n個接收者分別對應(yīng)的n個整數(shù)IDi、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的、乘法群G1的n個要素ui=(g1·g^(-IDi))^si。
第二密文生成部242使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的、乘法群G1的n個要素ui的位串,設(shè)為與n個接收者分別對應(yīng)的n個第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群GT、配對e、乘法群G1的要素g和乘法群G2的要素g2、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的、乘法群GT的n個要素vi=e(g,g2)^si。
第三密文生成部243使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的、乘法群GT的n個要素vi的位串,設(shè)為與n個接收者分別對應(yīng)的n個第三密文C3i。
在哈希值計算工序S38中,哈希值計算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個接收者分別對應(yīng)的n個第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個接收者分別對應(yīng)的n個第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個接收者分別對應(yīng)的n個第三密文C3i,生成將與n個接收者分別對應(yīng)的n個第一密文C1i、與n個接收者分別對應(yīng)的n個第二密文C2i、以及與n個接收者分別對應(yīng)的n個第三密文C3i分別結(jié)合而得到的與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i)。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i),計算出將與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i)分別通過哈希函數(shù)HF進行變換后的與n個接收者分別對應(yīng)的n個整數(shù)βi=HF(C1i|C2i|C3i)。
在密文驗證文生成工序S39中,密文驗證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群GT、配對e、乘法群G1的要素g和乘法群G2的兩個要素h2、h3、在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si、以及在哈希值計算工序S38中哈希值計算部244計算出的與n個接收者分別對應(yīng)的n個整數(shù)βi,計算出與n個接收者分別對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·βi)。
密文驗證文生成部245使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群GT的n個要素yi的位串,設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi。
圖15是示出本實施方式中的對比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,根據(jù)在通知數(shù)據(jù)接收工序中密文接收部351輸出的一個密鑰密文C,取得對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID、一個對應(yīng)第三密文C3ID、以及一個對應(yīng)密文驗證文CCID。
在驗證哈希值計算工序S53中,驗證哈希值計算部344使用CPU911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及將在密文分解工序S52中密文分解部346取得的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID以及一個對應(yīng)第三密文C3ID結(jié)合而得到的一個對應(yīng)結(jié)合密文(C1ID|C2ID|C3ID),計算出將一個對應(yīng)結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進行變換后的一個整數(shù)β’,而作為驗證哈希值H’。
在密文驗證工序S54中,密文驗證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的乘法群GT和配對e、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的兩個整數(shù)rID,2、rID,3和乘法群G2的兩個要素hID,2、hID,3、在密文分解工序S52中密文分解部346取得的一個驗證第二密文C2ID所表示的乘法群G1的一個要素uID和一個驗證第三密文C3ID所表示的乘法群GT的一個要素vID、以及在驗證哈希值計算工序S53中驗證哈希值計算部344計算出的一個整數(shù)β’,計算出乘法群GT的一個要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’)。
密文驗證部345使用CPU 911等處理裝置,對在密文分解工序S52中密文分解部346取得的一個對應(yīng)密文驗證文CCID所表示的乘法群GT的一個要素yID、與計算出的乘法群GT的一個要素y’進行比較。
在乘法群GT的要素yID與乘法群GT的要素y’相等的情況下,密文驗證部345判定為密文接收部351接收到的一個密鑰密文C中有匹配性,并進入密文解密工序S55。
在乘法群GT的要素yID與乘法群GT的要素y’不相等的情況下,密文驗證部345判定為密文接收部351接收到的一個密鑰密文C中無匹配性,并結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的乘法群GT、配對e和密鑰生成函數(shù)KDF、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、以及在密文分解工序S52中密文分解部346取得的一個對應(yīng)第二密文C2ID所表示的乘法群G1的一個要素uID和一個對應(yīng)第三密文C3ID所表示的乘法群GT的一個要素vID,計算出一個密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1)。
密文解密部341使用CPU 911等處理裝置,根據(jù)在密文分解工序S52中密文分解部346取得的一個對應(yīng)第一密文C1ID、以及計算出的一個密鑰位串k’,利用密鑰位串k’對對應(yīng)第一密文C1ID進行解密,生成規(guī)定長度的位串,并設(shè)為對話密鑰K’(=明文M)。
如上所述,密文解密部341生成的對話密鑰K’成為與密文生成裝置200的對話密鑰生成部221生成的對話密鑰K相同的位串。
接下來,對本實施方式中的對比例子即基于ID的密碼通信系統(tǒng)所使用的基于ID的密碼方式的安全性進行討論。
另外,在以下證明中,為了簡單而將乘法群G1與乘法群G2設(shè)為同一乘法群G。
首先,作為本實施方式中的對比例子即基于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’q+2、g、g1、…、gq、以及乘法群GT的一個要素Z。另外,對于解答者B,作為秘密的信息,有1以上且小于乘法群G的階數(shù)的整數(shù)α。
乘法群G的要素g以及g’是隨機地選擇的乘法群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對判別乘法群G的要素gq+1=g^(α^(q+1))和乘法群G的要素g’的配對值即乘法群GT的要素e(gq+1,g’)是否與所提供的乘法群GT的要素Z相等的問題進行回答。
實際上將Z=e(gq+1,g’)的分布設(shè)為P,將Z是隨機地選擇的乘法群GT的要素的分布設(shè)為R。
將解答者B的優(yōu)勢定義為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”表示實際上是Z=e(gq+1,g’)的事件,“I←R”表示Z是隨機地選擇的乘法群GT的要素的事件。即,Advq-d-tabdhek、G,G T(B)是在實際上Z=e(gq+1,g’)的情況下解答者B判斷為Z=e(gq+1,g’)(即,解答者B的判斷正確)的概率、與在Z為隨機地選擇的乘法群GT的要素的情況下解答者B判斷為Z=e(gq+1,g’)(即,解答者B的判斷錯誤)的概率之差的絕對值。
另外,設(shè)為Advq-d-tabdhek、G,GT(t)=max(Advq-d-tabdhek、G,GT(B))。這表示在時間t的期間解答的解答者B中的、具有最高優(yōu)勢的解答者的優(yōu)勢。
在Advq-d-tabdhek、G,G T(t)≤ε時,在(G,GT)中(t,ε,q)-D-tABDHE假設(shè)(或者、簡稱為“q-D-tABDHE假設(shè)”)成立。
首先,證明成為本實施方式中的對比例子即多個接收者的基于ID的密碼方式∏’的基礎(chǔ)的單獨接收者的基于ID的密碼方式∏的MU-IND-ID-CCA2安全性。
攻擊者A設(shè)為具有針對密碼方式∏的優(yōu)勢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的不同點在于,攻擊者A攻擊的對象不是密碼系統(tǒng)∏,而是由解答者B模擬的加密oracle OE、密鑰導(dǎo)出oracle OX、解密oracle OD。
首先,解答者B如下所述,模擬PKG用密鑰生成功能S。
解答者B隨機地生成1以上且小于乘法群G的階數(shù)r的整數(shù)α。
解答者B生成具有0以上且小于r的隨機的整數(shù)系數(shù)的三個q次多項式fj(x)(j是1以上3以下的整數(shù))。
解答者B隨機地生成密鑰生成函數(shù)KDF和不易沖突的哈希函數(shù)HF。
解答者B隨機地選擇乘法群G的要素g。
解答者B計算出乘法群G的要素g1=g^α。
解答者B計算出乘法群G的三個要素h1=g^f1(α)、h2=g^f2(α)、h3=g^f3(α)。
解答者B隨機地生成1以上且小于r的整數(shù)s0。
解答者B計算出乘法群G的要素g’=g^s0。
解答者B輸出共用參數(shù)params=(g,g1,h1,h2,h3,KDF,HF)。
此處,由于g、α、fj(x)、s0是隨機的,所以共用參數(shù)params的分布成為與實際的PKG用密鑰生成功能S相同的分布。另外,解答者B如下所述,模擬密鑰導(dǎo)出oracle OX。
解答者B在輸入的用戶的識別信息ID(作為整數(shù)進行處理)與整數(shù)α相等的情況下,進行拒絕。這在實際的密碼系統(tǒng)∏中也同樣。
在ID≠α的情況下,解答者B計算出三個整數(shù)rID,j=fj(ID)(j是1以上3以下的整數(shù))。
解答者B計算出(q-1)次多項式FID,j(x)=(fj(x)-fj(ID))/(x-ID)。
解答者B計算出乘法群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)系成為與實際的密碼系統(tǒng)∏相同的關(guān)系。
另外,解答者B如下所述模擬解密oracle OD。
解答者B通過上述過程模擬密鑰導(dǎo)出oracle OX,而生成秘密密鑰dID。
解答者B根據(jù)生成的秘密密鑰dID,通過與實際的密碼系統(tǒng)∏相同的過程,對密文C進行解密。
并且,解答者B如下所述模擬加密oracle OE。
解答者B在輸入的用戶的識別信息ID*與整數(shù)α相等的情況下,通過與實際的密碼系統(tǒng)∏相同的過程,生成密文C。
在ID*≠α的情況下,解答者B通過上述的過程模擬密鑰導(dǎo)出oracle OX,生成秘密密鑰dID*=(rID*,1,rID*,2,rID*,3,hID*,1,hID*,2,hID*,3)。
解答者B計算出乘法群GT的要素Z=e(g,g’)^(α^(q+1))。
解答者B根據(jù)(q+2)次多項式φ(x)=x^(q+2),計算出(q+1)次多項式ΦID*(x)=(φ(x)-φ(ID*))/(x-ID*)。將計算出的(q+1)次多項式ΦID*(x)的τ次系數(shù)(τ是0以上q以下的整數(shù))設(shè)為ΦID*,τ。
解答者B隨機地生成1以上且小于r的整數(shù)s’*。
解答者B計算出乘法群G的要素u*=(g’^(φ(α)-φ(ID*))^s’*。
解答者B計算出乘法群GT的要素v*=(Z·e(g’,∏(g^(ΦID*,τ·α^τ)))^s’*。
解答者B計算出密鑰位串k*=KDF(e(u*,hID*,1)·v*^rID*,1)。
解答者B利用密鑰位串k*,對所選擇的消息進行加密。
解答者B結(jié)合表示所加密的消息的位串(第一密文C1)、表示乘法群G的要素u*的位串(第二密文C2)、以及表示乘法群G的要素v*的位串(第三密文C3),通過哈希函數(shù)HF計算出哈希值β*。
解答者B計算出乘法群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*=g^(s*·(α-ID*))=(g1·g^(-ID*))^s*。
另外,由于∏(g^(ΦID,τ·α^τ))=g^∑(ΦID,τ·α^τ)=g^(ΦID(α)-α^(q+1)),所以從配對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)系也成為與實際的密碼系統(tǒng)∏相同的關(guān)系。
另外,由于s*針對加密oracle OE的每次調(diào)用是獨立隨機的,所以密文的分布也具有與實際的密碼系統(tǒng)∏相同的分布。
并且,由于q=qx+n+1,密鑰導(dǎo)出oracle OX、加密oracleOE、解密oracle OD中使用的{fj(ID)}以及{fj(α)}全部是獨立隨機的,由解答者B進行的模擬是完整的。
因此,游戲G1中的攻擊者A的優(yōu)勢與游戲G0中的優(yōu)勢相同,Pr[T1]=Pr[T0]。
游戲G2是將游戲G1如下所述變更而得到的游戲。
在加密oracle OE的模擬中,解答者B代替計算乘法群GT的要素Z=e(g,g’)^(α^q+1)),而通過以下過程,預(yù)先(例如在PKG用密鑰生成功能S的模擬時)計算出Z。
解答者B隨機地生成1以上且小于乘法群G的階數(shù)r的整數(shù)z。其中,設(shè)為z≠α^(q+1)。
解答者B計算出乘法群GT的要素Z=e(g,g’)^z。
如果在游戲G1中的攻擊者A的舉動、與游戲G2中的攻擊者A的舉動之間存在某些差異,則解答者B可以通過判別該差異,來判斷是否為Z=e(g,g’)^(α^(q+1))。
因此,解答者B考慮利用在所提供的q-D-tABDHE問題中提供的參數(shù)來進行oracle的模擬的情況。
解答者B在所提供的q-D-tABDHE問題中,代替不知道未被解答者B知道的秘密的整數(shù)α,而知道乘法群G的q+3個要素g’、g’q+2、g、g1、…、gq,所以可以利用它來進行模擬。
即,解答者B將在q-D-tABDHE問題中提供的乘法群G的要素g設(shè)為在PKG用密鑰生成功能S的模擬中選擇的乘法群G的要素g。
另外,解答者B代替隨機地生成整數(shù)s0,而將在q-D-tABDHE問題中提供的乘法群G的要素g’設(shè)為在PKG用密鑰生成功能S的模擬中計算出的乘法群G的要素g’(=g^s0)。
在將q次多項式fj(x)的τ次系數(shù)設(shè)為fj,τ(τ是0以上且q以下的整數(shù))時,乘法群G的要素h1是h1=g^fj(α)=∏(g^(fj,τ·α^τ))=∏(gτ^fj,τ),所以解答者B即使不知道α,也可以計算出乘法群G的要素h1。關(guān)于h2、h3也相同。
因此,解答者B即使不知道α,也可以模擬PKG用密鑰生成功能S。
同樣地,解答者B即使不知道α,也可以模擬密鑰導(dǎo)出oracle OX以及解密oracle OD。另外,解答者B除了乘法群GT的要素Z的計算以外,還可以模擬加密oracle OE。
解答者B將在q-D-tABDHE問題中提供的乘法群GT的要素Z用作乘法群GT的要素Z,而對加密oracle OE進行模擬。
如果Z=(g,g’)^(α^(q+1)),則解答者B進行游戲G1。
如果Z≠(g,g’)^(α^(q+1)),則解答者B進行游戲G2。
解答者B根據(jù)游戲內(nèi)的攻擊者A的舉動的差異來對其進行判別,判斷是否為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中的冪乘所需的時間)成立。
游戲G3是將游戲G2如下所述變更而得到的游戲。
解答者B在PKG用密鑰生成功能S的模擬中,并非使用隨機地生成的q次多項式fj(x)來計算乘法群G的要素h1、h2、h3,而是隨機地選擇乘法群G的要素h1、h2、h3。
另外,在密鑰導(dǎo)出oracle OX的模擬中,解答者B針對ID,隨機地生成整數(shù)rID,j,計算出乘法群G的要素hID,1=(h1·g^(-rID,j))^(1/(α-I D)。關(guān)于hID,2、hID,3也相同。
解答者B通過以下過程對加密oracle OE進行模擬。
解答者B計算出整數(shù)z’*=(z-α^(q+1))/ΦID*(α)。
解答者B隨機地生成1以上且小于乘法群G的階數(shù)r的整數(shù)s*。
解答者B計算出乘法群G的要素u*=g^(s*·(α-ID*))。
解答者B計算出乘法群GT的要素v*=e(g,g)^(s*·(1+z’*))。
解答者B計算出密鑰位串k=KDF(e(g,h1·g^(z’*·rID,1)^s*)。
解答者B計算出乘法群GT的要素y*=e(g,h2·h3^β*)^s*·e(g,g)^(s*·z’*·(rID*,2+rID*,3·β*))。
上述以外的部分與游戲G2相同。
從攻擊者A觀察時,游戲G2與游戲G3看起來相同,所以Pr[T3]=Pr[T2]。
游戲G4是將游戲G3如下所述變更而得到的游戲。
在解密oracle OD的模擬中,解答者B判定v=e(u,g)^(1/(α-ID)以及y=e(u,h2·h3^β)是否成立,如果不成立則返回“拒絕”。
在成立的情況下,解答者B計算出密鑰位串k’=KDF(e(u,h1)^(1/(α-ID))),對消息進行解密。
這樣,解答者B在密文的匹配性判定以及密鑰位串k’的生成中,不使用秘密密鑰dID,而使用整數(shù)α。
在密文的匹配性判定中,在實際的密碼系統(tǒng)∏中,判定是否為y=e(u,hID,2·hID,3^β)·v^(rID,2+rID,3·β)。
由于判定方法不同,所以有時拒絕在實際的密碼系統(tǒng)∏中不會拒絕的密文。將該事件設(shè)為R4時,|Pr[T4]-Pr[T3]|≤Pr[R4]。
游戲G5是將游戲G4如下所述變更而得到的游戲。
在加密oracle OE中,解答者B隨機地生成1以上且小于乘法群G的階數(shù)r的整數(shù)r*。
解答者B計算出密鑰位串k*=KDF(e(g,g)^r*)。
解答者B與加密oracle OE輸入的消息M0*、M1*無關(guān)地,將計算出的密鑰位串k*原樣地設(shè)為加密的消息。
由于加密oracle OE的輸出與b、M0*、M1*獨立,所以攻擊者A沒有優(yōu)勢。因此,Pr[T5]=1/2。
如游戲G4的說明中所述,在解密oracle OD的模擬中,解答者B不使用整數(shù)rID,1。rID*,1被初次(且唯一)使用時是在ID*被輸入到加密oracle OE中的時候。
因此,在首先隨機地生成rID*,1并與其匹配地計算出r*時、和首先隨機地生成r*并與其匹配地計算出rID*,1的情況下,當(dāng)(g,h1,z,*,s*,M*)被固定時,相對于(r*,rID*,1)提供相同的分布。
因此,從攻擊者A觀察時,游戲G4與游戲G5看起來相同。
另外,由于在該加密oracle OE的模擬內(nèi)以外不參照rID*,1,所以無需根據(jù)r*進行計算。
如上所述,Pr[T4]=Pr[T5]=1/2、Pr[R4]=Pr[R5]成立。另外,R5表示在游戲G5中拒絕在實際的密碼系統(tǒng)∏中不會拒絕的密文的事件。
游戲G6是將游戲G5如下所述變更而得到的游戲。
在第i個加密oracle OE的模擬中,解答者B將輸入的ID*、生成的密文C*、以及計算出的哈希值β*的組his*i=(ID*i,C*i,β*i)保持在列表Clist中。
在解密oracle OD的模擬中,解答者B在密文的匹配性判定之前,進行以下判定。
解答者B判定在保持的列表Clist中是否有ID*i與輸入的ID相等、并且β*i與根據(jù)輸入的密文C計算出的β相等的his*i。
在有相等的his*i情況下,解答者B對包含在該his*i中的密文C*i中(除了密文驗證文CC*i)的相當(dāng)于密文主文CB*i的部分、與輸入的密文C中(除了密文驗證文CC)的相當(dāng)于密文主文CB的部分進行比較,如果不相等,則返回“拒絕”。
將密文通過該判定而被拒絕的事件設(shè)為C6。另外,在實際的密碼系統(tǒng)∏中,將在該判定中未被拒絕的密文在游戲G4中變更了的判定方法中被拒絕的事件設(shè)為R6時,|Pr[R6]-Pr[R5]|≤Pr[C6]。
此處,事件C6是雖然成為哈希值計算的基礎(chǔ)的位串不同但哈希值β相等的情況,所以Pr[C6]≤AdvcrH(t2)。另外,AdvcrH(t2)表示哈希函數(shù)HF的不易沖突性優(yōu)勢。
另外,為了使事件R6成立,需要針對不是0的z’,將成為y=e(g,h2·h3^β)^s·e(g,g)^(s·z’·(rID,2+rID,3·β))的y輸入給解密oracle OD。(rID,2,rID,3)相對各ID是隨機的,所以在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。
本實施方式中的對比例子即基于ID的密碼方式∏’是將以上說明的單獨接收者的密碼方式∏通過連接方式擴展為多個接收者的方式。
如實施方式1所述,通過連接方式擴展為多個接收者的密碼方式的SMMR安全性由于是Advsmmrn,∏’,Γ(t,qd,qx)≤Advmun,∏,Γ(t,1,qd,qx),所以本實施方式中的對比例子即基于ID的密碼方式的SMMR的安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤Advq-d-tabdhek,G,GT(t1)+AdvcrH(t2)+(qd+3)/r。
與此相對,將一般的單獨接收者密碼方式通過連接方式擴展為多個接收者時的SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx),所以在表示與數(shù)學(xué)上的問題的優(yōu)勢之間的關(guān)系的不等式中出現(xiàn)接收者數(shù)n。
即,本實施方式中的對比例子即基于ID的密碼方式與一般的情況相比,SMMR安全性緊密地歸結(jié)于數(shù)學(xué)上的問題(歸結(jié)效率良好)。
這樣,本實施方式中的對比例子即基于ID的密碼方式可以實現(xiàn)更良好的安全性證明。
接下來,對本實施方式中的基于ID的密碼通信系統(tǒng)800進行說明。
本實施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)以及密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與對比例子中說明的部分相同,所以此處省略說明。
本實施方式中的基于ID的密碼通信系統(tǒng)800是將對比例子中說明的基于多個接收者ID的密碼方式通過哈希值共用化進行高效化而得到的。
首先,對密文生成裝置200進行說明。
密文生成裝置200的塊結(jié)構(gòu)由于與對比例子中說明的部分相同,所以使用圖4,對與對比例子不同的部分進行說明。
哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
哈希值計算部244使用CPU 911等處理裝置,作為密文主文生成部240輸出的n個密文主文CBi,輸入第一密文生成部241輸出的n個第一密文C1i、第二密文生成部242輸出的n個第二密文C2i、以及第三密文生成部243輸出的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,將輸入的n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i全部結(jié)合,而生成一個結(jié)合密文。
另外,哈希值計算部244也可以作為n個密文主文CBi(的一部分)而還輸入接收者識別輸入部232輸出的n個接收者識別信息IDi,并將輸入的n個接收者識別信息IDi、n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i全部結(jié)合,生成一個結(jié)合密文。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個結(jié)合密文,計算出將一個結(jié)合密文通過哈希函數(shù)HF進行變換后的自然數(shù)β0,并設(shè)為一個哈希值H0。
哈希值計算部244使用CPU 911等處理裝置,輸出表示所計算出的一個自然數(shù)β0的信息、以及生成的一個結(jié)合密文。
密文驗證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及表示哈希值計算部244輸出的一個自然數(shù)β0的信息。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素h2,計算出乘法群G1的要素g與乘法群G2的要素h2的配對值即乘法群GT的要素e(g,h2)。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g、以及乘法群G2的要素h3,計算出乘法群G1的要素g與乘法群G2的要素h3的配對值即乘法群GT的要素e(g,h3)。
另外,乘法群GT的要素e(g,h2)以及乘法群GT的要素e(g,h3)由于與整數(shù)si無關(guān)而是恒定的,所以也可以事先計算出并使用磁盤裝置920等存儲裝置進行存儲。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的一個自然數(shù)β0、以及計算出的乘法群GT的要素e(g,h3),計算出乘法群GT的要素e(g,h3)的β0乘方即乘法群GT的一個要素e(g,h3)^β0。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(g,h2)、以及計算出的乘法群GT的一個要素e(g,h3)^β0,計算出乘法群GT的要素e(g,h2)與乘法群GT的要素e(g,h3)^β0之積即乘法群GT的一個要素e(g,h2)·e(g,h3)^β0。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群GT的一個要素e(g,h2)·e(g,h3)^β0,計算出乘法群GT的要素e(g,h2)·e(g,h3)^β0的si乘方即乘法群GT的n個要素yi=(e(g,h2)·e(g,h3)^β0)^si(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群GT的n個要素yi的n個位串,而作為n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計算部244輸出的一個結(jié)合密文、以及密文驗證文生成部245輸出的n個密文驗證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的一個結(jié)合密文和輸入的n個密文驗證文全部結(jié)合,而生成一個密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個密鑰密文C。
圖16是示出本實施方式中的在密文生成裝置200中交換的信息的流程的一個例子的圖。
接收者識別輸入部232輸入n個接收者識別信息ID1、ID2、…、IDn。
隨機數(shù)生成部222生成與接收者識別輸入部232輸入的接收者識別信息ID1、ID2、…、IDn的數(shù)量相同數(shù)量的n個整數(shù)s1、s2、…、sn。
第一密文生成部241根據(jù)明文M與整數(shù)s1生成第一密文C11,根據(jù)明文M與整數(shù)s2生成第一密文C12,…,根據(jù)明文M與整數(shù)sn生成第一密文C1n。
第二密文生成部242根據(jù)接收者識別信息ID1與整數(shù)s1生成第二密文C21,根據(jù)接收者識別信息ID2與整數(shù)s2生成第二密文C22,…,根據(jù)接收者識別信息IDn與整數(shù)sn生成第二密文C2n。
第三密文生成部243根據(jù)整數(shù)s1生成第三密文C31,根據(jù)整數(shù)s2生成第三密文C32,…,根據(jù)整數(shù)sn生成第三密文C3n。
到此為止的流程與對比例子相同。
哈希值計算部244將第一密文C11、第二密文C21、第三密文C31、第一密文C12、第二密文C22、第三密文C32、…、第一密文C1n、第二密文C2n、以及第三密文C3n全部結(jié)合而生成一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。另外,結(jié)合的順序也可以是與它不同的順序。
哈希值計算部244根據(jù)生成的一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出一個哈希值H0。
密文驗證文生成部245根據(jù)整數(shù)s1與哈希值H0生成密文驗證文CC1,根據(jù)整數(shù)s2與哈希值H0生成密文驗證文CC2,…,根據(jù)整數(shù)sn與哈希值H0生成密文驗證文CCn。
密文結(jié)合部246將一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)、與密文驗證文CC1、密文驗證文CC2、…、以及密文驗證文CCn全部結(jié)合,而生成一個密鑰密文C=(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n|CC1|CC2|…|CCn)。
另外,在該例子中,由于將哈希值計算部244生成的結(jié)合密文原樣地利用,所以密文的結(jié)合順序與對比例子不同,但密文的結(jié)合順序不限于該順序。既可以是與對比例子中說明的順序相同的順序,也可以是其它順序。
接下來,對密文接收裝置301~303進行說明。
密文接收裝置301~303的塊結(jié)構(gòu)也與對比例子中說明的結(jié)構(gòu)相同,所以使用圖6,對與對比例子不同的部分進行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個密鑰密文C,取得對應(yīng)于自身所對應(yīng)的接收者的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
例如,一個密鑰密文C是如圖16所示,按照(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n|CC1|CC2|…|CCn)這樣的順序結(jié)合密文而得到的。
密文分解部346例如將一個密鑰密文C分割為第一密文~第三密文的位長之和的n倍、和密文驗證文的位長的n倍,取得驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)、以及結(jié)合密文驗證文(CC1|CC2|…|CCn)。
密文分解部346將驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)進一步分割,而設(shè)為(C11|C21|C31)、(C12|C22|C32)、…、(C1n|C2n|C3n),從其中取得與自己對應(yīng)的對應(yīng)密文(C1ID|C2ID|C3ID)。
密文分解部346分割所取得的對應(yīng)密文(C1ID|C2ID|C3ID),取得對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID。
另外,密文分解部346分割所取得的結(jié)合密文驗證文(CC1|CC2|…|CCn)而設(shè)為CC1、CC2、…、CCn,并從其中取得與自己對應(yīng)的對應(yīng)密文驗證文CCID。
密文分解部346輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
另外,在該例子中,為了省略驗證哈希值計算部344生成驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)的工作,密文分解部346使用CPU 911等處理裝置,還一并輸出所取得的驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)?;蛘?,驗證哈希值計算部344也可以使用CPU 911等處理裝置來結(jié)合密文,生成驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及輸入或生成的驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希變換HF進行變換后的自然數(shù)β’,而設(shè)為哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出表示所計算出的自然數(shù)β’的信息。
接下來,對動作進行說明。
圖17是示出本實施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個例子的流程圖。
另外,對于與在對比例子中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號。
在哈希值計算工序S38中,哈希值計算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個接收者分別對應(yīng)的n個第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個接收者分別對應(yīng)的n個第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個接收者分別對應(yīng)的n個第三密文C3i,生成將與n個接收者分別對應(yīng)的n個第一密文C1i、與n個接收者分別對應(yīng)的n個第二密文C2i、以及與n個接收者分別對應(yīng)的n個第三密文C3i全部結(jié)合而得到的一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進行變換后的一個整數(shù)β0=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
在密文驗證文生成工序S39中,密文驗證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群GT、配對e、乘法群G1的要素g和乘法群G2的兩個要素h2、h3、在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個自然數(shù)si、以及在哈希值計算工序S38中哈希值計算部244計算出的一個整數(shù)β0,計算出與n個接收者分別對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·β0)。
密文驗證文生成部245使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群GT的n個要素yi的位串,設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi。
圖18是示出本實施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個例子的流程圖。
另外,對于與在對比例子中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號。
在驗證哈希值計算工序S53中,驗證哈希值計算部344使用CPU911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進行變換后的一個整數(shù)β’=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
上述說明以外的工序由于與在對比例子中說明的工序相同,所以此處省略說明。
如上所述,本實施方式中的基于ID的密碼通信系統(tǒng)800與對比例子中說明的基于ID的密碼通信系統(tǒng)800相比,雖然一個密鑰密文C的長度不變,但密文生成處理中所需的計算量減少,所以可以削減密碼通信的成本。
特別是在哈希值計算工序S38中,在對比例子中說明的方式的情況下,需要n次的哈希值計算,但在該方式的情況下,一次哈希值計算即可。
另外,在密文驗證文生成工序S39中,在對比例子中說明的方式的情況下,需要2n次的乘法群GT中的冪乘算和n次的乘法群GT中的乘算,但在該方式的情況下,進行(n+1)次的乘法群GT中的冪乘算和一次的乘法群GT中的乘算即可,在接收者的人數(shù)多的情況下,可以大幅削減計算量。
接下來,對本實施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性進行說明。
另外,在以下說明中,設(shè)為在密文主文CBi中包含有識別與其對應(yīng)的接收者的接收者識別信息IDi。
本實施方式中的基于ID的密碼方式的SMMR安全性的證明,可以通過與成為在對比例子中說明的ID密碼方式的基礎(chǔ)的單獨接收者的基于ID的密碼方式的MU安全性的證明并行的討論來證明。
此處,省略證明中的關(guān)于共用的部分的說明,說明不同的部分。
解密oracle OD’輸入用戶的識別信息ID、以及與針對該ID的(分節(jié)的)密文CID。
此處,(分節(jié)的)密文CID由n個密文主文CBi、表示在n個密文主文CBi中與該ID對應(yīng)的對應(yīng)密文主文CID是哪個的信息、以及對應(yīng)密文驗證文CCID構(gòu)成。
解密oracle OD’結(jié)合所輸入的n個密文主文CBi,生成驗證結(jié)合密文,計算出哈希值β’。
解密oracle OD’根據(jù)輸入的信息所表示的對應(yīng)密文主文CBID、輸入的對應(yīng)密文驗證文CCID、計算出的哈希值β’、以及通過密鑰導(dǎo)出功能X’生成的秘密密鑰dID,驗證密文。
在驗證失敗的情況下,解密oracle OD’返回“拒絕”。
在驗證成功的情況下,解密oracle OD’進行解密處理,返回所解密的消息。
游戲G6是將游戲G5如下所述變更而得到的游戲。
在加密oracle OE’的模擬中,解答者B保持所輸入的ID*=(ID*1,ID*2,…,ID*n)、生成的n個密文主文CB*=(CB*1,CB*2,…,CB*n)、以及計算出的哈希值β*0。
在解密oracle OD’的模擬中,解答者B判定所保持的β*0、與根據(jù)輸入的n個密文主文CBi計算出的哈希值β’是否相等。
在相等的情況下,解答者B判定在保持的ID*中是否有與輸入的ID相等的ID*i,在有與輸入的ID相等的ID*i的情況下,在保持的n個密文主文C B*之中,比較對應(yīng)于該ID*i的密文主文CB*i與輸入的信息所表示的對應(yīng)密文主文CBID,如果不相等則返回“拒絕”。
除了以上相異點,證明的主要部分的結(jié)構(gòu)沒變,所以本實施方式中的基于ID的密碼方式的SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤Advq-d-tabdhek,G,GT(t1)+AdvcrH(t2)+(qd+3)/r。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,可以通過緊密地歸結(jié)于數(shù)學(xué)上的問題的證明來證明SMMR-IND-ID-CCA2安全性,所以起到可以使用基于ID的密碼通信系統(tǒng)800來實現(xiàn)安全的密碼通信這樣的效果。
本實施方式中的密文生成裝置200將以下點作為特征。
密碼參數(shù)存儲部210的特征是,使用磁盤裝置920等存儲裝置,作為公開密碼參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e、根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)任意長度的位串計算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2、以及乘法群G2的要素h3的信息。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,作為n個接收者識別信息而輸入n個整數(shù)IDi。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對e、密鑰生成函數(shù)KDF、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),使用CPU 911等處理裝置,利用所計算出的n個密鑰位串ki對明文輸入部231輸入的明文M分別進行加密,設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、接收者識別輸入部232輸入的n個整數(shù)IDi、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計算出的乘法群G1的n個要素ui的位串設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對e、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群GT的n個要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),將分別表示所計算出的乘法群GT的要素vi的位串設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個自然數(shù)β0,而設(shè)為哈希值H0。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對e、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個自然數(shù)β0,計算出與n個接收者對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群GT的n個要素yi的位串設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
根據(jù)本實施方式中的密文生成裝置200,密碼處理中所需的資源較少也可以,起到如下效果可以實現(xiàn)利用了可以在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))將以下點作為特征。
密碼參數(shù)生成裝置100的特征是,還具有群參數(shù)存儲部111。
群參數(shù)存儲部111的特征是,使用磁盤裝置920等存儲裝置,作為群參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e的信息。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息存儲部121的特征是,使用磁盤裝置920等存儲裝置,存儲表示秘密信息生成部112生成的整數(shù)α的信息而作為秘密信息。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,決定根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、以及根據(jù)任意長度的位串計算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1與乘法群G2,隨機地選擇乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2以及乘法群G2的要素h3,使用CPU 911等處理裝置,根據(jù)秘密信息生成部112生成的秘密信息所表示的整數(shù)α、以及選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α,將表示群參數(shù)存儲部111存儲的群參數(shù)、所決定的密鑰生成函數(shù)KDF與哈希函數(shù)HF、所選擇的乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、以及計算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù)。
識別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入整數(shù)ID而作為接收者識別信息。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成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、秘密信息存儲部121存儲的整數(shù)α、識別信息輸入部131輸入的整數(shù)ID、以及生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3,計算出乘法群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、以及計算出的乘法群G2的要素hID,1、乘法群G2的要素hID,2和乘法群G2的要素hID,3的信息,設(shè)為秘密密鑰dID。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個整數(shù)IDi而作為n個接收者識別信息。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對e、密鑰生成函數(shù)KDF、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),使用CPU 911等處理裝置,利用所計算出的n個密鑰位串ki,對明文輸入部231輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、接收者識別輸入部232輸入的n個整數(shù)IDi、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對e、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群GT的n個要素vi=e(g,g 2)^si(i是1以上n以下的整數(shù)),將分別表示所計算出的乘法群GT的要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個自然數(shù)β0而設(shè)為哈希值H0。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對e、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個自然數(shù)β0,計算出與n個接收者對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群GT的n個要素yi的位串,設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
驗證哈希值計算部344的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出自然數(shù)β’,而設(shè)為驗證哈希值H’。
密文驗證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的整數(shù)rID,2、整數(shù)rID,3、乘法群G2的要素hID,2和乘法群G2的要素hID,3、密文分解部346取得的一個對應(yīng)第二密文C2ID所表示的乘法群G1的要素uID和一個對應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及驗證哈希值計算部344計算出的自然數(shù)β’,計算出乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’),使用CPU 911等處理裝置,對計算出的乘法群GT的要素y’、與密文分解部346取得的對應(yīng)密文驗證文CCID所表示的乘法群GT的要素yID進行比較,在乘法群GT的要素y’與乘法群GT的要素yID一致的情況下,判定為密文接收部351接收到的一個密文C(密鑰密文C)中有匹配性。
密文解密部341的特征是,在密文驗證部345判定為密文接收部351接收到的一個密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和密鑰生成函數(shù)KDF、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、上述密文分解部取得的一個對應(yīng)第二密文C2ID所表示的乘法群G1的要素uID、以及對應(yīng)第三密文C3ID所表示的乘法群G2的要素vID,計算出密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1),使用CPU 911等處理裝置,利用所計算出的密鑰位串k’,對密文分解部346取得的對應(yīng)第一密文C1ID進行解密,從而還原明文M。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,密碼處理中所需的資源較少也可以,起到如下效果可以實現(xiàn)利用了可以在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
實施方式3 使用圖18~圖24,對實施方式3進行說明。
在說明本實施方式中的基于ID的密碼通信系統(tǒng)800之前,首先,對作為對比例子的基于ID的密碼通信系統(tǒng)進行說明。
本實施方式中的對比例子即基于ID的密碼通信系統(tǒng)的整體結(jié)構(gòu)由于與實施方式1中說明的部分相同,所以此處省略說明。
最初,對密碼參數(shù)生成裝置100進行說明。
密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與實施方式1中說明的部分相同,所以使用圖4,對與實施方式1不同的部分進行說明。
群參數(shù)存儲部111使用磁盤裝置920等存儲裝置,作為群參數(shù)而存儲表示自然數(shù)r、乘法群G1、乘法群G2、乘法群GT以及配對e的信息。
自然數(shù)r是難以求解DH問題的大素數(shù)。
乘法群G1、乘法群G2以及乘法群GT是階數(shù)為自然數(shù)r的乘法群。
另外,乘法群G1與乘法群G2既可以是相同的乘法群,也可以是不同的乘法群。在乘法群G1與乘法群G2是相同的乘法群的情況下,群參數(shù)存儲部111也可以不存儲表示乘法群G2的信息。
配對e是根據(jù)乘法群G1的要素與乘法群G2的要素而計算出乘法群GT的要素的映射。配對e是雙線性配對,是可以使用計算機的CPU 911等處理裝置在實用的時間內(nèi)計算的配對。
秘密信息生成部112使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所生成的整數(shù)α的信息。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸入群參數(shù)存儲部111存儲的群參數(shù)、以及秘密信息生成部112輸出的整數(shù)α。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群GT,決定密鑰生成函數(shù)KDF。
密鑰生成函數(shù)KDF是根據(jù)乘法群GT的要素來計算出規(guī)定長度的位串的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,決定哈希函數(shù)HF。
哈希函數(shù)HF是根據(jù)任意長度的位串來計算出規(guī)定長度的位串的函數(shù)。另外,哈希函數(shù)HF是根據(jù)不同的位串計算出相同位串的概率極低的函數(shù)。
以下,將哈希函數(shù)HF輸出的位串長度設(shè)為m位。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機地決定兩個函數(shù)V1以及V2。
函數(shù)V1以及V2是根據(jù)規(guī)定長度的位串來計算出乘法群G2的要素的函數(shù)。
函數(shù)V1以及V2輸入的位串的長度與哈希函數(shù)HF輸出的位串的長度相等,是m位。
在該對比例子中,函數(shù)V1以及V2輸入的m位的位串可以分解為m1個m2位的位串。即,設(shè)為m=m1·m2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機地選擇乘法群G2的(m1+2)個要素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)個要素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)個要素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通過選擇用于計算函數(shù)V1以及V2而所需的乘法群G2的(m1+2)個要素h1、h2、…、hm1、h1’、h2’,來決定函數(shù)V1以及V2。
另外,函數(shù)V1以及V2也可以并不是上述所說明的定義的函數(shù)。另外,函數(shù)V1與函數(shù)V2也可以是相同的函數(shù)。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1,隨機地選擇乘法群G1的要素g。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G2,隨機地選擇乘法群G2的要素g2。
其中,選擇乘法群G1的要素g與乘法群G2的要素g,使得乘法群G1的要素g與乘法群G2的要素g2的配對值即乘法群GT的要素e(g,g2)不會成為乘法群GT的單位元素。
另外,在乘法群G1與乘法群G2是相同的乘法群的情況下,乘法群G1的要素g與乘法群G2的要素g2選擇不同的要素。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)輸入的群參數(shù)所表示的乘法群G1、所選擇的乘法群G1的要素g、以及輸入的信息所表示的整數(shù)α,計算出乘法群G1的要素g的α乘方即乘法群G1的要素g1=g^α。
公開參數(shù)生成部113使用CPU 911等處理裝置,輸出表示所輸入的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、決定的兩個函數(shù)V1、V2、選擇的乘法群G1的要素g、計算出的乘法群G1的要素g1、以及選擇的乘法群G2的要素g2的信息,作為公開密碼參數(shù)。
另外,公開密碼參數(shù)作為表示函數(shù)V1以及V2的信息而包括表示乘法群G2的(m1+2)個要素h1、h2、…、hm1、h1’、h2’的信息。
秘密信息生成部112使用CPU 911等處理裝置,輸入公開參數(shù)生成部113輸出的公開密碼參數(shù)。
秘密信息生成部112使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的要素g2、以及生成的整數(shù)α,計算出乘法群G2的要素g2的α乘方即乘法群G2的要素g2^α。
秘密信息生成部112使用CPU 911等處理裝置,輸出表示所計算出的乘法群G2的要素g2^α的信息。
秘密信息存儲部121使用CPU 911等處理裝置,輸入表示秘密信息生成部112輸出的乘法群G2的要素g2^α的信息而作為秘密信息。
秘密信息存儲部121使用磁盤裝置920等存儲裝置,存儲表示輸入的乘法群G2的要素msk=g2^α的信息。
另外,秘密信息存儲部121也可以代替表示秘密信息生成部112計算出的乘法群G2的要素msk的信息,而存儲表示秘密信息生成部112生成的整數(shù)α的信息。
識別信息輸入部131使用CPU 911等處理裝置,輸入接收者識別信息ID。
在以下說明中,密碼參數(shù)生成裝置100將接收者識別信息ID作為m位的位串進行處理。
例如,密碼參數(shù)生成裝置100通過對郵件地址等任意長度的位串附加填充位串,設(shè)為m位的位串,并設(shè)為接收者識別信息。
或者,密碼參數(shù)生成裝置100也可以將郵件地址等任意長度的位串作為哈希函數(shù)(既可以是與公開參數(shù)生成部113決定的哈希函數(shù)HF相同的哈希函數(shù),也可以是不同的哈希函數(shù))的輸入,取得通過哈希函數(shù)計算出的m位的位串,而作為接收者識別信息。
即,識別信息輸入部131使用CPU 911等處理裝置,輸入m位的位串ID而作為接收者識別信息。
識別信息輸入部131使用CPU 911等處理裝置,輸出所輸入的m位的位串ID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸入表示秘密信息存儲部121存儲的乘法群G2的要素msk的信息、參數(shù)存儲部122存儲的公開密碼參數(shù)、以及識別信息輸入部131輸出的m位的位串ID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成整數(shù)rID。整數(shù)rID是1以上且小于r的整數(shù)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1、以及輸入的長度m的位串ID,計算出將m位的位串ID通過函數(shù)V1進行變換后的乘法群G2的要素V1(ID)。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、計算出的乘法群G2的要素V1(ID)、以及生成的整數(shù)rID,計算出乘法群G2的要素V1(ID)的rID乘方即乘法群G2的要素V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的信息所表示的乘法群G2的要素msk、以及計算出的乘法群G2的要素V1(ID)^rID,計算出乘法群G2的要素msk與乘法群G2的要素V1(ID)^rID之積即乘法群G2的要素d0ID=msk·V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及生成的整數(shù)rID,計算出乘法群G1的要素g的rID乘方即乘法群G1的要素d1ID=g^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,輸出表示計算出的乘法群G2的要素d0ID和計算出的乘法群G1的要素d1ID的信息,而作為秘密密鑰dID。
接下來,對密文生成裝置200進行說明。
密文生成裝置200的功能塊的結(jié)構(gòu)也與實施方式1中說明的部分相同,所以使用圖5,對與實施方式1不同的部分進行說明。
密文生成裝置200與密碼參數(shù)生成裝置100同樣地,將接收者識別信息ID作為m位的位串進行處理。
接收者識別輸入部232使用CPU 911等處理裝置,作為分別識別n個接收者(n是1以上的整數(shù))的n個接收者識別信息,而輸入n個m位的位串IDi(i是1以上n以下的整數(shù))。
接收者識別輸入部232使用CPU 911等處理裝置,輸出所輸入的n個m位的位串IDi。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
隨機數(shù)生成部222使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者分別對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
隨機數(shù)生成部222使用CPU 911等處理裝置,輸出表示所生成的n個整數(shù)si的信息。
第一密文生成部241使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及明文輸入部231輸出的明文M。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、乘法群G1的要素g1和乘法群G2的要素g2,計算出乘法群G1的要素g1與乘法群G2的要素g2的配對值即乘法群GT的要素e(g1,g2)。
另外,乘法群GT的要素e(g1,g2)由于與整數(shù)si、明文M無關(guān)而是一定的,所以也可以事先計算出并使用磁盤裝置920等存儲裝置進行存儲。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(g1,g2)、以及輸入的信息所表示的n個整數(shù)si,計算出乘法群GT的要素e(g1,g2)的si乘方即乘法群GT的n個要素e(g1,g2)^si(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的密鑰生成函數(shù)KDF、以及計算出的乘法群GT的n個要素e(g1,g2)^si,計算出將乘法群GT的要素e(g1,g2)^si通過密鑰生成函數(shù)KDF進行變換后的規(guī)定長度的位串即n個密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)輸入的明文M和計算出的n個密鑰位串ki,生成利用n個密鑰位串ki對明文M分別進行加密得到的n個位串,設(shè)為n個第一密文C1i(i是1以上n以下的整數(shù))。
第一密文生成部241使用CPU 911等處理裝置,輸出所生成的n個第一密文C1i。
第二密文生成部242使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及接收者識別輸入部232輸出的n個m位的位串IDi。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1和輸入的n個m位的位串IDi,計算出將m位的位串IDi通過函數(shù)V1進行變換后的乘法群G2的n個要素V1(IDi)(i是1以上n以下的整數(shù))。
另外,函數(shù)V1的計算例如按照以下過程。
第二密文生成部242使用CPU 911等處理裝置,將輸入的n個m位的位串IDi分別分解為m1個m2位的位串viξ(i是1以上n以下的整數(shù)。ξ是1以上m1以下的整數(shù)。m=m1·m2)。作為結(jié)果,分解的m2位的位串viξ的全部數(shù)量成為n·m1個。在以下說明中,說明為了避免繁雜度而對于一個m位的位串IDi計算函數(shù)V1的值V1(IDi)的過程。
第二密文生成部242將分解的m2位的位串viξ作為0以上且小于2的m2乘方的整數(shù)而進行處理。例如,將所有的位是“0”的位串viξ作為整數(shù)0進行處理,將所有的位是“1”的位串viξ作為整數(shù)2m2-1進行處理。雖然可以將任意位串作為任意整數(shù)進行處理,但在根據(jù)CPU 911等處理裝置內(nèi)部中的通過整數(shù)的表現(xiàn)形式來決定的對應(yīng)關(guān)系進行處理時,省去了變換的工作,所以是優(yōu)選的。在以下記述中,“整數(shù)viξ”意味著將m2位的位串viξ作為整數(shù)進行處理時的整數(shù)。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))、以及m1個整數(shù)viξ,計算出乘法群G2的要素hξ的viξ乘方即乘法群G2的m1個要素hξ^viξ。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2與乘法群G2的要素h1’、以及計算出的乘法群G2的m1個要素hξ^viξ,計算出將乘法群G2的要素h1’與乘法群G2的m1個要素hξ^viξ全部相乘的結(jié)果即乘法群G2的一個要素h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
第二密文生成部242將計算出的乘法群G2的一個要素h1’·∏(hξ^viξ)設(shè)為函數(shù)V1的值V1(IDi)。
為了計算出乘法群G2的n個要素V1(IDi),將以上的過程進行n次。
第二密文生成部242使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、計算出的乘法群G2的n個要素V1(IDi)、以及輸入的信息所表示的n個整數(shù)si,計算出乘法群G2的要素V1(IDi)的si乘方即乘法群G2的n個要素ui=V1(IDi)^si(i是1以上n以下的整數(shù))。
第二密文生成部242使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群G2的n個要素ui的n個位串,而作為n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、和表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息。
第三密文生成部243使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及輸入的信息所表示的n個整數(shù)si,計算出乘法群G1的要素g的si乘方即乘法群G1的n個要素vi=g^si(i是1以上n以下的整數(shù))。
第三密文生成部243使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群G1的n個要素vi的n個位串而作為n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)。
哈希值計算部244使用CPU 911等處理裝置,作為密文主文生成部240輸出的n個密文主文CBi,輸入第一密文生成部241輸出的n個第一密文C1i、第二密文生成部242輸出的n個第二密文C2i、以及第三密文生成部243輸出的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,分別結(jié)合所輸入的n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i,生成n個結(jié)合密文。
另外,哈希值計算部244也可以還輸入接收者識別輸入部232輸出的n個接收者識別信息IDi而作為n個密文主文CBi(的一部分),將輸入的n個接收者識別信息IDi、n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i全部結(jié)合,而生成一個結(jié)合密文。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的n個結(jié)合密文,計算出將n個結(jié)合密文通過哈希函數(shù)HF分別進行變換后的n個m位的位串wi,設(shè)為n個哈希值Hi。
哈希值計算部244使用CPU 911等處理裝置,輸出表示所計算出的n個m位的位串wi的信息、以及生成的n個結(jié)合密文。
密文驗證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及表示哈希值計算部244輸出的n個m位的位串wi的信息。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2、以及輸入的n個m位的位串wi,計算出將m位的位串wi通過函數(shù)V2分別進行變換后的乘法群G2的n個要素V2(wi)(i是1以上n以下的整數(shù))。
另外,函數(shù)V2的計算例如按照以下過程。
密文驗證文生成部245使用CPU 911等處理裝置,將輸入的n個m位的位串wi分別分解為m1個m2位的位串viξ(i是1以上n以下的整數(shù)。ξ是1以上m1以下的整數(shù)。m=m1·m2)。作為結(jié)果,分解的m2位的位串viξ的全部數(shù)量成為n·m1個。在以下說明中,敘述針對一個m位的位串wi計算函數(shù)V2的值V2(wi)的過程。
密文驗證文生成部245將分解的m2位的位串viξ作為0以上且小于2的m2乘方的整數(shù)而進行處理。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2和乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))、以及m1個整數(shù)viξ,計算出乘法群G2的要素hξ的viξ乘方即乘法群G2的m1個要素hξ^viξ。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2與乘法群G2的要素h2’、以及計算出的乘法群G2的m1個要素hξ^viξ,計算出將乘法群G2的要素h2’與乘法群G2的m1個要素hξ^viξ全部相乘得到的結(jié)果即乘法群G2的一個要素h2’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
密文驗證文生成部245將計算出的乘法群G2的一個要素h2’·∏(hξ^viξ)設(shè)為函數(shù)V2的值V2(IDi)。
為了計算出乘法群G2的n個要素V2(IDi),將以上的過程進行n次。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群G2的n個要素V2(wi),計算出乘法群G2的要素V2(wi)的si乘方即乘法群G2的n個要素yi=V2(wi)^si(i是1以上n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群G2的n個要素yi的n個位串,而作為n個密文驗證文CCi(i是1以上n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計算部244輸出的n個結(jié)合密文、以及密文驗證文生成部245輸出的n個密文驗證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的n個結(jié)合密文與輸入的n個密文驗證文全部結(jié)合,而生成一個密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個密鑰密文C。
另外,在該例子中,密文結(jié)合部246輸入哈希值計算部244輸出的n個結(jié)合密文,但結(jié)合密文由于是結(jié)合第一密文C1i、第二密文C2i、以及第三密文C3i而得到的密文,所以密文結(jié)合部246輸入n個第一密文C1i、n個第二密文C2i、以及n個第三密文C3i。
本實施方式中的對比例子即在密文生成裝置200中交換的信息的流程與實施方式2中使用圖11說明的流程相同。
接下來,對密文接收裝置301~303進行說明。
密文接收裝置301~303的功能塊的結(jié)構(gòu)也與實施方式1中說明的部分相同,所以使用圖6,對與實施方式1不同的部分進行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個密鑰密文C,取得對應(yīng)于自身所對應(yīng)的接收者的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
另外,密文分解部346也可以使用CPU 911等處理裝置,取得驗證結(jié)合密文(C1ID|C2ID|C3ID)并進行輸出。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID。
驗證哈希值計算部344使用CPU 911等處理裝置,結(jié)合所輸入的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、以及對應(yīng)第三密文C3ID,生成驗證結(jié)合密文(C1ID|C2ID|C3ID)。
或者,驗證哈希值計算部344也可以代替生成驗證結(jié)合密文(C1ID|C2ID|C3ID),而輸入密文分解部346輸出的驗證結(jié)合密文(C1ID|C2ID|C3ID)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成或輸入的驗證結(jié)合密文(C1ID|C2ID|C3ID),計算出將驗證結(jié)合密文(C1ID|C2ID|C3ID)通過哈希變換HF進行變換后的m位的位串w’,而設(shè)為哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出表示所計算出的m位的位串w’的信息。
密文驗證部345使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)、密文分解部346輸出的對應(yīng)第二密文C2ID和對應(yīng)第三密文C3ID、識別自身所對應(yīng)的接收者的m位的位串ID、以及驗證哈希值計算部344輸出的m位的位串w’。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V1、以及輸入的m位的位串ID,計算出將m位的位串ID通過函數(shù)V1進行變換后的乘法群G2的要素V1(ID)。
另外,密文驗證部345計算函數(shù)V1的過程例如與上述說明的密文生成裝置200的第二密文生成部242計算函數(shù)V1的過程相同,所以此處省略說明。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID、以及計算出的乘法群G2的要素V1(ID),計算出乘法群G1的要素vID與乘法群G2的要素V1(ID)的配對值即乘法群GT的要素e(vID,V1(ID))。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e與乘法群G1的要素g、以及輸入的對應(yīng)第二密文C2ID所表示的乘法群G2的要素uID,計算出乘法群G1的要素g與乘法群G2的要素uID的配對值即乘法群GT的要素e(g,uID)。
密文驗證部345使用CPU 911等處理裝置,對計算出的乘法群GT的要素e(vID,V1(ID))和計算出的乘法群GT的要素e(g,uID)進行比較,在不一致的情況下,判定為密文接收部351輸入的一個密鑰密文C中無匹配性。
在計算出的乘法群GT的要素e(vID,V1(ID))與計算出的乘法群GT的要素e(g,uID)一致的情況下,密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2以及輸入的m位的位串w’,計算出將m位的位串w’通過函數(shù)V2進行變換后的乘法群G2的要素V2(w’)。
另外,密文驗證部345計算函數(shù)V2的過程例如與上述說明的密文生成裝置200的密文驗證文生成部245計算函數(shù)V2的過程相同,所以此處省略說明。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID、以及計算出的乘法群G2的要素V2(w’),計算出乘法群G1的要素vID與乘法群G2的要素V2(w’)的配對值即乘法群GT的要素e(vID,V2(w’))。
密文驗證部345使用CPU 911等處理裝置,輸入密文分解部346輸出的對應(yīng)密文驗證文CCID。
密文驗證部345使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e和乘法群G1的要素g、以及輸入的對應(yīng)密文驗證文CCID所表示的乘法群G2的要素yID,計算出乘法群G1的要素g與乘法群G2的要素yID的配對值即乘法群GT的要素e(g,yID)。
密文驗證部345使用CPU 911等處理裝置,對計算出的乘法群GT的要素e(vID,V2(w’))與計算出的乘法群GT的要素e(g,yID)進行比較。在一致的情況下,密文驗證部345使用CPU 911等處理裝置,判定為密文接收部351輸入的一個密鑰密文C中有匹配性,在不一致的情況下,判定為密文接收部351輸入的一個密鑰密文C中無匹配性。
此處,如果在密文接收部351輸入的一個密鑰密文C中有匹配性,則uID=V1(ID)^sID、vID=g^sID,所以由配對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。
在密文驗證部345判定為密文接收部351輸入的一個密鑰密文C中有匹配性的情況下,密文解密部341為了還原明文M,進行以下處理。
密文解密部341使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)、秘密密鑰存儲部323存儲的秘密密鑰dID、以及密文分解部346輸出的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID和對應(yīng)第三密文C3ID。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的秘密密鑰dID所表示的乘法群G2的要素d0ID、以及輸入的對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計算出乘法群G1的要素vID與乘法群G2的要素d0ID的配對值即乘法群GT的要素e(vID,d0ID)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的配對e、輸入的秘密密鑰dID所表示的乘法群G1的要素d1ID、以及輸入的對應(yīng)第二密文C2ID所表示的乘法群G2的要素uID,計算出乘法群G1的要素d1ID與乘法群G2的要素uID的配對值即乘法群GT的要素e(d1ID,uID)。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群GT、計算出的乘法群GT的要素e(vID,d0ID)、以及計算出的乘法群GT的要素e(d1ID,uID),計算出乘法群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、以及計算出的乘法群GT的要素e(vID,d0ID)/e(d1ID,uID),計算出將乘法群GT的要素e(vID,d0ID)/e(d1ID,uID)通過密鑰生成函數(shù)KDF進行變換后的密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID))。
密文解密部341使用CPU 911等處理裝置,根據(jù)輸入的對應(yīng)第一密文C1ID、以及計算出的密鑰位串k’,生成將對應(yīng)第一密文C1ID通過密鑰位串k’進行解密后的位串。
此處,密文生成裝置200的第一密文生成部241計算出的密鑰位串ki是ki=KDF(e(g1,g2)^si)。由于g1=g^α,所以由配對e的雙線性,e(g1,g2)^si=e(g,g2)^(α·si)。
另一方面,密文解密部341計算出的密鑰位串k’是k’=KDF(e(vID,d0ID)/e(d1ID,uID))。由于d0ID=g2^α·V1(ID)^rID、d1ID=g^rID、uID=V1(ID)^sID、vID=g^sID,所以由配對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對明文M進行解密而得到的密鑰位串相同的密鑰位串k’,對對應(yīng)第一密文C1ID進行解密,所以可以還原明文M。
接下來,對動作進行說明。
圖19是示出本實施方式中的對比例子即密碼參數(shù)生成裝置100設(shè)定公開密碼參數(shù)的參數(shù)設(shè)定處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的參數(shù)設(shè)定處理的工序共同的工序,附加同一標(biāo)號。
在秘密信息生成工序S11中,秘密信息生成部112使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
在密碼參數(shù)生成工序S12中,公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的群參數(shù)GT與自然數(shù)r,決定密鑰生成函數(shù)KDF與哈希函數(shù)HF。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G2,決定函數(shù)V1與函數(shù)V2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1與群參數(shù)G2,隨機地選擇乘法群G1的要素g和乘法群G2的要素g2。
公開參數(shù)生成部113使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1、在秘密信息生成工序S11中秘密信息生成部112所生成的整數(shù)α、以及選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α。
參數(shù)存儲部122使用磁盤裝置920等存儲裝置,將表示群參數(shù)存儲部111存儲的群參數(shù)、決定的密鑰生成函數(shù)KDF、決定的哈希函數(shù)HF、決定的函數(shù)V1、決定的函數(shù)V2、選擇的乘法群G1的要素g、計算出的乘法群G1的要素g1、以及選擇的乘法群G2的要素g2的信息,作為公開密碼參數(shù)進行存儲。
在第二秘密信息生成工序S16中,秘密信息生成部112使用CPU911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G2、在秘密信息生成工序S11中生成的整數(shù)α、以及在密碼參數(shù)生成工序S12中公開參數(shù)生成部113選擇的乘法群G2的要素g2,計算出乘法群G2的要素msk=g2^α。
秘密信息存儲部121使用磁盤裝置920等存儲裝置,存儲表示秘密信息生成部112計算出的乘法群G2的要素msk的信息。
在密碼參數(shù)公開工序S13中,公開參數(shù)公開部114使用CPU 911等處理裝置,將表示群參數(shù)存儲部111存儲的群參數(shù)、公開參數(shù)生成部113決定的密鑰生成函數(shù)KDF、哈希函數(shù)HF、函數(shù)V1和函數(shù)V2、公開參數(shù)生成部113選擇的乘法群G1的要素g與乘法群G2的要素g2、以及公開參數(shù)生成部113計算出的乘法群G1的要素g1的信息,作為公開密碼參數(shù)而進行公開。
關(guān)于公開參數(shù)公開部114公開的公開密碼參數(shù),由密文生成裝置200以及密文接收裝置301~303取得,并由密碼參數(shù)存儲部210以及公開參數(shù)存儲部310使用磁盤裝置920等存儲裝置來進行存儲。
圖20是示出本實施方式中的對比例子即密碼參數(shù)生成裝置100設(shè)定秘密密鑰的秘密密鑰設(shè)定處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的秘密密鑰設(shè)定處理的工序共同的工序,附加同一標(biāo)號。
在識別輸入工序S21中,識別信息輸入部131使用CPU 911等處理裝置,輸入m位的位串ID而作為接收者識別信息。
在秘密密鑰生成工序S22中,秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲部122存儲的公開密碼參數(shù)所表示的乘法群G2與函數(shù)V1、秘密信息存儲部121存儲的乘法群G2的要素msk、在識別輸入工序S21中輸入的m位的位串ID、以及生成的整數(shù)rID,計算出乘法群G2的要素d0ID=msk·V1(ID)^rID。
秘密密鑰生成部132使用CPU 911等處理裝置,根據(jù)參數(shù)存儲部122存儲的公開密碼參數(shù)所表示的乘法群G1與乘法群G1的要素g、以及生成的整數(shù)rID,計算出乘法群G1的要素d1ID=g^rID。
秘密密鑰通知部133使用CPU 911等處理裝置,將表示在秘密密鑰生成工序S22中秘密密鑰生成部132計算出的乘法群G2的要素d0ID與乘法群G1的要素d1ID的信息作為秘密密鑰dID,秘密地通知給所對應(yīng)的密文接收裝置。
關(guān)于秘密密鑰通知部133通知的秘密密鑰dID,由對應(yīng)的密文接收裝置取得,并由秘密密鑰存儲部323使用磁盤裝置920等存儲裝置來進行存儲。
圖21是示出本實施方式中的對比例子即密文生成裝置200生成密文的密文生成處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號。
在接收者識別輸入工序S32中,接收者識別輸入部232使用CPU911等處理裝置,作為分別識別n個接收者的n個接收者識別信息,而輸入與n個接收者分別對應(yīng)的n個m位的位串IDi。
在隨機數(shù)生成工序S34中,隨機數(shù)生成部222使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者分別對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si。
在第一密文生成工序S35中,第一密文生成部241使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群GT、配對e、乘法群G1的要素g1、乘法群G2的要素g2和密鑰生成函數(shù)KDF、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的n個密鑰位串ki=KDF(e(g1,g2)^si)。
第一密文生成部241使用CPU 911等處理裝置,根據(jù)在對話密鑰生成工序S33中對話密鑰生成部221生成的對話密鑰K(=明文M)、以及計算出的與n個接收者分別對應(yīng)的n個密鑰位串ki,利用與n個接收者分別對應(yīng)的n個密鑰位串ki對一個對話密鑰K分別進行加密,而生成與n個接收者分別對應(yīng)的n個第一密文C1i。
在第二密文生成工序S36中,第二密文生成部242使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的函數(shù)V1、在接收者識別輸入工序S32中接收者識別輸入部232輸入的與n個接收者分別對應(yīng)的n個m位的位串IDi、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的乘法群G2的n個要素ui=V1(IDi)^si。
第二密文生成部242使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群G2的n個要素ui的位串,設(shè)為與n個接收者分別對應(yīng)的n個第二密文C2i。
在第三密文生成工序S37中,第三密文生成部243使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1和乘法群G1的要素g、以及在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si,計算出與n個接收者分別對應(yīng)的乘法群G1的n個要素vi=g^si。
第三密文生成部243使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群G1的n個要素vi的位串,設(shè)為與n個接收者分別對應(yīng)的n個第三密文C3i。
在哈希值計算工序S38中,哈希值計算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個接收者分別對應(yīng)的n個第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個接收者分別對應(yīng)的n個第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個接收者分別對應(yīng)的n個第三密文C3i,生成將與n個接收者分別對應(yīng)的n個第一密文C1i、與n個接收者分別對應(yīng)的n個第二密文C2i、以及與n個接收者分別對應(yīng)的n個第三密文C3i分別結(jié)合而得到的與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i)。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i),計算出將與n個接收者分別對應(yīng)的n個結(jié)合密文(C1i|C2i|C3i)分別通過哈希函數(shù)HF進行變換后的與n個接收者分別對應(yīng)的n個m位的位串wi=HF(C1i|C2i|C3i)。
在密文驗證文生成工序S39中,密文驗證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G2和函數(shù)V2、在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個整數(shù)si、以及在哈希值計算工序S38中哈希值計算部244計算出的與n個接收者分別對應(yīng)的n個m位的位串wi,計算出與n個接收者分別對應(yīng)的乘法群G2的n個要素yi=V2(wi)^si。
密文驗證文生成部245使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群G2的n個要素yi的位串,設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi。
圖22是本實施方式中的對比例子即密文接收裝置301~303接收密文的密文接收處理的流程的一個例子的流程圖。
另外,對于與實施方式1中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號。
在密文分解工序S52中,密文分解部346使用CPU 911等處理裝置,根據(jù)在通知數(shù)據(jù)接收工序中密文接收部351輸出的一個密鑰密文C,取得對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID、一個對應(yīng)第三密文C3ID、以及一個對應(yīng)密文驗證文CCID。
在驗證哈希值計算工序S53中,驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及將在密文分解工序S52中密文分解部346取得的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID和一個對應(yīng)第三密文C3ID結(jié)合而得到的一個對應(yīng)結(jié)合密文(C1ID|C2ID|C3ID),計算出將一個對應(yīng)結(jié)合密文(C1ID|C2ID|C3ID)通過哈希函數(shù)HF進行變換后的一個m位的位串w’,而作為驗證哈希值H’。
在密文驗證工序S54中,密文驗證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和函數(shù)V1、在密文分解工序S52中密文分解部346取得的一個對應(yīng)第三密文C3ID所表示的乘法群G1的一個要素vID、以及識別自身所對應(yīng)的接收者的m位的位串ID,計算出乘法群GT的一個要素e(vID,V1(ID))。
密文驗證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和乘法群G1的要素g、以及在密文分解工序S52中密文分解部346取得的一個對應(yīng)第二密文C2ID所表示的乘法群G2的一個要素uID,計算出乘法群GT的一個要素e(g,uID)。
密文驗證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和函數(shù)V2、在密文分解工序S52中密文分解部346取得的一個對應(yīng)第三密文C3ID所表示的乘法群G1的一個要素vID、以及在驗證哈希值計算工序S53中驗證哈希值計算部344計算出的m位的位串w’,計算出乘法群GT的一個要素e(vID,V2(w’))。
密文驗證部345使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和乘法群G1的要素g、以及在密文分解工序S52中密文分解部346取得的一個對應(yīng)密文驗證文CCID所表示的乘法群G2的一個要素yID,計算出乘法群GT的一個要素e(g,yID)。
密文驗證部345使用CPU 911等處理裝置,根據(jù)計算出的乘法群GT的一個要素e(vID,V1(ID))、計算出的乘法群GT的一個要素e(g,uID)、計算出的乘法群GT的一個要素e(vID,V2(w’))、以及計算出的乘法群GT的一個要素e(g,yID),判定是否為e(vID,V1(ID))=e(g,uID)、且e(vID,V2(w’))=e(g,yID)。
在兩個等式成立的情況下,密文驗證部345判定為密文接收部351接收到的一個密鑰密文C中有匹配性,并進入密文解密工序S55。
在某一個或雙方的等式不成立的情況下,密文驗證部345判定為在密文接收部351接收到的一個密鑰密文C中無匹配性,結(jié)束密文接收處理。
在密文解密工序S55中,密文解密部341使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的乘法群GT、配對e和密鑰生成函數(shù)KDF、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及在密文分解工序S52中密文分解部346取得的一個對應(yīng)第二密文C2ID所表示的乘法群G2的一個要素uID和一個對應(yīng)第三密文C3ID所表示的乘法群G1的一個要素vID,計算出一個密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID))。
密文解密部341使用CPU 911等處理裝置,根據(jù)在密文分解工序S52中密文分解部346取得的一個對應(yīng)第一密文C1ID、以及計算出的一個密鑰位串k’,利用密鑰位串k’對對應(yīng)第一密文C1ID進行解密,生成規(guī)定長度的位串,并設(shè)為對話密鑰K’(=明文M)。
如上所述,密文解密部341生成的對話密鑰K’成為與密文生成裝置200的對話密鑰生成部221生成的對話密鑰K相同的位串。
接下來,對本實施方式中的對比例子即基于ID的密碼通信系統(tǒng)使用的基于ID的密碼方式的安全性進行討論。
本實施方式中的對比例子即多個接收者的基于ID的密碼方式是將單獨接收者的基于ID的密碼方式通過連接方式進行了擴展的方式,所以SMMR安全性是Advsmmrn,∏’,Γ(t,qd,qx)≤n·Advmu1,∏,Γ(t’,1,qd,qx)。
此處,Advmu1,∏,Γ(t’,1,qd,qx)表示成為本實施方式中的對比例子即多個接收者的基于ID的密碼方式的基礎(chǔ)的單獨接收者的基于ID的密碼方式的以往的意義中的安全性。
可以證明成為本實施方式中的對比例子即多個接收者的基于ID的密碼方式的基礎(chǔ)的單獨接收者的基于ID的密碼方式的以往的意義中的安全性Advmu1,II,Γ(t’,1,qd,qx)歸結(jié)于D-BDH問題(DecisionalBilinear Diffie-Hellman Problem)。
此處,D-BDH問題是如下定義的數(shù)學(xué)上的問題。
在D-BDH問題中,解答者B被提供乘法群G的四個要素g、g1、g2、g3、以及乘法群GT的一個要素Z。另外,作為秘密的信息,解答者B有1以上且小于乘法群G的階數(shù)的三個整數(shù)a、b、c。
乘法群G的要素g是隨機地選擇的乘法群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回答對乘法群G的要素g彼此的配對值即乘法群GT的要素e(g,g)的、整數(shù)a、整數(shù)b和整數(shù)c的積(a·b·c)乘方即乘法群GT的要素e(g,g)^(a·b·c)是否與所提供的乘法群GT的要素Z相等進行判別的問題。
與q-D-ABDHE問題同樣地,在定義Advd-bhdk,G,GT(t),且Advd-bhdk,G,GT(t)≤ε時,D-BDH假設(shè)成立 以上,可以證明本實施方式中的對比例子即基于ID的密碼方式的SMMR安全性歸結(jié)于D-BDH問題。
接下來,對本實施方式中的基于ID的密碼通信系統(tǒng)800進行說明。
本實施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)以及密碼參數(shù)生成裝置100的塊結(jié)構(gòu)由于與在對比例子中說明的部分相同,所以此處省略說明。
首先,對密文生成裝置200進行說明。
密文生成裝置200的塊結(jié)構(gòu)由于與對比例子中說明的部分相同,所以使用圖4,對與對比例子不同的部分進行說明。
哈希值計算部244使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、第一密文生成部241輸出的n個第一密文C1i、第二密文生成部242輸出的n個第二密文C2i、以及第三密文生成部243輸出的n個第三密文C3i。
哈希值計算部244使用CPU 911等處理裝置,將所輸入的n個第一密文C1i、n個第二密文C2i、和n個第三密文C3i全部結(jié)合,而生成一個結(jié)合密文。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個結(jié)合密文,計算出將一個結(jié)合密文通過哈希函數(shù)HF進行變換后的一個m位的位串w0,設(shè)為一個哈希值H0。
哈希值計算部244使用CPU 911等處理裝置,輸出表示所計算出的一個m位的位串w0的信息、以及生成的一個結(jié)合密文。
密文驗證文生成部245使用CPU 911等處理裝置,輸入密碼參數(shù)存儲部210存儲的公開密碼參數(shù)、表示隨機數(shù)生成部222輸出的n個整數(shù)si的信息、以及表示哈希值計算部244輸出的一個m位的位串w0的信息。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的函數(shù)V2、以及輸入的信息所表示的一個m位的位串w0,計算出將m位的位串w0通過函數(shù)V2進行變換后的乘法群G2的一個要素V2(w0)。
密文驗證文生成部245使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的乘法群G2、輸入的信息所表示的n個整數(shù)si、以及計算出的乘法群G2的要素V2(w0),計算出乘法群G2的要素V2(w0)的si乘方即乘法群G2的n個要素yi=V2(w0)^si(i是1以上且n以下的整數(shù))。
密文驗證文生成部245使用CPU 911等處理裝置,輸出分別表示所計算出的乘法群G2的n個要素yi的n個位串,而作為n個密文驗證文CCi(i是1以上且n以下的整數(shù))。
密文結(jié)合部246使用CPU 911等處理裝置,輸入哈希值計算部244輸出的一個結(jié)合密文、以及密文驗證文生成部245輸出的n個密文驗證文CCi。
密文結(jié)合部246使用CPU 911等處理裝置,將輸入的一個結(jié)合密文、以及輸入的n個密文驗證文全部結(jié)合,而生成一個密鑰密文C。
密文結(jié)合部246使用CPU 911等處理裝置,輸出所生成的一個密鑰密文C。
本實施方式中的密文生成裝置200中交換的信息的流程與實施方式2中使用圖16說明的流程相同,所以此處省略說明。
接下來,對密文接收裝置301~303進行說明。
密文接收裝置301~303的塊結(jié)構(gòu)也與對比例子中說明的部分相同,所以使用圖6,對與對比例子不同的部分進行說明。
密文分解部346使用CPU 911等處理裝置,輸入密文接收部351輸出的一個密鑰密文C。
密文分解部346使用CPU 911等處理裝置,從輸入的一個密鑰密文C,取得對應(yīng)于自身所對應(yīng)的接收者的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346使用CPU 911等處理裝置,輸出所取得的對應(yīng)第一密文C1ID、對應(yīng)第二密文C2ID、對應(yīng)第三密文C3ID、以及對應(yīng)密文驗證文CCID。
密文分解部346還使用CPU 911等處理裝置,從一個密鑰密文C,取得驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)并進行輸出。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入密文分解部346輸出的驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。或者,驗證哈希值計算部344也可以使用CPU 911等處理裝置來結(jié)合密文,并生成驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
驗證哈希值計算部344使用CPU 911等處理裝置,輸入公開參數(shù)存儲部310存儲的公開密碼參數(shù)。
驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)輸入的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及輸入或生成的驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希變換HF進行變換后的m位的位串w’,而設(shè)為哈希值H’。
驗證哈希值計算部344使用CPU 911等處理裝置,輸出表示所計算出的m位的位串w’的信息。
接下來,對動作進行說明。
圖23是示出本實施方式中的密文生成裝置200生成密文的密文生成處理的流程的一個例子的流程圖。
另外,對于與對比例子中說明的密文生成處理的工序共同的工序,附加同一標(biāo)號。
在哈希值計算工序S38中,哈希值計算部244使用CPU 911等處理裝置,根據(jù)在第一密文生成工序S35中第一密文生成部241生成的與n個接收者分別對應(yīng)的n個第一密文C1i、在第二密文生成工序S36中第二密文生成部242生成的與n個接收者分別對應(yīng)的n個第二密文C2i、以及在第三密文生成工序S37中第三密文生成部243生成的與n個接收者分別對應(yīng)的n個第三密文C3i,生成將與n個接收者分別對應(yīng)的n個第一密文C1i、與n個接收者分別對應(yīng)的n個第二密文C2i、以及與n個接收者分別對應(yīng)的n個第三密文C3i全部結(jié)合而得到的一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
哈希值計算部244使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及生成的一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將一個結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進行變換后的一個m位的位串w0=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
在密文驗證文生成工序S39中,密文驗證文生成部245使用CPU911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G2和函數(shù)V2、在隨機數(shù)生成工序S34中隨機數(shù)生成部222生成的與n個接收者分別對應(yīng)的n個自然數(shù)si、以及在哈希值計算工序S38中哈希值計算部244計算出的一個m位的位串w0,計算出與n個接收者分別對應(yīng)的乘法群GT的n個要素yi=V2(w0)^si。
密文驗證文生成部245使用CPU 911等處理裝置,將分別表示計算出的與n個接收者分別對應(yīng)的乘法群G2的n個要素yi的位串,設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi。
圖24是示出本實施方式中的密文接收裝置301~303接收密文的密文接收處理的流程的一個例子的流程圖。
另外,針對與在對比例子中說明的密文接收處理的工序共同的工序,附加同一標(biāo)號。
在驗證哈希值計算工序S53中,驗證哈希值計算部344使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF、以及驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n),計算出將驗證結(jié)合密文(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)通過哈希函數(shù)HF進行變換后的m位的位串w’=HF(C11|C21|C31|C12|C22|C32|…|C1n|C2n|C3n)。
上述說明以外的工序由于與在對比例子中說明的工序相同,所以此處省略說明。
如上所述,本實施方式中的基于ID的密碼通信系統(tǒng)800與對比例子中說明的基于ID的密碼通信系統(tǒng)800相比,一個密鑰密文C的長度沒變,但密文生成處理中所需的計算量減少,所以可以削減密碼通信的成本。
特別是在哈希值計算工序S38中,在對比例子中說明的方式的情況下,需要n次哈希值計算,但在該方式的情況下,只要進行一次哈希值計算即可。
另外,在密文驗證文生成工序S39中,需要進行函數(shù)V2的計算。在按照對比例子中說明的過程計算函數(shù)V2時,為了計算一次函數(shù)V2,需要m1次的乘法群G2中的冪乘以及m1次的乘法群G2中的乘算。在對比例子中說明的方式的情況下,需要計算n次函數(shù)V2,相對于此,在本方式的情況下,只要計算一次函數(shù)V2即可,在接收者的人數(shù)多的情況下,可以大幅削減計算量。
接下來,對本實施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性進行說明。
另外,在以下說明中,設(shè)為在密文主文CBi中,包含有識別與其對應(yīng)的接收者的接收者識別信息IDi。
本實施方式中的基于ID的密碼通信系統(tǒng)800使用的基于ID的密碼方式的SMMR安全性可以通過組合非專利文獻18記載的證明與非專利文獻6記載的證明來進行證明。
在加密oracle的模擬中,解答者B隨機地生成1以上m2以下的整數(shù)j,判定ID*j是否為可以模擬的ID。
在ID*j是可以模擬的ID的情況下,解答者B針對1≤i<j的i,選擇M*0而生成密文主文CBi,針對j<i≤n的i,選擇M*1而生成密文主文CBi,針對i=j(luò)的i,通過使用了所提供的D-BDH問題的參數(shù)的模擬,生成密文主文CBi。
解答者B結(jié)合所生成的n個密文主文CBi(i是1以上n以下的整數(shù)),計算出哈希值w*0。
解答者B針對i≠j的i,使用密文主文的生成中所使用的隨機數(shù)si,生成密文驗證文CCi,針對i=j(luò)的i,通過使用了所提供的D-BDH問題的參數(shù)的模擬,生成密文驗證文CCi。
由此,在ID*j是可以模擬的ID的情況下,解答者B可以正確地解答D-BDH問題。另外,在ID*j不是可以模擬的ID的情況下,解答者B模擬的加密oracle的輸出分布是與b獨立的。
因此,可以證明本實施方式中的基于ID的密碼方式的SMMR安全性。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,可以在數(shù)學(xué)上證明MR-IND-ID-CCA安全性,所以起到可以使用基于ID的密碼通信系統(tǒng)800來實現(xiàn)安全的密碼通信這樣的效果。
本實施方式中的密文生成裝置200將以下點作為特征。
密碼參數(shù)存儲部210的特征是,使用磁盤裝置920等存儲裝置,作為公開密碼參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e、根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長度的位串計算出乘法群GT的要素的兩個函數(shù)V1和V2、根據(jù)任意長度的位串計算出規(guī)定長度的位串的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、以及乘法群G2的要素g2的信息。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個規(guī)定長度的位串IDi作為n個接收者識別信息。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對e和密鑰生成函數(shù)KDF、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用CPU 911等處理裝置,利用所計算出的n個密鑰位串ki,對明文輸入部231輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的函數(shù)V1、隨機數(shù)生成部222生成的n個整數(shù)si、以及接收者識別輸入部232輸入的n個規(guī)定長度的位串IDi,計算出與n個接收者對應(yīng)的乘法群G2的n個要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G2的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個規(guī)定長度的位串w0而設(shè)為哈希值H。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的函數(shù)V2、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個規(guī)定長度的位串w0,計算出與n個接收者對應(yīng)的乘法群G2的n個要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群G2的n個要素yi的位串,設(shè)為與n個接收者分別對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
根據(jù)本實施方式中的密文生成裝置200,起到如下效果密碼處理中所需的資源少也可以,可以實現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實施方式中的密文生成裝置200還將以下點作為特征。
密碼參數(shù)存儲部210的特征是,使用磁盤裝置920等存儲裝置,作為表示兩個函數(shù)V1以及V2的信息而存儲表示乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))、以及乘法群G2的兩個要素h1’和h2’的信息。
第二密文生成部242的特征是,使用CPU 911等處理裝置,將接收者識別輸入部232輸入的n個規(guī)定長度的位串IDi分別分割為m1個規(guī)定長度的位串viξ(ξ是1以上m1以下的整數(shù)),將分割的m1個規(guī)定長度的位串viξ作為m1個整數(shù)而進行處理,并使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h1’、以及分割的m1個整數(shù)viξ,計算出函數(shù)V1的值即乘法群G2的要素V1(IDi)=h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù))。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,將哈希值計算部244計算出的規(guī)定長度的位串w分割為m1個規(guī)定長度的位串vξ(ξ是1以上m1以下的整數(shù)),將分割的m1個規(guī)定長度的位串vξ作為m1個整數(shù)而進行處理,并使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h2’、以及分割的m1個整數(shù)vξ,計算出函數(shù)V2的值即乘法群G2的要素V2(w)=h2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù))。
根據(jù)本實施方式中的密文生成裝置200,起到如下效果密碼處理中所需的資源少也可以,可以實現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
本實施方式中的基于ID的密碼通信系統(tǒng)800將以下點作為特征。
密碼參數(shù)生成裝置100的特征是,還具有群參數(shù)存儲部111。
群參數(shù)存儲部111的特征是,使用磁盤裝置920等存儲裝置,作為群參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e的信息。
秘密信息生成部112的特征是,使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α。
公開參數(shù)生成部113的特征是,使用CPU 911等處理裝置,決定根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長度的位串計算出乘法群GT的要素的兩個函數(shù)V1和V2、以及根據(jù)任意長度的位串計算出規(guī)定長度的位串的哈希函數(shù)HF,并使用CPU 911等處理裝置,根據(jù)群參數(shù)存儲部111存儲的群參數(shù)所表示的乘法群G1和乘法群G2,隨機地選擇乘法群G1的要素g和乘法群G2的要素g2,根據(jù)秘密信息生成部112生成的整數(shù)α和所選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α,使用CPU 911等處理裝置,將表示群參數(shù)存儲部111存儲的群參數(shù)、所決定的密鑰生成函數(shù)KDF、兩個函數(shù)V1及V2和哈希函數(shù)HF、所選擇的乘法群G1的要素g和乘法群G2的要素g2、以及計算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù)。
秘密信息生成部112的特征是,還使用CPU 911等處理裝置,根據(jù)生成的整數(shù)α和公開參數(shù)生成部113選擇的乘法群G2的要素g2,計算出乘法群G2的要素msk=g2^α。
秘密信息存儲部121的特征是,使用磁盤裝置920等存儲裝置,將表示秘密信息生成部112計算出的乘法群G2的要素msk的信息存儲為秘密信息。
識別信息輸入部131的特征是,使用CPU 911等處理裝置,輸入規(guī)定長度的位串ID而作為接收者識別信息。
秘密密鑰生成部132的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)rID,并使用CPU 911等處理裝置,根據(jù)公開參數(shù)生成部113生成的公開密碼參數(shù)所表示的乘法群G1的要素g和函數(shù)V1、秘密信息存儲部121存儲的秘密信息所表示的乘法群G2的要素msk、以及生成的整數(shù)rID,計算出乘法群G2的要素d0ID=msk·V1(ID)^rID和乘法群G1的要素d1ID=g^rID,將表示所計算出的乘法群G2的要素d0ID和乘法群G1的要素d1ID的信息設(shè)為秘密密鑰dID。
接收者識別輸入部232的特征是,使用CPU 911等處理裝置,輸入n個規(guī)定長度的位串IDi而作為n個接收者識別信息。
隨機數(shù)生成部222的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù))。
第一密文生成部241的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對e和密鑰生成函數(shù)KDF、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用CPU 911等處理裝置,利用所計算出的n個密鑰位串ki,對明文輸入部231輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù))。
第二密文生成部242的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的函數(shù)V1、接收者識別輸入部232輸入的n個規(guī)定長度的位串IDi、以及隨機數(shù)生成部222生成的n個整數(shù)si(i是1以上n以下的整數(shù)),計算出與n個接收者對應(yīng)的乘法群G2的n個要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G2的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù))。
第三密文生成部243的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、以及隨機數(shù)生成部222生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的n個要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù))。
哈希值計算部244的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個規(guī)定長度的位串w0,而設(shè)為哈希值H。
密文驗證文生成部245的特征是,使用CPU 911等處理裝置,根據(jù)密碼參數(shù)存儲部210存儲的公開密碼參數(shù)所表示的函數(shù)V2、隨機數(shù)生成部222生成的n個整數(shù)si、以及哈希值計算部244計算出的一個規(guī)定長度的位串w0,計算出與n個接收者對應(yīng)的乘法群G2的n個要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群G2的n個要素yi的位串,設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi。
驗證哈希值計算部344的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出規(guī)定長度的位串w’,而設(shè)為驗證哈希值H’。
密文驗證部345的特征是,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和函數(shù)V2、密文分解部346取得的對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID以及驗證哈希值計算部344計算出的規(guī)定長度的位串w’,計算出乘法群GT的要素e(vID,V2(w’)),并使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的乘法群G1的要素g和配對e、以及密文分解部346取得的對應(yīng)密文驗證文CCID所表示的乘法群G2的要素yID,計算出乘法群GT的要素e(g,yID),并使用CPU 911等處理裝置,對計算出的乘法群GT的要素e(vID,V2(w’))和計算出的乘法群GT的要素e(g,yID)進行比較,在乘法群GT的要素e(vID,V2(w’))與乘法群GT的要素e(g,yID)一致的情況下,判定為密文接收部351接收到的一個密文C(密鑰密文C)中有匹配性。
密文解密部341的特征是,在密文驗證部345判定為密文接收部351接收到的一個密文C中有匹配性的情況下,使用CPU 911等處理裝置,根據(jù)公開參數(shù)存儲部310存儲的公開密碼參數(shù)所表示的配對e和密鑰生成函數(shù)KDF、秘密密鑰存儲部323存儲的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及密文分解部346取得的一個對應(yīng)第二密文C2ID所表示的乘法群G2的要素uID和對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計算出密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID)),并使用CPU 911等處理裝置,利用所計算出的密鑰位串k’,對密文分解部346取得的對應(yīng)第一密文C1ID進行解密,還原明文M。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,起到如下效果密碼處理中所需的資源少也可以,可以實現(xiàn)利用了能夠在數(shù)學(xué)上證明SMMR-IND-ID-CCA2安全性的基于ID的密碼方式的密碼通信。
實施方式4 使用圖25~圖28,對實施方式4進行說明。
圖25是示出本實施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)的一個例子的系統(tǒng)結(jié)構(gòu)圖。
基于ID的密碼通信系統(tǒng)800具有密碼參數(shù)生成裝置100、密文生成裝置200、密文接收裝置301~密文接收裝置303、以及群參數(shù)生成裝置400。
其中,密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~密文接收裝置303由于與實施方式2中說明的部分相同,所以此處省略說明。
群參數(shù)生成裝置400生成群參數(shù)。關(guān)于群參數(shù)生成裝置400生成的群參數(shù),由密碼參數(shù)生成裝置100輸入,并由群參數(shù)存儲部11進行存儲。
另外,群參數(shù)生成裝置400也可以在密碼參數(shù)生成裝置100的內(nèi)部。
圖26是示出本實施方式中的群參數(shù)生成裝置400的功能塊的結(jié)構(gòu)的一個例子的塊結(jié)構(gòu)圖。
群參數(shù)生成裝置400具有參數(shù)生成條件存儲部410、群階數(shù)候補生成部420、群階數(shù)安全性判定部430以及參數(shù)生成部440。
參數(shù)生成條件存儲部410使用磁盤裝置920等存儲裝置,存儲參數(shù)生成條件信息。
參數(shù)生成條件信息是指,表示有關(guān)群參數(shù)生成裝置400生成的群參數(shù)的條件的信息。關(guān)于有關(guān)群參數(shù)生成裝置400生成的群參數(shù)的條件,從使用了該群參數(shù)的基于ID的密碼通信系統(tǒng)800的安全性等觀點出發(fā),是預(yù)先決定的。
參數(shù)生成條件存儲部410存儲表示整數(shù)k、整數(shù)D、整數(shù)B1和整數(shù)B2的信息而作為參數(shù)生成條件信息。
此處,整數(shù)k表示嵌入次數(shù)(embeding degree)。整數(shù)D表示判別式。整數(shù)B1表示第一閾值。整數(shù)B2表示第二閾值。
群階數(shù)候補生成部420生成在群參數(shù)之中成為自然數(shù)r(乘法群G1、乘法群G2以及乘法群GT的階數(shù))的候補的自然數(shù)。
群階數(shù)候補生成部420使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲部410存儲的參數(shù)生成條件信息。
群階數(shù)候補生成部420使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)K與整數(shù)D,生成滿足以下三個條件的自然數(shù)r。
第一條件是自然數(shù)r為充分大的素數(shù)這樣的條件。此處,“充分大”意味著在將自然數(shù)r設(shè)為階數(shù)的乘法群中難以求解DH問題。
第二條件是自然數(shù)r為整數(shù)k的倍數(shù)+1這樣的條件。
第三條件是在將自然數(shù)r設(shè)為除數(shù)(modulo)時整數(shù)D為平方剩余這樣的條件。
群階數(shù)候補生成部420生成滿足以上三個條件的自然數(shù)r,使用CPU 911等處理裝置,輸出表示所生成的自然數(shù)r的信息。
群階數(shù)安全性判定部430從基于ID的密碼通信系統(tǒng)800的安全性的觀點出發(fā),判定群階數(shù)候補生成部420生成的自然數(shù)r是否合適。
在本實施方式中,在(r-1)以及(r+1)無法進行素因數(shù)分解時,認為安全性最高。
這是因為,關(guān)于q-D-tABDHE問題,存在利用(r-1)或者(r+1)的因數(shù)來求出α的算法,所以在采用歸結(jié)于q-D-ABDHE問題的密碼方式的情況下,優(yōu)選避免這樣的r。
但是,在現(xiàn)實中,不存在滿足這樣的條件的r。因為r是大的素數(shù),所以是奇數(shù),(r-1)以及(r+1)分別被2除盡。
另外,從上述r的選擇條件,(r-1)被k除盡。
而且,(r-1)以及(r+1)中的任意一個被4除盡。因為在假設(shè)(r+1)無法被4除盡時,由于(r+1)被2除盡,所以將(r+1)除以4而得到的余數(shù)是2,因此(r-1)被4除盡。
因此,以(r-1)以及(r+1)不具有上述以外的素因數(shù)為目標(biāo),選擇自然數(shù)r。
群階數(shù)安全性判定部420具有剩余計算部431、判定值計算部432以及素因數(shù)判定部433。
剩余計算部431使用CPU 911等處理裝置,輸入表示群階數(shù)候補生成部420輸出的自然數(shù)r的信息。
剩余計算部431使用CPU 911等處理裝置,計算出將輸入的信息所表示的自然數(shù)r除以4而得到的余數(shù)。
剩余計算部431使用CPU 911等處理裝置,輸出表示所計算出的余數(shù)的信息。
自然數(shù)r應(yīng)滿足的條件根據(jù)將自然數(shù)r除以4而得到的余數(shù)是1還是3而不同。
判定值計算部432使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲部410存儲的參數(shù)生成條件信息、表示群階數(shù)候補生成部420輸出的自然數(shù)r的信息、以及表示剩余計算部431輸出的余數(shù)的信息。
判定值計算部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的情況下,判定值計算部432使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)k、以及輸入的信息所表示的自然數(shù)r,計算出將自然數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商(r-1)/CM(k,4),而設(shè)為整數(shù)r1。
另外,判定值計算部432使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的自然數(shù)r,計算出將自然數(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的情況下,判定值計算部432使用CPU 911等處理裝置,根據(jù)輸入的參數(shù)生成條件信息所表示的整數(shù)k以及輸入的信息所表示的自然數(shù)r,計算出將自然數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商(r-1)/LCM(k,2),設(shè)為整數(shù)r1。
另外,判定值計算部432使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的自然數(shù)r,計算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
判定值計算部432使用CPU 911等處理裝置,輸出表示所計算出的整數(shù)r1與整數(shù)r2的信息。
素因數(shù)判定部433使用CPU 911等處理裝置,輸入?yún)?shù)生成條件存儲部410存儲的參數(shù)生成條件信息、以及表示判定值計算部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ù)生成條件存儲部410存儲的參數(shù)生成條件信息、以及表示群階數(shù)候補生成部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的要素的配對e、以及以配對e的值為要素的乘法群GT。
參數(shù)生成部440使用CPU 911等處理裝置,輸出表示所決定的群參數(shù)G1、群參數(shù)G2、群參數(shù)GT和配對e的信息,而作為群參數(shù)。
此處,乘法群G1以及乘法群G2例如是橢圓曲線EY2=X3+aX+b(X、Y、a、b是階數(shù)p(p是素數(shù))的有限域GF(p)的要素)上的點所成的群。
配對e例如是Weil配對(Weil Pairing)、Tate配對(TatePairing)。
乘法群GT例如是階數(shù)qk(q是素數(shù)。k是2以上的整數(shù))的有限域G F(qk)的乘法群的部分群。
作為求解將自然數(shù)r設(shè)為橢圓曲線E上的點所成的群的階數(shù)、將整數(shù)D設(shè)為判別式、將整數(shù)k設(shè)為有限域G F(qk)的嵌入次數(shù)的、橢圓曲線E的參數(shù)的算法,例如有Cocks-Pinch(コツクスピンチ)方法。
參數(shù)生成部440使用CPU 911等處理裝置,例如通過Cocks-Pinch方法,計算出有限域GF(p)的階數(shù)p、以及p+1-t或p+1+t成為素數(shù)的整數(shù)t。
參數(shù)生成部440使用CPU 911等處理裝置,計算出針對判別式D的希爾伯特類多項式HD(X)。
參數(shù)生成部440使用CPU 911等處理裝置,計算出所計算出的希爾伯特類多項式HD(X)的除數(shù)p還原多項式的根即有限域GF(p)的要素j。參數(shù)生成部440例如通過Berlekamp算法,計算出有限域GF(p)的要素j。
參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)求出的有限域GF(p)的要素j,計算出滿足j=1728a3/(a3+27b2)的有限域GF(p)的要素a以及b,設(shè)為橢圓曲線EY2=X3+aX+b的系數(shù)。
參數(shù)生成部440例如如上所述,決定乘法群G1、乘法群G2、乘法群GT以及配對e。
關(guān)于參數(shù)生成部440輸出的群參數(shù),由密碼參數(shù)生成裝置100的群參數(shù)存儲部111使用CPU 911等處理裝置進行輸入,并使用磁盤裝置920等存儲裝置進行存儲。
圖27是示出本實施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個例子的流程圖。
在自然數(shù)生成工序S61中,群階數(shù)候補生成部420使用CPU 911等處理裝置,生成自然數(shù)r。
在素數(shù)判定工序S62中,群階數(shù)候補生成部420使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,判定自然數(shù)r是否為素數(shù)。
在判定為自然數(shù)r是素數(shù)的情況下,進入倍數(shù)判定工序S63。
在判定為自然數(shù)r不是素數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在倍數(shù)判定工序S63中,群階數(shù)候補生成部420使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,判定自然數(shù)r是否為整數(shù)k的倍數(shù)+1。
在判定為自然數(shù)r是整數(shù)k的倍數(shù)+1的情況下,進入平方剩余判定工序S64。
在判定為自然數(shù)r不是整數(shù)k的倍數(shù)+1的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在平方剩余判定工序S64中,群階數(shù)候補生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)D、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,判定整數(shù)D是否為除數(shù)r下的平方剩余。
在判定為整數(shù)D是除數(shù)r下的平方剩余的情況下,進入第一剩余計算工序S65。
在判斷為整數(shù)D不是除數(shù)r下的平方剩余的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在第一剩余計算工序S65中,剩余計算部431使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計算出將自然數(shù)r除以4而得到的余數(shù)。
在將自然數(shù)r除以4而得到的余數(shù)是3的情況下,進入第一判定值計算工序S66。
在將自然數(shù)r除以4而得到的余數(shù)是1的情況下,進入第三判定值計算工序S68。
在第一判定值計算工序S66中,判定值計算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
在第二判定值計算工序S67中,判定值計算部432使用CPU 911等處理裝置,根據(jù)在參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k,計算出整數(shù)k與2的最小公倍數(shù)LCM(k,2)。
判定值計算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r、以及計算出的最小公倍數(shù)LCM(k,2),計算出將自然數(shù)r與1之差(r-1)除以最小公倍數(shù)LCM(k,2)而得到的商(r-1)/LCM(k,2),并設(shè)為整數(shù)r1。
之后,進入第一素因數(shù)判定工序S70。
在第三判定值計算工序S68中,判定值計算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r,計算出將自然數(shù)r與1之和(r+1)除以2而得到的商(r+1)/2,并設(shè)為整數(shù)r2。
在第四判定值計算工序S69中,判定值計算部432使用CPU 911等處理裝置,根據(jù)在參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k,計算出整數(shù)k與4的最小公倍數(shù)LCM(k,4)。
判定值計算部432使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S61中生成的自然數(shù)r、以及計算出的最小公倍數(shù)LCM(k,4),計算出將自然數(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ù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)B1、以及在第二判定值計算工序S67或第四判定值計算工序S69中計算出的整數(shù)r1,判定整數(shù)r1是否具有小于整數(shù)B1的素因數(shù)。
在判定為整數(shù)r1具有小于整數(shù)B1的素因數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r1不具有小于整數(shù)B1的素因數(shù)的情況下,進入第二素因數(shù)判定工序S71。
在第二素因數(shù)判定工序S71中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)B2、以及在第一判定值計算工序S66或第三判定值計算工序S68中計算出的整數(shù)r2,判定整數(shù)r2是否具有小于整數(shù)B2的素因數(shù)。
在判定為整數(shù)r2具有小于整數(shù)B2的素因數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r2不具有小于整數(shù)B2的素因數(shù)的情況下,進入群參數(shù)生成工序S85。
這樣,群階數(shù)安全性判定部430選擇安全的自然數(shù)r而作為乘法群的階數(shù)。
在群參數(shù)生成工序S72中,參數(shù)生成部440使用CPU 911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息、以及在自然數(shù)生成工序S61中生成的自然數(shù)r,計算出將自然數(shù)r設(shè)為群階數(shù)的乘法群。
參數(shù)生成部440使用CPU 911等處理裝置,生成包括表示所計算出的乘法群的信息的群參數(shù)。
如上所述,實現(xiàn)使用了安全的群階數(shù)的基于ID的密碼通信系統(tǒng)800。
圖28是示出本實施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的另一例子的流程圖。
另外,針對與圖27中說明的群參數(shù)生成處理的工序共同的工序,附加同一標(biāo)號,省略說明。
在自然數(shù)生成工序S81中,群階數(shù)候補生成部420使用CPU 911等處理裝置,生成自然數(shù)n。
在嵌入次數(shù)判定工序S82中,群階數(shù)候補生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k,判定整數(shù)k是奇數(shù)還是偶數(shù)。
在判定為整數(shù)k是偶數(shù)的情況下,進入第一自然數(shù)計算工序S83。
在判定為整數(shù)k是奇數(shù)的情況下,進入第二自然數(shù)計算工序S84。
在第一自然數(shù)計算工序S83中,群階數(shù)候補生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S81中生成的自然數(shù)n,計算出對整數(shù)k與自然數(shù)n之積加上1的自然數(shù)r=n·k+1。
之后,進入素數(shù)判定工序S62。
在第二自然數(shù)計算工序S84中,群階數(shù)候補生成部420使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k、以及在自然數(shù)生成工序S81中生成的自然數(shù)n,計算出對整數(shù)k與自然數(shù)n的兩倍之積加上1的自然數(shù)r=2n·k+1。
由此,在上述條件之中,滿足自然數(shù)r是整數(shù)k的倍數(shù)+1這樣的條件。另外,由于自然數(shù)r總是奇數(shù),所以有可能是素數(shù)。
在第一判定值計算工序S85中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一自然數(shù)計算工序S83或第二自然數(shù)計算工序S84中計算出的自然數(shù)r,計算出將自然數(shù)r與1之和(r+1)除以4而得到的商(r+1)/4,設(shè)為整數(shù)r2。
在第二判定值計算工序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ù)而得到的商。
之后,進入第一素因數(shù)判定工序S70。
在第三判定值計算工序S87中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一自然數(shù)計算工序S83或第二自然數(shù)計算工序S84中計算出的自然數(shù)r,計算出將自然數(shù)r與1之和(r+1)除以2而得到的商(r+1)/2,設(shè)為整數(shù)r2。
在第二剩余計算工序S88中,群階數(shù)安全性判定部430使用CPU911等處理裝置,根據(jù)參數(shù)生成條件存儲部410存儲的參數(shù)生成條件信息所表示的整數(shù)k,計算出將整數(shù)k除以4而得到的余數(shù)。
在計算出的余數(shù)是0的情況下,進入第二判定值計算工序S86。
在計算出的余數(shù)是0以外的情況下,進入第四判定值計算工序S89。
在第四判定值計算工序S89中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在自然數(shù)生成工序S81中生成的自然數(shù)n,計算出將自然數(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。
另外,不限于上述兩個處理的流程,也可以通過其它過程來選擇自然數(shù)r。
只要能夠選擇滿足上述自然數(shù)r應(yīng)滿足的條件的自然數(shù)r即可,判定的順序、詳細的過程也可以不同。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))的特征是,還具有群參數(shù)生成裝置400。
群參數(shù)生成裝置400的特征是,具有處理信息的CPU 911等處理裝置、群階數(shù)候補生成部420、群階數(shù)安全性判定部430、以及參數(shù)生成部440。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成素數(shù)r(自然數(shù)r)作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出素數(shù)r與1之差(r-1)的因數(shù)、以及素數(shù)r與1之和(r+1)的因數(shù),并使用CPU 911等處理裝置,根據(jù)計算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定群階數(shù)候補生成部420生成的素數(shù)r是否為安全的群階數(shù)。
參數(shù)生成部440的特征是,在群階數(shù)安全性判定部430判定為群階數(shù)候補生成部420生成的素數(shù)r是安全的群階數(shù)的情況下,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r設(shè)為群階數(shù)的乘法群,并使用CPU 911等處理裝置,生成包括表示所計算出的乘法群的信息的群參數(shù)。
群參數(shù)存儲部111的特征是,使用磁盤裝置920等存儲裝置,存儲群參數(shù)生成裝置400生成的群參數(shù)。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,起到可以根據(jù)具有安全的群階數(shù)的乘法群來進行基于ID的密碼通信這樣的效果。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))還將以下點作為特征。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r(自然數(shù)r)而作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,具有剩余計算部431、判定值計算部432、以及素因數(shù)判定部433。
剩余計算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù)。
判定值計算部432的特征是,在上述剩余計算部計算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計算部431計算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為群階數(shù)候補生成部420生成的素數(shù)r不是安全的群階數(shù)。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,由于可以避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,進行基于ID的密碼通信。
本實施方式中的群參數(shù)生成裝置400將以下點作為特征。
一種群參數(shù)生成裝置400,生成對各自具有對應(yīng)的密文接收裝置301~303的n個接收者(n是1以上的整數(shù))利用一個密文C(密鑰密文C)通知明文M(對話密鑰K)的密碼通信系統(tǒng)(基于ID的密碼通信系統(tǒng)800)中的密碼處理中使用的乘法群的參數(shù),其特征在于,具有處理信息的CPU 911等處理裝置、群階數(shù)候補生成部420、群階數(shù)安全性判定部430、以及參數(shù)生成部440。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成素數(shù)r作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出素數(shù)r與1之差(r-1)的因數(shù)、以及素數(shù)r與1之和(r+1)的因數(shù),并使用CPU 911等處理裝置,根據(jù)計算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定群階數(shù)候補生成部420生成的素數(shù)r是否為安全的群階數(shù)。
參數(shù)生成部440的特征是,在群階數(shù)安全性判定部430判定為群階數(shù)候補生成部420生成的素數(shù)r是安全的群階數(shù)的情況下,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r設(shè)為群階數(shù)的乘法群,并使用CPU 911等處理裝置,生成包括表示所計算出的乘法群的信息的群參數(shù)。
根據(jù)本實施方式中的群參數(shù)生成裝置400,可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),所以起到如下效果可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
本實施方式中的群參數(shù)生成裝置400還將以下點作為特征。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,具有剩余計算部431、判定值計算部432、以及素因數(shù)判定部433。
剩余計算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù)。
判定值計算部432的特征是,在剩余計算部431計算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計算部431計算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為群階數(shù)候補生成部420生成的素數(shù)r不是安全的群階數(shù)。
根據(jù)本實施方式中的群參數(shù)生成裝置400,由于可以避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
實施方式5 使用圖29,對實施方式5進行說明。
本實施方式中的基于ID的密碼通信系統(tǒng)800的整體結(jié)構(gòu)、密碼參數(shù)生成裝置100、密文生成裝置200以及密文接收裝置301~303的塊結(jié)構(gòu)由于與實施方式4中說明的部分相同,所以此處省略說明。
對群參數(shù)生成裝置400進行說明。
本實施方式中的群參數(shù)生成裝置400的塊結(jié)構(gòu)由于與實施方式4中說明的部分相同,所以使用圖26,對不同的部分進行說明。
參數(shù)生成條件存儲部410存儲表示整數(shù)k、整數(shù)D的信息而作為參數(shù)生成條件信息。
素因數(shù)判定部433使用CPU 911等處理裝置,輸入表示判定值計算部432輸出的整數(shù)r1與整數(shù)r2的信息。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)r1,判定整數(shù)r1是否為素數(shù)。
在判定為整數(shù)r1不是素數(shù)的情況下,素因數(shù)判定部433使用CPU911等處理裝置,判定為群階數(shù)候補生成部420生成的自然數(shù)r不是安全的群階數(shù)、作為群階數(shù)不合適。
素因數(shù)判定部433使用CPU 911等處理裝置,根據(jù)輸入的信息所表示的整數(shù)r2,判定整數(shù)r2是否為素數(shù)。
在判定為整數(shù)r2不是素數(shù)的情況下,素因數(shù)判定部433使用CPU911等處理裝置,判定為群階數(shù)候補生成部420生成的自然數(shù)r不是安全的群階數(shù)、作為群階數(shù)不合適。
素因數(shù)判定部433僅在判定為整數(shù)r1與整數(shù)r2都是素數(shù)的情況下,判定為群階數(shù)候補生成部420生成的自然數(shù)r是安全的群階數(shù)、作為群階數(shù)是合適的。
接下來,對動作進行說明。
圖29是示出本實施方式中的群參數(shù)生成裝置400生成群參數(shù)的群參數(shù)生成處理的流程的一個例子的流程圖。
另外,針對與實施方式4中說明的群參數(shù)生成處理的工序共同的工序,附加同一標(biāo)號。
在第一素因數(shù)判定工序S70中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第二判定值計算工序S67或第四判定值計算工序S69中計算出的整數(shù)r1,判定整數(shù)r1是否為素數(shù)。
在判定為整數(shù)r1不是素數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r1是素數(shù)的情況下,進入第二素因數(shù)判定工序S71。
在第二素因數(shù)判定工序S71中,群階數(shù)安全性判定部430使用CPU 911等處理裝置,根據(jù)在第一判定值計算工序S66或第二判定值計算工序S68中計算出的整數(shù)r2,判定整數(shù)r2是否為素數(shù)。
在判定為整數(shù)r2不是素數(shù)的情況下,返回自然數(shù)生成工序S61,生成不同的自然數(shù)r。
在判定為整數(shù)r2是素數(shù)的情況下,進入群參數(shù)生成工序S85。
在實施方式4中,如果整數(shù)r1以及r2不具有直到某種程度的大小的素因數(shù)就視為安全,但在本實施方式中,通過判定整數(shù)r1以及r2是否為素數(shù),來判定自然數(shù)r是否為安全的群階數(shù),所以安全性進一步提高。
本實施方式中的基于ID的密碼通信系統(tǒng)800(密碼通信系統(tǒng))將以下點作為特征。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,具有剩余計算部431、判定值計算部432、以及素因數(shù)判定部433。
剩余計算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù)。
判定值計算部432的特征是,在剩余計算部431計算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計算部431計算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r1,判定整數(shù)r1是否為素數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r2,判定整數(shù)r2是否為素數(shù),在判定為整數(shù)r1不是素數(shù)的情況、以及判定為整數(shù)r2不是素數(shù)的情況下,判定為群階數(shù)候補生成部420生成的素數(shù)r不是安全的群階數(shù)。
根據(jù)本實施方式中的基于ID的密碼通信系統(tǒng)800,由于可以可靠地避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
本實施方式中的群參數(shù)生成裝置400將以下點作為特征。
群階數(shù)候補生成部420的特征是,使用CPU 911等處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補。
群階數(shù)安全性判定部430的特征是,具有剩余計算部431、判定值計算部432、以及素因數(shù)判定部433。
剩余計算部431的特征是,使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù)。
判定值計算部432的特征是,在剩余計算部431計算出的余數(shù)是1的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在剩余計算部431計算出的余數(shù)是3的情況下,使用CPU 911等處理裝置,根據(jù)上述規(guī)定的整數(shù)k、以及群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用CPU 911等處理裝置,根據(jù)群階數(shù)候補生成部420生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4。
素因數(shù)判定部433的特征是,使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r1,判定整數(shù)r1是否為素數(shù),并使用CPU 911等處理裝置,根據(jù)判定值計算部432計算出的整數(shù)r2,判定整數(shù)r2是否為素數(shù),在判定為整數(shù)r1不是素數(shù)的情況、以及判定為整數(shù)r2不是素數(shù)的情況下,判定為群階數(shù)候補生成部420生成的素數(shù)r不是安全的群階數(shù)。
根據(jù)本實施方式中的群參數(shù)生成裝置400,由于可以可靠地避免弄清了攻擊規(guī)則的群階數(shù),所以起到如下效果可以根據(jù)具有安全的群階數(shù)的乘法群,生成基于ID的密碼通信系統(tǒng)800中的密碼處理中使用的群參數(shù),可以確?;贗D的密碼通信系統(tǒng)800中的密碼通信的安全。
權(quán)利要求
1.一種密文生成裝置,生成將明文M通知給n個接收者(n是1以上的整數(shù))的密文C,其特征在于,具有
存儲信息的存儲裝置;處理信息的處理裝置;密碼參數(shù)存儲部;接收者識別輸入部;明文輸入部;密文主文生成部;哈希值計算部;密文驗證文生成部;以及密文結(jié)合部,
上述密碼參數(shù)存儲部使用上述存儲裝置,存儲公開密碼參數(shù),
上述接收者識別輸入部使用上述處理裝置,輸入分別識別n個接收者的n個接收者識別信息IDi(i是1以上n以下的整數(shù)),
上述明文輸入部使用上述處理裝置,輸入明文M,
上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述接收者識別輸入部輸入的n個接收者識別信息IDi以及上述明文輸入部輸入的明文M,生成與n個接收者對應(yīng)的n個密文主文CBi(i是1以上n以下的整數(shù)),
上述哈希值計算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個密文主文CBi而生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計算出哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)以及上述哈希值計算部計算出的哈希值H,生成密文驗證文CC,
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個密文主文CBi和上述密文驗證文生成部生成的密文驗證文CC,設(shè)為一個密文C。
2.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,上述密文生成裝置還具有隨機數(shù)生成部,
上述隨機數(shù)生成部使用上述處理裝置,隨機地生成與n個接收者對應(yīng)的n個整數(shù)si(i是1以上n以下的整數(shù)),
上述密文主文生成部具有第一密文生成部、第二密文生成部以及第三密文生成部,
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述明文輸入部輸入的明文M以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述接收者識別輸入部輸入的n個接收者識別信息IDi以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù)),
將上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i以及上述第三密文生成部生成的n個第三密文C3i,設(shè)為與n個接收者對應(yīng)的n個密文主文CBi,
上述哈希值計算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i以及上述第三密文生成部生成的n個第三密文C3i,設(shè)為一個結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個結(jié)合密文,計算出一個哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述隨機數(shù)生成部生成的n個整數(shù)si以及上述哈希值計算部計算出的一個哈希值H,生成與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù)),
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i、上述第三密文生成部生成的n個第三密文C3i和上述密文驗證文生成部生成的n個密文驗證文CCi,設(shè)為一個密文C。
3.根據(jù)權(quán)利要求2所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲部使用上述存儲裝置,作為公開密碼參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e、根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)任意長度的位串計算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2以及乘法群G2的要素h3的信息,
上述接收者識別輸入部使用上述處理裝置,輸入n個整數(shù)IDi而作為n個接收者識別信息,
上述隨機數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對e、密鑰生成函數(shù)KDF、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計算出的n個密鑰位串ki,對上述明文輸入部輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識別輸入部輸入的n個整數(shù)IDi以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素ui=(g1·g^-IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對e、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群GT的n個要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群GT的要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個自然數(shù)β0,而設(shè)為哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對e、上述隨機數(shù)生成部生成的n個整數(shù)si、以及上述哈希值計算部計算出的一個自然數(shù)β0,計算出與n個接收者對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群GT的n個要素yi的位串,設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
4.根據(jù)權(quán)利要求2所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲部使用上述存儲裝置,作為公開密碼參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e、根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長度的位串計算出乘法群GT的要素的兩個函數(shù)V1以及V2、根據(jù)任意長度的位串計算出規(guī)定長度的位串的哈希函數(shù)HF、乘法群G1的要素g、乘法群G1的要素g1以及乘法群G2的要素g2的信息,
上述接收者識別輸入部使用上述處理裝置,輸入n個規(guī)定長度的位串IDi而作為n個接收者識別信息,
上述隨機數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對e和密鑰生成函數(shù)KDF、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計算出的n個密鑰位串ki,對上述明文輸入部輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的函數(shù)V1、上述隨機數(shù)生成部生成的n個整數(shù)si以及上述接收者識別輸入部輸入的n個規(guī)定長度的位串IDi,計算出與n個接收者對應(yīng)的乘法群G2的n個要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),將分別表示所計算出的乘法群G2的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素vi=g^si(i是1以上n以下的整數(shù)),將分別表示所計算出的乘法群G1的n個要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個規(guī)定長度的位串w0,而設(shè)為哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機數(shù)生成部生成的n個整數(shù)si以及上述哈希值計算部計算出的一個規(guī)定長度的位串w0,計算出與n個接收者對應(yīng)的乘法群G2的n個要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),將分別表示計算出的乘法群G2的n個要素yi的位串,設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù))。
5.根據(jù)權(quán)利要求4所述的密文生成裝置,其特征在于,
上述密碼參數(shù)存儲部使用上述存儲裝置,作為表示兩個函數(shù)V1以及V2的信息而存儲表示乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的兩個要素h1’及h2’的信息,
上述第二密文生成部使用上述處理裝置,將上述接收者識別輸入部輸入的n個規(guī)定長度的位串IDi分別分割為m1個規(guī)定長度的位串viξ(ξ是1以上m1以下的整數(shù)),將分割的m1個規(guī)定長度的位串viξ作為m1個整數(shù)而進行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h1’、以及分割的m1個整數(shù)viξ,計算出函數(shù)V1的值即乘法群G2的要素V1(IDi)=h1’·∏(hξ^viξ)(ξ是1以上m1以下的整數(shù)),
上述密文驗證文生成部使用上述處理裝置,將上述哈希值計算部計算出的規(guī)定長度的位串w分割為m1個規(guī)定長度的位串vξ(ξ是1以上m1以下的整數(shù)),將分割的m1個規(guī)定長度的位串vξ作為m1個整數(shù)而進行處理,并使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G2的m1個要素hξ(ξ是1以上m1以下的整數(shù))和乘法群G2的要素h2’、以及分割的m1個整數(shù)vξ,計算出函數(shù)V2的值即乘法群G2的要素V2(w)=h2’·∏(hξ^vξ)(ξ是1以上m1以下的整數(shù))。
6.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文主文生成部使用上述處理裝置,生成包括上述接收者識別輸入部輸入的n個接收者識別信息IDi的n個密文主文CBi。
7.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有密文通知部,
上述密文通知部使用上述處理裝置,對根據(jù)上述接收者識別輸入部輸入的n個接收者識別信息IDi而識別的n個接收者,通知上述密文結(jié)合部結(jié)合的一個密文C。
8.根據(jù)權(quán)利要求1所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有對話密鑰生成部,
上述對話密鑰生成部使用上述處理裝置,隨機地生成規(guī)定長度的位串而設(shè)為對話密鑰K,
上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對話密鑰生成部生成的對話密鑰K。
9.根據(jù)權(quán)利要求8所述的密文生成裝置,其特征在于,
上述密文生成裝置還具有數(shù)據(jù)輸入部、數(shù)據(jù)加密部以及密文通知部,
上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個接收者的一個明文數(shù)據(jù),
上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對話密鑰生成部生成的對話密鑰K,對上述數(shù)據(jù)輸入部輸入的一個明文數(shù)據(jù)進行加密,而設(shè)為一個加密數(shù)據(jù),
上述密文通知部使用上述處理裝置,對根據(jù)上述接收者識別輸入部輸入的n個接收者識別信息IDi而識別的n個接收者,通知上述密文結(jié)合部結(jié)合的一個密文C和上述數(shù)據(jù)加密部加密的一個加密數(shù)據(jù)。
10.一種密碼通信系統(tǒng),對各自具有對應(yīng)的密文接收裝置的n個接收者(n是1以上的整數(shù)),利用一個密文C通知明文M,其特征在于,
具有密碼參數(shù)生成裝置、密文生成裝置以及多個密文接收裝置,
上述密碼參數(shù)生成裝置具有
存儲信息的存儲裝置;處理信息的處理裝置;秘密信息生成部;秘密信息存儲部;公開參數(shù)生成部;公開參數(shù)公開部;識別信息輸入部;秘密密鑰生成部;以及秘密密鑰通知部,
上述秘密信息生成部使用上述處理裝置,隨機地生成秘密信息,
上述秘密信息存儲部使用上述存儲裝置,存儲上述秘密信息生成部生成的秘密信息,
上述公開參數(shù)生成部使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息,生成公開密碼參數(shù),
上述公開參數(shù)公開部使用上述處理裝置,公開上述公開參數(shù)生成部生成的公開密碼參數(shù),
上述識別信息輸入部使用上述處理裝置,輸入對與上述多個密文接收裝置中的一個密文接收裝置對應(yīng)的一個接收者進行識別的接收者識別信息ID,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述秘密信息存儲部存儲的秘密信息、上述公開參數(shù)生成部生成的公開密碼參數(shù)以及上述識別信息輸入部輸入的接收者識別信息ID,生成與上述一個接收者對應(yīng)的秘密密鑰dID,
上述秘密密鑰通知部使用上述處理裝置,對與上述一個接收者對應(yīng)的一個密文接收裝置,秘密地通知上述秘密密鑰生成部生成的秘密密鑰dID,
上述密文生成裝置具有
存儲信息的存儲裝置;處理信息的處理裝置;密碼參數(shù)存儲部;接收者識別輸入部;明文輸入部;密文主文生成部;哈希值計算部;密文驗證文生成部;密文結(jié)合部;以及密文通知部,
上述密碼參數(shù)存儲部使用上述存儲裝置,存儲上述密碼參數(shù)生成裝置公開的公開密碼參數(shù),
上述接收者識別輸入部使用上述處理裝置,輸入分別識別n個接收者的n個接收者識別信息IDi(i是1以上n以下的整數(shù)),
上述明文輸入部使用上述處理裝置,輸入明文M,
上述密文主文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述接收者識別輸入部輸入的n個接收者識別信息IDi以及上述明文輸入部輸入的明文M,生成與n個接收者對應(yīng)的n個密文主文CBi(i是1以上n以下的整數(shù)),
上述哈希值計算部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個密文主文CBi而生成結(jié)合密文,并使用上述處理裝置,根據(jù)生成的結(jié)合密文,計算出哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)和上述哈希值計算部計算出的哈希值H,生成密文驗證文CC,
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述密文主文生成部生成的n個密文主文CBi和上述密文驗證文生成部生成的密文驗證文CC,設(shè)為一個密文C,
上述密文通知部使用上述處理裝置,對與上述n個接收者對應(yīng)的n個密文接收裝置,通知上述密文結(jié)合部結(jié)合的一個密文C,
上述多個密文接收裝置分別具有
存儲信息的存儲裝置;處理信息的處理裝置;公開參數(shù)存儲部;秘密密鑰存儲部;密文接收部;密文分解部;驗證哈希值計算部;密文驗證部;以及密文解密部,
上述公開參數(shù)存儲部使用上述存儲裝置,存儲上述密碼參數(shù)生成裝置公開的公開密碼參數(shù),
上述秘密密鑰存儲部使用上述存儲裝置,存儲上述密碼參數(shù)生成裝置通知的秘密密鑰dID,
上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個密文C,
上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個密文C,取得n個密文主文CBi和密文驗證文CC,
上述驗證哈希值計算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個密文主文CBi結(jié)合而得到的驗證結(jié)合密文,計算出驗證哈希值H’,
上述密文驗證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)、上述密文分解部取得的n個密文主文CBi中的對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)密文主文CBID、密文驗證文CC、以及上述驗證哈希值計算部計算出的驗證哈希值H’,判定上述密文接收部接收到的一個密文C中是否有匹配性,
上述密文解密部在上述密文驗證部判定為上述密文接收部接收到的一個密文C中有匹配性的情況下,使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)、上述秘密密鑰存儲部存儲的秘密密鑰dID、以及上述密文分解部取得的n個密文主文CBi中的對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)密文主文CBID,還原明文M。
11.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文生成裝置還具有隨機數(shù)生成部,
上述隨機數(shù)生成部使用上述處理裝置,隨機地生成與n個接收者對應(yīng)的n個整數(shù)si(i是1以上n以下的整數(shù)),
上述密文主文生成部具有第一密文生成部、第二密文生成部以及第三密文生成部,
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述明文輸入部輸入的明文M以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述接收者識別輸入部輸入的n個接收者識別信息IDi以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)以及上述隨機數(shù)生成部生成的n個整數(shù)si,生成與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù)),
將上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i和上述第三密文生成部生成的n個第三密文C3i,設(shè)為與n個接收者對應(yīng)的n個密文主文CBi,
上述哈希值計算部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i和上述第三密文生成部生成的n個第三密文C3i,設(shè)為一個結(jié)合密文,并使用上述處理裝置,根據(jù)結(jié)合的一個結(jié)合密文,計算出一個哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)、上述隨機數(shù)生成部生成的n個整數(shù)si以及上述哈希值計算部計算出的一個哈希值H,生成與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù)),
上述密文結(jié)合部使用上述處理裝置,結(jié)合上述第一密文生成部生成的n個第一密文C1i、上述第二密文生成部生成的n個第二密文C2i、上述第三密文生成部生成的n個第三密文C3i和上述密文驗證文生成部生成的n個密文驗證文CCi,設(shè)為一個密文C,
上述密文分解部使用上述處理裝置,根據(jù)上述密文接收部接收到的一個密文C,取得n個第一密文C1i、n個第二密文C2i、n個第三密文C3i以及n個密文驗證文CCi,使用上述處理裝置,在取得的n個第一密文C1i、n個第二密文C2i、n個第三密文C3i以及n個密文驗證文CCi之中,取得對應(yīng)于密文接收裝置所對應(yīng)的接收者的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID、一個對應(yīng)第三密文C3ID和一個對應(yīng)密文驗證文CCID,
上述驗證哈希值計算部使用上述處理裝置,根據(jù)將上述密文分解部取得的n個第一密文C1i、n個第二密文C2i和n個第三密文C3i結(jié)合而得到的驗證結(jié)合密文,計算出驗證哈希值H’,
上述密文驗證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)、上述密文分解部取得的一個對應(yīng)第二密文C2ID和一個對應(yīng)第三密文C3ID中的至少某一個與一個對應(yīng)密文驗證文CCID、以及上述驗證哈希值計算部計算出的驗證哈希值H’,判定上述密文接收部接收到的一個密文C中是否有匹配性,
在上述密文驗證部判定為上述密文接收部接收到的一個密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)、上述秘密密鑰存儲部存儲的秘密密鑰dID、以及上述密文分解部取得的一個對應(yīng)第一密文C1ID、一個對應(yīng)第二密文C2ID和一個對應(yīng)第三密文C3ID,還原明文M。
12.根據(jù)權(quán)利要求11所述的密碼通信系統(tǒng),其特征在于,
上述密碼參數(shù)生成裝置還具有群參數(shù)存儲部,
上述群參數(shù)存儲部使用上述存儲裝置,作為群參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e的信息,
上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲部存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α,
上述秘密信息存儲部使用上述存儲裝置,存儲表示上述秘密信息生成部生成的整數(shù)α的信息而作為秘密信息,
上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、以及根據(jù)任意長度的位串計算出小于上述自然數(shù)r的自然數(shù)的哈希函數(shù)HF,并使用上述處理裝置,根據(jù)上述群參數(shù)存儲部存儲的群參數(shù)所表示的乘法群G1與乘法群G2,隨機地選擇乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3,并使用上述處理裝置,根據(jù)上述秘密信息生成部生成的秘密信息所表示的整數(shù)α以及選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α,將表示上述群參數(shù)存儲部存儲的群參數(shù)、決定的密鑰生成函數(shù)KDF和哈希函數(shù)HF、選擇的乘法群G1的要素g、乘法群G2的要素g2、乘法群G2的要素h1、乘法群G2的要素h2和乘法群G2的要素h3、以及計算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù),
上述識別信息輸入部使用上述處理裝置,輸入整數(shù)ID作為接收者識別信息,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成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、上述秘密信息存儲部存儲的整數(shù)α、上述識別信息輸入部輸入的整數(shù)ID、以及生成的整數(shù)rID,1、整數(shù)rID,2和整數(shù)rID,3,計算出乘法群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、以及計算出的乘法群G2的要素hID,1、乘法群G2的要素hID,2和乘法群G2的要素hID,3的信息,設(shè)為秘密密鑰dID,
上述接收者識別輸入部使用上述處理裝置,輸入n個整數(shù)IDi而作為n個接收者識別信息,
上述隨機數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h1和配對e、密鑰生成函數(shù)KDF、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g,h1)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計算出的n個密鑰位串ki,對上述明文輸入部輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G1的要素g1、上述接收者識別輸入部輸入的n個整數(shù)IDi以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素ui=(g1·g^(-IDi))^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素g2和配對e、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群GT的n個要素vi=e(g,g2)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群GT的n個要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3,
上述哈希值計算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個自然數(shù)β0而設(shè)為哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、乘法群G2的要素h2、乘法群G2的要素h3和配對e、上述隨機數(shù)生成部生成的n個整數(shù)si以及上述哈希值計算部計算出的一個自然數(shù)β0,計算出與n個接收者對應(yīng)的乘法群GT的n個要素yi=e(g,h2)^si·e(g,h3)^(si·β0)(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群GT的要素yi的位串設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi(i是1以上n以下的整數(shù)),
上述驗證哈希值計算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出自然數(shù)β’,而設(shè)為驗證哈希值H’,
上述密文驗證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的配對e、上述秘密密鑰存儲部存儲的秘密密鑰dID所表示的整數(shù)rID,2、整數(shù)rID,3、乘法群G2的要素hID,2和乘法群G2的要素hID,3、上述密文分解部取得的一個對應(yīng)第二密文C2ID所表示的乘法群G1的要素uID和一個對應(yīng)第三密文C3ID所表示的乘法群GT的要素vID、以及上述驗證哈希值計算部計算出的自然數(shù)β’,計算出乘法群GT的要素y’=e(uID,hID,2·hID,3^β’)·vID^(rID,2+rID,3·β’),并使用上述處理裝置,對計算出的乘法群GT的要素y’和上述密文分解部取得的對應(yīng)密文驗證文CCID所表示的乘法群GT的要素yID進行比較,在乘法群GT的要素y’與乘法群GT的要素yID一致的情況下,判定為上述密文接收部接收到的一個密文C中有匹配性,
在上述密文驗證部判定為上述密文接收部接收到的一個密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的配對e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲部存儲的秘密密鑰dID所表示的整數(shù)rID,1和乘法群G2的要素hID,1、上述密文分解部取得的一個對應(yīng)第二密文C2ID所表示的乘法群G1的要素uID、以及對應(yīng)第三密文C3ID所表示的乘法群G2的要素vID,計算出密鑰位串k’=KDF(e(uID,hID,1)·vID^rID,1),并使用上述處理裝置,利用所計算出的密鑰位串k’,對上述密文分解部取得的對應(yīng)第一密文C1ID進行解密,還原明文M。
13.根據(jù)權(quán)利要求12所述的密碼通信系統(tǒng),其特征在于,
上述密碼通信系統(tǒng)還具有群參數(shù)生成裝置,
上述群參數(shù)生成裝置具有
處理信息的處理裝置、群階數(shù)候補生成部、群階數(shù)安全性判定部以及參數(shù)生成部,
上述群階數(shù)候補生成部使用上述處理裝置,生成素數(shù)r作為群階數(shù)的候補,
上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出素數(shù)r與1之差(r-1)的因數(shù)以及素數(shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補生成部生成的素數(shù)r是否為安全的群階數(shù),
在群階數(shù)安全性判定部判定為上述群階數(shù)候補生成部生成的素數(shù)r是安全的群階數(shù)的情況下,上述參數(shù)生成部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包含有表示所計算出的乘法群的信息的群參數(shù),
上述群參數(shù)存儲部使用上述存儲裝置,存儲上述群參數(shù)生成裝置生成的群參數(shù)。
14.根據(jù)權(quán)利要求13所述的密碼通信系統(tǒng),其特征在于,上述群階數(shù)候補生成部使用上述處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補,
上述群階數(shù)安全性判定部具有剩余計算部、判定值計算部和素因數(shù)判定部,
上述剩余計算部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù),
上述判定值計算部,在上述剩余計算部計算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計算部計算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補生成部生成的素數(shù)r不是安全的群階數(shù)。
15.根據(jù)權(quán)利要求13所述的密碼通信系統(tǒng),其特征在于,
上述群階數(shù)候補生成部使用上述處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補,
上述群階數(shù)安全性判定部具有剩余計算部、判定值計算部和素因數(shù)判定部,
上述剩余計算部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù),
上述判定值計算部,在上述剩余計算部計算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計算部計算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r1,判定整數(shù)r1是否為素數(shù),并使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r2,判定整數(shù)r2是否為素數(shù),在判定為整數(shù)r1不是素數(shù)的情況、以及判定為整數(shù)r2不是素數(shù)的情況下,判定為上述群階數(shù)候補生成部生成的素數(shù)r不是安全的群階數(shù)。
16.根據(jù)權(quán)利要求11所述的密碼通信系統(tǒng),其特征在于,
上述密碼參數(shù)生成裝置還具有群參數(shù)存儲部,
上述群參數(shù)存儲部使用上述存儲裝置,作為群參數(shù)而存儲表示自然數(shù)r、階數(shù)是上述自然數(shù)r的乘法群G1、階數(shù)是上述自然數(shù)r的乘法群G2、階數(shù)是上述自然數(shù)r的乘法群GT、以及根據(jù)乘法群G1的要素與乘法群G2的要素計算出乘法群GT的要素的配對e的信息,
上述秘密信息生成部使用上述處理裝置,根據(jù)上述群參數(shù)存儲部存儲的群參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)α,
上述公開參數(shù)生成部使用上述處理裝置,決定根據(jù)乘法群GT的要素計算出規(guī)定長度的位串的密鑰生成函數(shù)KDF、根據(jù)規(guī)定長度的位串計算出乘法群GT的要素的兩個函數(shù)V1和V2、以及根據(jù)任意長度的位串計算出規(guī)定長度的位串的哈希函數(shù)HF,并使用上述處理裝置,根據(jù)上述群參數(shù)存儲部存儲的群參數(shù)所表示的乘法群G1與乘法群G2,隨機地選擇乘法群G1的要素g和乘法群G2的要素g2,根據(jù)上述秘密信息生成部生成的整數(shù)α以及所選擇的乘法群G1的要素g,計算出乘法群G1的要素g1=g^α,并使用上述處理裝置,將表示上述群參數(shù)存儲部存儲的群參數(shù)、所決定的密鑰生成函數(shù)KDF、兩個函數(shù)V1及V2和哈希函數(shù)HF、所選擇的乘法群G1的要素g和乘法群G2的要素g2、以及計算出的乘法群G1的要素g1的信息,設(shè)為公開密碼參數(shù),
上述秘密信息生成部還使用上述處理裝置,根據(jù)生成的整數(shù)α以及上述公開參數(shù)生成部選擇的乘法群G2的要素g2,計算出乘法群G2的要素msk=g2^α,
上述秘密信息存儲部使用上述存儲裝置,將表示上述秘密信息生成部計算出的乘法群G2的要素msk的信息作為秘密信息而進行存儲,
上述識別信息輸入部使用上述處理裝置,輸入規(guī)定長度的位串ID而作為接收者識別信息,
上述秘密密鑰生成部使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成1以上且小于自然數(shù)r的整數(shù)rID,并使用上述處理裝置,根據(jù)上述公開參數(shù)生成部生成的公開密碼參數(shù)所表示的乘法群G1的要素g和函數(shù)V1、上述秘密信息存儲部存儲的秘密信息所表示的乘法群G2的要素msk、以及所生成的整數(shù)rID,計算出乘法群G2的要素d0ID=msk·V1(ID)^rID以及乘法群G1的要素d1ID=g^rID,并將表示所計算出的乘法群G2的要素d0ID與乘法群G1的要素d1ID的信息設(shè)為秘密密鑰dID,
上述接收者識別輸入部使用上述處理裝置,輸入n個規(guī)定長度的位串IDi而作為n個接收者識別信息,
上述隨機數(shù)生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的自然數(shù)r,隨機地生成與n個接收者對應(yīng)的n個1以上且小于自然數(shù)r的整數(shù)si(i是1以上n以下的整數(shù)),
上述第一密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g1、乘法群G2的要素g2、配對e和密鑰生成函數(shù)KDF、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的n個密鑰位串ki=KDF(e(g1,g2)^si)(i是1以上n以下的整數(shù)),并使用上述處理裝置,利用所計算出的n個密鑰位串ki,對上述明文輸入部輸入的明文M分別進行加密,而設(shè)為與n個接收者對應(yīng)的n個第一密文C1i(i是1以上n以下的整數(shù)),
上述第二密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的函數(shù)V1、上述接收者識別輸入部輸入的n個規(guī)定長度的位串IDi、以及上述隨機數(shù)生成部生成的n個整數(shù)si(i是1以上n以下的整數(shù)),計算出與n個接收者對應(yīng)的乘法群G2的n個要素ui=V1(IDi)^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G2的n個要素ui的位串,設(shè)為與n個接收者對應(yīng)的n個第二密文C2i(i是1以上n以下的整數(shù)),
上述第三密文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g、以及上述隨機數(shù)生成部生成的n個整數(shù)si,計算出與n個接收者對應(yīng)的乘法群G1的n個要素vi=g^si(i是1以上n以下的整數(shù)),并將分別表示所計算出的乘法群G1的n個要素vi的位串,設(shè)為與n個接收者對應(yīng)的n個第三密文C3i(i是1以上n以下的整數(shù)),
上述哈希值計算部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出一個規(guī)定長度的位串w0而設(shè)為哈希值H,
上述密文驗證文生成部使用上述處理裝置,根據(jù)上述密碼參數(shù)存儲部存儲的公開密碼參數(shù)所表示的函數(shù)V2、上述隨機數(shù)生成部生成的n個整數(shù)si、以及上述哈希值計算部計算出的一個規(guī)定長度的位串w0,計算出與n個接收者對應(yīng)的乘法群G2的n個要素yi=V2(w0)^si(i是1以上n以下的整數(shù)),并將分別表示計算出的乘法群G2的n個要素yi的位串設(shè)為與n個接收者對應(yīng)的n個密文驗證文CCi,
上述驗證哈希值計算部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的哈希函數(shù)HF,計算出規(guī)定長度的位串w’而設(shè)為驗證哈希值H’,
上述密文驗證部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的配對e和函數(shù)V2、上述密文分解部取得的對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID和上述驗證哈希值計算部計算出的規(guī)定長度的位串w’,計算出乘法群GT的要素e(vID,V2(w’)),并使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的乘法群G1的要素g和配對e、以及上述密文分解部取得的對應(yīng)密文驗證文CCID所表示的乘法群G2的要素yID,計算出乘法群GT的要素e(g,yID),并使用上述處理裝置,對計算出的乘法群GT的要素e(vID,V2(w’))和計算出的乘法群GT的要素e(g,yID)進行比較,在乘法群GT的要素e(vID,V2(w’))與乘法群GT的要素e(g,yID)一致的情況下,判定為上述密文接收部接收到的一個密文C中有匹配性,
在上述密文驗證部判定為上述密文接收部接收到的一個密文C中有匹配性的情況下,上述密文解密部使用上述處理裝置,根據(jù)上述公開參數(shù)存儲部存儲的公開密碼參數(shù)所表示的配對e和密鑰生成函數(shù)KDF、上述秘密密鑰存儲部存儲的秘密密鑰dID所表示的乘法群G2的要素d0ID和乘法群G1的要素d1ID、以及上述密文分解部取得的一個對應(yīng)第二密文C2ID所表示的乘法群G2的要素uID和對應(yīng)第三密文C3ID所表示的乘法群G1的要素vID,計算出密鑰位串k’=KDF(e(vID,d0ID)/e(d1ID,uID)),并使用上述處理裝置,利用所計算出的密鑰位串k’,對上述密文分解部取得的對應(yīng)第一密文C1ID進行解密,還原明文M。
17.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文主文生成部使用上述處理裝置,生成包含有上述接收者識別輸入部輸入的n個接收者識別信息IDi的n個密文主文CBi。
18.根據(jù)權(quán)利要求10所述的密碼通信系統(tǒng),其特征在于,
上述密文生成裝置還具有對話密鑰生成部、數(shù)據(jù)輸入部、數(shù)據(jù)加密部以及密文通知部,
上述對話密鑰生成部使用上述處理裝置,隨機地生成規(guī)定長度的位串而設(shè)為對話密鑰K,
上述明文輸入部使用上述處理裝置,作為明文M而輸入上述對話密鑰生成部生成的對話密鑰K,
上述數(shù)據(jù)輸入部使用上述處理裝置,輸入應(yīng)發(fā)送給n個接收者的一個明文數(shù)據(jù),
上述數(shù)據(jù)加密部使用上述處理裝置,利用上述對話密鑰生成部生成的對話密鑰K,對上述數(shù)據(jù)輸入部輸入的一個明文數(shù)據(jù)進行加密,設(shè)為一個加密數(shù)據(jù),
上述密文通知部使用上述處理裝置,對根據(jù)上述接收者識別輸入部輸入的n個接收者識別信息識別的n個接收者,通知上述密文結(jié)合部結(jié)合的一個密文C和上述數(shù)據(jù)加密部加密的一個加密數(shù)據(jù),
上述多個密文接收裝置還分別具有數(shù)據(jù)解密部,
上述密文接收部使用上述處理裝置,接收上述密文生成裝置通知的一個密文C與一個加密數(shù)據(jù),
上述數(shù)據(jù)解密部將上述密文解密部還原的明文M作為對話密鑰K’,并使用上述處理裝置,利用上述對話密鑰K’,對上述密文接收部接收到的一個加密數(shù)據(jù)進行解密。
19.一種群參數(shù)生成裝置,生成對各自具有對應(yīng)的密文接收裝置的n個接收者(n是1以上的整數(shù))利用一個密文C通知明文M的密碼通信系統(tǒng)中的密碼處理中所使用的乘法群的參數(shù),其特征在于,
具有處理信息的處理裝置、群階數(shù)候補生成部、群階數(shù)安全性判定部以及參數(shù)生成部,
上述群階數(shù)候補生成部使用上述處理裝置,生成素數(shù)r作為群階數(shù)的候補,
上述群階數(shù)安全性判定部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出素數(shù)r與1之差(r-1)的因數(shù)以及素數(shù)r與1之和(r+1)的因數(shù),并使用上述處理裝置,根據(jù)計算出的(r-1)的因數(shù)與(r+1)的因數(shù),判定上述群階數(shù)候補生成部生成的素數(shù)r是否為安全的群階數(shù),
上述參數(shù)生成部在群階數(shù)安全性判定部判定為上述群階數(shù)候補生成部生成的素數(shù)r是安全的群階數(shù)的情況下,使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r設(shè)為群階數(shù)的乘法群,并使用上述處理裝置,生成包含有表示所計算出的乘法群的信息的群參數(shù),
上述群參數(shù)存儲部使用上述存儲裝置,存儲上述群參數(shù)生成裝置生成的群參數(shù)。
20.根據(jù)權(quán)利要求19所述的群參數(shù)生成裝置,其特征在于,
上述群階數(shù)候補生成部使用上述處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補,
上述群階數(shù)安全性判定部具有剩余計算部、判定值計算部以及素因數(shù)判定部,
上述剩余計算部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù),
上述判定值計算部在上述剩余計算部計算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計算部計算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r1,判定整數(shù)r1是否具有比規(guī)定的整數(shù)B1小的素因數(shù),并使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r2,判定整數(shù)r2是否具有比規(guī)定的整數(shù)B2小的素因數(shù),在判定為整數(shù)r1具有比規(guī)定的整數(shù)B1小的素因數(shù)的情況、以及判定為整數(shù)r2具有比規(guī)定的整數(shù)B2小的素因數(shù)的情況下,判定為上述群階數(shù)候補生成部生成的素數(shù)r不是安全的群階數(shù)。
21.根據(jù)權(quán)利要求19所述的群參數(shù)生成裝置,其特征在于,
上述群階數(shù)候補生成部使用上述處理裝置,生成對規(guī)定的整數(shù)k的倍數(shù)加上1而得到的素數(shù)r而作為群階數(shù)的候補,
上述群階數(shù)安全性判定部具有剩余計算部、判定值計算部以及素因數(shù)判定部,
上述剩余計算部使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r除以4而得到的余數(shù),
上述判定值計算部在上述剩余計算部計算出的余數(shù)是1的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與4的最小公倍數(shù)LCM(k,4)而得到的商即整數(shù)r1=(r-1)/LCM(k,4),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以2而得到的商即整數(shù)r2=(r+1)/2,在上述剩余計算部計算出的余數(shù)是3的情況下,使用上述處理裝置,根據(jù)上述規(guī)定的整數(shù)k和上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之差(r-1)除以整數(shù)k與2的最小公倍數(shù)LCM(k,2)而得到的商即整數(shù)r1=(r-1)/LCM(k,2),并使用上述處理裝置,根據(jù)上述群階數(shù)候補生成部生成的素數(shù)r,計算出將素數(shù)r與1之和(r+1)除以4而得到的商即整數(shù)r2=(r+1)/4,
上述素因數(shù)判定部使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r1,判定整數(shù)r1是否為素數(shù),并使用上述處理裝置,根據(jù)上述判定值計算部計算出的整數(shù)r2,判定整數(shù)r2是否為素數(shù),在判定為整數(shù)r1不是素數(shù)的情況、以及判定為整數(shù)r2不是素數(shù)的情況下,判定為上述群階數(shù)候補生成部生成的素數(shù)r不是安全的群階數(shù)。
全文摘要
隨機數(shù)生成部(222)隨機地生成整數(shù)(s)。第一密文生成部(241)根據(jù)整數(shù)(s)對明文(M)進行加密而生成第一密文(C1)。第二密文生成部(242)根據(jù)整數(shù)(s)與接收者ID生成第二密文(C2)。第三密文生成部(243)根據(jù)整數(shù)(s)生成第三密文(C3)。哈希值計算部(244)結(jié)合第一密文(C1)、第二密文(C2)和第三密文(C3)而計算出哈希值(H0)。第四密文生成部(245)根據(jù)哈希值(H0)生成第四密文(C4)。密文結(jié)合部(246)結(jié)合第一密文(C1)、第二密文(C2)、第三密文(C3)和第四密文(C4)而生成密文(C)。由此,可以提供即使將對同一明文進行加密而得到的密文發(fā)送給多個接收者也安全的基于ID的公開密鑰密碼通信系統(tǒng)。
文檔編號G09C1/00GK101617351SQ20078005186
公開日2009年12月30日 申請日期2007年1月19日 優(yōu)先權(quán)日2007年1月19日
發(fā)明者高島克幸 申請人:三菱電機株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1