對稱演算法的四種執行模式

2021-08-28 01:45:58 字數 1379 閱讀 3378

對稱演算法使用乙個金鑰。給定乙個明文和乙個金鑰,加密產生密文,其長度和明文大致相同。解密時,使用的金鑰與加密金鑰相同。

對稱演算法主要有四種加密模式:

一 電子密碼本模式 electronic code book(ecb)

這種模式是最早採用和最簡單的模式,它將加密的資料分成若干組,每組的大小跟加密金鑰長度相同,然後每組都用相同的金鑰進行加密。

其缺點是:電子密碼本模式用乙個金鑰加密訊息的所有塊,如果原訊息中重複明文塊,則加密訊息中的相應密文塊也會重複,因此,電子密碼本模式適於加密小訊息。

二 加密塊鏈模式 cipher block chaining(cbc)

cbc模式的加密首先也是將明文分成固定長度的塊,然後將前面乙個加密塊輸出的密文與下乙個要加密的明文塊進行異或操作,將計算結果再用金鑰進行加密得到密文。第一明文塊加密的時候,因為前面沒有加密的密文,所以需要乙個初始化向量。跟ecb方式不一樣,通過連線關係,使得密文跟明文不再是一一對應的關係,破解起來更困難,而且克服了只要簡單調換密文塊可能達到目的的攻擊。

三 加密反饋模式 cipher feedback mode(cfb)

面向字元的應用程式的加密要使用流加密法,可以使用加密反饋模式。在此模式下,資料用更小的單元加密,如可以是8位,這個長度小於定義的塊長(通常是64位)。其加密步驟是:

1、使用length位的初始化向量。初始化向量放在移位暫存器中,在第一步加密,產生相應的length位初始化密文k;

2、初始化密文k高n位與明文前n位進行異或運算,產生密文第一部分c(密文塊0),然後將c傳輸到接收方;

3、向量的位(即初始化向量所在的移位暫存器內容)左移n位,使移位暫存器最右邊的n位為不可**的資料,在其中填入c的內容;

4、重複第1-3步,直到加密所有的明文單元。

解密過程相反

四 輸出反饋模式 output feedback mode(ofb)

輸出反饋模式與cfb相似,惟一差別是,cfb中密文填入加密過程下一階段,而在ofb中,初始化向量加密過程的輸出k的高n位填入加密過程下一階段。

對稱演算法的四種執行模式

對稱演算法使用乙個金鑰。給定乙個明文和乙個金鑰,加密產生密文,其長度和明文大致相同。解密時,使用的金鑰與加密金鑰相同。對稱演算法主要有四種加密模式 一 電子密碼本模式 electronic code book ecb 這種模式是最早採用和最簡單的模式,它將加密的資料分成若干組,每組的大小跟加密金鑰長...

php執行四種模式

四種分別如下 簡答說明下 cli 就是命令列,例如可以在控制台或者是shell中鍵入命令 php f index.phpcgi 規定了php與web server交流的規則,相當於執行了response exec php f index.php url cookie fastcgi這個一般nginx...

PHP四種執行模式

cgi模式,通用閘道器介面,它允許web伺服器通過特定的協議與應用程式通訊,呼叫原理為 使用者請求 web伺服器接收請求 fork子程序呼叫程式 執行程式 程式返回內容 程式執行結束 web伺服器接收內容 返回給使用者 由於每次使用者請求,都得fork建立程序呼叫一次程式,然後銷毀程序,所以效能較低...