説明

誤り訂正符号化装置、誤り訂正符号化方法及びプログラム

【課題】セキュリティ対策を講じた誤り訂正符号化装置、誤り訂正符号化方法及びプログラムを提供する。
【解決手段】送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル(数1)に符号化する第1符号化手段と、i=1,・・・・,Nに対して、(数2)を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトルに符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、誤り訂正符号化装置、誤り訂正符号化方法及びプログラムに関し、詳しくは、データ表現の冗長性に基づく誤り訂正符号化装置、誤り訂正符号化方法及びプログラムに関する。
【背景技術】
【0002】
今日、あらゆるデジタル通信の分野において、通信路で発生した誤りを訂正するための誤り訂正符号の技術が用いられている。ここで、「通信」とは、一般的に有線や無線などの通信媒体を介して行われる離隔点間の情報伝送のことをいうが、本明細書では、このような狭い意味に限定しない。たとえば、コンパクトディスクなどの記録媒体に情報を記録することも「通信」の概念に含める。情報を送るとは、離れた場所に情報を運ぶことであり、記録するとは、後日の読み出しを想定して離れた(後日の)時間へ情報を運ぶことであるからであり、両者とも情報を運ぶ点で同じ意味だからである。
【0003】
符号理論で取り扱うのは、デジタル化された情報である。送りたいデータは、オーディオ信号やビデオ信号などをデジタル化したもの、あるいは計算機からのデジタルデータなどであろう。これらの情報の発生源や、それをデジタル化する部分などを含めて情報源という。デジタル化された情報(送りたいデータ)は、たとえば、PCM信号を考えれば分かるように、0,1の2種類の記号(数字)を使って、ビット列として表されていることが多い。このため、本明細書においても、送りたいデータはビット列、あるいは、より一般的にディジット列で表されているものとする。
【0004】
図3は、通信系のモデルを示す図である。この図において、情報源からは、送りたいデータとして0,1のビット列(情報ビット列)が発生する。符号器(誤り訂正符号化装置)は、この情報ビット列を、mビットごとのブロックに区切って取り扱う。各ブロックを“送りたいデータ”と呼び、この送りたいデータをi=(i1,・・・・,im)で表す。
【0005】
符号器は、送りたいデータ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の推定値を出力する。
【0006】
なお、実際の伝送路または記録媒体には、送信語wの各ビットxjに対応して、たとえば“0”の場合はパルスなし、“1”の場合はパルスあり、といった信号波形として送り出されるが、説明の便宜上、本明細書では具体的な波形に言及しない。
【0007】
さて、このような符号長n、情報ビット数mの符号化のことを[n,m]符号化といい、2m通りある符号語の集合のことを[n,m]符号という(たとえば、特許文献1、特許文献2)。
【0008】
より一般的に、ガロア体GF(q)上の[n,m]線形誤り訂正符号とは、GF(q)nのm次元線形部分空間のことである。GF(q)は元の数がqであるような有限体である。GF(q)nは、GF(q)の元をn個並べてできるべクトル(数ベクトル)の集合であるが、慣習に従い、GF(q)上の数ベクトルを横ベクトルで表すことにする。
【0009】
線形符号を用いた従来の符号化では、次のようにデータを符号化する。まず、[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符号、ゴッパ符号など様々なものがある。
【0010】
【数13】

【0011】
以下では、このようなデータを(長さmの)ベクトル、あるいはGF(q)上の長さmのベクトルと呼ぶことにする。これを、次式(14)により、線形符号Cに属するベクトルf(x)に符号化する。もちろん、演算はGF(q)上で行う。たとえば、qが素数のときは、q個の数字“0,1,・・・・,q−1”とmodq計算法のもとで行う。
【0012】
【数14】

【0013】
i=(gi1,・・・・,gin)(i=1,・・・・,m)のとき、次式(15)は、線形符号Cの生成行列と呼ばれる。
【0014】
【数15】

【0015】
このような公知の符号化は、既述のとおり、[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の具体例も、上記の標準的な符号理論の教科書に諸々記載されている。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2005−110251号公報
【特許文献2】特許第3281938号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
しかしながら、上述した公知の[n,m]符号は、誤り訂正の能力は充分であるものの、伝送途中の盗聴対策が不完全であり、セキュリティに欠けるという問題点がある。すなわち、通信路に入力された送信語wや通信路から出力された受信語vを第三者に盗聴されてしまった場合、元の送りたいデータiを容易に推定されてしまうという問題点がある。
【0018】
そこで、本発明の目的は、セキュリティ対策を講じた誤り訂正符号化装置、誤り訂正符号化方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0019】
請求項記載の発明は、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【0020】
【数16】

【0021】
に符号化する第1符号化手段と、i=1,・・・・,Nに対して、
【0022】
【数17】

【0023】
を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【0024】
【数18】

【0025】
に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを備えたことを特徴とする誤り訂正符号化装置である。
請求項記載の発明は、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【0026】
【数19】

【0027】
に符号化する第1符号化工程と、i=1,・・・・,Nに対して、
【0028】
【数20】

【0029】
を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【0030】
【数21】

【0031】
に符号化する第2符号化工程と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力工程とを含むことを特徴とする誤り訂正符号化方法である。
請求項記載の発明は、コンピュータに、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【0032】
【数22】

【0033】
に符号化する第1符号化手段と、i=1,・・・・,Nに対して、
【0034】
【数23】

【0035】
を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【0036】
【数24】

【0037】
に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段とを実現させるためのプログラムである。
請求項記載の発明は、前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段を備えたことを特徴とする請求項記載の誤り訂正符号化装置である。
請求項記載の発明は、前記出力工程から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力工程を含むことを特徴とする請求項記載の誤り訂正符号化方法である。
請求項記載の発明は、コンピュータに、送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【0038】
【数25】

【0039】
に符号化する第1符号化手段と、i=1,・・・・,Nに対して、
【0040】
【数26】

【0041】
を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【0042】
【数27】

【0043】
に符号化する第2符号化手段と、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段と、前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段とを実現させるためのプログラムである。
【発明の効果】
【0044】
説明の便宜上、[[n,k]]符号を[[4,1]]符号とし、送りたいデータを{0,1}とすると共に、たとえば、送りたいデータの“0”を{0000,1111}、送りたいデータの“1”を{0011,1100}と符号化するものとする。本発明では、データを送る際に、その{ }内のいずれか一つのパターンがランダムに選択されて送信される。たとえば、データ“0”のパターンは、“0000”と“1111”であるので、その一方をランダムに送信するなどである。このようにすれば、仮に伝送途中の第三者がそのパターンの一部を盗聴し得たとしても、元のデータを推定することはできない。これは、たとえば、“00”を盗聴できたとしても、この“00”は、データ“1”のパターンにも含まれているからである。
したがって、本発明によれば、セキュリティ対策を講じた誤り訂正符号化装置、誤り訂正符号化方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0045】
【図1】第1の実施形態([[n,k]]符号化)の概念ブロック図である。
【図2】第2の実施形態(二段階符号化)の概念的な処理フローを示す図である。
【図3】通信系のモデルを示す図である。
【発明を実施するための形態】
【0046】
以下、本発明の実施形態を説明する。
まず、言葉の定義として、長さaのベクトルx=(x1,・・・・,xa)と長さbのベクトルy=(y1,・・・・,yb)を繋げてできる長さa+bのベクトル(x1,・・・・,xa,y1,・・・・,yb)を[xy]で表すことにする。このとき、xにyを連接して[xy]を得るという。3つ以上のベクトルについても“[”と“]”で括ったもので、同様に連接してできるベクトルを表す。たとえば、[xyz]は、xにyを連接し、それにさらにzを連接してできるベクトルを表す。
【0047】
<第1の実施形態([[n,k]]符号化)>
図1は、第1の実施形態([[n,k]]符号化)の概念ブロック図である。このブロックは、冒頭で説明した通信系のモデル図(図3)における符号器として用いることができるものを模式的に表している。このブロックの具体的な構成については特に言及しない。たとえば、ハードロジックで構成されていてもよいし、あるいは、その全てまたはその主要な機能の一部がコンピュータで実行可能なソフトウェアで構成されていてもよい。いずれにせよ、以下に説明する機能を実現できる構成になっていればよい。
【0048】
図示のブロック全体の名称は、たとえば、冒頭の通信モデルのように、符号器と呼称しても構わないが、ここでは、従来技術の[n,m]符号化と区別するために、二重の括弧を用いて[[n,k]]符号化部1と称することにし、さらに、この[[n,k]]符号化部1による符号化のことを、[[n,k]]符号化と称することにする。
【0049】
[[n,k]]符号化部1は、少なくとも、u発生部2、x´生成部3及び[n,m]符号化部4を含む。u発生部2は、たとえば、物理的な乱数発生器または疑似乱数発生器であり、[n,m]符号化部4は、従来技術の[n,m]符号化に相当する操作を行うものである。
【0050】
この第1の実施形態では、情報のセキュリティを確保するため、以下の新しい符号化を行う。この方式は、簡単にいえば、冒頭で説明した公知の[n,m]符号化を用いてkディジット分の情報を送るというものである。ただし、k≦mである。
【0051】
今、送りたいデータxが、次式(28)のようなものであるとする。
【0052】
【数28】

【0053】
x´生成部3は、このデータxに、u発生部2でランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接して、次式(29)のx´を得る。
【0054】
【数29】

【0055】
[n,m]符号化部4は、前記の生成行列Gによって指定される[n,m]符号化を用いて、x´生成部3で演算されたx´を、長さnのベクトルf(x´)に符号化する。
【0056】
このように、この第1の実施形態では、送りたいデータxにランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接してx´を生成し、そのx´を、[n,m]符号化を用いて長さnのベクトルf(x´)に符号化し、それを出力する。
【0057】
この第1の実施形態における符号化は、前記のとおり、 [[n,k]]符号化であり、生成行列Gを変えることで異なる符号化が得られるため、特に符号化を具体的に指定するためには、これを、生成行列Gによって指定される[[n,k]]符号化と呼ぶ。この[[n,k]]符号化のイメージは、次式(30)のように示すことができる。
【0058】
【数30】

【0059】
式(30)の全体は、図1の[[n,k]]符号化部1に相当する。さらに、x→x´の部分はx´生成部3に相当し、x´→f(x´)の部分は[n,m]符号化部4に相当する。
【0060】
ここで、前記の“発明の効果”の欄で挙げた例が、この第1の実施形態の[[n,k]]符号化で実現できることを説明する。線形符号Cの基底を(g1,・・・・,gm)とし、このうち(gk+1,・・・・,gm)の張る部分空間をBとするとともに、n=4、k=1、m=2とすれば、線形符号Cの一例は、次式(31)のように書き表すことができ、また、Bの一例は、次式(32)のように書き表すことができる。なお、これらは、GF(q)=GF(2)の場合の例である。
【0061】
【数31】

【0062】
【数32】

【0063】
この場合、g1、g2は、次式(33)及び次式(34)のように書き表すことができる。すると、次式(35)のように、u発生部2でx2=0,1がランダムに発生されるから、送りたいデータがx1=0であるか、x1=1であるかに応じて、[[n,k]]符号化器1の出力は、{0000,1111}か{1100,0011}になる。ただし、ここでは、ベクトル(1,1,1,1)を“1111”と書くなどした。
【0064】
【数33】

【0065】
【数34】

【0066】
【数35】

【0067】
このように、この第1の実施形態によれば、送りたいデータxにランダムに発生させたm−k個のディジットからなるベクトルu=(xk+1,・・・・,xm)を連接してx´を生成し、そのx´を、[n,m]符号化を用いて長さnのベクトルf(x´)に符号化することにより、kディジット分の情報を生成出力することができるので、以下の理由から、情報のセキュリティを確保することができる。
【0068】
今、簡単化のために、[[n,k]]符号を[[4,1]]符号とし、送りたいデータを{0,1}とする。この場合、第1の実施形態では、たとえば、送りたいデータの“0”を{0000,1111}、送りたいデータの“1”を{0011,1100}と符号化し、データを送る際に、その{ }内のいずれか一つのパターンをランダムに選択して送信する。たとえば、データ“0”のパターンは、“0000”と“1111”であるので、その一方をランダムに送信する。仮に伝送途中の第三者がそのパターンの一部を盗聴し得たとしても、元のデータを推定することはできない。これは、たとえば、“00”を盗聴できたとしても、この“00”は、データ“1”のパターンにも含まれているからである。
【0069】
したがって、この第1の実施形態の符号化手法([[n,k]]符号化)においては、伝送途中の第三者による盗聴を効果的に防止し、セキュリティ対策を講じることができるので、本発明の冒頭の課題を達成することができる。
【0070】
<第2の実施形態(二段階符号化)>
以上説明した第1の実施形態の符号化手法([[n,k]]符号化)においては、セキュリティ対策を講じることができる点で有益である。一方で、理論的な解析により比較的符号長が長い方が復号誤り確率と安全性の点で有利であることは分かっているものの、符号長が長くなるにつれ、符号化や復号化の手続きの煩雑さが増していくことを否めず、この手続きの煩雑さが、実用化する上での障害となる可能性がある。上記のとおり、[[n,k]]符号化は、通信路上での盗聴を回避できるという従来技術にない格別有益なメリットを持つため、かかる障害要因(手続きの煩雑さ)の克服は、是非とも達成されなければならない技術課題である。以下に説明する第2の実施形態は、そのためのものである。簡潔に述べれば、この第2の実施形態は、分割統治の考え方(与えられた問題をいくつかの小さな問題に分割して解き、それをもとに統治をおこない、問題の解を得る手法のこと。分割統治法:Divide and Conquerともいう。)を採用して、大きな符号長を持つ[[n,k]]符号化の処理をいくつかの処理に分けて段階的に行うことにより、前記の障害要因を克服し、以て、産業上の利用に充分に耐え得る誤り訂正符号化の技術を提供するものである。
【0071】
第2の実施形態について説明する。この第2の実施形態では、以下に詳述するように、一例として、2つの線形符号を使って符号化する方法を開示する。以下、この符号化のことを「二段階符号化」という。
【0072】
この二段階符号化では、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´とM´は、次式(36)で与えられる。
【0073】
【数36】

【0074】
具体的な[[N´,K´]]符号化の方法は、以下のようになる。ここで、送信データの長さはK´である。
【0075】
図2は、第2の実施形態(二段階符号化)の概念的な処理フローを示す図である。この処理フローは、冒頭で説明した通信系のモデル図(図3)における符号器として用いることができるものを模式的に表している。前記の第1の実施形態と同様に、この処理フローは、ハードロジックで構成されていてもよいし、あるいは、その全てまたはその主要な機能の一部がコンピュータで実行可能なソフトウェアで構成されていてもよい。いずれにせよ、以下に説明する機能を実現できる構成になっていればよい。
【0076】
この処理フローにおいて、まず、ステップS1の[[N´,K´]]符号化で、GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、任意の送りたいデータを、長さN´のベクトルに符号化する。このベクトルは、N個のブロックに分割して、次式(37)のように書くことができる。
【0077】
【数37】

【0078】
次いで、ステップS2の[[ni,ki]]符号化で、i=1,・・・・,Nに対して、
【0079】
【数38】

【0080】
を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【0081】
【数39】

【0082】
に符号化する。
【0083】
そして、最後のステップS3で、w(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する。
【0084】
ここで、ステップS1で用いる符号について、特に有用なのは、GF(q)上のM´×N´生成行列Fで指定される[[N´,K´]]符号化が、GF(q)の拡大体GF(qk)上の符号に由来する場合である。この場合、たとえば、GF(qk)上のリード・ソロモン符号を使用することができる。実用上、GF(qk)上の[N,K]リード・ソロモン符号は、GF(q)上の[kN,kK]符号として用いられている。たとえば、コンパクトディスクに用いられているリード・ソロモン符号などである(q=2)。
【0085】
すなわち、ステップS1の[[N´,K´]]符号化では、従来の[n,m]符号化に相当する[N´,M´]符号化を用いることができるが、この部分では、GF(qk)上の[N,M]符号をGF(q)上の[kN,kM]符号として用いることができる。ただし、N´=kN,M´=kMとおく。
【0086】
なお、これは、GF(qk)の元を、GF(q)上の長さkのベクトルとして表現して得られるものである。具体的には、以下のとおりである。今、GF(q)上の線形空間であるGF(qk)の基底をb=(βjkj=1とする。これを用いて、いかなる要素ζ∈GF(qk)も、次式(40)のように書くことが可能であるので、このように得られた数の行ベクトル(x1,・・・・,xk)を、φ(ζ)の記号で示すことにする。
【0087】
【数40】

【0088】
この変換「ζ→φ(ζ)=(1,・・・・,k)」を用いた対応「ξ=(ξ1,・・・・,ξN)←→[φ(ξ1)・・・・φ(ξN)]」により、GF(qk)上の長さNのベクトルξと、GF(q)上の長さkNのベクトル[φ(ξ1)・・・・φ(ξN)]とを同一視することができるようになる。
【0089】
二段階符号化の具体例を説明する。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)が得られる。
【0090】
【数41】

【0091】
ステップS2では、同一の生成行列Gによって指定される[[n,k]]符号化を、y1(i),・・・・,yk(i)に適用してもよい(i=1,・・・・,N)。たとえば、n=6のとき、次式(42)〜(46)として、第i行がgiであるような生成行列Gによって指定される[[6,4]]符号化を行う。このように、生成行列Gによって指定される[[6,4]]符号化の出力は、ハミング重みが偶数であるようなベクトルとなる。
【0092】
【数42】

【0093】
【数43】

【0094】
【数44】

【0095】
【数45】

【0096】
【数46】

【0097】
なお、上記において、拡大体GF(qk)上の符号について取り扱ったのは、このような符号を用いると効率の良い復号を行うことができるからである。しかし、これは、性能的に最良(ベストモード)の実施態様を例示しているに過ぎない。したがって、本発明は、この拡大体GF(qk)上の符号を使用するケースに限定されない。
【0098】
以上のとおり、この第2の実施形態においては、分割統治の考え方を採用して、大きな符号長を持つ[[n,k]]符号化の処理をいくつかの処理に分けて段階的に行うようにしたので、符号化や復号化の手続きを効率的に行うことができ、手続きの簡素化を図ることができる。したがって、先に説明した第1の実施形態の符号化手法([[n,k]]符号化)の利点(セキュリティ対策を講じることができる。)を活かしつつ、[[n,k]]符号化の長い符号長に伴う欠点(符号化や復号化の手続きの煩雑さ)を解決し、実用に耐え得る誤り訂正符号化の技術を提供することができる。
【0099】
なお、この第2の実施形態は、二段階符号化に関するものであるが、二段階に限らず、三段階以上のものも包含する。これは、三段階以上の場合、二段階符号化を手続きの一部に含むからである。したがって、発明にとって必須な事項は、二段階符号化に関する部分(図2のステップS1、ステップS2)にあるということができる。
【0100】
前記第1の実施形態は[[n,k]]符号化に関するものであり、また、前記第2の実施形態は二段階符号化に関するものである。これら二つの実施形態は、前式(30)で示したとおり、たとえば、従来の[n,m]符号化をブラックボックス化することによって極めて単純に構築することができる。これを補足すると、次式(47)のようになる。
【0101】
【数47】

【0102】
この式(47)より、前記二つの実施形態は、結局、「通信路または記憶デバイス」へ入力する前の部分だけの符号化法であるということができる。
【0103】
ちなみに、本発明の本質ではないものの、「復号器」についても言及すれば、前記二つの実施形態に対応する復号器の中身は、概ね次式(48)のように書き表すことができる。
【0104】
【数48】

【0105】
ここで、x,uの推定値はそれぞれ、次式(49)で与えられる。
【0106】
【数49】

【0107】
以上のことから、二段階符号化もトータルとして見れば、次式(50)のように書き表すことができるので、上式(49)の復号原理を適用することができる。
【0108】
【数50】

【0109】
ただし、効率の点では、二段階符号化に対応した二段階の復号化を適用することが望ましい。これは、公知の二段階符号化=連接符号の復号に類似する。
【0110】
なお、前記第1の実施形態において、[n,m]符号化部4の[n,m]符号化は、“生成行列Gによって指定される”としてあるが、これは具体例として挙げたある特定の符号の生成行列Gに限定されない。[n,m]線形符号の生成行列であれば、ある特定の生成行列Gに限らず、全て使用することができる。このことは、第2の実施形態における二段階符号化でも同様である。
【0111】
また、先に述べたとおり、前式(47)は、『前記二つの実施形態が、結局、「通信路または記憶デバイス」へ入力する前の部分だけの符号化法である』ことを意味しているが、これによって、本発明の利用形態を限定的に把握してはならない。つまり、前式(47)によれば、直接的には、[[n,k]]符号化したデータf(x´)を、そのまま通信路または記憶デバイスに入力する最も単純な利用形態のみをイメージさせるかも知れないが、それは、本発明の利用形態の一例を示しているに過ぎないものである。
【0112】
たとえば、暗号強度をさらに高める狙いから、本方式を別の暗号化方式と併用することも充分に考えられる利用形態の一つである。この併用形態について説明すると、今、併用する暗号化方式を表す関数をgとする。そして、上記のf(x´)をさらにg(f(x´))に暗号化した後に、g(f(x´))を通信路または記憶デバイスに入力するようにすれば、f(x´)の暗号強度がさらにgで補強されるので、より実用上好ましい強力な暗号化方式とすることができる。ただし、現在普及している暗号方式では一般的にgは暗号鍵Kに依存し、記法としてはg=gKの形にすることが多いが、以上の説明では簡単化のために、併用する暗号化方式を表す関数を単にgとした。したがって、このgはg=gKの形も包含する。
【符号の説明】
【0113】
1:[[n,k]]符号化器(誤り訂正符号化装置)
2:u発生部(発生手段、発生工程)
3:x´生成部(生成手段、生成工程)
4:[n,m]符号化部(出力手段、出力工程)
S1:ステップ(第1符号化手段、第1符号化工程)
S2:ステップ(第2符号化手段、第2符号化工程)
S3:ステップ(出力手段、出力工程)

【特許請求の範囲】
【請求項1】
送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【数1】

に符号化する第1符号化手段と、
i=1,・・・・,Nに対して、
【数2】

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【数3】

に符号化する第2符号化手段と、
(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段と
を備えたことを特徴とする誤り訂正符号化装置。
【請求項2】
送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【数4】

に符号化する第1符号化工程と、
i=1,・・・・,Nに対して、
【数5】

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【数6】

に符号化する第2符号化工程と、
(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力工程と
を含むことを特徴とする誤り訂正符号化方法。
【請求項3】
コンピュータに、
送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【数7】

に符号化する第1符号化手段と、
i=1,・・・・,Nに対して、
【数8】

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【数9】

に符号化する第2符号化手段と、
(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段と
を実現させるためのプログラム。
【請求項4】
前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段を備えたことを特徴とする請求項記載の誤り訂正符号化装置。
【請求項5】
前記出力工程から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力工程を含むことを特徴とする請求項記載の誤り訂正符号化方法。
【請求項6】
コンピュータに、
送りたいデータを、ガロア体GF(q)上のM´×N´生成行列Fによって指定される[[N´,K´]]符号化により、長さN´のベクトル
【数10】

に符号化する第1符号化手段と、
i=1,・・・・,Nに対して、
【数11】

を生成行列Giによって指定される[[ni,ki]]符号化により、長さniのベクトル
【数12】

に符号化する第2符号化手段と、
(1),・・・・,w(N)を連接して得られる[w(1)・・・・w(N)]を符号化結果として出力する出力手段と、
前記出力手段から出力される符号化結果を、任意の暗号化方式を表す関数gでさらに暗号化して出力する第2の出力手段と
を実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−172279(P2011−172279A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2011−107807(P2011−107807)
【出願日】平成23年5月13日(2011.5.13)
【分割の表示】特願2007−190498(P2007−190498)の分割
【原出願日】平成19年7月23日(2007.7.23)
【出願人】(593171592)学校法人玉川学園 (38)
【Fターム(参考)】