首页 > 国家标准(GB) > GB/T 17710-2008 信息技术 安全技术 校验字符系统
GB/T 17710-2008

基本信息

标准号: GB/T 17710-2008

中文名称:信息技术 安全技术 校验字符系统

标准类别:国家标准(GB)

标准状态:现行

发布日期:2008-07-16

实施日期:2008-12-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:4514640

相关标签: 信息技术 安全 技术 校验 字符 系统

标准分类号

标准ICS号:信息技术、办公机械设备>>35.040字符集和信息编码

中标分类号:电子元器件与信息技术>>信息处理技术>>L71编码、字符集、字符识别

关联标准

替代情况:替代GB/T 17710-1999

采标情况:IDT ISO/IEC 7064:2003

出版信息

出版社:中国标准出版社

页数:20页

标准价格:18.0 元

计划单号:20064373-T-469

出版日期:2008-12-01

相关单位信息

首发日期:1999-03-23

起草人:陈星、杨建军、黄家英、史立武、张明天

起草单位:中国电子技术标准化研究所、中国标准研究院

归口单位:全国信息技术标准化技术委员会

提出单位:中华人民共和国工业和信息化部

发布部门:国家标准化管理委员会

主管部门:国家标准化管理委员会

标准简介

本标准规定了一组校验字符系统,它可以防止在复制或键入数据时产生的串的错误。 GB/T 17710-2008 信息技术 安全技术 校验字符系统 GB/T17710-2008 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

ICS35.040
中华人民共和国国家标准
GB/T17710—2008/IS0/IEC7064:2003代替GB/T17710—1999
信息技术
安全技术
校验字符系统
Information technology—Security technique-Check character systems
(ISO/IEC7064:2003,IDT)
2008-07-16发布
中华人民共和国国家质量监督检验检疫总局数码防伪
中国国家标准化管理委员会 
2008-12-01实施
GB/T17710-2008/ISO/IEC70642003前言
术语和定义
符号及其注释
系统类型
依从性及其冠名
纯系统的说明
带一位校验字符的纯系统的计算方法带两位校验字符的纯系统的计算方法混合系统说明
10混合系数的计算方法
附录A(资料性附录)
对各种应用选择校验字符系统的准则附录B(资料性附录)
参考文献
非拉丁字母的校验字符系统
GB/T17710—2008/IS0/IEC7064:2003本标准等同采用ISO/IEC7064:2003《信息技术校验字符系统》,仅有编辑性修改。安全技术
本标准代替GB/T17710-1999。本标准与GB/T17710—1999的区别如下:—标准的编排结构进行了调整;-对2.1、2.2、2.3、2.6的术语定义进行了修改。本标准中的附录A和附录B是资料性附录。本标准由中华人民共和国工业和信息化部提出。本标准由全国信息技术标准化技术委员会归口。本标准起草单位:中国电子技术标准化研究所、中国标准化研究院。本标准主要起草人:陈星、杨建军、黄家英、史立武、张明天。本标准所代替标准的历次版本发布情况为:GB/T17710—1999。
GB/T17710—2008/IS0/IEC7064:2003引言
校验字符系统标准化的需求出于如下考虑:a)由于大量正在使用的系统中,许多系统具有相似的特征,而特征的许多的变化没有起到有效的作用,
现有的系统几乎没有经过严格的数学验证,有些还存在严重的缺陷;b)
c)系统的多样性削弱了校验字符系统的经济利益,而且经常妨碍对交换数据的校验。因此,应选择一套小型兼容性系统,有效地满足各种应用的需要。该系统应经过验证,在各种应用的限制之内,高效地防止典型的复制和键人错误。ISO2180、ISO2894(ISO2894已撤销)和ISO6166也规定了校验字符系统,但它们只适用于特殊的领域,因此现有的系统无论如何不能获得本标准所规定的差错检测率。附录A概述了为特定的应用而选用某一按本标准规定的校验字符系统时应考的准则。附录B举例说明了在某些字母表数目超过26个字母的国家应用本标准的方法。Ⅱ
1范围
GB/T17710—2008/ISO/IEC7064:2003信息技术安全技术
校验字符系统
1.1本标准规定了一组校验字符系统,它可以防止在复制或键入数据时产生的串的错误。串的长度可以是固定的或是可变的,包括以下字符集中的字符:a)数字(10个数字:0~9);
b)字母(26个字母:A~Z);
c)字母数字(字母和数字)。
串中嵌入的空格和特殊字符忽略不计。1.2本标准为生成校验字符和校验串产品规约了一致性要求,这些产品采用了本标准所给出的系统。1.3这些校验字符系统能检查出下列错误:所有的单一字符替换错误(即,单个字符被另一个字符所替换,如1234被错录为4234);a)月
所有的或几乎所有的单一字符对换位置错误(即,相邻两个字符或隔一个字符的两个单一字符的位置互换,如12345被错录为12354或12543);所有或几乎所有的循环移位错误(即,整个串被向左或向右循环移位);c)
大部分的双替换错误(即,在同一串中,分开的两处单一字符替换错误,如1234567被错录为7234587);
大部分的其他错误。
1.4本标准不包括专门为下列目的而设计的系统:a)既允许差错检测,又允许自动校正;b)
检测故意误用;
c)仅校验在机器之间交换的串。1.5本标准用于各组织之间的信息交换,极力推荐用于内部信息系统。2术语和定义
下列术语和定义适用于本标准。2.1
校验字符checkcharacter
可通过该串的数学关系来验证串的正确性所使用的附加字符。2.2
校验字符系统checkcharactersystem产生校验字符的和校验包含校验字符的串的一组规则。2.3
Fsupplementarycheckcharacter补充校验字符
不属于被保护串的字符集的校验字符。2.4
模数modulus
一个整数,它用作整除计算的除数以得到一个整数余数。1
GB/T17710-—2008/IS0/IEC7064:20032.5
congruence
组整数的特性,彼此之差是模数的倍数。同余用符号“=”表示。例如39=6(mod11),表示39和6相对于模数11是同余的,即39一6=33,33是11的倍数。2.6
基数radix
几何级数的底。
3符号及其注释
在本标准中使用了下列符号及其注释ai
(modM)
4系统类型
本标准规定了两类系统:
位置讠中的字符数字值。
字符位置的索引。
模数。
串中的字符个数,包括校验字符。在校验字符计算时,用来存储中间结果的几个整数。基数。
多项式法的权。
补充校验字符。
表示在校验字符的过程规范中所使用的计算“置为等于”的符号,该计算符号指示应使该符号左边的整数值等于该符号右边的表达式的值。表示“同余”(见2.5)的符号。表示1和M之间唯一整数的符号,该符号表示除以M后的余数;如果该余数是零,则值M应被替换。
表示0和M之间唯一整数的符号,该符号表示除以(M十1)后的余数:在该计算之后,此余数决不是零。表示0和M一1之间唯一整数的符号,该符号表示除以M后的余数。a)纯系统(见第6章、第7章和第8章);b)混合系统(见第9章、第10章)。4.1纯系统
表1中列出了纯系统并且在第6章、第7章和第8章中作了规定,每个系统的所有计算阶段都使用单一模数。
表1纯系统
校验字符系统冠名”
ISO/IEC7064,MOD11-2
ISO/IEC 7064,MOD 37-2
ISO/IEC7064,MOD97-10
数字串
字母数字串
数字串
校验字符数目及类型
1个数字或补充校验字符X
1个数字或字母或补充校验字符:2个数字
校验字符系统冠名
ISO/IEC7064,MOD661-26
ISO/IEC7064.MOD1271-36
字母串
表1(续)
字母数字串bzxz.net
GB/T17710—2008/IS0/IEC7064:2003校验字符数目及类型
2个字母
2个数字或字母
a在名称中,紧跟“MOD”之后的第一个数字是模数,第二个数字是基数。b前两个系统可以产生一个补充校验字符,但被校验串的字符集除外。(即,ISO/IEC7064,MOD11-2的校验字符是0~9加上X,ISO/IEC7064,MOD37-2的校验字符是0~9和A~Z加上')。若补充校验字符不可用,则要求单个校验字符,就有可能避免发布产生补充校验字符的那些串;若既不能容忍补充校验字符,又不能避免产生校验字符的串,则应使用混合系统。4.2混合系统
表2和第9章、第10章中列出了混合系统。混合系统在计算中采用了两个模数,其中一个模数等于被保护的字符集中的字符数,另一个模数比它大1,被保护串的字符集总是提供校验字符。表2混合系统
校验字符系统冠名
ISO/IEC7064,MOD11,10
ISO/IEC7064MOD27,26
ISO/IEC7064,MOD37,36
数字串
字母串
字母数字串
a在系统名称中,紧跟在MOD后面的两个数字是两个模数5依从性及其冠名
1个数字
1个字母
校验字符数目及类型
1个数字或字母
在本标准中为相关应用而规定的系统之一所保护的串符合本标准。5.2生成校验字符的产品
5.2.1依据本标准生成的校验字符产品(用软件或硬件实现)若没有其他限定,则应能生成本标准中的全部系统的校验字符。
·5.2.2不生成本标准中全部系统校验字符的产品,则应指明这些产品覆盖的那些系统。例如“按照ISO/IEC7064,MOD11-2生成校验字符”。5.3校验产品
5.3.1按照本标准(无进一步限定),可校验本标准所生成的校验字符的产品(用软件或硬件实现),应能使用本标准的所有系统。
5.3.2校验仅使用本标准中某些系统的串的产品描述,应说明该产品覆盖的那些系统。例如“校验使用ISO/IEC7064,MOD11-2的串”。5.4系统名称
5.4.1通常应该使用表1和表2中给出的每一系统的全称,例如\ISO/IEC7064,MOD11-2”。注:采用缩写形式“MOD11”将会与使用模数11类似系统混滑。5.4.2当需要简化时,例如,数据元传输时往往需要同时标明用来保护该数据元的系统,可采用表3中的单一数字名称。
GB/T17710—2008/IS0/IEC7064:2003表3单一数字名称
校验字符系统
ISO/IEC7064,MOD11-2
ISO/IEC7064,MOD37-2
ISO/IEC7064,MOD97-10
ISO/IEC7064,MOD661-26
ISO/IEC7064,MOD1271-36
ISO/IEC7064,MOD11,10
ISO/IEC 7064,MOD 27,26
ISO/IEC7064,MOD37,36
无校验字符或非标准系统
纯系统的说明
当下列公式成立时,串满足该校验:Za . r-l = 1(mod M)
式中:
包括校验字符的串的字符个数;n
表示从右边开始的字符所在位置索引(即,最右边的字符,i二1),空格与分割符不包括在内;i
a;—由表4规定的处于i位置上的字符值;-基数(即几何级数的底);
模数。
字符对应的值
系统中字母数字串的值
系统中字母串的值
系统中数字串值
GB/T17710—2008/IS0/IEC7064:2003表4(续)
系统中字母数字串的值
系统中字母串的值
系统中数字串值
a为ISO/IEC7064MOD11-2。
b为ISO/IEC7064MOD37-2。
6.2计算
任何计算均按公式进行。
6.3校验字符的位置
校验字符应设置在串的最右端。7带一位校验字符的纯系统的计算方法纯系统有两种基本的计算方法:纯系统递归法和纯系统多项式法,两种方法的结果一致,并要求相同的乘量和加量。多项式系统要求更多的存储空间用来存储系统的权。7.1纯系统递归法
7.1.1计算
在递归法中,串的字符从左到右逐个处理。下面将介绍生成校验字符a的计算规则。用j三1,,(n一1)来表示索引。n为包括校验字符在内的串中字符的数目。当j1时,定义P;二0。计算:S, := P,+an-j+1
Pi+i:=S,·r
式中:
an-+1为字符值,r为基数。
GB/T17710—2008/IS0/IEC7064:2003选择下一个ai时,下列公式应成立:P+a三1(modM)
a:=(1-P,)(modM)
验证校验字符a1的算法可以描述如下:在索引j=1,,n时,其中,n是在串中的字符数,包括校验字符,并且在j=1时,定义P,=0。计算:S,=P,+ar+
P+:= S,·r
如果下列公式成立,则假定该串是正确的,S,=1(modM)
另一种办法是,生成校验字符a1的过程可以进行重复。如果生成的校验字符相当于现有字符a1则假定该串是正确的。
7.1.2举例
假设使用校验字符系统ISO/IEC7064,MOD11-2为串“0794”提供个校验字符。此时M=11,r=2,n=5(4个字符加1个校验字符)。按表5列出的步骤进行计算:表5纯递归法实例
下一个字符值
中间和
(见7.1.2的注1)
100十校验字符值与1(mod11)是同余的。中间和
作为下次计算值的乘积
(见7.1.2的注1)
在这个例子中,P,的最终结果为100,加上校验字符的值必须与1(mod11)同余,当100本身就与1(mod11)同余时,校验字符值必须为零,当校验字符加在串的最右边时,整个受保护的串是“07940”。为了校验该串是否正确,如上所示,再按上述步骤j=1~5进行计算,在计算中要包括校验字符值0。如果该结果与1(模11)同余,则接受的串是有效的。注1:如果计算过程中任一步的结果P,+1或者中间和S;大于模数M,则可减去模数的倍数,用其整余数继续计算。在表5中:
P,=14可处理为14-11=3
S;=23可处理为23-22=1
P,=46可处理为46-44=2
注2:在ISO/IEC7064,MOD11-2系统中有效的校验字符值是0~10。如果校验字符的值为10,就由附加校验字符“X”表示。如果原串是“079”这样的短串,在第三步计算结束时计算值为46:46兰2(模11);
由于2十10三1(模11),因此完整串为\079X”。对该串进行校验时,第三步计算之后得到46+10=56,与1(模11)同余,满足校验,7.2纯系统多项式法
7.2.1计算
纯系统多项式法采用ri-1或r-1(模M)的值乘以串中每一字符值来计算,用权w;来表示。表6中列出了纯系统的ti-1(模M)的前15个值。将字符值与它们的权相乘,再将结果相加,如果这些结果之和与1(模M)同余,则包含校验字符在6
内的串是有效的。
位置索引
ISO/IEC7064,MOD11-2
ISO/IEC7064,MOD37-2
ISO/IEC7064,MOD97-10
ISO/IEC7064,MOD661-26
ISO/IEC7064,MOD1271-36
表6纯系统的权
129488
769904
GB/T17710—2008/IS0/IEC7064:20038
注:此处仅列出前15个位置的权,其余的可用公式w;=r-1(modM)无限扩展,w;为位置索引i的权。7.2.2举例
用多项式法产生校验字符的计算过程如下,仍以7.1.2中的串“0794”为例:字符位置:
权2i-1(mod11):
字符数a::
乘积:
乘积的和:
总和100加上校验字符必须与1(模11同余),由于100本身与1(模11)同余,所以校验字符必定是零,这样整个串为“07940”。校验字符设置在串的右端。用这种办法来校验串,需要与字符位置相关的权乘以字符值(包括校验字符在内),结果相加,总和被11除,如果余数是1,则通过验证。校验整个串的计算如下:
字符位置i:
权2i-1(mod11):
字符数a;:
乘积:
乘积的和:
满足验证要求。
=1(模11)
注:最右边的位置,即°=1的位置,是留给校验字符的位置,原串(不含校验字符)的最右端位置就是与的权有关,此处为2。
8带两位校验字符的纯系统的计算方法8.1计算
这些系统与含一位校验字符的系统计算方法完全一致,只需再加一步,除了基数是10的系统求出两个字符值作为校验字符(对于校验字符系统ISO/IEC7064,MOD97-10,见8.4),用V表示最后一步的计算结果。两位校验字符值可以用基数r除计算结果V,得到的整商数即为i=2位置上的校验字符值,余数则是=1位置上的校验字符值,或:ar := V(mod r)
az := (V-a)/r
8.2递归法应用举例
下面是用递归法,用ISO/IEC7064,MOD1271-36系统计算串“ISO79”两个校验字符的例子,字母数7
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。