公开/公告号CN104639179A
专利类型发明专利
公开/公告日2015-05-20
原文格式PDF
申请/专利权人 上海华虹集成电路有限责任公司;
申请/专利号CN201310563744.X
申请日2013-11-13
分类号H03M13/15(20060101);
代理机构31211 上海浦一知识产权代理有限公司;
代理人戴广志
地址 201203 上海市浦东新区碧波路572弄39号
入库时间 2023-12-18 08:49:45
法律状态公告日
法律状态信息
法律状态
2018-08-14
授权
授权
2015-06-17
实质审查的生效 IPC(主分类):H03M13/15 申请日:20131113
实质审查的生效
2015-05-20
公开
公开
技术领域
本发明涉及差错控制编码和信息安全领域,特别是涉及一种通过二进 制本原BCH码的缩短码检测特殊错误模式的方法。
背景技术
1948年,香农在一篇具有里程碑意义的论文中曾经证明,只要信息传 输速率低于信道容量,通过对信息适当进行编码,可以在不牺牲信息传输 或存储速率的情况下,将有噪信道或存储媒质引入的差错减到任意低的程 度。
事实上所有的纠错码都基于一个共同的基本原理:将冗余加在信息上, 以便纠正信息在存储和传输中可能发生的错误。
纠错码讨论的主要问题就是设计和实现成对的信道编码器/译码器,使 得:
1)信息可以在有噪环境下尽可能快(或尽可能高密度)地传输(或记 录)。
2)信息在信道译码器的输出端能够可靠地重现。
3)将实现编码器和译码器的代价降低到可接受的范围内。
博斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenghem)(BCH)码 构成了一类重要而有效的纠正随机错误的循环码,这类码是对汉明码的一 种重要推广,可用于纠正多个错误。由于该码具有严格的代数结构,所以 是到目前为止研究得最为详尽、应用最为广泛的一类码,已有多种译码算 法。
对于任意正整数m(m≥3)和t(t<2m-1),存在具有如下参数的二进制BCH 码:
分组长度:n=2m-1;
奇偶校验位数目:n-k≤mt;
最小距离:dmin≥2t+1。
在一个长度为n=2m–1的分组中,该码能够纠正t个或少于t个差 错的任意组合,称该码为纠t个错误的BCH码。该码的生成多项式由它在 伽罗华域GF(2m)上的根确定。
随着信息技术的发展,数据的机密性和完整性受到越来越多的关注, 自从旁路攻击(Side Channel Attacks)被提出以后,信息的传输和存储 不仅需要考虑随机噪声引起的差错,还应考虑故障攻击引起的差错。
错误分析是利用错误结果进行分析得出密钥信息的分析技术。在硬件 防御错误分析措施方面,通常包括检错和纠错,检错码包括奇偶校验码, 循环冗余校验码CRC等;纠错码同时具有检错和纠错的功能,包括汉明码、 BCH码、RS码等。
本发明关注存储器常使用的二进制本原BCH码
发明内容
本发明要解决的技术问题是提供一种通过二进制本原BCH码的缩短码 检测特殊错误模式的方法,在保证检错概率的情况下,能够100%检测因故 障攻击引起的特殊的错误模式。
为解决上述技术问题,本发明的通过二进制本原BCH码的缩短码检测 特殊错误模式的方法,包括如下步骤:
步骤一、根据系统中需要检测的数据单元的大小选择合适的BCH码的 缩短码;
步骤二、考虑系统将面临的故障环境及数据可能出现的错误模式并罗 列出来;
步骤三、在算法上构造BCH码被缩短的部分,使得当数据和校验码出 现这些错误模式时为非法码,从而可以100%检测出这些错误模式,而不影 响总的检错概率。
步骤一中所述的BCH码的缩短码,如果数据和校验码的长度已经符合 BCH码的分组要求n=2m-1(m为有限域GF(2m)的阶),也就是缩短长度为0, 则可以通过使用有限域GF(2m+1)来构造BCH码的缩短码。
步骤三中所述构造BCH码被缩短的部分,如果错误模式较多而BCH码 被缩短的部分较少,有可能遍历BCH码被缩短部分的所有值也无法找到能 够将所有错误模式变成非法码的一个缩短码,则可以将有限域GF(2m)的阶 增加为m+1来重新构造BCH码的缩短码。
本发明通过构造被缩短部分的值将特殊的错误模式变成非法码字,从 而能够通过检错电路100%被检测出来,而将特殊的错误模式变成非法码字 可以通过构造被缩短部分的值来实现。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明中BCH码的码字结构。
图2是本发明中缩短的BCH码的码字结构。
具体实施方式
下面以使用二进制本原BCH码实现对32bits数据检错的功能为例来介 绍本发明。
1、系统需要使用BCH码对ROM和EEPROM中的每个32bits数据单元实 现检错功能,BCH码的分组长度需满足n=2m-1(m为有限域GF(2m)的阶), 其码字结构如图1所示,而25-1<32+校验位<26-1,所以选择有限域GF(26), 本原多项式p(X)=X6+X+1。
2、由于只需要实现检错功能,所以只需要6bits的校验位;分组长度 为26-1=63bits,实际需要38bits,需要缩短25bits,缩短是通过使用码 的部分而非全部信息比特来实现,其码字结构如图2所示。
3、缩短的BCH码是线性码,通常不再是循环码,但适当处理被缩短的 比特后,可以使用同样的编解码器。
4、考虑故障可能将ROM和EEPROM中的38bits数据单元变成全0或者 全1,如果BCH码被缩短部分固定为全0,38bits全0为合法码字,无法通 过检错电路检测出来;如果BCH码被缩短部分固定为全1,38bits全1为 合法码字,无法通过检错电路检测出来。
5、要实现对38bits全0和全1的检错功能,就需要通过构造被缩短 部分的值使得当32bits数据为全0时其6bits的校验码不为全0,并使得 当32bits数据为全1时其6bits的校验码不为全1,也就是使得38bits全 0和全1属于非法码字。
6、实验中发现将被缩短的25bits中紧接32bits数据的1bit设为1, 其余24bits设为0时,32bits全0数据的校验码不为全0,32bits全1数 据的校验码不为全1,这样就实现了将38bits全0和全1变成非法码字的 目的,38bits全0和全1也就能够被检错电路检测出来。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成 对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可 做出许多变形和改进,这些也应视为本发明的保护范围。
机译: 使用欧几里得算法解码里德所罗门(BCH)码时检测不可纠正错误模式的设备
机译: 用于解码缩短的bch码或里德所罗门码的方法和装置
机译: 基于清单编码生成的基于BM的二进制BCH码快速逐点解码中快速多点更新的执行方法的ASIC。