国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于模板的加密解密系統(tǒng)與方法

      文檔序號:7694834閱讀:273來源:國知局
      專利名稱:一種基于模板的加密解密系統(tǒng)與方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于信息安全技術(shù)領(lǐng)域,具體涉及一種基于模板的加密解密系 統(tǒng)與方法。
      背景技術(shù)
      加密解密現(xiàn)有很多的成熟的加密算法和方法,但由于語言表達(dá)中詞匯 使用的詞頻特性以及使用加密算法本身的規(guī)律性,其實質(zhì)是通過變換算法、 密鑰來達(dá)到混淆特征性的目的。多重混合加密方法也是當(dāng)前簡單提高解密破解難度的方法,數(shù)據(jù)加密在國內(nèi)外有很多的研究,混合加密如申請?zhí)枮?2152606. 0的中國專利申請 (公開號CN1503503A ,
      公開日2004. 06. 09 )公開了 一種"數(shù)據(jù)加密、解密 方法與裝置",該方法提出使用者預(yù)先定義指定多個加密算法的模塊組合, 配合數(shù)據(jù)屬性對應(yīng)及動態(tài)選取機(jī)制,選取一組加密算法模塊組合對數(shù)據(jù)作 加密處理。該方法僅僅提出一種加密模塊算法組合的方式,加密與解密雙 方都需要預(yù)先確定加密算法模塊組合機(jī)制,對于雙方同步組合信息增加了 難度。實際應(yīng)用中需要頻繁的更換密鑰以保證加密方法的安全性,而更換密 鑰的代價是需要同步更新發(fā)送方與接受方的密鑰,特別是對于多重混合加 密的應(yīng)用,密鑰更換頻繁將導(dǎo)致密鑰被截獲或者破解的幾率增大,其安全 性的降低,并且?guī)砑眲∨蛎浀姆彪s的密鑰需要管理?,F(xiàn)有的文獻(xiàn)或?qū)@刑岬降奈淖旨用芊椒ǎ壳斑€沒有發(fā)現(xiàn)基于模板 的加密組合方式的方法。發(fā)明內(nèi)容針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的是提供一種基于模板的加 密解密系統(tǒng)與方法,該系統(tǒng)與方法能夠通過數(shù)據(jù)變換算子集的模板,混合 使用現(xiàn)有加密技術(shù),以混淆加密數(shù)據(jù)的特征,從而大大提升多重混合加密 效果,降低密鑰系列的管理難度,易于管理和使用,并且通過模板的結(jié)構(gòu) 化特征,能夠?qū)崿F(xiàn)對密鑰動態(tài)組合,有效分散了密鑰的安全壓力。為實現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是 一種基于模板的加密解密系統(tǒng),包括密文容器、模板管理器和算子管理器,其中所述的密文 容器用于保存密文和原文并執(zhí)行加密、解密處理,模板管理器用于管理和 提供密文容器加密解密的數(shù)據(jù)變換需要使用到的結(jié)構(gòu)化模板,算子管理器 用于管理與保存加密解密過程中需要使用的加密算法的算子集合及相關(guān)密 鑰,所述的密文容器、模板管理器和算子管理器依次相連,算子管理器與 密文容器相連。進(jìn)一步,密文容器對于原文的加密或者對密文的解密處理是由模板中 定義的序列處理組成,即按照結(jié)構(gòu)化模板中定義的算子先后順序,逐個進(jìn) 行數(shù)據(jù)變換處理,加密處理是由結(jié)構(gòu)化模板定義的對原文進(jìn)行的 一 系列算 子的數(shù)據(jù)變換處理組成,解密處理則是由對密文進(jìn)行的對應(yīng)的反向序列的 數(shù)據(jù)變換處理組成。進(jìn)一步,所述模板管理器中的結(jié)構(gòu)化模板用于定義加密、解密規(guī)則集, 是一種支持嵌套的由結(jié)點組成的結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化模板包括加密模板和 解密模板。更進(jìn)一步,所述結(jié)構(gòu)化模板中每個結(jié)點定義一次對原文或者密文的數(shù)據(jù)變換操作,包括數(shù)據(jù)變換算子、數(shù)據(jù)變換對象、數(shù)據(jù)驗證算子、輸出 編碼定義以及加密或者解密需要使用到的密鑰,其中所述的數(shù)據(jù)變換算子 是指數(shù)據(jù)加密算法或其它數(shù)據(jù)轉(zhuǎn)換規(guī)則,數(shù)據(jù)變換對象是指需要變換的數(shù) 據(jù)區(qū)域,數(shù)據(jù)驗證算子是用于驗證數(shù)據(jù)合法性或者有效性的方法,輸出編 碼定義是指加密后輸出的數(shù)據(jù)以何種編碼方式保存。更進(jìn)一步,所述的加密模板是通過其結(jié)點的結(jié)構(gòu)化關(guān)系定義了數(shù)據(jù)變 換的處理次序,所述的解密模板與加密模板中定義的處理次序正好相反。進(jìn)一步,所述的算子管理器中設(shè)有用于針對原文或者密文進(jìn)行加密或 解密處理的的加密算法模塊和用于一般數(shù)據(jù)格式變換的數(shù)據(jù)變換模塊,其 中數(shù)據(jù)變換模塊處理過程中需要使用到的密鑰,由系統(tǒng)配置的密鑰容器、 模板中記錄的密鑰信息或者直接由用戶輸入提供。一種基于模板的加密解密方法,該方法包括以下步驟1 )發(fā)送方密文容器接受需要加密的原文數(shù)據(jù),向模板管理器請求加密 模板;2)發(fā)送方密文容器依據(jù)加密模板中設(shè)置,向算子管理器請求算子對指定的數(shù)據(jù)區(qū)域進(jìn)行數(shù)據(jù)加密處理;3) 發(fā)送方完成上述加密之后,依據(jù)加密模板設(shè)置在密文中嵌入模板標(biāo) 識信息,完成數(shù)據(jù)加密后向接受方發(fā)送密文;4) 接受方密文容器接受需要解密的密文數(shù)據(jù)之后,檢查其使用的模板 標(biāo)識信息,向模板管理器請求對應(yīng)的解密模板;5) 接受方密文容器依據(jù)解密模板中設(shè)置,向算子管理器請求算子對指 定的數(shù)據(jù)區(qū)域進(jìn)行數(shù)據(jù)解密處理;6) 接受方密文容器依據(jù)解密模板設(shè)置完成上述解密處理之后,將密文 還原為原文進(jìn)行輸出。進(jìn)一步,步驟l)中,密文容器首先依據(jù)系統(tǒng)配置的加密模板或者用 戶輸入,向模板管理器請求加密模板,然后依據(jù)加密模板中定義的處理次 序和加密方式,對原文進(jìn)^f于加密處理。進(jìn)一步,步驟2)中,是通過加密模板中的每個結(jié)點來設(shè)置算子處理 數(shù)據(jù)的指定數(shù)據(jù)區(qū)域,所述的指定數(shù)據(jù)區(qū)域是原文或者處理過程中數(shù)據(jù)的 局部的、不連續(xù)的區(qū)域,上述處理過程中的數(shù)據(jù)是指原文與經(jīng)過加密處理 之后混排的數(shù)據(jù)區(qū)域,模板中每個結(jié)點設(shè)置的數(shù)據(jù)區(qū)域允許存在重疊。進(jìn)一步,步驟3)中,所附加的模板標(biāo)識信息用于接受方識別并查找 定位到需要使用的解密模板,模板標(biāo)識信息為包括模板標(biāo)識名稱以及移除 模板結(jié)構(gòu)定義相關(guān)信息后涉及解密需要用到數(shù)據(jù)信息的流式數(shù)據(jù)。模板結(jié) 構(gòu)定義相關(guān)信息是指模板數(shù)據(jù)未改變前的定義結(jié)構(gòu)。進(jìn)一步,步驟4)中,上述加密模板和解密模板也能夠作為原文并加 密傳輸,并且由于模板支持嵌套的結(jié)構(gòu)化特點,具體應(yīng)用時只請求被嵌套 的子模板,或者是依據(jù)接受方權(quán)限分發(fā)的模板局部,即接受方通過該模板 僅能實現(xiàn)對局部或者部分密文的解密。進(jìn)一步,步驟5)中,接受方依據(jù)接受密文嵌入的模板信息,查找并 還原匹配的解密模板。進(jìn)一步,步驟6)中,接受方依據(jù)解密模板,對密文進(jìn)行解密,其數(shù) 據(jù)變換的處理次序在解密模板中定義,其解密處理次序正好與加密處理次 序正好相反。進(jìn)一步,在步驟2)和/或步驟5)中,如加密處理和/或解密處理需要 輸入密碼或者密鑰,由系統(tǒng)配置的密鑰容器、加密模板中密鑰信息或者用 戶輸入提供。本發(fā)明的效果在于采用本發(fā)明所述的方法和系統(tǒng),通過模板定義密 鑰之間的組合關(guān)系,大大提升了多重混合加密處理中加密效果,并提升了 密鑰的安全性,最重要的是這種模板的管理方式,極大的降低了密鑰系列 的管理的難度,易于管理和使用,并且通過模板的結(jié)構(gòu)化特征,可以實現(xiàn) 對密鑰動態(tài)組合,有效分散了密鑰的安全壓力。并且,由于中國漢字類別 文字在計算機(jī)中采用雙字節(jié)表示,與單字節(jié)的英文、數(shù)字不同,并且漢字 字?jǐn)?shù)相對英文字母多很多,其文字編碼的變化變換方式更多,其混淆后消 除詞頻的特性更好,可以說這是漢字文字加密一個方面的優(yōu)勢。


      圖1是本發(fā)明實施例中基于模板的加密解密系統(tǒng)結(jié)構(gòu)圖; 圖2是本發(fā)明實施例中基于模板的加密方法流程圖; 圖3是本發(fā)明實施例中基于模板的解密方法流程圖。
      具體實施方式
      下面結(jié)合說明書附圖和具體實施方式
      對本發(fā)明作進(jìn)一步的描述。如圖1所示, 一種基于模板的加密解密系統(tǒng),主要包含密文容器ll、 模板管理器12和算子管理器13,其中密文容器11用于保存密文和原文并 執(zhí)行加密、解密處理;模板管理器12用于管理和提供密文容器加密解密的 數(shù)據(jù)變換需要使用到的結(jié)構(gòu)化模板,該模板包括加密模板和解密模板;算 子管理器13用于管理與保存加密解密過程中需要使用的加密算法、加密方 法的算子集合及相關(guān)密鑰。所述的密文容器ll、模板管理器12和算子管 理器13依次相連,算子管理器與密文容器11相連。本實施例中,密文容器11對于原文的加密或者對密文的解密過程,是 由結(jié)構(gòu)化模板中定義的處理序列組成,如加密處理是由結(jié)構(gòu)化模板中定義 的對原文的一個系列的數(shù)據(jù)變換處理組成,解密處理則是由對密文進(jìn)行的 對應(yīng)的反向序列的數(shù)據(jù)變換處理組成。本實施例中,上述模板管理器12使用到的結(jié)構(gòu)化模板用于定義對加 密、解密規(guī)則集,是一種支持嵌套的由結(jié)點組成的結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化模 板中每個結(jié)點定義一次對原文或者密文的數(shù)據(jù)變換操作,該定義包括數(shù) 據(jù)變換算子、數(shù)據(jù)變換對象、數(shù)據(jù)驗證算子、輸出編碼定義以及加密或者解密需要使用到的密鑰,其中數(shù)據(jù)變換算子是指數(shù)據(jù)加密算法或其它數(shù)據(jù)轉(zhuǎn)換規(guī)則,典型如DES加密算法等,其中數(shù)據(jù)變換對象是指需要變換的數(shù) 據(jù)區(qū)域,數(shù)據(jù)驗證算子是用于驗證數(shù)據(jù)合法性或者有效性的現(xiàn)有方法,如 MD5散列算法,其中輸出編碼定義是指加密后輸出的數(shù)據(jù)以何種編碼方式 保存,典型如BASE64編碼等。本實施例中,上述模板管理器12使用到的結(jié)構(gòu)化模板用其結(jié)點的結(jié)構(gòu) 化關(guān)系定義了處理數(shù)據(jù)變換的次序關(guān)系,解密模板與加密模板中定義的處 理次序正好相反。本實施例中,所述的算子管理器中設(shè)有用于針對原文或者密文進(jìn)行加 密或解密處理的加密算法模塊和用于一般數(shù)據(jù)格式變換的數(shù)據(jù)變換模塊, 其中數(shù)據(jù)變換模塊處理過程中需要使用到的密鑰,由系統(tǒng)配置的密鑰容器、 模板中記錄的密鑰信息或者直接由用戶輸入提供。如圖2和圖3所示, 一種基于模板的加密解密方法,包括以下步驟1)發(fā)送方密文容器接受需要加密的原文21,向模板管理器請求加密 模板22;本實施例中,發(fā)送方準(zhǔn)備加密的原文為"2008好運北京",其計算機(jī) 16進(jìn)制的編碼為"0032 0030 0030 0038 5317 4EAC 5965 8FD0"。本實施例中,密文容器向模板管理器請求的加密模板定義(以下簡稱 XmlT-l)如下,其中密碼由系統(tǒng)配置< xml version="1.0" encoding="utf-8" ><template id="B3EB8AB7-6163-4873-B37F-2C9FE0263143" name^言雙對測試" type="EncDes"><items rule="Package"><item id="08-23" name="DES算子"functor="DES"><vector type="password"><![CDATA[123]]></vector><regions><section No=T begin="0" end="3"/></regions><input><validate method="7></input>
      <output encoding="Base64',/> </item>
      <item id="07-05" name="3DES算子"functor="TripleDES"> <vector type="password"〉<![CDATA[321]]></vector> <rcgions>
      <section No="l" begin=T end="end"/〉 </regions>
      〈output encoding="UTF87> </item〉 </items> </template>
      2)發(fā)送方密文容器依據(jù)加密模板中設(shè)置(即加密模板中每個結(jié)點所定 義的具體內(nèi)容),向算子管理器查找并請求加密算子23,對指定的數(shù)據(jù)區(qū) 域進(jìn)行數(shù)據(jù)加密處理24,在此過程中,如加密變換需要輸入密碼或者密鑰, 由系統(tǒng)配置的密鑰容器(一般操作系統(tǒng)中均包含密鑰容器,本發(fā)明裝置通 過接口調(diào)用操作系統(tǒng)的密鑰容器)、加密模板中密鑰信息或者用戶輸入提 供;
      本實施例中,加密模板由兩個數(shù)據(jù)變換定義結(jié)點組成,其中第一個id 等于"08-23"、名稱為"DES算子"的算子,查找算子管理器中實際為"DES,, 的加密算子,該算子對輸入的數(shù)據(jù)索引為0到3字節(jié)的數(shù)據(jù)進(jìn)行加密,其 中加密密碼為"123",其加密后輸出的數(shù)據(jù)以Base64形式編碼輸出;第 二個id等于"07-05"名稱為"3DES算子"的算子,查找算子管理器中實際為 "TripleDES"的加密算子,該算子對輸入的數(shù)據(jù)索引為10到數(shù)據(jù)末尾的 數(shù)據(jù)進(jìn)行加密,其中加密密碼為"321",其加密后輸出的數(shù)據(jù)以UTF8形 式編碼輸出;
      加密過程為
      1)id等于"08-23"的算子,查找數(shù)據(jù)索引為0到3字節(jié)的數(shù)據(jù)為"2008", 對應(yīng)編碼"0032 0030 0030 0038" , 4丸行加密后生成的數(shù)據(jù)為"BF47 EBABB82E 5AEA",輸出按照Base64進(jìn)行編碼,則新生成的數(shù)據(jù)編碼為"0052 0037 002B 0072 0036 0079 0036 0034 0036 006C 006F 003D",則與未加密 的"好運北京"對應(yīng)編碼"5317 4EAC 5965 8FD0"組合為新的數(shù)據(jù)"0052 0037 002B 0072 0036 0079 0036 0034 0036 006C 006F 003D 5317 4EAC 5965 8FD0,,。執(zhí)行后模板(以下簡稱XmlT-2)變化為 < xml version="1.0" encoding="utf-8" >
      〈template id="B3EB8AB7-6163-4873-B37F-2C9FE0263143" name^'雙對測試" type="EncDes">
      <items rule="Package">
      <item id="08-23" name=',DES算子"functor="DES" serial=,T,〉
      <vector type="password"〉<![CDATA[123]]></vector>
      <regions〉
      <sectionNo="l" begin="0" end="ll"/>
      </regions>
      <input〉
      <validate method=""/>
      </input〉
      〈output encoding="Base64"/> </item〉
      <item id="07-05" name="3DES算子"functor="TripleDES"> <vector type="password"〉<![CDATA[321]]〉</vector> <regions〉
      〈section No=T begin="8" end="end7> </regions>
      <output encoding="UTF8"/〉 </item> </items〉 </template〉從上述模板可以看出,經(jīng)過處理后算子的section記錄發(fā)生變化,記錄 了 end位置為加密后數(shù)據(jù)的長度,并且該算子記錄了當(dāng)前處理的次序serial
      為l;
      2)id等于"07-05"的算子,在上述加密結(jié)果數(shù)據(jù)中查找數(shù)據(jù)索引為8字 節(jié)到結(jié)尾數(shù)據(jù)對應(yīng)編碼"0036 006C 006F 003D 5317 4EAC 5965 8FD0", 執(zhí)行加密后生成的lt據(jù)為"83CF 1ACB F362 CFF4 9701 0978 272A 1A3E 2AEB 90D4 6685 664D",輸出按照UTF8進(jìn)行編碼,則新生成的數(shù)據(jù)編 碼為"8FE8 E18F 8BAB 8DEF ECA2 B4BF 9CE9 E081 B8A5 9CE2 E1AA BEA8 ABE2 E9AB 9483 9AE6 E685 8D99"
      與當(dāng)前算子未加密編碼"0052 0037 002B 0072 0036 0079 0036 0034" 組合為新的數(shù)據(jù)"0052 0037 002B 0072 0036 0079 0036 0034 8FE8 E18F 8BAB 8DEF ECA2 B4BF 9CE9 E081 B8A5 9CE2 E1AA BEA8 ABE2 E9AB 9483 9AE6 E685 8D99"。執(zhí)行后模板(以下簡稱XmlT-3)變化為 < xml version="1.0" encoding="utf-8" >
      〈template id="B3EB8AB7-6163-4873-B37F-2C9FE0263143" name^'雙對測試" type="EncDes">
      <items rule="Package">
      <item id="08-23" name="DES算子"functor="DES" serial=,,l">
      <vector type="password"><![CDATA[123]]></vector>
      <rcgions>
      〈sectionNo="l" begin="0" end="117>
      </regions>
      <input>
      <validate method-" 7>
      </input>
      〈output encoding="Base64"/> </item>
      <item id="07-05" name="3DES算子"functor="TripleDES" serial=,,2,,> <vector type="password"><![CDATA[321]]></vector> <regions><section No="l" begin="8" end="end'V> </rcgions>
      <output encoding="UTF87> </item> </items> </template>
      從上述模板可以看出,經(jīng)過"07-05"的算子處理后,section記錄發(fā)生變 化,記錄了 end標(biāo)記為到數(shù)據(jù)結(jié)束位置的實際長度已經(jīng)發(fā)生的變化,并且 該算子記錄了當(dāng)前處理的次序serial為2;
      本實施例中,加密模板中指定數(shù)據(jù)區(qū)域是原文數(shù)據(jù)中的不連續(xù)的局部 數(shù)據(jù),其數(shù)據(jù)區(qū)域范圍是在模板中指定的,該指定數(shù)據(jù)區(qū)域還可以是原文 與經(jīng)過加密處理之后混雜的數(shù)據(jù)區(qū)域,模板中加密設(shè)置項的數(shù)據(jù)范圍物理 上允許存在重疊,但處理次序上不允許存在重疊,其處理次序由模板的結(jié) 構(gòu)決定。
      3) 發(fā)送方完成上述加密之后,密文依據(jù)加密模板設(shè)置,嵌入模板信息, 完成數(shù)據(jù)加密后向接受方發(fā)送密文25;
      本實施例中原文通過密文容器加密后得到的密文為"0052 0037 002B 0072 0036 0079 0036 0034 8FE8 E18F犯AB 8DEF ECA2 B4BF 9CE9 E081 B8A5 9CE2E1AABEA8ABE2E9AB 9483 9AE6E685 8D99"。步驟(3 ) 中,發(fā)送方完成加密之后,必須在加密文件頭附加模板標(biāo)識信息,其附加 的模板信息是指移除模板結(jié)構(gòu)定義,解密需要用到信息的流式數(shù)據(jù)。最終 本實施例子中,向接受方發(fā)送的密文頭中嵌入模板信息為"templatex5E B3EB8AB7-6163-4873-B37F-2C9FE0263143 EncDes "Package" l:id"08-23" 123 0 11 2:id"07-05" 321 8 $.".上述template表示固定定義的數(shù)據(jù)頭,后 面緊接的是該模板標(biāo)識信息的數(shù)據(jù)長度,即有94字節(jié),隨后定義的是該模 板的全局唯一標(biāo)識GUID為B3EB8AB7-6163-4873-B37F-2C9FE0263143。
      4) 接受方密文容器接受需要解密的數(shù)據(jù)流即密文31,檢查其使用的 模板信息,向模板管理器請求對應(yīng)的解密模板32。
      本實施例中,接受方接受密文嵌入的模板信息,從密文中尋找附加模板標(biāo)識信息中,提取該模板的全局唯一標(biāo)識GUID為 B3EB8AB7-6163-4873-B37F-2C9FE0263143,由該GUID到模板管理器中 查找到對應(yīng)的模板,依據(jù)模板格式,如XmlT-l所示的數(shù)據(jù),與上述附加 模板標(biāo)識信息合成,重新恢復(fù)生成XmlT-3所示的數(shù)據(jù)。
      如不存在對應(yīng)模板或者生成XmlT-3所示的數(shù)據(jù)發(fā)生異常,則解密過 程均失敗。
      5) 接受方密文容器依據(jù)解密模板中設(shè)置(即解密模板中每個結(jié)點所定 義的具體內(nèi)容),依據(jù)定義的次序,向算子管理器請求解密算子33,并對 指定的數(shù)據(jù)區(qū)域進(jìn)行數(shù)據(jù)解密處理34。其過程與加密過程正好相反。
      本實施例中,由于加密處理均采用的是對稱加密算法,接受方和發(fā)送 方使用相同的模板,依據(jù)解密模板,對密文進(jìn)行解密,其應(yīng)用解密處理的 次序與加密過程正好相反,解密過程中需要提供密鑰的處理與現(xiàn)有技術(shù)相 同。
      6) 接受方密文容器依據(jù)解密模板設(shè)置逆向完成上述解密處理之后,將 密文還原為原文進(jìn)行輸出35。
      本發(fā)明的應(yīng)用取得如下的實施效果
      1. 基于模板的加密組合,達(dá)到數(shù)據(jù)加密過程的數(shù)據(jù)區(qū)域交叉加密,加 密后的數(shù)據(jù)特征更加弱化,增加了破解難度;
      2. 模板支持嵌套和其結(jié)構(gòu)化特點,能夠支持模板的局部分發(fā),即可以 實現(xiàn)l)模板的部分更新;2)基于授權(quán)的模板局部分發(fā);3)模板本身可 以作為加密對象;4)模板具備簽名驗證能力;5)模板必須與普通密鑰配 合使用,缺少任何一方均會造成解密失敗。6)可以實現(xiàn)針對密文的局部解 密,可應(yīng)用于特定和權(quán)限分級的加密應(yīng)用場合等;
      3. 經(jīng)過驗證,本發(fā)明的方法特別適合英文數(shù)字與漢字類型的文字混排 的原文的加密。
      術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其^的實2方式,同S屬于本發(fā)明^技 術(shù)創(chuàng)新范圍。
      權(quán)利要求
      1. 一種基于模板的加密解密系統(tǒng),包括密文容器、模板管理器和算子管理器,其中所述的密文容器用于保存密文和原文并執(zhí)行加密、解密處理,所述的模板管理器用于管理和提供密文容器加密解密的數(shù)據(jù)變換需要使用到的結(jié)構(gòu)化模板,所述的算子管理器用于管理與保存加密解密過程中需要使用的加密算法的算子集合及相關(guān)密鑰,所述的密文容器、模板管理器和算子管理器依次相連,算子管理器與密文容器相連。
      2. 如權(quán)利要求1所述的一種基于模板的加密解密系統(tǒng),其特征在于 所述的密文容器對于原文的加密或者對密文的解密處理是由結(jié)構(gòu)化模板中 定義的算子序列處理組成,即按照結(jié)構(gòu)化模板中定義的算子先后順序,逐 個進(jìn)行數(shù)據(jù)變換處理,加密處理是由結(jié)構(gòu)化模板定義的對原文進(jìn)行的一系 列算子的數(shù)據(jù)變換處理組成,解密處理則是由對密文進(jìn)行的對應(yīng)的反向序 列的數(shù)據(jù)變換處理組成。
      3. 如權(quán)利要求1或2所述的一種基于模板的加密解密系統(tǒng),其特征在 于所述模板管理器中的結(jié)構(gòu)化模板用于定義加密、解密規(guī)則集,是一種 支持嵌套的由結(jié)點組成的結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化模板包括加密模板和解密模 板。
      4. 如權(quán)利要求3所述的一種基于模板的加密解密系統(tǒng),其特征在于 所述結(jié)構(gòu)化模板中每個結(jié)點定義一次對原文或者密文的數(shù)據(jù)變換操作,該 定義包括數(shù)據(jù)變換算子、數(shù)據(jù)變換對象、數(shù)據(jù)驗證算子、輸出編碼定義 以及加密或者解密需要使用到的密鑰,其中所述的數(shù)據(jù)變換算子是指數(shù)據(jù) 加密算法或其它數(shù)據(jù)轉(zhuǎn)換規(guī)則,數(shù)據(jù)變換對象是指需要變換的數(shù)據(jù)區(qū)域, 數(shù)據(jù)驗證算子是用于驗證數(shù)據(jù)合法性或者有效性的方法,輸出編碼定義是 指加密后輸出的數(shù)據(jù)以何種編碼方式保存。
      5. 如權(quán)利要求4所述的一種基于模板的加密解密系統(tǒng),其特征在于 所述的加密模板是通過其結(jié)點的結(jié)構(gòu)化關(guān)系定義了數(shù)據(jù)變換的處理次序, 所述的解密模板與加密模板中定義的處理次序正好相反。
      6. 如權(quán)利要求5所述的一種基于模板的加密解密系統(tǒng),其特征在于 所述的算子管理器中設(shè)有用于針對原文或者密文進(jìn)行加密或解密處理的加 密算法模塊和用于一般數(shù)據(jù)格式變換的數(shù)據(jù)變換模塊,其中數(shù)據(jù)變換模塊 處理過程中需要使用到的密鑰,由系統(tǒng)配置的密鑰容器、模板中記錄的密 鑰信息或者直接由用戶輸入提供。
      7. —種基于模板的加密解密方法,該方法包括以下步驟1 )發(fā)送方密文容器接受需要加密的原文數(shù)據(jù),向模板管理器請求加密模板;2)發(fā)送方密文容器依據(jù)加密模板中設(shè)置,向算子管理器請求算子對指 定的數(shù)據(jù)區(qū)域進(jìn)行數(shù)據(jù)加密處理;3 )發(fā)送方完成上述加密之后,依據(jù)加密模板設(shè)置在密文中嵌入模板標(biāo) 識信息,完成數(shù)據(jù)加密后向接受方發(fā)送密文;4) 接受方密文容器接受需要解密的密文數(shù)據(jù)之后,檢查其使用的模板 標(biāo)識信息,向模板管理器請求對應(yīng)的解密模板;5) 接受方密文容器依據(jù)解密模板中設(shè)置,向算子管理器請求算子對指 定的數(shù)據(jù)區(qū)域進(jìn)行數(shù)據(jù)解密處理;6) 接受方密文容器依據(jù)解密模板設(shè)置完成上述解密處理之后,將密文 還原為原文進(jìn)行輸出。
      8. 如權(quán)利要求7所述的一種基于模板的加密解密方法,其特征在于 步驟1)中,密文容器首先依據(jù)系統(tǒng)配置的加密模板或者用戶輸入,向模 板管理器請求加密模板,然后依據(jù)加密模板中定義的處理次序和加密方式, 對原文進(jìn)行系列的加密處理。
      9. 如權(quán)利要求7所述的一種基于模板的加密解密方法,其特征在于 步驟2)中,是通過加密模板中的每個結(jié)點來設(shè)置算子處理數(shù)據(jù)的指定數(shù) 據(jù)區(qū)域。
      10. 如權(quán)利要求9所述的一種基于模板的加密解密方法,其特征在于 所述的指定數(shù)據(jù)區(qū)域是原文或者處理過程中數(shù)據(jù)的局部的、不連續(xù)的區(qū)域, 上述處理過程中的數(shù)據(jù)是指原文與經(jīng)過加密處理之后混排的數(shù)據(jù)區(qū)域,模 板中每個結(jié)點設(shè)置的數(shù)據(jù)區(qū)域允許存在重疊。
      11. 如權(quán)利要求7至IO之一所述的一種基于模板的加密解密方法,其 特征在于步驟3)中,所嵌入的模板標(biāo)識信息用于接受方識別并查找定 位到需要使用的解密模板,模板標(biāo)識信息為包括模板標(biāo)識名稱以及移除模 板結(jié)構(gòu)定義相關(guān)信息后涉及解密需要用到數(shù)據(jù)信息的流式數(shù)據(jù),所述的模 板結(jié)構(gòu)定義相關(guān)信息是指模板數(shù)據(jù)未改變前的定義結(jié)構(gòu)。
      12. 如權(quán)利要求7至IO之一所述的一種基于模板的加密解密方法,其 特征在于步驟4)中,上述加密模板和解密模板也作為原文并加密傳輸, 并且由于模板支持嵌套的結(jié)構(gòu)化特點,具體應(yīng)用時只請求被嵌套的子模板,或者是依據(jù)接受方權(quán)限分發(fā)的模板局部,即接受方通過該模板僅能實現(xiàn)對 局部或者部分密文的解密。
      13. 如權(quán)利要求7至IO之一所述的一種基于模板的加密解密方法,其 特征在于步驟5)中,接受方依據(jù)接受密文嵌入的模板信息,查找并還 原匹配的解密模板。
      14. 如權(quán)利要求7至IO之一所述的一種基于模板的加密解密方法,其 特征在于步驟6)中,接受方依據(jù)解密模板,對密文進(jìn)行解密,其數(shù)據(jù) 變換的處理次序在解密模板中定義,其解密處理次序與加密處理次序正好 相反。
      15. 如權(quán)利要求7至IO之一所述的一種基于模板的加密解密方法,其 特征在于在步驟2)和/或步驟5)中,如加密處理和/或解密處理需要輸 入密碼或者密鑰,由系統(tǒng)配置的密鑰容器、加密模板中密鑰信息或者用戶 輸入提供。
      全文摘要
      本發(fā)明涉及一種基于模板的加密解密系統(tǒng)與方法,屬于信息安全技術(shù)領(lǐng)域?,F(xiàn)有技術(shù)中對數(shù)據(jù)的加密是通過一組密鑰對原文進(jìn)行加密,本發(fā)明通過引入一種數(shù)據(jù)變換算子集的結(jié)構(gòu)化模板,使用現(xiàn)有加密技術(shù)對原文進(jìn)行混合和交叉加密。采用本發(fā)明所述的方法,加密后的數(shù)據(jù)特征更加弱化,解密必須通過密鑰與結(jié)構(gòu)化模板的配合完成,還可以實現(xiàn)密文的局部解密適合英文、數(shù)字與漢字類型的文字混排的加密解密。
      文檔編號H04L29/06GK101282212SQ20081011200
      公開日2008年10月8日 申請日期2008年5月20日 優(yōu)先權(quán)日2008年5月20日
      發(fā)明者李平立, 健 龔 申請人:北京方正國際軟件系統(tǒng)有限公司;北京大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1