CN102799495A - 用于生成校验和的装置 - Google Patents
用于生成校验和的装置 Download PDFInfo
- Publication number
- CN102799495A CN102799495A CN2012101655001A CN201210165500A CN102799495A CN 102799495 A CN102799495 A CN 102799495A CN 2012101655001 A CN2012101655001 A CN 2012101655001A CN 201210165500 A CN201210165500 A CN 201210165500A CN 102799495 A CN102799495 A CN 102799495A
- Authority
- CN
- China
- Prior art keywords
- symbol
- useful load
- present encoding
- combination
- initialization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及用于生成校验和的装置。一种装置为具有某一数目的有效载荷符号的有效载荷生成校验和。该装置包括用于对有效载荷编码的编码器。编码器被配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号并且使用映射规则来映射组合的符号以获得当前编码符号。映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂。配置该装置使得校验和在该数目的有效载荷符号由编码器处理时对应于当前编码符号,该数目为一或者大于一。
Description
技术领域
本发明涉及一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置并且更具体地涉及一种自适应高代码距离校验和算法和模块。
背景技术
数字错误检测方法基于一般可以由错误检测(或者纠正)代码描述的信息冗余性。另外,能够对具有可变数目的有效载荷符号的有效载荷(例如消息)进行处理的代码被称为校验和或者校验和代码。
发明内容
这里描述的实施例提供一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置。该装置包括用于对有效载荷编码的编码器。编码器被配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号并且使用映射规则来映射组合的符号以获得当前编码符号。映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂。配置该装置使得校验和在该数目的有效载荷符号由编码器处理时对应于当前编码符号,该数目为一或者大于一。
这里描述的另外实施例提供一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置。该装置包括组合器、映射器和寄存器。组合器被配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号。映射器被配置成使用映射规则来映射组合的符号以获得当前编码符号,该映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂。寄存器被配置成存储当前编码符号并且输出当前编码符号。
这里描述的另外实施例提供一种用于为具有不同数目的有效载荷符号的不同有效载荷生成校验和的校验和处理器。校验和处理器包括第一储存器、第二储存器、用于生成校验和的装置和选择器。第一储存器被配置成存储具有第一数目的有效载荷符号的第一有效载荷。第二储存器被配置成存储具有第二数目的有效载荷符号的第二有效载荷,有效载荷符号的第二数目大于有效载荷符号的第一数目。用于生成校验和的装置包括用于对有效载荷编码的编码器和用于当前有效载荷符号的输入。编码器被配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号并且使用映射规则来映射组合的符号以获得当前编码符号。映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂。选择器被配置成将第一储存器或者第二储存器耦合到该装置的输入。另外,该装置被配置成在第一储存器耦合到该装置的输入并且处理第一数目的有效载荷符号时输出用于第一有效载荷的校验和而在第二储存器耦合到该装置的输入并且处理第二数目的有效载荷符号时输出用于第二有效载荷的校验和。
本领域技术人员将在阅读下文详细描述时并且在查看附图时认识到附加特征和优点。
附图说明
附图的要素未必相对于彼此按比例。同样标号表示对应的相似部分。各种所示实施例的特征除非它们相互排除否则可以组合。在附图中描绘并且在下文的描述中详述实施例。
图1示出了根据实施例的用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置的框图。
图2示出了根据实施例的校验和处理器的框图。
图3示出了根据实施例的用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置的框图。
图4示出了根据实施例的具有并行输入和并行输出的映射器的框图。
具体实施方式
在下文描述中,阐述多个细节以提供对本发明的实施例的更透彻说明。然而本领域技术人员将清楚,可以在没有这些具体细节的情况下实践本发明的实施例。在其它实例中,以框图而非详细示出公知结构和设备以便避免使本发明的实施例晦涩难懂。此外,下文描述的不同实施例的特征除非另有具体指明否则可以相互组合。
图1示出了根据实施例的用于为具有数目为m的有效载荷符号a1至am的有效载荷104生成校验和102的装置100。装置100包括用于对有效载荷104编码的编码器106。编码器106被配置成组合当前有效载荷符号ak(k=1,…,m)与先前编码符号sk-1或者初始化符号S0以获得组合的符号并且使用映射规则Cq来映射组合的符号以获得当前编码符号sk。映射规则Cq基于线性反馈移位寄存器(LFSR)的特征多项式p(x)的伴随矩阵C的二次或者更多次幂q(q≥2)(或者由其定义)。另外,配置装置100使得校验和sm(102)在数目为目的有效载荷符号由编码器106处理时(当k=m时)对应于当前编码符号sk,数目m为一或者大于一。换而言之,有效载荷符号数目m可以是等于或者大于一的自然数。
在一些实施例中,装置100的编码器106包括如下反馈(路径),该反馈(路径)用于反馈在对先前有效载荷符号ak-1编码之时生成的先前编码符号sk-1。即使有相似或者相等的连续有效载荷符号ak和ak-1,先前编码符号sk-1与当前有效载荷符号ak的组合一般提供不同值。
此外,装置100可以为具有不同数目的有效载荷符号的不同有效载荷生成校验和,或者换而言之,装置100可以为具有长度可变的符号序列的有效载荷生成校验和。
另外,通过使用这里描述的映射规则Cp将组合的符号映射到当前编码符号sk来提供可变或者自适应最小代码距离dmin。最小代码距离dmin依赖于有效载荷符号数目m,即校验和代码具有用于短有效载荷(或者短符号序列)的高最小代码距离dmin和用于长有效载荷(或者长符号序列)的低最小代码距离dmin。因此,最小代码距离dmin为有效载荷符号数目m(或者换而言之,符号序列长度)的函数。另外,它依赖于伴随矩阵C和幂p的具体选择。这意味着根据有效载荷符号数目m、特征多项式和幂,dmin(m,C,p)呈现不同值。这与本领域技术人员公知的诸如CRC或者Fletcher校验和等的校验和算法(对于这些算法,dmin对于所有长度m<M而言恒定,其中M是某一固定最大长度)对照。例如在CCITT CRC-16或者IEEE 802.3 CRC-32的情况下dmin=4,而对于Fletcher校验和而言dmin=3。相反,这里描述的构造使用伴随矩阵的幂,这允许实现用于短序列的更大dmin值同时仍然保持用于长序列的某一最小值。
在一些实施例中,编码器106可以被配置成使用线性组合来组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0。另外,编码器106可以包括用于组合当前有效载荷符号ak与先前编码符号Sk-1或者初始化符号S0的XOR(异或)或XNOR(同或)门。
另外,当前有效载荷符号ak和先前编码符号sk-1或者初始化符号s0可以包括多个符号单位(或者位)。由此,编码器106可以被配置成按单位(或者按位)组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0。可以通过使用并行XOR或者XNOR门来实现当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0的按单位(或者按位)组合。
编码器106也被配置成如这里先前描述的那样使用映射规则Cq来映射组合的符号以获得当前编码符号sk。映射规则Cq基于线性反馈移位寄存器的特征多项式p(x)的伴随矩阵C的二次或者更多次幂q(q≥2)(或者由其定义)。换而言之,映射规则Cq基于伴随矩阵C的二次或者更多次幂q(例如C2、C3、C4、C5等)(或者由其定义),其中伴随矩阵C由线性反馈移位寄存器的特征多项式p(x)定义。线性反馈移位寄存器的特征多项式p(x)可以包括本原多项式g(x)或者与一次多项式(比如x+1)相乘的本原多项式g(x)。另外,在一些实施例中,编码器106可以被配置成使用伴随矩阵C的幂q,幂q在符号单位(或者位)上对应于当前编码符号的长度h或者更大值(q>h)。这确保组合的每个符号单位(或者位)与另一符号单位(或者位)组合(或者混合)。
此外,图1中所示的编码器106可以包括如下(逻辑)电路,该电路具有用于组合的符号的输入、用于当前编码符号sk的输出和耦合于输入与输出之间的多个XOR或者XNOR门。多个XOR或者XNOR门相互耦合,使得在(逻辑)电路的输入处的组合符号根据映射规则Cq映射到在(逻辑)电路的输出处的当前编码符号sk。
另外,用于生成校验和102的装置100可以包括用于存储当前编码符号sk并且用于输出当前编码符号sk的寄存器。可以在对下一有效载荷符号ak+1编码之时在下一编码步骤中使用寄存器中存储的当前编码符号sk。此外,当数目为m的有效载荷符号由编码器106处理时(当k=m时),换而言之,当处理有效载荷104的所有有效载荷符号时,可以输出当前编码符号sk作为校验和sm(奇偶符号)。
图2示出了根据实施例的校验和处理器120的框图。校验和处理器120被配置成为具有不同数目的有效载荷符号的不同有效载荷生成校验和102。校验和处理器120包括第一储存器122、第二储存器124、如图1中所示的用于生成校验和102的装置100和选择器126。相同编码器106可以用于独立于有效载荷的长度(有效载荷符号am的数目m)对具有不同数目的有效载荷符号的不同有效载荷进行编码。此外,编码器106生成的代码具有针对更短(数目减少的有效载荷符号am)有效载荷的增加最小代码距离dmin的希望性质。
第一储存器122被配置成存储具有第一数目的有效载荷符号的第一有效载荷。第二储存器124被配置成存储具有第二数目的有效载荷符号的第二有效载荷,有效载荷符号的第二数目大于有效载荷符号的第一数目。换而言之,第二有效载荷比第一有效载荷长。
另外,在一些实施例中,包括第一储存器122和第二储存器124的大型储存器可以用于存储具有第一数目的有效载荷符号的第一有效载荷并且用于存储具有第二数目的有效载荷符号的第二有效载荷。
用于生成校验和102的装置100还包括用于当前有效载荷符号的输入128。选择器126被配置成将第一储存器122或者第二储存器124耦合到装置100的输入128。校验和处理器120在第一储存器122耦合到装置100的输入128时并且在处理第一数目的有效载荷符号时提供用于第一有效载荷的校验和,而在第二储存器124耦合到装置100的输入128时并且在处理第二数目的有效载荷符号时提供用于第二有效载荷的校验和。
如图1和图2中所示的用于为具有数目为m的有效载荷符号的有效载荷104生成校验和102的装置100的功能可以由校验和代码或者换而言之由将数目m的有效载荷符号转换成校验和102的规则描述。
校验和代码的主要特征是奇偶符号的长度(h)、最小代码距离(dmin)、最小代码距离有效的(有效载荷)符号最大数目(L)、(多个)随机错误产生有效代码字的概率(p)、脉冲串长度检测(B)和/或硬件实施特征(比如所需面积和性能)。
如上文已经描述的那样,编码器106被配置成提供依赖于有效载荷符号数目的可变或者自适应(最小)代码距离dmin,或者换而言之,(最小)代码距离dmin是有效载荷符号数目m的函数。因此在下文中将校验和代码称为自适应高代码距离校验和(AHDCS)代码。AHDCS代码可以例如但不限于用来为智能卡安全控制器上的长度可变的数量计算数据或者指令签名。
大量已知的校验和代码由国际标准定义。已知或者常规的校验和代码例如是CRC代码(例如CRC16和CRC32(CRC=循环冗余校验))、WSC代码、块奇偶代码、BCH代码(BCH=Bose, Ray-Chaudhuri和Hocquenghem)、Reed-Solomon代码和Fletcher校验和。然而,使用安全控制器(例如智能卡)上的校验和代码作为错误检测措施提高前述校验和代码均未满足的具体边界条件。作为鲜明对照,AHDCS代码如接着更详细描述的那样满足用于在安全控制器上用作错误检测措施的边界条件。
AHDCS代码满足(多个)随机错误针对奇偶符号的给定长度h而产生有效代码字的渐近最大概率p的边界条件(即p=2-h)。另外,AHDCS代码满足针对奇偶符号的给定长度h而言的最大脉冲串长度b的边界条件(即b=h)。此外,AHDCS代码满足作为最大符号数目L的函数的优选大(最小)代码距离dmin(dmin(L))的边界条件,其中L是等于或者大于一的自然数(L=1,2,3,…),即对于L1<L2<L3<…<Ln而言dmin(L1)>dmin(L2)>dmin(L3)>…>dmin(Ln)。另外,AHDCS代码满足减少或者甚至最小化的硬件实施面积的边界条件。另外,AHDCS可并行化,使得可以在一个编码步骤内处理或者编码h位字或者符号。
对照而言,在下文中简要描述上文提到的已知校验和代码的特征。另外,在下文例子中,示例性地选择奇偶符号的长度为16位(h=16位)。
Fletcher代码(具体为Fletcher 255)针对次优最大符号数目L=128、(多个)随机错误产生有效代码字的次优概率p=0.001538%和次优脉冲串长度b=7位而具有小(最小)代码距离dmin=3位。在理论上,L=2047、p=2-16和b=16位将是可能的。
WSC代码和块奇偶代码也具有强次优错误检测特征或者换而言之具有小(最小)代码距离dmin。另外,Reed-Solomon代码和BCH代码一般需要很复杂的编码器和解码器并且也具有次优错误检测特征或者换而言之具有小(最小)代码距离dmin。
CRC16代码(CCITT(CCITT=国际电报和电话顾问委员会)或者XBM)具有用于上至L=2047个符号(最优)的(最小)代码距离dmin=4位。在理论上,用于上至L=4094个符号的dmin=3位、用于上至L=2047个符号的dmin=4位、用于上至L=15个符号的dmin=5位、用于上至L=8个符号的dmin=6位以及用于L=1个符号的dmin=7位和dmin=8位将是可能的。因此,标准CRC代码不是自适应的,意味着(最小)代码距离dmin未针对更短符号序列而增加。此外,基本上依次定义CRC代码,即用于在一个编码步骤中处理16位字或者符号的并行性在原则上是可能的但是将需要大硬件面积,这进而将产生高能耗。
另外,在作为防范出错攻击的应对措施的数据和指令签名的背景中,非常重要的是使用针对更短符号序列而具有更高(最小)代码距离dmin的校验和代码以便检测由于短数据或者指令序列可能同时位于可能受本地攻击(例如因激光)影响的本地缓冲器中所致的尽可能多的多位错误。如已经详细描述的那样,与已知的校验和代码对照,AHDCS代码可以提供用于更短符号序列的更高(最小)代码距离dmin。
此外,在具有长度可变(情况通常如此)的协议帧的传输协议的背景中,使用针对更短符号序列而具有更高(最小)代码距离dmin的校验和代码是有利的。当传输更短协议帧(这一般为最常见情况)时,自动增加错误检测率。因此,可以减少平均总错误率。
出于实际原因而可以根本不考虑将不同但是分别最优的代码用于不同长度的符号序列的理论微小可能性。另一方面,在开始计算之前必须已知符号序列的长度,并且将总是必须给定用于选择代码的长度信息。另一方面,将必须实施约十二个不同算法,并且将必须执行在这些算法之间的动态切换。
AHDCS代码具有(最小)代码距离dmin针对符号单位数目m(长度)的动态调整。另外,AHDCS代码提供简单同构硬件实施的可能性。由此,未发生在具有不同(最小)代码距离的代码之间的切换。在AHDCS代码的构造内固有地包含这一特征。另外,可以高效地并行化AHDCS代码。此外,脉冲串长度b和渐近错误检测概率p与上文提到的常规已知代码相比有所增强(或者甚至最优)。
AHDCS可以由下式给定的动态等式定义:
其中k=1,2,…,m。等式(1)中的“+”符号表示模2加法(XOR)。在对k个有效载荷(或者消息)符号(a1,a2,…,ak)的序列编码之后的状态矢量由sk表示并且可以具有h位宽度(例如h=16)。在编码(或者散列)所有m个有效载荷符号之后,奇偶校验符号由值sm给定。有效载荷(或者消息)符号ai也可以具有h位长度。矩阵C是线性反馈移位寄存器的伴随矩阵并且可以具有h×h维度。在AHDCS的动态等式中,矩阵C提高至q次幂,其中在一些实施例中q等于或者大于h(q≥h)。另外,伴随矩阵C基于线性反馈移位寄存器的特征多项式p(x)(或者由该多项式定义)。由此,如下式给定的,两种可能性是相关的:
p(x) = g(x) (2)
p(x) = (x + 1) g(x) (3)
其中g(x)是本原多项式。对于p(x)=g(x),确保代码距离针对最大长度L而为三(d* min=3)。对于p(x)=(x+1)g(x),确保代码距离针对最大长度L而为四(d* min=4)。在下文中将d* min称为标准距离。
通过选择其余自由参数(即本原多项式g(x)),可以获得AHDCS的不同实现。对于具有小数目的有效载荷符号的有效载荷,许多多项式g(x)产生具有比标准距离d* min高的代码距离的校验和代码。
此外,根据一些实施例,可以针对所选g(x)为具有小数目的有效载荷符号的有效载荷提供高代码距离。例如假设h=16位并且p(x)=c5c0(hex)(等式(2)),AHDCS提供用于L≤52个符号的最小代码距离dmin=4位、用于L≤5个符号的dmin=5位和用于L≤1个符号的dmin=7位,其中h是数据和奇偶符号的长度而L是最小代码距离有效的有效载荷符号的最大数目。为更长奇偶符号提供很高代码距离,例如dmin>10位。
在一些实施例中,可以使用伴随矩阵C的多项式而不是等式(1)中的因子Cq。在该情况下,AHDCS一般可以由动态等式定义:
(4)
其中I是单位矩阵(对应于C的零次幂)而q如前那样等于或者大于二(q≥2)。另外,在二进制情况下,aq可以是逻辑零或者逻辑一(在一般情况下为任何数)。换而言之,映射规则可以基于伴随矩阵C的i次幂的加权和,其中存在具有幂i≥2的至少一项。换而言之,映射规则可以基于伴随矩阵C的二次或者更多次幂q与伴随矩阵C的不同幂的加权和,伴随矩阵C的不同幂包括零。
另外,在一些实施例中,伴随矩阵C的幂q可以是可变的(不恒定)。由此,伴随矩阵C的幂q可以是k的函数(Cq(k)),例如在已用伴随矩阵C的一次幂处理第一子数目的有效载荷符号之后,编码器106可以切换至用于对第二子数目的有效载荷符号编码的伴随矩阵的二次幂,以此类推。换而言之,映射规则Cq(k)可以基于用于第一子数目的有效载荷符号的伴随矩阵C的二次或者更多次幂以及用于第二子数目的有效载荷符号的伴随矩阵C的不同幂(或者由它们定义),其中与有效载荷符号的第二子数目相加的有效载荷符号的第一子数目产生有效载荷符号数目或者小于有效载荷符号数目。
此外,可以组合两个上文提到的实施例。由此,等式(4)中的所有幂和/或系数可以是k的函数,例如在已处理第一子数目的有效载荷符号之后,编码器106可以将伴随矩阵C的q次幂与映射规则的加权和相加。
另外,AHDCS代码的硬件实施通常需要比提供具有相同宽度h的奇偶符号的常规并行CRC代码少的面积。
图3示出了根据另一实施例的用于为具有数目为m的有效载荷符号的有效载荷104生成校验和102的装置100的框图。装置100包括组合器140、映射器142和寄存器144。
在一些实施例中,如图1中所示的用于为具有某一数目的有效载荷符号的有效载荷104生成校验和102的装置100的编码器106可以包括如下文描述的组合器140、映射器142和寄存器144。
组合器140被配置成组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0以获得组合的符号。
映射器142被配置成使用映射规则Cq来映射组合的符号以获得当前编码符号,其中映射规则Cq基于线性反馈移位寄存器的特征多项式p(x)的伴随矩阵C的二次或者更多次幂q(q≥2)(或者由其定义)。
寄存器144被配置成存储当前编码符号sk并且输出当前编码符号sk。可以在对下一有效载荷符号ak+1编码之时在下一编码步骤中使用寄存器144中存储的当前编码符号Sk。此外,当数目为m的有效载荷符号由编码器106处理时(当k=m时),换而言之,当处理有效载荷的所有有效载荷符号时,可以输出当前编码符号sk作为校验和sm(奇偶符号)。
在一些实施例中,组合器140被配置成使用线性组合来组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0。另外,组合器140可以包括用于组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0的XOR或者XNOR门。
另外,如已经提到的那样,当前有效载荷符号ak和先前编码符号Sk-1或者初始化符号S0可以包括多个符号单位(或者位)。由此,组合器140可以被配置成按单位(或者按位)组合当前有效载荷符号ak与先前编码符号Sk-1或者初始化符号S0。
在一些实施例中,映射器142被配置成使用映射规则Cq来映射组合的符号以获得当前编码符号。映射规则Cq基于伴随矩阵C的二次或者更多次幂q(例如C2、C3、C4、C5等)(或者由其定义),其中伴随矩阵C由线性反馈移位寄存器的特征多项式p(x)定义。线性反馈移位寄存器的特征多项式p(x)可以包括本原多项式g(x)或者与一次多项式(比如x+1)相乘的本原多项式g(x)。另外,在一些实施例中,编码器106可以被配置成使用伴随矩阵C的幂q,幂q在符号单位(或者位)上对应于当前编码符号的长度h或者更大(q>h)。
在一些实施例中,初始值S0可以加载到h位寄存器144中。对于每个新(有效载荷)符号ak,寄存器144中存储的sk值被读取并且使用XOR门与(有效载荷)符号ak链接,对其应用线性映射Cq并且将结果加载(或者写入)回到寄存器144中。
如已经提到的那样,在一些实施例中,当前有效载荷符号ak和先前编码符号sk-1可以包括某一数目的符号单位(或者位)。在该情况下,装置100可以具有第一并行总线150、第二并行总线152、按单位并行组合器140、第三并行总线154、具有并行输入和并行输出的映射器142、第四并行总线156、具有并行输入和并行输出的寄存器144、第五并行总线158以及支路160。
在图3中,示例性地选择符号单位(或者位)数目为16。下文描述自然地也适用于具有不同数目的符号单位(例如2、4、8、16、32、64或者128或者甚至1024)的实施例。
第一并行总线150可以具有与用于输送当前有效载荷符号ak的符号单位(或者位)的数目相等的多个个别线路。第二并行总线152可以具有与用于输送先前编码符号sk-1或者初始化符号S0的符号单位(或者位置)的数目相等的多个个别线路。
按单位(按位)并行组合器140被配置成按单位(按位)组合当前有效载荷符号ak与先前编码符号sk-1或者初始化符号S0以获得组合的符号,其中组合的符号具有相同数目的符号单位(或者位)。
第三并行总线154可以具有与用于输送组合的符号的符号单位(或者)位的数目相等的多个个别线路。
映射器142具有用于组合的符号的并行输入、用于当前编码符号sk的并行输出和耦合于并行输入与并行输出之间的多个XOR或者XNOR门。由此,多个XOR或者XNOR门相互耦合,使得在并行输入处的组合符号根据映射规则Cq映射到在并行输出处的当前编码符号sk,其中当前编码符号具有相同数目的符号单位(或者位)。
第四并行总线156可以具有与用于输送当前编码符号sk的符号单位或者(位)的数目相等的多个个别线路。
寄存器144具有并行输入和并行输出并且可以被配置成存储当前编码符号sk并且输出当前编码符号sk。
第五并行总线158可以具有与用于输送当前编码符号sk的符号单位(或者位)的数目相等的多个个别线路。支路160被配置成并行耦合第五并行总线158和第二并行总线152。
图4示出了根据一个实施例的具有并行输入162和并行输出164的映射器142的框图。映射器142包括耦合于并行输入162与并行输出164之间的多个XOR或者XNOR门,其中多个XOR或者XNOR门相互耦合,使得在输入162处的组合符号根据映射规则Cq映射到在输出164处的当前编码符号sk。在图4中,例如仅示出了XOR门。自然地可以使用XNOR门或者其组合而不是XOR门。
在一些实施例中,用于为具有某一数目的有效载荷符号的有效载荷104生成校验和102的装置100可以用于保护通过通信信道传输的消息或者换而言之用于检测和/或纠正可能在传输通信信道的消息之时出现的错误。由此,可以在编码器和/或解码器侧使用装置100。
另外,在一些实施例中,用于为具有某一数目的有效载荷符号的有效载荷104生成校验和102的装置100可以在微处理器中例如用于保护数据或者程序代码。由此,用于生成校验和的装置100进而可以用作编码器和解码器。备选地,用于生成校验和的装置100可以用作专用编码器或者解码器,其中两个装置100可以分别用于编码和解码。
另外实施例提供一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的方法。在第一步骤中,组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号。在第二步骤中,使用映射规则来映射组合的符号以获得当前编码符号。映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂(或者由其定义)。在第三步骤中,指示校验和是否对应于当前编码符号。在该数目的有效载荷符号由编码器处理时校验和对应于当前编码符号,该数目为一或者大于一。
在一些实施例中,线性组合用于组合当前有效载荷符号与先前编码符号或者初始化符号。另外,XOR或者XNOR运算可以用于组合当前有效载荷符号与先前编码符号或者初始化符号。此外,当前有效载荷符号和先前编码符号或者初始化符号可以包括某一数目的符号单位(或者位),其中按单位(或者按位)组合可以用于组合当前有效载荷符号与先前编码符号或者初始化符号。
另外,线性反馈移位寄存器的特征多项式可以包括本原多项式或者与一次多项式相乘的本原多项式。
在一些实施例中,当前编码符号具有多个符号单位(或者位)。此外,映射步骤(第二步骤)可以包括使用伴随矩阵的幂,该幂在符号单位(或者位)上对应于当前编码符号的长度或者更大。
另外,实施例提供一种计算机可读数字存储介质,该存储介质在其上存储了计算机程序,该计算机程序具有用于在计算机上运行时执行用于为具有某一数目的有效载荷符号的有效载荷生成校验和的方法的程序代码。在第一步骤中,组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号。在第二步骤中,使用映射规则来映射组合的符号以获得当前编码符号。映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂(或者由其定义)。在第三步骤中,指示校验和是否对应于当前编码符号。在该数目的有效载荷符号由编码器处理时校验和对应于当前编码符号,该数目为一或者大于一。
另外实施例提供一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置。用于生成的装置包括:用于组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号的装置;以及用于使用映射规则来映射组合的符号以获得当前编码符号的装置,其中映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂(或者由其定义)。在该数目的有效载荷符号由编码器处理时校验和对应于当前编码符号,该数目为一或者大于一。
虽然已在装置的背景中描述一些方面,但是清楚的是这些方面也代表对应方法的描述,其中块或者设备对应于(一个或多个)方法步骤或者(一个或多个)方法步骤的特征。类似地,在方法步骤的背景中描述的方面也代表对应装置的(一个或多个)对应块或者项或者特征的描述。一些或者所有方法步骤可以由(或者使用)硬件装置(诸如例如微处理器、可编程计算机或者电子电路)执行。在一些实施例中,最重要的方法步骤中的某一个或者多个可以由这样的装置执行。
根据某些实施要求,实施例可以用硬件或者用软件来实施。可以使用数字存储介质(例如软盘、DVD、蓝光盘、CD、ROM、PROM、EPROM、EEPROM或者闪存)来执行实施,该存储介质具有存储于其上的电子可读控制信号,这些信号与可编程计算机系统配合(或者能够与可编程计算机系统配合)使得执行相应方法。因此,数字存储介质可以是计算机可读的。
一些实施例包括一种具有电子可读控制信号的数据载体,这些信号能够与可编程计算机系统配合使得执行这里描述的方法之一。
一般而言,可以将实施例实施为一种具有程序代码的计算机程序产品,该程序代码操作用于在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储于机器可读载体上。
其它实施例包括存储于机器可读载体上的用于执行这里描述的方法之一的计算机程序。换而言之,计算机程序具有用于在计算机程序在计算机上运行时执行这里描述的方法之一的程序代码。
另外的实施例包括一种数据载体(或者数字存储介质或者计算机可读介质),该数据载体(或者数字存储介质或者计算机可读介质)具有记录于其上的用于执行这里描述的方法之一的计算机程序。数据载体、数字存储介质或者记录的介质通常为有形和/或非瞬态的。
另外的实施例包括一种数据流或者信号序列,该数据流或者信号序列代表用于执行这里描述的方法之一的计算机程序。数据流或者信号序列可以例如被配置成经由数据通信连接(例如经由因特网)来传送。
另外的实施例包括一种配置成或适于执行这里描述的方法之一的处理装置(例如计算机或者可编程逻辑器件)。
另外的实施例包括一种计算机,该计算机具有安装于其上的用于执行这里描述的方法之一的计算机程序。
另外的实施例包括一种装置或者系统,该装置或者系统被配置成向接收器(例如电子或者光学)传送用于执行这里描述的方法之一的计算机程序。接收器可以例如是计算机、移动设备、存储器设备等。该装置或者系统可以例如包括用于向接收器传送计算机程序的文件服务器。
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可以用来执行这里描述的方法的一些或者所有功能。在一些实施例中,现场可编程门阵列可以与微处理器配合以便执行这里描述的方法之一。一般而言,方法优选地由任何硬件装置执行。
比如“第一”、“第二”等的术语也用来描述各种元件、区域、段等并且也并非旨在于限制。相似术语在整个描述中指代相似要素。
如这里使用的那样,术语“具有”、“包含”、“包括”等是开放式术语,其指示存在记载的要素或者特征但是并未排除附加要素或者特征。除非上下文另有明示,冠词“一个/一种”和“该/所述”旨在于包括复数以及单数。
将理解,除非另有明示,这里描述的各种实施例的特征可以相互组合。
虽然这里已图示和描述具体实施例,但是本领域普通技术人员将理解,多种替代和/或等效实施可以替换示出和描述的具体实施例而未脱离本发明的范围。本申请旨在于覆盖这里讨论的具体实施例的任何适配或者变化。因此,旨在于本发明仅受权利要求及其等效物限制。
Claims (29)
1.一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置,所述装置包括:
编码器,用于对所述有效载荷编码,其中所述编码器被配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号并且使用映射规则来映射所述组合的符号以获得当前编码符号,所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;
其中配置所述装置使得所述校验和在所述数目的有效载荷符号由所述编码器处理时对应于所述当前编码符号,所述数目为一或者大于一。
2.根据权利要求1所述的装置,其中所述映射规则基于所述伴随矩阵的所述幂的加权和,并且其中存在具有大于或者等于二的幂的至少一项,也允许具有零次幂的项。
3.根据权利要求1所述的装置,其中所述映射规则基于用于第一子数目的有效载荷符号的所述伴随矩阵的二次或者更多次幂并且基于用于第二子数目的有效载荷符号的所述伴随矩阵的不同幂,并且其中与有效载荷符号的第二子数目相加的有效载荷符号的第一子数目产生有效载荷符号的数目或者小于有效载荷符号的数目。
4.根据权利要求1所述的装置,其中所述编码器被配置成使用线性组合来组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
5.根据权利要求1所述的装置,其中所述编码器包括配置成组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号的XOR或者XNOR门。
6.根据权利要求1所述的装置,其中所述当前有效载荷符号和所述先前编码符号或者所述初始化符号包括多个符号单位,并且其中所述编码器被配置成按单位组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
7.根据权利要求1所述的装置,其中所述线性反馈移位寄存器的所述特征多项式包括本原多项式或者与一次多项式相乘的本原多项式。
8.根据权利要求1所述的装置,其中所述当前编码符号包括多个符号单位,并且其中所述编码器被配置成使用所述伴随矩阵的幂,所述幂在符号单位上对应于所述当前编码符号的长度或者更大。
9.根据权利要求1所述的装置,其中所述编码器包括电路,所述电路具有用于所述组合的符号的输入、用于所述当前编码符号的输出和耦合于所述输入与所述输出之间的多个XOR或者XNOR门,其中所述多个XOR或者XNOR门相互耦合,使得在所述输入处的所述组合的符号根据所述映射规则映射到在所述输出处的所述当前编码符号。
10.根据权利要求1所述的装置,还包括配置成存储所述当前编码符号并且输出所述当前编码符号的寄存器。
11.一种用于为具有不同数目的有效载荷符号的不同有效载荷生成校验和的校验和处理器,所述校验和处理器包括:
第一储存器,配置成存储具有第一数目的有效载荷符号的第一有效载荷;
第二储存器,配置成存储具有第二数目的有效载荷符号的第二有效载荷,有效载荷符号的第二数目大于有效载荷符号的第一数目;
用于生成校验和的装置,所述装置包括:
输入;
选择器,配置成将所述第一储存器或者所述第二储存器耦合到所述输入;以及
编码器,配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号并且使用映射规则来映射所述组合的符号以获得当前编码符号,所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;并且
其中所述装置被配置成在所述第一储存器耦合到所述装置的所述输入并且处理所述第一数目的有效载荷符号时输出用于所述第一有效载荷的校验和,而在所述第二储存器耦合到所述装置的所述输入并且处理所述第二数目的有效载荷符号时输出用于所述第二有效载荷的校验和。
12.一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置,所述装置包括:
组合器,配置成组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号;
映射器,配置成使用映射规则来映射所述组合的符号以获得当前编码符号,其中所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;以及
寄存器,配置成存储所述当前编码符号并且输出所述当前编码符号。
13.根据权利要求12所述的装置,其中所述映射规则基于用于第一子数目的有效载荷符号的所述伴随矩阵的二次或者更多次幂并且基于用于第二子数目的有效载荷符号的所述伴随矩阵的不同幂,并且其中与有效载荷符号的第二子数目相加的有效载荷符号的第一子数目产生有效载荷符号的数目或者小于有效载荷符号的数目。
14.根据权利要求12所述的装置,其中所述组合器被配置成使用线性组合来组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
15.根据权利要求12所述的装置,其中所述组合器包括配置成组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号的XOR或者XNOR门。
16.根据权利要求12所述的装置,其中所述当前有效载荷符号和所述先前编码符号或者所述初始化符号包括多个符号单位,并且其中所述组合器被配置成按单位组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
17.根据权利要求12所述的装置,其中所述线性反馈移位寄存器的所述特征多项式包括本原多项式或者与一次多项式相乘的本原多项式。
18.根据权利要求12所述的装置,其中所述当前编码符号包括多个符号单位,并且其中所述映射器被配置成使用所述伴随矩阵的幂,所述幂在符号单位上对应于所述当前编码符号的长度或者更大。
19.根据权利要求12所述的装置,其中所述映射器包括用于所述组合的符号的输入、用于所述当前编码符号的输出和耦合于所述输入与所述输出之间的多个XOR或者XNOR门,其中所述多个XOR或者XNOR门相互耦合,使得在所述输入处的所述组合的符号根据所述映射规则映射到在所述输出处的所述当前编码符号。
20.根据权利要求12所述的装置,其中所述当前有效载荷符号和所述先前编码符号包括某一数目的符号单位,并且其中所述编码器包括:
第一并行总线,具有与用于输送所述当前有效载荷符号的符号单位的数目相等的多个个别线路;
第二并行总线,具有与用于输送所述先前编码符号或者所述初始化符号的符号单位的数目相等的多个个别线路;
按单位并行组合器,配置成组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号以获得所述组合的符号,其中所述组合的符号包括所述数目的符号单位;
第三并行总线,具有与用于输送所述组合的符号的符号单位的数目相等的多个个别线路;
映射器,具有用于所述组合的符号的并行输入、用于所述当前编码符号的并行输出和耦合于所述并行输入与所述并行输出之间的多个XOR或者XNOR门,其中所述多个XOR或者XNOR门相互耦合,使得在所述并行输入处的所述组合的符号根据所述映射规则映射到在所述并行输出处的所述当前编码符号,其中所述当前编码符号包括所述数目的符号单位;
第四并行总线,具有与用于输送所述当前编码符号的符号单位的数目相等的多个个别线路;
并行寄存器,配置成存储所述当前编码符号并且输出所述当前编码符号;
第五并行总线,具有与用于输送所述当前编码符号的符号单位的数目相等的多个个别线路;以及
支路,配置成并行耦合所述第五并行总线和所述第二并行总线。
21.一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的装置,所述装置包括:
用于组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号的构件;
用于使用映射规则来映射所述组合的符号以获得当前编码符号的构件,所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;并且
其中所述校验和在所述数目的有效载荷符号由所述编码器处理时对应于所述当前编码符号,所述数目为一或者大于一。
22.一种用于为具有某一数目的有效载荷符号的有效载荷生成校验和的方法,所述方法包括:
组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号;
使用映射规则来映射所述组合的符号以获得当前编码符号,所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;并且
指示所述校验和是否在所述数目的有效载荷符号由所述编码器处理时对应于所述当前编码符号,所述数目为一或者大于一。
23.根据权利要求22所述的方法,其中所述映射规则基于用于第一子数目的有效载荷符号的所述伴随矩阵的二次或者更多次幂并且基于用于第二子数目的有效载荷符号的所述伴随矩阵的不同幂,并且其中与有效载荷符号的第二子数目相加的有效载荷符号的第一子数目产生有效载荷符号的数目或者小于有效载荷符号的数目。
24.根据权利要求22所述的方法,其中组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号以获得所述组合的符号包括将线性组合用于组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
25.根据权利要求22所述的方法,其中组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号以获得所述组合的符号包括将XOR或者XNOR运算用于组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
26.根据权利要求22所述的方法,其中所述当前有效载荷符号和所述先前编码符号或者所述初始化符号包括某一数目的符号单位,并且其中组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号以获得所述组合的符号包括按单位组合所述当前有效载荷符号与所述先前编码符号或者所述初始化符号。
27.根据权利要求22所述的方法,其中所述线性反馈移位寄存器的所述特征多项式包括本原多项式或者与一次多项式相乘的本原多项式。
28.根据权利要求22所述的方法,其中所述当前编码符号包括多个符号单位,并且其中使用所述映射规则来映射所述组合的符号以获得所述当前编码符号包括使用所述伴随矩阵的幂,所述幂在符号单位上对应于所述当前编码符号的长度或者更大。
29.一种计算机可读数字存储介质,具有存储于其上的计算机程序,所述计算机程序具有用于在计算机上运行时执行用于为具有某一数目的有效载荷符号的有效载荷生成校验和的方法的程序代码,所述方法包括:
组合当前有效载荷符号与先前编码符号或者初始化符号以获得组合的符号;
使用映射规则来映射所述组合的符号以获得当前编码符号,所述映射规则基于线性反馈移位寄存器的特征多项式的伴随矩阵的二次或者更多次幂;并且
指示所述校验和是否在所述数目的有效载荷符号由所述编码器处理时对应于所述当前编码符号,所述数目为一或者大于一。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/115,382 US8612842B2 (en) | 2011-05-25 | 2011-05-25 | Apparatus for generating a checksum |
US13/115382 | 2011-05-25 | ||
US13/115,382 | 2011-05-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799495A true CN102799495A (zh) | 2012-11-28 |
CN102799495B CN102799495B (zh) | 2015-09-23 |
Family
ID=47198609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210165500.1A Active CN102799495B (zh) | 2011-05-25 | 2012-05-25 | 用于生成校验和的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8612842B2 (zh) |
CN (1) | CN102799495B (zh) |
DE (1) | DE102012208711B4 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512555A (zh) * | 2018-03-13 | 2018-09-07 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN112073148A (zh) * | 2019-06-10 | 2020-12-11 | 慧与发展有限责任合伙企业 | 快速循环冗余校验码生成 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656260B1 (en) * | 2011-07-29 | 2014-02-18 | Xilinx, Inc. | Methods and circuits for processing a data block by frames |
US9639416B1 (en) * | 2012-11-18 | 2017-05-02 | Altera Corporation | CRC circuits with extended cycles |
US20150363263A1 (en) * | 2014-06-12 | 2015-12-17 | HGST Netherlands B.V. | ECC Encoder Using Partial-Parity Feedback |
DE102015217724A1 (de) * | 2015-09-16 | 2017-03-16 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erstellen einer asymmetrischen Prüfsumme |
LU92881B1 (en) * | 2015-11-18 | 2017-06-21 | Technische Univ Hamburg Harburg | Methods for encoding and decoding a binary string and System therefore |
EP3683679A1 (en) * | 2019-01-15 | 2020-07-22 | ARM Limited | Checksum generation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771429A (en) * | 1986-09-18 | 1988-09-13 | Abbott Laboratories | Circuit combining functions of cyclic redundancy check code and pseudo-random number generators |
US5056089A (en) * | 1988-02-08 | 1991-10-08 | Mitsubishi Denki Kabushiki Kaisha | Memory device |
CN101147354A (zh) * | 2005-03-01 | 2008-03-19 | Nxp股份有限公司 | 生成消息认证码的生成器、生成消息认证码的方法、程序代码以及计算机可读介质 |
CN101427495A (zh) * | 2006-02-21 | 2009-05-06 | 数字方敦股份有限公司 | 用于通信系统的基于多域的码生成器的解码器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192498B1 (en) * | 1997-10-01 | 2001-02-20 | Globepan, Inc. | System and method for generating error checking data in a communications system |
US6560727B1 (en) * | 1999-10-21 | 2003-05-06 | Sandia Corporation | Bit error rate tester using fast parallel generation of linear recurring sequences |
US7000031B2 (en) * | 2000-04-07 | 2006-02-14 | Broadcom Corporation | Method of providing synchronous transport of packets between asynchronous network nodes in a frame-based communications network |
US7000177B1 (en) | 2000-06-28 | 2006-02-14 | Marvell International Ltd. | Parity check matrix and method of forming thereof |
AU2003267753A1 (en) | 2002-10-23 | 2004-05-13 | Koninklijke Philips Electronics N.V. | Method and device for building a variable-length error code |
US7124351B2 (en) * | 2002-12-04 | 2006-10-17 | Stmicroelectronics Asia Pacific Pte. Ltd. | Software instructions utilizing a hardwired circuit |
US7500174B2 (en) | 2005-05-23 | 2009-03-03 | Microsoft Corporation | Encoding and application of extended hamming checksum |
US7761776B1 (en) | 2005-11-03 | 2010-07-20 | Xilinx, Inc. | Method and apparatus for a modular, programmable cyclic redundancy check design |
US7962837B2 (en) | 2007-09-13 | 2011-06-14 | United Memories, Inc. | Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix |
US8397147B2 (en) * | 2007-11-02 | 2013-03-12 | Telefonaktiebolaget L M Ericsson (Publ) | Optimum distance spectrum feedforward low rate tail-biting convolutional codes |
US8464141B2 (en) * | 2008-08-13 | 2013-06-11 | Infineon Technologies Ag | Programmable error correction capability for BCH codes |
-
2011
- 2011-05-25 US US13/115,382 patent/US8612842B2/en active Active
-
2012
- 2012-05-24 DE DE102012208711.7A patent/DE102012208711B4/de active Active
- 2012-05-25 CN CN201210165500.1A patent/CN102799495B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771429A (en) * | 1986-09-18 | 1988-09-13 | Abbott Laboratories | Circuit combining functions of cyclic redundancy check code and pseudo-random number generators |
US5056089A (en) * | 1988-02-08 | 1991-10-08 | Mitsubishi Denki Kabushiki Kaisha | Memory device |
CN101147354A (zh) * | 2005-03-01 | 2008-03-19 | Nxp股份有限公司 | 生成消息认证码的生成器、生成消息认证码的方法、程序代码以及计算机可读介质 |
CN101427495A (zh) * | 2006-02-21 | 2009-05-06 | 数字方敦股份有限公司 | 用于通信系统的基于多域的码生成器的解码器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512555A (zh) * | 2018-03-13 | 2018-09-07 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN108512555B (zh) * | 2018-03-13 | 2021-09-24 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN112073148A (zh) * | 2019-06-10 | 2020-12-11 | 慧与发展有限责任合伙企业 | 快速循环冗余校验码生成 |
Also Published As
Publication number | Publication date |
---|---|
US20120304041A1 (en) | 2012-11-29 |
CN102799495B (zh) | 2015-09-23 |
DE102012208711B4 (de) | 2017-08-31 |
US8612842B2 (en) | 2013-12-17 |
DE102012208711A1 (de) | 2012-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799495B (zh) | 用于生成校验和的装置 | |
US10505728B2 (en) | Physically unclonable function circuits and methods of performing key enrollment in physically unclonable function circuits | |
CN101876947B (zh) | 用于存储数据的方法及其系统 | |
CN104521177A (zh) | 使用单次注册用于基于存储器的puf的软判决误差校正 | |
US8769373B2 (en) | Method of identifying and protecting the integrity of a set of source data | |
CN103370879A (zh) | 使用共模抑制和sso恢复的功率和引脚高效的芯片到芯片通信 | |
Wang et al. | Reliable MLC NAND flash memories based on nonlinear t-error-correcting codes | |
CN102017425A (zh) | 用于执行级联纠错的方法和系统 | |
US20160012255A1 (en) | Method for encoding data on a chip card by means of constant-weight codes | |
CN104393878A (zh) | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 | |
CN102751995A (zh) | 一种基于fpga的抗多位错误翻转rs码检错纠错系统 | |
CN106533452B (zh) | 一种多进制ldpc编码方法及编码器 | |
Wang et al. | Reliable and secure memories based on algebraic manipulation correction codes | |
CN101848001B (zh) | Flash控制器中BCH编译码的数据长度扩展方法 | |
CN103151078B (zh) | 一种存储器检错纠错码生成方法 | |
CN103401566A (zh) | 参数化的bch纠错码的并行编码方法及装置 | |
Kim et al. | Hamming product code with iterative process for NAND flash memory controller | |
Cardell et al. | A construction of MDS array codes | |
CN202856718U (zh) | 一种基于fpga的抗多位错误翻转rs码检错纠错系统 | |
Faraj | ’Design Error Detection and Correction System based on Reed_Muller Matrix for Memory Protection’ | |
Indu et al. | Cyclic redundancy check generation using multiple lookup table algorithms | |
Bu et al. | Design of reliable storage and compute systems with lightweight group testing based non‐binary error correction codes | |
US10623018B2 (en) | Method of arrangement of an algorithm in cyclic redundancy check | |
Mathew et al. | Matrix code based error correction for LUT based cyclic redundancy check | |
Hole et al. | Encryption and Decryption of Data Using QR Authentication System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |