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

密码块链 (CBC) 模式引入了反馈。 在加密每个纯文本块之前,它通过按位排他或操作与上一个块的密码文本组合在一起。 这可确保即使纯文本包含许多相同的块,它们也会分别加密到不同的密码文本块。 初始化向量与第一个纯文本块合并为一个按位排他或操作,然后再加密块。 如果加密文本块的单个位被管理,则相应的纯文本块也将进行管理。 此外,后续块中的一位,在与原始混乱位相同的位置,将被混乱。

ECB 2

电子 Codebook (ECB) 模式单独加密每个块。 任何纯文本块相同且在同一条消息中,或者位于使用相同密钥加密的不同消息中,都将转换为相同的密码文本块。 重要说明:不建议使用此模式,因为它为多个安全攻击打开了大门。 如果要加密的纯文本包含大量重复,则加密文本一次断开一个块是可行的。 还可以使用块分析来确定加密密钥。 此外,活动攻击者可以在不检测的情况下替换和交换单个块,这样就可以在不检测的情况下将块保存到流中并插入到流中。

OFB 3

输出反馈 (OFB) 模式将纯文本的小增量处理成密码文本,而不是一次处理整个块。 此模式类似于 CFB;这两种模式之间的唯一区别是填充移位寄存器的方式。 如果密码文本中的某个位被管理,则会对相应的纯文本位进行管理。 但是,如果密码文本中有额外或缺失的位,则纯文本将从该点开始管理。

CFB 4

密码反馈 (CFB) 模式将纯文本的小增量处理成密码文本,而不是一次处理整个块。 此模式使用一个排班寄存器,该寄存器长度为一个块,并分为多个部分。 例如,如果块大小为 8 个字节,一次处理一个字节,则移位寄存器分为 8 个部分。 如果密码文本中的某个位被管理,则会对一个纯文本位进行管理,而移位寄存器已损坏。 这会导致接下来的几个纯文本递增被管理,直到坏位从移位寄存器移出。 默认反馈大小可能因算法而异,但通常为 8 位或块大小的位数。 可以使用该 FeedbackSize 属性更改反馈位数。 支持 CFB 的算法使用此属性设置反馈。

CTS 5

密码文本窃取 (CTS) 模式处理纯文本的任何长度,并生成与纯文本长度匹配的密码文本。 此模式的行为类似于 CBC 纯文本的最后两个块的模式。

注解

块密码算法在块单元中加密数据,而不是一次加密单个字节。 最常见的块大小为 8 个字节。 由于每个块都经过大量处理,因此块密码提供比流密码更高的安全性级别。 但是,块密码算法的执行速度往往比流密码更慢。

块加密器对每个块使用相同的加密算法。 因此,使用相同密钥和算法加密时,纯文本块将始终返回相同的密码文本。 由于此行为可用于破解密码,因此引入了基于先前块加密的反馈修改加密过程的密码模式。 生成的加密比简单的块加密更高级别的安全性。

适用于

另请参阅