Internet电子邮件保密增强:Part1-消息编码和鉴别过程( 六 )


者用户代理之间的转换不会阻止一个被编码的消息在它的目的地被正常解密 。
一个发送者从加密处理可以排除一个消息一个或更多的部分,但是鉴别处理总是被应
用到这个消息文本 。将一定比例的消息排除在加密处理之外是被明确要求的;默认的加密
被应用到整个消息文本 。规定这一排除操作的用户级的分界符是本地的操作,因此可以在
发送者和接受者之间变动,但是所有的系统应该提供一个手段明确的标识被排除在加密处
理之外的域 。
外部的保密增强消息进行四步转换,在下面的四个小节描述 。
4.3.2.1步骤一:本地形式
消息文本被以本地的系统的字符集创建,行的分界与本地规则相一致 。
4.3.2.2步骤二:规范形式
整个文本消息,包括需要加密处理的部分和不需要加密处理的部分,被转换为一个通
用的规范形式,与在RFC-821和RFC-822[10]中定义的SMTP之间的表述类似(ASCII码
字符集,行分界符) 。这个处理要求在本地字符集是ASCII码时进行的转换最
小 。(注重:规范编码处理的输出将永远不会被直接传给SMTP,而是传给保密增强编码
处理的后续步骤,圆点填充的转换在RFC-821中讨论,因此一个消息在加密前被转换成
一个标准的字符集和表述,它能被解密并且它的MIC能在任何类型的目的主机计算机上
被验证 。解密和MIC验证在转换(将消息转换到一个规定的本地形式)前进行 。
4.3.2.3步骤三:鉴别和加密
规范形式被输入到被选择的MIC计算算法中为了计算消息的一组完整性检查值 。在
提交给MIC计算算法之前没有值被填充到规范形式,尽管一定的MIC算法将在计算MIC
的过程中将进行他们自己的填充 。
应用到规范形式的填充在DEA-1CBC模式的加密中是需要的,如下:加密字节数由
从总长中减去无须加密的字节的长度来决定 。在加密的文本需要时16进制的字符FF与
被填充的字符一起被附加到规范形式中,用8字节加密量的整数值来添满 。假如所加密的
字符数已经是8的整数倍则无须填充 。16进制FF(一个值超出7位ASCII字符集)填充
值答应在没有包括一个明确的填充个数的指示时与有效的数据相区别 。
没有被排除在加密之外的消息域被加密 。为了支持可选的加密处理,一个实现必须保
留加密区域和非加密域的内部的标识,以便这些域在步骤四定义的编码过程中能被适当的
分界 。假如无须加密的域插入到加密域之间,密码状态(例如,IVs和进行加密的字符)
被保留在这个被排除的域之后继续 。
4.3.2.4步骤四:可打印的编码
继续从左到右,步骤三的位串被编码成在所有的站点都通用的字符表示,尽管不必是
同样的位模式(例如,尽管字符“E”在基于ASCII码字符的系统中被表示为16进制的
45在基于EBCDIC的系统中被表示为16进制的C5,两种表述的本地意义是相同的) 。这
个编码步骤在所有的保密增强消息中进行,即使整个消息不需要加密 。
一个国际的字符IA5的一个被使用64字符集,每个可打印的字符由6位表示 。(建
议的字符集在IA5和ASCII中的表示是相同的 。)两个额外的字符,“=”和“*”被用于
表示非凡的处理功能 。字符“=”被用于在可打印的编码过程中填充 。字符“*”被用于
分界无须加密域的开始和结束 。编码功能的输出被划分为文本行(使用本地规范),除了
最后一行每一行确切地包含64个可打印的字符,最后一行包含64或少于64的可打印字

推荐阅读