當前位置:首頁 » 操作系統 » a3密碼演算法

a3密碼演算法

發布時間: 2022-11-05 13:55:44

❶ 請教高手給我解釋一下 GSM移動通信原理

1).頻譜效率。由於採用了高效調制器、信道編碼、交織、均衡和語音編碼技術,使系統具有高頻譜效率。
2).容量。由於每個信道傳輸帶寬增加,使同頻復用栽干比要求降低至9dB,故GSM系統的同頻復用模式可以縮小到4/12或3/9甚至更小(模擬系統為7/21);加上半速率話音編碼的引入和自動話務分配以減少越區切換的次數,使GSM系統的容量效率(每兆赫每小區的信道數)比TACS系統高3~5倍。
3).話音質量。鑒於數字傳輸技術的特點以及GSM規范中有關空中介面和話音編碼的定義,在門限值以上時,話音質量總是達到相同的水平而與無線傳輸質量無關。
4).開放的介面。GSM標准所提供的開放性介面,不僅限於空中介面,而且報刊網路直接以及網路中個設備實體之間,例如A介面和Abis介面。
GSM MODEM5). 安全性。通過鑒權、加密和TMSI號碼的使用,達到安全的目的。鑒權用來驗證用戶的入網權利。加密用於空中介面,由SIM卡和網路AUC的密鑰決定。TMSI是一個由業務網路給用戶指定的臨時識別號,以防止有人跟蹤而泄漏其地理位置。
6).與ISDN、PSTN等的互連。與其他網路的互連通常利用現有的介面,如ISUP或TUP等。
7).在SIM卡基礎上實現漫遊。漫遊是移動通信的重要特徵,它標志著用戶可以從一個網路自動進入另一個網路。GSM系統可以提供全球漫遊,當然也需要網路運營者之間的某些協議,例如計費。 GSM - 技術 2GSM系統的技術規范及其主要性能
GSM標准共有12章規范系列,即:01系列:概述 02系列:業務方面 03系列:網路方面 04系列:MS-BS介面和規約(空中介面第2、3層) 05系列:無線路徑上的物理層(空中介面第1層) 06系列:話音編碼規范 07系列:對移動台的終端適配 08系列:BS到MSC介面(A和Abis介面) 09系列:網路互連 10系列:暫缺 11系列:設備和型號批准規范 12系列:操作和維護
3GSM系統關鍵技術
工作頻段的分配
1).工作頻段
中國陸地公用蜂窩數字移動通信網GSM通信系統採用900MHz頻段:
890~915(移動台發、基站收)
935~960(基站發、移動台收)
雙工間隔為45MHz,工作帶寬為25 MHz,載頻間隔為200 kHz。
隨著業務的發展,可視需要向下擴展,或向1.8GHz頻段的GSM1800過渡,即1800MHz頻段:
1710~1785(移動台發、基站收)
1805~1880(基站發、移動台收)
雙工間隔為95MHz,工作帶寬為75 MHz,載頻間隔為200 kHz。
2).頻道間隔
相鄰兩頻道間隔為200kHz。 每個頻道採用時分多址接入(TDMA)方式,分為8個時隙,即8個信道(全速率)。每信道佔用帶寬200 kHz/8=25 kHz。
將來GSM採用半速率話音編碼後,每個頻道可容納16個半速率信道。
3)多址方案
GSM通信系統採用的多址技術:頻分多址(FDMA)和時分多址(TDMA)結合,還加上跳頻技術。
GSM在無線路徑上傳輸的一個基本概念是:傳輸的單位是約一百個調制比特的序列,它稱為一個「突發脈沖」。脈沖持續時間優先,在無線頻譜中也佔一有限部分。它們在時間窗和頻率窗內發送,我們稱之為間隙。精確地講,間隙的中心頻率在系統頻帶內間隔200 kHz安排(FDMA情況),它們每隔0.577ms(更精確地是15/26ms)出現一次(TDMA情況)。對應於相同間隙的時間間隔稱為一個時隙,它的持續時間將作為一種時間單位,稱為BP(突發脈沖周期)。
這樣一個間隙可以在時間/頻率圖中用一個長15/26ms,寬200KHz的小矩形表示(見圖)。統一地,我們將GSM中規定的200KHz帶寬稱為一個頻隙。
4)在時域和頻域中的間隙
在GSM系統中,每個載頻被定義為一個TDMA幀,相當於FDMA系統的一個頻道。每幀包括8個時隙(TS0-7)。每個TDMA幀有一個TDMA幀號。
TDMA幀號是以3小時28分53秒760毫秒(2048*51*26*8BP或者說2048*51*26個TDMA幀)為周期循環編號的。每2048*51*26個TDMA幀為一個超高幀,每一個超高幀又可分為2048個超幀,一個超幀是51*26個TDMA幀的序列(6.12秒),每個超幀又是由復幀組成。復幀分為兩種類型。
26幀的復幀:它包括26個TDMA幀(26*8BP),持續時長120ms。51個這樣的復幀組成一個超幀。這種復幀用於攜帶TCH(和SACCH加FACCH)。
51幀的復幀:它包括51個TDMA幀(51*8BP),持續時長3060/13ms。26個這樣的復幀組成一個超幀。這種復幀用於攜帶BCH和CCCH。
5)無線介面管理
在GSM通信系統中,可用無線信道數遠小於潛在用戶數,雙向通信的信道只能在需要時才分配。這與標准電話網有很大的區別,在電話網中無論有無呼叫,每個終端都與一個交換機相連。
在移動網中,需要根據用戶的呼叫動態地分配和釋放無線信道。不論是移動台發出的呼叫,還是發往移動台的呼叫,其建立過程都要求用專門方法使移動台接入系統,從而獲得一條信道。在GSM中,這個接入過程是在一條專用的移動台--基站信道上實現的。這個信道與用於傳送尋呼信息的基站――移動台信道一起稱為GSM的公用信道,因為它同時攜帶發自/發往許多移動台的信息。相反地,在一定時間內分配給一單獨移動台的信道稱作專用信道。由於這種區別,可以定義移動台的兩種宏狀態:
空閑模式:移動台在偵聽廣播信道,此時它不佔用任一信道。
專用模式:一條雙向信道分配給需要通信的移動台,使它可以利用基礎設施進行雙向點對點通信。
接入過程使移動台從空閑模式轉到專用模式。
4GSM信道
GSM中的信道分為物理信道和邏輯信道,一個物理信道就為一個時隙(TS),而邏輯信道是根據BTS與MS之間傳遞的信息種類的不同而定義的不同邏輯信道,這些邏輯信道映射到物理信道上傳送。從BTS到MS的方向稱為下行鏈路,相反的方向稱為上行鏈路。
邏輯信道又分為兩大類,業務信道和控制信道。
1). 業務信道(TCH):
用於傳送編碼後的話音或客戶數據,在上行和下行信道上,點對點(BTS對一個MS,或反之)方式傳播。
2). 控制信道:
用於傳送信令或同步數據。根據所需完成的功能又把控制信道定義成廣播、公共及專用三種控制信道,它們又可細分為:
a.保密措施
GSM系統在安全性方面有了顯著的改進,GSM與保密相關的功能有兩個目標:第一,包含網路以防止未授權的接入,(同時保護用戶不受欺騙性的假冒);第二,保護用戶的隱私權。
防止未授權的接入是通過鑒權(即插入的SIM卡與移動台提供的用戶標識碼是否一致的安全性檢查)實現的。從運營者方面看,該功能是頭等重要的,尤其在國際漫遊情況下,被訪問網路並不能控制用戶的記錄,也不能控制它的付費能力。
保護用戶的隱私是通過不同手段實現時,對傳輸加密可以防止在無線信道上竊聽通信。大多數的信令也可以用同樣方法保護,以防止第三方了解被叫方是誰。另外,以一個臨時代號替代用戶標識是使第三方無法在無線信道上跟蹤GSM用戶的又一機制。GSMb.PIN碼
這是一種簡單的鑒權方法。
在GSM系統中,客戶簽約等信息均被記錄在SIM卡中。SIM卡插到某個GSM終端設備中,便視作自己的電話機,通話的計費帳單便記錄在此SIM卡名下。為防止盜打,帳單上產生訛誤計費,在SIM卡上設置了PIN碼操作(類似計算機上的Password功能)。PIN碼是由4~8位數字組成,其位數由客戶自己決定。如客戶輸入了一個錯誤的PIN碼,它會給客戶一個提示,重新輸入,若連續3次輸入錯誤,SIM卡就被閉鎖,即使將SIM卡拔出或關掉手機電源也無濟於事,必須向運營商申請,由運營商為用戶解鎖。
c.鑒權
鑒權的計算如下圖所示。其中RAND是網路側對用戶的提問,只有合法的用戶才能夠給出正確的回答SRES。
RAND是由網路側AUC的隨機數發生器產生的,長度為128比特,它的值隨機地在0~2128-1(成千上萬億)范圍內抽取。
SRES稱為符號響應,通過用戶唯一的密碼參數(Ki)的計算獲取,長度為32比特。
Ki以相當保密的方式存儲於SIM卡和AUC中,用戶也不了解自己的Ki,Ki可以是任意格式和長度的。
A3演算法為鑒權演算法,由運營者決定,該演算法是保密的。A3演算法的唯一限制是輸入參數的長度(RAND是128比特)和輸出參數尺寸(SRES必須是32比特)。
d.加密
在GSM中,傳輸鏈路中加密和解密處理的位置允許所有專用模式下的發送數據都用一種方法保護。發送數據可以是用戶信息(語音、數據……),與用戶相關的信令(例如攜帶被呼號碼的消息),甚至是與系統相關信令(例如攜帶著准備切換的無線測量結果的消息)。
加密和解密是對114個無線突發脈沖編碼比特與一個由特殊演算法產生的114比特加密序列進行異或運算(A5演算法)完成的。為獲得每個突發加密序列,A5對兩個輸入進行計算:一個是幀號碼,另一個是移動台與網路之間同意的密鑰(稱為Kc),見圖。上行鏈路和下行鏈路上使用兩個不同的序列:對每一個突發,一個序列用於移動台內的加密,並作為BTS中的解密序列;而另一個序列用於BTS的加密,並作為移動台的解密序列。
d-1.幀號:
幀號編碼成一連串的三個值,總共加起來22比特。
對於各種無線信道,每個突發的幀號都不同,所有同一方向上給定通信的每個突發使用不同的加密序列。
d-2.A5演算法
A5演算法必須在國際范圍內規定,該演算法可以描述成由22比特長的參數(幀號碼)和64比特長參數(Kc)生成兩個114比特長的序列的黑盒子。
d-3.密鑰Kc
開始加密之前,密鑰Kc必須是移動台和網路同意的。GSM中選擇在鑒權期間計算密鑰Kc;然後把密鑰存貯於SIM卡的永久內存中。在網路一側,這個「潛在」的密鑰也存貯於拜訪MSC/VLR中,以備加密開始時使用。
由RAND(與用於鑒權的相同)和Ki計算Kc的演算法為A8演算法。與A3演算法(由RAND和Ki計算SRES的鑒權演算法)類似,可由運營者選擇決定。
d-4.用戶身份保護
加密對於機密信息十分有效,但不能用來在無線路徑上保護每一次信息交換。首先,加密不能應用於公共信道;其次,當移動台轉到專用信道,網路還不知道用戶身份時,也不能加密。第三方就有可能在這兩種情況下幀聽到用戶身份,從而得知該用戶此時漫遊到的地點。這對於用戶的隱私性來說是有害的,GSM中為確保這種機密性引入了一個特殊的功能。
在可能的情況下通過使用臨時移動用戶身份號TMSI替代用戶身份IMSI,可以得到保護。TMSI由MSC/VLR分配,並不斷地進行更換,更換周期由網路運營者設置。 GSM - 系統的組成移動交換子系統MSS完成信息交換、用戶信息管理、呼叫接續、號碼管理等功能。
基站子系統BSS
BSS系統是在一定的無線覆蓋區中由MSC控制,與MS進行通信的系統設備,完成信道的分配、用戶的接入和尋呼、信息的傳送等功能。
移動台MS
MS是GSM系統的移動用戶設備,它由兩部分組成,移動終端和客戶識別卡(SIM卡)。移動終端就是「機」,它可完成話音編碼、信道編碼、信息加密、信息的調制和解調、信息發射和接收。SIM卡就是「人」,它類似於我們現在所用的IC卡,因此也稱作智能卡,存有認證客戶身份所需的所有信息,並能執行一些與安全保密有關的重要信息,以防止非法客戶進入網路。SIM卡還存儲與網路和客戶有關的管理數據,只有插入SIM卡後移動終端才能接入進網。
操作維護子系統
GSM子系統還包括操作維護子系統(OMC),對整個GSM網路進行管理和監控。通過它實現對GSM網內各種部件功能的監視、狀態報告、故障診斷等功能。GSM GSM - 發展現狀 20世紀80年代中期,當模擬蜂窩移動通信系統剛投放市場時,世界上的發達國家就在研製第二代移動通信系統。其中最有代表性和比較成熟的制式有泛歐GSM ,美國的ADC(D-AMPS)和日本的JDC(現在改名為PDC)等數字移動通信系統。在這些數字系統中,GSM的發展最引人注目。1991年GSM系統正式在歐洲問世,網路開通運行。GSM系列主要有GSM900、DCS1800和PCS1900三部分,三者之間的主要區別是工作頻段的差異。蜂窩移動通信的出現可以說是移動通信的一次革命。其頻率復用大大提高了頻率利用率並增大系統容量,網路的智能化實現了越區轉接和漫遊功能,擴大了客戶的服務范圍,但上述模擬系統有四大缺點:各系統間沒有公共介面;很難開展數據承載業務;頻譜利用率低無法適應大容量的需求;安全保密性差,易被竊聽,易做「假機」。尤其是在歐洲系統間沒有公共介面,相互之間不能漫遊,對客戶造成很大的不便。GSM數字移動通信系統源於歐洲。早在1982年,歐洲已有幾大模擬蜂窩移動系統在運營,例如北歐多國的NMT(北歐行動電話)和英國的TACS(全接入通信系統),西歐其它各國也提供移動業務。當時這些系統是國內系統,不可能在國外使用。為了方便全歐洲統一使用行動電話,需要一種公共的系統,1982年,北歐國家向CEPT(歐洲郵電行政大會)提交了一份建議書,要求制定900MHz頻段的公共歐洲電信業務規范。在這次大會上就成立了一個在歐洲電信標准學會(ETSI)技術委員會下的「移動特別小組(Group Special Mobile)」,簡稱「GSM」,來制定有關的標准和建議書。中國自從1992年在嘉興建立和開通第一個GSM演示系統,並於1993年9月正式開放業務以來,全國各地的移動通信系統中大多採用GSM系統,使得GSM系統成為目前中國最成熟和市場佔有量最大得一種數字蜂窩系統。截至2002年11月,中國手機用戶2億,比2001年年底新增5509.2萬。GSM系統有幾項重要特點:防盜拷能力佳、網路容量大、手機號碼資源豐富、通話清晰、穩定性強不易受干擾、信息靈敏、通話死角少、手機耗電量低。目前中國主要的兩大GSM系統為GSM 900及GSM1800,由於採用了不同頻率,因此適用的手機也不盡相同。不過目前大多數手機基本是雙頻手機,可以自由在這兩個頻段間切換。歐洲國家普遍採用的系統除GSM900和GSM1800另外加入了GSM1900,手機為三頻手機。中國隨著手機市場的進一步發展,現也已出現了三頻手機,即可在GSM900\GSM1800\GSM1900三種頻段內自由切換的手機,真正做到了一部手機可以暢游全世界。GSM早期來看,GSM900發展的時間較早,使用的較多,反之GSM1800發展的時間較晚。物理特性方面,前者頻譜較低,波長較長,穿透力較差,但傳送的距離較遠,而手機發射功率較強,耗電量較大,因此待機時間較短;而後者的頻譜較高,波長較短,穿透力佳。但傳送的距離短,其手機的發射功率較小,待機時間則相應地較長。
緊急呼叫是GSM系統特有的一種話音業務功能。即使在GSM手機設置了限制呼出和沒有插入用戶識別卡(SIM)的情況下,只要在GSM網覆蓋的區域內,用戶僅需按一個鍵,便可將預先設定的特殊號碼(如110、119、120等)發至相應的單位(警察局、消防隊、急救中心等)。這一簡化的撥號方式是為在緊急時刻來不及進行復雜操作而專門設計的。

❷ gsm手機有哪些常用的加密演算法

a3
演算法(a3
algorithm)是用於對全球移動通訊系統(gsm)蜂窩通信進行加密的一種演算法。實際上,a3

a8
演算法通常被同時執行(也叫做
a3/a8)。一個
a3/a8
演算法在用戶識別(sim)卡和在
gsm
網路認證中心中執行。它被用於鑒別用戶和產生加密語音和數據通信的密鑰,正如在
3gpp
ts
43.020(rel-4
前的
03.20)定義的一樣。盡管實例執行是可行的,但
a3

a8
演算法被認為是個人
gsm
網路操作者的事情。

❸ RSA加密演算法簡易演示

RSA演算法安全性本質是三大數學困難問題之一也就是大數分解問題,因為目前尚沒有一種有效的方法可以在短時間內分解兩個大素數的乘積。驗證步驟如上面所說的,原理書上有,具體程序實現簡單講一下

  1. 判斷質數,這是基本水平,可以窮舉也可以建表,按自己喜好

  2. 這一步是計算兩個大素數乘積沒什麼好說的

  3. 判斷兩個數互質,一般採用歐幾里得演算法,輾轉相除直到得到gcd(e1,m)=1。當然你也可以窮舉公因數一直到sqrt(min{e1,m})

  4. 計算乘法逆元是依靠廣義歐幾里得演算法,乘法逆元的意思是形如a*a1 ≡ 1(mod m)這樣的(因為這里的群的乘法定義就是數學乘法),a和a1互為彼此模m的逆元,記作a1=a^-1 mod m,只有gcd(a,m)=1時才有唯一解否則無解。

    計算方法是廣義歐幾里得除法,設r0=m,r1=a,s0=1,s1=0,t0=0,t1=1;

    計算ai=[r(i-1)/ri],r(i+1)=r(i-1)-airi,s(i+1)=s(i-1)-aisi,t(i+1)=t(i-1)-aiti,直到ri=0

    舉例如a=7,m=13,計算a^-1 mod m:

    a1=[13/7]=1,r2=r0-a1r1=6,s2=s0-a1s1=1,t2=t0-a1t1=-1;

    a2=[7/6]=1,r3=r1-a2r2=1,s3=s1-a2s2=-1,t3=t1-a2t2=2;

    a3=[6/1]=6,r4=r2-a3r3=0.

    取s=s3=-1,t=t3=2,則有7*2-1*13=1,故a^-1mod m=t=2。

    把上面的方法寫成C++演算法應該很簡單

5和6都是計算同餘沒什麼好說的,記得要用到a^e≡b^e(mod m)化簡

要畢業了還搞不懂逆元有點拙計啊,回去好好看看離散數學吧

❹ 誰幫我介紹下加密對稱演算法

A.對稱加密技術 a. 描述 對稱演算法(symmetric algorithm),有時又叫傳統密碼演算法,就是加密密鑰能夠從解密密鑰中推算出來,同時解密密鑰也可以從加密密鑰中推算出來。而在大多數的對稱演算法中,加密密鑰和解密密鑰是相同的。所以也稱這種加密演算法為秘密密鑰演算法或單密鑰演算法。它要求發送方和接收方在安全通信之前,商定一個密鑰。對稱演算法的安全性依賴於密鑰,泄漏密鑰就意味著任何人都可以對他們發送或接收的消息解密,所以密鑰的保密性對通信性至關重要。 b.特點分析 對稱加密的優點在於演算法實現後的效率高、速度快。 對稱加密的缺點在於密鑰的管理過於復雜。如果任何一對發送方和接收方都有他們各自商議的密鑰的話,那麼很明顯,假設有N個用戶進行對稱加密通信,如果按照上述方法,則他們要產生N(N-1)把密鑰,每一個用戶要記住或保留N-1把密鑰,當N很大時,記住是不可能的,而保留起來又會引起密鑰泄漏可能性的增加。常用的對稱加密演算法有DES,DEA等。 B.非對稱加密技術 a.描述 非對稱加密(dissymmetrical encryption),有時又叫公開密鑰演算法(public key algorithm)。這種加密演算法是這樣設計的:用作加密的密鑰不同於用作解密的密鑰,而且解密密鑰不能根據加密密鑰計算出來(至少在合理假定的長時間內)。之所以又叫做公開密鑰演算法是由於加密密鑰可以公開,即陌生人可以得到它並用來加密信息,但只有用相應的解密密鑰才能解密信息。在這種加密演算法中,加密密鑰被叫做公開密鑰(public key),而解密密鑰被叫做私有密鑰(private key)。 b.特點分析 非對稱加密的缺點在於演算法實現後的效率低、速度慢。 非對稱加密的優點在於用戶不必記憶大量的提前商定好的密鑰,因為發送方和接收方事先根本不必商定密鑰,發放方只要可以得到可靠的接收方的公開密鑰就可以給他發送信息了,而且即使雙方根本互不相識。但為了保證可靠性,非對稱加密演算法需要一種與之相配合使用的公開密鑰管理機制,這種公開密鑰管理機制還要解決其他一些公開密鑰所帶來的問題。常用的非對稱加密演算法有RSA等。 (3) 關於密碼技術 密碼技術包括加密技術和密碼分析技術,也即加密和解密技術兩個方面。在一個新的加密演算法的研發需要有相應的數學理論證明,證明這個演算法的安全性有多高,同時還要從密碼分析的角度對這個演算法進行安全證明,說明這個演算法對於所知的分析方法來說是有防範作用的。 三、對稱加密演算法分析 對稱加密演算法的分類 對稱加密演算法可以分成兩類:一類為序列演算法(stream algorithm):一次只對明文中單個位(有時為位元組)加密或解密運算。另一類為分組演算法(block algorithm):一次明文的一組固定長度的位元組加密或解密運算。 現代計算機密碼演算法一般採用的都是分組演算法,而且一般分組的長度為64位,之所以如此是由於這個長度大到足以防止分析破譯,但又小到足以方便使用。 1.DES加密演算法 (Data Encryption Standard )
(1) 演算法簡介
1973 年 5 月 15 日,美國國家標准局 (NBS) 在「聯邦注冊」上發布了一條通知,徵求密碼演算法,用於在傳輸和存儲期間保護數據。IBM 提交了一個候選演算法,它是 IBM 內部開發的,名為 LUCIFER。在美國國家安全局 (NSA) 的「指導」下完成了演算法評估之後,在 1977 年 7 月 15 日,NBS 採納了 LUCIFER 演算法的修正版作為新的數據加密標准。
原先規定使用10年,但由於新的加密標准還沒有完成,所以DES演算法及其的變形演算法一直廣泛的應用於信息加密方面。 (2) 演算法描述 (包括加密和解密)
Feistel結構(畫圖說明)。

DES 的工作方式:可怕的細節
DES 將消息分成 64 位(即 16 個十六進制數)一組進行加密。DES 使用「密鑰」進行加密,從符號的角度來看,「密鑰」的長度是 16 個十六進制數(或 64 位)。但是,由於某些原因(可能是因為 NSA 給 NBS 的「指引」),DES 演算法中每逢第 8 位就被忽略。這造成密鑰的實際大小變成 56 位。編碼系統對「強行」或「野蠻」攻擊的抵抗力與其密鑰空間或者系統可能有多少密鑰有直接關系。使用的位數越多轉換出的密鑰也越多。密鑰越多,就意味著強行攻擊中計算密鑰空間中可能的密鑰范圍所需的時間就越長。從總長度中切除 8 位就會在很大程度上限制了密鑰空間,這樣系統就更容易受到破壞。
DES 是塊加密演算法。這表示它處理特定大小的純文本塊(通常是 64 位),然後返回相同大小的密碼塊。這樣,64 位(每位不是 0 就是 1)有 264 種可能排列,DES 將生成其中的一種排列。每個 64 位的塊都被分成 L、R 左右兩塊,每塊 32 位。
DES 演算法使用以下步驟:
1. 創建 16 個子密鑰,每個長度是 48 位。根據指定的順序或「表」置換 64 位的密鑰。如果表中的第一項是 "27",這表示原始密鑰 K 中的第 27 位將變成置換後的密鑰 K+ 的第一位。如果表的第二項是 36,則這表示原始密鑰中的第 36 位將變成置換後密鑰的第二位,以此類推。這是一個線性替換方法,它創建了一種線性排列。置換後的密鑰中只出現了原始密鑰中的 56 位。
2. 接著,將這個密鑰分成左右兩半,C0 和 D0,每一半 28 位。定義了 C0 和 D0 之後,創建 16 個 Cn 和 Dn 塊,其中 1<=n<=16。每一對 Cn 和 Dn 塊都通過使用標識「左移位」的表分別從前一對 Cn-1 和 Dn-1 形成,n = 1, 2, ..., 16,而「左移位」表說明了要對哪一位進行操作。在所有情況下,單一左移位表示這些位輪流向左移動一個位置。在一次左移位之後,28 個位置中的這些位分別是以前的第 2、3……28 位。
通過將另一個置換表應用於每一個 CnDn 連接對,從而形成密鑰 Kn,1<=n<=16。每一對有 56 位,而置換表只使用其中的 48 位,因為每逢第 8 位都將被忽略。
3. 編碼每個 64 位的數據塊。
64 位的消息數據 M 有一個初始置換 IP。這將根據置換表重新排列這些位,置換表中的項按這些位的初始順序描述了它們新的排列。我們以前見過這種線性表結構。
使用函數 f 來生成一個 32 位的塊,函數 f 對兩個塊進行操作,一個是 32 位的數據塊,一個是 48 位的密鑰 Kn,連續迭代 16 次,其中 1<=n<=16。用 + 表示 XOR 加法(逐位相加,模除 2)。然後,n 從 1 到 16,計算 Ln = Rn-1 Rn = Ln-1 + f(Rn-1,Kn)。即在每次迭代中,我們用前一結果的右邊 32 位,並使它們成為當前步驟中的左邊 32 位。對於當前步驟中的右邊 32 位,我們用演算法 f XOR 前一步驟中的左邊 32 位。
要計算 f,首先將每一塊 Rn-1 從 32 位擴展到 48 位。可以使用選擇表來重復 Rn-1 中的一些位來完成這一操作。這個選擇表的使用就成了函數 f。因此 f(Rn-1) 的輸入塊是 32 位,輸出塊是 48 位。f 的輸出是 48 位,寫成 8 塊,每塊 6 位,這是通過根據已知表按順序選擇輸入中的位來實現的。
我們已經使用選擇表將 Rn-1 從 32 位擴展成 48 位,並將結果 XOR 密鑰 Kn。現在有 48 位,或者是 8 組,每組 6 位。每組中的 6 位現在將經歷一次變換,該變換是演算法的核心部分:在叫做「S 盒」的表中,我們將這些位當作地址使用。每組 6 位在不同的 S 盒中表示不同的地址。該地址中是一個 4 位數字,它將替換原來的 6 位。最終結果是 8 組,每組 6 位變換成 8 組,每組 4 位(S 盒的 4 位輸出),總共 32 位。
f 計算的最後階段是對 S 盒輸出執行置換 P,以得到 f 的最終值。f 的形式是 f = P(S1(B1)S2(B2)...S8(B8))。置換 P 根據 32 位輸入,在以上的過程中通過置換輸入塊中的位,生成 32 位輸出。

解密只是加密的逆過程,使用以上相同的步驟,但要逆轉應用子密鑰的順序。DES 演算法是可逆的
(2) 演算法的安全性分析
在知道一些明文和密文分組的條件下,從理論上講很容易知道對DES進行一次窮舉攻擊的復雜程度:密鑰的長度是56位,所以會有 種的可能的密鑰。
在1993年的一年一度的世界密碼大會上,加拿大北方電信公司貝爾實驗室的 Michael Wiener 描述了如何構造一台專用的機器破譯DES,該機器利用一種每秒能搜索5000萬個密鑰的專用晶元。而且此機器的擴展性很好,投入的經費越多則效率越高。用100萬美元構造的機器平均3.5小時就可以破譯密碼。
如果不用專用的機器,破譯DES也有其他的方法。在1994年的世界密碼大會上,M.Matsui 提出一種攻克DES的新方法--"線性密碼分析"法。它可使用平均 個明文及其密文,在12台HP9000/735工作站上用此方法的軟體實現,花費50天時間完成對DES的攻擊。
如前所述DES作為加密演算法的標准已經二十多年了,可以說是一個很老的演算法,而在新的加密演算法的國際標准出現之前,許多DES的加固性改進演算法仍有實用價值,在本文的3.4節詳細的描述,同時考慮的以上所述DES的安全性已受到了威脅。
(4) 演算法的變體 三重DES(TDEA),使用3個密鑰,執行3次DES演算法:
加密:C = Ek3[Dk2[Ek1[P]]] 解密:P = Dk1[Ek2[Dk3[C]]]
特點:安全性得到增強,但是速度變慢。
2.AES
自 20 世紀 70 年代以來一直廣泛使用的「數據加密標准」(DES) 日益顯出衰老的痕跡,而一種新的演算法 -- Rijndael -- 正順利地逐漸變成新標准。這里,Larry Loeb 詳細說明了每一種演算法,並提供了關於為什麼會發生這種變化的內幕信息。
DES 演算法是全世界最廣泛使用的加密演算法。最近,就在 2000 年 10 月,它在其初期就取得的硬體方面的優勢已經阻礙了其發展,作為政府加密技術的基礎,它已由「高級加密標准」(AES) 中包含的另一種加密演算法代替了。AES 是指定的標准密碼系統,未來將由政府和銀行業用戶使用。AES 用來實際編碼數據的加密演算法與以前的 DES 標准不同。我們將討論這是如何發生的,以及 AES 中的 Rijndael 演算法是如何取代 DES 的演算法的。
「高級加密標准」成就
但直到 1997 年,美國國家標准技術局 (NIST) 才開始打著 AES 項目的旗幟徵集其接任者。1997 年 4 月的一個 AES 研討會宣布了以下 AES 成就的最初目標:
• 可供政府和商業使用的功能強大的加密演算法
• 支持標准密碼本方式
• 要明顯比 DES 3 有效
• 密鑰大小可變,這樣就可在必要時增加安全性
• 以公正和公開的方式進行選擇
• 可以公開定義
• 可以公開評估
AES 的草案中最低可接受要求和評估標準是:
A.1 AES 應該可以公開定義。
A.2 AES 應該是對稱的塊密碼。
A.3 AES 應該設計成密鑰長度可以根據需要增加。
A.4 AES 應該可以在硬體和軟體中實現。
A.5 AES 應該 a) 可免費獲得。
A.6 將根據以下要素評價符合上述要求的演算法:
1. 安全性(密碼分析所需的努力)
2. 計算效率
3. 內存需求
4. 硬體和軟體可適用性
5. 簡易性
6. 靈活性
7. 許可證需求(見上面的 A5)
Rijndael:AES 演算法獲勝者
1998年8月20日NIST召開了第一次AES侯選會議,並公布了15個AES侯選演算法。經過一年的考察,MARS,RC6,Rijndael,Serpent,Twofish共5種演算法通過了第二輪的選拔。2000 年 10 月,NIST 選擇 Rijndael(發音為 "Rhine dale")作為 AES 演算法。它目前還不會代替 DES 3 成為政府日常加密的方法,因為它還須通過測試過程,「使用者」將在該測試過程後發表他們的看法。但相信它可以順利過關。
Rijndael 是帶有可變塊長和可變密鑰長度的迭代塊密碼。塊長和密鑰長度可以分別指定成 128、192 或 256 位。
Rijndael 中的某些操作是在位元組級上定義的,位元組表示有限欄位 GF(28) 中的元素,一個位元組中有 8 位。其它操作都根據 4 位元組字定義。
加法照例對應於位元組級的簡單逐位 EXOR。
在多項式表示中,GF(28) 的乘法對應於多項式乘法模除階數為 8 的不可約分二進制多項式。(如果一個多項式除了 1 和它本身之外沒有其它約數,則稱它為不可約分的。)對於 Rijndael,這個多項式叫做 m(x),其中:m(x) = (x8 + x4 + x3 + x + 1) 或者十六進製表示為 '11B'。其結果是一個階數低於 8 的二進制多項式。不像加法,它沒有位元組級的簡單操作。
不使用 Feistel 結構!
在大多數加密演算法中,輪回變換都使用著名的 Feistel 結構。在這個結構中,中間 State 的位部分通常不做更改調換到另一個位置。(這種線性結構的示例是我們在 DES 部分中討論的那些表,即使用固定表的形式交換位。)Rijndael 的輪回變換不使用這個古老的 Feistel 結構。輪回變換由三個不同的可逆一致變換組成,叫做層。(「一致」在這里表示以類似方法處理 State 中的位。)
線性混合層保證了在多個輪回後的高度擴散。非線性層使用 S 盒的並行應用,該應用程序有期望的(因此是最佳的)最差非線性特性。S 盒是非線性的。依我看來,這就 DES 和 Rijndael 之間的密鑰概念差異。密鑰加法層是對中間 State 的輪回密鑰 (Round Key) 的簡單 EXOR,如以下所注。

Rijndael演算法

加密演算法
Rijndael演算法是一個由可變數據塊長和可變密鑰長的迭代分組加密演算法,數據塊長和密鑰長可分別為128,192或256比特。
數據塊要經過多次數據變換操作,每一次變換操作產生一個中間結果,這個中間結果叫做狀態。狀態可表示為二維位元組數組,它有4行,Nb列,且Nb等於數據塊長除32。如表2-3所示。

a0,0 a0,1 a0,2 a0,3 a0,4 a0,5
a1,0 a1,1 a1,2 a1,3 a1,4 a1,5
a2,0 a2,1 a2,2 a2,3 a2,4 a2,5
a3,0 a3,1 a3,2 a3,3 a3,4 a3,5

數據塊按a0,0 , a1,0 , a2,0 , a3,0 , a0,1 , a1,1 , a2,1 , a3,1 , a0,2…的順序映射為狀態中的位元組。在加密操作結束時,密文按同樣的順序從狀態中抽取。
密鑰也可類似地表示為二維位元組數組,它有4行,Nk列,且Nk等於密鑰塊長除32。演算法變換的圈數Nr由Nb和Nk共同決定,具體值列在表2-4中。
表3-2 Nb和Nk決定的Nr的值
Nr Nb = 4 Nb = 6 Nb = 8
Nk = 4 10 12 14
Nk = 6 12 12 14
Nk = 8 14 14 14

3.2.1圈變換
加密演算法的圈變換由4個不同的變換組成,定義成:
Round(State,RoundKey)
{
ByteSub(State);
ShiftRow(State);
MixColumn(State);
AddRoundKey(State,RoundKey); (EXORing a Round Key to the State)
}
加密演算法的最後一圈變換與上面的略有不同,定義如下:
FinalRound(State,RoundKey)
{
ByteSub(State);
ShiftRow(State);
AddRoundKey(State,RoundKey);
}

ByteSub變換
ByteSub變換是作用在狀態中每個位元組上的一種非線形位元組變換。這個S盒子是可逆的且由以下兩部分組成:
把位元組的值用它的乘法逆替代,其中『00』的逆就是它自己。
經(1)處理後的位元組值進行如下定義的仿射變換:

y0 1 1 1 1 1 0 0 0 x0 0
y1 0 1 1 1 1 1 0 0 x1 1
y2 0 0 1 1 1 1 1 0 x2 1
y3 0 0 0 1 1 1 1 1 x3 0
y4 = 1 0 0 0 1 1 1 1 x4 + 0
y5 1 1 0 0 0 1 1 1 x5 0
y6 1 1 1 0 0 0 1 1 x6 1
y7 1 1 1 1 0 0 0 1 x7 1

ShiftRow變換
在ShiftRow變換中,狀態的後3行以不同的移位值循環右移,行1移C1位元組,行2移C2位元組,行3移C3位元組。
移位值C1,C2和C3與加密塊長Nb有關,具體列在表2-5中:
表3-3 不同塊長的移位值
Nb C1 C2 C3
4 1 2 3

MixColumn變換
在MixColumn變換中,把狀態中的每一列看作GF(28)上的多項式與一固定多項式c(x)相乘然後模多項式x4+1,其中c(x)為:
c(x) =『03』x3 + 『01』x2 + 『01』x + 『02』
圈密鑰加法
在這個操作中,圈密鑰被簡單地使用異或操作按位應用到狀態中。圈密鑰通過密鑰編製得到,圈密鑰長等於數據塊長Nb。

在這個表示法中,「函數」(Round, ByteSub, ShiftRow,...) 對那些被提供指針 (State, RoundKey) 的數組進行操作。ByteSub 變換是非線性位元組交換,各自作用於每個 State 位元組上。在 ShiftRow 中,State 的行按不同的偏移量循環移位。在 MixColumn 中,將 State 的列視為 GF(28) 多項式,然後乘以固定多項式 c( x ) 並模除 x4 + 1,其中 c( x ) = '03' x3 + '01' x2+ '01' x + '02'。這個多項式與 x4 + 1 互質,因此是可逆的。
輪回密鑰通過密鑰計劃方式從密碼密鑰 (Cipher Key) 派生而出。它有兩個組件:密鑰擴展 (Key Expansion) 和輪回密鑰選擇 (Round Key Selection)。輪回密鑰的總位數等於塊長度乘以輪回次數加 1(例如,塊長度等於 128 位,10 次輪回,那麼就需要 1408 個輪回密鑰位)。
密碼密鑰擴充成擴展密鑰 (Expanded Key)。輪回密鑰是通過以下方法從這個擴展密鑰中派生的:第一個輪回密鑰由前 Nb(Nb = 塊長度)個字組成,第二個由接著的 Nb 個字組成,以此類推。
加密演算法由以下部分組成:初始輪回密鑰加法、Nr-1 個輪回和最後一個輪回。在偽 C 代碼中:
Rijndael(State,CipherKey)
{
KeyExpansion(CipherKey,ExpandedKey);
AddRoundKey(State,ExpandedKey);
For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey + Nb*i);
FinalRound(State,ExpandedKey + Nb*Nr).
}
如果已經預先執行了密鑰擴展,則可以根據擴展密鑰指定加密演算法。
Rijndael(State,ExpandedKey)
{
AddRoundKey(State,ExpandedKey);
For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey + Nb*i);
FinalRound(State,ExpandedKey + Nb*Nr);
}
由於 Rijndael 是可逆的,解密過程只是顛倒上述的步驟。
最後,開發者將仔細考慮如何集成這種安全性進展,使之成為繼 Rijndael 之後又一個得到廣泛使用的加密演算法。AES 將很快應一般商業團體的要求取代 DES 成為標准,而該領域的發展進步無疑將追隨其後。

3.IDEA加密演算法 (1) 演算法簡介 IDEA演算法是International Data Encryption Algorithmic 的縮寫,意為國際數據加密演算法。是由中國學者朱學嘉博士和著名密碼學家James Massey 於1990年聯合提出的,當時被叫作PES(Proposed Encryption Standard)演算法,後為了加強抵抗差分密碼分,經修改於1992年最後完成,並命名為IDEA演算法。 (2) 演算法描述 這個部分參見論文上的圖 (3) 演算法的安全性分析 安全性:IDEA的密鑰長度是128位,比DES長了2倍多。所以如果用窮舉強行攻擊的話, 么,為了獲得密鑰需要 次搜索,如果可以設計一種每秒能搜索十億把密鑰的晶元,並且 採用十億個晶元來並行處理的話,也要用上 年。而對於其他攻擊方式來說,由於此演算法 比較的新,在設計時已經考慮到了如差分攻擊等密碼分析的威脅,所以還未有關於有誰 發現了能比較成功的攻擊IDEA方法的結果。從這點來看,IDEA還是很安全的。
4.總結
幾種演算法的性能對比
演算法 密鑰長度 分組長度 循環次數
DES 56 64 16
三重DES 112、168 64 48
AES 128、192、256 128 10、12、14
IDEA 128 64 8

速度:在200MHz的奔騰機上的對比。
C++ DJGP(++pgcc101)
AES 30.2Mbps 68.275Mbps
DES(RSAREF) 10.6Mbps 16.7Mbps
3DES 4.4Mbps 7.3Mbps

Celeron 1GHz的機器上AES的速度,加密內存中的數據
128bits密鑰:
C/C++ (Mbps) 匯編(Mbps)
Linux 2.4.7 93 170
Windows2K 107 154
256bits密鑰:
C/C++ (Mbps) 匯編(Mbps)
Linux 2.4.7 76 148
Windows2K 92 135

安全性
1990年以來,特製的"DES Cracker"的機器可在幾個小時內找出一個DES密鑰。換句話說,通過測試所有可能的密鑰值,此硬體可以確定用於加密信息的是哪個密鑰。假設一台一秒內可找出DES密鑰的機器(如,每秒試255個密鑰),如果用它來找出128-bit AES的密鑰,大約需要149萬億年。

四、對稱加密應用 在保密通信中的應用。(保密電話) 附加內容
安全哈希演算法(SHA)
由NIST開發出來的。
此演算法以最大長度不超過264位的消息為輸入,生成160位的消息摘要輸出。主要步驟:
1. 附加填充位
2. 附加長度
3. 初始化MD緩沖區,為160位的數據
A=67452301
B=EFCDAB89
C=89BADCFE
D=10325476
E=C3D2E1F0
4. 處理512位消息塊,將緩沖虛數據和消息塊共同計算出下一個輸出
5. 輸出160位摘要
此外還有其他哈希演算法,如MD5(128位摘要),RIPEMD-160(160位摘要)等。

❺ GSM A3 加密演算法的具體實現過程

GSM是全球移動通信的意思,MS移動台,信令,信道

❻ 什麼是a3演算法

A3演算法是驗證過程中使用的網路認證的移動用戶請求服務。A3演算法是一種數學方法結合了一種神秘的數稱為基的文件存儲在手機晶元和一個數字傳輸之間的基站和移動站。數值結果的3演算法計算傳送回基地站。這是當時相比以前的內部計算答案也使用3演算法和相同的輸入量在基站控制器或碩士。當同樣的匹配結果都發生移動提供的信息與先前存儲的信息用戶授予訪問。

❼ 祖沖之演算法的加密演算法EEA3完整性演算法EIA3分別應用於什麼場合

這么久沒人答,我都弄懂了。
祖沖之演算法分3個演算法
ZUC是祖沖之演算法的核心,僅產生密鍵流KS。供EEA3和EIA3調用。

EEA3是加密演算法,用KS捆綁上用戶的密鑰,加密用戶數據D,變成密文。相當於國際上的RSA、DES、AES演算法。作用是對稱的加密解密演算法
EIA3是數據完整性演算法,MAC的一種。捆綁上用戶的密鑰,結合KS,生成散列值。相當於國際上的HMAC結合MD5,SHA1的用法。用於密碼授權值的生成和保存。

❽ 一、GSM中,A3、A5、A8演算法的原理是什麼

A3 Algorithm(A3 演算法)

A3演算法(A3 Algorithm)是用於對全球移動通訊系統(GSM)蜂窩通信進行加密的一種演算法。實際上,A3 和 A8 演算法通常被同時執行(也叫做 A3/A8)。一個 A3/A8 演算法在用戶識別(SIM)卡和在 GSM 網路認證中心中執行。它被用於鑒別用戶和產生加密語音和數據通信的密鑰,正如在 3GPP TS 43.020(Rel-4 前的 03.20)定義的一樣。盡管實例執行是可行的,但 A3 和 A8 演算法被認為是個人 GSM 網路操作者的事情。

A3/A8

A3/A8 是指兩個演算法,A3 和 A8,是用於對全球移動通信系統(GSM)蜂窩通信進行加密的演算法。因為 A3 和 A8 演算法通常同時執行,因此,它們通常被叫做 A3/A8,一個 A3/A8 演算法在用戶識別(SIM)卡和在 GSM 網路認證中心中被執行。正如在 3GPP TS 43.020(Rel-4 前的 03.20)中定義的一樣,它通常用於認證這個用戶和產生一個加密語音和數據通信的密碼。盡管實例執行是可行的,但 A3 和 A8 演算法被認為是個人 GSM 網路操作者的事情。

A5 Algorithm(A5 演算法)

A5 演算法(A5 Algorithm)被用於加密全球移動通信系統(GSM)蜂窩通信。一個 A5 加密演算法在電話聽筒和基站之間攪亂用戶語音和數據傳輸來提供私密。一個 A5 演算法被在電話聽筒和基站子系統(BSS)兩者中執行。

A8 Algorithm(A8 演算法)

A8演算法(A8 Algorithm)通常被用於全球信息系統(GSM) 蜂窩通信的加密。在實踐中,A3 和A8 演算法,也叫做 A3/A8,一般被同時執行。一個 A3/A8 演算法在用戶識別(SIM)卡和在 GSM 網路認證中心中被執行。它通常用於認證這個用戶和產生一個加密語音和數據通信的密鑰,正如在 3GPP TS 43.020(Rel-4 前的 03.20)中定義的一樣。盡管實例執行是可行的,但 A3 和 A8 演算法被認為是個人 GSM 網路操作者的事情。

熱點內容
19投籃腳本 發布:2025-05-14 23:36:57 瀏覽:511
編譯器怎麼處理c變長數組 發布:2025-05-14 23:31:46 瀏覽:662
存摺每天可以輸錯多少次密碼 發布:2025-05-14 23:22:06 瀏覽:908
安卓手機怎麼找微信隱藏對話 發布:2025-05-14 23:07:47 瀏覽:337
怎麼查看泰拉伺服器ip 發布:2025-05-14 23:03:29 瀏覽:73
c語言學生成績查詢系統 發布:2025-05-14 22:58:30 瀏覽:5
怎麼進別人的伺服器 發布:2025-05-14 22:45:55 瀏覽:773
用編程寫音樂 發布:2025-05-14 22:45:08 瀏覽:782
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:848
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350