一种分组密码的工作模式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.
(责任编辑:陈倩)