文章横幅PC版
文章横幅iPad版
文章横幅手机版

什么叫分组密码?分组密码的定义

TIME:2018-05-22 16:51  click: 341 次 来源: 未知

分组密码是定义在长度固定的明文块上的加密函数。在分组密码中,密文块与明文块的大小相同,称为分组密码的分组(块)长度。目前分组密码明文块的长度一般为128比特(16字节),它对128比特的明文块加密,生成128比特的密文。分组密码是可逆的,即存在一个解密函数(算法),可以由128比特的密文得到128比持的原明文。

为了完成对消息的加密,我们需要一个密钥,没有这样的密钥,就无法实现对消息的加密。密钥与明文和密文一样也是一个比特字串,其长度(称为密钥的大小)一般为128比特或256比特。为了方便,我们用E(K,p)或E(p)表示用密钥K对明文p的加密,用D(K,c)减或D(c)表示用密钥K对密文c进行解密。

分组密码主要用于信息的加密。对较短的消息可直接用分组密码进行加密,但对比其分组长度还长的消息,加密需要使用分组密码模式。

根据 Kerckhoffs原理,我们总是假定加密和解密算法是公开的。这个观点一度很难被一些人接受,他们想对算法也保密我们认为,永远不要相信保密的分组密码或其他保密的密码基元。

将分组密码看成是一个依赖于密钥的明文与密文对照表有时很有用。对给定的密钥,这个表定义了从明文到密文的映射。当然,这个表可能十分庞大,例如,对分组长度为32比特的分组密码来说,对应的表大小为16GB;当分组长度为64比特时,表的大小为1.5×109TB;若分组长度是128比特,则表大得已无法命名,为5×109字节。因此,在现实环境下建立这样的表是不切实际的,但明文与密文对照表仍然是分组密码的很有用的概念模型。分组密码是可逆的,这要求在明文与密文对照表中没有相同的项,即任意一个可能的密文值在表中只出现一次,否则解密函数就不能正确解密以得到唯一的明文。这个表实际上是所有可能值的一个重新排序,数学家们称之为置换,因此分组长度为的分组密码也就是为每一个密钥指定一个定义在k比特长度值上的置换。

 

上一篇:Web安全性的缺点有哪些? 下一篇:密钥的生命周期是多少?