- 您的位置:
- 标准下载网 >>
- 标准分类 >>
- 国家标准(GB) >>
- GB/T 17964-2000 信息技术 安全技术 n位块密码算法的操作方式

【国家标准(GB)】 信息技术 安全技术 n位块密码算法的操作方式
本网站 发布时间:
2024-08-02 16:22:44
- GB/T17964-2000
- 已作废
标准号:
GB/T 17964-2000
标准名称:
信息技术 安全技术 n位块密码算法的操作方式
标准类别:
国家标准(GB)
标准状态:
已作废-
发布日期:
2000-01-03 -
实施日期:
2000-08-01 -
作废日期:
2008-11-01 出版语种:
简体中文下载格式:
.rar.pdf下载大小:
532.59 KB
标准ICS号:
信息技术、办公机械设备>>35.020信息技术(IT)综合中标分类号:
电子元器件与信息技术>>信息处理技术>>L80数据加密
替代情况:
被GB/T 17964-2008代替采标情况:
idt ISO/IEC 10116:1997

点击下载
标准简介:
标准下载解压密码:www.bzxz.net
本标准描述n位块密码算法的四种操作方式。本标准确定了四种规定的操作方式,以便在n位块密码的应用中(例如数据传输的保护、数据存储、鉴别),本标准将对诸如操作方式规范和适用的参数值提供一个有用的参照。 GB/T 17964-2000 信息技术 安全技术 n位块密码算法的操作方式 GB/T17964-2000

部分标准内容:
GB/T17964—2000
本标准等同采用国际标准ISO/IEC10116:1997《信息技术安全技术n位块密码算法的操作方式》。
本标准描述n位块密码算法的四种操作方式,即:电子密本(ECB)方式、密码块链接(CBC)方式、密码反馈(CFB)方式和输出反馈(OFB)方式。本标准在技术内容上与国际标准保持致。本标准的附录A、附录B、附录C和附录 D均是提示的附录。本标由中华人民共和国信息产业部提出。本标准由中国电子技术标准化研究所归口。本标推起草单位:中国电子技术标准化研究所。本标准主要起草人:罗韧鸿、向维良。815
GB/T 17964—2000
ISO/IEC前言
ISO(国际标准化组织)和IEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或IEC的成员国)通过国际组织建立的各个技术委员会参与制定针对特定技术范围的标准。ISO和IEC的各技术委员会在共同感兴趣的领域内进行合作。与ISO和IEC有联系和其他官方和非官方国际组织也可参与标准的制定工作对于信息技术领域,ISO和IEC建立了一个联合技术委员会,即ISO/IEC JTC1。由联合技术委员会提出的标准草案需分发给国家成员体进行表决。发布一项标准,至少需要75%的参与表决的国家成员体投票赞成。
国际标准ISO/IEC10116是ISO/IECJTC1信息技术”联合技术委员会的SC27“安全技术”分委员会制定的。
该第2版替代第1版(ISO/IEC10116:1991)。附录A至附录D均为提示的附录。816
1范围
中华人民共和国国家标准
信息技术
安全技术
n位块密码算法的操作方式
Information technology-Security techniques-Modes of operation for an n-bit block cipher本标准描述n位块密码算法的四种操作方式。注:附录A包含了对每一种操作方式的性质的说明。GB/T 17964—2000
idt ISO/IEC 10116:1997
本标准确定了四种规定的操作方式,以便在n位块密码的应用中(例如数据传输的保护、数据存储、鉴别),本标准将对诸如操作方式规范和适用的参数值提供一个有用的参照。2定义
下列定义适用于本标准。
2.1块链接block chaining
一种信息加密方法,每一密文块在密码上依赖于前一个密文块。密文 ciphertext
经过变换,信息内容被隐藏起来的数据。2.3
密码同步cryptographic synchronization加密与解密过程的协调一致。
解密 decipherment
个相应加密过程的逆。
2.5加密 encipherment
为了产生密文,即隐藏数据,由密码算法对数据进行的(可逆)变换。2.6反馈缓存(FB)feedback buffer(FB)用于为加密过程存储输入数据的变量。在启动点,FB的值为SV。2.7.初始化值initialization value用于定义一个加密过程的启动点的值。2.8 密钥 key
控制密码变换操作(例如加密、解密)的符号序列。2.9 n位块密码 n-bit block cipher明文块和密文块的长度均为n位的块密码。2.10 明文 plaintext
未加密的信息。
2.11 启动变量(SV) starting variable(SV)确定操作方式的启动点的变量。注:本标准未规定从初始化值导出启动变量的方法。这种方法需在操作方式的应用中描述。国家质量技术监督局2000-01-03批准2000-08-01实施
3记法
3.1加密
GB/T 17964--2000
本标准中,由块密码规定的函数关系记作:CweK(P)
其中,P是明文块,
C是密文块:
K是密钥。
eK是使用密销K的加密运算
3.2解密
对应的解密函数记作:
PrdK(C)
dK是便用密销K的解密运算。
3.3位阵列
由一个大写字母表示的变量,如上面的P和C,它表示一个一维的位阵列。例如:A(a+*+***+am)和B-(hbg+*,bn)
便是两个m位阵列,其位从1到m编号。所有位阵列的记法都是以下标为1的位处于最左边3.4模2加
模么加操作,也称作“异或”运算,用符号?表示。应用到阵列A和B的运算定义为:ABa(aibazDbr,\\,ambm)
3.5位的选择
选择A的最左边]个位以产生一个位阵列的操作记作:A-j (a,a2,***,aj)
仅当1j移位函数S定义如下:
已知m位变量X和k位变量F,其中1其作用是将阵列X的各这左移k个位置,舍弃X,X,并将阵列F放置在阵X的最右边的k个位置上。当k二m时,其作用是用F完全取代X。此函数的-一个特例是以全为*1\的位变量I(m)开始,并将位变量移到其中。结果为:S+(I(m)/F)(1,1,***+1,ft,f2***,ft)St(Im) /F)=(fg+fg,,f)
其中最左边的mk位均为\1*。
4要求
(k m)
对于某然所描的方式来说,可能需要对明文变量进行填充。旗充技术不属于本标准的范圖,对于密码反馈(CFB)操作方式(见第7章),定义了三个参数:r、和k。对于输出反馈(OFB)操作方式(见第8章),定义了一个参数。当使用这些操作方式中的某一种时,所有通信方都要选择并使用同样的参数值。
5电子密本(ECB)方式
5.1用于ECB加密方式的变量是:GB/T17964-2000
a)q个明文块Pi,Pa,,P。所组成的序列,每个块都为n位。b)魏钥K。
c)a个密文块C,Ca,,C。所组成的结果序列,每个块都为n位。5.2ECB加密方式描述如下:
C=eK(P)
5.3ECB解密方式描述如下:
P;=dK(C)
6密码块链接(CBC)方式
6.1用于CBC加密方式的变量是:11,2***@
im-1,2,***,q
a)a个明文块Pi,P2,*P。所纽的序列,每个块都为n位。b)密钥K。
c)n位启动变量SV
d)q个密文块Ci,Cs,C。所组成的序列,每个块都为n位。6.2CBC加密方式描述如下:
对第1个明文块进行加密;
C, eK(POSV)
随后:
C, --eK(P,OC-1)
i-2,3,,g
(1)
(2)
(3)
(4)
此过程如图1的上半部分所示。启动变量SV用于产生第1个密文输出。之后,在加密之前,这个密文与下个明文进行模2加。
图1密码块链接(CBC)操作方式
6.3CBC解密方式描述如下:
对第1个密文块进行解密:
随后:
GB/T 17964---2000
P,-dK(CDOSV
P, dK(CGCi-1
此过程如图1的下半部分所示。
7密码反馈(CFB)方式
7.1下列三个参数义了CFB操作方式:反馈缓存的大小r,(n≤r≤2n);-反馈变量的大小k,(1≤k≤n);明文变量的大小j,(11rk可小于n。图2示出了r-k>n的特殊情形。i2,3,**,q
2如巢r=n,则此方式与本标准上一版本中所描述的CFB方式兼容。用于CBC操作方式的变量是:
a)输入变量
1)a个明文变量P,,P2,,P。所组成的序列,每个块都为i位。2)密钥K。
3)位启动变量SV。
b)中间结果
1)q个块密码输入块XXz,,X,所组成的序列,每个块都为n位。2)a个块密码输出块Y1Y,**Y.所组成的序列,每个块都为n位,3)q个变量E,E2,E.所组成的序列,每个块都为i位。4)q一1个反馈变量F,F2***,F-所组成的序列,每个块都为K位。5)g1个反馈缓存内容FBi,FB2,,FBa-1所组成的序列,每个块都为N位。c)输出变量
个密文变量C,C2*,C.所组成的序列,每个块都为i位。7.2反馈缓存FB的初始值置为:
FB,=SV
对每个明文变量进行加密的操作采用以下六个步骤:a)
6)使用块密码:
c)选摔最左边j位:
d)产生密文变量:
e)产生反馈变量:
1)在FB上进行移位函数操作:
X -FB;~n
Y -eK(X,)
F; S,(I(k)/C)
FB:+1=S (FB;IF))
(5)
((8)
(10)
(11)
( 12 )
(13)
对i1,2,,9,重复上述步骤,最后个循环结束于式(11)。此过程如图2的左半部分所示。块密码的输出块Y的最左边位用来通过模2加来加密i位明文变量。Y的其他位被舍弃。期文和密文变量820
的各位从1到编号。
GB/T 17964--2000
通过把k-i个“1\位放到明文变量的最左边位置上,将明文变量扩展成k位反馈变量F。然后将反馈缓存FB的各位左移k个位置,并将F插到最右边的k个位置上,就产生了新的反馈缓存FB值。在此移位操作中,FB的最左边k位被舍弃。FB左边的新的n位用作加密过程的下个输入X。解
加密算法
选择左边位
k-j个\1\
图2密码反馈(CFB))操作方式
7.3用于解密的变量与用于加密的变量是相同的。反馈缓存FB被置成初始值:
FB,-SV
对每个密文变量进行解密的操作采用以下六个步骤:a)
b)使用块密码:
c)选择最左边位:
d)产生明文变量:
e)产生反馈变量:
f)在FB上进行移位功能操作:
Y=eK(X)
E;=Yi~j
F - S,(I(k)/C)
FB+1=S(FB |F)
解密算法
选择左边位
对1一1,2,*,9,重复上述步骤,最后一个循环结策于式(18)。此过程如图2的右半部分所示。块密码的输出块Y的最左边i位用来通过模2加来解密i位密文变量。Y的其他位被舍弃。明文和密文变量的各位从1到编号。
通过把<一i个“1\位放到密文变量的最左边位置上,将密文变量扩展成k位反馈变量F。然后将反馈缓存FB的各位左移k个位置,并将F放到最右边的k个位置上,就产生了新的FB值。在此移位操作中,FB的最左边k位被舍弃。FB最左边的新的n位用作加密过程的下个输入X。7.4建议使用i和k的值相等的CFB方式。按照这种建议形式(j=k),等式(12)和(19)可以写成:F,mC(当jk)
8输出反馈(OFB)方式
GB/T17964--2000
8.1OFB操作方式由一个参数来定义,该参数为明文变量的大小(1≤j≤n)。用于OFB操作方式的变量是:
a)输入变量
1)q个明文变量P,,P2,\,P。所组成的序列,每个块都为i位。2)密钥K。
3)n位启动变量SV。
b)中间结果
1)q个块翻码输入块x,Xz,\,X.所组成的序列,每个块都为n位。2)9个块密码输出换Y,,Y2,*,Y。所组成的序列,每个块都为n位。3)q个变量E1,E2,**,E。所组成的序列,每个块都为j位。c)输出变量
q个密文变量 Cr,Cz,,C。所组成的序列,每个快都为i位。8.2输入块X置成初始值:
对每个明文变进行加密的操作采用以下四个步骤:a)使用块密码:
Y,--eK(X)
b)选择最左边i位:
c)产生密文变量:
d)反馈操作:
(22)
(25)
对i=1,2,,q,重复上述步骤,最后个循环结束于式(24)。此过程如图3的左半部分所示。每次使用块密码所产生的结果Y,被用来反馈并成为X的下个值,即Xi+1。Y,的最左边i位用来加密输入变量。
加密算法
选择左边位
eK解裁算法
选择左边位
图3输出反馈(OFB)操作方式
GB/T17964-2000
8.3用于解密的变量与用于加密的变量是相同的。反馈缓存FB被置成初值:X,-sV
对每个密文变量进行解密的操作采用以下四个步:a)便用块密码:
Y -eK(X)
b)选择最左边于位:
E;-Yirj
c)产生明文变量:
P,=COE
d)授馈操作:
Xi+1—Y,
(26)
(27)
(29)
对i1,2,,9,重复上述步骤,最后个循环结束于式(28),此过程如图3的右半部分所示。值X和Y:与加密过程中相应的值是相同的:仅有式(28)是不同的。823
A1电子密本(ECB)操作方式的性质A1.1环境
GB/17964-2000
附录A
(标准的附录)
操作方式的性质Www.bzxZ.net
在各计算机之间或人与人之间所交换的二进制数据可能会有重复或是共同使用的序列。在ECB方武中,相同的明文块(对于相胤的密钥)产生相同的密文块。A1.2性质
ECB方式的性质有:
a)对某一块的加密或解密可独立于其他块进行;b)对密文块的重排将导致明文块的相应重排;c)相同的明文块(对于相同的密钥)总是产生相同的密文块,这使得它容易遭受一种字典攻击”,这种字典是由对应的明文和密文块构戏的对于超过一个块的消息般建议不使用ECB方式。对于可接受重复性必须单独访问各个块的那些特殊使用情况,ECB的用法可以在未来的标推中规定。A1.3.填充要求
只有位的倍数才能被加密或解密。其他长度需要被填充至n位边界。A1.4差扩散
在EC方式中,在一个密文块中的一个或多个位差错只会影响对发生差错的那一块的解密。对于有个或多个错误位的密文块的解密将导致对应的明文块中每个明文位出错的概率为50%。A1.5块边界
如果加密和解密之间的块边界丢失了(例如由于一个位滑动),则在重新建立正确的块边界之前,加密与解密操作之间将失去同步。如果樊边界丢失,则所有解密操作的结果都是不正确的。A2密码块链接(CC)操作方式的性质A2.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,CBC方式应将产生相同的密文。关心这种性质的用户需要采用某种办法来改变明文的开始、密钥或启动变量。一种可能的办法是将一个唯一的标识符(例如一个递增计数器)加到每个CBC消息的开始处。在对大小不能增加的记录进行加密时可采用另一种办法,它使用诸如启动变量的某个值,这个值能从记录中计算出来且不用知道其内容(例如它的按随机访问存储方式的地址)。A2.2性质
CBC的性质有:
a)链接操作使得密文块依赖于当前的和所有以前的期文块,因此对密文块的重新安排不会导致对相应的明文块的重新安排;
b)使用不同的V值从而防止同明文加密成同一密文。A2.3填充要求
只有n位的倍数才能被加密或解密。其他长度需填充至n位边界。如果这是不可接受的,可以按一种特殊的方式来处置最后一个变量。下面给出两个特殊处理的例子。第一种处理一个不完整的最后变量(即:一个jGB/T 17964-2000
按下面的描述的OFB方式对它进行加密:a)加密
C.P,O(eK(Ca)~j)
b)解密
P.-CD(eK(Ca-)~j)
(31)
但是,如果SV不是秘密的或者与同一个密钥一起被多次使用(见A4),那么最后的变量容易受到“选择明文攻击”。
第二种办法称作“密文窃取。假设最后两个明文变量为P和P.,P1是一个n位块,P是一个ja)加密
设Ca-1为使用5.2所描述的方法由P-1导出的密文块。令C, - eK(S,(Cα-- /P,))
因此最后两个密文变量是C-和Ca。b)解密
首先需对C。进行解密,从而产生变量P。和C1的右边n一位:S,(Cg/P,)=dK(C)
进而得到完整的块Cg-1,并且使用5.3所描述的方法能导出Pg-1。两个紧随着的变量是按逆序进行解密的,这使得这种方法不太适合于硬件实现。A2.4差错扩散
(32)
(33)
在CBC方式中,在一个密文块中的一个或多个位差错将会影响对两个块(即发生差错的块和随后的块)的解密。第1个密文块中的一个差错对于所产生的明文有以下影响:第1个明文块每位出错的概率为50%。第i十1个明文块的差错模式与第1个密文块的相同。如果在一个不到n位的变量中出现差错,差错扩散取决于所选择的特殊处理方法。在第一个例子中,被解密的较短的块中与明文中出错的位直接对应的那些位也会出错。
A2.5块边界
如果加密和解密之间的块边界丢失了(例如由于一个位滑动),则在重新建立正确的块边界之前,加密与解密操作之间将失去同步。如果块边界丢失,所有解密操作的结果都是不正确的。A3密码反馈(CFB)操作方武的性质A3.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,CFB方式应将产生相同的密文。关心这种特性的用户需婴采用某种办法来改变明文的开始、密钥或启动变量。一种可能的办法是将个唯一的标识符(例如一个递增计数器)加到每个CFB消息的开始处。在对大小不能增加的记录进行加密时可采用另一种办法,它使用诸如启动变量的某个值,这个值能从记录中计算出来且不用知道其内容(例如它的按随机访间存储方式的地址)。A3.2性质
CFB的性质有:
a)链接操作使得密文变量依赖于当前的和除一确定数目以外的所有以前的明文变量,该数目取决于r、k和i的选择(见图2)。因此对i位密文变量的重新安排不会导致对相应的i位明文变量的重新安排,
b)使用不同的SV值从而防止一明文加密成同~一密文;cCFB方式的加密和解密过程都使用块密码的加密操作:d)CFB方式的强度依赖于k的大小(j=款时最大)以及i、k、n和r的相对大小,825
GB/T17964-2000
注:ik将导致输入块的值重复出现的概率增加。这种重复出现将会泄露明文位之间的线性关系。e)选择一个较小的i值对于每个明文单位将要求更多次的块密码操作,因而引起更大的处理开销,1)选择n十k使得能对块密码进行流水线式连续操作。A3.3填充要求
只有位的倍数才能被加密或解密。其他长度需填充至位边界。但是,经常对的大小的选择是要使得其无需进行填充,例如对于明文的最后部分,能被修改。A3.4差错扩散
CFB方式中,任一j位密文单位的差错都将影响对随后密文的解密,直到出错的位移出CFB反馈缓存为止。第i个密文变量中的差错对产生的明文有下列影响:第1个明文变量与第i个密文变量有相冏的差错模式。在所有不正确接收的位被移出反馈缓存之前,随后的明文变量的每一位出错的概率为50%
A3.5同步
如果加密和解密之间的块边界丢失了(例如由于个位滑动),则在位边界重新建立的位之后,密码同步将被重新建立。如巢丢失j位的倍数,则在位之后将自动重新建立同步。A4输出反馈(OFB)操作方的性质A4.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,OFB方式应将产生相同的密文。此外,当使用相同的密钥和SV时,OFB方式中将会产生相同的密钥流。因此,为了保密起见,对于一个给定的密钥,一个特定的SV 只应使用-次。A4.2性质
OFB的性质有:
a)没有链接操作会使得OFB更容易受到主动的攻击;b)使用不同的SV值,通过产生不同的密钥流,从而防止同明文加密成同一密文;c)OFB方式的加密和解密过程都使用块密码的加密操作;d)OFB方式不依赖明文来产生用于对明文进行模2加的密钥流;e)选择一个较小的值对于每个明文单位将要求更多次的块密码操作,因而引起更大的处理开销。A4.3填充要求
只有位的倍数才能被如密或解密。其他长度需填充至位边界。但是,经常对的大小的选择是要便得无需进行填充,例如对于明文的最后部分,能被修改。A4.4差错扩散
OFB方式不在产生的明文输出扩散密文差错。密文中每一差错位只会引起被解密的明文中出现个差错位。
鑫4.5同步
OFB方式不是自同步的。如果加密和解密两个操作不同步,系统需要量新初始化。这种同步丢失可能由于插入或丢失任何数目的密文位所引起。每次量新初始化应使用个SV值,它不同于与同个密钥起使用的以前的SV值。其原因是对于相同的参数,每次都要产生相同的位流。这将易于受到“已知的明文攻击。”826
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。
本标准等同采用国际标准ISO/IEC10116:1997《信息技术安全技术n位块密码算法的操作方式》。
本标准描述n位块密码算法的四种操作方式,即:电子密本(ECB)方式、密码块链接(CBC)方式、密码反馈(CFB)方式和输出反馈(OFB)方式。本标准在技术内容上与国际标准保持致。本标准的附录A、附录B、附录C和附录 D均是提示的附录。本标由中华人民共和国信息产业部提出。本标准由中国电子技术标准化研究所归口。本标推起草单位:中国电子技术标准化研究所。本标准主要起草人:罗韧鸿、向维良。815
GB/T 17964—2000
ISO/IEC前言
ISO(国际标准化组织)和IEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或IEC的成员国)通过国际组织建立的各个技术委员会参与制定针对特定技术范围的标准。ISO和IEC的各技术委员会在共同感兴趣的领域内进行合作。与ISO和IEC有联系和其他官方和非官方国际组织也可参与标准的制定工作对于信息技术领域,ISO和IEC建立了一个联合技术委员会,即ISO/IEC JTC1。由联合技术委员会提出的标准草案需分发给国家成员体进行表决。发布一项标准,至少需要75%的参与表决的国家成员体投票赞成。
国际标准ISO/IEC10116是ISO/IECJTC1信息技术”联合技术委员会的SC27“安全技术”分委员会制定的。
该第2版替代第1版(ISO/IEC10116:1991)。附录A至附录D均为提示的附录。816
1范围
中华人民共和国国家标准
信息技术
安全技术
n位块密码算法的操作方式
Information technology-Security techniques-Modes of operation for an n-bit block cipher本标准描述n位块密码算法的四种操作方式。注:附录A包含了对每一种操作方式的性质的说明。GB/T 17964—2000
idt ISO/IEC 10116:1997
本标准确定了四种规定的操作方式,以便在n位块密码的应用中(例如数据传输的保护、数据存储、鉴别),本标准将对诸如操作方式规范和适用的参数值提供一个有用的参照。2定义
下列定义适用于本标准。
2.1块链接block chaining
一种信息加密方法,每一密文块在密码上依赖于前一个密文块。密文 ciphertext
经过变换,信息内容被隐藏起来的数据。2.3
密码同步cryptographic synchronization加密与解密过程的协调一致。
解密 decipherment
个相应加密过程的逆。
2.5加密 encipherment
为了产生密文,即隐藏数据,由密码算法对数据进行的(可逆)变换。2.6反馈缓存(FB)feedback buffer(FB)用于为加密过程存储输入数据的变量。在启动点,FB的值为SV。2.7.初始化值initialization value用于定义一个加密过程的启动点的值。2.8 密钥 key
控制密码变换操作(例如加密、解密)的符号序列。2.9 n位块密码 n-bit block cipher明文块和密文块的长度均为n位的块密码。2.10 明文 plaintext
未加密的信息。
2.11 启动变量(SV) starting variable(SV)确定操作方式的启动点的变量。注:本标准未规定从初始化值导出启动变量的方法。这种方法需在操作方式的应用中描述。国家质量技术监督局2000-01-03批准2000-08-01实施
3记法
3.1加密
GB/T 17964--2000
本标准中,由块密码规定的函数关系记作:CweK(P)
其中,P是明文块,
C是密文块:
K是密钥。
eK是使用密销K的加密运算
3.2解密
对应的解密函数记作:
PrdK(C)
dK是便用密销K的解密运算。
3.3位阵列
由一个大写字母表示的变量,如上面的P和C,它表示一个一维的位阵列。例如:A(a+*+***+am)和B-(hbg+*,bn)
便是两个m位阵列,其位从1到m编号。所有位阵列的记法都是以下标为1的位处于最左边3.4模2加
模么加操作,也称作“异或”运算,用符号?表示。应用到阵列A和B的运算定义为:ABa(aibazDbr,\\,ambm)
3.5位的选择
选择A的最左边]个位以产生一个位阵列的操作记作:A-j (a,a2,***,aj)
仅当1j
已知m位变量X和k位变量F,其中1
其中最左边的mk位均为\1*。
4要求
(k m)
对于某然所描的方式来说,可能需要对明文变量进行填充。旗充技术不属于本标准的范圖,对于密码反馈(CFB)操作方式(见第7章),定义了三个参数:r、和k。对于输出反馈(OFB)操作方式(见第8章),定义了一个参数。当使用这些操作方式中的某一种时,所有通信方都要选择并使用同样的参数值。
5电子密本(ECB)方式
5.1用于ECB加密方式的变量是:GB/T17964-2000
a)q个明文块Pi,Pa,,P。所组成的序列,每个块都为n位。b)魏钥K。
c)a个密文块C,Ca,,C。所组成的结果序列,每个块都为n位。5.2ECB加密方式描述如下:
C=eK(P)
5.3ECB解密方式描述如下:
P;=dK(C)
6密码块链接(CBC)方式
6.1用于CBC加密方式的变量是:11,2***@
im-1,2,***,q
a)a个明文块Pi,P2,*P。所纽的序列,每个块都为n位。b)密钥K。
c)n位启动变量SV
d)q个密文块Ci,Cs,C。所组成的序列,每个块都为n位。6.2CBC加密方式描述如下:
对第1个明文块进行加密;
C, eK(POSV)
随后:
C, --eK(P,OC-1)
i-2,3,,g
(1)
(2)
(3)
(4)
此过程如图1的上半部分所示。启动变量SV用于产生第1个密文输出。之后,在加密之前,这个密文与下个明文进行模2加。
图1密码块链接(CBC)操作方式
6.3CBC解密方式描述如下:
对第1个密文块进行解密:
随后:
GB/T 17964---2000
P,-dK(CDOSV
P, dK(CGCi-1
此过程如图1的下半部分所示。
7密码反馈(CFB)方式
7.1下列三个参数义了CFB操作方式:反馈缓存的大小r,(n≤r≤2n);-反馈变量的大小k,(1≤k≤n);明文变量的大小j,(1
2如巢r=n,则此方式与本标准上一版本中所描述的CFB方式兼容。用于CBC操作方式的变量是:
a)输入变量
1)a个明文变量P,,P2,,P。所组成的序列,每个块都为i位。2)密钥K。
3)位启动变量SV。
b)中间结果
1)q个块密码输入块XXz,,X,所组成的序列,每个块都为n位。2)a个块密码输出块Y1Y,**Y.所组成的序列,每个块都为n位,3)q个变量E,E2,E.所组成的序列,每个块都为i位。4)q一1个反馈变量F,F2***,F-所组成的序列,每个块都为K位。5)g1个反馈缓存内容FBi,FB2,,FBa-1所组成的序列,每个块都为N位。c)输出变量
个密文变量C,C2*,C.所组成的序列,每个块都为i位。7.2反馈缓存FB的初始值置为:
FB,=SV
对每个明文变量进行加密的操作采用以下六个步骤:a)
6)使用块密码:
c)选摔最左边j位:
d)产生密文变量:
e)产生反馈变量:
1)在FB上进行移位函数操作:
X -FB;~n
Y -eK(X,)
F; S,(I(k)/C)
FB:+1=S (FB;IF))
(5)
((8)
(10)
(11)
( 12 )
(13)
对i1,2,,9,重复上述步骤,最后个循环结束于式(11)。此过程如图2的左半部分所示。块密码的输出块Y的最左边位用来通过模2加来加密i位明文变量。Y的其他位被舍弃。期文和密文变量820
的各位从1到编号。
GB/T 17964--2000
通过把k-i个“1\位放到明文变量的最左边位置上,将明文变量扩展成k位反馈变量F。然后将反馈缓存FB的各位左移k个位置,并将F插到最右边的k个位置上,就产生了新的反馈缓存FB值。在此移位操作中,FB的最左边k位被舍弃。FB左边的新的n位用作加密过程的下个输入X。解
加密算法
选择左边位
k-j个\1\
图2密码反馈(CFB))操作方式
7.3用于解密的变量与用于加密的变量是相同的。反馈缓存FB被置成初始值:
FB,-SV
对每个密文变量进行解密的操作采用以下六个步骤:a)
b)使用块密码:
c)选择最左边位:
d)产生明文变量:
e)产生反馈变量:
f)在FB上进行移位功能操作:
Y=eK(X)
E;=Yi~j
F - S,(I(k)/C)
FB+1=S(FB |F)
解密算法
选择左边位
对1一1,2,*,9,重复上述步骤,最后一个循环结策于式(18)。此过程如图2的右半部分所示。块密码的输出块Y的最左边i位用来通过模2加来解密i位密文变量。Y的其他位被舍弃。明文和密文变量的各位从1到编号。
通过把<一i个“1\位放到密文变量的最左边位置上,将密文变量扩展成k位反馈变量F。然后将反馈缓存FB的各位左移k个位置,并将F放到最右边的k个位置上,就产生了新的FB值。在此移位操作中,FB的最左边k位被舍弃。FB最左边的新的n位用作加密过程的下个输入X。7.4建议使用i和k的值相等的CFB方式。按照这种建议形式(j=k),等式(12)和(19)可以写成:F,mC(当jk)
8输出反馈(OFB)方式
GB/T17964--2000
8.1OFB操作方式由一个参数来定义,该参数为明文变量的大小(1≤j≤n)。用于OFB操作方式的变量是:
a)输入变量
1)q个明文变量P,,P2,\,P。所组成的序列,每个块都为i位。2)密钥K。
3)n位启动变量SV。
b)中间结果
1)q个块翻码输入块x,Xz,\,X.所组成的序列,每个块都为n位。2)9个块密码输出换Y,,Y2,*,Y。所组成的序列,每个块都为n位。3)q个变量E1,E2,**,E。所组成的序列,每个块都为j位。c)输出变量
q个密文变量 Cr,Cz,,C。所组成的序列,每个快都为i位。8.2输入块X置成初始值:
对每个明文变进行加密的操作采用以下四个步骤:a)使用块密码:
Y,--eK(X)
b)选择最左边i位:
c)产生密文变量:
d)反馈操作:
(22)
(25)
对i=1,2,,q,重复上述步骤,最后个循环结束于式(24)。此过程如图3的左半部分所示。每次使用块密码所产生的结果Y,被用来反馈并成为X的下个值,即Xi+1。Y,的最左边i位用来加密输入变量。
加密算法
选择左边位
eK解裁算法
选择左边位
图3输出反馈(OFB)操作方式
GB/T17964-2000
8.3用于解密的变量与用于加密的变量是相同的。反馈缓存FB被置成初值:X,-sV
对每个密文变量进行解密的操作采用以下四个步:a)便用块密码:
Y -eK(X)
b)选择最左边于位:
E;-Yirj
c)产生明文变量:
P,=COE
d)授馈操作:
Xi+1—Y,
(26)
(27)
(29)
对i1,2,,9,重复上述步骤,最后个循环结束于式(28),此过程如图3的右半部分所示。值X和Y:与加密过程中相应的值是相同的:仅有式(28)是不同的。823
A1电子密本(ECB)操作方式的性质A1.1环境
GB/17964-2000
附录A
(标准的附录)
操作方式的性质Www.bzxZ.net
在各计算机之间或人与人之间所交换的二进制数据可能会有重复或是共同使用的序列。在ECB方武中,相同的明文块(对于相胤的密钥)产生相同的密文块。A1.2性质
ECB方式的性质有:
a)对某一块的加密或解密可独立于其他块进行;b)对密文块的重排将导致明文块的相应重排;c)相同的明文块(对于相同的密钥)总是产生相同的密文块,这使得它容易遭受一种字典攻击”,这种字典是由对应的明文和密文块构戏的对于超过一个块的消息般建议不使用ECB方式。对于可接受重复性必须单独访问各个块的那些特殊使用情况,ECB的用法可以在未来的标推中规定。A1.3.填充要求
只有位的倍数才能被加密或解密。其他长度需要被填充至n位边界。A1.4差扩散
在EC方式中,在一个密文块中的一个或多个位差错只会影响对发生差错的那一块的解密。对于有个或多个错误位的密文块的解密将导致对应的明文块中每个明文位出错的概率为50%。A1.5块边界
如果加密和解密之间的块边界丢失了(例如由于一个位滑动),则在重新建立正确的块边界之前,加密与解密操作之间将失去同步。如果樊边界丢失,则所有解密操作的结果都是不正确的。A2密码块链接(CC)操作方式的性质A2.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,CBC方式应将产生相同的密文。关心这种性质的用户需要采用某种办法来改变明文的开始、密钥或启动变量。一种可能的办法是将一个唯一的标识符(例如一个递增计数器)加到每个CBC消息的开始处。在对大小不能增加的记录进行加密时可采用另一种办法,它使用诸如启动变量的某个值,这个值能从记录中计算出来且不用知道其内容(例如它的按随机访问存储方式的地址)。A2.2性质
CBC的性质有:
a)链接操作使得密文块依赖于当前的和所有以前的期文块,因此对密文块的重新安排不会导致对相应的明文块的重新安排;
b)使用不同的V值从而防止同明文加密成同一密文。A2.3填充要求
只有n位的倍数才能被加密或解密。其他长度需填充至n位边界。如果这是不可接受的,可以按一种特殊的方式来处置最后一个变量。下面给出两个特殊处理的例子。第一种处理一个不完整的最后变量(即:一个j
按下面的描述的OFB方式对它进行加密:a)加密
C.P,O(eK(Ca)~j)
b)解密
P.-CD(eK(Ca-)~j)
(31)
但是,如果SV不是秘密的或者与同一个密钥一起被多次使用(见A4),那么最后的变量容易受到“选择明文攻击”。
第二种办法称作“密文窃取。假设最后两个明文变量为P和P.,P1是一个n位块,P是一个j
设Ca-1为使用5.2所描述的方法由P-1导出的密文块。令C, - eK(S,(Cα-- /P,))
因此最后两个密文变量是C-和Ca。b)解密
首先需对C。进行解密,从而产生变量P。和C1的右边n一位:S,(Cg/P,)=dK(C)
进而得到完整的块Cg-1,并且使用5.3所描述的方法能导出Pg-1。两个紧随着的变量是按逆序进行解密的,这使得这种方法不太适合于硬件实现。A2.4差错扩散
(32)
(33)
在CBC方式中,在一个密文块中的一个或多个位差错将会影响对两个块(即发生差错的块和随后的块)的解密。第1个密文块中的一个差错对于所产生的明文有以下影响:第1个明文块每位出错的概率为50%。第i十1个明文块的差错模式与第1个密文块的相同。如果在一个不到n位的变量中出现差错,差错扩散取决于所选择的特殊处理方法。在第一个例子中,被解密的较短的块中与明文中出错的位直接对应的那些位也会出错。
A2.5块边界
如果加密和解密之间的块边界丢失了(例如由于一个位滑动),则在重新建立正确的块边界之前,加密与解密操作之间将失去同步。如果块边界丢失,所有解密操作的结果都是不正确的。A3密码反馈(CFB)操作方武的性质A3.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,CFB方式应将产生相同的密文。关心这种特性的用户需婴采用某种办法来改变明文的开始、密钥或启动变量。一种可能的办法是将个唯一的标识符(例如一个递增计数器)加到每个CFB消息的开始处。在对大小不能增加的记录进行加密时可采用另一种办法,它使用诸如启动变量的某个值,这个值能从记录中计算出来且不用知道其内容(例如它的按随机访间存储方式的地址)。A3.2性质
CFB的性质有:
a)链接操作使得密文变量依赖于当前的和除一确定数目以外的所有以前的明文变量,该数目取决于r、k和i的选择(见图2)。因此对i位密文变量的重新安排不会导致对相应的i位明文变量的重新安排,
b)使用不同的SV值从而防止一明文加密成同~一密文;cCFB方式的加密和解密过程都使用块密码的加密操作:d)CFB方式的强度依赖于k的大小(j=款时最大)以及i、k、n和r的相对大小,825
GB/T17964-2000
注:ik将导致输入块的值重复出现的概率增加。这种重复出现将会泄露明文位之间的线性关系。e)选择一个较小的i值对于每个明文单位将要求更多次的块密码操作,因而引起更大的处理开销,1)选择n十k使得能对块密码进行流水线式连续操作。A3.3填充要求
只有位的倍数才能被加密或解密。其他长度需填充至位边界。但是,经常对的大小的选择是要使得其无需进行填充,例如对于明文的最后部分,能被修改。A3.4差错扩散
CFB方式中,任一j位密文单位的差错都将影响对随后密文的解密,直到出错的位移出CFB反馈缓存为止。第i个密文变量中的差错对产生的明文有下列影响:第1个明文变量与第i个密文变量有相冏的差错模式。在所有不正确接收的位被移出反馈缓存之前,随后的明文变量的每一位出错的概率为50%
A3.5同步
如果加密和解密之间的块边界丢失了(例如由于个位滑动),则在位边界重新建立的位之后,密码同步将被重新建立。如巢丢失j位的倍数,则在位之后将自动重新建立同步。A4输出反馈(OFB)操作方的性质A4.1环境
只要使用同样的密钥和启动变量对相同的明文进行加密,OFB方式应将产生相同的密文。此外,当使用相同的密钥和SV时,OFB方式中将会产生相同的密钥流。因此,为了保密起见,对于一个给定的密钥,一个特定的SV 只应使用-次。A4.2性质
OFB的性质有:
a)没有链接操作会使得OFB更容易受到主动的攻击;b)使用不同的SV值,通过产生不同的密钥流,从而防止同明文加密成同一密文;c)OFB方式的加密和解密过程都使用块密码的加密操作;d)OFB方式不依赖明文来产生用于对明文进行模2加的密钥流;e)选择一个较小的值对于每个明文单位将要求更多次的块密码操作,因而引起更大的处理开销。A4.3填充要求
只有位的倍数才能被如密或解密。其他长度需填充至位边界。但是,经常对的大小的选择是要便得无需进行填充,例如对于明文的最后部分,能被修改。A4.4差错扩散
OFB方式不在产生的明文输出扩散密文差错。密文中每一差错位只会引起被解密的明文中出现个差错位。
鑫4.5同步
OFB方式不是自同步的。如果加密和解密两个操作不同步,系统需要量新初始化。这种同步丢失可能由于插入或丢失任何数目的密文位所引起。每次量新初始化应使用个SV值,它不同于与同个密钥起使用的以前的SV值。其原因是对于相同的参数,每次都要产生相同的位流。这将易于受到“已知的明文攻击。”826
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。

标准图片预览:





- 热门标准
- 国家标准(GB)标准计划
- GB/T2828.1-2012 计数抽样检验程序 第1部分:按接收质量限(AQL)检索的逐批检验抽样计划
- GB/T14629.4-1993 裘皮 猾子皮
- GB6857-2008 pH 基准试剂 邻苯二甲酸氢钾
- GB/T22376.1-2008 胶粘剂 本体试样的制备方法 第1部分:双组份体系
- GB19651.3-2008 杂类灯座 第2-2部分:LED模块用连接器的特殊要求
- GB/T3098.1-2010 紧固件机械性能 螺栓、螺钉和螺柱
- GB4587-1984 双极型晶体管测试方法
- GB/T5211.9-1985 颜料耐溶剂性测定法
- GB/T5009.91-2003 食品中钾、钠的测定
- GB/T5009.135-2003 植物性食品中灭幼脲残留量的测定
- GB/T5211.16-1988 白色颜料消色力的比较
- GB/T51015-2014 海堤工程设计规范
- GB/T1804-2000 一般公差 未注公差的线性和角度尺寸的公差
- GB/T15721.4-2008 假肢和矫形器 肢体缺失 第4部分:截肢原因的描述
- GB/T15721.3-2009 假肢与矫形器 肢体缺失 第3部分:上肢截肢残肢的描述方法
请牢记:“bzxz.net”即是“标准下载”四个汉字汉语拼音首字母与国际顶级域名“.net”的组合。 ©2009 标准下载网 www.bzxz.net 本站邮件:bzxznet@163.com
网站备案号:湘ICP备2023016450号-1
网站备案号:湘ICP备2023016450号-1