999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Cryptogrid計算系統的設計與實現

2007-12-31 00:00:00林東岱姜中華
計算機應用研究 2007年8期

摘要:簡要介紹網格、密碼計算特點和Cryptogrid的主要服務和組成,然后從系統需求、實現方法、主要功能模塊、子任務計算實現等幾個方面來剖析密碼網格計算系統。

關鍵詞:網格; 密碼計算; 密碼網格

中圖分類號:TP309文獻標志碼:A

文章編號:1001-3695(2007)08-0149-03

隨著計算機技術與通信技術的結合,計算機網絡發展進入了一個新的紀元。網絡技術飛速發展,給人們帶來新的挑戰——信息安全的重要性日益突出,同時帶來新的機遇—網格。

信息安全的重要性使得作為安全技術基礎的現代密碼學算法復雜性更高,計算量更大。同時與密碼學相關的密碼分析、密碼攻擊和密碼算法強度測試等均需要海量的計算資源。高效密碼計算平臺的研究、設計和開發成為密碼學研究的重要課題,而且在信息安全領域具有重大意義。傳統的大型機、并行計算、分布式計算、集群計算等是否能夠提供一個開放、通用、高效、可擴充、可移植和價格低廉密碼計算平臺呢?

網格,把整個互聯網看成一個超級計算機,一個全新的計算思維;而且它能夠整合傳統的分布式、集群,甚至是網際網絡等資源。它能否給密碼計算提供新的途徑呢?它能否解決傳統分布式計算遺留的問題?它能否彌補傳統分布式計算的不足?

密碼網格Cryptogrid就是在此背景下產生,它是結合新興的網格技術和Globus工具包設計的一個開放、通用、高效、可擴充、可移植和價格低廉的密碼計算平臺。它不僅彌補了傳統計算的一些不足,而且最大限度地整合了可利用的資源。Cryptogrid主要由控制系統和計算系統組成。控制系統負責并行化、傳輸、資源分配、安全等控制。計算系統主要完成子任務計算,是Cryptogrid的計算核心,也是Cryptogrid效率的關鍵。

1簡介

1.1網格簡介

簡單地說,理想的網格是透過網際網絡分享計算能力和各類資源與服務。網格的發展,并非電腦間單純的通信功能,其最終目標是要整合分散于全球的資源,構建一個超級計算機[1]?;诰W格的問題求解就是網格計算(grid computing)。目前網格計算在地球觀測、DNA分析、分布式數據挖掘等領域均取得顯著的作用[2]。

與網格計算相比,傳統的計算存在以下的特點和不足:大型機價格昂貴;并行計算、集群計算一般局限少數實驗室和機構;分布式計算是整合公司、企業和學術單位內部的資源;地理上的限制是這些計算共同的不足,同時計算資源有限,難以擴充也是傳統計算遺留的問題。網格的特點和計算思維的不同,使它成為目前眾多傳統計算向全球化規模發展的結果。它不再局限于某一個區域,而是憑著強有力的處理器,透過高速網絡的連接和復雜中間件,連接全球資源。網格自身的優點及其在相關領域的成功應用讓我們開始在密碼計算領域進行嘗試,并最終取得成功。

Globus項目是目前國際上最有影響力、最成熟、使用最廣泛的網格計算項目。Globus項目對信息安全、資源管理、信息服務、數據管理以及應用開發環境等網格計算的關鍵理論和技術進行了廣泛的研究[1]。Globus工具包(globus toolkit)是Globus最重要的實踐成果,它是基于社團的、開放源碼集合。Globus工具包能夠用來幫助規劃和組建大型的網格實驗和應用平臺,開發適合大型網格系統運行的大型應用程序。目前,Globus工具包已經在NASA網格(NASA IPG)、歐洲數據網格(data grid)以及美國國家技術網格(NTG)等眾多項目中得到應用[2]。本文所研究和開發的Cryptogrid就是基于Globus工具包3.x版本和Globus工具包4.0版本。

1.2密碼計算特點

現行的密碼算法主要包含對稱密碼體制、公鑰密碼體制和哈希算法[3]。與普通計算相比,大多數密碼計算的一個特點是計算量大,需要的存儲空間小;并且大多數密碼計算均是一些基本運算(如大整數運算、代換和置換等)的多次重復,算法實際上是一些不長的程序代碼。密碼計算的另一個重要特點是,大多數密碼計算均是可以并行化的。一般密碼計算并行化程序間數據耦合度底,功能相關性小,這使得程序間通信量相對較少,并行化控制簡單。密碼計算的特點決定了Cryptogrid整體設計以及密碼網格計算系統的設計。

1.3 Cryptogrid的主要服務和組成

Cryptogrid設計的主要目標是構建一個開放、通用、高效、可擴充、可移植和價格低廉的密碼計算平臺。基于密碼計算的特點和設計的目標,Cryptogrid主要實現了任務分割(divider)、任務結果拼接(collector)、任務管理(manager)、任務分發(dispatcher)、子任務計算(calculator)、復制(replica)等服務,如圖1所示。

2密碼網格計算系統

在Cryptogrid中,計算系統負責子任務的計算,計算系統運行在任何加入到Cryptogrid的計算資源上。從功能上講,它是Cryptogrid的計算核心,計算系統的效率是整個網格系統效率的關鍵。

2.1系統需求

1)可移植性好

與并行計算、集群計算和局限于某機構內部網絡的分布式計算不同的是,Cryptogrid要整合所有可使用的資源,特別是計算資源。這些資源包括專用密碼計算機(相關實驗機構或團體提供,一般是Linux系統)、Internet用戶提供的計算資源(各種異構操作系統)和其他虛擬組織提供的計算資源。計算系統運行在所有這些計算資源上。如何讓系統方便地移植到不同平臺、不同操作系統上運行,或者如何減少重復開發的代價,是計算系統設計的一個重要問題。

2)開放、通用、可擴充

Cryptogrid設計的一個重要原則就是開放、通用和可擴充。用戶可以自編新計算問題代碼,然后提交、執行新問題的計算。設計要求計算系統能夠根據不同的計算問題調用相應的計算代碼,并且可以自動擴充新計算問題的代碼。系統還能夠對計算代碼進行管理。

3)使用已有的計算函數庫

子任務的計算一般是一些簡單的數學運算(如大整數運算、矩陣運算)和基本的密碼計算(如ECC加密)的組合。目前存在很多可用的密碼計算函數庫,如Crypto++[4]、GMP、OpenSSL;還有數學計算函數庫,如Maple、Mathematic、Mathcad、Scientific WorkPlace、MATLAB、ELIMINO。大多數已有的函數庫是用C/C++實現的,一些特定的問題有優化的算法,執行效率高。如何減少重復開發的代價,以及如何讓子任務計算直接調用已有的函數庫是設計高效計算系統的關鍵。

其他的系統需求包括國際化、多線程、執行日志管理、幫助系統等。

2.2實現方法

1)用J2SE技術實現計算系統Java代碼可以移植到任何裝有Java虛擬機的平臺和系統上運行。同時Java對多線程和國際化有很好的支持。

2)具體子任務計算代碼壓縮成jar包,并在執行時使用Java反射機制自動裝配使用JNI(Java native interface)技術實現對C/C++函數庫的調用。

3)用XML文檔表示子任務、任務計算結果、系統的配置信息和本地代碼索引信息結合使用DOM (document object model)[7]技術和JAXP(Java API for XML parsing)[7]來對XML文檔進行處理。

2.3主要功能模塊

密碼網格計算系統包括子任務計算模塊、多任務計算控制模塊、計算代碼管理模塊、系統GUI模塊、日志管理模塊、幫助系統模塊等。其中子任務計算模塊是計算系統主要的功能模塊。

為了達到通用、可擴充的設計目標,系統采用一種統一的機制來表示子任務。如下代碼表示的是一個差分DES攻擊的子任務。其中包含子任務名字TaskName、子任務標志TaskID、任務數據RealData等。任務數據是一個嵌套的XML文檔,具體格式依賴于子任務對應的問題性質。

完整的子任務計算步驟:a)系統調用分發服務從控制系統取得子任務計算實例;b)解析子任務;c)根據解析出來的問題信息,加載相應的jar包和動態庫完成子任務的計算,進入步驟e);d)如果本地沒有問題的計算代碼,系統調用復制服務從控制系統下載相應的計算代碼,進入步驟c);e)調用分發服務上傳計算結果。

子任務計算步驟a)、d)、e)主要占用系統的網絡帶寬,步驟b)、c)主要占用系統的CPU周期。多線程機制優化了對系統資源的利用。多任務計算控制模塊對多個子任務計算進行控制,包括監視子任務計算情況、資源分配、線程調度、切換信息窗口等。

計算代碼管理模塊主要對本地子任務計算代碼進行管理。代碼索引信息保存了加載子任務計算代碼的相關參數。代碼索引信息包括問題名、版本號和依賴庫信息等。其中通過版本控制,系統自動地對不同版本的子任務計算代碼進行管理和升級。依賴庫實現了對C/C++函數庫的調用。在子任務計算過程中,根據解析出來的問題信息,查找代碼索引信息加載計算代碼。當復制得到新的計算代碼或版本更高的代碼后,系統將新問題的索引信息加入到代碼索引信息中。代碼索引信息如下:

2.4子任務計算實現

目前,系統已經實現了以下三類密碼問題的求解計算:對密鑰長度為56 bit DES進行并行蠻力攻擊(ExDES56),對素數域Fp上48 bit和49 bit群上的橢圓曲線進行并行Pollard rho攻擊(ECCp-48、ECCp-49),對8輪DES并行差分分析(DifDES)[5]。針對每種計算問題,均設計了并行化計算需要的計算任務分割插件、子任務計算插件、計算結果拼接插件。其中DifDES的計算分成兩個步驟,即差分分析和窮舉。兩個步驟均可以并行執行。其中ExDES56、ECCp-48、ECCp-49計算插件調用了Crypto++的動態庫。系統成功完成對上述三類問題的求解(其中ExDES56只對部分密鑰空間進行查找)。

3結束語

計算系統的實現達到預期的目標:可移植性使Cryptogrid整合了盡可能多有用的計算資源;系統能夠透明地升級和擴充計算代碼;同時系統充分整合了既有的、高效的密碼和數學函數庫。綜上所述,計算系統的實現遵循設計的目標:高效、可擴充、可移植。

作為Cryptogrid的計算核心,計算系統的實現不僅使得Cryptogrid成為在開放性、通用性、可擴充性和高效性等方面優于傳統分布式的密碼計算平臺;同時,計算系統的設計與實現綜合使用了網格技術、密碼技術、并行化技術、Java、XML等。這些技術的綜合使用也將給其他類似計算平臺或系統的設計提供參考價值。

參考文獻:

[1]都志輝,陳渝,劉鵬.網格計算[M].北京:清華大學出版社,2002:3-66.

[2]FOSTER I,KESSELMAN C.The grid 2:blueprint for a new computing infrastructure[M].[S.l.]:Morgan Kaufman,2003:2-223.

[3]STALLINGS W.Cryptography and network security principles and practice second edition [M]. 北京: 清華大學出版社, 2002:19-319.

[4]Crypto++ library 5.2.1[EB/OL].[2005].http://www.cryptopp.com.

[5]SCHNEIER B.應用密碼學[M].北京:機械工業出版社,2000:161-400.

[6]COUCH J.J2EE寶典[M].北京:電子工業出版社,2002:337-435.

[7]AKIF M, BRODHEAD S, CIOROIANU A,et al.Java XML 程序員參考手冊[K].北京:電子工業出版社,2002:127-306.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 中文字幕在线播放不卡| 97精品久久久大香线焦| 亚洲an第二区国产精品| 久草中文网| 国产免费久久精品99re不卡| 九九线精品视频在线观看| 欧美a在线视频| 亚洲欧美成人影院| 欧美黄网站免费观看| 日韩色图区| 自拍欧美亚洲| 欧美中文一区| 欧美午夜在线观看| 免费亚洲成人| 久久不卡国产精品无码| 国产成人精品第一区二区| 色吊丝av中文字幕| 国产精品人莉莉成在线播放| 无码久看视频| 亚洲一区二区成人| 国产一二三区在线| 天天综合网站| 五月综合色婷婷| 亚洲一区二区三区麻豆| 国产99精品久久| 日本影院一区| 一级不卡毛片| 污污网站在线观看| 亚洲毛片一级带毛片基地| 国产91无毒不卡在线观看| 天天躁日日躁狠狠躁中文字幕| 色网站在线免费观看| 国产老女人精品免费视频| 四虎精品国产AV二区| 亚洲h视频在线| 国产一国产一有一级毛片视频| 亚洲欧美精品一中文字幕| 国产麻豆福利av在线播放| 成人精品亚洲| 亚洲国产亚洲综合在线尤物| 久久一日本道色综合久久| 免费aa毛片| 免费不卡在线观看av| 欧美成人a∨视频免费观看| a级免费视频| 亚洲人成网线在线播放va| аⅴ资源中文在线天堂| 亚洲第一区在线| 国产精品久线在线观看| 国产91精品久久| 九九香蕉视频| 第一页亚洲| 国内精品久久久久久久久久影视| 中文无码精品A∨在线观看不卡| 二级特黄绝大片免费视频大片| 日韩av在线直播| 久草国产在线观看| 伊人久久大香线蕉综合影视| 全裸无码专区| 国产一级毛片高清完整视频版| 欧美不卡视频一区发布| 99久久精品免费视频| 日韩国产精品无码一区二区三区| 夜夜爽免费视频| 亚洲高清无码久久久| 精品免费在线视频| 91蜜芽尤物福利在线观看| 狠狠色丁香婷婷| 九色视频一区| 久久久精品无码一区二区三区| www.亚洲一区| 激情爆乳一区二区| 久久综合九九亚洲一区| 日韩资源站| 狠狠综合久久| 久久综合九九亚洲一区| 国产精品手机在线观看你懂的| 亚洲欧美不卡中文字幕| 久久久久免费精品国产| 国产香蕉国产精品偷在线观看| 在线a视频免费观看| 久久综合伊人 六十路|