CN107534450A - 矩阵应用装置、矩阵应用方法、以及程序 - Google Patents
矩阵应用装置、矩阵应用方法、以及程序 Download PDFInfo
- Publication number
- CN107534450A CN107534450A CN201680027025.8A CN201680027025A CN107534450A CN 107534450 A CN107534450 A CN 107534450A CN 201680027025 A CN201680027025 A CN 201680027025A CN 107534450 A CN107534450 A CN 107534450A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- mrow
- matrix
- vector
- value
- 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
- 239000011159 matrix material Substances 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims description 35
- 239000013598 vector Substances 0.000 claims abstract description 63
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/158—Finite field arithmetic processing
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
降低域乘法运算的处理量。矩阵应用装置(1)对向量a和矩阵A进行乘法运算而计算向量b,其中,a是将a0,…,ak‑1∈GF(xq)作为元素的k维向量,b是将b0,…,bm‑1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵。多项式乘法运算单元(12)计算值bi。次数削减单元(13)使用将值bi的q次以上的部分除以Xq得到的多项式hi、以及值bi的小于q次的部分即多项式gi,将gi‑hif'设为值bi。
Description
技术领域
本发明涉及编码技术,特别涉及高效地进行编码处理的技术。
背景技术
在现有的纠错码技术中存在里德所罗门码(Reed-Solomon Codes)。里德所罗门码例如被记载在非专利文献1中。
纠错码的编码处理作为对明文的输入向量a乘以线性变换(即矩阵)A而得到输出向量b的处理,能够由式(1)表示。即,矩阵A的第i行表示为了生成输出向量b的第i个元素bi而与输入向量a的各元素相乘的系数。
b=Aa…(1)
纠错码的解码处理也能够看作线性变换。将A'、b'设为A、b中仅提取了与用于解码的k个元素相对应的行的矩阵或者向量,能够由式(2)表示。
b’=A’a…(2)
因此,若矩阵A存在逆矩阵,则能够通过式(3)进行解码。
a=A’-1b’…(3)
在纠错码的编码中,假设输入向量a是由式(4)表示的k维向量。其中,k是2以上的整数。
【数学式1】
假设输出向量b是由式(5)表示的n维的向量。其中,n是2以上的整数,n≧2k-1。
【数学式2】
矩阵A是由式(6)表示的将k行k列的单位矩阵和m行k列的范特蒙德矩阵(Vandermonde matrix)在纵向上连结的矩阵。其中,m=n-k。所谓范特蒙德矩阵,是行或列的矩阵元素中等比数列的各项依次排列的特殊结构的矩阵。
【数学式3】
其中,i∈{0,...,n-1},j∈{0,...,k-1}
即,矩阵A是式(7)那样的n行k列的矩阵。
【数学式4】
矩阵A至第k行为止是单位矩阵,所以输出向量b的至第k个为止的元素b0,…,bk-1与输入向量a的元素a0,…,ak-1一致。将输出向量b中与输入向量a的元素一致的元素称为数据份额(data share),将除此以外的元素称为奇偶校验份额(parity share)。
现有技术文献
非专利文献
非专利文献1:バァナード·スカラー著、「ディジタル通信基本と応用」、ピアソン·エデュケーション、2006年
发明内容
发明要解决的课题
现有的纠错码技术存在处理量大这一课题。尤其是编码处理中进行的域乘法运算的处理量大。
本发明的目的在于,鉴于上述要点,提供能够降低编码技术中的域乘法运算的处理量的矩阵应用技术。
用于解决课题的方案
为了解决上述课题,本发明的第一方式的矩阵应用装置是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用装置,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,(m-1)(k-1)≦q-d,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,该矩阵应用装置包含:多项式乘法运算单元,对i∈{0,…,m-1},通过下式计算值bi;以及
【数学式5】
次数削减单元,对i∈{0,…,m-1},使用将值bi的q次以上的部分除以Xq得到的多项式hi、以及值bi的小于q次的部分即多项式gi,将gi-hif'设为上述值bi。
本发明的第二方式的矩阵应用装置是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用装置,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,α是q-d以下的正整数,该矩阵应用装置包含:向量复制单元,对j∈{0,…,k-1},设a'j=aj,dj=0;多项式乘法运算单元,对i∈{0,…,m-1},通过下式计算值bi;
【数学式6】
次数削减单元,对i∈{0,…,m-1},使用将值bi的q次以上的部分除以Xq得到的多项式hi、以及值bi的小于q次的部分即多项式gi,将gi-hif'设为值bi;以及向量更新单元,对i∈{0,…,m-1},j∈{0,…,k-1},若i≠m-1、且(i+1)j-d≧q-d,则更新为a'j:=a'jxα,dj:=dj+α。
发明效果
根据本发明,能够降低编码技术中的域乘法运算的处理量。
附图说明
图1是例示第一实施方式的矩阵应用装置的功能构成的图。
图2是例示第一实施方式的矩阵应用方法的处理流程的图。
图3是例示第二实施方式的矩阵应用装置的功能构成的图。
图4是例示第二实施方式的矩阵应用方法的处理流程的图。
具体实施方式
先于实施方式的说明,说明本发明的原理。
作为前提,在以下的说明中,x是将不可约多项式设为f[X]=X64+X4+X3+X2+X+1的扩展域GF(264)的根X。若将x用整数表示则为2。
GF(264)是将多项式除以以mod 2整数为系数的64次多项式f[X](作为多项式的除法运算)得到的余数的集合。是域,且能够进行四则运算。也可以认为是具有特殊的运算的比特的64维向量。GF(264)能够用64比特整数表示,项xi用2i表示。例如,1+x+x3能够表示为20+21+23=11。
a,b∈GF(264)的乘法运算是将2个63次多项式a,b(式(8))相乘然后除以64次多项式f的操作(式(9))。此时,λ次项的系数为式(10)。
【数学式7】
在式(9)中,将126次多项式对f取模而设为63次多项式的处理称为约简(reduction)。约简使用式(11)的同值关系进行处理。
f=x64+x4+x3+x+1=0 mod f…(11)
对式(11)进行变形,如式(12)所示成为将64次项降为4次式的关系。
x64=x4+x3+x+1 mod f…(12)
如式(13)所示,64次以上的项也全部降60次次数。
x64+n=xn(x4+x3+x+1)mod f…(13)
能够使用63次多项式g和62次多项式h将126次多项式表示为式(14)那样。
g+x64h=g+(x4+x3+x+1)h mod f…(14)
某任意的元素a和x+1的乘法运算(x+1)a能够用式(15)表示。
【数学式8】
此外,xna中a的各项成为高n次的项,所以等价于整数表示的2n倍、或者n比特左移。因此,能够如式(16)那样表示。
【数学式9】
H是62次多项式,因此式(16)的
【数学式10】
是64次以上的多项式,需要再次降低次数。64次以上的部分如式(17)所示。
【数学式11】
若考虑在64比特整数内舍弃超过64比特的比特,则计算式(18)即可。
【数学式12】
乘法运算时,在单方为61比特以内时(更准确地说,在双方的比特数相加为125以下时)式(19)成立,所以能够高效地进行约简。
【数学式13】
因此,若包含约简而进行考量,则61比特数中仅1比特是1的数、即0≦i≦60的范围内的与2i的乘法运算是高速的。
在现有的纠错码中,使用范特蒙德矩阵生成奇偶校验份额。将k个输入设为a0,…,ak-1∈GF(xq),通过式(20)计算奇偶校验份额。其中,GF(xq)是通过不可约多项式f[X]生成且将扩展阶数(extension degree)设为q的扩展域。X是不可约多项式f[X]的元,f[X]=X。
【数学式14】
此时,在域是大小较大的扩展域时能够高效化。将不可约多项式f中的除最高次项以外的多项式设为f'。将多项式f'的最高次项的次数设为d。这样,在满足(m-1)(k-1)≦q-d时,乘法运算如以下那样变得比通常简单。
在i小于q时,xi=Xi。若将输入a设为式(21),则多项式乘法运算的结果为式(22)。
【数学式15】
这里,次数为q次以上,所以使用取对于f的剩余。即,若将aXi中的小于q次的部分设为g,将q次以上的部分除以Xq得到的多项式设为h,则表示为aXi≡g-hf'。在扩展域乘法运算中,通常,直至g-hf'为q-1次为止,反复进行这样的次数削减。此时若i为q-d以下,则aXi的次数最高为q-1+q-d≡2q-d-1,h的次数最高为q-d-1。f'是d次多项式,所以hf'的次数最高为q-1,1次即可完成次数削减。
以下,详细说明本发明的实施方式。再者,在附图中对具有相同的功能的构成部标注相同的标号,并省略重复说明。
[第一实施方式]
如图1例示的,第一实施方式的矩阵应用装置1包含向量输入单元10、矩阵生成单元11、多项式乘法运算单元12、次数削减单元13、以及向量输出单元14。该矩阵应用装置1通过进行图2所例示的各步骤的处理而实现第一实施方式的矩阵应用方法。
矩阵应用装置1例如是将特殊的程序读入具有中央运算处理装置(CPU:CentralProcessing Unit)、主存储装置(RAM:Random Access Memory)等的公知的或者专用的计算机而构成的特殊的装置。矩阵应用装置1例如基于中央运算处理装置的控制而执行各处理。输入到矩阵应用装置1的数据、在各处理所得到的数据例如被储存到主存储装置中,根据需要将储存在主存储装置中的数据向中央运算处理装置读出而用于其他处理。矩阵应用装置1的各处理单元也可以至少一部分由集成电路等硬件构成。
参照图2,说明第一实施方式的矩阵应用方法的处理手续。
在步骤S10中,向向量输入单元10输入将值a0,…,ak-1∈GF(xq)作为元素的k维向量a=(a0,…,ak-1)。向量a被传送到多项式乘法运算单元12。向量a由式(23)定义。
【数学式16】
在步骤S11中,矩阵生成单元11生成m行k列的范特蒙德矩阵A。这里,m、k设为(m-1)(k-1)≦q-d成立的值。矩阵A被传送到多项式乘法运算单元12。矩阵A由式(24)定义。
【数学式17】
Aij=x(i-k)j…(24)
其中,
i∈{0,...,m-1},j∈{0,...,k-1}
即,矩阵A是式(25)那样的m行k列的矩阵。
【数学式18】
在步骤S12中,多项式乘法运算单元12对i∈{0,…,m-1},通过式(26)计算值bi。值b0,…,bm-1被传送到次数削减单元13。
【数学式19】
在步骤S13中,次数削减单元13对i∈{0,…,m-1},生成将值bi的q次以上的部分除以Xq得到的多项式hi、以及值bi的小于q次的部分即多项式gi。使用该多项式hi和多项式gi,计算gi-hif',并更新值bi。被更新了的值b0,…,bm-1被传送到向量输出单元14。
对i∈{0,…,m-1}分别进行步骤S12和步骤S13的处理。由此计算值b0,…,bm-1。能够并行地进行对各i的处理。
在步骤S14中,向量输出单元14输出将值b0,…,bm-1作为元素的m维向量b=(b0,…,bm-1)。
在第一实施方式的矩阵应用方法中,(m-1)(k-1)≦q-d成立,所以在全部的域乘法运算中1次即可完成约简。因此,包含了约简的乘法运算的处理量降低。
[第二实施方式]
在第二实施方式中,进行扩展使得即使在不满足(m-1)(k-1)≦q-d的情况下也降低域乘法运算的处理量。
如图3例示的,第二实施方式的矩阵应用装置2和第一实施方式同样包含向量输入单元10、矩阵生成单元11、多项式乘法运算单元12、次数削减单元13、以及向量输出单元14,还包含向量复制单元15以及向量更新单元16。该矩阵应用装置2通过进行图4所例示的各步骤的处理而实现第二实施方式的矩阵应用方法。
参照图4,说明第二实施方式的矩阵应用方法的处理手续。以下,以与上述的第一实施方式的不同点为中心进行说明。
在步骤S15中,向量复制单元15对j∈{0,…,k-1},假设a'j=aj。此外,假设dj=0。向量a'=(a'0,…,a'k-1)以及值d0,…,dk-1被传送到多项式乘法运算单元12。
在步骤S11中,矩阵生成单元11生成m行k列的范特蒙德矩阵A。其中,与第一实施方式不同,m、k也可以不成立(m-1)(k-1)≦q-d。矩阵A被传送到多项式乘法运算单元12。
在步骤S12中,多项式乘法运算单元12对i∈{0,…,m-1},通过式(27)计算值bi。值b0,…,bm-1被传送到次数削减单元13。
【数学式20】
在步骤S16中,向量更新单元16对j∈{0,…,k-1},若i≠m-1、且(i+1)j-d≧q-d,则更新为a'j:=a'jxα,dj:=dj+α。这里,α是q-d以下的正整数。被更新了的向量a'=(a'0,…,a'k-1)以及值d0,…,dk-1被传送到多项式乘法运算单元12。
在第二实施方式中,处理量的削减不如第一实施方式,但是若向量更新单元16中的更新次数低(即、设定适当的α),则对于高速化是充分有效的。
[第三实施方式]
在上述的实施方式中,在扩展域的阶数是2的幂的情况下,加法运算简单地成为逻辑异或运算(XOR)。而且,多项式乘法运算(ajxij)由于X在整数表示形式下为2,所以简单地移位ij比特。因此,在用计算机进行处理时尤其高效。
本发明通过使范特蒙德矩阵中乘法运算的右侧ax的x固定于简单的范围从而更加有效。其原因在于,若多项式乘法运算中的ajXj中的哪怕1个项超过2q-d-1次则不能1次实现次数削减,此外,为了通过比特移位即完成xij的多项式乘法运算,需要范特蒙德矩阵的元素全部是x的幂。
不言而喻,本发明不限定于上述的实施方式,在不脱离本发明的宗旨的范围能够适当变更。上述实施方式中说明的各种处理不仅可以按照记载的顺序以时序予以执行,也可以根据执行处理的装置的处理能力或者根据需要并行地或者单独地予以执行。
[程序、记录介质]
在由计算机实现上述实施方式中说明的各装置的各种处理功能的情况下,各装置所应该具有的处理内容由程序记述。然后,通过由计算机执行该程序,在计算机上实现上述各装置中的各种处理功能。
记述了该处理内容的程序能够预先记载于计算机可读取的记录介质中。作为计算机可读取的记录介质,例如也可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任意的计算机可读取的记录介质。
此外,该程序的流通例如通过销售、转让、借贷记录了该程序的DVD、CD-ROM等移动式记录介质等进行。而且,也可以设为下述结构:预先将该程序储存在服务器计算机的存储装置中,经由网络从服务器计算机将该程序转发到其他计算机,从而使该程序流通。
执行这样的程序的计算机例如首先将记录在移动式记录介质中的程序或者从服务器计算机转发的程序暂时储存在自身的存储装置中。然后,在执行处理时,该计算机读取储存在自身的记录介质中的程序,执行遵循读取出的程序的处理。此外,作为该程序的其他执行方式,也可以是计算机从移动式记录介质直接读取程序,执行遵循该程序的处理,而且也可以在该计算机每当被从服务器计算机转发程序时依次执行遵循接收到的程序的处理。此外,也可以设为下述结构:从服务器计算机不进行向该计算机的程序的转发,通过仅通过其执行指示和结果获取而实现处理功能的、所谓ASP(Application Service Provider)型的服务,执行上述的处理。再者,假设本方式中的程序中包含有助于电子计算机所进行的处理之用的信息、且是相当于程序的准程序(不是对计算机的直接的指令,而是具有对计算机的处理进行规定的性质的数据等)。
此外,在本方式中,通过在计算机上执行规定的程序而构成本装置,但是这些处理内容的至少一部分也可以通过硬件方式实现。
Claims (5)
1.一种矩阵应用装置,是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用装置,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,(m-1)(k-1)≦q-d,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,所述矩阵应用装置包含:
多项式乘法运算单元,对i∈{0,…,m-1},通过下式而计算值bi;
【数学式21】
<mrow>
<msub>
<mi>b</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo><</mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>a</mi>
<mi>j</mi>
</msub>
<msup>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msup>
</mrow>
以及
次数削减单元,对i∈{0,…,m-1},使用将上述值bi的q次以上的部分除以Xq得到的多项式hi、以及上述值bi的小于q次的部分即多项式gi,将gi-hif'设为上述值bi。
2.一种矩阵应用装置,是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用装置,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,α是q-d以下的正整数,所述矩阵应用装置包含:
向量复制单元,对j∈{0,…,k-1},设a'j=aj,dj=0;
多项式乘法运算单元,对i∈{0,…,m-1},通过下式而计算值bi;
【数学式22】
<mrow>
<msub>
<mi>b</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo><</mo>
<mi>k</mi>
</mrow>
</munder>
<msubsup>
<mi>a</mi>
<mi>j</mi>
<mo>&prime;</mo>
</msubsup>
<msup>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mo>-</mo>
<msub>
<mi>d</mi>
<mi>j</mi>
</msub>
</mrow>
</msup>
</mrow>
次数削减单元,对i∈{0,…,m-1},使用将上述值bi的q次以上的部分除以Xq的多项式hi、以及上述值bi的小于q次的部分即多项式gi,将gi-hif'设为上述值bi;以及
向量更新单元,对i∈{0,…,m-1},j∈{0,…,k-1},若i≠m-1、且(i+1)j-d≧q-d,则更新为a'j:=a'jxα,dj:=dj+α。
3.一种矩阵应用方法,是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用方法,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,(m-1)(k-1)≦q-d,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,所述矩阵应用方法包含:
多项式乘法运算步骤,多项式乘法运算单元对i∈{0,…,m-1},通过下式而计算值bi;
【数学式23】
<mrow>
<msub>
<mi>b</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo><</mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>a</mi>
<mi>j</mi>
</msub>
<msup>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msup>
</mrow>
以及
次数削减步骤,次数削减单元对i∈{0,…,m-1},使用将上述值bi的q次以上的部分除以Xq得到的多项式hi、以及上述值bi的小于q次的部分即多项式gi,将gi-hif'设为上述值bi。
4.一种矩阵应用方法,是对向量a和矩阵A进行乘法运算而计算向量b的矩阵应用方法,其中,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,q是扩展域GF(xq)的扩展阶数,d是从不可约多项式f[X]中除最高次项以外的多项式f'的最高次项的次数,k是2以上的整数,m是1以上的整数,a是将a0,…,ak-1∈GF(xq)作为元素的k维向量,b是将b0,…,bm-1∈GF(xq)作为元素的m维向量,A是m行k列的范特蒙德矩阵,α是q-d以下的正整数,所述矩阵应用方法包含:
向量复制步骤,向量复制单元对j∈{0,…,k-1},设a'j=aj,dj=0;
多项式乘法运算步骤,多项式乘法运算单元对i∈{0,…,m-1},通过下式而计算值bi;
【数学式24】
<mrow>
<msub>
<mi>b</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo><</mo>
<mi>k</mi>
</mrow>
</munder>
<msubsup>
<mi>a</mi>
<mi>j</mi>
<mo>&prime;</mo>
</msubsup>
<msup>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mo>-</mo>
<msub>
<mi>d</mi>
<mi>j</mi>
</msub>
</mrow>
</msup>
</mrow>
次数削减步骤,次数削减单元对i∈{0,…,m-1},使用将上述值bi的q次以上的部分除以Xq得到的多项式hi、以及上述值bi的小于q次的部分即多项式gi,将gi-hif'设为上述值bi;以及
向量更新步骤,向量更新单元对i∈{0,…,m-1},j∈{0,…,k-1},若i≠m-1、且(i+1)j-d≧q-d,则更新为a'j:=a'jxα,dj:=dj+α。
5.一种程序,用于使计算机作为权利要求1或2所述的矩阵应用装置发挥功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015097277A JP5927323B1 (ja) | 2015-05-12 | 2015-05-12 | 行列作用装置、行列作用方法、およびプログラム |
JP2015-097277 | 2015-05-12 | ||
PCT/JP2016/063955 WO2016181978A1 (ja) | 2015-05-12 | 2016-05-11 | 行列作用装置、行列作用方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107534450A true CN107534450A (zh) | 2018-01-02 |
CN107534450B CN107534450B (zh) | 2021-03-02 |
Family
ID=56089772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680027025.8A Active CN107534450B (zh) | 2015-05-12 | 2016-05-11 | 矩阵应用装置、矩阵应用方法、以及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10120837B2 (zh) |
EP (1) | EP3297170B1 (zh) |
JP (1) | JP5927323B1 (zh) |
CN (1) | CN107534450B (zh) |
WO (1) | WO2016181978A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5918884B1 (ja) * | 2015-05-12 | 2016-05-18 | 日本電信電話株式会社 | 復号装置、復号方法、およびプログラム |
KR102252311B1 (ko) * | 2018-07-30 | 2021-05-14 | 부산대학교 산학협력단 | 저전력 디바이스 환경상에서 대용량 암호화 행렬 연산 최적화 처리 방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030055858A1 (en) * | 2001-05-08 | 2003-03-20 | International Business Machines Corporation | Processing galois field arithmetic |
US20040117718A1 (en) * | 2002-12-16 | 2004-06-17 | Microsoft Corporation | Systems and methods for providing improved encoding and reconstruction of data |
US20050138533A1 (en) * | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
JP2006033233A (ja) * | 2004-07-14 | 2006-02-02 | Sony Corp | リード・ソロモン復号方法及び装置 |
US20080063188A1 (en) * | 2006-09-12 | 2008-03-13 | Tamagawa K-12 & University | Encoding device for error correction, encoding method for error correction and encoding program for error correction |
CN101431340A (zh) * | 2008-12-12 | 2009-05-13 | 东南大学 | 一种里德-所罗门码的快速自适应置信度传播译码方法 |
CN101621299A (zh) * | 2008-07-04 | 2010-01-06 | 华为技术有限公司 | 一种突发纠错的方法、设备和装置 |
US20100061547A1 (en) * | 2006-03-22 | 2010-03-11 | Langendoerfer Peter | Method of and apparatus for the reduction of a polynomial in a binary finite field, in particular in the context of a cryptographic application |
US20110214038A1 (en) * | 2007-07-11 | 2011-09-01 | Ternarylogic Llc | Methods and Systems for Rapid Error Correction of Reed-Solomon Codes |
CN102801501A (zh) * | 2012-08-21 | 2012-11-28 | 中国电子科技集团公司第三十六研究所 | 一种bch缩短码的编码参数的识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6598201B1 (en) * | 1999-03-15 | 2003-07-22 | Texas Instruments Incorporated | Error coding structure and method |
US8732559B2 (en) * | 2006-07-25 | 2014-05-20 | Thomson Licensing | Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction |
-
2015
- 2015-05-12 JP JP2015097277A patent/JP5927323B1/ja active Active
-
2016
- 2016-05-11 US US15/567,812 patent/US10120837B2/en active Active
- 2016-05-11 WO PCT/JP2016/063955 patent/WO2016181978A1/ja active Application Filing
- 2016-05-11 EP EP16792703.7A patent/EP3297170B1/en active Active
- 2016-05-11 CN CN201680027025.8A patent/CN107534450B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030055858A1 (en) * | 2001-05-08 | 2003-03-20 | International Business Machines Corporation | Processing galois field arithmetic |
US20040117718A1 (en) * | 2002-12-16 | 2004-06-17 | Microsoft Corporation | Systems and methods for providing improved encoding and reconstruction of data |
US20050138533A1 (en) * | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
JP2006033233A (ja) * | 2004-07-14 | 2006-02-02 | Sony Corp | リード・ソロモン復号方法及び装置 |
US20100061547A1 (en) * | 2006-03-22 | 2010-03-11 | Langendoerfer Peter | Method of and apparatus for the reduction of a polynomial in a binary finite field, in particular in the context of a cryptographic application |
US20080063188A1 (en) * | 2006-09-12 | 2008-03-13 | Tamagawa K-12 & University | Encoding device for error correction, encoding method for error correction and encoding program for error correction |
US20110214038A1 (en) * | 2007-07-11 | 2011-09-01 | Ternarylogic Llc | Methods and Systems for Rapid Error Correction of Reed-Solomon Codes |
CN101621299A (zh) * | 2008-07-04 | 2010-01-06 | 华为技术有限公司 | 一种突发纠错的方法、设备和装置 |
CN101431340A (zh) * | 2008-12-12 | 2009-05-13 | 东南大学 | 一种里德-所罗门码的快速自适应置信度传播译码方法 |
CN102801501A (zh) * | 2012-08-21 | 2012-11-28 | 中国电子科技集团公司第三十六研究所 | 一种bch缩短码的编码参数的识别方法 |
Non-Patent Citations (4)
Title |
---|
ALI A. AL-SHAIKHI等: "Packet Oriented Error Correcting Codes Using Vandermonde Matrices and Shift Operators", 《2008 IEEE WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE》 * |
L. SONG等: "Efficient finite field serial/parallel multiplication", 《APPLICATION SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS》 * |
M.M.MOHADES等: "A Reed-Solomon Code Based Measurement Matrix with Small Coherence", 《IEEE SIGNAL PROCESSING LETTERS》 * |
陈刚等: "基于Reed-Solomon算法的DataMatrix条码纠错码的研究", 《现代电子技术》 * |
Also Published As
Publication number | Publication date |
---|---|
US10120837B2 (en) | 2018-11-06 |
JP2016213731A (ja) | 2016-12-15 |
EP3297170B1 (en) | 2022-03-02 |
EP3297170A4 (en) | 2018-12-26 |
US20180107629A1 (en) | 2018-04-19 |
WO2016181978A1 (ja) | 2016-11-17 |
CN107534450B (zh) | 2021-03-02 |
EP3297170A1 (en) | 2018-03-21 |
JP5927323B1 (ja) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5957120B1 (ja) | 秘密分散方法、秘密分散システム、分散装置、およびプログラム | |
Hou et al. | BASIC codes: Low-complexity regenerating codes for distributed storage systems | |
CN101273532B (zh) | 解码装置及接收装置 | |
US9928037B2 (en) | Modulo calculation using polynomials | |
US8261176B2 (en) | Polynomial division | |
CN107534449B (zh) | 解码装置、解码方法、及程序 | |
EP3202045A1 (en) | Method and device for calculating a crc code in parallel | |
Massolino et al. | Optimized and scalable co-processor for McEliece with binary Goppa codes | |
Tang et al. | Fast en/decoding of Reed-Solomon codes for failure recovery | |
CN107534450B (zh) | 矩阵应用装置、矩阵应用方法、以及存储介质 | |
JP5269936B2 (ja) | 符号化器及び記憶装置 | |
KR101923116B1 (ko) | 분산 저장 시스템에서 부분접속 복구 부호를 이용하는 부호화/복호화 장치 및 방법 | |
Pinero et al. | On the subfield subcodes of Hermitian codes | |
JP4663421B2 (ja) | 離散対数演算装置、方法及びプログラム | |
JP5840086B2 (ja) | 縮約装置、縮約方法、およびプログラム | |
Raviv | Asymptotically optimal regenerating codes over any field | |
Wang | Decoding generalized Reed-Solomon codes and its application to RLCE encryption schemes | |
Hurley | Linear complementary dual, maximum distance separable codes | |
Ansari et al. | An association between primitive and non-primitive BCH codes using monoid rings | |
CN107846272B (zh) | 一种Golden序列的快速生成装置及方法 | |
Pan | Univariate polynomial root-finding by arming with constraints | |
Repka | Note on Modular Reduction in Extended Finite Fields and Polynomial Rings for Simple Hardware | |
Srivastava et al. | Efficient VLSI architecture for interpolation decoding of Hermitian codes | |
Chowdhury | Application of Computer Algebra in List Decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |