一种分组密码的工作模式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

E 

种分组密码的工作模式 
黄文庆 
(菏泽学院计算机与信息工程系,山东菏泽274015) 

摘要:分组密码工作模式是利用分组密码解决实际问题的密码方案,文章简要介绍了四种分组密码工作模 
式,并在此基础上提出了一种改进方法。 
关键词:分组密码;CBC;OFB;加密技术 
中图分类号:TP309 文献标识码:A 文章编号:1009—2374(201 1)25—0085—02 

分组密码处理消息的长度是固定的,而实际应用 
中需要处理的消息则是任意长度,因此,引出分组 密码的工作模式。1980年美国国家标准局为DES推出 ECB、CBC、OFB ̄NCFB四种保密工作模式,随后,这些 模式被包含在ISO的64_bits的模式标准中。为了尽可 能地利用以前的标准和降低成本,美国国家标准和技 术协会也将这4个模式列为AES的模式标准。下面仅简 要介绍CBC和OFB ̄2作模式的优缺点及研究进展。 一、基础知识 (一)CBC工作模式 CBC(Cipher Block Chaining)工作模式如图1 所示,CBC模式的加密首先也是将明文分成固定长度 的块(P。,P .),与ECB模式不同的是,CBC模式增 加了反馈机制。即将前面一个加密块输出的密文与下 一个要加密的明文块进行0(异或)操作计算,然后 将计算结果输入加密器用密钥进行加密得到密文。第 一明文块加密的时候,因为前面没有加密的密文,所 以需要一个初始化向量(IV),使用初始化向量要求 用同一个密钥加密的消息所使用的IV是惟一的;IV不 需要保密,它可以明文形式与密文一起传送。跟ECB 方式不一样,通过连接关系,使得密文跟明文不再是 一一对应的关系,破解起来更困难,而且克服了只要 简单调换密文块可能达到目的的攻击。 图1 CBC模式的加密方程为:C =E ( 0C );解密 方程为: =Ci一,0D (C )。 CBC工作模式针对于ECB(电子密码本)来说,优 
点很明显:能隐藏明文的模式信息;在每次加密明文 
分组时候使用不同的信息与密文进行运算,因此针对 
于相同的明文可以生成不同的密文。 
但是,CBC工作模式中存在反馈形式的迭代,而 
有反馈形式的迭代属于“数据顺相关”,只能串行执 
行;CBC存在误差传递现象,即在CBC传输过程中一旦 
出现差错,将导致整个明文损坏;因此,需要对模式 
本身进行改造。 
(二)PCBC工作模式 
PCBC(Paralle1 Cipher Block Chaining)工 
作模式是在CBC的基础上,引入多个初始化向量V , 
v ,…V 。m为处理进程的个数。假设数据被分成n 
块,在加密数据时,第一个数据块P。加密使用V。做初 
始化向量,第二个数据块P 加密使用V 做初始化向 
量,依次类推,在第m+1个数据块加密时候,则又使 
用第一个数据块P。加密使用v。做初始化向量。图2给出 
PCBCjJH密过程: 

图2 
在PCBC]2作过程中,第i个进程在t时刻处理的明 

文序号为t・m+i,任一明文分组Pj在第J div m时刻被J 
mod m个进程处理,加密方程为: 

0≤J<m 
J≥m且,iOmodm 

≥m— modm≠0 

201 1 09 o中闯高新技术企业85 

一 
I (Cj)0,』0 J< 

{D,(Cj)0C一) J 0modm 
ID (Cj)0C 一】) J m且fmodm≠0 

在每次进行m个明文分组加密时,进程之问需要 
进行一次通信,通信内容为加密的密文,而此时通信 
开销要比计算开销大,则此种方式进行并行运算效果 
不理想。 
(三)OFB工作模式 
OFBT作模式(Output Feedback):即输出反馈 
模式:在这种工作模式下,分组密码转换为流密码; 
隐藏了明文模式;在传输过程中,密文块损坏只影响 
对应的明文块,不会造成错误传递;在传递处理信息 
时,可进行预处理,消息长度为任意。 
缺点是:可能对明文进行主动攻击;存在输出反 
馈,难以进行并行运算;需要共同的移位寄存器初始 
值IV,对于不同的消息,IV必须唯一;通信双方必须 
同步,否则难以解密,不过可以采用带有同步时钟的 
编码进行解决。OFB工作模式如图aM示: 

匝 圈 
囡 甲 宣r l 

图3 
二、改进 
现在描述OFBI作模式的改进方法,新工作模式 
可同时保障信息的完整性与保密性。这里需要两个长 
度为k的密钥。密钥被称为K 和K 。将明文P分为长度 
为k的明文P ,P ,…,P 。在初始向量(IV)中选中 
长度为n的位。IV作为一个初始值,和K,异或,产生一 
个序列S。,…,s 。密文消息C=c。,C ,…, C 。 
加密伪代码如下: 
CO=IV 
for j=1 to m do 
Mj Pj 0 sJ 
N_=fK1(M{) 

86 o中圈高毒I}琏 企业201 1 09 

Cj Nj 0 Sj 
end for 
checksum=0 。 
Mr+】=checksum@S 
Nm+l=fK1(M +1) 
Cm+1=N +10S0 
在上述过程中,关键的是如何使用IV和K 产生一 
个序pus。,…,Sm+l的,方法如下: 
Wl fK2(IV) 
for i=2 to t do 
Wi fK2(W1+i-2) 
end for 
加密过程如图4所示: 

强班 _一 —1 一{ ~{ 

图4 
三、结论 
本文给出的分组密码的几种并行工作模式,就加 
密而言,算法是自适应的,进程个数无限制。解密 
时,对于PCBC模式而言,可以根据接受方拥有的资源 
来确定使用的处理进程的个数,算法是自适应的;但 
对改进的模式而言,由于解密方程中仍存在数据依赖 
关系,加密时一旦确定了处理进程个数m,解密时处 
理进程的个数只能在一定的范围内进行选择。o 

参考文献 
【1】吴文玲,冯登国.分组密码工作模式的研究现状[n.计 
算机学报,2006,(1 
【2J殷新春,陈伟鹤,谢力_分组密码的并行工作模式【I】.小 
型微型计算机系统,2005,(4). 
[3]Charanfit S.Jutla.Encryption Modes with Almost Free 
Message Integrity.In:Pfitzmann B.ed.Advances in 
Cryptology--Euro crypt’01

Lecture Notes in Computer 

Science 2045.Berlin:Sp ringer2 Ver21ag,2001. 

(责任编辑:陈倩)

相关文档
最新文档