XOR(Logical exclusive-OR operation)校验和,由于它的计算方法之故,也被称为纵向冗余校验LRC(Longitudinal Redundancy Check),可以很简单的求得。对于智能卡应用的差错检测码而言,这是两条重要的准则。此外,算法的实现要极其简便,除了保护在存储器中存储的数据外,XOR校验和还被用于数据传输(T=1传输协议的ATR)。X0R校验和是对所有数据字节相继执行逻辑XOR操作而算得的。换言之,由字节1和字节2求X0R,其结果再和字节3求X0R,如此等等如图1所示。 如果校验和的被直接安排在数据之后,并重新用数据和原来的校验和去计算一新的校验和,结果为“00”。这是验证数据和校验和保持其原有值而无讹误的最简单的方法。

图1 XOR校验和
X0R校验和的主要好处是它们的快速计算和算法的简单性。使得它的汇编代码仅有10~20个字节长,X0R操作在所有的处理器中均可以作为一条机器命令而直接使用。此外,关于X0R校验和计算的算法几乎必须在所有的智能卡操作系统中实现,这是由于大量的ISO标准有关T=1数据传输协议的需要,这样就可以不需要任何额外的开销而用于其他用途。
遗憾地是,X0R校验和也因几个严重的缺点而蒙受损害,限制了它们在实际中的应用。例如,大体上说它们不是很安全的,它们不能检测出在总的数据中两字节的交换,在几个字节中的同一位置上可以发生多重差错而互相抵消。所有这些的结果是X0R校验和主要用于数据传输,而把它们用于检验存储器内容的前后一致性是很有限的。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)