国产精品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>

      二進制數(shù)據(jù)塊加密變換的制作方法

      文檔序號:2394052閱讀:509來源:國知局
      專利名稱:二進制數(shù)據(jù)塊加密變換的制作方法
      技術領域
      本發(fā)明一般涉及電信與計算機技術領域,具體涉及用于對消息(信息)進行密寫的加密方法和裝置。
      在描述本發(fā)明所述的方法中用到的術語如下-密鑰是只有合法用戶才知道的二進制信息;-加密變換是指,例如為了保護信息不被非法讀取,生成數(shù)字簽名,生成修改檢測代碼,而允許一個源數(shù)據(jù)位對多個輸出數(shù)據(jù)位有影響作用的數(shù)字數(shù)據(jù)變換;一些重要類型的加密變換有單向變換,哈希和密寫處理等。
      -信息哈希處理是指某種用于為任意大小的消息形成所謂的具有固定大小(通常為128位)的哈希代碼的方法;目前所廣泛采用的哈希方法,大多基于采用信息加密變換的分組機制的迭代哈希函數(shù)(見Lai X.,Massey J.L的基于分組密碼的哈希函數(shù)/加密技術理論和應用工作室,EUROCRYPT’92,匈牙利,1992年5月24-28會議記錄p.53-66)。
      -密寫是指根據(jù)密鑰所進行的信息變換處理,其中將源文本轉換為由偽隨機字符序列所表示的密文,使得在不知道上述密鑰的情況下實際上無法從密文中獲得信息;-解密是指密寫過程的逆處理;解密處理將確保在知道密鑰的情況下,能夠根據(jù)密文恢復出其原始信息;-密寫器是指利用密鑰對輸入數(shù)據(jù)進行變換的所有基本步驟的總和;密寫器可以以計算機程序、或獨立裝置的形式來實現(xiàn);-二進制向量是指某種二進制數(shù)位序列,如1011010011;如果假設每個數(shù)位的位置對應于一個二進制數(shù)位,則二進制向量的特定結構可以被解釋為一個二進制數(shù),即二進制向量可以被比作一個由二進制向量結構所唯一確定的數(shù)值;
      -密碼分析是指一種為獲得對密寫信息的非授權訪問權,來計算密鑰;或用于開發(fā)在不計算密鑰的情況下提供對密寫信息的訪問權方法的方法;-單向變換是指其中L位輸入數(shù)據(jù)塊被變換為L位輸出數(shù)據(jù)塊的變換,其允許很容易地根據(jù)輸入數(shù)據(jù)塊計算出輸出數(shù)據(jù)塊,相反卻幾乎無法計算出被變換為隨機選擇的輸出數(shù)據(jù)塊的輸入數(shù)據(jù)塊;-單向函數(shù)是指可以根據(jù)所給定的自變量,很容易地計算出函數(shù)值,但根據(jù)給定的函數(shù)值計算其自變量值,卻是計算困難問題的函數(shù);單向函數(shù)通常由針對某個輸入塊(自變量)所進行的單向變換序列來實現(xiàn),其輸出值即為函數(shù)值;-抗解密性是指密寫信息保護安全性的一種測度,其代表了以在已知變換算法但不知道密鑰的情況下,為了根據(jù)密文恢復原始信息,所需執(zhí)行的基本運算的數(shù)目測算的勞動強度;對于單向變換,抗解密性意味著根據(jù)其輸出值計算輸入塊值的復雜性;-取決于被變換子塊或二進制向量的循環(huán)移位運算,是在由子塊值或二進制向量值所設定的多個數(shù)位上進行的循環(huán)移位運算;向左(右)的循環(huán)移位運算由符號“<<<”(“>>>”)表示,例如,記號B1<<<B2表示將子塊B1向左循環(huán)移位,其移位個數(shù)等于二進制向量B2的值;RC5密寫器所基于的便是此類運算;-單址運算是指對一個運算數(shù)(數(shù)據(jù)塊或二進制向量)所進行的運算;執(zhí)行完某種給定單址運算后的子塊值只取決于其初始值;單址運算的例子有加法,減法,乘法等等;關于數(shù)據(jù)塊加密的方法,請參閱,例如,美國標準DES(國家標準局,數(shù)據(jù)加密標準,聯(lián)邦信息處理標準出版物46,1977年1月)。上述數(shù)據(jù)塊加密方法包括如下步驟生成密鑰;將所要轉換的數(shù)據(jù)塊分成兩個子塊L和R,并通過對子塊L與根據(jù)子塊R的值所生成的作為某個函數(shù)F的輸出值的二進制向量,進行位對位模2求和運算,來交替地改變后者。隨后將兩個子塊互換。此方法中的函數(shù)F是通過對子塊R進行轉置和填充運算來實現(xiàn)的。當以專用電子電路的形式來實現(xiàn)時,此方法具有較高的變換速率。
      然而,已知的最新現(xiàn)有技術采用的是位長較小(56位)的密鑰,因此其很容易通過找出匹配的密鑰來進行密碼分析。這與目前大眾化電腦的計算能力越來越高有直接關系。
      與本發(fā)明的二進制數(shù)據(jù)塊加密變換方法的技術本質(zhì)最為接近的方法是,以密寫器RC5形式實現(xiàn)的,并在(R.Rivest,RC5加密算法/快速軟件加密,第二國際工作室會議記錄(Leuven,比利時,1994年12月14-16日),計算機科學講座記錄v1008,Springer-Verlag,1995,pp.86-96)中進行說明的方法。上述最新現(xiàn)有技術方法包括如下步驟生成一個形式為多個子密鑰的密鑰;將輸入數(shù)據(jù)塊分成子塊A和B,并交替地進行子塊變換。隨后通過對其進行單址和雙址運算來對子塊進行變換。作為雙址運算,其中所用的是模2n加法運算,其中n=8,16,32和64,以及模2位對位加和運算。作為單址運算,所用的是向左循環(huán)移位運算,其中所變換子塊所移動的位數(shù)取決于另一個子塊的值,由此決定了在當前子塊變換步驟,循環(huán)移位運算對輸入數(shù)據(jù)塊的初始值具有依賴性。對一個子塊和子密鑰,以及兩個子塊進行雙址運算。最新現(xiàn)有技術方法的特征在于,根據(jù)其中一個子塊的值來對另一個子塊進行循環(huán)移位運算。
      對某個子塊,例如子塊B,進行如下變換。對子塊A和B進行模2位對位加和運算(“”),并將此運算所得數(shù)值賦值給子塊B。其關系可寫為B←BA其中符號“←”表示賦值運算。此后,對子塊B進行其位數(shù)等于子塊A的值的循環(huán)移位運算。
      B←B<<<A隨后,將對該子塊和其中一個子密鑰S進行模2n加和運算B←(B+S)mod2n,其中n為子塊的位長。其后,對子塊A進行類似地變換。并對兩個子塊進行許多次這種變換步驟。
      當以計算機程序的形式、或以電子密寫裝置的形式來實現(xiàn)時,本方法可以提供較高的加密速率。然而,上述最新現(xiàn)有技術具有如下一些缺點即,其無法確保加密數(shù)據(jù)變換對微分和線性密碼分析(KalisiB.S.,Yin Y.L.的RC5加密算法的微分和線性密碼分析,Cryptology-CRYPTO’95會議記錄,Spring-Verlag,1955,pp.171-184)具有較高的抗解密性。此缺點的原因在于,為了提高對現(xiàn)有密碼分析方法的抗解密性,由于循環(huán)移位運算所可能具有的可實現(xiàn)形式的數(shù)目,等于子塊二進制數(shù)位的數(shù)目n,而不會超過64,使得取決于所被變換數(shù)據(jù)的運算的利用效率被降低了。
      本發(fā)明的目的是為了開發(fā)一種用于二進制數(shù)據(jù)塊加密變換的方法,其中以能夠增大取決于所被變換數(shù)據(jù)塊的各種運算形式的數(shù)目的方式來實現(xiàn)輸入數(shù)據(jù)變換,并由此而提高對微分和線性密碼分析的抗解密性。
      本發(fā)明的目的是通過如下的二進制數(shù)據(jù)塊加密變換方法來實現(xiàn)的,其包括如下步驟將數(shù)據(jù)塊分成N≥2個子塊;通過對第i個(其中i≤N)子塊進行至少一次變換運算,來交替地變換各個子塊,所述運算取決于第j個(j≤N)子塊的值,而本發(fā)明的新穎特征在于,作為取決于第j個子塊值的運算,其所采用的是第i個子塊的數(shù)位轉置運算。
      由于采用上述解決方案,其將增大取決于第j個子塊值的運算所可能具有形式的數(shù)目,由此而使其能夠提高加密變換對微分和線性密碼分析的抗解密性。
      本發(fā)明的新穎特征還在于,取決于第j個子塊值的第i個子塊的數(shù)位轉置運算,是根據(jù)第i個子塊變換開始之前的密鑰來形成的。
      由于采用上述解決方案,取決于第j個子塊值的第i個子塊的數(shù)位轉置運算的變型并不是預先設定好的,由此使其能夠進一步增強對微分和線性密碼分析的抗解密性,同時其還允許減少所需變換運算的數(shù)目,而提高加密速率。
      本發(fā)明還有一個新穎特征在于,在進行取決于第j個子塊的第i個子塊的當前數(shù)位轉置運算之前,其另外還產(chǎn)生有一個二進制向量V,并根據(jù)V的值來執(zhí)行第i個子塊的數(shù)位轉置運算,其中上述二進制向量是根據(jù)其在對某個子塊執(zhí)行前一次變換步驟時的數(shù)值,以及第j個子塊的數(shù)值來生成的。
      因此,本發(fā)明可以進一步提高密寫裝置對由于非法攻擊所引起的“崩潰”的抗解密性。
      接下來將參照附圖以實施例的方式來對本發(fā)明的基本原理進行詳細地說明。
      其中

      圖1所示為根據(jù)本發(fā)明方法的加密變換的總體示意圖;圖2所示為受控轉置數(shù)據(jù)塊的結構示意簡圖;圖3所示為具有32位信息輸入的受控轉置數(shù)據(jù)塊的結構示意圖;圖4所示為基本開關的方框圖;圖5所示為當控制信號為u=1時,基本開關的輸入和輸出信號表;圖6所示為當控制信號為u=0時,受控基本開關的輸入和輸出信號表。
      接下來將對圖1所示的,基于本發(fā)明方法的數(shù)據(jù)塊變換的總體示意圖進行說明。
      其中P為受控轉置數(shù)據(jù)塊;A和B為被變換n位子塊;K4r,K4r-1,K4r-2,K4r-3是n位密鑰元素(n位子密鑰);V為根據(jù)輸入數(shù)據(jù)所生成的二進制向量;表示模2位對位加和運算;表示模n加和運算,其中n為數(shù)據(jù)子塊位長。粗實線表示n位信號傳輸總線,細實線表示單個數(shù)位的傳輸,細虛線表示單個控制數(shù)位的傳輸。粗虛線表示n位控制信號傳輸總線,其中n位控制信號是子密鑰數(shù)位或二進制向量數(shù)位。將上述子密鑰數(shù)位用作控制信號,可以確保根據(jù)輸入數(shù)據(jù)塊的值,形成子塊位轉置運算的特定變型,由此可以進一步提高加密變換的抗解密性。
      圖1所示為變換的一個輪次。根據(jù)受控轉置數(shù)據(jù)塊的特定實現(xiàn)形式以及所需的變換速率,其可以設置從2到16和更多的輪次。其可以將此種機制的加密變換程序用于加密和單向變換。在后一種情況中,并未使用密鑰,取而代之所用的是子密鑰信號,數(shù)據(jù)塊P的控制輸入與根據(jù)在中間步驟所變換子塊的數(shù)值所生成的二進制向量V的信號一起饋入。在進行密寫時,每個加密輪次中,可以使用相同的4個n位子密鑰K4,K3,K2,K1。在此情況下,當子塊的典型大小n=32時,密鑰的長度將為128位。當采用較大位長的密鑰時,每個輪次可以使用K4r,K4r-1,K4r-2和K4r-3。例如,當輪次總數(shù)r=3時,第一輪次使用子密鑰K4,K3,K2和K1,第二輪次使用子密鑰K8,K7,K6和K5,而第三輪次則使用子密鑰K12,K11,K10和K9。
      接下來將根據(jù)本發(fā)明的特定實施例,對技術上實施本發(fā)明方法的可能性進行詳細地說明。實例1此例涉及數(shù)據(jù)加密方法的用法。其中密鑰被表示為4個子密鑰K4r,K4r-1,K4r-2和K4r-3的形式。一個加密輪次如下面的程序序列所述1.根據(jù)如下的表達式對子塊A進行變換
      A←AK4r-3其中“←”表示賦值運算。
      2.根據(jù)如下的表達式對子塊B進行變換B←BK4r-23.根據(jù)子塊A的值和子密鑰K4r-1,實現(xiàn)子塊B的數(shù)位轉置。
      4.根據(jù)如下的表達式對子塊A進行變換A←AB5.根據(jù)子塊B的值和子密鑰K4r,實現(xiàn)子塊A的數(shù)位轉置。
      6.根據(jù)如下的表達式對子塊B進行變換B←BA實例2此例所述為根據(jù)如下程序序列的一個輪次的單向變換1.生成二進制向量VV←A<<<B2.根據(jù)如下的表達式對子塊B進行變換B←BV3.根據(jù)如下公式,生成取決于其在前一步驟的值,以及子塊A和B的值的二進制向量VV←(V<<<A)(B<<<13)4.根據(jù)如下的表達式對子塊A進行變換
      A←AV5.根據(jù)A和V的值,實現(xiàn)子塊B的數(shù)位轉置。6.根據(jù)如下的表達式對子塊A進行變換A←AB7.生成二進制向量VV←(V<<<B)(A<<<11)8.根據(jù)B和V的值,實現(xiàn)子塊A的數(shù)位轉置。9.根據(jù)如下的表達式對子塊B進行變換B←BA圖2所示為采用了多個基本開關S的受控轉置數(shù)據(jù)塊的可能實施例。此實施例對應于具有,由類似于圖1所示虛線所表示的,用于數(shù)據(jù)信號的8位輸入和用于控制信號的8位輸入的數(shù)據(jù)塊P。
      轉置運算的各種形式的數(shù)目等于控制輸入的可能代碼組合的數(shù)目,對于具有圖2所示結構的數(shù)據(jù)塊P,其大小為28=256,超過了最新現(xiàn)有技術方法中所用循環(huán)移位運算的數(shù)目。利用類似的方法,其可以設計出適用于具有任意大小數(shù)據(jù)輸入和控制信號輸入,特別是具有32位數(shù)據(jù)輸入和32位控制信號輸入的數(shù)據(jù)塊P的機制。在后一種情況中,其可以實現(xiàn)總數(shù)等于232>109種不同形式的轉置運算。
      圖3所示為具有32位數(shù)據(jù)輸入和79位控制輸入的受控轉置數(shù)據(jù)塊的結構示意圖。此受控轉置數(shù)據(jù)塊,對于控制輸入代碼組合的每種可能值(其總數(shù)為279),實現(xiàn)了一種唯一的輸入二進制數(shù)位轉置形式。受控轉置數(shù)據(jù)塊的外部信息輸入由i1,i2,…,i32表示,外部輸出由o1,o2,…,o32表示,而控制輸入則由c1,c2,…,c79表示。各基本開關S以能夠構成一個行數(shù)為31的矩陣的形式連接在一起。第一行中,連接有31個基本開關,而第二行中,則只有30個,類似地,第三行中只有29個,如此類推。在接下來的每一行中,基本開關的總數(shù)逐行減1。在最后一行-第31行中,則只連接有一個基本開關。
      行號j≠31的各行分別具有33-j個輸入,33-j個輸出和32-j個控制輸入。第j行的最后一個(最右側的)輸出是該受控轉置數(shù)據(jù)塊的一個外部輸出,而第j行其余32-j個輸出則與第(j+1)行的對應輸入相連。第31行具有兩個輸出,而這兩個輸出均是該受控轉置數(shù)據(jù)塊的外部輸出。對于每一行,只有不多于一個的控制輸入上加載有單位(u=1)控制信號。為滿足上述要求,其采用的是二進制32階解密器F1,F(xiàn)2,…,F(xiàn)15和二進制16階解密器F16。解密器F1,F(xiàn)2,…,F(xiàn)15具有5個其上分別加載有一個任意5位二進制代碼的外部控制輸入,和32個輸出。上述解密器只在一個輸出上產(chǎn)生單位信號。而其余31個輸入上的信號則均被設置為零信號。解密器F16具有4個其上加載有一個任意4位二進制代碼的輸出,以及16個其中只有一個被設置為單位信號的輸出。對于所有的解密器F1,F(xiàn)2,…,F(xiàn)15和F16,每個輸入二進制代碼值均定義了其上設置了單位信號(u=1)的唯一可能的輸出數(shù)。
      解密器Fh輸出的一部分,其中h≤15,與第h行的控制輸入(32-h個輸入)相連,而上述輸入的另一部分則與第(32-h)行的控制輸入(其余h個解密器輸出)相連。每行中,在不多于1個的基本開關上設置u=1的控制信號。而與其上加載有單位控制信號的基本開關的右側輸入相連的行輸入,與對應此行的受控轉置數(shù)據(jù)塊的外部輸出相通。如果將上述單位控制信號饋送給最左側的基本開關,則上述受控轉置數(shù)據(jù)塊(數(shù)據(jù)塊P)的外部輸出將與最左側行輸入相通。第一行將數(shù)據(jù)塊P的外部輸入i1,i2,…,i32中的一個與外部輸出o1相通,而其余31個外部輸入則與第二行的輸入相通。第二行將其余31個外部輸入中的一個與外部輸入o2相連,而其余30個外部輸入則與第三行的輸入相通,如此類推。數(shù)據(jù)塊P的此種結構,可以使其對于加載到數(shù)據(jù)塊P的79位控制輸入上的二進制代碼的每個值,實現(xiàn)唯一形式的輸入數(shù)位轉置運算。
      例如,其可能以下述形式在圖1所示的加密變換機制中采用79位控制輸入。其中將,例如,子塊B的32個數(shù)位,以及密鑰的47個數(shù)位用作控制信號。作為后一種情況,例如,其也可以采用子密鑰K4r-1的32個數(shù)位和子密鑰K4r-2的15個數(shù)位。在此情況下,當其將密鑰輸入到加密裝置中時,根據(jù)該密鑰的上述47個數(shù)位,其將根據(jù)輸入數(shù)據(jù)塊的值,產(chǎn)生247種不同變型形式的數(shù)位轉置運算中的一種。其中此運算的每種變型形式包括,其選擇由子塊B的值而定的,232種不同形式的用于對子塊A的數(shù)位進行轉置的運算。變型選擇并不是預先設定的,而是通過密鑰來確定的。這樣作進一步提高了加密變換的抵抗性。如果密寫裝置采用4個具有圖3所示結構的數(shù)據(jù)塊P,則根據(jù)上述密鑰,對數(shù)據(jù)塊P所可能進行的轉置運算各種變型的可能組合的數(shù)目,在使用位長不小于188位的密鑰時,最多可設置達到(247)4=2188種。
      圖4所示為基本開關的操作原理示意圖,其中u為控制信號,a和b為輸入數(shù)據(jù)信號,而c和d分別為輸出數(shù)據(jù)信號。
      表5和6所示為輸出信號與輸入信號和控制信號之間的關系表。從上述兩表中很明顯可以看出,當u=1時,a行與c行相通,而b行則與d行相通。當u=0時,a行與d行相通,而b行與c行相通。
      由于結構較為簡單,利用制造集成電路所用的現(xiàn)代平板技術,可以很容易地生產(chǎn)出包含有多個具有32和64位輸入大小的受控轉置數(shù)據(jù)塊的加密微處理器。
      上述各實例表明,本發(fā)明所提出的二進制數(shù)據(jù)塊加密變換方法在技術上是可行的,同時其能夠解決現(xiàn)有技術的上述問題。
      本發(fā)明的方法可以,例如,以可提供數(shù)量級為1Gbit/s(完全可以滿足對通過高速光纖通信信道傳送的實時數(shù)據(jù)進行加密的要求)的加密速率的專用加密微處理器來實現(xiàn)。
      權利要求
      1.一種用于對二進制數(shù)據(jù)塊進行加密變換的方法,其中包括如下步驟將所述數(shù)據(jù)塊分成N≥2個子塊;通過根據(jù)第j個子塊的值對第i個(其中i≤N)子塊進行至少一次變換運算,來交替地對所述數(shù)據(jù)塊進行變換;該方法特征在于所述根據(jù)第j個(其中j≤N)子塊數(shù)值的運算所采用的是第i個子塊的數(shù)位轉置運算。
      2.如權利要求1所述的方法,其特征在于所述根據(jù)第j個子塊值的所述第i個子塊的所述數(shù)位轉置運算,是根據(jù)開始進行第i個子塊變換之前的密鑰來生成的。
      3.如權利要求1所述的方法,其特征在于在進行所述第i個子塊的根據(jù)第i個子塊的值的當前數(shù)位轉置運算之前,另外產(chǎn)生有一個二進制向量V,根據(jù)V的值,來執(zhí)行所述第i個子塊的所述數(shù)位轉置運算,其中所述二進制向量是根據(jù)其在執(zhí)行所述各子塊中一個子塊的先前變換步驟時的值,以及第j個子塊的值來生成的。
      全文摘要
      本發(fā)明涉及電信和計算機技術領域,具體涉及用于對數(shù)字數(shù)據(jù)進行密寫的加密方法和裝置。該方法包括:將數(shù)據(jù)塊分成N≥2個子塊,通過對第i個子塊施加至少一次變換運算,來順序地變換所述子塊,其中i≤N,所述運算取決于第j個子塊的值,其中j≤N。該方法的特征在于,所述取決于第j個子塊的值的運算是第i個子塊的數(shù)位轉置運算。該方法進一步的特征在于,取決于第j個子塊的值的第i個子塊的數(shù)位轉置運算是根據(jù)第i個子塊變換開始之前的密鑰進行的。該方法進一步的特征在于,在取決于第j個子塊的第i個子塊的當前數(shù)位轉置運算之前,確定二進制向量V,其中第i個子塊中的所述數(shù)位轉置運算是根據(jù)向量V的值進行的。所述二進制向量是根據(jù)其在執(zhí)行所述各子塊中的一個子塊的先前變換步驟時的值,以及第j個子塊的值來確定的。
      文檔編號G09C1/00GK1286855SQ98813178
      公開日2001年3月7日 申請日期1998年6月19日 優(yōu)先權日1998年1月19日
      發(fā)明者亞歷山大·安得烈耶維奇·莫爾多維安, 尼古萊伊·安得烈耶維奇·莫爾多維安 申請人:莫斯科戈羅德電話設備公開股份公司, 亞歷山大·安得烈耶維奇·莫爾多維安, 尼古萊伊·安得烈耶維奇·莫爾多維安
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1