JP5062643B2 - Error correction coding apparatus, error correction coding method, and program - Google Patents

Error correction coding apparatus, error correction coding method, and program Download PDF

Info

Publication number
JP5062643B2
JP5062643B2 JP2011107807A JP2011107807A JP5062643B2 JP 5062643 B2 JP5062643 B2 JP 5062643B2 JP 2011107807 A JP2011107807 A JP 2011107807A JP 2011107807 A JP2011107807 A JP 2011107807A JP 5062643 B2 JP5062643 B2 JP 5062643B2
Authority
JP
Japan
Prior art keywords
encoding
vector
length
output
error correction
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
JP2011107807A
Other languages
Japanese (ja)
Other versions
JP2011172279A5 (en
JP2011172279A (en
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.)
TAMAGAWA ACADEMY & UNIVERSITY
Original Assignee
TAMAGAWA ACADEMY & UNIVERSITY
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 TAMAGAWA ACADEMY & UNIVERSITY filed Critical TAMAGAWA ACADEMY & UNIVERSITY
Priority to JP2011107807A priority Critical patent/JP5062643B2/en
Publication of JP2011172279A publication Critical patent/JP2011172279A/en
Publication of JP2011172279A5 publication Critical patent/JP2011172279A5/ja
Application granted granted Critical
Publication of JP5062643B2 publication Critical patent/JP5062643B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明は、誤り訂正符号化装置、誤り訂正符号化方法及びプログラムに関し、詳しくは、データ表現の冗長性に基づく誤り訂正符号化装置、誤り訂正符号化方法及びプログラムに関する。   The present invention relates to an error correction encoding apparatus, an error correction encoding method, and a program, and more particularly, to an error correction encoding apparatus, an error correction encoding method, and a program based on redundancy of data representation.

今日、あらゆるデジタル通信の分野において、通信路で発生した誤りを訂正するための誤り訂正符号の技術が用いられている。ここで、「通信」とは、一般的に有線や無線などの通信媒体を介して行われる離隔点間の情報伝送のことをいうが、本明細書では、このような狭い意味に限定しない。たとえば、コンパクトディスクなどの記録媒体に情報を記録することも「通信」の概念に含める。情報を送るとは、離れた場所に情報を運ぶことであり、記録するとは、後日の読み出しを想定して離れた(後日の)時間へ情報を運ぶことであるからであり、両者とも情報を運ぶ点で同じ意味だからである。   Today, in all digital communication fields, an error correction code technique for correcting an error generated in a communication path is used. Here, “communication” generally refers to information transmission between separation points performed via a communication medium such as wired or wireless, but is not limited to such a narrow meaning in this specification. For example, recording information on a recording medium such as a compact disk is also included in the concept of “communication”. Sending information is to carry information to a remote place, and recording is to carry information to a remote time (at a later date) assuming reading at a later date. Because it has the same meaning in terms of carrying.

符号理論で取り扱うのは、デジタル化された情報である。送りたいデータは、オーディオ信号やビデオ信号などをデジタル化したもの、あるいは計算機からのデジタルデータなどであろう。これらの情報の発生源や、それをデジタル化する部分などを含めて情報源という。デジタル化された情報(送りたいデータ)は、たとえば、PCM信号を考えれば分かるように、0,1の2種類の記号(数字)を使って、ビット列として表されていることが多い。このため、本明細書においても、送りたいデータはビット列、あるいは、より一般的にディジット列で表されているものとする。   The code theory deals with digitized information. The data to be sent may be a digitalized audio signal or video signal, or digital data from a computer. The source of these information and the part that digitizes it are called information sources. The digitized information (data to be sent) is often expressed as a bit string using two kinds of symbols (numbers) of 0 and 1, as can be understood by considering a PCM signal, for example. For this reason, also in this specification, it is assumed that data to be sent is represented by a bit string or, more generally, a digit string.

図3は、通信系のモデルを示す図である。この図において、情報源からは、送りたいデータとして0,1のビット列(情報ビット列)が発生する。符号器(誤り訂正符号化装置)は、この情報ビット列を、mビットごとのブロックに区切って取り扱う。各ブロックを“送りたいデータ”と呼び、この送りたいデータをi=(i1,・・・・,im)で表す。 FIG. 3 is a diagram illustrating a communication system model. In this figure, from the information source, 0 and 1 bit strings (information bit strings) are generated as data to be sent. The encoder (error correction encoding device) handles this information bit string by dividing it into blocks of every m bits. Referred to as "data to be sent" Each block represents a data to the feed i = (i 1, ····, i m) at.

符号器は、送りたいデータiに対応したnビット(n>m)の符号語w=(x1,・・・・,xn)を出力する。すなわち、この符号器で、n−mビットの余分なビット(冗長ビット)を付加する。nを符号長、mを情報ビット数といい、この操作のことを「符号化」という。通信路に送り出された符号語を送信語wといい、通信路は、この送信語wが入力されるとnビットの受信語vを出力する。伝送・記録媒体の雑音などの影響がなければ、送信語=受信語であるが、通常は雑音などのために、送信語の各ビットの0,1がある確率で異なって受信される。これを誤りといい、この様子を、通信路において各ビットに誤りeが加わったとして、v=w+eで表す。ただし、j番目のビットの誤りをejとし、eはビット列e=(e1,・・・・,en)を表し、誤りパターンとも呼ばれる。復号器は、受信語vを元に、いずれの符号語が送信されたかを推定し、送信語wの推定値または送りたいデータiの推定値を出力する。 The encoder outputs an n-bit (n> m) code word w = (x 1 ,..., X n ) corresponding to the data i to be sent. That is, this encoder adds extra bits (redundant bits) of nm bits. n is the code length, m is the number of information bits, and this operation is called “encoding”. The code word sent to the communication path is called a transmission word w, and when the transmission word w is input, the communication path outputs an n-bit reception word v. If there is no influence of noise of the transmission / recording medium, the transmitted word is equal to the received word, but normally, due to noise or the like, 0 and 1 of each bit of the transmitted word are received differently with a certain probability. This is called an error, and this state is expressed as v = w + e, assuming that an error e is added to each bit in the communication path. However, an error of the j-th bit is set to e j, and e represents a bit string e = (e 1 ,..., E n ) and is also called an error pattern. The decoder estimates which codeword is transmitted based on the received word v, and outputs an estimated value of the transmitted word w or an estimated value of the data i to be sent.

なお、実際の伝送路または記録媒体には、送信語wの各ビットxjに対応して、たとえば“0”の場合はパルスなし、“1”の場合はパルスあり、といった信号波形として送り出されるが、説明の便宜上、本明細書では具体的な波形に言及しない。 The actual transmission path or recording medium is sent out as a signal waveform corresponding to each bit x j of the transmission word w, for example, “0” has no pulse and “1” has a pulse. However, for convenience of explanation, no specific waveform is mentioned in this specification.

さて、このような符号長n、情報ビット数mの符号化のことを[n,m]符号化といい、2m通りある符号語の集合のことを[n,m]符号という(たとえば、特許文献1、特許文献2)。 Such encoding with a code length n and the number of information bits m is referred to as [n, m] encoding, and a set of 2 m codewords is referred to as [n, m] code (for example, Patent Document 1 and Patent Document 2).

より一般的に、ガロア体GF(q)上の[n,m]線形誤り訂正符号とは、GF(q)nのm次元線形部分空間のことである。GF(q)は元の数がqであるような有限体である。GF(q)nは、GF(q)の元をn個並べてできるべクトル(数ベクトル)の集合であるが、慣習に従い、GF(q)上の数ベクトルを横ベクトルで表すことにする。 More generally, the [n, m] linear error correction code on the Galois field GF (q) is an m-dimensional linear subspace of GF (q) n . GF (q) is a finite field whose original number is q. GF (q) n is a set of vectors (number vectors) that can be formed by arranging n elements of GF (q), and according to convention, a number vector on GF (q) is represented by a horizontal vector.

線形符号を用いた従来の符号化では、次のようにデータを符号化する。まず、[n,m]線形誤り訂正符号(以下、線形符号Cという。)の基底を(g1,・・・・,gm)とする。符号化すべき長さmのストリングを、GF(q)上の数ベクトルとして、次式(13)で表す。なお、線形符号Cの具体例としては、標準的な符号理論の教科書(たとえば、“The Theory of Error−Correcting Codes”,F.J.MacWilliams and N.J.A.Sloane,NORTH−HOLLAND,ISBN:0−444−85193−3/0−444−85009−0/0−444−85010−4)に記載されているように、ハミング符号、BCH符号、ゴッパ符号など様々なものがある。 In conventional encoding using a linear code, data is encoded as follows. First, a base of an [n, m] linear error correction code (hereinafter referred to as a linear code C) is assumed to be (g 1 ,..., G m ). A string of length m to be encoded is represented by the following equation (13) as a number vector on GF (q). Specific examples of the linear code C include standard code theory textbooks (for example, “The Theory of Error-Correcting Codes”, FJ MacWilliams and NJA Slone, NORTH-HOLLAND, ISBN. : 0-444-85193-3 / 0-444-85009-0 / 0-444-85010-4), there are various types such as a Hamming code, a BCH code, and a Goppa code.

Figure 0005062643
Figure 0005062643

以下では、このようなデータを(長さmの)ベクトル、あるいはGF(q)上の長さmのベクトルと呼ぶことにする。これを、次式(14)により、線形符号Cに属するベクトルf(x)に符号化する。もちろん、演算はGF(q)上で行う。たとえば、qが素数のときは、q個の数字“0,1,・・・・,q−1”とmodq計算法のもとで行う。   Hereinafter, such data is referred to as a vector (of length m) or a vector of length m on GF (q). This is encoded into a vector f (x) belonging to the linear code C by the following equation (14). Of course, the calculation is performed on GF (q). For example, when q is a prime number, the calculation is performed using q numbers “0, 1,..., Q−1” and the modq calculation method.

Figure 0005062643
Figure 0005062643

i=(gi1,・・・・,gin)(i=1,・・・・,m)のとき、次式(15)は、線形符号Cの生成行列と呼ばれる。 When g i = (g i1 ,..., g in ) (i = 1,..., m), the following expression (15) is called a generator matrix of the linear code C.

Figure 0005062643
Figure 0005062643

このような公知の符号化は、既述のとおり、[n,m]符号化であり、特に具体的に符号化を指定するためには、上記の符号化を生成行列Gにより指定される[n,m]符号化と呼ぶ。この[n,m]符号化では、n個のディジット(GF(q)の元)を使って、mディジット分の情報を送っている。線形符号C(つまり生成行列Gにより指定される[n,m]符号化)は、q=2のときが最もよく用いられる。このときGF(q)={0,1}となる。なお、q=2のとき「ディジット」は「ビット」と呼ばれる。なお、線形符号Cとその生成行列Gの具体例も、上記の標準的な符号理論の教科書に諸々記載されている。   Such a known encoding is [n, m] encoding as described above, and in order to specify the encoding specifically, the above encoding is specified by the generator matrix G [ n, m] encoding. In this [n, m] encoding, information for m digits is sent using n digits (elements of GF (q)). The linear code C (that is, [n, m] coding specified by the generator matrix G) is most often used when q = 2. At this time, GF (q) = {0, 1}. Note that when q = 2, the “digit” is called a “bit”. Specific examples of the linear code C and its generation matrix G are also described in various standard code theory textbooks.

特開2005−110251号公報JP 2005-110251 A 特許第3281938号公報Japanese Patent No. 3281938

しかしながら、上述した公知の[n,m]符号は、誤り訂正の能力は充分であるものの、伝送途中の盗聴対策が不完全であり、セキュリティに欠けるという問題点がある。すなわち、通信路に入力された送信語wや通信路から出力された受信語vを第三者に盗聴されてしまった場合、元の送りたいデータiを容易に推定されてしまうという問題点がある。   However, although the known [n, m] code described above has sufficient error correction capability, it has a problem in that the countermeasure against eavesdropping during transmission is incomplete and security is lacking. In other words, when a third party is eavesdropped on a transmission word w input to the communication path or a reception word v output from the communication path, the original data i to be sent can be easily estimated. is there.

そこで、本発明の目的は、セキュリティ対策を講じた誤り訂正符号化装置、誤り訂正符号化方法及びプログラムを提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide an error correction encoding device, an error correction encoding method, and a program in which security measures are taken.

請求項1記載の発明は、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル   According to the first aspect of the present invention, the data to be sent has a length N ′ by [[N ′, K ′]] encoding specified by the M ′ × N ′ generator matrix F on the Galois field GF (q). Vector of

Figure 0005062643
Figure 0005062643

に符号化する第1符号化手段と、i=1,・・・・,Nに対して、 For the first encoding means for encoding to i = 1,..., N,

Figure 0005062643
Figure 0005062643

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル A vector of length n i by [[n i , k i ]] encoding specified by the generator matrix G i

Figure 0005062643
Figure 0005062643

に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを備えたことを特徴とする誤り訂正符号化装置である。
請求項2記載の発明は、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
And a second coding means for coding, w (1), ····, w is obtained by concatenating the (N) [w (1) ···· w (N)] as a coding result An error correction coding apparatus comprising output means for outputting.
According to the second aspect of the present invention, the length N ′ is obtained by [[N ′, K ′]] encoding specified by the M ′ × N ′ generator matrix F on the Galois field GF (q). Vector of

Figure 0005062643
Figure 0005062643

に符号化する第1符号化工程と、i=1,・・・・,Nに対して、 For the first encoding step for encoding to i = 1,..., N,

Figure 0005062643
Figure 0005062643

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル A vector of length n i by [[n i , k i ]] encoding specified by the generator matrix G i

Figure 0005062643
Figure 0005062643

に符号化する第2符号化工程と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力工程とを含むことを特徴とする誤り訂正符号化方法である。
請求項3記載の発明は、コンピュータに、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
And a second encoding step of encoding, w (1), ····, w is obtained by concatenating the (N) [w (1) ···· w (N)] as a coding result An error correction coding method including an output step of outputting.
According to the third aspect of the present invention, the data to be sent to the computer is long by [[N ′, K ′]] encoding specified by the M ′ × N ′ generator matrix F on the Galois field GF (q). N 'vector

Figure 0005062643
Figure 0005062643

に符号化する第1符号化手段と、i=1,・・・・,Nに対して、 For the first encoding means for encoding to i = 1,..., N,

Figure 0005062643
Figure 0005062643

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル A vector of length n i by [[n i , k i ]] encoding specified by the generator matrix G i

Figure 0005062643
Figure 0005062643

に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを実現させるためのプログラムである。
請求項4記載の発明は、前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段を備えたことを特徴とする請求項1記載の誤り訂正符号化装置である。
請求項5記載の発明は、前記出力工程から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力工程を含むことを特徴とする請求項2記載の誤り訂正符号化方法である。
請求項6記載の発明は、コンピュータに、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
And a second coding means for coding, w (1), ····, w is obtained by concatenating the (N) [w (1) ···· w (N)] as a coding result This is a program for realizing output means for outputting.
According to a fourth aspect of the invention, there is provided second output means for further encrypting and outputting the encoding result output from the output means with a function g representing an arbitrary encryption method. The error correction coding apparatus according to Item 1.
The invention according to claim 5 includes a second output step of further encrypting and outputting the encoding result output from the output step with a function g representing an arbitrary encryption method. 2. The error correction coding method according to 2.
According to the sixth aspect of the present invention, the data to be sent to the computer is long by [[N ′, K ′]] encoding specified by the M ′ × N ′ generator matrix F on the Galois field GF (q). N 'vector

Figure 0005062643
Figure 0005062643

に符号化する第1符号化手段と、i=1,・・・・,Nに対して、 For the first encoding means for encoding to i = 1,..., N,

Figure 0005062643
Figure 0005062643

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル A vector of length n i by [[n i , k i ]] encoding specified by the generator matrix G i

Figure 0005062643
Figure 0005062643

に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段と、前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段とを実現させるためのプログラムである。 And a second coding means for coding, w (1), ····, w is obtained by concatenating the (N) [w (1) ···· w (N)] as a coding result This is a program for realizing output means for outputting and second output means for further encrypting and outputting the encoding result output from the output means with a function g representing an arbitrary encryption method.

説明の便宜上、[[n,k]]符号を[[4,1]]符号とし、送りたいデータを{0,1}とすると共に、たとえば、送りたいデータの“0”を{0000,1111}、送りたいデータの“1”を{0011,1100}と符号化するものとする。本発明では、データを送る際に、その{ }内のいずれか一つのパターンがランダムに選択されて送信される。たとえば、データ“0”のパターンは、“0000”と“1111”であるので、その一方をランダムに送信するなどである。このようにすれば、仮に伝送途中の第三者がそのパターンの一部を盗聴し得たとしても、元のデータを推定することはできない。これは、たとえば、“00”を盗聴できたとしても、この“00”は、データ“1”のパターンにも含まれているからである。
したがって、本発明によれば、セキュリティ対策を講じた誤り訂正符号化装置、誤り訂正符号化方法及びプログラムを提供することができる。
For convenience of explanation, the [[n, k]] code is set to [[4, 1]], the data to be sent is set to {0, 1}, and for example, “0” of the data to be sent is set to {0000, 1111. }, “1” of the data to be sent is encoded as {0011, 1100}. In the present invention, when data is transmitted, any one pattern in {} is randomly selected and transmitted. For example, since the pattern of data “0” is “0000” and “1111”, one of them is transmitted at random. In this way, even if a third party in the middle of transmission can wiretap a part of the pattern, the original data cannot be estimated. This is because, for example, even if “00” can be wiretapped, “00” is also included in the pattern of data “1”.
Therefore, according to the present invention, it is possible to provide an error correction encoding device, an error correction encoding method, and a program in which security measures are taken.

第1の実施形態([[n,k]]符号化)の概念ブロック図である。It is a conceptual block diagram of 1st Embodiment ([[n, k]] encoding). 第2の実施形態(二段階符号化)の概念的な処理フローを示す図である。It is a figure which shows the notional process flow of 2nd Embodiment (two-stage encoding). 通信系のモデルを示す図である。It is a figure which shows the model of a communication system.

以下、本発明の実施形態を説明する。
まず、言葉の定義として、長さaのベクトルx=(x1,・・・・,xa)と長さbのベクトルy=(y1,・・・・,yb)を繋げてできる長さa+bのベクトル(x1,・・・・,xa,y1,・・・・,yb)を[xy]で表すことにする。このとき、xにyを連接して[xy]を得るという。3つ以上のベクトルについても“[”と“]”で括ったもので、同様に連接してできるベクトルを表す。たとえば、[xyz]は、xにyを連接し、それにさらにzを連接してできるベクトルを表す。
Embodiments of the present invention will be described below.
First, as a definition of words, a vector x = (x 1 ,..., X a ) of length a and a vector y = (y 1 ,..., Y b ) of length b can be connected. A vector of length a + b (x 1 ,..., X a , y 1 ,..., Y b ) is represented by [xy]. At this time, y is connected to x to obtain [xy]. Three or more vectors are also enclosed in “[” and “]”, and similarly represent vectors that are concatenated. For example, [xyz] represents a vector formed by concatenating y to x and further concatenating z.

<第1の実施形態([[n,k]]符号化)>
図1は、第1の実施形態([[n,k]]符号化)の概念ブロック図である。このブロックは、冒頭で説明した通信系のモデル図(図3)における符号器として用いることができるものを模式的に表している。このブロックの具体的な構成については特に言及しない。たとえば、ハードロジックで構成されていてもよいし、あるいは、その全てまたはその主要な機能の一部がコンピュータで実行可能なソフトウェアで構成されていてもよい。いずれにせよ、以下に説明する機能を実現できる構成になっていればよい。
<First Embodiment ([[n, k]] encoding)>
FIG. 1 is a conceptual block diagram of the first embodiment ([[n, k]] encoding). This block schematically shows what can be used as an encoder in the communication system model diagram (FIG. 3) described at the beginning. A specific configuration of this block is not particularly mentioned. For example, it may be configured by hard logic, or may be configured by software that can be executed by a computer, all or a part of its main functions. In any case, it is sufficient that the configuration described below can be realized.

図示のブロック全体の名称は、たとえば、冒頭の通信モデルのように、符号器と呼称しても構わないが、ここでは、従来技術の[n,m]符号化と区別するために、二重の括弧を用いて[[n,k]]符号化部1と称することにし、さらに、この[[n,k]]符号化部1による符号化のことを、[[n,k]]符号化と称することにする。   The name of the entire block shown in the figure may be referred to as an encoder as in the communication model at the beginning, for example, but here, in order to distinguish it from the conventional [n, m] encoding, The [[n, k]] encoding unit 1 is used to denote the encoding by the [[n, k]] encoding unit 1, and the [[n, k]] encoding is referred to as the [[n, k]] encoding. Will be referred to as the

[[n,k]]符号化部1は、少なくとも、u発生部2、x´生成部3及び[n,m]符号化部4を含む。u発生部2は、たとえば、物理的な乱数発生器または疑似乱数発生器であり、[n,m]符号化部4は、従来技術の[n,m]符号化に相当する操作を行うものである。   The [[n, k]] encoding unit 1 includes at least a u generation unit 2, an x ′ generation unit 3, and an [n, m] encoding unit 4. The u generator 2 is, for example, a physical random number generator or a pseudo-random number generator, and the [n, m] encoder 4 performs an operation corresponding to the conventional [n, m] encoding. It is.

この第1の実施形態では、情報のセキュリティを確保するため、以下の新しい符号化を行う。この方式は、簡単にいえば、冒頭で説明した公知の[n,m]符号化を用いてkディジット分の情報を送るというものである。ただし、k≦mである。   In the first embodiment, the following new encoding is performed to ensure information security. In short, this method is to send k digits of information using the well-known [n, m] encoding described at the beginning. However, k ≦ m.

今、送りたいデータxが、次式(28)のようなものであるとする。   Assume that the data x to be sent is as shown in the following equation (28).

Figure 0005062643
Figure 0005062643

x´生成部3は、このデータxに、u発生部2でランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接して、次式(29)のx´を得る。 The x ′ generator 3 concatenates this data x with a vector u = (x k + 1 ,..., x m ) consisting of m−k digits randomly generated by the u generator 2. Thus, x ′ in the following formula (29) is obtained.

Figure 0005062643
Figure 0005062643

[n,m]符号化部4は、前記の生成行列Gによって指定される[n,m]符号化を用いて、x´生成部3で演算されたx´を、長さnのベクトルf(x´)に符号化する。   The [n, m] encoding unit 4 uses the [n, m] encoding specified by the generation matrix G to convert x ′ calculated by the x ′ generation unit 3 into a vector f having a length n. It encodes to (x ').

このように、この第1の実施形態では、送りたいデータxにランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接してx´を生成し、そのx´を、[n,m]符号化を用いて長さnのベクトルf(x´)に符号化し、それを出力する。 Thus, in the first embodiment, a vector u = (x k + 1 ,..., X m ) consisting of m−k digits randomly generated in the data x to be sent is concatenated. X ′ is encoded, and the x ′ is encoded into a vector f (x ′) of length n using [n, m] encoding, which is output.

この第1の実施形態における符号化は、前記のとおり、 [[n,k]]符号化であり、生成行列Gを変えることで異なる符号化が得られるため、特に符号化を具体的に指定するためには、これを、生成行列Gによって指定される[[n,k]]符号化と呼ぶ。この[[n,k]]符号化のイメージは、次式(30)のように示すことができる。   As described above, the encoding in the first embodiment is [[n, k]] encoding, and different encoding can be obtained by changing the generator matrix G. Therefore, the encoding is specifically specified. In order to do this, this is called [[n, k]] encoding specified by the generator matrix G. An image of this [[n, k]] encoding can be expressed as the following equation (30).

Figure 0005062643
Figure 0005062643

式(30)の全体は、図1の[[n,k]]符号化部1に相当する。さらに、x→x´の部分はx´生成部3に相当し、x´→f(x´)の部分は[n,m]符号化部4に相当する。   The entire expression (30) corresponds to the [[n, k]] encoding unit 1 in FIG. Further, the x → x ′ portion corresponds to the x ′ generation unit 3, and the x ′ → f (x ′) portion corresponds to the [n, m] encoding unit 4.

ここで、前記の“発明の効果”の欄で挙げた例が、この第1の実施形態の[[n,k]]符号化で実現できることを説明する。線形符号Cの基底を(g1,・・・・,gm)とし、このうち(gk+1,・・・・,gm)の張る部分空間をBとするとともに、n=4、k=1、m=2とすれば、 1 、g 2 の一例は、次式(31)、(32)のように書き表すことができ、線形符号Cの一例は、次式(33)のように書き表すことができ、また、Bの一例は、次式(34)のように書き表すことができる。なお、これらは、GF(q)=GF(2)の場合の例である。 Here, it will be described that the example given in the column of “Effects of the Invention” can be realized by the [[n, k]] encoding of the first embodiment. The base of the linear code C is (g 1 ,..., G m ), and the subspace spanned by (g k + 1 ,..., G m ) is B, and n = 4, If k = 1 and m = 2 , an example of g 1 and g 2 can be written as the following equations (31) and (32), and an example of the linear code C can be expressed by the following equation ( 33 ): Moreover, an example of B can be expressed as the following equation ( 34 ). These are examples when GF (q) = GF (2).

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

前記のとおり、g1、g2は、前式31)及び前式32)のように書き表すことができる。すると、次式(35)のように、u発生部2でx2=0,1がランダムに発生されるから、送りたいデータがx1=0であるか、x1=1であるかに応じて、[[n,k]]符号化器1の出力は、{0000,1111}か{1100,0011}になる。ただし、ここでは、ベクトル(1,1,1,1)を“1111”と書くなどした。 As described above , g 1 and g 2 can be expressed as in the previous formula ( 31 ) and the previous formula ( 32 ). Then, as shown in the following equation ( 35 ), x 2 = 0, 1 is randomly generated in the u generation unit 2, so whether the data to be sent is x 1 = 0 or x 1 = 1. In response, the output of [[n, k]] encoder 1 is {0000, 1111} or {1100, 0011}. Here, the vector (1, 1, 1, 1) is written as “1111”.

Figure 0005062643
Figure 0005062643

このように、この第1の実施形態によれば、送りたいデータxにランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接してx´を生成し、そのx´を、[n,m]符号化を用いて長さnのベクトルf(x´)に符号化することにより、kディジット分の情報を生成出力することができるので、以下の理由から、情報のセキュリティを確保することができる。 Thus, according to the first embodiment, a vector u = (x k + 1 ,..., X m ) consisting of m−k digits randomly generated in the data x to be sent is By concatenating to generate x ′, the x ′ is encoded into a vector f (x ′) of length n using [n, m] encoding, thereby generating and outputting information for k digits. Therefore, the security of information can be ensured for the following reasons.

今、簡単化のために、[[n,k]]符号を[[4,1]]符号とし、送りたいデータを{0,1}とする。この場合、第1の実施形態では、たとえば、送りたいデータの“0”を{0000,1111}、送りたいデータの“1”を{0011,1100}と符号化し、データを送る際に、その{
}内のいずれか一つのパターンをランダムに選択して送信する。たとえば、データ“0”のパターンは、“0000”と“1111”であるので、その一方をランダムに送信する。仮に伝送途中の第三者がそのパターンの一部を盗聴し得たとしても、元のデータを推定することはできない。これは、たとえば、“00”を盗聴できたとしても、この“00”は、データ“1”のパターンにも含まれているからである。
For simplification, the [[n, k]] code is a [[4, 1]] code and the data to be sent is {0, 1}. In this case, in the first embodiment, for example, when “0” of data to be transmitted is encoded as {0000, 1111} and “1” of data to be transmitted is encoded as {0011, 1100}, {
}, One of the patterns is randomly selected and transmitted. For example, since the pattern of data “0” is “0000” and “1111”, one of them is transmitted at random. Even if a third party in the middle of transmission can wiretap a part of the pattern, the original data cannot be estimated. This is because, for example, even if “00” can be wiretapped, “00” is also included in the pattern of data “1”.

したがって、この第1の実施形態の符号化手法([[n,k]]符号化)においては、伝送途中の第三者による盗聴を効果的に防止し、セキュリティ対策を講じることができるので、本発明の冒頭の課題を達成することができる。   Therefore, in the encoding method ([[n, k]] encoding) of the first embodiment, it is possible to effectively prevent eavesdropping by a third party during transmission and to take security measures. The problems at the beginning of the present invention can be achieved.

<第2の実施形態(二段階符号化)>
以上説明した第1の実施形態の符号化手法([[n,k]]符号化)においては、セキュリティ対策を講じることができる点で有益である。一方で、理論的な解析により比較的符号長が長い方が復号誤り確率と安全性の点で有利であることは分かっているものの、符号長が長くなるにつれ、符号化や復号化の手続きの煩雑さが増していくことを否めず、この手続きの煩雑さが、実用化する上での障害となる可能性がある。上記のとおり、[[n,k]]符号化は、通信路上での盗聴を回避できるという従来技術にない格別有益なメリットを持つため、かかる障害要因(手続きの煩雑さ)の克服は、是非とも達成されなければならない技術課題である。以下に説明する第2の実施形態は、そのためのものである。簡潔に述べれば、この第2の実施形態は、分割統治の考え方(与えられた問題をいくつかの小さな問題に分割して解き、それをもとに統治をおこない、問題の解を得る手法のこと。分割統治法:Divide
and Conquerともいう。)を採用して、大きな符号長を持つ[[n,k]]符号化と同等の符号化の処理をいくつかの処理に分けて段階的に行うことにより、前記の障害要因を克服し、以て、産業上の利用に充分に耐え得る誤り訂正符号化の技術を提供するものである。
<Second embodiment (two-stage encoding)>
The encoding method ([[n, k]] encoding) of the first embodiment described above is advantageous in that it can take security measures. On the other hand, it is known from theoretical analysis that a relatively long code length is advantageous in terms of decoding error probability and security. However, as the code length increases, the encoding and decoding procedures are increased. There is no denying that the complexity increases, and the complexity of this procedure may become an obstacle to practical use. As described above, [[n, k]] coding has an exceptionally beneficial merit that can prevent eavesdropping on the communication path, so it is a must to overcome such an obstacle factor (complexity of procedures). Both are technical issues that must be achieved. The second embodiment described below is for that purpose. To put it briefly, this second embodiment is based on the idea of division and governance (a method of solving a given problem by dividing it into several small problems and performing governance based on it and obtaining a solution to the problem) Divide and Conquer Law: Divide
Also called and Conquer. ) To overcome the above-mentioned obstacle factor by dividing the encoding process equivalent to [[n, k]] encoding having a large code length into several processes in stages. Thus, an error correction coding technique that can sufficiently withstand industrial use is provided.

第2の実施形態について説明する。この第2の実施形態では、以下に詳述するように、一例として、2つの線形符号を使って符号化する方法を開示する。以下、この符号化のことを「二段階符号化」という。   A second embodiment will be described. In the second embodiment, as described in detail below, as an example, a method of encoding using two linear codes is disclosed. Hereinafter, this encoding is referred to as “two-stage encoding”.

この二段階符号化では、N>0,ni≧mi≧ki≧0(i=1,・・・・,N)を整数(実用的なのは、ni,mi,kiがiに依らない場合である。)とするとき、mi×ni生成行列Giにより指定される[[ni,ki]]符号化と、GF(q)上のM´×N´生成行列Fにより指定される[[N´,K´]]符号化とを組み合わせて符号化する。この二段階符号化はトータルとしてN″ディジットを使いK´ディジットの情報を送っているという意味で[[N″,K´]]符号化と同等の伝送効率を持つ。ただし、N´とN″は、次式(36)で与えられる。 In this two-stage encoding, N> 0, n i ≧ m i ≧ k i ≧ 0 (i = 1,..., N) is an integer (practically, n i , m i , k i is i And [[n i , k i ]] encoding specified by the m i × n i generator matrix G i and M ′ × N ′ generation on GF (q). Encoding is performed in combination with [[N ′, K ′]] encoding specified by the matrix F. This two-stage encoding has the same transmission efficiency as [[N ″, K ′]] encoding in the sense that K ′ digit information is sent using N ″ digits as a total. However, N ′ and N ″ are given by the following equation (36).

Figure 0005062643
Figure 0005062643

具体的な二段階符号化の方法は、以下のようになる。ここで、送信データの長さはK´である。 A specific two-stage encoding method is as follows. Here, the length of the transmission data is K ′.

図2は、第2の実施形態(二段階符号化)の概念的な処理フローを示す図である。この処理フローは、冒頭で説明した通信系のモデル図(図3)における符号器として用いることができるものを模式的に表している。前記の第1の実施形態と同様に、この処理フローは、ハードロジックで構成されていてもよいし、あるいは、その全てまたはその主要な機能の一部がコンピュータで実行可能なソフトウェアで構成されていてもよい。いずれにせよ、以下に説明する機能を実現できる構成になっていればよい。   FIG. 2 is a diagram showing a conceptual processing flow of the second embodiment (two-stage encoding). This processing flow schematically represents what can be used as an encoder in the communication system model diagram (FIG. 3) described at the beginning. As in the first embodiment, this processing flow may be configured by hard logic, or all or some of its main functions are configured by software that can be executed by a computer. May be. In any case, it is sufficient that the configuration described below can be realized.

この処理フローにおいて、まず、ステップS1の[[N´,K´]]符号化で、GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、任意の送りたいデータを、長さN´のベクトルに符号化する。このベクトルは、N個のブロックに分割して、次式(37)のように書くことができる。   In this processing flow, first, [[N ′, K ′]] specified by the M ′ × N ′ generator matrix F on GF (q) in [[N ′, K ′]] encoding in step S1. By encoding, arbitrary data to be sent is encoded into a vector of length N ′. This vector can be divided into N blocks and written as the following equation (37).

Figure 0005062643
Figure 0005062643

次いで、ステップS2の[[ni,ki]]符号化で、i=1,・・・・,Nに対して、 Next, with [[n i , k i ]] encoding in step S2, for i = 1,.

Figure 0005062643
Figure 0005062643

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル A vector of length n i by [[n i , k i ]] encoding specified by the generator matrix G i

Figure 0005062643
Figure 0005062643

に符号化する。 Is encoded.

そして、最後のステップS3で、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する。 Then, in the last step S3, w (1), ···· , obtained by connecting a w (N) [w (1 ) ···· w (N)] and outputs as coding results.

ここで、ステップS1で用いる符号について、特に有用なのは、GF(q)上のM´×N´生成行列Fで指定される[[N´,K´]]符号化が、GF(q)の拡大体GF(qk)上の符号に由来する場合である。この場合、たとえば、GF(qk)上のリード・ソロモン符号を使用することができる。実用上、GF(qk)上の[N,K]リード・ソロモン符号は、GF(q)上の[kN,kK]符号として用いられている。たとえば、コンパクトディスクに用いられているリード・ソロモン符号などである(q=2)。 Here, regarding the codes used in step S1, it is particularly useful that the [[N ′, K ′]] encoding specified by the M ′ × N ′ generator matrix F on GF (q) is GF (q). This is the case derived from the code on the extension field GF (q k ). In this case, for example, a Reed-Solomon code on GF (q k ) can be used. In practice, the [N, K] Reed-Solomon code on GF (q k ) is used as the [kN, kK] code on GF (q). For example, a Reed-Solomon code used for a compact disk (q = 2).

すなわち、ステップS1の[[N´,K´]]符号化では、従来の[n,m]符号化に相当する[N´,M´]符号化を用いることができるが、この部分では、GF(qk)上の[N,M]符号をGF(q)上の[kN,kM]符号として用いることができる。ただし、N´=kN,M´=kMとおく。 That is, in the [[N ′, K ′]] encoding in step S1, [N ′, M ′] encoding corresponding to the conventional [n, m] encoding can be used. [N, M] codes on GF (q k ) can be used as [kN, kM] codes on GF (q). However, N ′ = kN and M ′ = kM.

なお、これは、GF(qk)の元を、GF(q)上の長さkのベクトルとして表現して得られるものである。具体的には、以下のとおりである。今、GF(q)上の線形空間であるGF(qk)の基底をb=(βjk j=1とする。これを用いて、いかなる要素ζ∈GF(qk)も、次式(40)のように書くことが可能であるので、このように得られた数の行ベクトル(x1,・・・・,xk)を、φ(ζ)の記号で示すことにする。 This is obtained by expressing an element of GF (q k ) as a vector of length k on GF (q). Specifically, it is as follows. Now, let b = (β j ) k j = 1 be the basis of GF (q k ), which is a linear space on GF (q). Using this, any element ζ∈GF (q k ) can be written as in the following equation (40), so the number of row vectors (x 1 ,... , X k ) is represented by the symbol φ (ζ).

Figure 0005062643
Figure 0005062643

この変換「ζ→φ(ζ)=(x1,・・・・,xk)」を用いた対応「ξ=(ξ1,・・・・,ξN)←→[φ(ξ1)・・・・φ(ξN)]」により、GF(qk)上の長さNのベクトルξと、GF(q)上の長さkNのベクトル[φ(ξ1)・・・・φ(ξN)]とを同一視することができるようになる。 Corresponding “ξ = (ξ 1 ,..., Ξ N ) ← → [φ (ξ 1 ) using this transformation“ ζ → φ (ζ) = (x 1 ,..., X k ) ” ... Φ (ξ N )] ”, a vector ξ of length N on GF (q k ) and a vector k of length kN on GF (q) [φ (ξ 1 ). (Ξ N )] can be identified.

二段階符号化の具体例を説明する。ni,mi,kiがiに依らない場合、すなわち、n≧m≧k≧0を整数として、ni=n,mi=m,ki=k(i=1,・・・・,N)の場合の具体例を挙げる。上記のステップS1では、前述したような[kN,kM]符号化を用いる。たとえば、q=2で、k=4ならば、リード・ソロモン符号による[4・15,4M]符号化を用いることができる。ただし、0<M≦15である。この場合、上記のステップS1では、次式(41)が得られる。 A specific example of two-stage encoding will be described. When n i , m i , and k i do not depend on i, that is, n ≧ m ≧ k ≧ 0 is an integer, n i = n, m i = m, k i = k (i = 1,...・ Specific examples in the case of N) are given below. In the above step S1, [kN, kM] encoding as described above is used. For example, if q = 2 and k = 4, [4 · 15,4M] encoding by Reed-Solomon code can be used. However, 0 <M ≦ 15. In this case, in the above step S1, the following equation (41) is obtained.

Figure 0005062643
Figure 0005062643

ステップS2では、同一の生成行列Gによって指定される[[n,k]]符号化を、y1 (i),・・・・,yk (i)に適用してもよい(i=1,・・・・,N)。たとえば、n=6のとき、次式(42)〜(46)として、第i行がgiであるような生成行列Gによって指定される[[6,4]]符号化を行う。このように、生成行列Gによって指定される[[6,4]]符号化の出力は、ハミング重みが偶数であるようなベクトルとなる。 In step S2, [[n, k]] encoding specified by the same generator matrix G may be applied to y 1 (i) ,..., Y k (i) (i = 1). ,..., N). For example, when n = 6, [[6,4]] encoding specified by the generator matrix G in which the i-th row is g i is performed as the following equations (42) to (46). Thus, the output of [[6, 4]] coding specified by the generator matrix G is a vector whose hamming weight is an even number.

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

Figure 0005062643
Figure 0005062643

なお、上記において、拡大体GF(qk)上の符号について取り扱ったのは、このような符号を用いると効率の良い復号を行うことができるからである。しかし、これは、性能的に最良(ベストモード)の実施態様を例示しているに過ぎない。したがって、本発明は、この拡大体GF(qk)上の符号を使用するケースに限定されない。 In the above, the reason why the codes on the extension field GF (q k ) are handled is that efficient decoding can be performed using such codes. However, this merely illustrates the best (best mode) implementation in terms of performance. Therefore, the present invention is not limited to the case of using a code on this extension field GF (q k ).

以上のとおり、この第2の実施形態においては、分割統治の考え方を採用して、大きな符号長を持つ[[n,k]]符号化と同等の符号化の処理をいくつかの処理に分けて段階的に行うようにしたので、符号化や復号化の手続きを効率的に行うことができ、手続きの簡素化を図ることができる。したがって、先に説明した第1の実施形態の符号化手法([[n,k]]符号化)の利点(セキュリティ対策を講じることができる。)を活かしつつ、[[n,k]]符号化の長い符号長に伴う欠点(符号化や復号化の手続きの煩雑さ)を解決し、実用に耐え得る誤り訂正符号化の技術を提供することができる。 As described above, the second embodiment adopts the concept of divide and conquer and divides the encoding process equivalent to [[n, k]] encoding having a large code length into several processes. Therefore, the encoding and decoding procedures can be efficiently performed, and the procedure can be simplified. Therefore, the [[n, k]] code is utilized while taking advantage of the coding method ([[n, k]] coding) of the first embodiment described above (security measures can be taken). Therefore, it is possible to provide a technique for error correction coding that can solve the drawbacks (complexity of coding and decoding procedures) associated with a long code length and can withstand practical use.

なお、この第2の実施形態は、二段階符号化に関するものであるが、二段階に限らず、三段階以上のものも包含する。これは、三段階以上の場合、二段階符号化を手続きの一部に含むからである。したがって、発明にとって必須な事項は、二段階符号化に関する部分(図2のステップS1、ステップS2)にあるということができる。   Although the second embodiment relates to two-stage encoding, the second embodiment is not limited to two stages and includes three or more stages. This is because if there are more than two stages, two-stage encoding is included as part of the procedure. Therefore, it can be said that the essential matter for the invention is in the part relating to the two-stage encoding (step S1, step S2 in FIG. 2).

前記第1の実施形態は[[n,k]]符号化に関するものであり、また、前記第2の実施形態は二段階符号化に関するものである。これら二つの実施形態は、前式(30)で示したとおり、たとえば、従来の[n,m]符号化をブラックボックス化することによって極めて単純に構築することができる。これを補足すると、次式(47)のようになる。   The first embodiment relates to [[n, k]] encoding, and the second embodiment relates to two-stage encoding. These two embodiments can be constructed very simply, for example, by black-boxing conventional [n, m] coding, as shown in equation (30). Supplementing this, the following equation (47) is obtained.

Figure 0005062643
Figure 0005062643

この式(47)より、前記二つの実施形態は、結局、「通信路または記憶デバイス」へ入力する前の部分だけの符号化法であるということができる。   From this equation (47), it can be said that the two embodiments are encoding methods only for the part before being input to the “communication path or storage device”.

ちなみに、本発明の本質ではないものの、「復号器」についても言及すれば、前記二つの実施形態に対応する復号器の中身は、概ね次式(48)のように書き表すことができる。   Incidentally, although it is not the essence of the present invention, the content of the decoder corresponding to the above two embodiments can be generally expressed as the following equation (48) when “decoder” is also referred to.

Figure 0005062643
Figure 0005062643

ここで、x,uの推定値はそれぞれ、次式(49)で与えられる。   Here, the estimated values of x and u are respectively given by the following equation (49).

Figure 0005062643
Figure 0005062643

以上のことから、二段階符号化もトータルとして見れば、次式(50)のような方式と同等と見なすことができるので、上式(4)の復号原理を適用することができる。 From the above, if the two-stage encoding is also viewed as a total, it can be regarded as equivalent to the method of the following equation (50), so the decoding principle of the above equation (4 8 ) can be applied.

Figure 0005062643
Figure 0005062643

ただし、効率の点では、二段階符号化に対応した二段階の復号化を適用することが望ましい。これは、公知の二段階符号化=連接符号の復号に類似する。   However, in terms of efficiency, it is desirable to apply two-stage decoding corresponding to two-stage encoding. This is similar to the known two-stage encoding = decoding of concatenated codes.

なお、前記第1の実施形態において、[n,m]符号化部4の[n,m]符号化は、“生成行列Gによって指定される”としてあるが、これは具体例として挙げたある特定の符号の生成行列Gに限定されない。[n,m]線形符号の生成行列であれば、ある特定の生成行列Gに限らず、全て使用することができる。このことは、第2の実施形態における二段階符号化でも同様である。   In the first embodiment, the [n, m] encoding of the [n, m] encoding unit 4 is “specified by the generator matrix G”, which is given as a specific example. The generation matrix G is not limited to a specific code. Any [n, m] linear code generator matrix can be used, not limited to a specific generator matrix G. The same applies to the two-stage encoding in the second embodiment.

また、先に述べたとおり、前式(47)は、『前記二つの実施形態が、結局、「通信路または記憶デバイス」へ入力する前の部分だけの符号化法である』ことを意味しているが、これによって、本発明の利用形態を限定的に把握してはならない。つまり、前式(47)によれば、直接的には、[[n,k]]符号化したデータf(x´)を、そのまま通信路または記憶デバイスに入力する最も単純な利用形態のみをイメージさせるかも知れないが、それは、本発明の利用形態の一例を示しているに過ぎないものである。   In addition, as described above, the previous equation (47) means that the above-mentioned two embodiments are, in the end, an encoding method only for a portion before being input to the “communication path or storage device”. However, this does not restrict the usage of the present invention. That is, according to the previous equation (47), only the simplest usage mode in which the [[n, k]] encoded data f (x ′) is directly input to the communication path or the storage device is directly used. Although it may be imaged, it is merely an example of the mode of use of the present invention.

たとえば、暗号強度をさらに高める狙いから、本方式を別の暗号化方式と併用することも充分に考えられる利用形態の一つである。この併用形態について説明すると、今、併用する暗号化方式を表す関数をgとする。そして、上記のf(x´)をさらにg(f(x´))に暗号化した後に、g(f(x´))を通信路または記憶デバイスに入力するようにすれば、f(x´)の暗号強度がさらにgで補強されるので、より実用上好ましい強力な暗号化方式とすることができる。ただし、現在普及している暗号方式では一般的にgは暗号鍵Kに依存し、記法としてはg=gKの形にすることが多いが、以上の説明では簡単化のために、併用する暗号化方式を表す関数を単にgとした。したがって、このgはg=gKの形も包含する。 For example, in order to further increase the encryption strength, the use of this method in combination with another encryption method is one of the possible forms of use. This combined form will be described. Now, let g be a function representing an encryption method used together. Then, after f (x ′) is further encrypted to g (f (x ′)) and then g (f (x ′)) is input to the communication path or storage device, f (x Since the encryption strength of ′) is further reinforced by g, a stronger encryption method that is more practically preferable can be obtained. However, g currently depends on the encryption key K in the currently popular cryptosystem, and is often in the form of g = g K as a notation, but in the above description, it is used together for the sake of simplification. The function representing the encryption method is simply g. Therefore, this g includes the form g = g K.

1:[[n,k]]符号化器(誤り訂正符号化装置)
2:u発生部(発生手段、発生工程)
3:x´生成部(生成手段、生成工程)
4:[n,m]符号化部(出力手段、出力工程)
S1:ステップ(第1符号化手段、第1符号化工程)
S2:ステップ(第2符号化手段、第2符号化工程)
S3:ステップ(出力手段、出力工程)
1: [[n, k]] encoder (error correction encoding device)
2: u generation part (generation means, generation process)
3: x ′ generator (generator, generator)
4: [n, m] encoding unit (output means, output process)
S1: Step (first encoding means, first encoding step)
S2: Step (second encoding means, second encoding step)
S3: Step (output means, output process)

Claims (6)

m−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )をランダムに発生する発生手段と、
送りたいデータx=(x 1 ,・・・・,x k )に前記発生手段でランダムに発生したm−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )を連接して、x′=[xu]=(x 1 ,・・・・,x m )を生成する生成手段と、
前記生成手段で生成されたx′を[n,m]符号化して長さnのベクトルを出力する出力手段とを備える[[n,k]]符号化を行う誤り訂正符号化装置に関するものであり、
所定の符号長N″を使い、K′ディジットからなるベクトルである長さK′の送りたいデータを送信する[[N″,K′]]符号化と同等の伝送効率を持つ処理を分割統治法によって複数の段階に分割して行う手段であって、
長さK′の送りたいデータを、ガロア体GF(q)上のM′×N′生成行列Fによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれN′、K′を代入して得られる[[N′,K′]]符号化により、長さN′のベクトル
Figure 0005062643
に符号化する第1符号化手段と、
i=1,・・・・,Nに対して、前記第1符号化手段で得られた
Figure 0005062643
i ×n i 生成行列Giによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれn i ,k i を代入して得られる[[ni,ki]]符号化により、長さniのベクトル
Figure 0005062643
に符号化する第2符号化手段と、
前記第2符号化手段で得られたw(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを備え
こで、変数N、ni、mi及びkiは、N>0,ni≧mi≧ki≧0(i=1,・・・・,N)を満足する整数であり、N′とN″は、次式(36)で表される
Figure 0005062643
ことを特徴とする誤り訂正符号化装置。
generating means for randomly generating a vector u = (x k + 1 ,..., x m ) composed of m−k digits ;
A vector u = (x k + 1 ,..., X m consisting of m−k digits randomly generated by the generating means in the data x = (x 1 ,..., X k ) to be sent. ) To generate x ′ = [xu] = (x 1 ,..., X m ),
The present invention relates to an error correction coding apparatus for performing [[n, k]] coding, comprising: [n, m] coding of x ′ generated by the generating means and output means for outputting a vector of length n. Yes,
Divide and conquer processing with transmission efficiency equivalent to [[N ", K ']] encoding that uses a predetermined code length N" and transmits the data to be sent with a length K' that is a vector of K 'digits A means for performing division into a plurality of stages by law,
The data to be sent of length K ′ is designated by the M ′ × N ′ generator matrix F on the Galois field GF (q) , and the variables [n, k] in the [[n, k]] encoding are respectively N ′, A vector of length N ′ is obtained by [[N ′, K ′]] encoding obtained by substituting K ′.
Figure 0005062643
First encoding means for encoding into:
obtained by the first encoding means for i = 1,..., N
Figure 0005062643
The specified by m i × n i generator matrix G i, the [[n, k]] variables in the encoding n, respectively k n i, obtained by substituting the k i [[n i, k i] ] A vector of length n i by encoding
Figure 0005062643
Second encoding means for encoding
[W (1) ... W (N) ] obtained by concatenating w (1) ,..., W (N) obtained by the second encoding means is output as an encoding result. and output means for,
In here, the variable N, n i, m i and k i is, N> 0, n i ≧ m i ≧ k i ≧ 0 (i = 1, ····, N) is an integer that satisfies, N ′ and N ″ are expressed by the following equation (36).
Figure 0005062643
An error correction coding apparatus characterized by the above.
m−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )をランダムに発生する発生工程と、
送りたいデータx=(x 1 ,・・・・,x k )に前記発生工程でランダムに発生したm−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )を連接して、x′=[xu]=(x 1 ,・・・・,x m )を生成する生成工程と、
前記生成工程で生成されたx′を[n,m]符号化して長さnのベクトルを出力する出力工程とを備える[[n,k]]符号化を行う誤り訂正符号化方法に関するものであり、
所定の符号長N″を使い、K′ディジットからなるベクトルである長さK′の送りたいデータを送信する[[N″,K′]]符号化と同等の伝送効率を持つ処理を分割統治法によって複数の段階に分割して行う工程であって、
長さK′の送りたいデータを、ガロア体GF(q)上のM′×N′生成行列Fによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれN′、K′を代入して得られる[[N′,K′]]符号化により、長さN′のベクトル
Figure 0005062643
に符号化する第1符号化工程と、
i=1,・・・・,Nに対して、前記第1符号化工程で得られた
Figure 0005062643
i ×n i 生成行列Giによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれn i ,k i を代入して得られる[[ni,ki]]符号化により、長さniのベクトル
Figure 0005062643
に符号化する第2符号化工程と、
前記第2符号化工程で得られたw(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力工程とを備え
こで、変数N、ni、mi及びkiは、N>0,ni≧mi≧ki≧0(i=1,・・・・,N)を満足する整数であり、N′とN″は、次式(36)で表される
Figure 0005062643
ことを特徴とする誤り訂正符号化方法。
a generating step for randomly generating a vector u = (x k + 1 ,..., x m ) consisting of m−k digits ;
A vector u = (x k + 1 ,..., X m) consisting of m−k digits randomly generated in the generating step in the data x = (x 1 ,..., X k ) to be sent. ) To generate x ′ = [xu] = (x 1 ,..., X m ),
The present invention relates to an error correction coding method for performing [[n, k]] coding, comprising [n, m] coding of x ′ generated in the generating step and outputting a vector of length n. Yes,
Divide and conquer processing with transmission efficiency equivalent to [[N ", K ']] encoding that uses a predetermined code length N" and transmits the data to be sent with a length K' that is a vector of K 'digits a step of performing divided into a plurality of stages by law,
The data to be sent of length K ′ is designated by the M ′ × N ′ generator matrix F on the Galois field GF (q) , and the variables [n, k] in the [[n, k]] encoding are respectively N ′, A vector of length N ′ is obtained by [[N ′, K ′]] encoding obtained by substituting K ′.
Figure 0005062643
A first encoding step of encoding into
For i = 1,..., N, obtained in the first encoding step.
Figure 0005062643
The specified by m i × n i generator matrix G i, the [[n, k]] variables in the encoding n, respectively k n i, obtained by substituting the k i [[n i, k i] ] A vector of length n i by encoding
Figure 0005062643
A second encoding step of encoding into
[W (1) ... W (N) ] obtained by concatenating w (1) ,..., W (N) obtained in the second encoding step is output as an encoding result. and an output step of,
In here, the variable N, n i, m i and k i is, N> 0, n i ≧ m i ≧ k i ≧ 0 (i = 1, ····, N) is an integer that satisfies, N ′ and N ″ are expressed by the following equation (36).
Figure 0005062643
An error correction coding method characterized by the above.
m−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )をランダムに発生する発生手段と、
送りたいデータx=(x 1 ,・・・・,x k )に前記発生手段でランダムに発生したm−k個のディジットからなるベクトルu=(x k+1 ,・・・・,x m )を連接して、x′=[xu]=(x 1 ,・・・・,x m )を生成する生成手段と、
前記生成手段で生成されたx′を[n,m]符号化して長さnのベクトルを出力する出力手段とを実現させる[[n,k]]符号化のための誤り訂正符号化プログラムに関するものであり、
所定の符号長N″を使い、K′ディジットからなるベクトルである長さK′の送りたいデータを送信する[[N″,K′]]符号化と同等の伝送効率を持つ処理を分割統治法によって複数の段階に分割して行う手段であって、
コンピュータに、
長さK′の送りたいデータを、ガロア体GF(q)上のM′×N′生成行列Fによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれN′、K′を代入して得られる[[N′,K′]]符号化により、長さN´のベクトル
Figure 0005062643
に符号化する第1符号化手段と、
i=1,・・・・,Nに対して、前記第1符号化手段で得られた
Figure 0005062643
i ×n i 生成行列Giによって指定され、前記[[n,k]]符号化において変数n、kにそれぞれn i ,k i を代入して得られる[[ni,ki]]符号化により、長さniのベクトル
Figure 0005062643
に符号化する第2符号化手段と、
前記第2符号化手段で得られたw(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを実現させ
こで、変数N、ni、mi及びkiは、N>0,ni≧mi≧ki≧0(i=1,・・・・,N)を満足する整数であり、N′とN″は、次式(36)で表される
Figure 0005062643
ことを特徴とする誤り訂正符号化プログラム。
generating means for randomly generating a vector u = (x k + 1 ,..., x m ) composed of m−k digits ;
A vector u = (x k + 1 ,..., X m consisting of m−k digits randomly generated by the generating means in the data x = (x 1 ,..., X k ) to be sent. ) To generate x ′ = [xu] = (x 1 ,..., X m ),
The present invention relates to an error correction coding program for [[n, k]] coding that realizes [n, m] coding of x ′ generated by the generating means and outputs a vector of length n. Is,
Divide and conquer processing with transmission efficiency equivalent to [[N ", K ']] encoding that uses a predetermined code length N" and transmits the data to be sent with a length K' that is a vector of K 'digits A means for performing division into a plurality of stages by law,
On the computer,
The data to be sent of length K ′ is designated by the M ′ × N ′ generator matrix F on the Galois field GF (q) , and the variables [n, k] in the [[n, k]] encoding are respectively N ′, A vector of length N ′ by [[N ′, K ′]] encoding obtained by substituting K ′
Figure 0005062643
First encoding means for encoding into:
obtained by the first encoding means for i = 1,..., N
Figure 0005062643
The specified by m i × n i generator matrix G i, the [[n, k]] variables in the encoding n, respectively k n i, obtained by substituting the k i [[n i, k i] ] A vector of length n i by encoding
Figure 0005062643
Second encoding means for encoding
[W (1) ... W (N) ] obtained by concatenating w (1) ,..., W (N) obtained by the second encoding means is output as an encoding result. to realize and output means for,
In here, the variable N, n i, m i and k i is, N> 0, n i ≧ m i ≧ k i ≧ 0 (i = 1, ····, N) is an integer that satisfies, N ′ and N ″ are expressed by the following equation (36).
Figure 0005062643
An error correction coding program characterized by the above.
前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段を備えることを特徴とする請求項1記載の誤り訂正符号化装置。   2. The error correction coding apparatus according to claim 1, further comprising second output means for further encrypting and outputting the encoding result output from the output means with a function g representing an arbitrary encryption method. . 前記出力工程から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力工程を備えることを特徴とする請求項2記載の誤り訂正符号化方法。   3. The error correction coding method according to claim 2, further comprising a second output step of further encrypting and outputting the encoding result output from the output step with a function g representing an arbitrary encryption method. . 前記コンピュータに、前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段を実現させることを特徴とする請求項3記載の誤り訂正符号化プログラム。

4. The computer according to claim 3, further comprising: a second output unit configured to further encrypt and output an encoding result output from the output unit with a function g representing an arbitrary encryption method. Error correction coding program.

JP2011107807A 2006-09-12 2011-05-13 Error correction coding apparatus, error correction coding method, and program Active JP5062643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011107807A JP5062643B2 (en) 2006-09-12 2011-05-13 Error correction coding apparatus, error correction coding method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006247207 2006-09-12
JP2006247207 2006-09-12
JP2011107807A JP5062643B2 (en) 2006-09-12 2011-05-13 Error correction coding apparatus, error correction coding method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007190498A Division JP4756489B2 (en) 2006-09-12 2007-07-23 Error correction coding apparatus, error correction coding method, and program

Publications (3)

Publication Number Publication Date
JP2011172279A JP2011172279A (en) 2011-09-01
JP2011172279A5 JP2011172279A5 (en) 2011-10-13
JP5062643B2 true JP5062643B2 (en) 2012-10-31

Family

ID=44685835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011107807A Active JP5062643B2 (en) 2006-09-12 2011-05-13 Error correction coding apparatus, error correction coding method, and program

Country Status (1)

Country Link
JP (1) JP5062643B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141211A (en) * 1997-05-19 1999-02-12 Sanyo Electric Co Ltd Digital modulatin circuit and its method, and digital demodulation circuit and its method
JP2000269824A (en) * 1999-01-12 2000-09-29 Matsushita Electric Ind Co Ltd Data encoding device and data decoding device
JP2001005382A (en) * 1999-06-18 2001-01-12 Murata Mach Ltd Encryption method
US6968493B1 (en) * 1999-09-14 2005-11-22 Maxtor Corporation Randomizer systems for producing multiple-symbol randomizing sequences
CA2352935A1 (en) * 2000-07-19 2002-01-19 Trw Inc. Method and apparatus for concatenated punctured encoding and decoding of a communications signal

Also Published As

Publication number Publication date
JP2011172279A (en) 2011-09-01

Similar Documents

Publication Publication Date Title
JP5564434B2 (en) Methods and entities for probabilistic symmetric encryption
KR101267109B1 (en) Cryptographic primitives, error coding, and pseudo-random number improvement methods using quasigroups
WO2007052477A1 (en) Message authentication device, message authentication method, message authentication program, and recording medium therefor
KR20110004474A (en) A closed galois field cryptographic system
JP6588048B2 (en) Information processing device
JP4756489B2 (en) Error correction coding apparatus, error correction coding method, and program
JPH09230786A (en) Encoding method of data and device therefor
CN108197484B (en) Method for realizing node data security in distributed storage environment
CN104769881A (en) AES implementation with error correction
JP2008513811A (en) Calculation conversion method and system
AU2001262492A1 (en) Parallel modulo arithmetic using bitwise logical operations
EP1287641B1 (en) A method of validating an encrypted message
JP2008541540A (en) Method and apparatus for generating error correction and error detection codes by using zero factors and units in a group ring
JP2007019789A (en) Random number sharing system and method therefor
JP2003535499A (en) End of message marker
JP5062643B2 (en) Error correction coding apparatus, error correction coding method, and program
US11196447B2 (en) Computer-implemented method for error-correction-encoding and encrypting of a file
JP2011172279A5 (en)
CN112634092A (en) Contract authentication method and device based on block chain and electronic equipment
JP2011119985A (en) Encryption and decryption method
NL9202284A (en) Block encryption based on algebraic encoding methods.
JP2006133380A (en) Decoding system, decoding program, and cipher communication system
JP3238670B2 (en) Hash function method
Abiodun Redundant Residue Number System Based Fault Tolerance Architectures
Patra et al. Data Reduction by Huffman Coding and Encryption by Insertion of Shuffled Cyclic Redundancy Code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120726

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120731

R150 Certificate of patent or registration of utility model

Ref document number: 5062643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250