位置:51电子网 » 技术资料 » 其它综合

智能卡的差错检测和校正码

发布时间:2008/11/22 0:00:00 访问次数:674

  当数据被传送或存储时,有可能会检测到数据的任何改变,特别是所存储的程序必须防止讹误出现,因为程序代码单独一位的改变将会破坏程序或者改变其执行直至所需的功能不再能使用的程度。智能卡中所用的eeprom对外界的影响特别敏感,例如热或电压波动。因此,执行和安全有关的部分必须加以保护,使得那些非期待的改变能被操作系统检测出来并避免它们的负面影响。

  如果是敏感的文件内容,例如程序代码、密钥、访问条件、指针结构和诸如此类的信息必须给以保护以防止改变。差错检测码edc(error detection codes)就用于此目的,用edc在保护区检测出改变的概率依赖于所用的代码。差错校正码fcc(error c。rrection codes)是差错检测码的扩充,它不仅能检测出所测试的数据中的差错,并且还能校正有限数量的差错,产生与检验差错检测码的过程如图1所示。

  所有这类编码的基本操作原理是给被保护的数据赋予一校验和。它通常存储在被保护的数据的附近,校验和是用普遍知道的算法产生的,这并不是秘密。利用edc可对数据的改变予以检测,这是用存储的校验和与重新算得的校验和相比较来完成的。

  差错检验和校正的一个特点是采用了大量不同的数学方法,其中的一些提供了对较多有效位的保护,以尽可能减少对数值的负面影响。在绝大多数的情形中,采用这样的算法,无论如何都会大量地增加程序代码的复杂性和大小。因而,通常采用并不区别字节中高位部分和低位部分的差错检测,而是把字节当作整体来操作,参见图2。

  图1 产生与检验差错检测码(edc)的基本过程

  图2 采用补充的奇校验位的差错检测之例

  差错检测和校正码非常类似于报文鉴别码mac(message authentication codes)和密码校验和ccs(cryptographic check sums),然而,这里有一个基本的差别,edc和ecc校验和可由任何人计算并检验。相反,计算⒕怩或ccs则需要一个密钥,因为这些编码是设计来防止对数据的篡改,而不是防止偶然的讹误。

  广为人知的差错检测码就是奇偶校验位,在数据传输和某些存储模块中,它附加在每一字节上,在计算奇偶位之前9必须决定是用偶还是奇校验,对于偶校验来说,校验位的选择应使得在数据字节中所有各位之和加上校验位后为一偶数,而奇校验,把这些位相加后是一奇数。

  若在一字节中同时有两位出错,校验位不变,因而不能检测出错误。以奇偶校验为基础的差错检测的另一缺点是每8位数据位需要一校验位的比较大的开销,它表现为12.5%的附加的存储负载。当存储器是按字节来组织时,将很难用附加的奇偶位来工作,因为这需要明显的编程努力。这就是奇偶校验位未用于智能卡存储器差错检测的缘故,而x0r和crc校验和就更适宜于此任务。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  当数据被传送或存储时,有可能会检测到数据的任何改变,特别是所存储的程序必须防止讹误出现,因为程序代码单独一位的改变将会破坏程序或者改变其执行直至所需的功能不再能使用的程度。智能卡中所用的eeprom对外界的影响特别敏感,例如热或电压波动。因此,执行和安全有关的部分必须加以保护,使得那些非期待的改变能被操作系统检测出来并避免它们的负面影响。

  如果是敏感的文件内容,例如程序代码、密钥、访问条件、指针结构和诸如此类的信息必须给以保护以防止改变。差错检测码edc(error detection codes)就用于此目的,用edc在保护区检测出改变的概率依赖于所用的代码。差错校正码fcc(error c。rrection codes)是差错检测码的扩充,它不仅能检测出所测试的数据中的差错,并且还能校正有限数量的差错,产生与检验差错检测码的过程如图1所示。

  所有这类编码的基本操作原理是给被保护的数据赋予一校验和。它通常存储在被保护的数据的附近,校验和是用普遍知道的算法产生的,这并不是秘密。利用edc可对数据的改变予以检测,这是用存储的校验和与重新算得的校验和相比较来完成的。

  差错检验和校正的一个特点是采用了大量不同的数学方法,其中的一些提供了对较多有效位的保护,以尽可能减少对数值的负面影响。在绝大多数的情形中,采用这样的算法,无论如何都会大量地增加程序代码的复杂性和大小。因而,通常采用并不区别字节中高位部分和低位部分的差错检测,而是把字节当作整体来操作,参见图2。

  图1 产生与检验差错检测码(edc)的基本过程

  图2 采用补充的奇校验位的差错检测之例

  差错检测和校正码非常类似于报文鉴别码mac(message authentication codes)和密码校验和ccs(cryptographic check sums),然而,这里有一个基本的差别,edc和ecc校验和可由任何人计算并检验。相反,计算⒕怩或ccs则需要一个密钥,因为这些编码是设计来防止对数据的篡改,而不是防止偶然的讹误。

  广为人知的差错检测码就是奇偶校验位,在数据传输和某些存储模块中,它附加在每一字节上,在计算奇偶位之前9必须决定是用偶还是奇校验,对于偶校验来说,校验位的选择应使得在数据字节中所有各位之和加上校验位后为一偶数,而奇校验,把这些位相加后是一奇数。

  若在一字节中同时有两位出错,校验位不变,因而不能检测出错误。以奇偶校验为基础的差错检测的另一缺点是每8位数据位需要一校验位的比较大的开销,它表现为12.5%的附加的存储负载。当存储器是按字节来组织时,将很难用附加的奇偶位来工作,因为这需要明显的编程努力。这就是奇偶校验位未用于智能卡存储器差错检测的缘故,而x0r和crc校验和就更适宜于此任务。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!