GB/T 17710-1999
基本信息
标准号:
GB/T 17710-1999
中文名称:数据处理 校验码系统
标准类别:国家标准(GB)
标准状态:已作废
发布日期:1999-03-02
实施日期:1999-10-01
作废日期:2008-12-01
出版语种:简体中文
下载格式:.rar.pdf
下载大小:428489
标准分类号
标准ICS号:信息技术、办公机械设备>>35.040字符集和信息编码
中标分类号:电子元器件与信息技术>>信息处理技术>>L71编码、字符集、字符识别
出版信息
出版社:中国标准出版社
书号:155066.1-15998
页数:平装16开, 页数:16, 字数:26千字
标准价格:10.0 元
出版日期:2004-04-15
相关单位信息
首发日期:1999-03-23
复审日期:2004-10-14
起草单位:中国标准化与信息分类编码研究所
归口单位:全国信息技术标准化技术委员会
发布部门:国家质量技术监督局
主管部门:国家标准化管理委员会
标准简介
本标准规定的校验码系统,可以防止在抄录和键入字符串时产生的错误。对使用本标准产生的校验码或校验字符串的产品,本标准规定了一致性要求。 GB/T 17710-1999 数据处理 校验码系统 GB/T17710-1999 标准下载解压密码:www.bzxz.net
标准内容
GB/T177101999
本标准等同采用国际标准ISO7064:1983(1996年经ISO)/IECJTC1SC14确认)。本标准提供了对键入和抄录数据时发生的错误进行校验的方法,目的是满足各系统之闻对交换数据的校验。与其他存在的校验码系统相比,本标准规定的校验码系统可直接校验数宁型、划型和数字字母型字符串,操作方便;检错类型多,检错能力强;并经过广严格的数学验证,所使用的数学知识浅品。易于接受和推广
本标准的内容包括前言、引言及应用范围、第一篇总则、第二篇纯系统、第=篇混介系统和两个附录.附录A和附录B是标准的附录。本标准由中国标准化与信息分类编码研究所提出。本标准主要起草单位:中国标准化与信息分类编码研究所。本标准的主要起草人:谢民、丘维声、丁雅娴、胡家璋、李小林。本标准由全国信息技术标准化技术委员会数据元表示法分技术委员会归11并负责解释30
GB/T 17710—1999
ISO前言
ISO(国际标准化组织)是国际范围内各国标准组织(ISO成员)的联盟,其工作的开展主要通过ISO技术委员会,对技术委员会工作感兴趣的每一成员,经授权后,可成为该技术委员会的成员。与IS)有联系的其他国际组织、政府或非政府组织,可参与IS()的工作。技术委员会采纳的标准草案应提交全体成员组织讨论,通过后方可被IS()委员会接纳为国际标。
国际标准IS()7064由ISO/TC97(ISO/IECJTC1前身)信息处理系统技术委员会制定,并在1981年11月提交成员组织讨论。
以下是通过此标准的成员组织:比利时
中华人民共和国
捷克斯洛伐克
阿拉伯埃及共和国
联邦德国
爱尔兰
意大利
罗马尼亚
全体成员组织-一致同意通过本标准。南非共和国
西班牙
注:1996年8月,ISO/IECJTC1SC14组织P成员,对包括本标准在内的几个标龄较长的国际标准进行了阶段审核,各P成员组织均同意不需修订本标准,SC14于1996年12月正式宣布ISO7064:1983仍可继续使用。40
0引言
中华人民共和国国家标准
数据处理
校验码系统
Data processing\--Check character systemsGB/T 177101999
idt Is0 7064:1983
目前,正在使用的校验码系统有百多个,其中许多系统的特性非常近似,人多数系统并未起到有效的作用。现存的应用系统中,仅有少数经过严格的数学验证,有些还存在严重的缺陷。周时,系统的多样性无形中也损害着校验码系统的经济效益.常影响对交换数据的校验。因此,必须选择…些可满足不同需要的、兼容的校验码系统。本标准提供的校验码系统已经过数学验证,在其适用范阐内,通过提供可靠的保护,可防止常见的抄录和键入错误。IS2108、IS02984和IS(6166也规定了校验码系统,但它们只能用于专门的领域,其错误检测率低于本标准的规定。
附录A概述了为某一用途而选用本标准校验码系统时应考虑的准则。附录B举例说明了当国家字母的数目与国际上通用的26个字母不同时,应如何建之兼容的本国校验码系统,并设计了具体的扩展方式。1范围
1.1本标准规定的校验码系统,可以防止在抄录和键入字符串时产生的错误。字符串的长度或固定或可变,包括下列字符集中的字符:数字型
2)字母型
3)字母数字型
(10个数字:0~9)
(26个字母:A~Z)
(字母和数学)
字符串中嵌入的空格和特殊字符忽略不计。1.2对使用本标准产生校验码或校验字符串的产品,本标准规定了·致性要求。1.3本标准规定的校验码系统能检查出下列错误:1)所有的单:宁符替代错误(即单个字符被另一字符所替换,如1234被错录为4234);2)所有的或几乎所有的单-一字符对换错误(即相邻两个字符或隔一个字符的两个单…-字符的位醛互换,如12345被错录为12354或12543);3)所有的或几乎所有的位移错误(即整个字符串被向左或向右移位,如123被录入为123);4)大部分的双替代错误(即在同一字符串中,分开的两处单一字符对换错误,如1234567被错录为72345 87);
5)大部分的其他错误,
1.4本标准不适用于经特殊设计的专门系统,如:1)既能查错又能自动更正的系统;2)检查故意伪造的错误的系统;3)检查仅在计算机之间进行交换的字符串的系统。1.5本标准用于各组织之间的信息交换,也是内部信息系统信息交换的有力工具,国家质量技术监督局1999-03-23批准1999-10-01实施
2定义
本标准采用下列定义:
2.1校验码checker character
GB/T 17710-1999
第一篇总
可通过数学关系来验证代码正确性的附加字符。2.2校验码系统checker character system则
产生校验码并校验包括校验码在内的字符串的一套规则。2.3附加符,附加校验码supplementarycharacter受保护的一系列字符串所构成的字符集以外的校验码。2.4模数modulus
为使整除运算获得整余数而用作除数的整数。2.5同余congruence
指在组整数中,两两之差与模数有倍数关系的特性。同余用符合“”表示。如39三6(模11),即指39-6=33是11的倍数。
2.6底数radix
几何级数的基数。
3类型
本标准规定了两类系统:
1)纯系统;
2)混合系统
3.1纯系统
表1中列出了纯系统(详见第二篇),每一个系统的所有运算都使用单-一模数。表1纯系统
校验码系统表示法1
IS0 7064 MOD 11-2
ISO 7064 MOD 37-2
ISO 7064 MOD 97-10
IS) 7064 MOD 661-26
ISO 7064 MOD 1271-36
适用范围
数字型字符串
字母数字型字符串
数字型字符串
字母型字符串
字母数字型字符串
1)在MOD之后的第1个数字是模数,第2个数字是底数。校验码数目及类型?
1位数字或附加符X
1位数字或字母或附加符*
2位数字
2位字
2位数字或字母
2)前两个系统可在被校验的字符串处产生一位附加校验码,(例如ISO7064MOD11-2产生的校验码是Q~9及X,ISO7064MOD37-2的校验码是0~9.A~Z及*)。当不能使用附加校验码,又只能有--位校验码时。应避免使用产生附加校验码的系统;如果既不能使用附加校验码,又不能使用一位校验码,则应使用混合系统。
3.2混合系统
表2中列出了混合系统(详见第三篇)。混合系统在运算中采用了两个模数,其中一个模数等于被保护的字符集中的字符数,另一个模数比它大1,形成的校验码位丁被保护的字符串组成的字符集内。12
校验码系统表示法!
ISO) 7064 MOD 11.10
JS0 7064 MOD 27.26
ISO) 7064 MOD 37.36
GB/T 17710---1999
表2混合系统
数字串
字母串
字母数字串
1)在系统表示法中,紧跟在M(01)后面的两个数字是两个模数。4系统-致性和表示法
4.1字符里
李符数国及类型
1位数字
1字使
1位数字或字斑
本标准为不同的应用规定了不同的校验码系统·受这些系统保护的字符串应遵循本标准的规定。4.2生成校验码的产品
4.2.1著无更严格的条件限制,可为本标准生成校验码的产品(软件或硬件),应能为本标准的所有系统生成校验码,
4.2.2对不能使本标准的所有系统生成校验码的产品,应说明它们的特定使用范围。如~为IS)7064.MD11-2生成的校验码”。
4.3校验产品
4.3.1若无更严格的条件限制可校验本标准所生成的校验码的产品(软件或硬件).应能使用本标准的所有系统,
4.3.2对仅能用本标准中某些校验码系统的产品,应说明它们所使用的系统。如用IS0)7064.MOD11-2生成的校验字符串”。
4.4系统表示法
4.4.1通常采用表1和表2中给出的每一系统的全称表示.例如\IS07064.MOD[12”。注:采用缩写形式\M()D11\将会与使用模数11的类似系统混滑。4.4.2当需要简化时,如,数据元传输时往往需要同时标明用来保护该数据元的系统,可采用下列单数字表示法:
校验码系统
ISO 7064, MOD 11-2
IS07064.M0D37-2
ISO) 7064, MOD 97-10
ISO 7061. MOD 661-26
ISO) 7064, MOD 1271-36
5纯系统的说明
5.1公式
表示法
校验码系统
ISO 7064, MOD 11.10
ISO 7064. MOD 27,26
ISO 7064. MOD 37,36
无校验码或非标准系统
第二篇红
纯系统
字符串应满足下列公式的校验:QXr
公武中:n--
包括校验码的牢符串的字符个数;= l(mod M)
表示法
表示从右边开始的字符所在位置序号(包括校验码在内),即最右过的字符(二1,牢格与分割符不计在内;
GB/T17710---1999
由表3规定的处于i位置上的字符值;a,
底数(即几何级数的基数);
M—模数。
表3字符对应的值
系统中字母数字字符值
系统中字母字符值
系统中数字字符值
为ISO7064MOD11-2
设置的附加符X
为 ISO 7064 MOD 37-2
设置的附加符*
5.2运算
GB/T 17710—-1999
表3(完)
系统中数字字符值
任何运算均按公式进行。
5.3校验码的位置
校验码设在字符串的最右端。
6带一位校验码的纯系统的计算方法系统中字母字符值
系统中学母数学字符值
纯系统有两种基本运算方法:纯系统递归法和纯系统多项式法,两种方法的结果一致。6.1递归法
6.1.1运算
在递归法中,字符串的字符从左到右逐个处理。用j一1,…,n来表示下标。n为包括校验码在内的字符串中字符的数目。当j=1时,定义P,一M。计算如下:
S, P, + ata-jt i)
Po+i = S, X r
其中,α(n-)为字符值,为底数。如果S,三1(modM),则字符串满足校验要求。选择校验码ai时,应使之满足公式P,十a,1(mod M)。
6.1.2举例
假定使用校验码系统ISO7064,MOD11-2为字符串0794设置一个校验码。此时M=11,r2、n=5(4位字符加1位校验码)。运算过程如下:步骤
前次运
行结果
下一字
a(a-j-1)
100+校验码值要与1(mod11)同余底数
中间和
运算结果\:
此处结果P,为100,加上校验码的值必须与1(mod11)同余,而100本身就与1(mod11)同余,函此校验码值为零,整个受保护的字符串则为07940,校验码加在字符串的最右边。为了校验该字符串是否正确,如上所示,再按步骤j一1~5进行计算,将校验码值0也包括在内。如果运算结果与1(模11)同余,则证明该字符串是正确的。注
GB/T 17710 1999
1.如果计算过程中任一一步的结果P(+1或中间和S,大于模数M、则可减去模数的倍数,用其整余数继续运算。如上例中:
P;=14可处理为14—11-=3
S323可处理为23-221
446可处理为46—44—2
2.在IS)7064,MOD11-2系统中有效的校验码值是0~10。如果校验码的值为10,就由字符\X\表示。妇果原字符串是079这样的短字符串,在第三步计算结束时运算值为46,46=2(模11),由于2-101(模11),[因此带有校验码的完整字符串为079×。对该字符串进行检验时.第三步运算之后得到46十10=56,与1模11>同余,满足校验。
6.2多项式法
6.2.1运算
纯系统多项式法采用ri-1)或r(-1)(mod M)的值乘以字符串中每字符值来计算。表4中列出所有纯系统的,(i-\)(modM)前15个值。将字符值与它们的权数相乘,再将结果相加,如果这些结果之和与1(模M)同余,则包含校验码在内的宇符串是有效的。
纯系统的权数
位置序号
ISO 7064,MOD 11-2
ISO 7064,MOD 37-2
ISO 7064,MOD 97-10
ISO 7064.MOD 661-26
ISO7064,MOD1271-36
129488273341
76990459087
389498
156428718373893625
注,此处仅列出前15个位置的权数,其余的可用下列公式无限扩展:W,=ri-1(mod M)
W.为位置序号i的权数
6.2.2举例
用多项式法产生校验码的计算过程如下,仍以6.1.2中的字符串0794为例:字符位置:
权数2(i-1)(mod 11)
字符值a:
乘积的和
总和100加上校验码必须与1(模11)同余,由于100本身与1(mod11)同余,所以校验码必定为零,这样整个字符串为07940。校验码设置在字符串的最右端,用这种方法来校验字符串,需用与字符位置相关的权数乘以字符值(包括校验码在内),结果相加。总和被11除,如果余数是1,则通过验证。字符位置讠
权数2(i-1(mod 11)
字符值u:
乘积的和
满足验证要求。
100=1(mod 11)
GB/T 17710--1999
注:最右的位置,即,1的位置,是留给校验码的位置。因此,原字符串(不含校验码)的最右端位暨就与一的权数(W.)有关,此处W2为2。
7带两位校验码的纯系统的计算方法7.1运算
这些系统与含一位校验码的系统计算方法完全一致,只需再加一步,除了底数是10的系统求出两个字符值作为校验码(对于校验码系统IS0)7064,MOD97-10,见7.4)。用底数除运算结果得到的整商数即为,=2位置上的校验码值,余数则是1=1位置上的校验码值。7.2递归法应用举例
下面是采用递归法,用ISO7064.MOD127136系统计算字符串\ISO)79两个校验码的例下.室母数字字符值在表3中给出。运算步骤如下:前次运
算结果
下一字
中间和
中间和
676·X
二24336
1)被第一个校验码占据的这一位置在这一步时仍是空的,所以其值为零。第7步:为了计算校验码值,用(M+1)减去最后的Pat)值:1 271+11272
1272—1132140
作为下次运算值的结果(mod1271)Pe+.(mod M)
为得到单个的校验字符值,用140除以底数36,商数是3,整余数为32。这样,商数3即为位置i=2处的校验码值,整余数32为位置i=1处的校验码值。按照表3,3与32分别对应着字符3和字符W,因而带有校验码的完整的字符串为ISO793W需验证该字符串时,第1~5步如上所示,第6.7步如下:6
1020+3-1023
1240+32—1272
1272=1(mod1271),满足校验。注:最后这个字符是刚加上的,因而该总数不再乘以底数。7.3多项式法应用举例
1 023X36:=36 828
(见注)
1 240(moxt 1 271)
用多项式法计算7.2中的字符串ISO79的两个校验码,其权数采用表4中的值,享符值参照表3步骤如下:
字符位置!
权数W
字符值a
乘积的和
6714+25 004+15 000+6 300+225=-53243=1132(m0d 1 271)然后按照7.2中的第7步计算,得到ISO)793W7.4TS7064、MOD97-10的简化程序47
GB/T 177101999
对该系统可采用7.2和7.3中所叙述的步骤。通常,十进制中的数字已经乘以10的幂数,因此可采用简化步骤如下;在字符串后面添写两个0,然后除以97,再用98减去上述余数,所得结果中的两个数字就是校验码。例如,对于字符串794,计算过程如下:第一步:在校验码位置上加两个0:79400第二.步:除以97,得商818,整余数为54第二步:计算校验码值,(97+-1)一54=44,将44加到原字符串后面,得79444为了验证,用97除该字符串,如果余数为1,则满足要求。第三篇混合系统
8混合系统说明
8.1公式
一个包括按标准混合公式产生的校验码的字符串须满足下式的验证:(.((((M+an) l mX2) [(M+n+ain-)) X2) /rm+1)+**+a) I m=1式中:
包括校验码的字符串的字符数目;i-从右侧计算的字符所在位置的序号(如最右端字符一1),空格和分割符不计;a;—表3中所列出的i位置上的字符值;M和(M十+1)两个模数,M的数值等于该字符集中的字符数目(此数总是偶数);I M
除以M后的余数,如果其值为零,则用M代替;除以(M+1)后的余数,在经过上述处理后余数绝不会为0。8.2校验码的位置
校验码设置在字符串的最右端。9混合系数的计算方法此内容来自标准下载网
这里仅给出了混合系统产生校验码和验证含校验码的字符串的基本方法,即混合系统递归法。特别值得注意的是:与纯系统多项式法类似的计算方法在混合系统中不能得出相同的结果,因此不能采用。
9.1递归法
9.1.1运算
在递归法中,字符串的字符从左到右逐个处理。用j=1,….n来表示。n为包括校验码在内的字符串中字符的数目。当j=1时,定义P,一M。公式如下:S, = P,lcm+n + ucn-j+n
PGl1) = S, ll × 2
-除以M后的整余数,如果为0,则用M代替;式中:1M
1M+1)-—除以(M+1)后的整余数,在经过上述处理后该余数不会为0;一字符值。
a(μ-j+1)
验证:如果S三1(mod M),则字符串正确。确定校验码ai时,应使之满足P,十α,三l(modM)。9.1.2举例
假定用系统ISO7064,M0D11,10为字符串0794设置校验码,其中M=10,(M+1)=11,n=5(4位字符加一位校验码)计算步骤如下:18
前次运
算结果
Q- j+ n
中间和
—1999
GB/T 17710
中间和
调整后作为下次运算的结果
由上式得到校验码值5,完整的字符串为07945,校验码放在原字符串的最右端。验证时,第至五6+校验码值应与1(mod 10)同余
步如上所示,且校验码值5的计算也包括在内。最后结果必须与1(mod10)同余。19
GB/T 17710—1999
附录A
(标准的附录)
校验码应用时系统的选择原则
系统选择原则如表A!所示,包括下述内容:a)受保护的字符串的字符集(见第一栏)。b)校验码的字符集(第三栏)。除了1SO7064,MOD11-2和ISO7064,MD372以外,所有其他系统的校验码集均与受保护的字符串的字符集是一样的。而这两个系统或者需要个附加校验码、或者不使用产生附加符的校验码字符串。c)校验码位数(第四栏)。两位校验码的可接受性(根据费用和其他限制条件)必须与因系统需要校验码而提供的有力保护所带来的益处相权衡。d)未被检出的错误百分比(第五栏),即可能检查不出来的各种类型错误的百分比。这些错误有下述几种类型:
1)单替代错误
·个单…字符被另—个单-字符替换;2)单一对换错误一一单个字符的对换,相邻的(d一1)两个字符或相隔一个字符的(d==2)两个字符之间的互换错误;
3)双替代错误一—在同一个字符串中,两个分隔的单--字符的替换错误;4)移位一字符串向左或向右的位移(表中所列的错误率仅指中等距离(d<10)的位移错误)5)其他错误一一所有上述未指出的错误。e)剩余差错(第六栏)。剩余差错给出了每100000个错误中未被查出的各种错误类型的典型范围。表中较低的数值是适于各种错误类型交叉时特有的最好情况,较高的数值是错误类型交叉最差的情况。(例如,上述错误类型平均出现率并不总能被检出)。这些数字仅仅作为当确定的统计数字无法得到时的指导性数字,实践中应考虑可能出现偏差。其数值是基于下面错误出现率的范围给山的:单替换错误
单对换错误,d=1
单对换错误,d=2
双替换错误
位移错误
其他错误
60%~~85%
5%~15%
5%~~15%
0%~5%
未被检出的错误百分比反映了校验码系统孤立使用的情况。如果把这些系统与其他校验结合起来使用,效果会更好。其他校验包含致性校验、字符类型与字符串长度校验等等,例如。个字符串长度校验就会检查出字符的所有删改或插入错误。表A1
校验码系统受保护的
ISO 7064
字符串的
字符集
校验码的
校验码
字符集
数字加
附加符
系统选择的原则(概要)
未被检出的错误的百分比
单替换
剩余差错
双替换位移其他(每10000
单对换
d-1d-2
个错误中)
600--2 400
760~3 100
20~251)
在字符出不生
戒校验码10
时,可不使用附
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。