CipherMode 列舉

定義

指定要用來加密的區塊加密模式。

public enum class CipherMode
public enum CipherMode
[System.Serializable]
public enum CipherMode
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CipherMode
type CipherMode = 
[<System.Serializable>]
type CipherMode = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CipherMode = 
Public Enum CipherMode
繼承
CipherMode
屬性

欄位

CBC 1

密碼區塊鏈結 (Cipher Block Chaining,CBC) 模式會引用回饋。 在每個純文字區塊被加密之前,會以位元互斥 OR 運算將它與前一個區塊的密碼文字相結合。 這樣可以確保即使純文字含有許多相同的區塊,也會各自被加密成為不同的密碼文字區塊。 初始化向量在區塊被加密之前,會與第一個純文字區塊以位元互斥 OR 運算結合。 如果密碼文字區塊的單一位元受損,對應的純文字區塊也會受損。 此外,在後續區塊中,與原來受損位元在同一位置的位元也會受損。

CFB 4

密碼回饋 (Cipher Feedback,CFB) 模式會將純文字以小量的增量方式處理成密碼文字,而不是一次處理整個區塊。 這個模式會使用移位 (Shift) 暫存器,它的長度為一個區塊並且分成若干個區段。 舉例來說,如果區塊的大小為 8 個位元組,每次處理一個位元組,那麼位移暫存器就會分成八個區段。 如果密碼文字中某個位元受損,那麼就會有一個純文字位元受損,而且位移暫存器也就損毀了。 這樣會造成接下來的幾個純文字增量也跟著受損,直到損壞的位元被位移到位移暫存器之外為止。 預設的回饋大小可能因演算法而異,但通常是 8 個位元或是區塊大小的位元數。 您可以使用 FeedbackSize 屬性來變更回饋的位元數。 支援 CFB 的演算法會使用這個屬性來設定回饋。

CTS 5

密碼文字竊取 (Cipher Text Stealing,CTS) 模式可處理任何長度的純文字,並且會產生與純文字長度相符的密碼文字。 這個模式的行為除了純文字的最後兩個區塊之外,其餘都很像是 CBC 模式。

ECB 2

電子密碼書 (Electronic Codebook,ECB) 模式會個別加密每一個區塊。 任何相同且在同一訊息中 (或在不同訊息中而以相同金鑰加密) 的純文字區塊,都會被轉換成相同的密碼文字區塊。 重要:不建議使用此模式,因為它會開啟多個安全性惡意探索的門。 如果要加密的純文字含有相當多的重複,那麼密碼文字有可能一次被破解一個區塊。 也有可能使用區塊分析來判斷加密金鑰。 此外,積極的入侵者還可以取代和交換個別區塊而不被察覺,也就是可以在不知不覺中將區塊儲存並插入至資料流的其他位置。

OFB 3

輸出回饋 (Output Feedback,OFB) 模式會將純文字以小量的增量方式處理成密碼文字,而不是一次處理整個區塊。 這個模式很類似 CFB;這兩個模式唯一的差異在於填入位移暫存器的方式。 如果密碼文字中某個位元受損,對應的純文字位元也會受損。 但是,如果密碼文字中有多出來的或遺失的位元,那麼從該處開始的純文字都會受損。

備註

區塊加密演算法會以區塊單位加密資料,而不是一次使用單一位元組。 最常見的區塊大小為 8 個位元組。 因為每個區塊都經過大量處理,所以區塊加密提供比串流加密更高的安全性層級。 不過,區塊加密演算法通常會比串流加密執行速度更慢。

區塊加密會針對每個區塊使用相同的加密演算法。 因此,純文字區塊一律會在使用相同的金鑰和演算法加密時傳回相同的加密文字。 由於此行為可用來破解加密,因此引進了加密模式,其會根據先前封鎖加密的意見反應來修改加密程式。 產生的加密提供比簡單區塊加密更高的安全性層級。

適用於

另請參閱