通过二进制本原bch码的缩短码检测特殊错误模式的方法

文档序号:8321891阅读:707来源:国知局
通过二进制本原bch码的缩短码检测特殊错误模式的方法
【技术领域】
[0001]本发明涉及差错控制编码和信息安全领域,特别是涉及一种通过二进制本原BCH码的缩短码检测特殊错误模式的方法。
【背景技术】
[0002]1948年,香农在一篇具有里程碑意义的论文中曾经证明,只要信息传输速率低于信道容量,通过对信息适当进行编码,可以在不牺牲信息传输或存储速率的情况下,将有噪信道或存储媒质弓I入的差错减到任意低的程度。
[0003]事实上所有的纠错码都基于一个共同的基本原理:将冗余加在信息上,以便纠正信息在存储和传输中可能发生的错误。
[0004]纠错码讨论的主要问题就是设计和实现成对的信道编码器/译码器,使得:
[0005]I)信息可以在有噪环境下尽可能快(或尽可能高密度)地传输(或记录)。
[0006]2)信息在信道译码器的输出端能够可靠地重现。
[0007]3)将实现编码器和译码器的代价降低到可接受的范围内。
[0008]博斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenghem)(BCH)码构成了一类重要而有效的纠正随机错误的循环码,这类码是对汉明码的一种重要推广,可用于纠正多个错误。由于该码具有严格的代数结构,所以是到目前为止研究得最为详尽、应用最为广泛的一类码,已有多种译码算法。
[0009]对于任意正整数m(m彡3)和t,存在具有如下参数的二进制BCH码:
[0010]分组长度:n=2m_l;
[0011 ] 奇偶校验位数目:n_k ( mt ;
[0012]最小距离:Clniin彡 2t+l。
[0013]在一个长度为η=2π -1的分组中,该码能够纠正t个或少于t个差错的任意组合,称该码为纠t个错误的BCH码。该码的生成多项式由它在伽罗华域GF(2m)上的根确定。
[0014]随着信息技术的发展,数据的机密性和完整性受到越来越多的关注,自从旁路攻击(Side Channel Attacks)被提出以后,信息的传输和存储不仅需要考虑随机噪声引起的差错,还应考虑故障攻击引起的差错。
[0015]错误分析是利用错误结果进行分析得出密钥信息的分析技术。在硬件防御错误分析措施方面,通常包括检错和纠错,检错码包括奇偶校验码,循环冗余校验码CRC等;纠错码同时具有检错和纠错的功能,包括汉明码、BCH码、RS码等。
[0016]本发明关注存储器常使用的二进制本原BCH码

【发明内容】

[0017]本发明要解决的技术问题是提供一种通过二进制本原BCH码的缩短码检测特殊错误模式的方法,在保证检错概率的情况下,能够100%检测因故障攻击引起的特殊的错误模式。
[0018]为解决上述技术问题,本发明的通过二进制本原BCH码的缩短码检测特殊错误模式的方法,包括如下步骤:
[0019]步骤一、根据系统中需要检测的数据单元的大小选择合适的BCH码的缩短码;
[0020]步骤二、考虑系统将面临的故障环境及数据可能出现的错误模式并罗列出来;
[0021]步骤三、在算法上构造BCH码被缩短的部分,使得当数据和校验码出现这些错误模式时为非法码,从而可以100%检测出这些错误模式,而不影响总的检错概率。
[0022]步骤一中所述的BCH码的缩短码,如果数据和校验码的长度已经符合BCH码的分组要求n=2m-l (m为有限域GF(2m)的阶),也就是缩短长度为0,则可以通过使用有限域GF (2m+1)来构造BCH码的缩短码。
[0023]步骤三中所述构造BCH码被缩短的部分,如果错误模式较多而BCH码被缩短的部分较少,有可能遍历BCH码被缩短部分的所有值也无法找到能够将所有错误模式变成非法码的一个缩短码,则可以将有限域GF(2m)的阶增加为m+1来重新构造BCH码的缩短码。
[0024]本发明通过构造被缩短部分的值将特殊的错误模式变成非法码字,从而能够通过检错电路100%被检测出来,而将特殊的错误模式变成非法码字可以通过构造被缩短部分的值来实现。
【附图说明】
[0025]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
[0026]图1是本发明中BCH码的码字结构。
[0027]图2是本发明中缩短的BCH码的码字结构。
【具体实施方式】
[0028]下面以使用二进制本原BCH码实现对32bits数据检错的功能为例来介绍本发明。
[0029]1、系统需要使用BCH码对ROM和EEPROM中的每个32bits数据单元实现检错功能,BCH码的分组长度需满足n=2m-l(m为有限域GF(2m)的阶),其码字结构如图1所示,而
25-1〈32+校验位〈26-1,所以选择有限域GF(26),本原多项式P⑴=X6+X+1。
[0030]2、由于只需要实现检错功能,所以只需要6bits的校验位;分组长度为
26-l=63bits,实际需要38bits,需要缩短25bits,缩短是通过使用码的部分而非全部信息比特来实现,其码字结构如图2所示。
[0031]3、缩短的BCH码是线性码,通常不再是循环码,但适当处理被缩短的比特后,可以使用同样的编解码器。
[0032]4、考虑故障可能将ROM和EEPROM中的38bits数据单元变成全O或者全1,如果BCH码被缩短部分固定为全0,38bits全O为合法码字,无法通过检错电路检测出来;如果BCH码被缩短部分固定为全l,38bits全I为合法码字,无法通过检错电路检测出来。
[0033]5、要实现对38bits全O和全I的检错功能,就需要通过构造被缩短部分的值使得当32bits数据为全O时其6bits的校验码不为全0,并使得当32bits数据为全I时其6bits的校验码不为全1,也就是使得38bits全O和全I属于非法码字。
[0034]6、实验中发现将被缩短的25bits中紧接32bits数据的Ibit设为1,其余24bits设为O时,32bits全O数据的校验码不为全0,32bits全I数据的校验码不为全1,这样就实现了将38bits全O和全I变成非法码字的目的,38bits全O和全I也就能够被检错电路检测出来。
[0035]以上通过【具体实施方式】对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【主权项】
1.一种通过二进制本原BCH码的缩短码检测特殊错误模式的方法,其特征在于,包括如下步骤: 步骤一、根据系统中需要检测的数据单元的大小选择合适的BCH码的缩短码; 步骤二、考虑系统将面临的故障环境及数据可能出现的错误模式并罗列出来; 步骤三、在算法上构造BCH码被缩短的部分,使得当数据和校验码出现这些错误模式时为非法码,从而能够100%检测出这些错误模式,而不影响总的检错概率。
2.如权利要求1所述的方法,其特征在于:步骤一中所述的BCH码的缩短码,如果数据和校验码的长度已经符合BCH码的分组要求n=2m-l,则通过使用有限域GF (2m+1)来构造BCH码的缩短码;其中,m为有限域GF (2m)的阶。
3.如权利要求1所述的方法,其特征在于:步骤三中所述构造BCH码被缩短的部分,当遍历BCH码被缩短部分的所有值也无法找到能够将所有错误模式变成非法码的一个缩短码时,则将有限域GF(2m)的阶增加为m+1来重新构造BCH码的缩短码。
【专利摘要】本发明公开了一种通过二进制本原BCH码的缩短码检测特殊错误模式的方法,属于差错控制编码和信息安全领域。包括以下步骤:根据系统中需要检测的数据单元的大小选择合适的BCH码的缩短码;考虑系统将面临的故障环境及数据可能出现的错误模式并罗列出来;在算法上构造BCH码被缩短的部分,使得当数据和校验码出现这些错误模式时为非法码,从而可以100%检测出这些错误模式,而不影响总的检错概率。本发明在保证检错概率的情况下,能够100%检测因故障攻击引起的特殊的错误模式。
【IPC分类】H03M13-15
【公开号】CN104639179
【申请号】CN201310563744
【发明人】徐云秀, 顾海华, 何玉明, 戴益君
【申请人】上海华虹集成电路有限责任公司
【公开日】2015年5月20日
【申请日】2013年11月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1