當前位置:首頁 » 密碼管理 » 典型的流密碼一次加密是多少比特
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

典型的流密碼一次加密是多少比特

發布時間: 2022-04-30 00:22:31

① 無線網路中的TKIP和AES有區別么

一、安全性能不同

TKIP本質上是一個WEP補丁,解決了攻擊者通過獲得少量的路由器流量解析出路由器密鑰的問題。TKIP還提供了一個較為完善的安全升級,但是對於保護網路不受黑客攻擊上不夠全面。

AES是一個完全獨立的加密演算法,遠遠優於任何TKIP提供的演算法,該演算法有128位,192位或256位的分組密碼。所以AES安全性能比TKIP好。

二、速度不同

TKIP是一種過時的加密方法,而且除了安全問題,它還會減緩系統運行速度,速度會減慢至54Mbps。

支持WPA2-AES加密的802.11ac理想條件下最大速度為3.46Gbps。所以AES的運行速度相較於TKIP要快。

三、密鑰長度不同

TKIP中密碼使用的密鑰長度為128位,這就解決了WEP密碼使用的密鑰長度過短的問題。

AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。

② 典型現在加密演算法

1.
對稱型加密演算法
也稱私用密鑰演算法.對稱型加密演算法是從傳統的簡單換位代替密碼發展而來的,自1977年美國頒布DES密碼演算法作為美國數據加密標准以來,對稱密鑰密碼體制迅猛發展,得到了世界各國關注和普遍使用.對稱密鑰密碼體制從加密模式上可分為序列密碼和分組密碼兩大類.序列密碼一直是軍事和外交場合使用的主要密碼技術之一,它的主要原理是通過有限狀態機產生性能優良的偽隨機序列,使用該序列加密信息流,得到密文序列.分組密碼的工作方式是將明文分成固定長度的組,如64比特一組,用同一密鑰和演算法對每一組加密,輸出也是固定長度的密文.對稱性的加密演算法包括美國標准56位密鑰的DES,Triple-DES,3DES,變長度密鑰的RC2和RC4,瑞士人發明的128位密鑰的IDEA等.DES(Data Encryption Standard)是由IBM公司開發的最著名的數據加密演算法,它的核心是乘積變換.美國於1997年將其定為非機密數據的正式加密標准.在過去20多年中,DES加密演算法得到了廣泛的研究,比其他任何密鑰方案在硬體和軟體中都得到了更多的應用.DES對64位二進制數據加密,產生64位密文數據,實際密鑰長度為56位(有8位用於奇偶校驗,解密時的過程和加密時相似,但密鑰的順序正好相反),其可能的密鑰有256種,很難被破譯.在銀行業中的電子資金轉賬(EFT)領域中DES的應用獲得成功.現在DES也可由硬體實現,AT&T首先用LSI晶元實現了DES的全部工作模式,該產品稱為數據加密處理機DEP.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.
RC4演算法
RC4加密演算法
RC4加密演算法是大名鼎鼎的RSA三人組中的頭號人物Ron Rivest在1987年設計的密鑰長度可變的流加密演算法簇。之所以稱其為簇,是由於其核心部分的S-box長度可為任意,但一般為256位元組。該演算法的速度可以達到DES加密的10倍左右。
RC4演算法的原理很簡單,包括初始化演算法和偽隨機子密碼生成演算法兩大部分。假設S-box長度和密鑰長度均為為n。先來看看演算法的初始化部分(用類C偽代碼表示):
for (i=0; i<n; i++)
s[i]=i;
j=0;
for (i=0; i<n; i++)
{
j=(j+s[i]+k[i])%256;
swap(s[i], s[j]);
}
在初始化的過程中,密鑰的主要功能是將S-box攪亂,i確保S-box的每個元素都得到處理,j保證S-box的攪亂是隨機的。而不同的S-box在經過偽隨機子密碼生成演算法的處理後可以得到不同的子密鑰序列,並且,該序列是隨機的:
i=j=0;
while (明文未結束)
{
++i%=n;
j=(j+s[i])%n;
swap(s[i], s[j]);
sub_k=s((s[i]+s[j])%n);
}
得到的子密碼sub_k用以和明文進行xor運算,得到密文,解密過程也完全相同。
由於RC4演算法加密是採用的xor,所以,一旦子密鑰序列出現了重復,密文就有可能被破解。關於如何破解xor加密,請參看Bruce Schneier的Applied Cryptography一書的1.4節Simple XOR,在此我就不細說了。那麼,RC4演算法生成的子密鑰序列是否會出現重復呢?經過我的測試,存在部分弱密鑰,使得子密鑰序列在不到100萬位元組內就發生了完全的重復,如果是部分重復,則可能在不到10萬位元組內就能發生重復,因此,推薦在使用RC4演算法時,必須對加密密鑰進行測試,判斷其是否為弱密鑰。
但在2001年就有以色列科學家指出RC4加密演算法存在著漏洞,這可能對無線通信網路的安全構成威脅。
以色列魏茨曼研究所和美國思科公司的研究者發現,在使用「有線等效保密規則」(WEP)的無線網路中,在特定情況下,人們可以逆轉RC4演算法的加密過程,獲取密鑰,從而將己加密的信息解密。實現這一過程並不復雜,只需要使用一台個人電腦對加密的數據進行分析,經過幾個小時的時間就可以破譯出信息的全部內容。
專家說,這並不表示所有使用RC4演算法的軟體都容易泄密,但它意味著RC4演算法並不像人們原先認為的那樣安全。這一發現可能促使人們重新設計無線通信網路,並且使用新的加密演算法。

③ 分組密碼和流密碼的差別是什麼意思

分組密碼與流密碼的不同之處在於輸出的每一位數字不是只與相應時刻輸入的明文數字有關,而是與一組長為m的明文數字

④ 代數公式密碼規則

、 代數攻擊流密碼的方法和基本思想 (一)「代數攻擊(algebraic attack)[4]」流密碼的基本方法 在求解一個隨機生成的多變元二次(multivariate quadratic)多項式方程組是np-hard問題。該問題與傳統的大整數分解,離散對數問題完全不同。最典型的代表就是由patarin在1996年提出的hfe密碼,及其相應的變種hfe--、hfe-、hfev、hfef等。courtois等人在2002年對aes的研究[1]得出代數攻擊流密碼結構形式,aes中在位元組變換步驟中aes所使用的非線性s-盒可以由一個有限域gf(256)上超定的多變元的2次方程組來表示。並且aes候選演算法中的serpent同樣也滿足假設條件,再由toyocrypt、e0等幾個具有線性的反饋結構形式的流密碼的安全性進行了比較系統的研究[3,4],從而得出這些公開密碼系統的安全完全可以歸約為求解一個超定的多變元高次方程組。並且linearization、relinearization、xl、grobner bases等人也給出了求解超定的高次多變元方程組的一此比較好的演算法。 二、 (二)代數攻擊流密碼的基本步驟 (1)通過某些方法將要研究分析的密碼系統的安全性(設為安全參數p)規約(rece)到求解一個超定(overdefined)的多變元高次方程組的問題上 (2)然後再用一些比較好的方法,比如linearization、relinearization、xl等,對(1)中所產生的超定(overdefined)的多變元高次方程組系統求解。 (3)再把(2)中求出的(1)中的解反饋到具體的密碼系統的所設定的安全參數p上來。最後達到代數攻擊流密碼的目的。 二、流密碼代數攻擊的主要研究成果與改進 (一)armknecht等人利用linearization方法,來研究基於bluetooth的現代通信技術中常常使用的流密碼演算法e0[3] 設定e0是一個雙層密碼系統,並且在每一層中都使用相同ksg(key stream generator),約定密鑰初始長度是 比特,然後把初始密鑰和一個給定的nonce用於第一個ksg的輸入,輸出的128比特就作為第二個ksg的密鑰輸入,這樣第二個ksg的輸出的密鑰流,就是人們真正實際應用來加密明文的密鑰流。多數文章僅僅考慮了一層ksg的安全性問題。這里也充分考慮了經典的求和生成器的特點,加入4個比特的記憶在非線性組合函數中,以期達到攻擊者難以攻破密碼系統的目的。 改進:本人的深入研究表明,只要利用連續的4個密鑰流比特,完全可以建立一個僅僅以lfsr的初始狀態來作為基變數的4次方程,其中也不用不包含相應的記憶比特,再然用linearization方法,就可以給出了破解。改進後的演算法的復雜度為 ,遠遠優於其它已知的結果。 (二)代數攻擊簡化後的具有線性反饋結構性質的濾

⑤ 密碼演算法的密碼學

(1) 發送者和接收者
假設發送者想發送消息給接收者,且想安全地發送信息:她想確信偷聽者不能閱讀發送的消息。
(2) 消息和加密
消息被稱為明文。用某種方法偽裝消息以隱藏它的內容的過程稱為加密,加了密的消息稱為密文,而把密文轉變為明文的過程稱為解密。
明文用M(消息)或P(明文)表示,它可能是比特流(文本文件、點陣圖、數字化的語音流或數字化的視頻圖像)。至於涉及到計算機,P是簡單的二進制數據。明文可被傳送或存儲,無論在哪種情況,M指待加密的消息。
密文用C表示,它也是二進制數據,有時和M一樣大,有時稍大(通過壓縮和加密的結合,C有可能比P小些。然而,單單加密通常達不到這一點)。加密函數E作用於M得到密文C,用數學表示為:
E(M)=C.
相反地,解密函數D作用於C產生M
D(C)=M.
先加密後再解密消息,原始的明文將恢復出來,下面的等式必須成立:
D(E(M))=M
(3) 鑒別、完整性和抗抵賴
除了提供機密性外,密碼學通常有其它的作用:.
(a) 鑒別
消息的接收者應該能夠確認消息的來源;入侵者不可能偽裝成他人。
(b) 完整性檢驗
消息的接收者應該能夠驗證在傳送過程中消息沒有被修改;入侵者不可能用假消息代替合法消息。
(c) 抗抵賴
發送者事後不可能虛假地否認他發送的消息。
(4) 演算法和密鑰
密碼演算法也叫密碼,是用於加密和解密的數學函數。(通常情況下,有兩個相關的函數:一個用作加密,另一個用作解密)
如果演算法的保密性是基於保持演算法的秘密,這種演算法稱為受限制的演算法。受限制的演算法具有歷史意義,但按現在的標准,它們的保密性已遠遠不夠。大的或經常變換的用戶組織不能使用它們,因為每有一個用戶離開這個組織,其它的用戶就必須改換另外不同的演算法。如果有人無意暴露了這個秘密,所有人都必須改變他們的演算法。
但是,受限制的密碼演算法不可能進行質量控制或標准化。每個用戶組織必須有他們自己的唯一演算法。這樣的組織不可能採用流行的硬體或軟體產品。但竊聽者卻可以買到這些流行產品並學習演算法,於是用戶不得不自己編寫演算法並予以實現,如果這個組織中沒有好的密碼學家,那麼他們就無法知道他們是否擁有安全的演算法。
盡管有這些主要缺陷,受限制的演算法對低密級的應用來說還是很流行的,用戶或者沒有認識到或者不在乎他們系統中內在的問題。
現代密碼學用密鑰解決了這個問題,密鑰用K表示。K可以是很多數值里的任意值。密鑰K的可能值的范圍叫做密鑰空間。加密和解密運算都使用這個密鑰(即運算都依賴於密鑰,並用K作為下標表示),這樣,加/解密函數現在變成:
EK(M)=C
DK(C)=M.
這些函數具有下面的特性:
DK(EK(M))=M.
有些演算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰K1與相應的解密密鑰K2不同,在這種情況下:
EK1(M)=C
DK2(C)=M
DK2 (EK1(M))=M
所有這些演算法的安全性都基於密鑰的安全性;而不是基於演算法的細節的安全性。這就意味著演算法可以公開,也可以被分析,可以大量生產使用演算法的產品,即使偷聽者知道你的演算法也沒有關系;如果他不知道你使用的具體密鑰,他就不可能閱讀你的消息。
密碼系統由演算法、以及所有可能的明文、密文和密鑰組成的。
基於密鑰的演算法通常有兩類:對稱演算法和公開密鑰演算法。下面將分別介紹: 對稱演算法有時又叫傳統密碼演算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數對稱演算法中,加/解密密鑰是相同的。這些演算法也叫秘密密鑰演算法或單密鑰演算法,它要求發送者和接收者在安全通信之前,商定一個密鑰。對稱演算法的安全性依賴於密鑰,泄漏密鑰就意味著任何人都能對消息進行加/解密。只要通信需要保密,密鑰就必須保密。
對稱演算法的加密和解密表示為:
EK(M)=C
DK(C)=M
對稱演算法可分為兩類。一次只對明文中的單個比特(有時對位元組)運算的演算法稱為序列演算法或序列密碼。另一類演算法是對明文的一組比特亞行運算,這些比特組稱為分組,相應的演算法稱為分組演算法或分組密碼。現代計算機密碼演算法的典型分組長度為64比特——這個長度大到足以防止分析破譯,但又小到足以方便使用(在計算機出現前,演算法普遍地每次只對明文的一個字元運算,可認為是序列密碼對字元序列的運算)。 公開密鑰演算法(也叫非對稱演算法)是這樣設計的:用作加密的密鑰不同於用作解密的密鑰,而且解密密鑰不能根據加密密鑰計算出來(至少在合理假定的長時間內)。之所以叫做公開密鑰演算法,是因為加密密鑰能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應的解密密鑰才能解密信息。在這些系統中,加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。私人密鑰有時也叫秘密密鑰。為了避免與對稱演算法混淆,此處不用秘密密鑰這個名字。
用公開密鑰K加密表示為
EK(M)=C.
雖然公開密鑰和私人密鑰是不同的,但用相應的私人密鑰解密可表示為:
DK(C)=M
有時消息用私人密鑰加密而用公開密鑰解密,這用於數字簽名(後面將詳細介紹),盡管可能產生混淆,但這些運算可分別表示為:
EK(M)=C
DK(C)=M
當前的公開密碼演算法的速度,比起對稱密碼演算法,要慢的多,這使得公開密碼演算法在大數據量的加密中應用有限。 單向散列函數 H(M) 作用於一個任意長度的消息 M,它返回一個固定長度的散列值 h,其中 h 的長度為 m 。
輸入為任意長度且輸出為固定長度的函數有很多種,但單向散列函數還有使其單向的其它特性:
(1) 給定 M ,很容易計算 h ;
(2) 給定 h ,根據 H(M) = h 計算 M 很難 ;
(3) 給定 M ,要找到另一個消息 M『 並滿足 H(M) = H(M』) 很難。
在許多應用中,僅有單向性是不夠的,還需要稱之為「抗碰撞」的條件:
要找出兩個隨機的消息 M 和 M『,使 H(M) = H(M』) 滿足很難。
由於散列函數的這些特性,由於公開密碼演算法的計算速度往往很慢,所以,在一些密碼協議中,它可以作為一個消息 M 的摘要,代替原始消息 M,讓發送者為 H(M) 簽名而不是對 M 簽名 。
如 SHA 散列演算法用於數字簽名協議 DSA中。 提到數字簽名就離不開公開密碼系統和散列技術。
有幾種公鑰演算法能用作數字簽名。在一些演算法中,例如RSA,公鑰或者私鑰都可用作加密。用你的私鑰加密文件,你就擁有安全的數字簽名。在其它情況下,如DSA,演算法便區分開來了??數字簽名演算法不能用於加密。這種思想首先由Diffie和Hellman提出 。
基本協議是簡單的 :
(1) A 用她的私鑰對文件加密,從而對文件簽名。
(2) A 將簽名的文件傳給B。
(3) B用A的公鑰解密文件,從而驗證簽名。
這個協議中,只需要證明A的公鑰的確是她的。如果B不能完成第(3)步,那麼他知道簽名是無效的。
這個協議也滿足以下特徵:
(1) 簽名是可信的。當B用A的公鑰驗證信息時,他知道是由A簽名的。
(2) 簽名是不可偽造的。只有A知道她的私鑰。
(3) 簽名是不可重用的。簽名是文件的函數,並且不可能轉換成另外的文件。
(4) 被簽名的文件是不可改變的。如果文件有任何改變,文件就不可能用A的公鑰驗證。
(5) 簽名是不可抵賴的。B不用A的幫助就能驗證A的簽名。 加密技術是對信息進行編碼和解碼的技術,編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術的要點是加密演算法,加密演算法可以分為對稱加密、不對稱加密和不可逆加密三類演算法。
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密演算法在分布式網路系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法有DES和IDEA等。美國國家標准局倡導的AES即將作為新標准取代DES。
不對稱加密演算法 不對稱加密演算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密演算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密演算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密演算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱演算法擁有兩個密鑰,因而特別適用於分布式系統中的數據加密。廣泛應用的不對稱加密演算法有RSA演算法和美國國家標准局提出的DSA。以不對稱加密演算法為基礎的加密技術應用非常廣泛。
不可逆加密演算法 的特徵是加密過程中不需要使用密鑰,輸入明文後由系統直接經過加密演算法處理成密文,這種加密後的數據是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密演算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的「密碼」也就是輸入的明文。不可逆加密演算法不存在密鑰保管和分發問題,非常適合在分布式網路系統上使用,但因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密演算法。近年來,隨著計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網路中應用較多不可逆加密演算法的有RSA公司發明的MD5演算法和由美國國家標准局建議的不可逆加密標准SHS(Secure Hash Standard:安全雜亂信息標准)等。

⑥ aes的加密標准

對稱密碼體制的發展趨勢將以分組密碼為重點。分組密碼演算法通常由密鑰擴展演算法和加密(解密)演算法兩部分組成。密鑰擴展演算法將b位元組用戶主密鑰擴展成r個子密鑰。加密演算法由一個密碼學上的弱函數f與r個子密鑰迭代r次組成。混亂和密鑰擴散是分組密碼演算法設計的基本原則。抵禦已知明文的差分和線性攻擊,可變長密鑰和分組是該體制的設計要點。
AES是美國國家標准技術研究所NIST旨在取代DES的21世紀的加密標准。
AES的基本要求是,採用對稱分組密碼體制,密鑰長度的最少支持為128、192、256,分組長度128位,演算法應易於各種硬體和軟體實現。1998年NIST開始AES第一輪分析、測試和徵集,共產生了15個候選演算法。1999年3月完成了第二輪AES2的分析、測試。2000年10月2日美國政府正式宣布選中比利時密碼學家Joan Daemen 和 Vincent Rijmen 提出的一種密碼演算法RIJNDAEL 作為 AES.
在應用方面,盡管DES在安全上是脆弱的,但由於快速DES晶元的大量生產,使得DES仍能暫時繼續使用,為提高安全強度,通常使用獨立密鑰的三級DES。但是DES遲早要被AES代替。流密碼體制較之分組密碼在理論上成熟且安全,但未被列入下一代加密標准。
AES加密數據塊分組長度必須為128比特,密鑰長度可以是128比特、192比特、256比特中的任意一個(如果數據塊及密鑰長度不足時,會補齊)。AES加密有很多輪的重復和變換。大致步驟如下:1、密鑰擴展(KeyExpansion),2、初始輪(Initial Round),3、重復輪(Rounds),每一輪又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最終輪(Final Round),最終輪沒有MixColumns。

⑦ AES演算法詳盡分析及範例,最好是c或c++

密碼學中的高級加密標准(Advanced Encryption Standard,AES),又稱Rijndael加密法,AES的基本要求是,採用對稱分組密碼體制,密鑰長度的最少支持為128、192、256,分組長度128位,演算法應易於各種硬體和軟體實現。1998年NIST開始AES第一輪分析、測試和徵集,共產生了15個候選演算法。1999年3月完成了第二輪AES2的分析、測試。2000年10月2日美國政府正式宣布選中比利時密碼學家Joan Daemen 和 Vincent Rijmen 提出的一種密碼演算法RIJNDAEL 作為 AES.
在應用方面,盡管DES在安全上是脆弱的,但由於快速DES晶元的大量生產,使得DES仍能暫時繼續使用,為提高安全強度,通常使用獨立密鑰的三級DES。但是DES遲早要被AES代替。流密碼體制較之分組密碼在理論上成熟且安全,但未被列入下一代加密標准。
AES加密數據塊和密鑰長度可以是128比特、192比特、256比特中的任意一個。AES加密有很多輪的重復和變換。大致步驟如下:1、密鑰擴展(KeyExpansion),2、初始輪(Initial Round),3、重復輪(Rounds),每一輪又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最終輪(Final Round),最終輪沒有MixColumns。

⑧ 對稱加密演算法的加密演算法主要有哪些

1、3DES演算法

3DES(即Triple DES)是DES向AES過渡的加密演算法(1999年,NIST將3-DES指定為過渡的加密標准),加密演算法,其具體實現如下:設Ek()和Dk()代表DES演算法的加密和解密過程,K代表DES演算法使用的密鑰,M代表明文,C代表密文,這樣:

3DES加密過程為:C=Ek3(Dk2(Ek1(M)))

3DES解密過程為:M=Dk1(EK2(Dk3(C)))

2、Blowfish演算法

BlowFish演算法用來加密64Bit長度的字元串。

BlowFish演算法使用兩個「盒」——unsignedlongpbox[18]和unsignedlongsbox[4,256]。

BlowFish演算法中,有一個核心加密函數:BF_En(後文詳細介紹)。該函數輸入64位信息,運算後,以64位密文的形式輸出。用BlowFish演算法加密信息,需要兩個過程:密鑰預處理和信息加密。

分別說明如下:

密鑰預處理:

BlowFish演算法的源密鑰——pbox和sbox是固定的。我們要加密一個信息,需要自己選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所要用的key_pbox和key_sbox。具體的變化演算法如下:

1)用sbox填充key_sbox

2)用自己選擇的key8個一組地去異或pbox,用異或的結果填充key_pbox。key可以循環使用。

比如說:選的key是"abcdefghijklmn"。則異或過程為:

key_pbox[0]=pbox[0]abcdefgh;

key_pbox[1]=pbox[1]ijklmnab;

…………

…………

如此循環,直到key_pbox填充完畢。

3)用BF_En加密一個全0的64位信息,用輸出的結果替換key_pbox[0]和key_pbox[1],i=0;

4)用BF_En加密替換後的key_pbox,key_pbox[i+1],用輸出替代key_pbox[i+2]和key_pbox[i+3];

5)i+2,繼續第4步,直到key_pbox全部被替換;

6)用key_pbox[16]和key_pbox[17]做首次輸入(相當於上面的全0的輸入),用類似的方法,替換key_sbox信息加密。

信息加密就是用函數把待加密信息x分成32位的兩部分:xL,xRBF_En對輸入信息進行變換。

3、RC5演算法

RC5是種比較新的演算法,Rivest設計了RC5的一種特殊的實現方式,因此RC5演算法有一個面向字的結構:RC5-w/r/b,這里w是字長其值可以是16、32或64對於不同的字長明文和密文塊的分組長度為2w位,r是加密輪數,b是密鑰位元組長度。

(8)典型的流密碼一次加密是多少比特擴展閱讀:

普遍而言,有3個獨立密鑰的3DES(密鑰選項1)的密鑰長度為168位(三個56位的DES密鑰),但由於中途相遇攻擊,它的有效安全性僅為112位。密鑰選項2將密鑰長度縮短到了112位,但該選項對特定的選擇明文攻擊和已知明文攻擊的強度較弱,因此NIST認定它只有80位的安全性。

對密鑰選項1的已知最佳攻擊需要約2組已知明文,2部,2次DES加密以及2位內存(該論文提到了時間和內存的其它分配方案)。

這在現在是不現實的,因此NIST認為密鑰選項1可以使用到2030年。若攻擊者試圖在一些可能的(而不是全部的)密鑰中找到正確的,有一種在內存效率上較高的攻擊方法可以用每個密鑰對應的少數選擇明文和約2次加密操作找到2個目標密鑰中的一個。

⑨ 無線網路中的TKIP和AES有區別嗎

在IEEE 802.11i規范中,TKIP: Temporal Key Integrity Protocol(暫時密鑰集成協議)負責處理無線安全問題的加密部分。TKIP在設計時考慮了當時非常苛刻的限制因素:必須在現有硬體上運行,因此不能使用計算先進的加密演算法。

TKIP是包裹在已有WEP密碼外圍的一層「外殼」。TKIP由WEP使用的同樣的加密引擎和RC4演算法組成。不過,TKIP中密碼使用的密鑰長度為128位。這解決了WEP的第一個問題:過短的密鑰長度。

TKIP的一個重要特性,是它變化每個數據包所使用的密鑰。這就是它名稱中「動態」的出處。密鑰通過將多種因素混合在一起生成,包括基本密鑰(即TKIP中所謂的成對瞬時密鑰)、發射站的MAC地址以及數據包的序列號。混合操作在設計上將對無線站和接入點的要求減少到最低程度,但仍具有足夠的密碼強度,使它不能被輕易破譯。

利用TKIP傳送的每一個數據包都具有獨有的48位序列號,這個序列號在每次傳送新數據包時遞增,並被用作初始化向量和密鑰的一部分。將序列號加到密鑰中,確保了每個數據包使用不同的密鑰。這解決了WEP的另一個問題,即所謂的「碰撞攻擊」。這種攻擊發生在兩個不同數據包使用同樣的密鑰時。在使用不同的密鑰時,不會出現碰撞。

以數據包序列號作為初始化向量,還解決了另一個WEP問題,即所謂的「重放攻擊(replay attacks)」。由於48位序列號需要數千年時間才會出現重復,因此沒有人可以重放來自無線連接的老數據包:由於序列號不正確,這些數據包將作為失序包被檢測出來。

被混合到TKIP密鑰中的最重要因素是基本密鑰。如果沒有一種生成獨特的基本密鑰的方法,TKIP盡管可以解決許多WEP存在的問題,但卻不能解決最糟糕的問題:所有人都在無線區域網上不斷重復使用一個眾所周知的密鑰。為了解決這個問題,TKIP生成混合到每個包密鑰中的基本密鑰。無線站每次與接入點建立聯系時,就生成一個新基本密鑰。這個基本密鑰通過將特定的會話內容與用接入點和無線站生成的一些隨機數以及接入點和無線站的MAC地址進行散列處理來產生。由於採用802.1x認證,這個會話內容是特定的,而且由認證伺服器安全地傳送給無線站。

AES(高級數據加密標准 )

對稱密碼體制的發展趨勢將以分組密碼為重點。分組密碼演算法通常由密鑰擴展演算法和加密(解密)演算法兩部分組成。密鑰擴展演算法將b位元組用戶主密鑰擴展成r個子密鑰。加密演算法由一個密碼學上的弱函數f與r個子密鑰迭代r次組成。混亂和密鑰擴散是分組密碼演算法設計的基本原則。抵禦已知明文的差分和線性攻擊,可變長密鑰和分組是該體制的設計要點。

AES是美國國家標准技術研究所NIST旨在取代DES的21世紀的加密標准。

AES的基本要求是,採用對稱分組密碼體制,密鑰長度的最少支持為128、192、256,分組長度128位,演算法應易於各種硬體和軟體實現。1998年NIST開始AES第一輪分析、測試和徵集,共產生了15個候選演算法。1999年3月完成了第二輪AES2的分析、測試。2000年10月2日美國政府正式宣布選中比利時密碼學家Joan Daemen 和 Vincent Rijmen 提出的一種密碼演算法RIJNDAEL 作為 AES.

在應用方面,盡管DES在安全上是脆弱的,但由於快速DES晶元的大量生產,使得DES仍能暫時繼續使用,為提高安全強度,通常使用獨立密鑰的三級DES。但是DES遲早要被AES代替。流密碼體制較之分組密碼在理論上成熟且安全,但未被列入下一代加密標准。

AES提供了比 TKIP更加高級的加密技術, 現在無線路由器都提供了這2種演算法,不過比較傾向於AES。TKIP安全性不如AES,而且在使用TKIP演算法時路由器的吞吐量會下降3成至5成,大大地影響了路由器的性能。

⑩ 現在密碼學採用的演算法主要有什麼

現代密碼學將演算法分為具有不同功能的幾種
常用的主要有三種:
1.對稱密碼演算法
DES演算法——二十世紀七十年代提出,曾經稱霸對稱加密領域30年
AES演算法——二十一世紀初提出用以取代DES演算法
IDEA演算法——二十世紀九十年代初提出,也是一種流行演算法
RC4演算法——經典的流密碼演算法
2.公鑰密碼演算法
D-H演算法——用於密鑰協商,是第一種使用的公鑰演算法,基於離散對數難解問題
RSA演算法——最常用的公鑰演算法,功能強大
3.哈希函數(雜湊函數)
MD5——常用演算法,用於產生80比特的輸出
SHA-1——也是常用演算法,用於產生128比特輸出
---
這是最經典的若干種演算法
說的不對之處請指正

------
個人意見 僅供參考