• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向動態(tài)框架的數(shù)據(jù)交互規(guī)范研究

    2012-05-04 08:08:44史國振李鳳華謝絨娜唐志濤
    計算機工程與設計 2012年6期
    關(guān)鍵詞:調(diào)用密碼組件

    史國振,李鳳華,謝絨娜,唐志濤

    (1.北京電子科技學院 電子信息工程系,北京100070;2.北京電子科技學院 信息安全系,北京100070;3.西安電子科技大學 計算機學院,陜西 西安710071)

    0 引 言

    為了保證密碼算法的可用性,針對密碼算法的各類測評軟件和工具的研究成為國內(nèi)外研究的熱點[1-2]。許多國家先后啟動密碼算法標準化工作,大量國內(nèi)外專家致力于密碼算法及測評標準的研究與開發(fā)[3-8]。文獻 [9]設計并實現(xiàn)了一種分組密碼算法的測試平臺,將分組密碼各個組成部件包括S盒、輪函數(shù)、密鑰擴展等設計方法歸類總結(jié),同時也給出了一些比較實用的方法;文獻 [10-12]設計并實現(xiàn)了一種密碼算法測試平臺,分別從算法、軟件和硬件等方面給予說明及實現(xiàn)。但上述密碼算法和測試方法在使用上缺乏靈活性。文獻 [13-14]提出了動態(tài)可重組的軟件設計框架,為用戶提供一種動態(tài)、可擴展和可定制的密碼算法測試環(huán)境,但并沒有給出各組件間靈活的數(shù)據(jù)交換規(guī)范,使得在設計過程中軟件的靈活性和實用性受到了一定的限制。

    本文針對密碼算法測評及其動態(tài)框架的設計需求,在動態(tài)可重構(gòu)軟件框架的基礎上研究了可擴展和可定制的各組件之間數(shù)據(jù)交互規(guī)范。

    1 動態(tài)可重組框架

    1.1 動態(tài)可重組的組件集成框架

    動態(tài)可重組系統(tǒng)框架如圖1所示?;究蚣苡杉烧{(diào)度平臺、組件管理模塊、公共組件以及組件信息數(shù)據(jù)庫和配置文件構(gòu)成。組件信息數(shù)據(jù)庫記錄、管理和維護系統(tǒng)中的組件信息及其運行狀態(tài);組件管理模塊根據(jù)組件信息數(shù)據(jù)庫、配置文件管理系統(tǒng)中的組件;集成調(diào)度平臺是系統(tǒng)的主控程序,實現(xiàn)當前系統(tǒng)所加載的組件,將其功能以直觀的形式顯現(xiàn)給用戶,根據(jù)用戶的選擇調(diào)用組件中的具體功能;公共組件為系統(tǒng)提供輸入輸出功能。

    密碼組件和測評組件在系統(tǒng)中統(tǒng)稱為私有組件,可以由用戶根據(jù)個體需要進行訂制、添加和刪除,形成不同的使用環(huán)境。測評組件在系統(tǒng)中體現(xiàn)為測評的具體功能,密碼組件在系統(tǒng)中體現(xiàn)為具體的密碼算法資源。系統(tǒng)中各個部分的交互關(guān)系如圖2所示。

    圖1 系統(tǒng)框架

    圖2 集成框架各部分關(guān)系

    1.2 組件間數(shù)據(jù)交互流程

    該動態(tài)可重組的軟件集成框架由數(shù)據(jù)庫、集成調(diào)用平臺、組件管理模塊和組件組成。其中,集成調(diào)用平臺負責界面的顯示、對組件功能的調(diào)用以及系統(tǒng)的調(diào)配;組件模塊包含了公共組件、私有組件、管理組件3個子模塊,其主要是作為最小的系統(tǒng)加載在最初的集成調(diào)用平臺上。公共組件主要對系統(tǒng)內(nèi)部信息進行初始化;私有組件通過與公共組件進行數(shù)據(jù)交互,對公共組件接收到的外部數(shù)據(jù)進行處理;管理組件主要是負責對組件的加載、卸載以及子功能和菜單的管理。當組件做加載操作時組件的相關(guān)信息被記錄到數(shù)據(jù)庫中,集成調(diào)用平臺則通過讀取數(shù)據(jù)庫中的相關(guān)表格相關(guān)字段獲取信息,實現(xiàn)內(nèi)部的操作。各個部分的交互關(guān)系如圖3所示。

    測評系統(tǒng)中各個組件交互的具體流程如下:

    步驟1 運行測評系統(tǒng),輸入測評配置文件。如果用戶選擇手動配置XML文件則彈出對話框,要求用戶輸入測評所需的信息和數(shù)據(jù),由測評系統(tǒng)生成XML文件;如果用戶選擇自動配置XML文件則執(zhí)行步驟2。

    步驟2 動態(tài)框架解析XML文件獲取用戶選擇的測評方法的信息。

    步驟3 動態(tài)框架獲取一個測評方法,調(diào)用測評組件,將該測評方法的信息傳給測評組件,進行一個測評方法的測評。

    (1)測評組件調(diào)用公共庫組件獲取該測評方法對應的密碼算法的信息和數(shù)據(jù)。

    (2)測評組件解析公共庫組件傳過來的數(shù)據(jù),統(tǒng)計測評所需的密碼算法組件數(shù)目。

    (3)測評組件調(diào)用密碼算法組件進行密碼算法測評。

    1)密碼算法組件對數(shù)據(jù)進行加密/解密操作。

    2)測評組件利用測評方法對密碼算法組件處理過的數(shù)據(jù)進行測評。

    3)測評組件調(diào)用公共庫組件輸出測評結(jié)果。

    (4)判斷所有的密碼算法組件是否已全部調(diào)用,如果沒有則返回(3)處執(zhí)行。

    步驟4 判斷所有的測評方法是否已完成測評,如果沒有則返回步驟3處執(zhí)行。

    步驟5 綜合處理測評結(jié)果,測評結(jié)束。

    2 通用可擴展數(shù)據(jù)交互規(guī)范的設計

    2.1 數(shù)據(jù)交互規(guī)范的定義

    為了為系統(tǒng)各組件之間進行數(shù)據(jù)傳遞提供一種統(tǒng)一的數(shù)據(jù)交互規(guī)范,各組件間數(shù)據(jù)交互采用n層次的數(shù)據(jù)格式,以n=3為例,數(shù)據(jù)格式如圖3所示。

    圖3 版本號為1.0即FunID為數(shù)字形式時緩沖區(qū)中數(shù)據(jù)結(jié)構(gòu)定義

    第一層次為主結(jié)構(gòu)體,該層次主要包括:數(shù)據(jù)交互的版本號,用于區(qū)別數(shù)據(jù)傳遞的基本類型;結(jié)構(gòu)體層數(shù),用于解析數(shù)據(jù)的程序進行數(shù)據(jù)的結(jié)構(gòu)化分類;算法個數(shù),用于對屬于本次測試的不同算法所需要的數(shù)據(jù)進行分割;具體結(jié)構(gòu)體,填寫相應算法的基本信息以及進行相應測試時所需要的所有數(shù)據(jù)。

    第二層次算法結(jié)構(gòu)體,該層次具體描述在某個算法范疇內(nèi)進行測試所需要的數(shù)據(jù)信息,主要包括:算法的功能號FunID,用于唯一標識系統(tǒng)中的算法;該類測試中測試類型數(shù)目(子結(jié)構(gòu)體數(shù)目):用于解析數(shù)據(jù)的程序進行數(shù)據(jù)的結(jié)構(gòu)化分類;子結(jié)構(gòu)體指針,用于標示本項目中數(shù)據(jù)存放的起始位置;子結(jié)構(gòu)體,用于存放本類算法測試所需要的相關(guān)數(shù)據(jù)。

    第三層次測試數(shù)據(jù)結(jié)構(gòu)體,具體描述算法測試所需要的各種數(shù)據(jù)。主要包括:子命令字,表示數(shù)據(jù)類型;數(shù)據(jù)標示,用于標示數(shù)據(jù)的輸入格式和來源;數(shù)據(jù)長度,用于表明數(shù)據(jù)的具體長度。

    結(jié)構(gòu)體的具體定義如下,每個結(jié)構(gòu)體只列出了部分成員變量。

    ⑴ 主結(jié)構(gòu)體

    Version標識了現(xiàn)在所用數(shù)據(jù)交互規(guī)范的版本,每個數(shù)據(jù)交互的規(guī)范都對應著一個版本號。LayerNum表示數(shù)據(jù)交互規(guī)范中使用的結(jié)構(gòu)體層數(shù),結(jié)構(gòu)體層數(shù)可以根據(jù)用戶開發(fā)的系統(tǒng)的具體需求定義,本系統(tǒng)中根據(jù)密碼算法測試的具體需求定義了三層結(jié)構(gòu)體的具體數(shù)據(jù)交互形式,該值固定為3。

    ⑵ 算法結(jié)構(gòu)體

    為了方便用戶對系統(tǒng)的擴展,密碼算法FunID提供了數(shù)字和字符串兩種形式,對應的算法結(jié)構(gòu)體就分為了Alg-InfoHdr和AlgInfoHdr2。若主結(jié)構(gòu)體中的版本號為1.0,則表示密碼算法的FunID使用數(shù)字形式表示,調(diào)用算法信息結(jié)構(gòu)體AlgInfoHdr,MainCmdCode用于表示密碼算法對應的FunID或者0;若主結(jié)構(gòu)體的版本號為2.0,則表示密碼算法的FunID使用字符串形式表示,調(diào)用算法信息結(jié)構(gòu)體AlgInfoHdr2,MainCmdStrBytes表示密碼算法對應的FunID所占的字節(jié)數(shù)。SubStructNum用于標識命令參數(shù)結(jié)構(gòu)體的數(shù)據(jù),包括密碼算法組件的DLL名、密碼算法組件的接口函數(shù)名、測試次數(shù)、密鑰、初始向量和明文數(shù)據(jù)。

    (3)數(shù)據(jù)子結(jié)構(gòu)體

    SubCmdCode用于標識測評所需的數(shù)據(jù),包括密碼算法組件的DLL名、密碼算法組件的接口函數(shù)名、測評類型、測試次數(shù)、密鑰、初始向量和明文。DataLength用于表示測評所需數(shù)據(jù)的數(shù)據(jù)長度。

    數(shù)據(jù)交互過程中,測評系統(tǒng)根據(jù)數(shù)據(jù)交互規(guī)范的版本號調(diào)用不同的算法信息結(jié)構(gòu)體,根據(jù)定義好的數(shù)據(jù)結(jié)構(gòu)向測評組件與公共庫組件交互的緩沖區(qū)和測評組件與密碼算法組件交互的緩沖區(qū)中填充數(shù)據(jù),具體交互格式分為版本1.0和版本2.0。版本號1.0其中FunID使用第二層算法信息結(jié)構(gòu)體成員變量即可表示;版本號2.0FunID需要第二層算法結(jié)構(gòu)體中額外的空間用于存放其對應的字符串形式。

    2.2 命令碼定義

    測評系統(tǒng)通過命令碼來獲取測評所需的信息從而調(diào)用不同的數(shù)據(jù)處理函數(shù)。測評系統(tǒng)組件間數(shù)據(jù)交互規(guī)范是為了方便組件間正確的獲取數(shù)據(jù)、解析數(shù)據(jù)和傳遞數(shù)據(jù)而制定的。測評所需的信息需要在命令碼中標識出來。因此測評系統(tǒng)組件間的數(shù)據(jù)交互的規(guī)范需要給主命令碼和次命令碼的每一位都賦予含義,確保該命令碼包含所有測評所需的信息。每個組件獲取主命令碼和次命令碼并對其解析從而調(diào)用不同的數(shù)據(jù)處理函數(shù)來處理數(shù)據(jù),最終將測評所需的信息和數(shù)據(jù)傳給下一個組件。主命令碼和次命令碼的定義分別如圖4、圖5所示。

    3 通用可擴展數(shù)據(jù)交互規(guī)范的實現(xiàn)

    基于上述通用可擴展數(shù)據(jù)交互規(guī)范,本文設計并實現(xiàn)了動態(tài)可重組的自動化測評系統(tǒng)。測評系統(tǒng)各組件都按照統(tǒng)一的數(shù)據(jù)交互規(guī)范獲取數(shù)據(jù)、解析數(shù)據(jù)和傳遞數(shù)據(jù),從而實現(xiàn)對密碼算法或樣本數(shù)據(jù)的測評。下面以密碼算法多次測評所需的數(shù)據(jù)部分相同來描述通用可擴展數(shù)據(jù)交互規(guī)范的實現(xiàn)過程。

    公共庫組件解析XML文件獲取測評所需的數(shù)據(jù)總長度小于緩沖區(qū)所申請的內(nèi)存空間,因此測評組件解析緩沖區(qū)中數(shù)據(jù)傳給密碼算法組件。該測試的主要目的是檢驗測評系統(tǒng)是否嚴格按著數(shù)據(jù)交互的規(guī)范正確的組織數(shù)據(jù),測試結(jié)果如圖6所示。

    圖6 測試結(jié)果

    4 結(jié)束語

    本文通過對密碼算法測評系統(tǒng)動態(tài)可重構(gòu)軟件框架的組件間數(shù)據(jù)傳遞規(guī)范進行了研究,詳細分析了各個組件間的相互關(guān)系和工作流程,定義了一種可進行動態(tài)擴展并能夠適應各種密碼算法測試的數(shù)據(jù)交互規(guī)范。通過對AES、Grain128等18種密碼算法的單比特頻率、矩陣秩檢驗等國際通用的16種算法測試標準[15]進行了相關(guān)的測試應用,該規(guī)范可以滿足所用的相關(guān)算法、相關(guān)測試項目的測試需求。該數(shù)據(jù)交互規(guī)范統(tǒng)一了組件間數(shù)據(jù)交互的格式,方便了用戶自定義組件的編寫,滿足了多種密碼算法、多種數(shù)據(jù)、多種測試需求的密碼算法測試過程中的數(shù)據(jù)傳遞,有利于系統(tǒng)可重構(gòu)性和動態(tài)性的體現(xiàn)。

    本文中的提出的數(shù)據(jù)交互規(guī)范及動態(tài)框架已經(jīng)在863計劃 “密碼算法和安全協(xié)議自動化檢測工具開發(fā)及測評系統(tǒng)”中得到了應用,并獲得了相關(guān)施用單位的肯定。

    [1]Stinsond D R.Cryptography:Theory and practice [M].Boca Raton:Chapman & Hall/CRC Press,2005.

    [2]Junod P.Statistical cryptanalysis of block ciphers [D].Switzerland:Federal Polytechnic School of Lausanne,2004.

    [3]WU Wenling,HE Yeping,F(xiàn)ENG Dengguo,et al.Brief commentary on the 21st century european data encryption stand and candidate algorithms [J].Journal of Software,2001,12(1):49-55(in Chinese).[吳文玲,賀也平,馮登國,等.歐洲21世紀數(shù)據(jù)加密標準候選算法簡評 [J].軟件學報,2001,12(1):49-55.]

    [4]LI Fenghua,YAN Junzhi,XIE Rongna,et al.Research on the programming language for symmetric cryptographic algorithms[J].Chinese Journal of Electronics,2010,19(2):303-306.

    [5]FAN Limin,F(xiàn)ENG Dengguo,ZHOU Yongbin.Parameter selection of autocorrelation test for block ciphers [J].Journal on Communications,2009,30(7):86-90(in Chinese).[范麗敏,馮登國,周永彬.分組密碼算法的自相關(guān)檢測參數(shù)選擇 [J].通信學報,2009,30(7):86-90.]

    [6]FAN Limin,F(xiàn)ENG Dengguo,ZHOU Yongbin.A fuzzy-based randomness evaluation model for block cipher [J].Journal of Computer Research and Development,2008,45(12):2095-2101(in Chinese).[范麗敏,馮登國,周永彬.基于模糊評價的分組密碼隨機性評估模型 [J].計算機研究與發(fā)展,2008,45(12):2095-2101.]

    [7]MO Xi,ZHAO Fang.Data-model-driven software automation test framework [J].Computer Engineering,2009,35(21):78-81(in Chinese).[莫熹,趙方.一種數(shù)據(jù)模型驅(qū)動的軟件自動化測試框架 [J].計算機工程,2009,35(21):78-81.]

    [8]CHEN Hua,F(xiàn)ENG Dengguo,F(xiàn)AN Limin.A new statistical test on block cipher [J].Journal of Computers,2009,32(4):595-601(in Chinese).[陳華,馮登國,范麗敏.一種關(guān)于分組密碼的新的統(tǒng)計檢測方法 [J].計算機學報,2009,32(4):595-601.]

    [9]PENG Wei,ZHOU Liang.Testing platform with block cipher[J].Journal of Chendu University of Information Technology,2005,20(5):530-534(in Chinese).[彭巍,周亮.分組密碼算法測試平臺設計 [J].成都信息工程學院學報,2005,20(5):530-534.]

    [10]JIN Lina.The testing platform of cryptographic algorithm-research of the implementation of the algorithm [D].Xi’an:Xidian University,2007(in Chinese).[金麗娜.密碼算法測試平臺-算法實現(xiàn)技術(shù)研究 [D].西安:西安電子科技大學,2007.]

    [11]YANG Ning.The testing platform of cryptographic algorithmthe study of system software design [D].Xi’an:Xidian University,2007(in Chinese).[楊寧.密碼算法測試平臺—系統(tǒng)軟件設計研究 [D].西安:西安電子科技大學,2007.]

    [12]JIA Qun.The testing platform of cryptographic algorithm-the study of hardware design [D].Xi’an:Xidian University,2007(in Chinese).[賈群.密碼算法測試平臺-硬件設計研究[D].西安:西安電子科技大學,2007.]

    [13]LIANG Xiaoyan,LI Fenghua,SHI Guozhen,et al.Dynamic reusable component integration framework [J].Control and Automation Publication Group,2009,25(27):189 -191(in Chinese).[梁曉艷,李鳳華,史國振,等.動態(tài)可重組的組件集成框架研究 [J].微計算機信息,2009,25(27):189-191.]

    [14]LI Fenghua,SU Haoxin,SHI Guozhen,et al.Research on the framework integrated by scalable components [C].Xiamen:Proceedings of the World Congress on Software Engineering IEEE Computer Society,2009:442-446.

    [15]Rukhin A,Soto J,Nechvatal J,et al.A statistical test suite for random and pseudorandom number generators for cryptographic applications[S].NIST Special Publication,2001.

    猜你喜歡
    調(diào)用密碼組件
    無人機智能巡檢在光伏電站組件診斷中的應用
    能源工程(2022年2期)2022-05-23 13:51:50
    密碼里的愛
    密碼疲勞
    英語文摘(2020年3期)2020-08-13 07:27:02
    新型碎邊剪刀盤組件
    重型機械(2020年2期)2020-07-24 08:16:16
    U盾外殼組件注塑模具設計
    核電項目物項調(diào)用管理的應用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    密碼藏在何處
    奪命密碼
    芦山县| 右玉县| 富顺县| 策勒县| 偃师市| 岳阳县| 台山市| 京山县| 拉萨市| 菏泽市| 玛纳斯县| 南京市| 图木舒克市| 新丰县| 镇赉县| 清水县| 钟祥市| 安多县| 青浦区| 渑池县| 灵宝市| 乌拉特后旗| 那曲县| 乌拉特中旗| 洛南县| 交口县| 织金县| 云浮市| 伊宁市| 漳州市| 内江市| 囊谦县| 阳江市| 治县。| 驻马店市| 名山县| 禹城市| 江口县| 新邵县| 射洪县| 教育|