【正文】
m1binds the mitment and plaintext by hash function。) is the greatest mon divisor function, =(p1)(q1),and 1e. Finally,TC putes the private key d which makes ed≡1mod((n)). In the mean while, TC publishes the public key (n, e) and keeps (d, p, q) secretly. Define (i=1,2,…,k)to be the signer who has a exclusive certificate (i=1,2,…,k),where is public, and M the message to be signed.TC putes and for every signer, and sends the certificate to each signer through a safe channel where H( CryptanalysisIntroductionMultisignature is a joint signature generated by a group of signers. The group has a security policy that requires a multisignature to be signed by all group members with the knowledge of multiple private keys. Digital multisignatures should have several basic properties [1]: (1)Multisignatures are generated by multiple group members with the knowledge of multiple private keys. (2) Multisignatures can be verified easily by using the group public key without knowing each signer s public key. (3) It is putationallyin feasible to generate the group signature without the cooperation of all group members.In 2003, Zhang et [2]proposed a sequential multisignature scheme based on RSA, in which all the signers use a mon modulus. The scheme has the advantages of low putation and munication costs, and can resist forgery and coalition attacks. The difficulty of breaking the system is equivalent to that of factoring a large integer into its twolarge prime factors. However, our cryptanalysis of Zhang et ’s scheme finds a serious problem。 Sequential multisignature。在學(xué)分攻讀期間,王少華,尹繼武,陳莉,王戰(zhàn)備,龍光利,侯寶生,張文麗,陳正濤等各位老師無私的將自己所掌握的知識傳授于我;在畢設(shè)程序調(diào)試階段他們給予許多熱情的指導(dǎo),在這里我對他們深表感謝。 致謝首先感謝我的指導(dǎo)張文麗老師的細心指導(dǎo)和各論壇程序員朋友的支持與建議。2. 加密系統(tǒng)的配合應(yīng)用研究在當今還沒有一個較RSA公鑰密碼系統(tǒng)更為優(yōu)秀的密碼系統(tǒng)出現(xiàn)之前,能夠既利用RSA加密系統(tǒng)的高安全性又利用其他密碼系統(tǒng)的高效性,進行加密系統(tǒng)的配合使用可以有效的解決問題。RSA雖然具有其它眾多加密體制無法比擬的安全性能,但其工作效率一直影響其進一步發(fā)展,為進一步提高RSA的效率,增大適用范圍,進一步需要開展的工作有:1. 新的實現(xiàn)算法的研究在現(xiàn)有的RSA實現(xiàn)算法中不論是以降低指數(shù)為手段減少替代次數(shù)進而提高運算效率的指數(shù)進制化算法還是目前公認的以將普通的模余轉(zhuǎn)換成模n同余并進行相應(yīng)操作為手段的具有較高模乘性能的算法,都存在算法改進不足或適用范圍受限制的問題。2. 為了減少RSA模冪乘運算過程耗時,提高RSA加解密的速度,選擇了當前RSA主要算法中的指數(shù)進制化算法、基于乘同余特性的SMM算法進行深入研究,分析總結(jié)出兩種算法的優(yōu)缺點并據(jù)此提出一種組合型的改進算法,在算法的改進一節(jié)中提及,我們下一步的研究工作將是以實驗為基礎(chǔ)比較所提出的改進算法與原有算法得出新算法效率有一定程度提高的結(jié)論,達到預(yù)先設(shè)想的結(jié)果。通過對數(shù)論基礎(chǔ)(歐拉定理、乘法逆元等)以及加解密變換的研究,分析了RSA實現(xiàn)加解密的過程。論文以對RSA體制所采用的數(shù)論基礎(chǔ)的研究為前提,結(jié)合多種RSA實現(xiàn)算法,對影響RSA效率的關(guān)鍵環(huán)節(jié)——模冪乘積的運算進行了深入的研究分析,并提出了改進方案。2) 分組長度太大,為保證安全性,n 至少也要600bit s 以上,運算代價高、速度慢,較對稱密碼算法慢幾個數(shù)量級,而且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,。公鑰密碼體制的產(chǎn)生是密碼學(xué)由傳統(tǒng)的政府、軍事等應(yīng)用領(lǐng)域走向商用、民用的基礎(chǔ),同時互聯(lián)網(wǎng)、電子商務(wù)的發(fā)展為密碼學(xué)的發(fā)展開辟了更為廣闊的前景。密鑰管理:密鑰是保密系統(tǒng)中更為脆弱而重要的環(huán)節(jié),公鑰密碼體制是解決密鑰管理工作的有力工具;利用公鑰密碼體制進行密鑰協(xié)商和產(chǎn)生,保密通信雙方不需要事先共享秘密信息;利用公鑰密碼體制進行密鑰分發(fā)、保護、密鑰托管、密鑰恢復(fù)等。利用秘密共享技術(shù)可以控制任何需要多個人共同控制的秘密信息、命令等。在政府機關(guān)、軍事領(lǐng)域、商業(yè)領(lǐng)域有廣泛的應(yīng)用環(huán)境。使用公私鑰密碼體制進行保密通信時,信息接收者只有知道對應(yīng)的密鑰才可以解密該信息。除傳統(tǒng)的密碼應(yīng)用系統(tǒng)外,PKI系統(tǒng)以公鑰密碼技術(shù)為主,提供加密、簽名、認證、密鑰管理、分配等功能。因此, 利用數(shù)字簽名技術(shù)可以有效地達到電子商務(wù)系統(tǒng)中信息傳遞的保密性、完整性、認證性和不可否認性等要求, 有效防止各種電子商務(wù)中的安全隱患, 充分實現(xiàn)電子商務(wù)交易活動中的信息安全。 接收者能夠利用發(fā)送方的公鑰核實發(fā)送者發(fā)送的報文簽名, 由于接收者不知道發(fā)送方的密鑰, 就不可能偽造發(fā)送者的報文簽名( 即認證性) 。基于RSA 算法的數(shù)字簽名技術(shù)在電子商務(wù)安全中的應(yīng)用, 就可以防止交易過程中偽造、篡改信息, 或冒用別人名義發(fā)送信息, 或發(fā)出( 收到) 信件后又加以否認等情況發(fā)生。5 RSA算法的實際應(yīng)用及發(fā)展 算法的應(yīng)用RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一??朔鲜鋈觞c的辦法是對消息進行簽名之前作雜湊變換,亦稱雜湊函數(shù)計算。(4) 由于RSA算法每次只能對[log2n]比特長的消息進行簽名,這就的消息簽名變得繁瑣。然而密鑰長度的猛增,對RSA的應(yīng)用帶來嚴重的負面影響,使其應(yīng)用范圍越來越受到制約。RSA算法運行中所需要的密鑰長度變得越來越大,使其計算量也猛增。驗證算法使用RSA的加密規(guī)則Ek,因為Ek是公開的,保存在公開的信任機構(gòu)服務(wù)器中,所以任何人能驗證一個簽名。對K=(n,p,q,a,b),簽名及驗證算法定義如下:簽名算法:y=Sigk (x)=xamodn,n∈Z; ()驗證算法:Verk(x,y)=真x=y6 modn,x,y∈Zn。設(shè)n=pq,p、q是兩個大素數(shù),消息空間和簽名空間為P=A=Zn,定義K={(n,p,q,a,b)ln=pq,p,q為素數(shù),ab=l(mod(n))}。對于任意的一個密鑰對(sk,vk)∈K,每一個消息m∈M和簽名s∈S,簽名變換SIG:MKsk→S和驗證變換VER:MSKlvk→{true,false}是滿足下列條件的函數(shù): () RSA是目前使用最為廣泛、最著名的公開密鑰系統(tǒng),它是由麻省理工學(xué)院的三位學(xué)者Rivest、Shamir和Adleman于1978年提出的。數(shù)字簽名,可以加密要簽名的信息。(5)機密性(保密性):有了機密性保證,截收攻擊也就失效了。(4)防抵賴:數(shù)字簽名可以鑒別身份,不可能冒充偽造,那么,只要保存好簽名的報文,就好似保存好了手工簽署的合同文本,也就是保留了證據(jù),簽名者就無法抵賴。(2)防篡改(防破壞信息的完整性):數(shù)字簽名時,簽名與原有文件已經(jīng)形成了一個混合的整體數(shù)據(jù),不可能篡改,從而保證了數(shù)據(jù)的完整性??设b別身份:由于傳統(tǒng)的手工簽字一般是雙方直接見面的,身份可以很清楚;在網(wǎng)絡(luò)環(huán)境中,接收方必須能夠鑒別發(fā)送方宣稱的身份。(1)防冒充(偽造):其他人不能偽造對消息的簽名,因為私有密鑰只有簽名者自己知道,所以其他人不可能構(gòu)造出正確的簽名結(jié)果數(shù)據(jù)。驗證算法通常也受一個驗證密鑰的控制,但驗證算法和驗證密鑰應(yīng)當是公開的,以便需要驗證簽名的人能夠方便的驗證[7]。一個數(shù)字簽名體制一般包含兩個組成部分:簽名算法(Signature Algorithm)和驗證算法(Verification Algorithm)。(5)按照數(shù)字簽名的功能可將數(shù)字簽名分為:普通數(shù)字簽名和特殊數(shù)字簽名。(3)按照數(shù)字簽名的特性分類:可分為不具有消息自動恢復(fù)的數(shù)字簽名和具有消息自動恢復(fù)特性的數(shù)字簽名。按照不同的分類方式可以對數(shù)字簽名進行不同的分類:(1)按照數(shù)學(xué)難題分類:數(shù)字簽名方案可分為基于離散對數(shù)問題的簽名方案和基于素因子分解問題的簽名方案。接收者只有用發(fā)送的公鑰才能解密被加密的摘要信息,然后用Hash函數(shù)對收到的原文產(chǎn)生一個摘要信息,與解密的摘要信息對比?!睌?shù)字簽名主要的功能是:保證信息傳輸?shù)耐暾?、發(fā)送者的身份認證、防止交易中的抵賴發(fā)生。這位數(shù)字簽名的發(fā)展奠定了理路基礎(chǔ)。結(jié)果與傳輸前的明文完全一致,加密解密成功。 開始對密文緩沖中的數(shù)據(jù)解密,結(jié)果存入明文緩沖從密文中讀出加密過的明文擴展名 對密文形式的明文擴展名進行解密,并將解密得到的擴展名與新明文的文件名連接成新明文的全名 用新明文的全名創(chuàng)建一個文件將明文緩沖區(qū)中的解密結(jié)果寫入新明文成功創(chuàng)建文件?結(jié)束密文中的數(shù)據(jù)全部讀出了嗎?關(guān)閉密文關(guān)閉新明文 解密流程圖 運行過程 具體實現(xiàn)過程如下:,將程序保存在此文件中,然后由matlab的file菜單下的open命令找到保存的程序,再點擊debug菜單下的run命令運行此程序, 密鑰產(chǎn)生根據(jù)提示隨意輸入兩個素數(shù),如:p=11,q=23,: b 明文輸入在界面提示處如入待加密的明文,如:“ xia wu san dian xing dong dai shang AK47” ,按回車后,: 密文產(chǎn) 算法程序程序見附錄B 結(jié)論分析 開始輸入兩個素數(shù)p=11和q=23產(chǎn)生公鑰和私鑰e和d,通過調(diào)用hash變換將輸入明文的英文字母轉(zhuǎn)換為ASCII碼,用公鑰通過加密公式C= mi^e ( mod n )對明文進行加密,在仿真軟件上顯示出密文為亂碼,第三方竊取也無法理解其意思,加密成功。 然而只根據(jù)r和e(不是p和q)要計算出d是不可能的。將明文P (假設(shè)P是一個小于r的整數(shù))加密為密文C,計算方法為:C= mi^e ( mod n )開始打開要加密的明文成功打開文件? N Y新建一個文件,用于存密文 成功新建文件? N Y Y將明文的擴展名逐字節(jié)加密,并將結(jié)果寫入密文從明文中一次讀入固定長度的字節(jié)到緩沖結(jié)束對緩沖區(qū)的數(shù)據(jù)逐字節(jié)加密,并將結(jié)果寫入密文關(guān)閉明文明文的數(shù)據(jù)全部讀出了嗎?關(guān)閉密文 N Y 加密流程圖(3). 解密經(jīng)過解密算法,將密文回復(fù)為原來的明文。 ④ 公開整數(shù)n和e,但是不公開d; 根據(jù)e、p和q可以容易地計算出d。 d * e = 1 mod(p 1)*(q 1)注意:e的選取是很容易的,例如,所有大于p和q的素數(shù)都可用。 加密信息 m(二進制表示)時,首先把m分成等長數(shù)據(jù)塊 m1 ,m2,..., mi ,