專利名稱::用于改進(jìn)的cmea的方法和設(shè)備,包括一個之前和之后都要進(jìn)行轉(zhuǎn)換的cmea迭代,并且使用...的制作方法這個申請要求1997年7月22日申請的序列號為60/053,412的美國臨時申請和1997年7月29日申請的序列號為60/054,018的美國臨時申請的優(yōu)先權(quán)。本發(fā)明通常涉及無線電話加密技術(shù)。特別是,本發(fā)明涉及無線電話系統(tǒng)中一種改進(jìn)的安全加密系統(tǒng),它能夠快速并安全的進(jìn)行加密,但不需要大量的附加系統(tǒng)資源。無線通話出于幾個不同用途的要使用消息發(fā)送,例如傳送狀態(tài)信息,配置操作模式,處理呼叫終止,和傳送系統(tǒng)和用戶數(shù)據(jù)例如一個用戶的電子序號和電話號碼,還有用戶所發(fā)送的通話和其它數(shù)據(jù)。和通常的有線通話不同,有線通話是通過有線將一個中心服務(wù)站與每一個用戶相連接,這樣在相當(dāng)程度上能確保不遭到未授權(quán)的用戶(攻擊者)的竊聽和竄改,而無線電話服務(wù)站(即基站)無論用戶的物理位置如何,都必須通過空中信號發(fā)送和接收消息。因為基站必須能夠向處于任何位置的用戶發(fā)送和或從其接收消息,所以消息發(fā)送過程完全依靠從用戶設(shè)備所接收到的或發(fā)送到用戶儀器的信號。因為信號是在空中傳輸?shù)?,因此竊聽者和侵入者使用適當(dāng)?shù)脑O(shè)備就能夠截獲信號。如果無線電話所發(fā)送的信號是明文形式的,那么就會存在危險,一個竊聽者能截獲信號并使用該信號來假冒一個用戶,或是截獲用戶所發(fā)送的個人數(shù)據(jù)。這樣的個人數(shù)據(jù)可能包括通話的內(nèi)容。個人數(shù)據(jù)也可能包括用戶所發(fā)送的非聲音數(shù)據(jù),例如與無線電話相連接的一個調(diào)制解調(diào)器所發(fā)送的計算機(jī)數(shù)據(jù),也可能包括銀行往來帳或通過按鍵所發(fā)送的其它個人用戶信息。一個偷聽通話或是截獲非聲音數(shù)據(jù)的竊聽者可能從用戶那里獲得個人信息。通過一個合適的適應(yīng)性接收器就可以相對容易的截獲到一個未加密的電話信號(例如明文信號)的消息內(nèi)容。另外,一個竊聽者通過使用較大的發(fā)送功率,向基站發(fā)送信號和模仿通話中的一方就可以將自己插入到一個已建立起來的連接中。在沒有將加密技術(shù)應(yīng)用到通過無線信號所發(fā)送到的消息時,對未經(jīng)授權(quán)使用電話資源,竊聽消息和在通話過程中模仿被叫方和呼叫方都是有可能的。事實上已證明了這種未授權(quán)的侵入和/或竊聽是一個嚴(yán)重的問題并且是非常討厭的。將加密技術(shù)應(yīng)用到無線電話應(yīng)用為上面所討論的安全問題提供了一種解決途徑,但是由于這些方法的計算密集的特性使得在將標(biāo)準(zhǔn)的加密方法應(yīng)用到無線通話時遇到了明顯的困難。特別是,這些方法受到希望提供一個小的無線手機(jī)和小體積手機(jī)在處理能力上的限制。目前典型的無線手機(jī)的處理能力都不能滿足通常已知的加密算法的處理要求,例如DES(數(shù)據(jù)加密標(biāo)準(zhǔn))。在一個典型的無線電話系統(tǒng)中實現(xiàn)這樣一種已知的加密算法可能會增加處理信號(即加密和解密)所需的時間,會帶來用戶不能接受的延遲。在ReedsU.S.專利5,159,634(“Reeds”)中公布了一種用于無線通話的加密系統(tǒng),在這里作為參考包括了進(jìn)來。Reeds描述了一種稱為CMEA(蜂窩消息加密算法)的加密處理。CMEA操作的核心是tbox函數(shù),它使用一張已知的表和一個密鑰將某個八位字節(jié)向另一個八位字節(jié)進(jìn)行一對一的變換。從一個起始的索引開始,在多重迭代中將密鑰資料與表資料相結(jié)合以執(zhí)行變換??梢詫box函數(shù)或是作為一個函數(shù)調(diào)用或是作為靜態(tài)的駐留在內(nèi)存的tbox表來實現(xiàn)。當(dāng)作為后一種情況實現(xiàn)時,對于一個給定的安全級,tbox表的用途是允許顯著提高加密的速度。存在著對CMEA函數(shù)的改進(jìn),公布在我們的專利申請序列號為,1998年4月13日所申請的題為“用于多重迭代的CMEA加密和解密的方法和設(shè)備,以提高蜂窩電話通信的安全性”,和我們的專利申請序列號為,1998年4月13所申請的題為“用于將一個密鑰安全擴(kuò)展為一個對照表的方法和設(shè)備”。這些改進(jìn)顯著提高了CMEA處理的安全性。而且,所附加的改進(jìn)將進(jìn)一步增加安全性。如下面詳細(xì)的描述,將大大改進(jìn)以前技術(shù)中的CMEA算法。這些改進(jìn)提供了非常有益的增加的安全級。本發(fā)明通過提供一個前向改進(jìn)的CMEA或ECMEA處理和一個反向(reverse)的ECMEA處理,為諸如CMEA算法等加密算法提供了附加的安全級。前向(forward)處理所加密的信息是由反向處理來解密的,反向處理所加密的信息是由前向處理來解密的。前向ECMEA處理在CMEA算法的迭代前將消息提交給第一次轉(zhuǎn)換,在CMEA算法的迭代之后將消息提交給第二次轉(zhuǎn)換。CMEA算法的迭代包括通過第一個保密偏置將輸入置換到tbox函數(shù)。通過使用一個漸伸的(involutary)對照表從而改進(jìn)了CMEA算法所采用的tbox函數(shù)。轉(zhuǎn)換使用第一個保密偏置和第二個保密偏置。第二次轉(zhuǎn)換與第一次轉(zhuǎn)換是相類似的,除了第二次轉(zhuǎn)換所采用第一個和第二個偏置的順序與第一次轉(zhuǎn)換相反。每一次轉(zhuǎn)換在每對相臨的八位字節(jié)之間進(jìn)行位交換(bittrading),對于每一個八位字節(jié)都進(jìn)行一次具有反饋的漸伸(involutary)查表,和隨機(jī)的字節(jié)置換。轉(zhuǎn)換并不是自反向(self-inverting)的,所以前向ECMEA處理整體上也不是自反向的。為了解密由前向ECMEA處理所加密的文本,或是為了加密將由前向的ECMEA處理解密的文本,使用反向CEMEA處理。反向ECMEA處理使用第一次逆轉(zhuǎn)換,跟著是CMEA處理的迭代,跟著是第二次逆轉(zhuǎn)換。第一次逆轉(zhuǎn)換執(zhí)行一個逆隨機(jī)字節(jié)置換,對于每一個八位字節(jié)都進(jìn)行一次具有反饋的漸伸查表,和每一對相臨的八位字節(jié)之間的逆位交換。第一次逆轉(zhuǎn)換也與第一次轉(zhuǎn)換所采用第一個和第二個保密偏置的順序相反,下面將進(jìn)一步詳細(xì)表示。CMEA算法的迭代包括通過第一個安全偏置將tbox函數(shù)的輸入置換到tbox函數(shù)。通過使用一個漸伸的對照表,CMEA算法所采用的tbox函數(shù)得到了改進(jìn)。第二次逆轉(zhuǎn)換與第一次逆轉(zhuǎn)換相類似,除了第二次逆轉(zhuǎn)換采用第一個和第二個保密偏置的順序與第一次逆轉(zhuǎn)換所采用的順序相反。前向ECMEA處理解密反向ECMEA處理所加密的文本,反向ECMEA處理解密前向ECMEA處理所加密的文本。上述的改進(jìn)增強(qiáng)了CMEA,并且能夠在一個小計算機(jī)上快速高效的運行,例如一個可移動的無線收發(fā)信機(jī)中所使用的計算機(jī)。依據(jù)本發(fā)明的一個加密系統(tǒng)可能適合使用一種改進(jìn)的tbox函數(shù),也使用第一和第二偏置將輸入置換到改進(jìn)的tbox函數(shù)并且在CMEA中和在執(zhí)行轉(zhuǎn)換和逆轉(zhuǎn)換中使用。使用兩個保密值和一個外部的加密值來生成每一個偏置??梢酝ㄟ^該
技術(shù)領(lǐng)域:
中大量已知技術(shù)中的任何一種來生成保密值。在一些應(yīng)用中,用來加密一次呼叫的第一條消息的外部加密值是通過一個二進(jìn)制計數(shù)器實現(xiàn)的8比特的值。在本發(fā)明的另一方面,依據(jù)本發(fā)明一個電話系統(tǒng)包括一個移動站和一個基站。移動站和基站中的每一個都生成文本并將文本提供給一個I/O接口,該接口將文本標(biāo)識為生成的文本并將文本和標(biāo)識一起提供給一個加密/解密處理器,該處理器按次序加密文本然后提供給一個收發(fā)信機(jī)用于發(fā)送。當(dāng)設(shè)備通過該收發(fā)信機(jī)接收到一個傳輸時,將該傳輸標(biāo)識為輸入的密文,并將密文和標(biāo)識提供給加密/解密處理器,該處理器解密密文并將它作為文本提供給I/O處理器以選擇到目的地的路由。移動站最好采用前向ECMEA處理,基站最好采用反向ECMEA處理。從下面詳細(xì)的描述和附圖中能夠更加完全的理解本發(fā)明和本發(fā)明的特點和優(yōu)點。圖1表示的是現(xiàn)有技術(shù)中CMEA密鑰生成過程和它在加密的CMEA實現(xiàn)中的應(yīng)用的流程圖。圖2是依據(jù)本發(fā)明的一種前向ECMEA加密方法的流程圖,采用的是第一次轉(zhuǎn)換,一個CMEA處理,和一個第二次轉(zhuǎn)換,在該CMEA處理中采用了使用漸伸查表的改進(jìn)的tbox函數(shù),并由一個保密偏置來置換改進(jìn)的tbox函數(shù)的輸入。圖3是描述前向ECMEA加密方法中所采用的第一次轉(zhuǎn)換的流程圖。圖4是描述前向ECMEA加密方法中所采用的第二次轉(zhuǎn)換的流程圖。圖5是依據(jù)本發(fā)明的一種反向ECMEA加密方法的流程圖,采用的是第一次逆轉(zhuǎn)換,一個CMEA處理,和一個第二次逆轉(zhuǎn)換,在該CMEA處理中采用了使用漸伸查表的改進(jìn)的tbox函數(shù),并由一個保密偏置來置換改進(jìn)的tbox函數(shù)的輸入。圖6是描述在反向ECMEA加密方法中所采用的第一次逆轉(zhuǎn)換的流程圖。圖7是描述在反向ECMEA加密方法中所采用的第二次逆轉(zhuǎn)換的流程圖。圖8是圖解一個使用依據(jù)本發(fā)明的ECMEA處理的電話系統(tǒng)。圖1描述一種現(xiàn)有技術(shù)方法100的一個流程圖,該方法使用一個CMEA密鑰來加密一次通話中可能發(fā)送的某些關(guān)鍵用戶數(shù)據(jù)。使用CMEA密鑰來生成一個保密陣列,256個字節(jié)的tbox(z)。也可以選擇將tbox函數(shù)作為一個函數(shù)調(diào)用來實現(xiàn)。這樣減少了RAM的使用,但是增加大約了一個數(shù)量級的處理時間。在步驟102,引入了未處理的文本。在步驟104,在將tbox作為一個靜態(tài)表而不是一個函數(shù)調(diào)用實現(xiàn)的系統(tǒng)中,推導(dǎo)出該靜態(tài)tbox表。從下面推導(dǎo)出tbox表對于0≤z<256范圍內(nèi)的每一個z,tbox(z)=C(((C(((C(((C((zXORk0)+k1)+z)XORk2)+k3)+z)XORk4)+k5)+z)XORk6)+k7)+z,其中“+”表示模256加,“XOR”是按位布爾“異或”算符,“z”是函數(shù)自變量,k0...k7是CEMA密鑰的八個八位字節(jié),C()是蜂窩驗證,聲音保密和加密(CAVE)八位表查表的輸出結(jié)果。在缺少下述的改進(jìn)的情況下,在本技術(shù)中tbox函數(shù)是為大家所熟知的。但是下面結(jié)合圖2到圖5所討論的改進(jìn)將使tbox函數(shù)極大的提高安全度。CMEA包括三個連續(xù)的步驟,其中每一個都會改變數(shù)據(jù)緩沖器中的字節(jié)串。在步驟106,108和110分別執(zhí)行CMEA處理的第一,第二和第三個步驟,這里將對其進(jìn)行描述。在這三個步驟中對一個d字節(jié)長的數(shù)據(jù)緩沖器進(jìn)行加密,每一個字節(jié)標(biāo)記為b(i),其中i是0≤i<d范圍內(nèi)的一個整數(shù)。CMEA的第一個步驟(Ⅰ)如下1.將一個變量z初始化為0,2.對于0≤i<d范圍內(nèi)i的連續(xù)的整數(shù)值a.通過q=zi的低位字節(jié),形成一個變量q,其中是按位布爾“異或”算符,b.通過k=TBOX(q)形成變量k,c.通過b(i)=b(i)+kmod256來更新b(i),并且d.通過z=b(i)+zmod256來更新z。CMEA的第二個步驟(Ⅱ)是1.對于0≤i<(d-1)/2范圍內(nèi)i的所有值b(i)=b(i)(b(d-1-i)OR1),其中OR是按位布爾“或”算符。CMEA的最后或第三個步驟(Ⅲ)是第一個步驟逆過程的解密過程1.將一個變量z初始化為0,2.對于0≤i<d范圍內(nèi)i連續(xù)的整數(shù)值a.通過q=zi的低位字節(jié),形成一個變量q,b.通過k=TBOX(q)形成變量k,c.通過z=b(i)+zmod256來更新z,并且d.通過b(i)=b(i)-kmod256來更新b(i)。在步驟112,給出最后處理過的輸出。上述的CMEA處理是自反向的。也就是以同樣的順序同樣的步驟加密明文和解密密文。因此不需要判定所執(zhí)行的是加密還是解密。但不幸的是,已經(jīng)證明上述的CMEA處理可能容易受到襲擊,這將恢復(fù)呼叫所使用的CMEA密鑰。為了給用戶信息提供附加的安全性,依據(jù)本發(fā)明的一個加密系統(tǒng)采用一種CMEA迭代,該迭代使用的是一種改進(jìn)的tbox函數(shù),tbox函數(shù)采用的是一個漸伸對照表(lookuptable)。通過由保密偏置置換tbox函數(shù)的輸入,加密算法也改進(jìn)了tbox函數(shù)的使用。通過在CMEA迭代之前和之后對一條消息進(jìn)行轉(zhuǎn)換,提供了附加的安全性。圖2是一個流程,表示依據(jù)本發(fā)明的一個改進(jìn)的ECMEA加密/解密過程200。在步驟202,將一條未處理的消息引入到加密/解密過程。未處理的消息可能是一條要發(fā)送的待加密明文消息,或是一條接收到的待解密加密消息。最好是將未處理的消息存儲在一個數(shù)據(jù)緩沖器中以進(jìn)行處理。在步驟204,在將tbox作為一個靜態(tài)表而不是一個函數(shù)調(diào)用實現(xiàn)的系統(tǒng)中,得出靜態(tài)表tbox。在步驟206,生成一系列保密的8位的值K0-K3以在生成保密偏置時使用,并且計算出偏置。保密值K0-K3中的每個最好都是一個8位的值。對于每一個無線電話呼叫最好都生成所有的保密值K0-K3,并且在通話過程中保持不變。使用下面的公式生成第一和第二個偏置offset1=((K0+1)*CSnmod257)K1mod256offset2=((K2+1)*CSnmod257)K3mod256其中K0-K3如上定義,CS是一個加密同步值。對于第n條消息CSn是一個外部值。CSn值包括8位并且最好由一個二進(jìn)制計數(shù)器來實現(xiàn)。Offset1和offset2每個都是8位的值。在步驟208,在未處理的消息上執(zhí)行一個轉(zhuǎn)換,使用第一個和第二個保密偏置來生成一個第一次轉(zhuǎn)換后的消息。下面將結(jié)合圖3來討論轉(zhuǎn)換的細(xì)節(jié)。在步驟210,使用一個CMEA密鑰對第一次轉(zhuǎn)換后的消息進(jìn)行CMEA處理的一次迭代,來生成一個中間的密文消息。CMEA函數(shù)包括一個改進(jìn)的tbox函數(shù),對每個八位字節(jié)都進(jìn)行一次漸伸查表,由下面的公式給出tbox(z)=I(I(I(I(I(I(I(I(I(I(I(I(I(I(z+k0)XORk1)+k2)XORk3)+k4)XORk5)+k6)XORk7)-k6)XORk5)-k4)XORk3)-k2)XORk1)-k0其中“+”表示模256加,“-”表示模256減,“XOR”是XOR函數(shù),“z”是函數(shù)自變量,k0,...k7是ECMEA密鑰的八個八位字節(jié),I()是一個已知的ibox8位表查表的輸出結(jié)果。ibox是一個漸伸的對照表具有選擇的登錄項來執(zhí)行漸伸的8位字節(jié)到8位字節(jié)的變換。下面是ibox表的一個優(yōu)選的例子0xa2,0xfc,0x5c,0x12,0x6b,0xae,0x70,0x7c,0x7e,0x41,0xd3,0x86,0xc1,0x85,0x89,0x9a,0x59,0xab,0x03,0x7d,0x62,0xca,0x4f,0xdc,0xa5,0x48,0xf6,0x71,0x56,0xc0,0x8c,0x9e,0x9f,0xc3,0x60,0xd9,0xc5,0x53,0xf9,0x7f,0xbI,0x4a,0x6c,0xa8,0x95,0xab,0x76,0xba,0x8e,0x83,0x43,0x90,0x7a,0x37,0xcf,0x35,0xb4,0xfd,0xf0,0xa3,0x51,0xe5,0x6e,0xcb,0x67,0x09,0x92,0x32,0xe7,0x8b,0xd0,0xed,0x19,0xb7,0x29,0x80,0xc4,0xff,0xa9,0x16,0xc6,0x3c,0xfb,0x25,0x98,0xf8,0x1c,0xde,0xaa,0x10,0xad,0x8a,0x02,0x64,0xd2,0xf7,0x22,0xd6,0x14,0xbd,0x5d,0xa0,0xe0,0x40,0xda,0x88,0xe9,0x04,0x2a,0xaf,0x3e,0xf3,0x06,0x1b,0xc7,0xe4,0x91,0xd5,0x2e,0xc8,0xdf,0xf4,0x34,0xa4,0x07,0x13,0x08,0x27,0x4b,0xbf,0xe1,0x31,0xce,0x0d,0x0b,0xf2,0x69,0x0e,0x5b,0x45,0x1e,0xb6,0x30,0xec,0x33,0x74,0x42,0xa7,0xb8,0x2c,0xee,0xbc,0x54,0xd7,0x0f,0xd8,0xb3,0xfe,0x1f,0x20,0x65,0xcc,0x00,0x3b,0x7b,0x18,0xfa,0x93,0x2b,0x4e,0x58,0x2d,0xe8,0x5a,0x05,0x6d,0xdd,0x28,0xef,0x9c,0x38,0xdb,0x8d,0x49,0x94,0xe2,0x2f,0xcd,0x97,0x63,0xea,0x81,0x1d,0x0c,0xe6,0x21,0x4c,0x24,0x50,0x72,0x77,0xf5,0x15,0x3f,0xa1,0xbb,0x84,0x36,0x46,0xf1,0x5e,0x0a,0xe3,0x75,0x61,0x99,0x9b,0x23,0x68,0xb5,0x17,0xb0,0x57,0x78,0x66,0x82,0xb9,0xd4,0x73,0x3d,0xc2,0x44,0xac,0x6a,0xbe,0x11,0x8f,0x47,0x96,0xb2,0x3a,0xd1,0x87,0x6f,0x79,0xc9,0x1a,0x5f,0x55,0x26,0xa6,0x52,0x01,0x39,0x9d,0x4d其中各登錄項是十六進(jìn)制格式。ibox表的各登錄項的索引從0x00到0xff。轉(zhuǎn)換成十進(jìn)制為0到255。對于上面的表,第一列的第一個登錄項的索引是0x00,第一列的第八個登錄項的索引是0x07,第二列的第一個登錄項的索引是0x08,第二列的第八個登錄項是0x0f,諸如此類。從對該表的一個檢驗顯然可以得出它提供了一個漸伸查表,也就是,ibox(ibox((z))=z,例如ibox(0x00)=0xa2。查找索引為0xa2的登錄項,可以看到ibox(0xa2)=0x00。改進(jìn)的tbox函數(shù)代替了上述結(jié)合圖1所描述的TBOX函數(shù)。為了進(jìn)一步的加強(qiáng)安全性,使用第一個或第二個保密偏置對tbox函數(shù)的輸入進(jìn)行置換。對每一個tbox函數(shù)輸入都進(jìn)行一次置換以生成一個置換結(jié)果。例如如果將一個tbox函數(shù)輸入定義為x,置換結(jié)果是值(xoffset1)。將該置換結(jié)果提供給tbox函數(shù)。這樣,對于每一個tbox輸入x,所使用的函數(shù)是tbox(xoffset1)。對tbox輸入進(jìn)行置換會使得tbox登錄項的位置能夠隨著每一條消息移動,這樣大大增加了襲擊者的困難。在步驟202,將中間的密文進(jìn)行第二次轉(zhuǎn)換以生成最終處理過的文本。第二次轉(zhuǎn)換與第一次轉(zhuǎn)換相類似,除了第二次轉(zhuǎn)換中第一個和第二個偏置順序相反。也就是,在第一次轉(zhuǎn)換中使用第一個偏置,在第二次轉(zhuǎn)換中使用第二個偏置,并且在第一次轉(zhuǎn)換中使用第二個偏置,在第二次轉(zhuǎn)換中使用第一個偏置。下面結(jié)合對圖4的討論來描述第二次轉(zhuǎn)換。圖3一個流程圖,詳細(xì)的圖解了圖2中前向ECMEA過程200中所執(zhí)行的第一次轉(zhuǎn)換208的步驟。從n=0到n=nmax-1,其中nmax是消息中八位字節(jié)的數(shù)量,對于未處理的消息的每一個八位字節(jié)n都執(zhí)行步驟304-308。在步驟302,將n設(shè)為0。在步驟304,使用下面的公式在八位字節(jié)n和上面的八位字節(jié)之間執(zhí)行位交換<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,j=OnOn+1j=jANDtbox(joffset1)On=OnjOn+1=On+1j]]></pre>其中j是一個臨時變量,On是未處理的消息的第n個八位字節(jié),AND是按位布爾“與”算符。在步驟306,依據(jù)下面的公式,執(zhí)行一個具有反饋的漸伸查表<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,On=offset1On+1tbox(Onoffset2)Ifn=nmax-1,On=offset1tbox(Onoffset2)]]></pre>在步驟308,執(zhí)行一個隨機(jī)的字節(jié)置換。也就是,可能依據(jù)下面的公式將一個八位字節(jié)和它下面任意的一個八位字節(jié)相交換<prelisting-type="program-listing"><![CDATA[Ifn>0:Ifn<nmax-1, j=tbox(On+1offset1)Ifn=nmax-1,j=tbox(0x37offset1)j=((n+1)*j)>>8;z=Oj Oj=On On=z,]]></pre>其中j和z是緩沖變量,*表示乘法,>>8表示右移8位。在步驟310將n加1。在步驟312,將n與nmax相比較。如果n<nmax,控制返回到步驟304。如果n≥nmax,控制繼續(xù)到步驟314,并且完成第一次轉(zhuǎn)化步驟。圖4是一個流程圖,詳細(xì)的圖解了圖2中前向ECMEA過程200中所執(zhí)行的第二次轉(zhuǎn)換212的步驟。從n=0到n=nmax-1,其中nmax是消息中八位字節(jié)的數(shù)量,對于中間密文消息的每一個八位字節(jié)n都執(zhí)行步驟404-408。在步驟402,將n設(shè)為0。在步驟404,使用下面的公式在八位字節(jié)n和上面的八位字節(jié)之間執(zhí)行位交換<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,j=OnOn+1j=jANDtbox(joffset2)On=OnjOn+1=On+1j]]></pre>其中j是一個臨時的變量,On是中間密文消息的第n個八位字節(jié)。在步驟406,依據(jù)下面的公式,執(zhí)行一個具有反饋的漸伸對照<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,On=offset2On+1tbox(Onoffset1)Ifn=nmax-1,On=offset2tbox(Onoffset1).]]></pre>在步驟408,執(zhí)行一個隨機(jī)的字節(jié)置換。也就是,可能依據(jù)下面的公式將一個八位字節(jié)和它下面任意的一個八位字節(jié)相交換<prelisting-type="program-listing"><![CDATA[ Ifn>0:Ifn<nmax-1,j=tbox(On+1offset2) Ifn=nmax-1, j=tbox(0x37offset2)j=((n+1)*j)>>8z=OjOj=OnOn=z,]]></pre>其中j和z是臨時的緩沖變量,*表示乘法,>>8表示右移8位。在步驟410將n加1。在步驟412,將n與nmax相比較。如果n<nmax,控制返回到步驟404。如果n≥nmax,控制繼續(xù)到步驟414,并且完成第二次轉(zhuǎn)化步驟。圖5是一張圖解一個反向ECMEA過程500的流程圖,適合于解密圖2中圖解的前向ECMEA過程200所加密的文本,或是加密文本,加密后的文本由圖2中所圖解的前向ECMEA處理200進(jìn)行解密。反向ECMEA過程500與前向ECMEA過程200相類似,除了在前向和反向轉(zhuǎn)換中,第二個偏置代替了第一個偏置,第一個偏置代替了第一個偏置。在步驟502,將未處理的文本引入到加密/解密處理。在步驟504,在將tbox作為一個靜態(tài)表而不是一個函數(shù)調(diào)用實現(xiàn)的系統(tǒng)中,推導(dǎo)出靜態(tài)tbox表。在步驟506,生成一系列保密8位值K0-K3以在生成保密偏置時使用,并計算出偏置。使用在本技術(shù)中大家所熟知的大量技術(shù)中的一種就可以生成一系列保密值。對于每個無線電話呼叫最好都生成所有的保密值K0-K3,并且在呼叫中最好是保持不變。使用下面的公式生成第一個和第二個偏置offset1=((K0+1)*CSmod257)K1mod256offset2=((K2+1)*CSmod257)K3mod256其中K0-K3如上定義,CS是一個加密同步值。對于第n條消息CSn是一個外部值。CSn值包括8位并且最好通過一個二進(jìn)制計數(shù)器來實現(xiàn)。offset1和offset2每個都是8位的值。在步驟508,使用第一個和第二個保密偏置,在未處理的消息上進(jìn)行第一個逆轉(zhuǎn)換,以生成一個第一次逆轉(zhuǎn)換后的消息。轉(zhuǎn)換的細(xì)節(jié)與上述結(jié)合圖3所討論的相類似,除了在逆轉(zhuǎn)換中所執(zhí)行的步驟與轉(zhuǎn)換中所執(zhí)行的步驟的順序相反,并且以相反的順序處理消息的八位字節(jié)。下面將結(jié)合圖6來討論第一次逆轉(zhuǎn)換的細(xì)節(jié),結(jié)合圖7來討論第二次逆轉(zhuǎn)換的細(xì)節(jié)。在步驟510,使用一個CMEA密鑰對第一次逆轉(zhuǎn)換后的消息進(jìn)行CMEA處理的一次迭代,來生成一個反向的中間密文消息。CMEA函數(shù)包括一個改進(jìn)的tbox函數(shù),對每個八位字節(jié)都進(jìn)行一次漸伸查表,由下面的公式給出tbox(z)=I(I(I(I(I(I(I(I(I(I(I(I(I(I(z+k0)XORk1)+k2)XORk3)+k4)XORk5)+k6)XORk7)-k6)XORk5)-k4)XORk3)-k2)XORk1)-k0其中“+”表示模256加,“-”表示模256減,“XOR”是XOR函數(shù),“z”是函數(shù)自變量,k0,...k7是ECMEA密鑰的八個八位字節(jié),I()是一個已知的ibox8位表查表的輸出結(jié)果。ibox是一個漸伸的對照表具有選擇的登錄項來執(zhí)行漸伸的8位字節(jié)到8位字節(jié)的變換。Ibox表是一個漸伸的對照表,具有選擇的登錄項來執(zhí)行漸伸的8位字節(jié)到8位字節(jié)的變換。下面是ibox表的一個優(yōu)選的例子0xa2,0xfc,0x5c,0x12,0x6b,0xae,0x70,0x7c,0x7e,0x41,0xd3,0x86,0xc1,0x85,0x89,0x9a,0x59,0xab,0x03,0x7d,0x62,0xca,0x4f,0xdc,0xa5,0x48,0xf6,0x71,0x56,0xc0,0x8c,0x9e,0x9f,0xc3,0x60,0xd9,0xc5,0x53,0xf9,0x7f,0xb1,0x4a,0x6c,0xa8,0x95,0xab,0x76,0xba,0x8e0x830x430x90,0x7a,0x37,0xcf,0x35,0xb4,0xfd,0xf0,0xa3,0x51,0xe5,0x6e,0xcb,0x67,0x09,0x92,0x32,0xe7,0x8b,0xd0,0xed,0x19,0xb7,0x29,0x80,0xc4,0xff,0xa9,0x16,0xc6,0x3c,0xfb,0x25,0x98,0xf8,0x1c,0xde,0xaa,0x10,0xad,0x8a,0x02,0x64,0xd2,0xf7,0x22,0xd6,0x14,0xbd,0x5d,0xa0,0xe0,0x40,0xda,0x88,0xe9,0x04,0x2a,0xaf,0x3e,0xf3,0x06,0x1b,0xc7,0xe4,0x91,0xd5,0x2e,0xc8,0xdf,0xf4,0x34,0xa4,0x07,0x13,0x08,0x27,0x4b,0xbf,0xe1,0x31,0xce,0x0d,0x0b,0xf2,0x69,0x0e,0x5b,0x45,0x1e,0xb6,0x30,0xec,0x33,0x74,0x42,0xa7,0xb8,0x2c,0xee,0xbc,0x54,0xd7,0x0f,0xd8,0xb3,0xfe,0x1f,0x20,0x65,0xcc,0x00,0x3b,0x7b,0x18,0xfa,0x93,0x2b,0x4e,0x58,0x2d,0xe8,0x5a,0x05,0x6d,0xdd,0x28,0xef,0x9c,0x38,0xdb,0x8d,0x49,0x94,0xe2,0x2f,0xcd,0x97,0x63,0xea,0x81,0x1d,0x0c,0xe6,0x21,0x4c,0x24,0x50,0x72,0x77,0xf5,0x15,0x3f,0xa1,0xbb,0x84,0x36,0x46,0xf1,0x5e,0x0a,0xe3,0x75,0x61,0x99,0x9b,0x23,0x68,0xb5,0x17,0xb0,0x57,0x78,0x66,0x82,0xb9,0xd4,0x73,0x3d,0xc2,0x44,0xac,0x6a,0xbe,0x11,0x8f,0x47,0x96,0xb2,0x3a,0xd1,0x87,0x6f,0x79,0xc9,0x1a,0x5f,0x55,0x26,0xa6,0x52,0x01,0x39,0x9d,0x4d其中登錄項是十六進(jìn)制格式。ibox表的登錄項的索引從0x00到0xff。轉(zhuǎn)換成十進(jìn)制為0到255。對于上面的表,第一列的第一個登錄項的索引是0x00,第一列的第八個登錄項的索引是0x07,第二列的第一個登錄項的索引是0x08,第二列的第八個登錄項是0x0f,諸如此類。從對該表的一個檢驗顯然可以得出它提供了一個漸伸查表。也就是,ibox(ibox((z))=z。例如ibox(0x00)=0xa2。查找索引為0xa2的登錄項,可以看到ibox(0xa2)=0x00。改進(jìn)的tbox函數(shù)代替了上述結(jié)合圖1所描述的TBOX函數(shù)。為了進(jìn)一步的加強(qiáng)安全性,使用第一個保密偏置對tbox函數(shù)的輸入進(jìn)行置換。對每一個tbox函數(shù)輸入都進(jìn)行一次置換以生成一個置換結(jié)果。例如如果將一個tbox函數(shù)輸入定義為x,置換結(jié)果是值(xoffset1)。將該置換結(jié)果提供給tbox函數(shù)。這樣,對于每一個tbox輸入x,所使用的函數(shù)是tbox(xoffset1)。對tbox輸入進(jìn)行置換會使得tbox登錄項的位置能夠隨著每一條消息移動,這樣大大增加了襲擊者的困難。在步驟512,將反向中間密文進(jìn)行第二次逆轉(zhuǎn)換以生成最終處理過的文本。第二次逆轉(zhuǎn)換與第一反向次轉(zhuǎn)換相類似,除了第二次逆轉(zhuǎn)換中第一個和第二個偏置順序與第一次逆轉(zhuǎn)換中相反。也就是,在第一次逆轉(zhuǎn)換中使用第一個偏置,在第二逆次轉(zhuǎn)換中使用第二個偏置,并且在第一次逆轉(zhuǎn)換中使用第二個偏置,在第二次逆轉(zhuǎn)換中使用第一個偏置。圖6一個流程圖,詳細(xì)的圖解了圖5中反向ECMEA過程500中所執(zhí)行的第一次逆轉(zhuǎn)換508的步驟。從n=nmax-1到n=0,其中nmax是消息中八位字節(jié)的數(shù)量,對于未處理的消息的每一個八位字節(jié)n都執(zhí)行步驟604-608。在步驟602,將n設(shè)為nmax-1。在步驟604,執(zhí)行一次逆隨機(jī)字節(jié)置換。也就是,依據(jù)下面的公式,可能將一個八位字節(jié)與它下面任意的一個八位字節(jié)相交換<prelisting-type="program-listing"><![CDATA[Ifn>0,Ifn<nmax-1,j=tbox(On+1offset2)Ifn=nmax-1,j=tbox(0x37offset2)j=((n+1)*j)>>8z=OjOj=OnOn=z,]]></pre>其中On是未處理的消息的第n個八位字節(jié),j和z是臨時變量,*表示乘法,并且>>8表示右移8位。在步驟604,依據(jù)下面的公式,執(zhí)行一個具有反饋的反向漸伸查表<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,On=offset1tbox(OnOn+1offset2)Ifn=nmax-1,On=offset1tbox(Onoffset2)]]></pre>在步驟606,使用下面的公式在八位字節(jié)和它上面一個的八位字節(jié)之間執(zhí)行反向位交換<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1:j=OnOn+1j=jANDtbox(joffset2)On=OnjOn+1=On+1j]]></pre>其中j是一個臨時變量。在步驟610將n減1。在步驟612,將n與0相比較。如果n≥0,控制返回到步驟604。如果n<0,控制繼續(xù)到步驟614,并且完成第一次逆轉(zhuǎn)換步驟。圖7是一個流程圖,詳細(xì)的圖解了圖5中反向ECMEA過程500中所執(zhí)行的第二次逆轉(zhuǎn)換512的步驟。從n=nmax-1到n=0,其中nmax是消息中八位字節(jié)的數(shù)量,對于中間密文消息的每一個八位字節(jié)n都執(zhí)行步驟704-708。在步驟702,將n設(shè)為nmax-1。在步驟704,執(zhí)行一次逆隨機(jī)字節(jié)置換。也就是,依據(jù)下面的公式,可能將一個八位字節(jié)與它下面任意的一個八位字節(jié)相交換<prelisting-type="program-listing"><![CDATA[Ifn>0,Ifn<nmax-1,j=tbox(On+1offset1)Ifn=nmax-1,j=tbox(0x37offset1)j=((n+1)*j)>>8;z=OjOj=OnOn=z,]]></pre>其中On是中間密文消息的第n個八位字節(jié),j和z是臨時的變量,*表示乘,并且>>8表示右移8位。在步驟706,依據(jù)下面的公式,執(zhí)行一個具有反饋的反向漸伸查表<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1,On=offset2tbox(OnOn+1offset1)Ifn=nmax-1,On=offset2tbox(Onoffset1)]]></pre>在步驟708,使用下面的公式,在八位字節(jié)n和它上面的一個八位字節(jié)之間執(zhí)行逆位交換<prelisting-type="program-listing"><![CDATA[Ifn<nmax-1:j=OnOn+1j=jANDtbox(joffset1)On=OnjOn+1=On+1j]]></pre>其中j是臨時變量。在步驟710將n減1。在步驟712,將n與0相比較。如果n≥0,控制返回到步驟704。如果n<0,控制繼續(xù)到步驟714,并且完成第二次逆轉(zhuǎn)換步驟。圖8表示的是一個無線電話系統(tǒng)800,包括一個手機(jī)900和一個基站1000。依據(jù)本發(fā)明,手機(jī)900和基站1000裝有設(shè)備以執(zhí)行消息傳輸和處理。電話手機(jī)900包括一個收發(fā)信機(jī)902,一個輸入/輸出(I/O)接口904,一個加密/解密處理器906,和一個密鑰生成器908。密鑰生成器908接收并使用所存儲的保密數(shù)據(jù)以生成密鑰。最好是將存儲的保密數(shù)據(jù)存儲在非易失性存儲器910中,例如一個EEPROM或一個閃速(flash)存儲器中。密鑰生成器也生成保密值K0-K3用作生成保密偏置。也可以將密鑰生成器設(shè)計成使用本
技術(shù)領(lǐng)域:
中已知的大量技術(shù)中的任何一種來生成K0-K3。最好對于每個無線電話呼叫都生成一系列保密值K0-K3,并且在通話過程中K0-K3的值保持不變。密鑰生成器908在存儲器912中存儲所生成的密鑰和保密值K0-K3。加密/解密處理器也包括存儲器914用于存儲從密鑰生成器908接收到的密鑰,生成保密偏置中所使用的一個初始化值,密文消息八位字節(jié),如果希望將tbox函數(shù)作為一個靜態(tài)表實現(xiàn)則生成并使用一個tbox表。電話手機(jī)900也包括一個消息生成器916,由它生成消息供加密/解密處理器906加密并由收發(fā)信機(jī)902發(fā)送。當(dāng)要將一條內(nèi)部生成的消息加密并由電話手機(jī)900發(fā)送的時候,將消息從消息生成器916發(fā)送到I/O接口904。I/O接口904將消息與識別一起發(fā)送到加密/解密處理器906。加密/解密處理器906從密鑰生成器908接收到一個密鑰,然后處理器使用該密鑰來加密消息。當(dāng)加密/解密處理器906從消息生成器916接收到一條明文消息時,對該消息進(jìn)行如上結(jié)合圖2所討論的前向ECMEA處理。前向ECMEA處理包括一個第一次轉(zhuǎn)換,CMEA處理的一次迭代,和一個第二次轉(zhuǎn)換。使用上面在圖2中所描述的ECMEA處理使得tbox登錄項的位置不僅與每一條信息,還與加密每一條單獨消息時的每一次迭代一起移動。一旦完成了前向ECMEA處理,就生成了一個最終的密文并將其存儲在存儲器914中,并路由到I/O接口904并由發(fā)送信機(jī)902進(jìn)行發(fā)送。當(dāng)電話手機(jī)900接收到一條加密過的消息要對其進(jìn)行解密的時候,收發(fā)信機(jī)902將消息傳送到I/O接口904。I/O接口將消息傳送到加密/解密處理器906。加密/解密處理器906從密鑰生成器908接收到一個密鑰并使用上述結(jié)合圖2所描述的前向ECMEA處理對該消息進(jìn)行解密。電話手機(jī)900采用前向ECMEA處理加密和解密消息,并且最好適合與使用反向ECMEA處理的基站進(jìn)行通信,如上面結(jié)合圖5所討論的,以進(jìn)行加密和解密?;景ㄒ粋€收發(fā)信機(jī)1002,I/O接口1004,加密/解密處理器1006,密鑰生成器1008,非易失性存儲器1010,存儲器1012,存儲器1014和消息生成器1014。這些元件與手機(jī)900的相應(yīng)元件相類似,但是配置成實現(xiàn)相反的ECMEA處理。這樣,手機(jī)900所加密的一條消息由基站1000進(jìn)行解密,基站1000所加密的一條消息由手機(jī)900進(jìn)行解密。依據(jù)速度要求和存儲器容量,可以將手機(jī)900或基站1000設(shè)計為將tbox作為一個函數(shù)或是一個靜態(tài)表來實現(xiàn)。將tbox作為一個靜態(tài)表來實現(xiàn)要求增加存儲器但是加快了的速度。上述的對CMEA處理的改進(jìn),同時也增加了安全性,但并沒有增加處理或系統(tǒng)資源,并且非常適合于在例如一個無線電話系統(tǒng)的環(huán)境中使用。在這樣的系統(tǒng)中移動單元和基站經(jīng)常具有有限的處理能力。本發(fā)明現(xiàn)在是以一種優(yōu)選的實施方式公布的,但是應(yīng)該認(rèn)識到本
技術(shù)領(lǐng)域:
中的技術(shù)人員遵循上述的討論和下面的權(quán)利要求書可采用多種實施方式。權(quán)利要求1.一種前向改進(jìn)的CMEA加密或解密方法,對一次呼叫中的每一條消息進(jìn)行密碼處理,該方法應(yīng)用于無線電話系統(tǒng)中所使用的一個CMEA密碼系統(tǒng),包括步驟引入一條未處理的消息或是加密過的消息;生成一個或多個保密偏置;在未處理的消息上執(zhí)行一個第一次轉(zhuǎn)換以生成一條第一次轉(zhuǎn)換后的消息;在第一次轉(zhuǎn)換后的消息上執(zhí)行CMEA處理的一次迭代以產(chǎn)生一個中間密文消息,CMEA處理的迭代使用改進(jìn)后的tbox函數(shù),該tbox函數(shù)采用的是一個漸伸查表,使用一個或多個保密偏置對改進(jìn)的tbox函數(shù)的輸入進(jìn)行置換以成生一個置換結(jié)果;并且在中間密文消息上執(zhí)行一個第二次轉(zhuǎn)換以生成一個最終處理過的消息;2.權(quán)利要求1的方法,其中的一個或多個保密偏置包括一個第一個和第二個保密偏置。3.權(quán)利要求2的方法,其中生成第一個和第二個偏置的步驟包括將多個保密值的某一些與一個外部值相組合。4.權(quán)利要求3的方法,其中對于每個偏置都包括兩個8位的值。5.權(quán)利要求4的方法,其中的外部值是一個8位的值。6.權(quán)利要求5的方法其中對于一次呼叫的第n條消息,第一個偏置值是通過等式offset1=((K0+1)*CSnmod257)K1mod256來表達(dá),其中K0和K1是保密值中的兩個,CSn是第n條消息的一個外部值,一次呼叫的第n條消息的第二個偏置值是通過等式offset2=((K2+1)*CSnmod257)K3mod256來表達(dá)的,其中K2和K3是保密值中的兩個,CSn是第n條消息的一個外部值。7.權(quán)利要求6的方法,其中第一次轉(zhuǎn)換包括執(zhí)行位交換(trading),具有反饋的漸伸查表和在未經(jīng)處理的消息的每個八位字節(jié)上進(jìn)行隨機(jī)字節(jié)置換的步驟,其中位交換和隨機(jī)字節(jié)置換的步驟都采用第一個保密偏置,并且其中具有反饋的漸伸查表的步驟采用第一個和第二個保密偏置。8.權(quán)利要求7的方法,其中第二次轉(zhuǎn)換包括步驟位交換,具有反饋的漸伸查表和在未經(jīng)處理的消息的每個八位字節(jié)上進(jìn)行隨機(jī)字節(jié)置換的步驟,其中位交換和隨機(jī)字節(jié)置換的步驟都采用第二個保密偏置,并且其中具有反饋的漸伸查表的步驟采用第一個和第二個保密偏置。9.一種反向改進(jìn)的CMEA的方法,對一次呼叫中每一條消息進(jìn)行保密處理,該方法用于無線電話系統(tǒng)中所使用的一個CMEA加密系統(tǒng),包括步驟引入一個未處理過的消息或是加密過的消息;生成一個或多個保密偏置;在未處理的消息上執(zhí)行一個第一次逆轉(zhuǎn)換以生成一第一次逆轉(zhuǎn)換后的消息;在第一次逆轉(zhuǎn)換后的消息上進(jìn)行CMEA處理的一次迭代以生成一條中間密文消息,CMEA處理的迭代使用改進(jìn)后的tbox函數(shù),該tbox函數(shù)采用的是一個漸伸查表,使用一個或多個保密偏置對改進(jìn)的tbox函數(shù)的輸入進(jìn)行置換以生成一個置換結(jié)果;并且在中間密文消息上進(jìn)行第二次逆轉(zhuǎn)換以生成一條最終處理過的消息;10.權(quán)利要求9的方法,其中的一個或多個保密偏置包括一個第一個或第二個保密偏置。11.權(quán)利要求2的方法,其中生成第一個和第二個偏置的步驟包括將多個保密值中的某一些與一個外部值相組合。12.權(quán)利要求11的方法,其中對于每個偏置保密值都包括兩個8位的偏置值。13.權(quán)利要求12的方法,其中的外部值是一個8位的值。14.權(quán)利要求5的方法,其中對于一次呼叫的第n條消息,第一個偏置值是通過等式offset1=((K0+1)*CSnmod257)K1mod256來表達(dá)的,其中K0和K1是保密值中的兩個,CSn是第n條消息的一個外部值,對于一個呼叫的第n條消息的第二個偏置值是通過等式offset2=((K2+1)*CSnmod257)K3mod256來表達(dá)的,其中K2和K3是保密值中的兩個,CSn是第n條消息的一個外部值。15.權(quán)利要求14的方法其中第一次轉(zhuǎn)換包括進(jìn)行隨機(jī)的字節(jié)轉(zhuǎn)換,具有反饋的漸伸查表和在未經(jīng)處理的消息的每個八位字節(jié)上的位交換的步驟,其中位交換和隨機(jī)字節(jié)轉(zhuǎn)換的步驟都采用第二個保密偏置,并且其中具有反饋的漸伸查表的步驟采用第一個和第二個保密偏置。16.權(quán)利要求15的方法其中第二個逆轉(zhuǎn)換包括隨機(jī)字節(jié)轉(zhuǎn)換,具有反饋的漸伸查表和在未經(jīng)處理的消息的每個八位字節(jié)上進(jìn)行位交換的步驟,其中位交換和隨機(jī)字節(jié)轉(zhuǎn)換的步驟都采用第一個保密偏置,并且其中具有反饋的漸伸查表的步驟采用第一個和第二個保密偏置。17.一個能夠安全發(fā)送消息的無線手機(jī),包括一個收發(fā)信機(jī);一個輸入/輸出接口;一個密鑰生成器,用于生成一次呼叫中所使用的一個或多個密鑰;和一個保密處理器,用于從輸入/輸出接口接收一條消息,將其與該消息的識別一起加密或解密,其中消息或是要對其進(jìn)行加密的明文或是要對其解密的密文,并且使用一個前向改進(jìn)的CMEA過程來處理該消息,其中的CMEA過程包括第一次和第二次轉(zhuǎn)換和一次CMEA迭代,CMEA迭代包括一個改進(jìn)的tbox函數(shù),通過一個或多個保密偏置來對該tbox函數(shù)的輸入進(jìn)行置換,改進(jìn)的tbox函數(shù)采用一個漸伸對照表,加密/解密處理器還能夠?qū)⒓用芎蠡蚪饷芎蟮南⒎祷亟o輸入/輸出接口以進(jìn)行下一步的路由選擇。18.一個能夠安全發(fā)送消息的無線基站,包括一個收發(fā)信機(jī);一個輸入/輸出接口;一個密鑰生成器用于生成在一次呼叫中所使用的一個或多個密鑰;和一個保密處理器用于從輸入/輸出接口接收一條消息,將其與該消息的識別一起加密或解密,其中消息或是要對其進(jìn)行加密的明文或是要對其解密的密文,并且使用一個前向改進(jìn)的CMEA過程來處理該消息,其中的CMEA過程包括第一次和第二次轉(zhuǎn)換和一次CMEA迭代,CMEA迭代包括一個改進(jìn)的tbox函數(shù),通過一個或多個保密偏置來對該tbox函數(shù)的輸入進(jìn)行置換,改進(jìn)的tbox函數(shù)采用一個漸伸對照表,加密/解密處理器還能夠?qū)⒓用芎蠡蚪饷芎蟮南⒎祷亟o輸入/輸出接口以進(jìn)行下一步的路由選擇。全文摘要用于CMEA或ECMEA處理的方法和儀器。提供了一種前向ECMEA和一種反向的ECMEA處理。前向ECMEA處理解密反向ECMEA處理所加密的文本并且反向ECMEA處理解密前向ECMEA處理所加密的文本。前向ECMEA處理使用一個第一次轉(zhuǎn)換,CMEA處理的一次迭代和一個第二次轉(zhuǎn)換。反向ECMEA處理采用一個第一次逆轉(zhuǎn)換,CMEA處理的一次迭代和一個第二次逆轉(zhuǎn)換。轉(zhuǎn)換和逆轉(zhuǎn)換,和CMEA處理的迭代都使用保密偏置以提高安全性。轉(zhuǎn)換和CMEA處理的迭代也使用一個改進(jìn)的tbox函數(shù),該tbox函數(shù)使用一個漸伸的對照表。文檔編號H04L29/06GK1237299SQ98801188公開日1999年12月1日申請日期1998年7月22日優(yōu)先權(quán)日1997年7月22日發(fā)明者馬克·H·艾特扎爾,羅伯特·J·弗蘭克,丹尼爾·N·希爾,羅伯特·J·邁克奈利斯,塞明·B·米茲克烏斯凱,羅伯特·J·潤斯,R·D·施普申請人:朗迅科技公司