CN107534449B - 解码装置、解码方法、及程序 - Google Patents

解码装置、解码方法、及程序 Download PDF

Info

Publication number
CN107534449B
CN107534449B CN201680026019.0A CN201680026019A CN107534449B CN 107534449 B CN107534449 B CN 107534449B CN 201680026019 A CN201680026019 A CN 201680026019A CN 107534449 B CN107534449 B CN 107534449B
Authority
CN
China
Prior art keywords
vector
matrix
elements
inverse matrix
unit
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.)
Active
Application number
CN201680026019.0A
Other languages
English (en)
Other versions
CN107534449A (zh
Inventor
五十岚大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN107534449A publication Critical patent/CN107534449A/zh
Application granted granted Critical
Publication of CN107534449B publication Critical patent/CN107534449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/158Finite field arithmetic processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Peptides Or Proteins (AREA)

Abstract

降低域相乘的处理量。a是以a0,…,ak‑1∈GF(xq)为元素的k次向量。A是将单位矩阵和范特蒙德矩阵纵向连结的n行k列的矩阵。b是以b0,…,bn‑1∈GF(xq)为元素且将向量a和矩阵A相乘所得的n次向量。向量变换单元(11)使用向量b的
Figure DDA0001456750630000011
个元素
Figure DDA0001456750630000014
而生成
Figure DDA0001456750630000015
次向量b'。逆矩阵生成单元(12)生成
Figure DDA0001456750630000012
Figure DDA0001456750630000013
列的逆矩阵A'‑1。明文计算单元(13)通过将向量b'和逆矩阵A'‑1相乘而计算向量a的元素
Figure DDA0001456750630000016

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以上的整数。
Figure BDA0001456750610000011
输出向量b为式(5)表示的n次的向量。其中,n是2以上的整数,且 n≧2k-1。
Figure BDA0001456750610000012
矩阵A是将式(6)表示的k行k列的单位矩阵和m行k列的范特蒙德 矩阵(Vandermonde matrix)纵向连结的矩阵。其中,m=n-k。范特蒙德矩阵 是在行或列的矩阵元素中按顺序排列等比数列的各项的特别结构的矩阵。
Figure BDA0001456750610000021
其中,
i∈{0,...,n-1},j∈{0,...,k-1}
即,矩阵A是式(7)那种n行k列的矩阵。
Figure BDA0001456750610000022
矩阵A中至第k行为单位矩阵,因此,输出向量b的至第k号的元素b0,…, bk-1与输入向量a的元素a0,…,ak-1一致。在输出向量b中,将与输入向量a 的元素一致的元素称作数据共享,将其以外的元素称作奇偶共享。
现有技术文献
专利文献
非特許文献1:バァナード·スカラー著、“ディジタル通信基本和応 用”、ピアソン·エデュケーション、2006年
发明所要解决的课题
在现有的纠错码技术中,存在处理量大的课题。特别是,在解码处理中 进行的域相乘的处理量大。
发明内容
本发明的目的在于,鉴于这样的方面,提供一种能够降低编码技术中的 域相乘的处理量的解码技术。
用于解决课题的技术方案
为了解决所述课题,本发明提供一种解码装置,x是生成扩展域GF(xq) 的不可约多项式f[X]的根X,n,k是2以上的整数,n≧2k-1,m是1以上的 整数,m=n-k,a是以a0,…,ak-1∈GF(xq)为元素的k次向量,A是以下式定 义的n行k列的矩阵,
Figure BDA0001456750610000031
其中
i∈{0,...,n-1},j∈{0,...,k-1}
b是以b0,…,bn-1∈GF(xq)为元素且将所述向量a和所述矩阵A相乘所 得的n次向量,
Figure BDA0001456750610000036
是1以上m以下的整数,
Figure BDA0001456750610000037
是0以上且小于k的 不同的整数,
Figure BDA0001456750610000038
是0以上且小于k且与
Figure BDA0001456750610000039
不重复的不同的整 数,
Figure BDA00014567506100000310
是k以上且小于n的不同的整数,
所述解码装置包含:
使用所述向量b的
Figure BDA00014567506100000311
个元素
Figure BDA00014567506100000312
通过下式生成
Figure BDA00014567506100000313
次的向量b'的 向量变换单元;
Figure BDA0001456750610000032
通过下式生成
Figure BDA0001456750610000033
Figure BDA0001456750610000034
列的逆矩阵A'-1的逆矩阵生成单元;
Figure BDA0001456750610000035
通过将所述向量b'和所述逆矩阵A'-1相乘而计算所述向量a的元素
Figure BDA00014567506100000314
Figure BDA00014567506100000315
的明文计算单元。
发明效果
根据本发明,能够降低编码技术中的域相乘的处理量。
附图说明
图1是示例解码装置的功能结构的图;
图2是示例解码方法的处理流程的图。
具体实施方式
在说明实施方式之前,说明本发明的原理。
作为前提,在以下的说明中,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位整数表现,以 2i表现项xi。例如,1+x+x3能够表现为20+21+23=11。
a,b∈GF(264)的乘法运算是将两个63次多项式a,b(式(8))相乘后 除以64次多项式f的操作(式(9))。此时,λ次的项的系数为式(10)。
Figure BDA0001456750610000041
Figure BDA0001456750610000042
Figure BDA0001456750610000043
式(9)中,将对126次多项式进行mod f而设为63次多项式的处理称 为化简(reduction)。化简是使用式(11)的同值关系进行处理。
f=x64+x4+x3+x+1=0mod f…(11)
如果将式(11)变形,则如式(12)所示,成为将64次项降为4次式的 关系。
x64=x4+x3+x+1mod 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)表现。
Figure RE-GDA0001456750690000011
另外,xna由于a的各项为高n次的项,因此,与整数表现中的2n倍、或 n位左移等效。因此,能够如式(16)那样表现。
Figure RE-GDA0001456750690000012
H是62次多项式,因此,式(16)的
Figure RE-GDA0001456750690000013
成为64次以上的多项式,需要再次降低次数。64次以上的部分如式(17)。
Figure RE-GDA0001456750690000014
在64位整数内,如果考虑舍去超过64位的位,则只要计算式(18)即 可。
Figure RE-GDA0001456750690000015
在进行乘法运算时,在一方为61位以内时(更准确而言将两方的位数相 加成为125以下时),式(19)成立,因此,能够将化简高效化。
Figure RE-GDA0001456750690000016
因此,如果包含化简在内加以考虑,则在61位数中仅1位成立的数、即 与0≦i≦60的范围内的2i的乘法运算是高速的。
如上述,在纠错码的解码处理中,通过将提取了用于解码的向量b的元 素的向量b'、和用于编码处理的矩阵A中的提取了与向量b'的元素对应的行 的矩阵A'的逆矩阵相乘,对明文的向量a进行解码。在数据共享b0,…,bk-1全部可利用的情况下,数据共享是输入向量的各元素本身,因此,只要将输 入直接输出即可。另一方面,在即使只有一个不能利用的数据共享的情况下, 也需要根据可利用的数据共享和奇偶共享将明文复原。
明文的复原如下进行。设存在
Figure RE-GDA0001456750690000017
个不能利用的数据共享。其中,
Figure RE-GDA0001456750690000018
概念而言,只要提取逆矩阵中的
Figure RE-GDA0001456750690000019
行并与可利用的共享相乘即可。但是,逆 矩阵的元素通常不为x的至60的幂,因此,与逆矩阵中的
Figure RE-GDA00014567506900000110
行相乘时的处理 量如式(20)所示。此外,MUL为无进位乘法的一次的处理量,RED为化简 的一次的处理量。就无进位乘法而言,只要是Intel(注册商标)公司 Sandy-bridge以后、AMD(注册商标)公司的Bulldozer以后的CPU,则就能 够通过一次的PCLMUL命令进行处理。
Figure RE-GDA0001456750690000021
代替将逆矩阵直接相乘,利用数据共享仅具有一个输入向量的元素的情 况,首先,从奇偶共享中除去与数据共享对应的输入向量的元素。例如,能 够如式(21)那样使用数据共享b0,从奇偶共享bp(其中,p为与任意的奇 偶共享对应的编号)除去了第0号的明文的元素。
根据b0=(100…0)a,
bp=(1xp-kx(p-k)2…x(p-k)(k-1))a,
bp-b0=(0xp-kx(p-k)2…x(p-k)(k-1))a…(21)
如果使用这样的变形,则能够使用比k次低次的
Figure RE-GDA0001456750690000022
次平方矩阵来表现应 复原的向量a的元素
Figure RE-GDA0001456750690000023
Figure RE-GDA0001456750690000024
其中,
Figure RE-GDA0001456750690000025
为可利用的数据共享的番号,
Figure RE-GDA0001456750690000026
为不能利用的 数据共享的编号,
Figure RE-GDA0001456750690000027
为用于复原的奇偶共享的编号。即,
Figure RE-GDA0001456750690000028
为0以上且小于k的不同的整数,
Figure RE-GDA0001456750690000029
为0以上且小于k且不与
Figure RE-GDA00014567506900000210
Figure RE-GDA00014567506900000211
重复的不同的整数,
Figure RE-GDA00014567506900000212
为k以上且小于n的不同的整数。
将式(22)的左边设为向量b',如式(23),只要乘以
Figure RE-GDA00014567506900000213
次平方矩阵的 逆矩阵,就能够将明文复原。
Figure RE-GDA00014567506900000214
其中
Figure RE-GDA00014567506900000215
用于生成向量b'所需的处理量为式(24)。此外,BMUL是一方为单项 式的相乘的一次的处理量,BRED是最高次项的次数的合计为2q-d-1以下的 相乘中的化简的一次的处理量。
Figure RE-GDA0001456750690000031
向量b'和
Figure RE-GDA0001456750690000032
次的逆矩阵的相乘所需的处理量为式(25)。
Figure RE-GDA0001456750690000033
因此,整体的处理量为将式(24)和式(25)合并成的式(26)。
Figure RE-GDA0001456750690000034
在不能利用的数据共享为1个的情况下,即
Figure RE-GDA0001456750690000035
的情况下,式(23)成 为式(27)。因此,只要预先计算xp0e0的逆元,并与b'0相乘即可。
Figure RE-GDA0001456750690000036
在不能利用的数据共享为2个以上4个以下的情况下,即
Figure RE-GDA0001456750690000037
的情 况下,能够进一步消减一个次数。在
Figure RE-GDA0001456750690000038
时,式(22)的
Figure RE-GDA0001456750690000039
次正方矩阵因为 元素均为x的幂,所以只要排序为
Figure RE-GDA00014567506900000319
则就如式(28)那样能 够通过BMUL,BRED再降低一个次数。
Figure RE-GDA00014567506900000310
剩余的ae0使用式(28)中求出的
Figure RE-GDA00014567506900000311
通过式(29)计算。
Figure RE-GDA00014567506900000312
该情况下的处理量为式(30)。
Figure RE-GDA00014567506900000313
对通过式(30)减少处理量的情况进行说明。首先,BMUL和MUL的合计数在式(20)(26)(30)中均相等,为
Figure DEST_PATH_GDA00014567506900000314
次。接着,查明MUL的次数减少。式(20)中为
Figure DEST_PATH_GDA00014567506900000315
次,式(26)中为
Figure DEST_PATH_GDA00014567506900000316
次,式(30)中为
Figure DEST_PATH_GDA00014567506900000317
Figure DEST_PATH_GDA00014567506900000318
时,式(30)<式(26)<式(20)。RED的数为式(30)=式(26) <式(20)。BRED的数在式(20)中为0,在式(26)中为
Figure BDA0001456750610000081
在式(30) 中增加为
Figure BDA0001456750610000082
但在
Figure BDA0001456750610000083
时,增量为MUL的减少量以下。因此,在 BRED+BMUL<MUL成立的情况下,整体上处理量降低。此外,在
Figure BDA0001456750610000084
时, 不能对于各i保持b'i和b'i-x(pi-p0)e0b'0这两方,成为加载/存储的开销,因此, 不能进行该次数消减。
在不能利用的数据共享为2个的情况下,
Figure BDA0001456750610000085
因此,式(28)与
Figure BDA0001456750610000086
的情况相同,如式(31)那样成为简单的式。因此,只要预先计算xp1e1-xp0e1+(p1-p0)e0的逆元,与b'1相乘即可。之后,使用式(29)对ae0进行解码。
Figure BDA0001456750610000087
在不能利用的数据共享为3个以上的情况下,乘以逆矩阵时的处理量成 为式(32)。
Figure BDA0001456750610000088
在此,尝试仅将
Figure BDA0001456750610000089
中的1个(例如ae0)复原。于是,必要的处 理量成为式(33)。
Figure BDA00014567506100000810
于是,通过与除去数据共享成分时相同的方法,通过式(34)的处理量 能够消减1次次数。
Figure BDA00014567506100000811
在重复该次数消减的情况下,处理量成为式(35)。
Figure BDA00014567506100000812
与式(26)相比,MUL和BMUL的总数相等,MUL的比率减轻约一半。 仅BRED增加,但由于增量与MUL的减少量相等,所以如果 BUL+BRED<MUL,则作为整体,处理量降低。
就绝对的计算量而言,式(35)为最小,但在一个一个地将数据共享复 原,反复从其它奇偶共享除去该成分的方法中,存在MUL和RED的并行性 降低的问题。与和并列性高的逆矩阵的乘法运算相比,仅能依次执行的处理 会增加,因此,性能会因CPU的MUL,RED的可并行执行的数而降低。因此, 最终反复进行通过CPU的MUL,RED的每次可并行执行的数的逆矩阵进行复 原,从奇偶共享除去该复原了的成分的方法最快。此外,MUL的可并行执行 的数在Intel公司的Ivy-Bridge中为1,在Haswell中为2,RED的可并行执行 的数在Ivy-Bridge,Haswell均为2。
下式表示实现了上述的纠错码的解码处理的算法的例子。此外,f是不能 利用的个数,d0,…,dk-f-1是k-f个可利用的数据共享编号,p0,…,pf-1是f个能 利用的奇偶共享编号,e0,…,ef-1是应复原的明文编号,以k-f个数据共享bd0,…, bdk-f-1、f个奇偶共享bp0,…,bpf-1作为输入,以系数矩阵的列C0,…,系数c0,c1作为辅助输入,以明文ae0,…,aef-1作为输出。
1:
Figure BDA0001456750610000091
2:iff∈{3,4}then
3:
Figure BDA0001456750610000092
4:f′:=f-1
5:else
6:b″:=b′(仅视为。不进行复制等)
7:f′:=f
8:i:=0
9:whilef′>2do
10:
Figure BDA0001456750610000093
11:
Figure BDA0001456750610000094
12:f′:=f′-2
13:if f′=2then
14:
Figure BDA0001456750610000095
15:
Figure BDA0001456750610000096
16:
Figure BDA0001456750610000097
作为辅助输入的系数矩阵Ci及系数c0,c1根据
Figure BDA0001456750610000098
的值如下设定。
Figure BDA0001456750610000099
的情况下,系数仅为下式的c0。c0为x的幂的逆元,因此,仅通 过参照表即可计算。
Figure BDA0001456750610000101
Figure BDA0001456750610000102
的情况下,在上述的c0的基础上,为次式的c1
Figure BDA0001456750610000103
Figure BDA0001456750610000104
的情况下,除上述的c0,c1之外,为式(28)左边的
Figure BDA0001456750610000105
次正方矩 阵的逆矩阵。
Figure BDA0001456750610000106
的情况下,是上述的c0,c1、和式(28)左边的
Figure BDA0001456750610000107
次正方矩阵的 逆矩阵中的第1行(编号从0开始)和第2行。逆矩阵的一个行与用于将一 个明文共享复原的系数列相等。考虑上述的CPU的MUL,RED的可并行执行 的数而将明文共享从后方开始每两个进行复原时的效率好,因此,需要从后 数2行。
Figure BDA0001456750610000108
的情况下,与
Figure BDA0001456750610000109
的情况相同,为了从后方开始每次两个进行复 原,首先需要从
Figure BDA00014567506100001010
次正方矩阵的逆矩阵的后方开始2行。接着,需要从剩余 的
Figure BDA00014567506100001011
次正方矩阵的逆矩阵的后方开始2行。这样,相对于
Figure BDA00014567506100001012
次正方矩阵中 的、满足
Figure BDA00014567506100001013
的各i,需要从左上部
Figure BDA00014567506100001014
次正方矩阵的逆矩阵的后方开始 每次2行。可以不必求
Figure BDA00014567506100001015
次的逆矩阵而通过一次三角化进行。其原因在于, 三角化、后退代入均是左上部分不被更右下的部分影响,所以除去了右2列 下2行的矩阵的三角矩阵与从整体的三角矩阵除去了右2列下2行的矩阵相 同。
以下,对本发明的实施方式进行详细说明。此外,对于附图中具有相同 功能的结构部标注同一编号,省略重复说明。
如图1所示,实施方式的解码装置1包含向量输入单元10、向量变换单 元11、逆矩阵生成单元12、明文计算单元13、及向量输出单元14。该解码 装置1通过进行图2所示例的各步骤的处理,实现实施方式的解码方法。
解码装置1例如是使具有中央运算处理装置(CPU:Central Processing Unit)、主存储装置(RAM:Random Access Memory)等的公知或专用的计算 机读入特别的程序而构成的特别的装置。解码装置1例如基于中央运算处理 装置的控制来执行各处理。被输入解码装置1的数据或各处理中得到的数据 例如存储于主存储装置中,存储于主存储装置的数据根据需要被读出到中央 运算处理装置而用于其它处理。解码装置1的各处理单元也可以至少一部分 由集成电路等硬件构成。
参照图2说明实施方式的解码方法的处理步骤。
在步骤S10,向向量输入单元10输入n次向量b。n次向量b的奇偶共享 中的可利用的
Figure BDA0001456750610000111
个元素
Figure BDA0001456750610000112
被送入向量变换单元11。另外, 向量b的数据共享中的可利用的
Figure BDA0001456750610000113
个的元素
Figure BDA0001456750610000114
被送入向量输出单 元14。向量b是将由式(36)定义的k次向量a和由式(37)定义的n行k 列的矩阵A相乘所得的n次向量。
Figure BDA0001456750610000115
Figure BDA0001456750610000116
其中
i∈{0,...,n-1},j∈{0,...,k-1}
在步骤S11,向量变换单元11使用
Figure BDA0001456750610000117
通过式(38)生成
Figure BDA0001456750610000118
次 的向量b'。向量b'被送入明文计算单元13。
Figure BDA0001456750610000119
在步骤S12,逆矩阵生成单元12通过式(39)生成
Figure BDA00014567506100001110
Figure BDA00014567506100001111
列的逆矩阵 A'-1。逆矩阵A'-1被送入明文计算单元13。如果确定使用k个奇偶共享中的哪 一
Figure BDA00014567506100001112
个进行复原,则就能够生成逆矩阵A'-1,因此,也可以对所有的
Figure BDA00014567506100001113
个组 合预先计算逆矩阵A'-1。该情况下,逆矩阵生成单元12可以仅从预先生成的 逆矩阵中选择适宜的矩阵。
Figure BDA00014567506100001114
在步骤S13,如式(40)所示,明文计算单元13通过将向量b'和逆矩阵 A'-1相乘而计算向量a的元素
Figure BDA00014567506100001115
元素
Figure BDA00014567506100001116
被送入向量输出单 元14。
Figure BDA0001456750610000121
在步骤S14,向量输出单元14将从向量输入单元10接收的
Figure BDA0001456750610000122
个元素
Figure BDA0001456750610000123
和通过明文计算单元13计算出的
Figure BDA0001456750610000124
个元素
Figure BDA0001456750610000125
作为元 素来复原k次向量a,并输出该向量a。
通过如上述构成,根据实施方式的解码装置,在将作为k次正方矩阵的 矩阵A'消减次数为
Figure BDA0001456750610000126
次正方矩阵后运算逆矩阵A'-1,进行解码。由此,因为 是
Figure BDA0001456750610000127
个多项式相乘中的、
Figure BDA0001456750610000128
个量仅通过项的移动即可实现的轻量的多 项式相乘,所以效率高。一般的多项式相乘相对于扩展次数q为q2的计算量。 与之相对,基于项的移动的计算量在实际移动了的情况下为q的计算量,在 假设仅具有移动量的标记的情况下计算量为1。
本发明的解码技术可以适用于计算量的秘密分散。计算量型秘密分散是 基于计算量的安全性从小于一定个数的分散值完全不能将原始数据复原的秘 密分散方式。计算量型秘密分散例如记载于下述参考文献1中。
〔参考文献1〕H.Krawczyk,“Secret sharing made short.”,CRYPTO 1993,pp.136-146,1993.
不言而喻,本发明不限于上述的实施方式,在不脱离本发明的宗旨的范 围内也可以进行适宜变更。上述实施方式中说明的各种处理不仅按照记载的 顺序以时间系列执行,而且还可以根据执行处理的装置的处理能力或需要并 列或单独地执行。
[程序、记录介质]
在上述实施方式中说明的各装置中的各种处理功能通过计算机实现的情 况下,各装置应具有的功能的处理内容通过程序进行记述。而且,通过由计 算机执行该程序,在计算机上实现上述各装置中的各种处理功能。
记述有该处理内容的程序能够事先记录于可由计算机读取的记录介质 中。作为可由计算机读取的记录介质,例如也可以为磁记录装置、光盘、光 磁记录介质、半导体存储器等。
另外,该程序的流通对记录了该程序的DVD、CD-ROM、USB存储器等 可移动记录介质进行销售、转让、借出等来进行。进而,也可以将该程序储 存至服务器计算机的存储装置,经由网络从服务器计算机向其他计算机转发 该程序,从而使该程序流通。
执行这样的程序的计算机例如首先将在可移动记录介质中记录的程序或 从服务器计算机转发的程序暂时储存至自己的存储部。并且,在执行处理时, 该计算机读取在自己的记录介质中储存的程序,执行按照所读取的程序的处 理。另外,作为该程序的另一实施方式,也可以设为计算机从可移动记录介 质直接读取程序,执行按照该程序的处理。进而,也可以设为在每次从服务 器计算机向该计算机转发程序时,逐次执行按照所接受的程序的处理。另外, 也可以设为不进行从服务器计算机向该计算机的程序的转发,而是通过仅通 过其执行指示和结果取得来实现处理功能的所谓ASP((应用服务提供商(Application Service Provider))型的服务来执行上述的处理的结构。此外, 在本方式的程序中,包括供电子计算机的处理用的信息且遵照程序的数据(虽 然不是对于计算机的直接指令但具有规定计算机的处理的性质的数据等)。
另外,在该方式中,通过在计算机上执行预定的程序而构成了各装置, 但这些处理内容的至少一部分也可以通过硬件来实现。

Claims (6)

1.一种用于检错-纠错码的解码处理的解码装置,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,n,k是2以上的整数,n≧2k-1,m是1以上的整数,m=n-k,a是以a0,…,ak-1∈GF(xq)为元素的k次向量,A是以下式定义的n行k列的矩阵,
Figure FDA0002583553840000011
其中,
i∈{0,...,n-1},j∈{0,...,k-1}
b是以b0,…,bn-1∈GF(xq)为元素且将所述向量a和所述矩阵A相乘所得的n次向量,
Figure FDA0002583553840000014
是1以上m以下的整数,
Figure FDA0002583553840000017
是0以上且小于k的不同的整数,
Figure FDA0002583553840000015
是0以上且小于k且与
Figure FDA0002583553840000018
不重复的不同的整数,
Figure FDA0002583553840000016
是k以上且小于n的不同的整数,
所述解码装置包含:
使用所述向量b的
Figure FDA0002583553840000019
个的元素
Figure FDA00025835538400000110
通过下式生成
Figure FDA00025835538400000111
次的向量b'的向量变换单元;
Figure FDA0002583553840000012
通过下式生成
Figure FDA00025835538400000112
Figure FDA00025835538400000113
列的逆矩阵A'-1的逆矩阵生成单元;
Figure FDA0002583553840000013
通过将所述向量b'和所述逆矩阵A'-1相乘而计算所述向量a的元素
Figure FDA00025835538400000114
的明文计算单元。
2.如权利要求1所述的解码装置,其中,
Figure FDA00025835538400000115
是2以上4以下的整数,
所述向量变换单元是使用所述向量b',通过下式生成
Figure FDA0002583553840000027
次的向量b"的单元,
Figure FDA0002583553840000021
所述逆矩阵生成单元是通过下式生成
Figure FDA0002583553840000028
Figure FDA0002583553840000029
列的逆矩阵A"-1的单元,
Figure FDA0002583553840000022
所述明文计算单元是通过将所述向量b"和所述逆矩阵A"-1相乘而计算所述向量a的元素
Figure FDA00025835538400000210
且通过下式来计算所述向量a的元素ae0的单元,
Figure FDA0002583553840000023
3.如权利要求2所述的解码装置,其中,
所述明文计算单元对于满足
Figure FDA00025835538400000211
的i,反复将从所述逆矩阵A"-1的左上部
Figure FDA00025835538400000212
次正方矩阵的后方开始2行和所述向量b"的第0号至第
Figure FDA00025835538400000214
号的元素并行相乘,计算所述向量a的元素
Figure FDA00025835538400000213
且通过下式计算所述向量a的元素ae1
ae1=c1b′1
其中,
Figure FDA0002583553840000024
且通过下式计算所述向量a的元素ae0
Figure FDA0002583553840000025
其中,。
Figure FDA0002583553840000026
4.如权利要求1~3中任一项所述的解码装置,其中,
x=2,
所述向量变换单元、所述逆矩阵生成单元、及所述明文计算单元将相加作为异或运算,将多项式相乘作为位移运算进行计算。
5.一种用于检错-纠错码的解码处理的解码方法,x是生成扩展域GF(xq)的不可约多项式f[X]的根X,n,k是2以上的整数,n≧2k-1,m是1以上的整数,m=n-k,a是以a0,…,ak-1∈GF(xq)为元素的k次向量,A是以下式定义的n行k列的矩阵,
Figure FDA0002583553840000031
其中,
i∈{0,...,n-1},j∈{0,...,k-1}
b是以b0,…,bn-1∈GF(xq)为元素且将所述向量a和所述矩阵A相乘所得的n次向量,
Figure FDA0002583553840000034
是1以上m以下的整数,
Figure FDA0002583553840000037
是0以上且小于k的不同的整数,
Figure FDA0002583553840000035
是0以上且小于k且与
Figure FDA0002583553840000038
不重复的不同的整数,
Figure FDA0002583553840000036
是k以上且小于n的不同的整数,
所述解码方法包含:
向量变换步骤,向量变换单元使用所述向量b的
Figure FDA0002583553840000039
个的元素
Figure FDA00025835538400000310
通过下式生成
Figure FDA00025835538400000311
次的向量b';
Figure FDA0002583553840000032
逆矩阵生成步骤,逆矩阵生成单元通过下式生成
Figure FDA00025835538400000312
Figure FDA00025835538400000313
列的逆矩阵A'-1
Figure FDA0002583553840000033
明文计算步骤,明文计算单元通过将所述向量b'和所述逆矩阵A'-1相乘而计算所述向量a的元素
Figure FDA00025835538400000314
6.一种记录了程序的计算机可读取的记录介质,所述程序用于使计算机作为权利要求1~4中任一项所述的解码装置起作用。
CN201680026019.0A 2015-05-12 2016-05-11 解码装置、解码方法、及程序 Active CN107534449B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015097276A JP5918884B1 (ja) 2015-05-12 2015-05-12 復号装置、復号方法、およびプログラム
JP2015-097276 2015-05-12
PCT/JP2016/063996 WO2016181992A1 (ja) 2015-05-12 2016-05-11 復号装置、復号方法、およびプログラム

Publications (2)

Publication Number Publication Date
CN107534449A CN107534449A (zh) 2018-01-02
CN107534449B true CN107534449B (zh) 2020-11-24

Family

ID=55974058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680026019.0A Active CN107534449B (zh) 2015-05-12 2016-05-11 解码装置、解码方法、及程序

Country Status (5)

Country Link
US (1) US10511330B2 (zh)
EP (1) EP3297171B1 (zh)
JP (1) JP5918884B1 (zh)
CN (1) CN107534449B (zh)
WO (1) WO2016181992A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957120B1 (ja) * 2015-05-12 2016-07-27 日本電信電話株式会社 秘密分散方法、秘密分散システム、分散装置、およびプログラム
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム
JP2018093325A (ja) * 2016-12-01 2018-06-14 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、及びプログラム
CN116028260B (zh) * 2023-01-09 2024-02-27 海光信息技术股份有限公司 数据的处理方法、处理装置以及存储系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02303221A (ja) * 1989-05-17 1990-12-17 Toshiba Corp リード・ソロモン符号の復号装置
JPH07202716A (ja) * 1994-01-05 1995-08-04 Fujitsu Ltd 誤り訂正復号方法及び誤り訂正復号回路
JP3272307B2 (ja) * 1998-09-22 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション リード・ソロモン符号の復号回路
US6631172B1 (en) * 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
US7644335B2 (en) * 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7685503B2 (en) * 2006-06-21 2010-03-23 Intel Corporation Fast decoding of Reed-Solomon code
JP2008242034A (ja) * 2007-03-27 2008-10-09 Japan Aerospace Exploration Agency データ圧縮/伸張と暗号化/復号と誤り制御とを行う統合符号化及び復号装置、並びに方法
KR100890789B1 (ko) * 2007-12-19 2009-03-31 한국전자통신연구원 다중입력 다중출력 시스템의 수신 장치 및 그 방법
KR101307070B1 (ko) * 2009-12-15 2013-09-26 한국전자통신연구원 효율적인 스크램블링 또는 디스크램블링 방법 및 시스템
CN102307076A (zh) * 2010-09-16 2012-01-04 清华大学 无冗余的抗干扰编码方法
US8498410B2 (en) * 2011-03-14 2013-07-30 Motorola Solutions, Inc. Methods for customizing a Rijndael block cipher
US9177596B2 (en) * 2012-03-29 2015-11-03 Panasonic Intellectual Property Management Co., Ltd. Decoding device and decoding method
US9274884B2 (en) * 2012-10-10 2016-03-01 HGST Netherlands B.V. Encoding and decoding data to accommodate memory cells having stuck-at faults
CN103151078B (zh) * 2013-03-19 2015-08-12 中国科学院微电子研究所 一种存储器检错纠错码生成方法
US9425961B2 (en) * 2014-03-24 2016-08-23 Stmicroelectronics S.R.L. Method for performing an encryption of an AES type, and corresponding system and computer program product
JP5927323B1 (ja) * 2015-05-12 2016-06-01 日本電信電話株式会社 行列作用装置、行列作用方法、およびプログラム
JP5957120B1 (ja) * 2015-05-12 2016-07-27 日本電信電話株式会社 秘密分散方法、秘密分散システム、分散装置、およびプログラム
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム

Also Published As

Publication number Publication date
US20180138925A1 (en) 2018-05-17
WO2016181992A1 (ja) 2016-11-17
CN107534449A (zh) 2018-01-02
US10511330B2 (en) 2019-12-17
EP3297171A1 (en) 2018-03-21
JP2016213730A (ja) 2016-12-15
EP3297171B1 (en) 2020-05-13
EP3297171A4 (en) 2018-12-19
JP5918884B1 (ja) 2016-05-18

Similar Documents

Publication Publication Date Title
JP5957120B1 (ja) 秘密分散方法、秘密分散システム、分散装置、およびプログラム
CN107534449B (zh) 解码装置、解码方法、及程序
US10656996B2 (en) Integrated security and data redundancy
JP7031682B2 (ja) 秘密計算装置、システム、方法、プログラム
JP5805727B2 (ja) 縮退故障を有するメモリセルに対応するためのデータ符号化及び復号化
KR20190003315A (ko) 일반화된 텐서곱(gtp) 코드의 효율적인 인코딩 방법 및 그 장치
JP5269936B2 (ja) 符号化器及び記憶装置
CN107534450B (zh) 矩阵应用装置、矩阵应用方法、以及存储介质
US10110258B2 (en) Accelerated erasure coding for storage systems
EP3408956B1 (en) Apparatus and method for multi-code distributed storage
KR101923116B1 (ko) 분산 저장 시스템에서 부분접속 복구 부호를 이용하는 부호화/복호화 장치 및 방법
JP4663421B2 (ja) 離散対数演算装置、方法及びプログラム
US9183076B2 (en) Using carry-less multiplication (CLMUL) to implement erasure code
US20210055993A1 (en) Methods and Apparatuses for Robust Data Partition And Recovery
Hurley Linear complementary dual, maximum distance separable codes
JP5278115B2 (ja) 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
CN116560915B (zh) 数据恢复方法、装置、电子设备及存储介质
Yang et al. Hierarchical Hybrid Error Correction for Time-Sensitive Devices at the Edge
JP3252420B2 (ja) ユークリッドの互除回路
JP2023120624A (ja) 情報処理装置及び情報処理方法

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