CN1032595A - 编码器和译码器中计算乘法逆元的设备 - Google Patents

编码器和译码器中计算乘法逆元的设备 Download PDF

Info

Publication number
CN1032595A
CN1032595A CN88104709A CN88104709A CN1032595A CN 1032595 A CN1032595 A CN 1032595A CN 88104709 A CN88104709 A CN 88104709A CN 88104709 A CN88104709 A CN 88104709A CN 1032595 A CN1032595 A CN 1032595A
Authority
CN
China
Prior art keywords
factor
multiplicative inverse
galois field
equipment
data
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.)
Withdrawn
Application number
CN88104709A
Other languages
English (en)
Other versions
CN1013715B (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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CN1032595A publication Critical patent/CN1032595A/zh
Publication of CN1013715B publication Critical patent/CN1013715B/zh
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7209Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种使用加罗瓦域除法运算,大大加快数据误差 校正译码及数据编码与译码的装置,从而可提高计算 机系统的数据变换及数据处理的速度。本发明实现 快速寻找除数A的乘法逆元,随后将分子B与该除 数A的倒数相乘,求得商B/A。

Description

本发明涉及数据误差校正译码、数据编码及解码机制和信号处理系统,更具体地是涉及使用加罗瓦域除法运算的系统。
随着存贮介质,特别是磁盘上记录密度的提高,数字计算机中数据误差校正编码也变得越来越重要了。记录密度越高,磁盘记录表面上的一点微小的差错就能破坏掉大量的数据。为了避免损失数据,人们使用了误差校正编码(ECC),故名思义,就是校正误差数据。
在把一串数据符号记录在磁盘上之前,要将数据先按数学方法编成为ECC符号的形式。再将ECC符号附加到数据串上去,形成代码字-数据符加ECC符-然后将代码字存贮在磁盘上。当把存贮数据从磁盘上要进行存取时,将把那些含有数据符的字码从磁盘中检索出来并按数学方法进行译码。在译码过程中,检测数据中的任何误差,如有可能,则通过ECC符处理进行校正。〔关于译码的详细描述,参阅彼得森(Peterson)和威尔登(Weldon)著的“误差校正码”(Error    Correction    Codes)1972年印刷,第二版(2d    Edition,MIT    Press,1972)〕。
存贮了的数字数据可能含有多处错误。用于校正多处错误的一种最有效的ECC就是李德-索洛蒙(Reed-Solomon)码。〔关于Reed-Solomon码的详细说明,见Peterson及Weldon著的Error    Correction    Codes一书〕。Reed-Solomon    ECC的误差检测及校正技术已为公知。使用这种技术,首先对代码字数据进行再编码产生出ECC符;而后将这些ECC符与该代码字中的ECC符,即通过数据的予存贮编码产生的ECC符,进行比较,从而检测出该检索数据中的任何误差。〔关于此误差检测技术的详细讨论,见Riggle和Weng的美国专利4,413,339〕。
如果在检索到的数据中检测出错误,则加罗瓦域除法通常是在校正误差的过程中要执行一个必要的运算。加罗瓦域除法是一种十分费时的运算;这种运算大大加长了ECC的译码过程。它在完成误差校正上所占用的时间,极其不利地影响到从存贮器中检索数据的速度。
由于采用了较高的存贮密度,所以在存贮的数据中,其潜在的误差也随之增加了;误差校正慢,也严重影响检索数据的平均速度。数据检索时间的增加,相应地也就限制了一切需要检索存贮数据的计算机应用上的速度。这种速度上的限制,曾一度使计算机系统技术的进展不可能再更快地进行数据传送的操作了。因此,对于较快速的装置来说,需要执行加罗瓦域除法,以至有效地加速进行ECC译码。本发明的这种方法将使计算机系统随着现有技术中计算机技术的发展,有可能更好地发挥其数据传送速度高的优点。
随着计算机通讯系统应用技术的发展,尤其是采用电话线路传送数据的通讯系统,数据编码技术就越来越重要了。一种重要的保密编码方法就是在加罗瓦域上对数据进行编码。将数据进行保密编码之后进行解码,就是在加罗瓦域上进行除法。数据编码和解码的速度也直接影响到数据传送和数据处理的速度。
近来,在计算机控制的信号处理中,一直使用加罗瓦域。具体来说,在信号处理上,对所需要的信号进行的数学变换,现在往往是在加罗瓦域上执行的;因此,可以利用这些有限域、循环域的特性。信号变换的运算需要加罗瓦域除法。再者,在数据压缩和数据扩展装置中,使用加罗瓦域运算也正处在发展之中。任何这样一类装置,都要在加罗瓦域上进行除法。因此,无论是在信号处理装置上,还是在数据压缩及/或数据扩展装置上进行的数据运算的速度,都将大大受到进行加罗瓦域除法运算速度的影响。
本发明能使人们进行GF(22M)的两个因子A和B的除法运算;即通过快速地找到除数A的乘法逆元,随后将分子B和该除数A的倒数相乘实现B/A的运算。通过计算变换系数D,求得A的乘法逆元A-1,尔后用D与A相乘得到因子C,其中C也是较小的加罗瓦域GF(2M)上的因子。GF(2M)荊F(22M)的子域。具体来说,在域GF(22M)内,C等于
Figure 881047090_IMG2
Figure 881047090_IMG3
。接着,通过适当地引入所存贮的含有GF(2M)的2M个因子的查询表,就能快速找到在域GF(2M)内C的乘法逆元C-1
然后,将C的乘法逆元C-1与以上计算出的变换因子D相乘,从而变换成在GF(22M)域上的最初除数A的乘法逆元A-1的因子。而后,再把A的乘法逆元A-1与B相乘计算出商B/A。
在特征数为2的加罗瓦域内,因子提高幂阶到2i的运算,即计算
Figure 881047090_IMG6
的运算与进行乘法运算的难易程度相当。因此,在计算B/A的商时要有五种运算;即:计算变换系数D、计算C、引入为检索C-1的2M查询表、把变换系数D与C-1相乘得到积A-1、计算乘法B×A-1;但新的除法处理要比通常的加罗瓦域除法快。通常的加罗瓦域除法要求在含有较大的
Figure 881047090_IMG3
因子的加罗瓦域内查找除数A的乘法逆元。如果使用查询表,那么这个表将含有22M个因子。在比较大的表内查找乘法逆元显然要比在比较小的表内完成同样的运算慢得多。
在GF(2QM)的比较一般的情况下,变换系数D等于:
Figure 881047090_IMG4
于是,为A×D的因子C等于
Figure 881047090_IMG5
而新的除法过程需要Q+3个运算,即Q个用于计算变换系数D和计算C的运算,三个用于从2M个因子中查表检索C-1、计算A-1及B×A-1的运算。通过适当选取GF(2QM)的幂阶因子Q及M,有可能取得新除法过程最合适或最佳地实现。例如,如果域的幂阶为12,那么可以有几种方式选取因子Q和M。对于新的除法过程来说,根据完成Q+3个运算的速度和引入2M查表的速度确定一组因子的选取。然而,新的除法过程,尽管有Q+3个运算,仍然比通常使用的加罗瓦域除法运算要快。
本发明将以权利要求书给出具体限定。以下结合附图参阅说明书可以对本发明的上述优点得到更好地理解,其中:
图1是最佳实施方案的运算步骤流程图;
图2是包括有用于确定按照本发明构成的商B/A的装置的译码器功能方框图。
应该认识到,在新的除法过程中所进行的全部加法和乘法的运算都是在加罗瓦域上的运算。
参阅图1和图2,新的加罗瓦域除法过程是作为编码过程或译码过程中的一部分进行的。这里的编码及/或译码可用于误差校正、数据保密编码或解码或信号处理。执行加罗瓦域除法,首先将GF(22M)的非零因子的除数A转换为较小加罗瓦域GF(2M)的因子C(见步骤102)。通过计算变换系数D完成该转换;其中D等于
Figure 881047090_IMG3
(步骤10)。在特征因子为2的加罗瓦域中计算
Figure 881047090_IMG3
是一种相对简单的运算。
然后,把变换系数D与加罗瓦域乘法器里的A相乘102(步骤12),从而求得乘积C:
Figure 881047090_IMG3
×A=
Figure 881047090_IMG2
=C
其中,
Figure 881047090_IMG3
+1是较小域GF(2M)的因子。因而,对于每一个GF(22M)的因子A,都有一个也是GF(22M)域上的因子C。一般而言,对于任意加罗瓦域GF(2QM)来说,也就是说,以幂阶QM按部分为特征的加罗瓦域,都可以被分解,因为这里存在有子域GF(2M)。
接着,通过引入GF(2M)域内的由2M个因子组成的查询表104,确定C的乘法逆元C-1(步骤14)。根据因子C的值进入查表,并且按照从该表中所检索的形式可以把GF(2M)内C的单值乘法逆元C-1写成:
Figure 881047090_IMG7
而后,再把GF(2M)内C的乘法逆元C-1与变换因子D相乘。在把A变换到C之前,就在加罗瓦域乘法器106上计算出了D因子(步骤16);从而,将它再变换为GF(22M)的A的乘法逆元A-1的因子:
Figure 881047090_IMG8
通过在加罗瓦域乘法器108内进行乘法B×A-1(步骤18),可以很容易求得商B/A。
在新的除法运算过程中使用的查询表的规模是有2M个因子。例如,若比较大的加罗瓦域是GF(210),也就是GF(2(2×5)),则查询表将仅有25或32个因子。从32个因子的表中就可以快速求得乘法逆元了。
通常的加罗瓦域除法要求从22M个因子的表中选择除数A的乘法逆元。采用GF(210),那么查询表将有210或1024个因子。在这个22M个因子的表内查找乘法逆元比起采用2M个因子的表,查找起来显然要慢得多。
以上描述限于本发明的具体实施方案。但是,显然,在具有各种不同的基本结构或使用不同的内部电路的系统中,都可以实现本发明,随之具有以上描述过的全部或部分优点。因此,附后的权利要求书,其主要目的是覆盖本发明确实的精神实质及保护范围内的所有可能的变型。

Claims (8)

1、一个包含有用于计算加罗瓦域GF(2QM)内两个因子的商B/A的装置的编码或译码设备包括有:
A.用于将除数A转换为也是较小的加罗瓦域GF(2M)的因子C的装置;
B.用于找到上述因子C的乘法逆元C-1的装置;
C.用于将上述乘法逆元C-1转换成加罗瓦域GF(2QM)内的乃是A的乘法逆元A-1的因子的装置;以及
D.用于将上述乘法逆元A-1与因子B进行相乘的装置。
2、根据权利要求1中的设备,其中用于将因子A转换为因子C的上述装置还包括有用于计算关于如下公式中的因子的装置。
Figure 881047090_IMG4
3、根据权利要求2中的设备,其中用于计算如上公式:
Figure 881047090_IMG4
的装置还包括有:
A.用于计算变换系数的装置
Figure 881047090_IMG5
;以及
B.用于把A与上述变换系数相乘求积的装置
Figure 881047090_IMG4
4、根据权利要求1中的设备,其中用于找到乘法逆元C-1的装置还包括采用由GF(2M)域内全部2M个因子组成的查询表。
5、根据权利要求1中的设备,其中用于将上述乘法逆元C-1转换为上述因子A的乘法逆元的装置还包括将上述乘法逆元C-1与上述变换系数进行相乘。
6、根据权利要求1中的设备,其中的加罗瓦域是CF(22M)。
7、根据权利要求2中的设备,其中上述因子的形式为
Figure 881047090_IMG2
8、根据权利要求3中的设备,其中上述变换系数是
Figure 881047090_IMG3
CN88104709A 1987-06-26 1988-06-25 用于对加罗瓦域gf(zqm)的元素进行除法运算的设备 Expired CN1013715B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/067,712 US4975867A (en) 1987-06-26 1987-06-26 Apparatus for dividing elements of a Galois Field GF (2QM)
US067,712 1987-06-26

Publications (2)

Publication Number Publication Date
CN1032595A true CN1032595A (zh) 1989-04-26
CN1013715B CN1013715B (zh) 1991-08-28

Family

ID=22077872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN88104709A Expired CN1013715B (zh) 1987-06-26 1988-06-25 用于对加罗瓦域gf(zqm)的元素进行除法运算的设备

Country Status (9)

Country Link
US (1) US4975867A (zh)
EP (1) EP0328637B1 (zh)
JP (1) JPH07112162B2 (zh)
KR (1) KR930006519B1 (zh)
CN (1) CN1013715B (zh)
CA (1) CA1312954C (zh)
DE (1) DE3855684T2 (zh)
MX (1) MX164418B (zh)
WO (1) WO1989001660A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840326B (zh) * 2003-05-16 2013-01-16 美国亚德诺半导体公司 混合Galois域机和Galois域平方根机及其方法
WO2014026451A1 (zh) * 2012-08-03 2014-02-20 华南理工大学 一种有限域求逆器

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0364627B1 (en) * 1988-10-18 1996-08-28 Koninklijke Philips Electronics N.V. Data processing apparatus for calculating a multiplicatively inverted element of a finite field
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5185711A (en) * 1989-12-08 1993-02-09 Sony Corporation Apparatus for dividing elements of a finite galois field and decoding error correction codes
KR940001147B1 (ko) * 1991-03-20 1994-02-14 삼성전자 주식회사 부분체 GF(2^m/2)을 이용한 GF(2^m)상의 연산방법 및 장치
JP3232602B2 (ja) * 1991-09-06 2001-11-26 ソニー株式会社 ユークリッドの互除回路
US5442578A (en) * 1991-12-12 1995-08-15 Sony Corporation Calculating circuit for error correction
US5379243A (en) * 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
KR950010452B1 (ko) * 1992-11-30 1995-09-18 삼성전자 주식회사 유한체상의 역수 산출방법 및 장치
US5771244A (en) * 1994-03-09 1998-06-23 University Of Southern California Universal Reed-Solomon coder/encoder
FR2723455B1 (fr) * 1994-08-05 1996-10-31 Sgs Thomson Microelectronics Circuit d'inversion d'elements d'un corps de galois
US5493522A (en) * 1994-09-21 1996-02-20 Northrop Grumman Corporation Fast arithmetic modulo divider
US5812438A (en) * 1995-10-12 1998-09-22 Adaptec, Inc. Arithmetic logic unit and method for numerical computations in galois fields
US5771184A (en) * 1995-10-12 1998-06-23 Adaptec, Inc. System and method for solving quadratic equation in galois fields
FR2754616B1 (fr) * 1996-10-11 1998-12-04 Sgs Thomson Microelectronics Procede et circuit de division d'elements d'un corps de galois
KR100304193B1 (ko) * 1998-02-06 2001-11-22 윤종용 리드솔로몬복호기의역수구현회로
US6199088B1 (en) * 1998-06-30 2001-03-06 Quantum Corp. Circuit for determining multiplicative inverses in certain galois fields
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
AU2003249548A1 (en) * 2002-08-06 2004-02-23 Discretix Technologies Ltd. Method and device of manipulating data in finite fields
US7089276B2 (en) * 2002-10-18 2006-08-08 Lockheed Martin Corp. Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
TW200834411A (en) * 2007-02-06 2008-08-16 Univ Nat Chiao Tung Method of accomplishing finite field divider structure
IL231550A0 (en) 2014-03-17 2014-08-31 Nuvoton Technology Corp Saving secure information in external memory
EP4167213B1 (en) * 2017-01-18 2024-03-13 Nippon Telegraph And Telephone Corporation Secret computation method, secret computation system, secret computation apparatus, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57155667A (en) * 1981-03-23 1982-09-25 Sony Corp Arithmetic circuit of galois matter
EP0096165B1 (en) * 1982-06-15 1988-06-08 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
EP0096163B1 (en) * 1982-06-15 1988-06-01 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
DE3587670T2 (de) * 1984-01-21 1994-06-23 Sony Corp Verfahren und schaltung zur dekodierung von fehlercode-daten.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840326B (zh) * 2003-05-16 2013-01-16 美国亚德诺半导体公司 混合Galois域机和Galois域平方根机及其方法
WO2014026451A1 (zh) * 2012-08-03 2014-02-20 华南理工大学 一种有限域求逆器
US9389835B2 (en) 2012-08-03 2016-07-12 South China University Of Technology Finite field inverter

Also Published As

Publication number Publication date
KR930006519B1 (ko) 1993-07-16
CA1312954C (en) 1993-01-19
CN1013715B (zh) 1991-08-28
EP0328637A1 (en) 1989-08-23
US4975867A (en) 1990-12-04
WO1989001660A1 (en) 1989-02-23
MX164418B (es) 1992-08-12
JPH07112162B2 (ja) 1995-11-29
EP0328637B1 (en) 1996-11-27
KR890702113A (ko) 1989-12-22
DE3855684D1 (de) 1997-01-09
DE3855684T2 (de) 1997-05-15
EP0328637A4 (en) 1992-01-08
JPH02503855A (ja) 1990-11-08

Similar Documents

Publication Publication Date Title
CN1032595A (zh) 编码器和译码器中计算乘法逆元的设备
US4866716A (en) Real-time BCH error correction code decoding mechanism
EP0096109B1 (en) Error correcting system
CN1227817C (zh) 加速Reed Solomon解码器,解码接收码字的方法和同时估算多个变元的多项式的方法
CN1103084C (zh) 进行快速阿达玛变换的方法和装置
US5838964A (en) Dynamic numeric compression methods
US6026420A (en) High-speed evaluation of polynomials
US6779011B2 (en) System for performing multiplication and division in GF(22M)
Borwein et al. On the complexity of familiar functions and numbers
EP0149067B1 (en) Polynomial hash
US20050125480A1 (en) Method and apparatus for multiplying based on booth's algorithm
KR20040041781A (ko) 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법
Skavantzos et al. New multipliers modulo 2/sup n/-1
KR19980702551A (ko) 개량된 3, 4개 에러 보정 시스템
Gabrys et al. Reconstruction of sets of strings from prefix/suffix compositions
Baraniecka et al. On decoding techniques for residue number system realizations of digital signal processing hardware
US3742198A (en) Apparatus for utilizing a three-field word to represent a floating point number
EP0438907A2 (en) Improved error trapping decoding method and apparatus
Ryabko et al. “Book stack” as a new statistical test for random numbers
Tang et al. Error control for terminals with human operators
EP0341851A2 (en) Method and apparatus for interleaved encoding
JPH04365139A (ja) 誤り訂正処理用シンドローム演算回路
AU613701B2 (en) Apparatus for computing multiplicative inverses in data encoding decoding devices
CA1157563A (en) Word vectorization angle hashing method and apparatus
Wald et al. Simple instructions which enhance the error control capabilities of a programmed communications processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee