JP5510590B2 - 伝送システムと方法ならびにプログラム - Google Patents
伝送システムと方法ならびにプログラム Download PDFInfo
- Publication number
- JP5510590B2 JP5510590B2 JP2013106298A JP2013106298A JP5510590B2 JP 5510590 B2 JP5510590 B2 JP 5510590B2 JP 2013106298 A JP2013106298 A JP 2013106298A JP 2013106298 A JP2013106298 A JP 2013106298A JP 5510590 B2 JP5510590 B2 JP 5510590B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- codeword
- illegal
- output
- codewords
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
(関連出願についての記載)
本願は、先の日本特許出願2007−204133号(2007年8月6日出願)の優先権を主張するものであり、前記先の出願の全記載内容は、本書に引用をもって繰込み記載されているものとみなされる。
本発明は、伝送システムと方法と伝送プログラムに関する。
本願は、先の日本特許出願2007−204133号(2007年8月6日出願)の優先権を主張するものであり、前記先の出願の全記載内容は、本書に引用をもって繰込み記載されているものとみなされる。
本発明は、伝送システムと方法と伝送プログラムに関する。
ネットワークを介してメッセージを伝送する方法は様々ある。このような方法には、ネットワークに少しの障害があっても、
(A)十分な正確さでメッセージを送ることができるような機能が求められる。
(A)十分な正確さでメッセージを送ることができるような機能が求められる。
また、用途に応じて様々な機能が付加されており、特に、
(B)盗聴者に何を送っているか知られないための機能、
(c)受け取ったメッセージが改ざんされていないか検証する機能は、
それぞれもっとも重要な機能の中の1つである。
(B)盗聴者に何を送っているか知られないための機能、
(c)受け取ったメッセージが改ざんされていないか検証する機能は、
それぞれもっとも重要な機能の中の1つである。
上記(A)、(B)、(C)の機能を具備しているメッセージ伝送方法の1つに、送信装置と受信装置の間に、複数のチャンネルを用意し、以下に示す3つの機能を持つメッセージ伝送方法がある。なお、送信装置と受信装置の間にはn本のチャンネルがあるものとする。
(1)t本までのチャンネルを流れる情報を改ざんすることができ、知ることができる不正者が存在しても、受信装置は圧倒的確率で送信装置の送ったメッセージを受信できる。
(2)t本までのチャンネルを流れる情報を改ざんすることができ、知ることができる不正者が存在しても、不正者は送信装置の送ったメッセージを一切推定することができない。
(3)t本までのチャンネルを流れる情報を改ざんすることができ、知ることができる不正者が存在しても、送信装置の送ったメッセージ以外の値を受信装置が受信することはない(tを「想定不正チャンネル数」と呼ぶ)。
このようなメッセージ伝送方式は、tとnの値の関係によって構成できる場合と、できない場合があることが知られている。
n≧3t+1である場合については、非特許文献1に記載されている方式によって構成することができる。
非特許文献1に記載されている方法を用いる場合、
n=3t+d+1
とし、
d’を
d≧d’≧0
であるような値とし、メッセージが要素数p^{x}の集合から選ばれる場合、各チャンネルを通して送信するデータは要素数p^{x−d’}の集合の要素となる。
n=3t+d+1
とし、
d’を
d≧d’≧0
であるような値とし、メッセージが要素数p^{x}の集合から選ばれる場合、各チャンネルを通して送信するデータは要素数p^{x−d’}の集合の要素となる。
チャンネルを用いた場合を例に説明を行ったが、チャンネルを実現する手段は、送信装置の生成した複数のデータを分けて送信することができるものであればよい。
D.Dolev,C.Dwork,O.Waarts,M.Yung: Perfectly Secure Message Transmission.J.ACM 40(1) 17−47(1993)
G.R.Blakley,C.Meadows:Security of Ramp scheme. Proc.ofCryptology,Vol.6,No.3,pp.157−167,1993
D R Stinson:On the Connections Between Universal Hashing, Combinatorial Designsand Error−Correcting Codes. Congressus Numerantium 114 (1996), 7−27.
非特許文献1〜3の開示事項は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明によって与えられたものである。
非特許文献1の構成法にしたがって構成したメッセージ伝送システムでは、チャンネルを通して流すデータのサイズが大きい。
本発明の目的は、非特許文献1で提案されているメッセージ伝送システムに比べて、各チャンネルを通して流すデータのサイズの小さい伝送システムと方法並びにプログラムを提供することにある。
本発明の1つの側面において、符号化装置(あるいは、方法とプログラム)は、メッセージを入力として、t個以下の数の符号語からは、メッセージに関する情報が得られず、正しい2t+1個以上の符号語からは、メッセージが復号できるようなメッセージの符号語を生成するメッセージ符号化装置(工程、処理)と、
符号語を入力とし、符号語からメッセージを復元する際に、t個以下の不正な符号語が含まれていた場合に不正な符号語を特定するための不正符号語特定データを生成する不正符号語特定データ生成装置(工程、処理)と、を備え、前記メッセージの符号語と前記不正符号語特定データを出力する。
符号語を入力とし、符号語からメッセージを復元する際に、t個以下の不正な符号語が含まれていた場合に不正な符号語を特定するための不正符号語特定データを生成する不正符号語特定データ生成装置(工程、処理)と、を備え、前記メッセージの符号語と前記不正符号語特定データを出力する。
本発明において、前記不正符号語特定データ生成装置(工程、処理)は、前記不正符号語特定データのなかに、t個以下の不正な不正符号語特定データが存在する場合に、不正な不正符号語特定データを訂正可能な不正符号語特定データを生成する。
本発明において、前記不正符号語特定データ生成装置(工程、処理)は、ランダムな情報源をリードソロモン符号化した符号語を不正符号語特定データとして生成する。
本発明において、メッセージを入力として、t個以下の数の符号語からはメッセージに関する情報が得られず、正しい2t+1個以上の符号語からはメッセージが復号できるようなメッセージの符号語を生成するメッセージ符号化装置(工程、処理)と、
ユニバーサルハッシュ関数族を表すデータ集合からランダムなユニバーサルハッシュ関数を表すデータを選び、該ユニバーサルハッシュ関数を表すデータを、t個以下の不正な符号語があっても、不正な符号語を訂正可能であるように符号化する関数データ符号化装置と、
メッセージの符号語を、前記ユニバーサルハッシュ関数に入力して算出した結果を、不正符号語特定データとして出力する不正符号語特定データ生成装置(工程、処理)と、
を備え、
メッセージの符号語と、ユニバーサルハッシュ関数を表すデータの符号語と、不正符号語特定データを出力し、
前記ユニバーサルハッシュ関数族として、該関数族からランダムに選ばれたユニバーサルハッシュ関数に対する入力と出力の関係がt組判明していても、いずれかの入力の出力と同じ出力をもつ入力を選ぶことができる確率が十分に低い関数族を用いる。
ユニバーサルハッシュ関数族を表すデータ集合からランダムなユニバーサルハッシュ関数を表すデータを選び、該ユニバーサルハッシュ関数を表すデータを、t個以下の不正な符号語があっても、不正な符号語を訂正可能であるように符号化する関数データ符号化装置と、
メッセージの符号語を、前記ユニバーサルハッシュ関数に入力して算出した結果を、不正符号語特定データとして出力する不正符号語特定データ生成装置(工程、処理)と、
を備え、
メッセージの符号語と、ユニバーサルハッシュ関数を表すデータの符号語と、不正符号語特定データを出力し、
前記ユニバーサルハッシュ関数族として、該関数族からランダムに選ばれたユニバーサルハッシュ関数に対する入力と出力の関係がt組判明していても、いずれかの入力の出力と同じ出力をもつ入力を選ぶことができる確率が十分に低い関数族を用いる。
本発明において、ユニバーサルハッシュ関数を表すデータをリードソロモン符号化した符号語をユニバーサルハッシュ関数を表すデータの符号語として生成する関数データ符号化装置(工程、処理)を備える。
本発明によれば、符号語と不正符号語特定用データとを入力とし、不正符号語特定データを用いて不正な符号語を特定する不正符号語特定装置(工程、処理)と、
前記不正符号語特定装置で不正符号語と特定されなかった符号語の集合に対してそれらが同じメッセージに復号されるかどうかの同一性を判定し、同一性があると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、同一性がないと判定されなかった場合には復号失敗を表す出力を行うメッセージ復号装置(工程、処理)と、を備える復号化装置(方法、プログラム)が提供される。
前記不正符号語特定装置で不正符号語と特定されなかった符号語の集合に対してそれらが同じメッセージに復号されるかどうかの同一性を判定し、同一性があると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、同一性がないと判定されなかった場合には復号失敗を表す出力を行うメッセージ復号装置(工程、処理)と、を備える復号化装置(方法、プログラム)が提供される。
本発明の復号化装置(方法、プログラム)において、不正な不正符号語特定データを訂正する不正符号語特定データ訂正装置(工程、処理)を備える。
本発明の復号化装置(方法、プログラム)において、不正な不正符号語特定データを、リードソロモン誤り訂正処理によって訂正する不正符号化メッセージ特定装置(工程、処理)を備える。
本発明によれば、メッセージの符号語とユニバーサルハッシュ関数を表すデータの符号語と、不正符号語特定データとを入力とし、不正なユニバーサルハッシュ関数の符号語を訂正し、ユニバーサルハッシュ関数を表すデータを復号化する関数データ復号装置(工程、処理)と、
不正関数出力特定データを用いて、復号化したユニバーサルハッシュ関数にメッセージの符号語を入力した出力のなかから不正な符号語を特定する不正符号語特定装置(工程、処理)と、
前記不正符号語特定装置で不正符号語と特定されなかった符号語の集合に対して、それらが同じメッセージに復号されるかどうかの同一性を判定し、同一性があると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、同一性がないと判定されなかった場合は、復号失敗を表す出力を行うメッセージ復号装置(工程、処理)と、
を備え、
前記ユニバーサルハッシュ関数族として、該関数族からランダムに選ばれたユニバーサルハッシュ関数に対する入力と出力の関係がt組判明していても、いずれかの入力の出力と同じ出力をもつ入力を選ぶことができる確率が十分に低い関数族を用いる、復号化装置(方法、プログラム)が提供される。
不正関数出力特定データを用いて、復号化したユニバーサルハッシュ関数にメッセージの符号語を入力した出力のなかから不正な符号語を特定する不正符号語特定装置(工程、処理)と、
前記不正符号語特定装置で不正符号語と特定されなかった符号語の集合に対して、それらが同じメッセージに復号されるかどうかの同一性を判定し、同一性があると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、同一性がないと判定されなかった場合は、復号失敗を表す出力を行うメッセージ復号装置(工程、処理)と、
を備え、
前記ユニバーサルハッシュ関数族として、該関数族からランダムに選ばれたユニバーサルハッシュ関数に対する入力と出力の関係がt組判明していても、いずれかの入力の出力と同じ出力をもつ入力を選ぶことができる確率が十分に低い関数族を用いる、復号化装置(方法、プログラム)が提供される。
本発明の復号化装置(方法、プログラム)において、不正なユニバーサルハッシュ関数を表すデータの符号語を、リードソロモン誤り訂正処理によって、不正なユニバーサルハッシュ関数の符号語を訂正する関数データ復号装置(工程、処理)を備える。
本発明によれば、メッセージ伝送システムにおいて、各チャンネルを通して流すデータのサイズを従来よりも小さくすることができる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
本発明の一実施形態において、メッセージ伝送システムの送信側は、メッセージを想定する不正チャンネル数であるt個以下の数の符号化されたメッセージからは、メッセージに関する情報が得られず、t個以下の符号化されたメッセージなしでもメッセージが復号できるような3t+1個以上のメッセージの符号語を生成して送信し、そのうち、t個以下のデータに誤りがあっても、前記した複数のメッセージの符号語のうち、t個以下の誤りを検出することができる複数の不正符号化メッセージ特定用データを生成して送信する。
メッセージ伝送システムの受信側は、前述のようにして生成されたメッセージの符号語とそれらに対応する不正符号化メッセージ特定用データとを受信し、メッセージの符号語と、不正符号化メッセージ特定用データを用いて、メッセージの符号語のそれぞれが不正なメッセージの符号語であるかを判断し、不正な符号化メッセージ情報であると判断されなかったメッセージの符号語のすべてが同じメッセージの符号語であるか否かを判断し、同じメッセージの符号語であった場合には、当該メッセージを出力し、それ以外の場合はメッセージの受信失敗を表す出力を行う。
前述のようなメッセージの符号化方法として、(a,b,c)しきい値法と呼ばれる符号化手法を用いることができる。
この符号化手法は、情報をc個の分散情報に符号化するものである。そのうち、任意のa個以上の分散情報からは秘密情報が完全に復元できるが、a−b−1個までの分散情報からでは秘密情報に関する情報は全く得られない、という特徴を持つ。
したがって、仮に、a−b−1個までの分散情報が盗難にあったとしても、秘密情報は漏れず、c−a個までの分散情報が破壊されても、秘密情報を復元できる。
このような符号化手法において、
符号語数をnとして、
a=t+1、
b=n−3t+1、
c=n、
とすると、前述の条件を満たす。
符号語数をnとして、
a=t+1、
b=n−3t+1、
c=n、
とすると、前述の条件を満たす。
(a,b,c)しきい値法として代表的な手法としては、非特許文献2に記載されている手法があげられる。
より詳細には、本発明のメッセージ伝送システムは、想定不正チャンネル数をtとすると、
チャンネル数n=3t+d+1 (但し、d≧0)
を満たす数のチャンネルで互いに接続された送信装置と受信装置からなる。
チャンネル数n=3t+d+1 (但し、d≧0)
を満たす数のチャンネルで互いに接続された送信装置と受信装置からなる。
送信装置は、d’を、d≧d’≧0であるような値として、
メッセージを、(2t+d’+1,d’+t,n)しきい値法を用いて符号化した値V_i (i=1,・・・,n)を生成し、
V_iとランダムなt次多項式とを用いて、n個のV_iのうち、t個以下のものに誤りがある場合に、リードソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正チャンネル特定情報A_i(i=1,・・・,n)を、n個のV_iに対応付けて生成し、チャンネルC_i(i=1,・・・,n)を用いて、V_i(i=1,・・・,n)、A_i(i=1,・・・,n)を送信する。
メッセージを、(2t+d’+1,d’+t,n)しきい値法を用いて符号化した値V_i (i=1,・・・,n)を生成し、
V_iとランダムなt次多項式とを用いて、n個のV_iのうち、t個以下のものに誤りがある場合に、リードソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正チャンネル特定情報A_i(i=1,・・・,n)を、n個のV_iに対応付けて生成し、チャンネルC_i(i=1,・・・,n)を用いて、V_i(i=1,・・・,n)、A_i(i=1,・・・,n)を送信する。
受信装置には、送信装置で生成されたV_i(i=1,・・・,n)とA_i(i=1,・・・,n)をそれぞれチャンネルC_i(i=1,・・・,n)を介して受信し、V_i(i=1,・・・,n)とA_i(i=1,・・・,n)を用いて、リードソロモン誤り訂正処理を行って、n個のV_iそれぞれについて不正な値であるか否かを判断し、不正であると判断されなかったV_iがすべて同じメッセージの符号語であるかを調べる。同じメッセージの符号語である場合には、そのメッセージを出力し、異なるメッセージの符号語が含まれている場合には、メッセージの受信失敗を表す記号を出力する。
本発明によれば、このような構成を用いることによって、各チャンネルを通して流す情報量を、従来よりも小さくすることができる。
n本のチャンネルを用いた場合の説明を行ったが、チャンネルを実現する手段は、送信装置で生成した複数のデータを分けて送信することができるものであれば任意のものが用いられる。つまり、チャンネルはn本でなくてもよい。
想定不正チャンネル数とは、送信装置が生成するn組の情報に対する改ざん、盗聴を許す最大の数を表しているものである。
図1は、本発明の一実施形態のメッセージ伝送システムの構成を示す図である。図1を参照すると、メッセージ伝送システムは、送信装置100、受信装置200、および チャンネル300−1〜300−nを有している。
このメッセージ伝送システムの動作には、2つのフェーズがある。
そのうちの1つは、メッセージを符号化し、符号化したメッセージをチャンネルを用いて送信するフェーズである。
他は、1つのチャンネルから受信した符号化されたメッセージを復号化するフェーズである。
メッセージを符号化し、符号化したメッセージをチャンネルを用いて送信するフェーズでは、主に、送信装置100が動作し、チャンネルから受信した符号化されたメッセージを復号化するフェーズでは、主に、受信装置200が動作する。
メッセージを符号化し、符号化したメッセージをチャンネルを用いて送信するフェーズでは、まず、送信装置100は、パラメータとして入力された、想定不正チャンネル数およびチャンネル数nに従って、メッセージを符号化することにより、複数の符号化メッセージ情報を生成し、該複数の符号化メッセージ情報(「分散メッセージ情報」ともいう)を、それぞれ、異なるチャンネル300−1〜300−nを用いて送信する。
さらに、送信装置100は、生成した分散秘密情報と、想定不正チャンネル数とを用いて、符号化メッセージ情報毎の不正チャンネル特定情報を生成し、各不正チャンネル特定情報に対応する符号化メッセージ情報が送信されたチャンネル300−1〜300−nを用いて送信する。
想定不正チャンネル数は、想定される不正なチャンネルの上限数という意味であり、本実施形態のメッセージ伝送システムによれば、想定チャンネル数までの数の符号化メッセージ情報の改ざんであれば、改ざんされた符号化メッセージ情報の特定が可能である。
不正チャンネル特定情報は、改ざんされた符号化メッセージ情報を特定するためのデータである。
なお、ここでは、典型例として、改ざんを示しているが、意図的に改ざんされた場合に限らず、何らかの要因で情報が不正なものに変化してしまった場合も含めることができることは勿論である。
まず、分散メッセージ情報を送信し、その後で、不正チャンネル特定情報を送信する必要はなく、すべて生成された後で、一度に送ってもよい。
また、チャンネルから受信した符号化されたメッセージを復号化するフェーズでは、まず受信装置200は、チャンネル300−1〜300−nから符号化メッセージ情報と不正チャンネル特定情報とを受信し、符号化メッセージ情報と不正チャンネル特定情報とを用いて、改ざんされた符号化メッセージ情報を特定する処理を実行する。
改ざんされた符号化メッセージ情報を特定する処理では、改ざんの有無が判定され、改ざんがある場合には、改ざんされている符号化メッセージ情報が特定される。
受信装置200は、改ざんが検出されなかった符号化メッセージ情報のすべてが同じメッセージが符号化されたものであるかを調べ、
同じメッセージが符号化されていた場合、そのメッセージを出力し、
それ以外の場合、メッセージ受信の失敗を表す記号を出力する。
同じメッセージが符号化されていた場合、そのメッセージを出力し、
それ以外の場合、メッセージ受信の失敗を表す記号を出力する。
図2は、図1の送信装置100の構成を示す図である。図2を参照すると、送信装置100は、メッセージ符号化装置101と、不正チャンネル特定情報生成装置102とを有する。図2において、メッセージsは、特定のメッセージ集合の元を表している。
送信装置100には、メッセージs、想定不正チャンネル数t、チャンネル数nが入力されている。
メッセージ符号化装置101は、メッセージs、想定不正チャンネル数t、チャンネル数nを入力として、t個以下の数の符号語からは、メッセージに関する情報が得られず、正しい2t+1個以上の符号語からは、メッセージが復号できるようなメッセージの符号語(符号化メッセージ情報)を生成する。
不正チャンネル特定情報生成装置102は、符号語を入力とし、想定不正チャンネル数t、チャンネル数nを入力し、該符号語からメッセージを復元する際に、t個以下の不正な符号語が含まれていた場合に不正な符号語を特定するための不正符号語特定データ(不正者チャンネル特定情報A1〜An)を生成する。
そして、メッセージ符号化装置101は、符号化メッセージ情報v1〜vnを生成し、それぞれチャンネル301−1〜301−nを通して送信する。
不正チャンネル特定情報生成装置102は、不正者チャンネル特定情報A1〜Anを生成し、それぞれチャンネル301−1〜301−nを通して送信する。
図3は、受信装置200の構成を示すブロック図である。図3を参照すると、受信装置200は、メッセージ復号装置201と、不正チャンネル特定装置202とを有している。
受信装置200には、想定不正チャンネル数t、および、チャンネル301−1〜301−nから入力される符号化メッセージ情報v1〜vnと、不正チャンネル特定情報A1〜Anが入力される。
受信装置200は、符号化メッセージ情報v1〜vnと、不正者特定情報A1〜Anとを受信し、改ざんされた符号化メッセージ情報を特定する処理を実行する。
改ざんされていない符号化メッセージ情報がすべて同じメッセージが符号化されたものであるかを調べ、すべて同じメッセージが符号化されたものであることが確認できた場合、そのメッセージを出力し、それ以外の場合、受信失敗を表す記号を出力する。
不正チャンネル特定装置202は、チャンネル300−1〜300−nから符号化メッセージ情報v1〜vnと不正チャンネル特定情報A1〜Anを受信し、改ざんされた符号化メッセージ情報を特定する処理を実行する。
改ざんが検出されれば、不正チャンネル特定装置202は、不正チャンネルの識別子を要素とする集合をメッセージ復号装置201に入力する。
改ざんが検出されなければ、不正チャンネル特定装置202は、不正チャンネルが存在しなかったことを示す空集合をメッセージ復号装置201に入力する。
メッセージ復号装置201は、チャンネル300−1〜300−nから符号化メッセージ情報v1〜vnを受信し、不正チャンネル特定装置202からの入力のLに含まれていない符号化メッセージ情報がすべて同じメッセージの符号語であるか調べ、すべて同じメッセージが符号化されたものであることが確認できた場合、そのメッセージを出力し、それ以外の場合、受信失敗を表す記号を出力する。
図4は、送信装置100または受信装置200を実現するためのコンピュータの構成を示すブロック図である。図4を参照すると、コンピュータは、処理装置10、入力装置20、および出力装置30を備えている。処理装置10は、プログラムにしたがって所定の処理を実行する。入力装置20は、処理装置10に対するコマンドや情報の入力に用いられる入力装置である。出力装置30は、処理装置10の処理結果をモニタするための出力装置である。また処理装置10は、CPU11、主記憶装置12、記録媒体13、データ蓄積装置14、メモリ制御インターフェイス部15、およびI/Oインターフェイス部16を有し、それらがバス18を介して相互に接続された構成である。CPU11はプログラムを実行するプロセッサである。主記憶装置12は、CPU11の処理に必要な情報を一時的に記憶する。記録媒体13は、CPU11に実行させるためのプログラムを記憶している。
データ蓄積装置14は、秘密情報やアクセス構造データを記憶する。メモリ制御インターフェイス部15は、主記憶装置12、記録媒体13、またはデータ蓄積装置14のデータの書き込みおよび読み出しを制御するインターフェイス装置である。I/Oインターフェイス部16は、入力装置20および出力装置30とのデータの入出力を制御するインターフェイス装置である。このインターフェイス装置を用いて、チャンネル300を用いてのデータの送受信を行う。また、記録媒体13は、磁気ディスク、半導体メモリ、光ディスク、あるいはその他の記録媒体である。
図5は、本実施形態における、送信装置100の動作を説明するためのフローチャートである。
図5を参照すると、まず送信装置100にメッセージs、想定不正チャンネル数t、チャンネル数nが入力される(ステップA1)。
送信装置100では、まず、メッセージ符号化装置101が、メッセージs、想定不正チャンネル数t、およびチャンネル数nを用いて、メッセージ符号化の処理を実行してn個の符号化メッセージ情報v1〜vnを生成し、チャンネル300−1〜300−nと、不正チャンネル特定情報生成装置102に入力する(ステップA2)。
次に、不正チャンネル特定情報生成装置102は、入力された想定不正者数tおよびチャンネル数nと、メッセージ符号化装置101で生成された符号化メッセージ情報v1〜vnとを用いて、符号化メッセージ情報v1〜vnのそれぞれに対応した不正チャンネル特定情報A1〜Anを生成し、チャンネル300−1〜300−nに入力する。(ステップA3)。
図6は、本実施形態における受信装置200の動作を説明するためのフローチャートである。図6を参照すると、まず、受信装置200に想定不正チャンネル数tが入力される。(ステップB1)。
続いて、受信装置200はチャンネル300−1〜300−nから不正チャンネル特定情報A1〜Anおよび符号化メッセージ情報をv1〜vnを読み出す(ステップB2)。
そして、受信装置200の不正チャンネル特定装置202が、不正チャンネル特定情報、各符号化メッセージ情報、想定不正チャンネル数tを用いて、不正チャンネルの識別子を元とする集合Lを生成する(ステップB3)。
次に、メッセージ復号装置201が、集合Lに識別子が含まれていないチャンネルから入力された符号化メッセージ情報がすべて同じメッセージの符号化情報であるか否かを調べる(ステップB4)。
メッセージ復号装置201は、すべて同じメッセージの符号化情報であることが確認できた場合、そのメッセージを出力する(ステップB5)。
メッセージ復号装置201は、すべて同じメッセージの符号化情報であることが確認できない場合には、メッセージの受信失敗を表す記号を出力する(ステップB6)。以下、具体的な実施例に即して説明する。
<第1の実施例>
第1の実施例のシステム構成は図1乃至図3を参照して説明した前記実施形態と同様とされる。
第1の実施例のシステム構成は図1乃至図3を参照して説明した前記実施形態と同様とされる。
チャンネル数nと、想定不正チャンネル数tに対して、
n≧3*t+1
が成立しているものとする。
n≧3*t+1
が成立しているものとする。
また、
n=3t+d+1
とし、
d’を
d≧d’≧0
であるものとする。
n=3t+d+1
とし、
d’を
d≧d’≧0
であるものとする。
第1の実施例のメッセージ伝送システムは、メッセージのデータ集合に、GF(p^{d’+t+1})を用いる。但し、pは素数の冪乗であり、素数そのものである場合もある。
GF(p^{d’+t+1})は、素数の冪乗pに対する有限体であり、有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第1の実施例におけるメッセージ符号化装置101(図1参照)は、非特許文献3に記載された、(2t+d’+1,t+d’,n)しきい値法を用いて秘密情報を分散符号化する。
メッセージ復号装置201は、(2t+d’+1,t+d’,n)しきい値法に対応する復号方法を用いてメッセージを復元する。
このとき、符号化されたメッセージはデータ集合GF(p)の要素になる。
次に、第1の実施例の送信装置100と受信装置200(図1参照)について説明する。
第1の実施例の送信装置100には、メッセージs、想定不正チャンネル数(想定不正者数)t、分散情報総数(チャンネル数)nが入力される。
GF(p^{d’+t+1})の要素であるメッセージsは、GF(p)によって、
(s_1,・・・,s_{d’+t+1})
のように表せる。
(s_1,・・・,s_{d’+t+1})
のように表せる。
送信装置100では、メッセージ符号化装置101(図1参照)が、GF(p)上の定数項から、d’+t次の項までの係数が、それぞれ、
s_1,・・・,s_{d’+t+1}である、2t+d’次多項式を、ランダムに生成する。この2t+d’次多項式を、
fs(x)
と記す。
s_1,・・・,s_{d’+t+1}である、2t+d’次多項式を、ランダムに生成する。この2t+d’次多項式を、
fs(x)
と記す。
そして、メッセージ符号化装置101は、
fs(1),fs(2),・・・,fs(n)
を計算し、計算結果と入力iとのペア
Vi=(i,vi)
(i=1,2,・・・,n,vi=fs(i))
を、符号化メッセージ情報として、それぞれ、チャンネル300−i((i=1,2,・・・,n)に入力する。
fs(1),fs(2),・・・,fs(n)
を計算し、計算結果と入力iとのペア
Vi=(i,vi)
(i=1,2,・・・,n,vi=fs(i))
を、符号化メッセージ情報として、それぞれ、チャンネル300−i((i=1,2,・・・,n)に入力する。
図7は、第1の実施例における不正チャンネル特定情報生成装置102の構成を示すブロック図である。図7を参照すると、不正チャンネル特定情報生成装置102は、符号化メッセージ情報変換装置401、RS(Reed Solomon)情報源生成装置402、およびRS符号語生成装置403を有している。
符号化メッセージ情報変換装置401は、メッセージ符号化装置101の出力である
Vi=(i,vi)
を取得し、
q≧n*p
となるqに対し、有限体GF(q)上で、
xi=p*(i−1)+vi (i=1,2,・・・,n)
を計算し、RS符号語生成装置403に出力する。
Vi=(i,vi)
を取得し、
q≧n*p
となるqに対し、有限体GF(q)上で、
xi=p*(i−1)+vi (i=1,2,・・・,n)
を計算し、RS符号語生成装置403に出力する。
RS情報源生成装置402は、有限体GF(q)上のランダムなデータe0,e1,・・・,etを生成し、RS符号語生成装置403に出力する。
RS符号語生成装置403は、
符号化メッセージ情報変換装置401から出力されたxi(i=1,2,・・・,n)と、
RS情報源生成装置402から出力されたe0,e1,・・・,etと
を取得し、
有限体GF(q)上で、
Ai=e0+e1*xi+e2*xi^2+・・・+et*xi^t (i=1,2,・・・,n)
を計算し、それぞれをチャンネル300−i(i=1,2,・・・,n)に入力する。
符号化メッセージ情報変換装置401から出力されたxi(i=1,2,・・・,n)と、
RS情報源生成装置402から出力されたe0,e1,・・・,etと
を取得し、
有限体GF(q)上で、
Ai=e0+e1*xi+e2*xi^2+・・・+et*xi^t (i=1,2,・・・,n)
を計算し、それぞれをチャンネル300−i(i=1,2,・・・,n)に入力する。
このA1,A2,・・・,Anが、第1の実施例における不正チャンネル特定情報となる。
第1の実施例の受信装置200(図2参照)には、想定不正チャンネル数tが入力される。
受信装置200には、チャンネル300−1,300−2,・・・,300−nから、
Vi=(i,vi)とAi (i=1,2,・・・,n)
が入力される。
Vi=(i,vi)とAi (i=1,2,・・・,n)
が入力される。
ここで取得した
(A1,A2,・・・,An)
は、
RS情報源生成装置402の出力
e0,e1,・・・,et
を情報源とするリード・ソロモン(Reed−Solomon)誤り訂正符号の符号語になっている。
(A1,A2,・・・,An)
は、
RS情報源生成装置402の出力
e0,e1,・・・,et
を情報源とするリード・ソロモン(Reed−Solomon)誤り訂正符号の符号語になっている。
前提より、
n≧3t+1
であることから、Aiに含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,etを復元することが可能である。
n≧3t+1
であることから、Aiに含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,etを復元することが可能である。
受信装置200内では、Vi=(i,vi)と、Ai (i=1,2,・・・,n)が不正チャンネル特定装置202に入力される。
図8は、第1の実施例における不正チャンネル特定装置202の構成を示すブロック図である。図8を参照すると、不正チャンネル特定装置202は、RS誤り訂正装置501および不正チャンネル集合出力装置502を有している。
RS誤り訂正装置501は、データVi=(i,vi)と、データAi (i=1,2,・・・,n)とを用いて、リード・ソロモン誤り訂正処理を実行し、不正チャンネル特定情報生成装置102のRS情報源生成装置402が生成したものと同じ
e0,e1,・・・,et
を復元し、不正チャンネル集合出力装置502に出力する。このとき、リード・ソロモン誤り訂正処理としては、公知の方法が用いられる。公知のリード・ソロモン誤り訂正処理の一例として、バーレカンプ(Berlekamp)法がある。
e0,e1,・・・,et
を復元し、不正チャンネル集合出力装置502に出力する。このとき、リード・ソロモン誤り訂正処理としては、公知の方法が用いられる。公知のリード・ソロモン誤り訂正処理の一例として、バーレカンプ(Berlekamp)法がある。
不正チャンネル集合出力装置502には、Vi=(i,vi))Ai(i=1,・・・,n)が入力される。
不正チャンネル集合出力装置502は、取得したデータを用いて、
xi=p*(i−1)+vi (i=1,2,・・・,n)
を計算し、
Ai=e0+e1*xi+e2*xi^2+・・・+et*xi^t
が成立しないiの集合Lを、不正チャンネルリストとしてメッセージ復号装置201に送る。
xi=p*(i−1)+vi (i=1,2,・・・,n)
を計算し、
Ai=e0+e1*xi+e2*xi^2+・・・+et*xi^t
が成立しないiの集合Lを、不正チャンネルリストとしてメッセージ復号装置201に送る。
メッセージ復号装置201は、不正チャンネル特定装置202からの集合(不正チャンネルリスト)Lを取得し、集合Lにiが含まれていないViがすべて同じメッセージの符号語であるかを調べる。
メッセージ復号装置201は、すべてが同じメッセージの符号語であることが確認できたとき、そのメッセージを出力する。それ以外の場合、メッセージ復号装置201は、メッセージの受信失敗を表す記号を出力する。
メッセージを復号する処理において、メッセージを復元する方法としては、公知の方法を用いればよい。公知の方法の一例として、連立方程式を解く方法やラグランジュ補間を用いる方法がある。
以上説明したように、第1の実施例によれば、送信装置100において、メッセージ符号化装置101は、(2t+d’+1,t+d’,n)しきい値法でn個の符号化メッセージ情報Vi(i=1,2,・・・,n)を生成する。
不正チャンネル特定情報生成装置102は、メッセージ符号化装置101の生成したn個の符号化メッセージ情報Viと、t次多項式とを用いて、各符号化メッセージ情報Viに対する不正チャンネル特定情報Ai(i=1,2,・・・,n)を生成する。
その際、不正チャンネル特定情報生成装置102は、符号化メッセージ情報Vi(i=1,2,・・・,n)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正チャンネル特定情報を生成する。
受信装置200において、不正チャンネル特定装置202は、符号化メッセージ情報Vi(i=1,2,・・・,n)およびそれらに対応する不正チャンネル特定情報を用いて、リード・ソロモン誤り訂正処理を行って、誤った分散秘密情報を示す記号の集合L(不正チャンネル特定装置202からの集合(不正チャンネルリスト))を出力する。
メッセージ復号装置201は、不正チャンネル特定装置202によるリード・ソロモン誤り訂正処理にて誤りが検出されなかった符号化メッセージ情報Viのすべてが同じメッセージが符号化された情報であることが確認できた場合、そのメッセージを出力する。それ以外の場合、メッセージの受信失敗を表す記号を出力する。第1の実施例では、メッセージを多項式の係数に埋め込んでいる。多項式の係数に埋め込んだ情報を求める方法としては、連立方程式を解く方法などがある。
このように、符号化メッセージ情報Viと、ランダムなt次多項式とを用いて、リード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正チャンネル特定情報を生成することで、改ざんされた符号化メッセージ情報の特定を可能とするメッセージ伝送システムの各チャンネルを通して送信するデータのサイズを、従来よりも小さくすることができる。
また、第1の実施例では、各符号化メッセージ情報Vi(i=1,2,・・・,n)から一意に導き出される値xi(i=1,2,・・・,n)を、ランダムなt次多項式に代入し、得られた値を各Viに対する不正チャンネル特定情報Aiとする。
その際、任意のvi,vjについて、
vi≠vjであればxi≠xj
が成立するように、符号化メッセージ情報Viとiからxiを生成するとき、
q≦n*pとなるqに対して、
GF(q)上で、
xi=p*(i−1)+vi (i=1,2,・・・,n)を計算する。
vi≠vjであればxi≠xj
が成立するように、符号化メッセージ情報Viとiからxiを生成するとき、
q≦n*pとなるqに対して、
GF(q)上で、
xi=p*(i−1)+vi (i=1,2,・・・,n)を計算する。
符号化メッセージ情報のサイズをpとする第1の実施例では、符号化メッセージ情報と不正チャンネル特定情報のサイズを併せた集合のサイズがp*qとなる。
また、改ざんされた符号化メッセージ情報が集合Lの元として出力される確率、つまり改ざんを検出できる確率は、1−1/qとなる。
非特許文献1に開示された方式では、各チャンネルを通して送るデータサイズは
p^{(d’+t+1)−d’}
、つまり、
p^{t+1}
である。
p^{(d’+t+1)−d’}
、つまり、
p^{t+1}
である。
qはたかが、pのn倍であるので、tが大きいほど、本実施例の、各チャンネルを通して送るデータのサイズが低減される。
本実施例は、不正チャンネル特定情報の誤りを訂正する方法として、リードソロモン誤り訂正処理を用いているが、誤りが確実に訂正できる方法であれば、他の方法を用いてもよい。
<第2の実施例>
第2の実施例において、チャンネル数nと想定不正チャンネル数tに対して、
n≧3*t+1
が成立しているものとする。
第2の実施例において、チャンネル数nと想定不正チャンネル数tに対して、
n≧3*t+1
が成立しているものとする。
また、
n=3t+d+1
とし、
d’を、
d≧d’≧0
であるものとする。
n=3t+d+1
とし、
d’を、
d≧d’≧0
であるものとする。
第2の実施例のシステムは、秘密情報のデータ集合に、有限体GF(p^(N*(t+d’+1)))を用いる。
ここで、pは、第1の実施例で用いたのと同じ素数の冪乗である。
また、第1の実施例と同様、有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第2の実施例におけるメッセージ符号化装置101(図1参照)も、第1の実施例同様、非特許文献3に記載された(2t+d’+1,t+d’,n)しきい値法を用いてメッセージを符号化する。
メッセージ復号装置201(図2参照)は、その(2t+d’+1,t+d’,n)しきい値法に対応する復号方法を用いてメッセージを復号する。
次に第2の実施例の送信装置100と受信装置200について説明する。
第2の実施例の送信装置100には、メッセージs、チャンネル数n、および想定不正チャンネル数tが入力される。
GF(p^(N*(d’+t+1)))の要素であるメッセージsは、GF(p^N)の要素によって、
(s_1,・・・,s_{d’+t+1})
のように表せる。
(s_1,・・・,s_{d’+t+1})
のように表せる。
送信装置100は、メッセージs、チャンネル数n、想定不正チャンネル数tが入力されると、メッセージ符号化装置101により、GF(p^N)上の定数項からd’+t次の項までの係数がそれぞれ、
s_1,・・・,s_{d’+t+1}
である2t+d’次多項式をランダムに生成する。
s_1,・・・,s_{d’+t+1}
である2t+d’次多項式をランダムに生成する。
この2t+d’次多項式をfs(x)と記す。
そして、メッセージ符号化装置101は、
fs(1),fs(2),・・・,fs(n)
を計算し、計算結果fs(i)と入力iとのペア
Vi=(i,vi) (i=1,2,・・・,n,vi=fs(i))
を符号化メッセージ情報として、それぞれチャンネル300−i(i=1,2,・・・,n)に入力する。
fs(1),fs(2),・・・,fs(n)
を計算し、計算結果fs(i)と入力iとのペア
Vi=(i,vi) (i=1,2,・・・,n,vi=fs(i))
を符号化メッセージ情報として、それぞれチャンネル300−i(i=1,2,・・・,n)に入力する。
GF(p^N)の要素である符号化メッセージ情報viは、GF(p)の要素によって
(v{i,0},・・・,v{i,N−1})
のように表せる。
(v{i,0},・・・,v{i,N−1})
のように表せる。
図9は、第2の実施例における不正チャンネル特定情報生成装置102の構成を示すブロック図である。図9を参照すると、不正チャンネル特定情報生成装置102は、符号化メッセージ情報変換装置601、第1のRS情報源生成装置602、第1のRS符号語生成装置603、第2のRS情報源生成装置604、および第2のRS符号語生成装置605を有している。
不正チャンネル特定情報生成装置102にチャンネル数nおよび想定不正チャンネル数tが入力されると、符号化メッセージ情報変換装置601は、メッセージ符号化装置101の出力であるVi=(i,v{i,0},・・・,v{i,N−1})(i=1,・・・,n)を取得し、GF(p)上でランダムにeを選択し、第2のRS符号語生成装置605に出力する。
また、符号化メッセージ情報変換装置601は、GF(p)上で
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算する。
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算する。
続いて、符号化メッセージ情報変換装置601は、
q≧n*p
となるqに対し、
GF(q)上で、
xi=p*(i−1)+yi(i=1,2,・・・,n)
を計算し、第1のRS符号語生成装置603に出力する。
q≧n*p
となるqに対し、
GF(q)上で、
xi=p*(i−1)+yi(i=1,2,・・・,n)
を計算し、第1のRS符号語生成装置603に出力する。
第1のRS情報源生成装置602は、GF(q)上のランダムなデータe0,e1,・・・,etを第1のRS符号語生成装置603に出力する。
第1のRS符号語生成装置603は、
符号化メッセージ情報変換装置601から出力されたxi(i=1,2,・・・,n)と、
第1のRS情報源生成装置602から出力されたe0,e1,・・・,etと、
を取得し、GF(q)上で、
Cs(xi)=e0+e1*xi+e2*xi^2+・・・+et*xi^t(i=1,2,・・・,n)
を計算し、出力する。
符号化メッセージ情報変換装置601から出力されたxi(i=1,2,・・・,n)と、
第1のRS情報源生成装置602から出力されたe0,e1,・・・,etと、
を取得し、GF(q)上で、
Cs(xi)=e0+e1*xi+e2*xi^2+・・・+et*xi^t(i=1,2,・・・,n)
を計算し、出力する。
第2のRS情報源生成装置604は、GF(p)上のランダムなデータr1,・・・,rtを選択し、第2のRS符号語生成装置605に出力する。
第2のRS符号語生成装置605は、
符号化メッセージ情報変換装置601から出力されたeと、
第2のRS情報源生成装置604から出力されたr1,・・・,rtと、
を取得し、GF(q)上で、
Ce(xi)=e+r1*i+r2*i^2+・・・+rt*i^t (i=1,2,・・・,n)
を計算し出力する。
符号化メッセージ情報変換装置601から出力されたeと、
第2のRS情報源生成装置604から出力されたr1,・・・,rtと、
を取得し、GF(q)上で、
Ce(xi)=e+r1*i+r2*i^2+・・・+rt*i^t (i=1,2,・・・,n)
を計算し出力する。
第1のRS符号語生成装置603から出力されたCs(xi)(i=1,2,・・・,n)と、
第2のRS符号語生成装置605から出力されたCe(i)と
からなる
Ai=(Cs(xi),Ce(i)) (i=1,2,・・・,n)
が、符号化メッセージ情報viに対応する不正チャンネル特定情報となる。
第2のRS符号語生成装置605から出力されたCe(i)と
からなる
Ai=(Cs(xi),Ce(i)) (i=1,2,・・・,n)
が、符号化メッセージ情報viに対応する不正チャンネル特定情報となる。
不正チャンネル特定情報A1,A2,・・・,Anの各々は、それぞれチャンネル300−i (i=1,2,・・・,n)に入力される。
第2の実施例の受信装置200には、想定不正チャンネル数tが入力される。
受信装置200には、チャンネル300−1,300−2,・・・,300−nからVi=(i,vi)と、Ai (i=1,2,・・・,n)が入力される。
このAi=(Cs(xi),Ce(i))において、
(Cs(x1),Cs(x2),・・・,Cs(xn))
は、第1のRS情報源生成装置602から出力されたe0,e1,・・・,etを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。
(Cs(x1),Cs(x2),・・・,Cs(xn))
は、第1のRS情報源生成装置602から出力されたe0,e1,・・・,etを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。
n≧3t+1
であるので、
Cs(xi)に含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,eを復元することが可能である。
であるので、
Cs(xi)に含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,eを復元することが可能である。
また同様に、
(Ce(1),Ce(2),・・・,Ce(n))は、e,r1,r2,・・・,rtを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。ここで、eは符号化メッセージ情報変換装置601の出力である。また、r1,・・・,rtは、第2のRS符号語生成装置605の出力である。
(Ce(1),Ce(2),・・・,Ce(n))は、e,r1,r2,・・・,rtを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。ここで、eは符号化メッセージ情報変換装置601の出力である。また、r1,・・・,rtは、第2のRS符号語生成装置605の出力である。
前提より、
n≧3t+1
であることから、
Ce(i)に含まれるt個の誤りを訂正し、元の情報源e,r1,・・・,rtを復元することが可能である。
n≧3t+1
であることから、
Ce(i)に含まれるt個の誤りを訂正し、元の情報源e,r1,・・・,rtを復元することが可能である。
受信装置200内では、不正チャンネル集合出力装置502には、Vi=(i,vi)、Ai( i=1,・・・,n)が不正チャンネル特定装置202に入力される。
図10は、第2の実施例における不正チャンネル特定装置202の構成を示すブロック図である。図10を参照すると、不正チャンネル特定装置202は第1のRS誤り訂正装置701、第2のRS誤り訂正装置702、および不正チャンネル集合出力装置703を有している。
第1のRS誤り訂正装置701は、符号語(Cs(x1),・・・,Cs(xn))に対してリード・ソロモン誤り訂正処理を実行し、不正チャンネル特定情報生成装置102の第1のRS情報源生成装置602が出力したのと同じe0,e1,・・・,etを復元し、不正チャンネル集合出力装置703に出力する。
第2のRS誤り訂正装置702は、符号語(Ce(1),・・・,Ce(n))に対してリード・ソロモン誤り訂正処理を実行し、不正チャンネル特定情報生成装置102の符号化メッセージ情報変換装置601が出力したのと同じeを復元し、不正チャンネル集合出力装置703に出力する。
不正チャンネル集合出力装置703には、
Vi=(i,vi)、Ai=(Cs(xi),Ce(i)) (i=1,・・・,n)
が入力される。
Vi=(i,vi)、Ai=(Cs(xi),Ce(i)) (i=1,・・・,n)
が入力される。
そして、不正チャンネル集合出力装置703は、
GF(p)上で
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算し、
さらにGF(q)上で、
x{i_j}=p*(i_j−1)+yi (i=1,2,・・・,n)
を計算する。
GF(p)上で
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算し、
さらにGF(q)上で、
x{i_j}=p*(i_j−1)+yi (i=1,2,・・・,n)
を計算する。
続いて不正チャンネル集合出力装置703は、
Ce(i)=e0+e1*x{i}+e2*x{i}^2+・・・+et*x{i}^t
が成立しないiの集合Lを不正者リストとして出力する。
Ce(i)=e0+e1*x{i}+e2*x{i}^2+・・・+et*x{i}^t
が成立しないiの集合Lを不正者リストとして出力する。
この集合(不正チャンネルリスト)Lが、不正チャンネル特定装置202の出力となる。
メッセージ復号装置201は、不正チャンネル特定装置202によるリード・ソロモン誤り訂正処理にて誤りが検出されなかった符号化メッセージ情報Viのすべてが同じメッセージが符号化された情報であることが確認できた場合、そのメッセージを出力する。
それ以外の場合、メッセージの受信失敗を表す記号を出力する。
それ以外の場合、メッセージの受信失敗を表す記号を出力する。
この実施例では、e0,e1,・・・,etは、eによってGF(p^N)の要素であるメッセージの符号語をGF(p)の要素に写した値に不正な値が含まれていないかをチェックしている。つまり、e0,e1,・・・,etは、メッセージの符号語をeによって表される関数に入力した出力に不正な値が含まれていないかを特定するためのデータである。
また、
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
のようなv{i,0}を入力とした関数は、非特許文献3等に記載されているように、「ユニバーサルハッシュ関数」と呼ばれる関数の関数表現になっている。
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
のようなv{i,0}を入力とした関数は、非特許文献3等に記載されているように、「ユニバーサルハッシュ関数」と呼ばれる関数の関数表現になっている。
このユニバーサルハッシュ関数族は、この関数族からランダムに選ばれたユニバーサルハッシュ関数に対する入力と出力の関係がt組判明していても、そのいずれかの入力の出力と同じ出力をもつ入力を選ぶことができる確率が十分に低い関数族になっている。
このため、不正者にt本までのチャンネルを流れるデータを見られてもよい。つまり、第1のRS符号語生成装置603と第2のRS符号語生成装置605は、これらのデータを誤り訂正可能な形式に符号化する装置であるといえる。
この実施例では、メッセージを多項式の係数に埋め込んでいる。多項式の係数に埋め込んだ情報を求める方法としては、連立方程式を解く方法などがある。
以上説明したように、第2の実施例では、
各符号化メッセージ情報Vi(i=1,2,・・・,n)と、
ランダムに選択したeと、
から一意に導き出される
xi(i=1,2,・・・,n)
を求め、
ランダムなt次多項式Csに、xiを代入して、Cs(xi)を求め、
Ce(0)=eとなるランダムなt次多項式にiを代入して、Ce(i)を求め、
Cs(xi)とCe(i)からなる値を、各Viに対する、不正チャンネル特定情報Aiとする。
各符号化メッセージ情報Vi(i=1,2,・・・,n)と、
ランダムに選択したeと、
から一意に導き出される
xi(i=1,2,・・・,n)
を求め、
ランダムなt次多項式Csに、xiを代入して、Cs(xi)を求め、
Ce(0)=eとなるランダムなt次多項式にiを代入して、Ce(i)を求め、
Cs(xi)とCe(i)からなる値を、各Viに対する、不正チャンネル特定情報Aiとする。
その際、任意のvi,vjについて、
vi≠vjであれば、
xi≠xj
が十分に高い確率で成立するように、
まず、ランダムな値eを用いて、
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算し、
yiを用いて、
xi=p*(i−1)+yi (i=1,2,・・・,n)
を計算する。
vi≠vjであれば、
xi≠xj
が十分に高い確率で成立するように、
まず、ランダムな値eを用いて、
yi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1} (i=1,2,・・・,n)
を計算し、
yiを用いて、
xi=p*(i−1)+yi (i=1,2,・・・,n)
を計算する。
符号化メッセージ情報のサイズを
p^N
とする本実施例では、符号化メッセージ情報と不正チャンネル特定情報のサイズを併せた集合のサイズが、
p^{N+1}*q
となる。
p^N
とする本実施例では、符号化メッセージ情報と不正チャンネル特定情報のサイズを併せた集合のサイズが、
p^{N+1}*q
となる。
また、改ざんされた符号化メッセージ情報が集合Lの元として出力される確率、つまり改ざんを検出できる確率は、
1−N/p−1/q
となる。
1−N/p−1/q
となる。
非特許文献2に開示された方式では、各チャンネルを通して送るデータのサイズは、
p^(N*(t+d’+1)−d’)
であることから、本実施例によれば、各チャンネルを通して送るデータのサイズが大幅に低減される。
p^(N*(t+d’+1)−d’)
であることから、本実施例によれば、各チャンネルを通して送るデータのサイズが大幅に低減される。
第1の実施例では、符号化メッセージ情報のサイズpと、不正検出確率1−1/qとの間に、
q≧n*p
という制約があった。
q≧n*p
という制約があった。
第2の実施例では、pを適切に選択することにより、符号化メッセージ情報のサイズと不正検出確率との間の制約を解消することができる。
つまり、メッセージ情報のサイズと不正検出確率との間の制約を解消することができる。
なお、発明を実施する最良の形態、第1の実施例、第2の実施例の説明では、すべてチャンネルを用いた場合の説明を行ったが、チャンネルを実現する手段は、送信装置の生成した複数のデータを分けて送信することができるものであればよい。
本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 処理装置
11 CPU
12 主記憶装置
13 記録媒体
14 データ蓄積装置
15 メモリ制御インターフェイス部
16 I/Oインターフェイス部
18 バス
20 入力装置
30 出力装置
100 送信装置
101 メッセージ符号化装置
102 不正チャンネル特定情報生成装置
200 受信装置
201 メッセージ復号装置
202 不正チャンネル特定装置
300−1〜300−n チャンネル
401 符号化メッセージ情報変換装置
402 RS情報源生成装置
403 RS符号語生成装置
501 RS誤り訂正装置
502 不正チャンネル集合出力装置
601 符号化メッセージ情報変換装置
602 第1のRS情報源生成装置
603 第1のRS符号語生成装置
604 第2のRS情報源生成装置
605 第2のRS符号語生成装置
701 第1のRS誤り訂正装置
702 第2のRS誤り訂正装置
703 不正チャンネル集合出力装置
A1〜A3,B1〜B7 ステップ
11 CPU
12 主記憶装置
13 記録媒体
14 データ蓄積装置
15 メモリ制御インターフェイス部
16 I/Oインターフェイス部
18 バス
20 入力装置
30 出力装置
100 送信装置
101 メッセージ符号化装置
102 不正チャンネル特定情報生成装置
200 受信装置
201 メッセージ復号装置
202 不正チャンネル特定装置
300−1〜300−n チャンネル
401 符号化メッセージ情報変換装置
402 RS情報源生成装置
403 RS符号語生成装置
501 RS誤り訂正装置
502 不正チャンネル集合出力装置
601 符号化メッセージ情報変換装置
602 第1のRS情報源生成装置
603 第1のRS符号語生成装置
604 第2のRS情報源生成装置
605 第2のRS符号語生成装置
701 第1のRS誤り訂正装置
702 第2のRS誤り訂正装置
703 不正チャンネル集合出力装置
A1〜A3,B1〜B7 ステップ
Claims (9)
- 想定不正チャンネル数をtとし、n個のメッセージmの符号語と、n個の不正符号語特定データを出力する符号化装置であって、
メッセージが埋め込まれた有限体上のn−(t+1)次多項式Fを生成し、前記多項式上の点をメッセージの符号語としてn個生成するメッセージ符号化部と、
前記メッセージの符号語を入力として有限体上のt次多項式Gを生成し、前記メッセージの符号語のそれぞれが有限体上で異なる値となるように加工処理を行い、前記加工処理後の値を前記t次多項式Gに入力したときの出力を不正符号語特定データとして前記メッセージの符号語と対応させて生成する不正符号語特定データ生成部と、
を備え、前記メッセージの符号語と前記不正符号語特定データを出力する、ことを特徴とする符号化装置。 - 請求項1に記載の符号化装置から出力される前記メッセージの符号語と前記不正符号語特定用データと、チャンネル数nと想定不正チャンネル数tとを入力としメッセージを出力する復号化装置であって、
前記不正符号語特定データに対して誤り訂正処理を行い、前記誤り訂正処理後の不正符号語特定データより、前記不正符号語特定データが生成されたt次多項式の復元処理を行い、
すべてのメッセージの符号語について復元されたt次多項式に、前記符号化装置が行った加工と同じ仕方で加工処理を行い、前記加工処理後の値を復元したt次多項式に入力した値が加工前のメッセージの符号語と対応する不正符号語特定データと等しいか否かの判定処理を行い、等しいと判定されたすべてのメッセージの符号語のリストを出力する不正符号化メッセージ判定部と、
前記不正符号化メッセージ判定部が出力したリストに含まれるメッセージの符号語がすべて同一のメッセージの符号語であるか否かを判定し、すべてが同一のメッセージの符号語であると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、それ以外の場合には、復号失敗を表す出力を行うメッセージ復号部と、
を備えている、ことを特徴とする復号化装置。 - 請求項1に記載の符号化装置と、請求項2に記載の復号化装置と備えた伝送システム。
- 想定不正チャンネル数をtとし、n個のメッセージmの符号語と、n個の不正符号語特定データを出力する符号化方法であって、
メッセージが埋め込まれた有限体上のn−(t+1)次多項式Fを生成し、前記多項式上の点をメッセージの符号語としてn個生成し、
前記メッセージの符号語を入力として有限体上のt次多項式Gを生成し、前記メッセージの符号語のそれぞれが有限体上で異なる値となるように加工処理を行い、前記加工処理後の値を前記t次多項式Gに入力したときの出力を不正符号語特定データとしてメッセージの符号語と対応させて生成し、
前記メッセージの符号語と前記不正符号語特定データを出力する、ことを特徴とする符号化方法。 - 請求項4に記載の符号化方法から出力される前記メッセージの符号語と前記不正符号語特定用データと、チャンネル数nと想定不正チャンネル数tとを入力としメッセージを出力する復号化方法であって、
前記不正符号語特定データに対して誤り訂正処理を行い、前記誤り訂正処理後の不正符号語特定データより、前記不正符号語特定データが生成されたt次多項式の復元処理を行い、
すべてのメッセージの符号語について復元されたt次多項式に、前記符号化装置が行った加工と同じ仕方で加工処理を行い、前記加工処理後の値を復元したt次多項式に入力した値が加工前のメッセージの符号語と対応する不正符号語特定データと等しいか否かの判定処理を行い、等しいと判定されたすべてのメッセージの符号語のリストを生成し、
前記リストに含まれるメッセージの符号語がすべて同一のメッセージの符号語であるか否かを判定し、
すべてが同一のメッセージの符号語であると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、
それ以外の場合には、復号失敗を表す出力を行う、
ことを特徴とする復号化方法。 - 請求項4に記載の符号化方法と、請求項5に記載の復号化方法と、を含む伝送方法。
- 想定不正チャンネル数をtとし、n個のメッセージmの符号語と、n個の不正符号語特定データを出力する符号化装置を構成するコンピュータに、
メッセージが埋め込まれた有限体上のn−(t+1)次多項式Fを生成し、前記多項式上の点をメッセージの符号語としてn個生成するメッセージ符号処理と、
メッセージの符号語を入力として有限体上のt次多項式Gを生成し、メッセージの符号語のそれぞれが有限体上で異なる値となるように加工処理を行い、前記加工処理後の値を前記t次多項式Gに入力したときの出力を不正符号語特定データとしてメッセージの符号語と対応させて生成する不正符号語特定データ生成処理と、
前記メッセージの符号語と前記不正符号語特定データを出力する処理と、
を実行させる符号化プログラム。 - 請求項7に記載の符号化装置から出力される前記メッセージの符号語と前記不正符号語特定用データと、チャンネル数nと想定不正チャンネル数tとを入力としメッセージを出力する復号化装置を構成するコンピュータに、
前記不正符号語特定データに対して誤り訂正処理を行い、前記誤り訂正処理後の不正符号語特定データより、前記不正符号語特定データが生成されたt次多項式の復元処理を行い、
すべてのメッセージの符号語について復元されたt次多項式に、前記符号化装置が行った加工と同じ仕方で加工処理を行い、前記加工処理後の値を復元したt次多項式に入力した値が加工前のメッセージの符号語と対応する不正符号語特定データと等しいか否かの判定処理を行い、等しいと判定されたすべてのメッセージの符号語のリストを出力する不正符号化メッセージ判定処理と、
前記不正符号化メッセージ判定処理によって出力された前記リストに含まれるメッセージの符号語がすべて同一のメッセージの符号語であるか否かを判定し、すべてが同一のメッセージの符号語であると判定された場合、不正がないと判定された符号語よりメッセージを復号して出力し、それ以外の場合には、復号失敗を表す出力を行うメッセージ復号処理と、
を実行させる復号化プログラム。 - 請求項7に記載の符号化プログラムと、請求項8に記載の復号化プログラムと、を備えた伝送プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013106298A JP5510590B2 (ja) | 2007-08-06 | 2013-05-20 | 伝送システムと方法ならびにプログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007204133 | 2007-08-06 | ||
JP2007204133 | 2007-08-06 | ||
JP2013106298A JP5510590B2 (ja) | 2007-08-06 | 2013-05-20 | 伝送システムと方法ならびにプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009526471A Division JP5316411B2 (ja) | 2007-08-06 | 2008-08-06 | 送信装置と受信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013232902A JP2013232902A (ja) | 2013-11-14 |
JP5510590B2 true JP5510590B2 (ja) | 2014-06-04 |
Family
ID=40341375
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009526471A Active JP5316411B2 (ja) | 2007-08-06 | 2008-08-06 | 送信装置と受信装置 |
JP2013106298A Active JP5510590B2 (ja) | 2007-08-06 | 2013-05-20 | 伝送システムと方法ならびにプログラム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009526471A Active JP5316411B2 (ja) | 2007-08-06 | 2008-08-06 | 送信装置と受信装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8381048B2 (ja) |
JP (2) | JP5316411B2 (ja) |
WO (1) | WO2009020143A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5563245A (en) * | 1995-01-31 | 1996-10-08 | Eli Lilly And Company | Anti-obesity proteins |
US8381048B2 (en) * | 2007-08-06 | 2013-02-19 | Nec Corporation | Transmission system, method and program |
JPWO2010095662A1 (ja) * | 2009-02-17 | 2012-08-30 | 日本電気株式会社 | 符号化装置、復号化装置、伝送システム、符号化方法、復号化方法、プログラム |
CN102428686A (zh) * | 2009-05-19 | 2012-04-25 | 安全第一公司 | 用于安全保护云中的数据的***和方法 |
JP5396297B2 (ja) * | 2010-02-04 | 2014-01-22 | Kddi株式会社 | 秘匿通信システム、秘匿通信方法およびプログラム |
AU2011235068B2 (en) | 2010-03-31 | 2015-10-01 | Security First Corp. | Systems and methods for securing data in motion |
EP2606448B1 (en) | 2010-08-18 | 2016-02-10 | Security First Corp. | Systems and methods for securing virtual machine computing environments |
CN104520873A (zh) | 2012-04-06 | 2015-04-15 | 安全第一公司 | 用于保护和恢复虚拟机的***和方法 |
US10031679B2 (en) | 2014-11-21 | 2018-07-24 | Security First Corp. | Gateway for cloud-based secure storage |
WO2018226221A1 (en) * | 2017-06-07 | 2018-12-13 | Google Llc | Context-dependent shared dictionaries |
US11941489B2 (en) * | 2019-05-09 | 2024-03-26 | Trustees Of Princeton University | Quantum belief propagation for low density parity checks |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4588985A (en) * | 1983-12-30 | 1986-05-13 | International Business Machines Corporation | Polynomial hashing |
JP3328597B2 (ja) * | 1999-01-25 | 2002-09-24 | 日本電信電話株式会社 | 分散乗算装置及びそのプログラム記録媒体 |
US6598203B1 (en) * | 2000-06-28 | 2003-07-22 | Northrop Grumman Corporation | Parallel punctured convolutional encoder |
JP4623623B2 (ja) | 2003-10-27 | 2011-02-02 | 日本電信電話株式会社 | 復元制御型秘密情報分散装置 |
US7426676B2 (en) * | 2004-01-14 | 2008-09-16 | Broadcom Corporation | Data retrieval from a storage device using a combined error correction and detection approach |
US7287209B2 (en) * | 2004-06-03 | 2007-10-23 | Cheertek, Inc. | System and method for detecting codeword errors in error correction code or cyclic redundancy check code |
JP2007060280A (ja) * | 2005-08-24 | 2007-03-08 | Osaka Prefecture Univ | デジタルコンテンツ作成装置およびデジタルコンテンツ改変検出装置およびデジタルコンテンツ改変鑑定システム |
JP2007135170A (ja) | 2005-10-12 | 2007-05-31 | Hitachi Ltd | 電子データ送受信方法 |
JP4412296B2 (ja) | 2006-03-01 | 2010-02-10 | 沖電気工業株式会社 | 重要情報伝送システム,重要情報送信装置,重要情報送信方法,重要情報受信装置,重要情報受信方法,およびそのプログラム |
US7949927B2 (en) * | 2006-11-14 | 2011-05-24 | Samsung Electronics Co., Ltd. | Error correction method and apparatus for predetermined error patterns |
US8381048B2 (en) * | 2007-08-06 | 2013-02-19 | Nec Corporation | Transmission system, method and program |
-
2008
- 2008-08-06 US US12/672,514 patent/US8381048B2/en active Active
- 2008-08-06 WO PCT/JP2008/064092 patent/WO2009020143A1/ja active Application Filing
- 2008-08-06 JP JP2009526471A patent/JP5316411B2/ja active Active
-
2013
- 2013-05-20 JP JP2013106298A patent/JP5510590B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2009020143A1 (ja) | 2010-11-04 |
JP5316411B2 (ja) | 2013-10-16 |
WO2009020143A1 (ja) | 2009-02-12 |
US8381048B2 (en) | 2013-02-19 |
JP2013232902A (ja) | 2013-11-14 |
US20120011419A1 (en) | 2012-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5510590B2 (ja) | 伝送システムと方法ならびにプログラム | |
US8510608B2 (en) | Generating PUF error correcting code using redundant hardware | |
WO2019153867A1 (zh) | 二维码生成及识别 | |
Bösch et al. | Efficient helper data key extractor on FPGAs | |
JP5151987B2 (ja) | 分散情報生成装置および復元装置 | |
JP5193303B2 (ja) | 情報伝送及び複雑な保護の方法 | |
RU2680350C2 (ru) | Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации | |
CN113259132B (zh) | 数据传输加解密方法、装置、计算机设备及存储介质 | |
JP2004274459A (ja) | 量子鍵配送方法および通信装置 | |
JP5299286B2 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
WO2010147215A1 (ja) | 秘密情報分散システム,秘密情報分散方法及びプログラム | |
CN107566360B (zh) | 一种数据认证码的生成方法 | |
JP2013523043A (ja) | ソースデータセットの完全性を識別及び保護する方法 | |
KR101675674B1 (ko) | 양자 메시지에 대한 양자 서명 장치 | |
JP6295961B2 (ja) | メッセージ認証システム、およびメッセージ認証方法 | |
RU2707940C1 (ru) | Способ многоуровневого контроля и обеспечения целостности данных | |
KR102211648B1 (ko) | 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치 및 그 동작 방법 | |
Chen | Fundamental limits of Byzantine agreement | |
JP2017073716A (ja) | タグリスト生成装置、タグリスト検証装置、タグリスト更新装置、タグリスト生成方法及びプログラム | |
JP2015204508A (ja) | 情報処理システム及びデータ転送方法 | |
JP5469631B2 (ja) | 復号結果検証装置、方法及びプログラム | |
US11196447B2 (en) | Computer-implemented method for error-correction-encoding and encrypting of a file | |
WO2010095662A1 (ja) | 符号化装置、復号化装置、伝送システム、符号化方法、復号化方法、プログラム | |
WO2023089776A1 (ja) | 通信システム、送信装置、受信装置、並びに、それらの方法およびプログラム | |
JP2018098757A (ja) | 通信装置及び暗号処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140220 |
|
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: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5510590 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |