JPWO2003007543A1 - 共有データ精製装置及び共有データ精製方法 - Google Patents

共有データ精製装置及び共有データ精製方法 Download PDF

Info

Publication number
JPWO2003007543A1
JPWO2003007543A1 JP2003513183A JP2003513183A JPWO2003007543A1 JP WO2003007543 A1 JPWO2003007543 A1 JP WO2003007543A1 JP 2003513183 A JP2003513183 A JP 2003513183A JP 2003513183 A JP2003513183 A JP 2003513183A JP WO2003007543 A1 JPWO2003007543 A1 JP WO2003007543A1
Authority
JP
Japan
Prior art keywords
block
refining
data
rule
shared data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003513183A
Other languages
English (en)
Other versions
JP4187105B2 (ja
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.)
Mitsubishi Electric Corp
National Institute of Information and Communications Technology
Original Assignee
Mitsubishi Electric Corp
National Institute of Information and Communications Technology
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 Mitsubishi Electric Corp, National Institute of Information and Communications Technology filed Critical Mitsubishi Electric Corp
Publication of JPWO2003007543A1 publication Critical patent/JPWO2003007543A1/ja
Application granted granted Critical
Publication of JP4187105B2 publication Critical patent/JP4187105B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Numerical Control (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

仮共有したデータを精製用ブロックと使い捨てブロックとに分割し、双方で精製用ブロックをハミング距離増幅効果により攪拌してハミング距離を拡大し、送信機(1)はこの攪拌データを使い捨てデータでバーナム暗号として送信し、受信機(2)は受信したバーナム暗号を自分の使い捨てブロックで復号し、自分の精製用ブロックを攪拌したデータとハミング距離を比較し、共有できたか否かを判定する。

Description

技術分野
この発明は、量子暗号等を用いた通信において誤りを含んで共有されたデータから、誤りの無い共有データを精製する共有データ精製装置および共有データ精製方法に関するものである。
背景技術
従来の量子暗号の誤り訂正方法は例えば、”INTRODUCTION TO QUANTUM COMPUTATION AND INFORMATION”(EDITOR:Hoi−Kwong Lo,et al.)に示されている。量子暗号を実現するためにはその手順を示したプロトコルが幾つか提案されているが、中でも BB84プロトコルというのが現在のところ量子暗号の標準的なプロトコルと言える。このプロトコルはその後ノイズのある現実的な通信路でも有効なプロトコルとして改良された。”Experimental Quantum Cryptography”(C.H.Bennett,F.Bessette,G.Brassard,L.Salvail and J.Smolin,J.Cryptology Vol.5,pp.3−28)で述べられている改良型BB84プロトコルは大きく分けて前半の量子通信路を使い、物理的に安全な初期データを共有する手順と、後半の公衆回線(古典通信路)上で誤り訂正方法を用いて、その初期データに含まれる誤りを訂正し、情報理論的に第三者への漏洩情報量を抑える手順の2つの部分から構成されている。前半の量子通信路を用いてラフにデータを共有する部分は本発明とは直接関係がない。尚、以降ではBB84プロトコルは全てこの改良型BB84プロトコルとする。本件は後半の“誤りを訂正し、情報理論的に第三者への漏洩情報量を抑える手順”に関するもので、従来の方法は次のように説明することができる。
BB84プロトコルの前半部によって共有されるデータは現状1%程度のエラーが含まれる。これは通信路に生じる熱雑音等の揺らぎや反射光といった装置の精度などに起因するものであるが、第三者が介在することによってもそれがエラーの原因となる。量子暗号はそもそも第三者による介入がエラーとして検出できることがその最大の特徴であるが、それは理想的な状況下での話であり、前述のように自然発生的に生じるエラー率の大きさ程度に紛れ込んだ漏洩なのか、それとも第三者による介入なのかはこの段階では区別できない。またラフにデータを共有したとは言え、通常1%もエラーがあればシステムとしては成り立たないことの方が多い。例えばそれを共通鍵暗号における鍵データとして用いることを想像すれば、そこに1ビットたりとも誤りがあってはならないことがすぐに分る。そこで盗聴者にできるだけ情報を漏らさずその誤りを取り除き、同時に量子通信時に漏れた情報を捨て、安全なデータだけを共有する方法が考案された。それが誤り訂正とプライバシー増幅と呼ばれる手法である。
誤り訂正法の原理は簡単で、まず最初に送信者と受信者間で誤りを若干含んだ共有データがあるとする。これを幾つかのブロックに分け、そのブロックごとに1ビットのパリティを比較する。このとき公共の回線を用いるので、一般的な仮定として盗聴者にもそのパリティ情報が漏れるものと考える。したがって情報理論的な漏洩情報量、この場合は1ビットであるが、その帳尻をあわせるため、現在保持しているラフな共有データの1ビットを後で捨てる。パリティの合致したブロックはそこでひとまず処理を終了し、パリティの合わなかったブロックはそのブロックをさらに2分割して同様なパリティチェックを行い、誤りのあるビットが検出されるまで2分岐探索を繰り返し行い、最終的に誤りのあるビットを修正する。こうして2分岐探索に用いたパリティビット数分プラス1個のビットを捨て、残ったビットを共有情報の候補とする。候補といったのは同じブロック中に偶数個誤りがあると、パリティが一致してしまい検出できないので、こうした場合も取り除くためには、共有データのビットを適当に置換して、同様の処理を最初から何度か繰り返すことにより、確実に誤ったビットは取り除くことができるというものである。またプライバシー増幅法は上述の誤り訂正を行っても、さらにごく僅かであるが、偶然盗聴者が盗聴しても誤りとして検出されなかったビットが存在する可能性がある.その部分情報の盗聴可能性も除去する目的で、送受信者は共有情報に対してハッシュを取りそのハッシュ値を最終共有データとするなどして、さらに安全性を高める処理が施される。これがプライバシー増幅法と呼ばれるものである。
以上の従来法におけるt−resilient関数について以下説明する。
fをブール関数で
Figure 2003007543
なるものとする。ここで、Z_2はZを表し、2^nは2のn乗を示す。
fがbalanced(またはequitable)であるとは
すべてのmビット列yに対して、fの逆像f^{−1}(y)が2^{n−m}個の元を持つことと定義される。
これは、yが出力であるときに入力xをランダムに選んだときに
f(x)=yとなる確率をP(y)とすれば
すべてのmビット列yに対してP(y)が2^{−m}となることと同値である。fへの入力xの内tビットは固定されていると仮定する、つまり、
Figure 2003007543
とする。ここで、x_{i_1}はxi1を表し、c_1はcを表す。x_{i_t}、c_tも同様である。
確率P(y | x_{i_1}=c_1,.....x_{i_t}=c_t)を
x_{i_1}=c_1,.....x_{i_t}=c_tの条件において
f(x)=yとなる確率とする。
fがcorrelation−immune of order tであるとは
すべてのx,y,c_1,c_2,...c_tに対して
Figure 2003007543
となることと定義される。
上記において、例えば2^{−m}は、2−mを意味する。
直感的にはnビット列xにおいてt個のビットが盗聴者にばれていてもfを作用させることで結局盗聴者がf(x)=yを類推する確率はP(y)=2^{−m}となり、これは何もばれていない場合と同じ、つまり確率が2^{−m}になることである。これはエントロピーが、t個のビットがばれていようと、いなくてもfを作用させることで盗聴者から見ればmビットの共有鍵はmビットのエントロピー(類推する確率が2^{−m})を持つことになる。
fがt−resilient関数であるとは
fがbalancedであり、correlation−immune of order t
であることと定義される。
これは、すべての可能な変数に対して
Figure 2003007543
となることと同値である。
直感的には、nビット列xのいくつかのビット(t以下)がばれていてもfを作用させて、nビットからmビットにビット長を短くする。
このとき、x(nビット列)においてはいくつかのビットがばれているので盗聴者から見ればnビット列のxを類推する確率は2^{−n}よりも小さい。つまり完全な安全性が達成されていないことになる(nビットの列xの完全な安全性はxを類推する確率が丁度2^{−n}であること)。
一方、y=f(x)(mビット列)においては、盗聴者が類推する確率は丁度、2^{−m}である。つまりmビットのエントロピーがある。
以上よりtは量子通信においてエラーにまぎれてEveに盗聴されてもかまわないビットの数の最大と考えられる。このことから、エラー率によりtの値は決定されるべきである。
したがってmが十分大きなものになるように、nを決定して、エラー率からtを決定して、t−resilient関数を構成し、通信プロトコルを設計すれば、初期の鍵交換においていくつかのビットが盗聴者に漏れていても、t−resilient関数を利用することにより、完全な安全性(直感的にはmをセキュリティパラメータとすれば、盗聴者がmビットの鍵を類推する確率が丁度2^{−m}になること)を達成出来る。
ちなみに、t−resilient関数の構成方法は盗聴者に知られていてもかまわない。つまりt−resilient関数は公開情報である。
以上の従来法では、t−resilient関数を作用させて安全性を高めていたのだが、そのt−resilient関数の構成法が全ての場合において存在する訳ではなく、それは入力のビット長と出力ビット長とセキュリティパラメータに依存するという問題があった。
この発明は上記のような問題点を解決するためになされたもので、t−resilient関数でなく、SHA−1などの一般的な関数を用いて、上述の全ての場合においても対応可能な方式を獲得することを目的とする。
さらにデータの送受信時の安全性は全てバーナム暗号の安全性に帰着させることができ、情報理論的により高い安全性を有する方法を獲得することを目的とする。
発明の開示
この発明に係る共有データ精製装置は、送信機が精製用ブロックをハミング距離増幅効果により攪拌した後、使い捨てデータでバーナム暗号化して受信機に送信するようにしたものである。
このことによって、データを盗聴される危険性が低いという効果がある。
この発明に係る共有データ精製装置は、仮共有データを送信機と受信機(共有データ精製装置)がそれぞれ精製用ブロックと使い捨てブロックに分割し、精製用データをそれぞれハミング距離増幅効果によりハミング距離を拡大するようにしたものである。
このことによって、仮共有したデータが同じか違うかを識別しやすいという効果がある。
発明を実施するための最良の形態
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面にしたがって説明する。
実施の形態1.
第1図はこの実施の形態における共有データ精製システムを示す図、第2図はこの共有データ精製システムのデータ処理手段のブロック図、第3図はこの共有データ精製システムの動作を示すフローチャート、第4図A,Bはそれぞれ仮共有データX,Yを精製用データと使い捨てデータに分割する図である。
第1図において、1は送信機、2は受信機、3は送信機1と受信機2を結ぶ量子通信回線、4は送信機1と受信機2を結ぶ公衆通信回線である。
さらに、11は送信機1に含まれる通信手段Xであり、受信機2に含まれる通信手段Y21と結ばれている。通信手段X11と通信手段Y21はそれぞれ量子通信手段と公衆通信手段の双方を含むものとする。
量子通信回線3はデータの伝送において1パーセント程度の誤りが発生する可能性が高い。公衆通信回線4は通信手段X11と通信手段Y21により例えばリードソロモン法のような誤り訂正符号が付加され、誤りが発生しても訂正されるものとする。
12,22はそれぞれ送信機1、受信機2に含まれ、CPU、RAM等からなるデータ処理手段X、データ処理手段Yであり、13,23はそれぞれ送信機1、受信機2に含まれ、RAM等の揮発性メモリまたはフラッシュメモリや固定ディスク等の不揮発性メモリからなるデータ格納手段X、データ格納手段Yである。
第2図において、221はブロック生成手段、222はデータ攪拌手段、223は復号ブロック生成手段、224は同一性判定手段、225は誤り訂正手段であり、これらはデータ処理手段Y22に含まれる。
受信機2が共有データ精製装置である。
次に動作について第3図のフローチャートを用いて説明する。
まずステップ101において、送信機1のデータ格納手段X13に格納してある送信用データが通信手段X11により受信機2に向けて量子通信回線3を介した量子暗号通信により送信される。受信機2は通信手段Y21によりこのデータを受信し、データ格納手段Y23に格納する。これにより送信機1と受信機2は上記送信用データを共有するが、この共有したデータは送信機1から受信機2への送信途中に発生した誤り、または第三者による盗聴などにより、完全に同一ではない可能性がある。これを第3図においては「仮共有」と表現している。データ格納手段X13に格納してある上記送信用データを仮共有データX、データ格納手段Y23に格納されたデータを仮共有データYとする。
ステップ101で仮共有された仮共有データXと仮共有データYを、送信機1と受信機2はそれぞれステップ102及び110により、第4図A,第4図Bのように精製用データAx、Ay、とバーナム暗号を生成するための使い捨てデータBx、Byに分割する。第4図Aは仮共有データXの分割を示す図であり、図において、301は仮共有データX、302は精製用データAx、303は使い捨てデータBx、304は剰余を示す。また第4図Bは仮共有データYの分割を示す図であり、図において、305は仮共有データY、306は精製用データAy、307は使い捨てデータBy、308は剰余を示す。仮共有データXの分割はデータ処理手段X12、仮共有データYの分割はデータ処理手段Y22(ブロック生成手段)が行なう。
さらに仮共有データXの精製用データAxはそれぞれ等しいビット数Pを有するn個の精製用ブロックAxr(r=1〜n)に分割され、使い捨てデータBxはそれぞれ等しいビット数Qを有するn個の使い捨てブロックBxr(r=1〜n)に分割される。同様に仮共有データYもそれぞれ等しいビット数Pを有するn個の精製用ブロックAyrとそれぞれ等しいビット数Qを有するn個の使い捨てブロックByrに分割される。上記精製用ブロックAxrと使い捨てブロックBxrはデータ処理手段X12中のRAMに、精製用ブロックAyrと使い捨てブロックByrはデータ処理手段Y22中のRAMに格納されるが、それぞれデータ格納手段X13、データ格納手段Y23に格納してもよい。
仮共有データXと仮共有データYのビット数は等しいのでLビットとすると、第4図A5第4図Bより明らかなように、
Figure 2003007543
から上記nが求められる。剰余αビットは使用しない。このような所定の分割規則により分割が行なわれる。
rの値が等しい精製用ブロック各AxrとAyr、および使い捨てブロックBxrとByrの間の誤り率は量子通信回線3の品質によるが、1パーセント程度であるとする。
送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。ここではr=rの場合について説明する。
ステップ103及びステップ111において、送信機1と受信機2はハッシュ関数などのハミング距離増幅効果(データ攪拌規則)を用いて、精製用ブロックAxr、Ayrをそれぞれ攪拌し、攪拌後ブロックCxr、Cyrに変換する。攪拌後ブロックCxr、CyrのサイズはそれぞれQビットである。この変換はデータ処理手段X12、データ処理手段Y22(データ攪拌手段)により行われる。
ハミング距離とは2つのデジタルデータの一致していないビットの数である。またハミング距離増幅効果とは、以下(a)(b)により定義されるハミング距離増大関数Fあるいは排他的論理和エントロピー増大関数を用いるものである。
(a)ハミング距離増大関数F:任意のビット列sに対して小さな数εが存在し、ハミング距離ε以下のあらゆるビット列rについて、関数Fで写像した先F(s)とF(r)のハミング距離がd以上となる関数。ただし、d>>1。
(b)排他的論理和エントロピー増大関数:2つのビット列の排他的論理和のエントロピーを増大させる関数。
この処理を行う意味は次の通りである。即ち全く同じデータはハミング距離増幅効果を行っても写像された先は同じ値になるのに対して、1ビットでも異なるデータはハミング距離増幅効果により、写像された先は全く異なるデータとなる。つまり最初1ビットのハミング距離にあったデータが、データサイズの半分程度のハミング距離に拡大されると考えられる。このことが本発明のポイントの1つである。
ここで、精製用ブロックAxrが第2精製用ブロック、精製用ブロックAyrが第1精製用ブロック、使い捨てブロックBxrが第2使い捨てブロック、使い捨てブロックByrが第1使い捨てブロック、攪拌後ブロックCxrが第2攪拌ブロック、攪拌ブロックCyrが第1攪拌ブロックである。
ハミング距離増幅効果(データ攪拌規則)として周知のハッシュ関数である“SHA−1”を使用すると、攪拌後ブロックCxr、Cyrのサイズはそれぞれ160ビットとなるので、上記Q=160となる。従って使い捨てブロックBxr、Byrもそれぞれ160ビットとすることが必要である。
次に第3図において、送信機1はステップ104において、データ処理手段X12により、この写像(攪拌)された攪拌後ブロックCxrと同じサイズである使い捨てブロックBxrを乱数列として攪拌後ブロックCxrと使い捨てブロックBxrの排他的論理和(XOR)を取り、その結果を送信用ブロックDrとして通信手段X11から公衆通信回線4を通して受信機2に送る。つまりバーナム暗号として送る。送信用ブロックDrのサイズはQビットである。
バーナム暗号は送りたいビット列とXORを取る乱数列が同じ長さのときに情報理論的に安全性が証明されている暗号であり、このとき乱数列は一度きりしか用いることはできない。
ここで、送信用ブロックDrが暗号化ブロックである。
受信機2は上記送信用ブロックDrを通信手段Y21で受信すると、ステップ112でデータ処理手段Y22(復号ブロック生成手段、同一性判定手段)を用いて、まず送信用ブロックDrと使い捨てブロックByrのXORをとり、その結果を検証用ブロックErとし、この検証用ブロックErと攪拌後ブロックCyrとを比較する。
すなわち
Figure 2003007543
ここで
Figure 2003007543
なので、
Figure 2003007543
となる。
もし、BxrとByrが一致していればEr=Cxrとなるので、検証用ブロックErと攪拌後ブロックCyrとの比較は、攪拌後ブロックCxrとCyrの比較と同じ意味になる。
実際は、前述のように使い捨てブロックBxrとByrは厳密に同じではなく1パーセント程度の誤りが含まれている可能性がある。
検証用ブロックErが復号ブロックであり、送信用ブロックDrと使い捨てブロックByrのXORをとることが復号規則である。
ハミング距離増幅効果として周知のハッシュ関数である“SHA−1”を使用すると、攪拌後ブロックCxr、Cyrのサイズはそれぞれ160ビットとなるので、上記Q=160となる。従って使い捨てブロックBxr、Byrもそれぞれ160ビットとすることが必要である。
また、精製用ブロックAxrとAyrが全く同じデータであるとすれば、攪拌後ブロックCxrとCyrは全く同じデータになり、精製用ブロックAxrとAyrに1ビットでも誤りがあれば、それぞれステップ103、ステップ111におけるハミング距離増幅効果により、攪拌後ブロックCxrとCyrは全く異なるデータになる。
第5図はハッシュ関数“SHA−1”がデータを攪拌する性能を示した実験結果である。
この実験では入力のビット長は512ビットに固定した。つまり512ビットのうち1ビットだけ異なる2つのデータの出力がどの程度ハミング距離にして離れるかを、サンプル数10000000件分のヒストグラムとして示したものである。尚、縦軸は度数を全体のサンプル数で割ったものに正規化してある。したがってハミング距離80の出現確率は6%強である。
この実験では平均値(m)は79.999550、標準偏差(σ)は6.327267となった。これに対して、同じ512ビット入力でも、最初のハミング距離を2に変化させた場合や入力のビット数を256に変化させた場合等それぞれ調べたが、その結果上述とほとんど同じで平均約80、標準偏差約6.3の正規分布を示した。つまりほとんどのビット列のペアはハミング距離が80前後の無相関なビット列に移されることが示された。またグラフから分かるように分散も小さく、全体で160ビットある中の80前後に集中していることが分る。一般に信頼区間としてセキュリティマージンをどれ位に設定するかはユーザによって決まる。ここでは一般的に受け入れられるであろう6×σ=38を信頼区間の幅とする。実際にSHA−1に関して今回の実験で現れたハミング距離の最小値は44であり、その出現頻度も1、2個と非常に少ないものであった。したがってSHA−1の場合80−38=42ビットをビット列同一性判定の閾値とすることができる。
つまりハミング距離増幅効果を有する関数としてSHA−1を選んだ場合、もし2つのビット列x_1、x_2に対して、f(x_1)とf(x_2)のハミング距離が42以下であるならば、非常に高い確率でx_1=x_2であると言える。
また以上よりハッシュ関数SHA−1は精製用ブロックAxrとAyrのハミング距離が1以上かつ精製用ブロックAxrとAyrのビット数の1/2より十分小さいとき(例えば1/100以下)は、攪拌後ブロックCxrとCyrのハミング距離は精製用ブロックAxrとAyrのハミング距離より大きくなるように攪拌する。
また精製用ブロックAxrとAyrのビット数をLA、ハミング距離をHA、攪拌後ブロックCxrとCyrのビット数をLC、ハミング距離をHCとし、攪拌前ハミング距離比をHA/LA、攪拌後ハミング距離比をHC/LCとすると、攪拌前ハミング距離比が0を超えかつ0.5より十分小さい時(例えば0.01以下)は、攪拌後ハミング距離比は攪拌前ハミング距離比より大きくなり、例えば信頼区間を6σとすると0.5±0.25となる。38/160をおおよそ0.25としている。
さらにこの実施の形態においては、使い捨てブロックBxrとByrの間の誤り(約1%)を考慮すると、
Figure 2003007543
であるので、ステップ112において、検証用ブロックErと攪拌後ブロックCyrのハミング距離が40以下であれば、攪拌後ブロックCxr、Cyrは同じであり、従って精製用ブロックAxrとAyrは一致しているので、「同じ」と判定することにする。つまり物理的なエラー率が25パーセント以下であるならば「同じ」と判定することにする。
また検証用ブロックErと攪拌後ブロックCyrのハミング距離が40を超えるときは攪拌後ブロックCxr、Cyrは異なり、従って精製用ブロックAxrとAyrは一致していないので、「違う」と判定することにする。
従って、この実施の形態においては、第3図のステップ112におけるハミング距離の「所定値」は40である。
ステップ112において「同じ」と判断されれば、受信機2は同じであったことを通信手段Y21から公衆通信回線4を通して送信機1に通知し(ステップ113)、また受信機2は精製用ブロックAyrをデータ格納手段Y23内の精製済データ格納領域(図示せず)のrの値に対応する位置に格納して(ステップ114)、このブロックに関する動作を終了する(ステップ115)。
また送信機1は通信手段X11により受信機2から送られてくる判定結果を受信し、データ処理手段X12で判定結果を識別し(ステップ105)、「同じ」であれば、このブロックに関する動作を終了する(ステップ106)。これにより同じデータである精製用ブロックAxr、Ayrがそれぞれデータ格納手段X13、データ格納手段Y23に格納され、送信機1と受信機2で完全共有される。
「完全共有」とは、まったく同じデータを送信機1と受信機2が保持ことを意味する。
データ処理手段X12とデータ処理手段Y22は何番目の精製用ブロックが完全共有できたか、すなわち完全共有できた精製用ブロックAxr、Ayrのrの値がいくつであるかを、完全共有が完了した順にそれそれが保有する「完了ブロックナンバレジスタ」(図示せず)に格納しておく。また完全共有が完了した精製用ブロックをカウントし、完了した精製ブロック数がn個になったらすべての精製用ブロックの完全共有が完了し、その結果精製用データAxとAyが完全共有できたと判断する。
ステップ112で「違う」と判定された場合、受信機2は違っている旨を通信手段Y21により送信機1に通知し、送信機1から精製用ブロックAxrの誤り訂正コードが送られてくるのを待つ(ステップ116)。
送信機1は通信手段X11により受信機2から送られて来る判定結果を受信し、データ処理手段12で判定結果を識別し(ステップ105)、「違う」であれば、ステップ107において精製用ブロックAxrの誤り訂正コードArc(訂正情報)を生成する。
この誤り訂正コードArcは精製用ブロックAyrを精製用ブロックAxrと一致させるための情報である。
ここで仮にリードソロモン符号を用いた誤り訂正に於いて、どの程度の冗長コードを用いれば誤り訂正が行えるかを大まかに見積もる。まず前提としてGF(2)上のリードソロモン符号を用いるものとする。さらにエラーはバーストエラーではなくランダムエラーを仮定し、その平均ビットエラーレートを1%とする。この定義体の上では1符号語は、255(=2−1)バイト×8=2040ビットであり、そのうちエラービットは平均で2040×0.01≒21(ビット)存在する.これを全て1シンボル(今の場合、=1バイト)当たりに1ビットのエラーが生じると仮定すると、255バイト中の21バイトにエラーがあることになる。このときリードソロモン符号で言う検査記号数、すなわち冗長コードの長さはその倍の42バイトとなる。したがって255バイトの符号長の場合、情報長が213バイト、冗長分が42バイト、すなわち約1:0.2の割合となる。この実施の形態に当てはめて考えると、勿論定義体のサイズとビットエラーレートに依存するが、上述のような設定では、誤り訂正したいコードの約20パーセントの長さの冗長コードを生成し、ランダム列とXORしてバーナム暗号として送ればよいことになる。
ステップ107において、さらに送信機1はこの誤り訂正コードArcを同じ長さのデータ(暗号化用データ)と排他的論理和をとってバーナム暗号として受信機2に送信するが、この時の暗号化用データは受信機2も同じデータを持っている必要がある。そこで、データ処理手段X12は、すでに完全共有が完了した他のブロックの番号(rの値)の内もっとも小さいものsを上述の「完了ブロックナンバレジスタ」から読み出し、そのブロック番号の精製用ブロックAxsをデータ格納手段X13から読み出す。そして、この精製用ブロックAxsの先頭から上記誤り訂正コードArcと同じビット数のデータと、訂正コードArcとの排他的論理和をとってバーナム暗号化し、暗号化誤り訂正コードとして通信手段X11から受信機2に対して公衆通信回線4を通して送信する。
さらにこの時のブロック番号を「完了ブロックナンバレジスタ」に格納し、完全共有が完了した精製用ブロック数の値をインクリメントする。
ステップ117において、受信機2はこの暗号化誤り訂正コードを通信手段Y21で受信し、データ処理手段Y22(誤り訂正手段)がすでに完全共有が完了した他の精製用ブロックの番号(rの値)の内もっとも小さいものsを上述の「完了ブロックナンバレジスタ」から読み出し、そのブロック番号の精製用ブロックAysをデータ格納手段Y23から読み出す。そして、この精製用ブロックAysの先頭から受信した暗号化誤り訂正コードと同じビット数のデータ(復号用データ)と、受信した暗号化誤り訂正コードとの排他的論理和をとってバーナム暗号を復号し、復号した誤り訂正コードArcを用いて精製用ブロックAyrの誤り訂正を行ない、誤り訂正された精製用ブロックAyrをデータ格納手段Y23に格納する。
さらにこの時のrの値(ブロック番号)を「完了ブロックナンバレジスタ」に格納し、完全共有が完了した精製用ブロック数の値をインクリメントする。
上記暗号化用データと復号用データが同一データである。
上記のステップ107及び117においては、すでに完全共有が完了した他のブロックの番号を「完了ブロックナンバレジスタ」から読み出すと説明したが、まだ他に完全共有が完了した精製用ブロックが無く「完了ブロックナンバレジスタ」が空の場合は、他のいずれかの精製用ブロックの完全共有が完了し、「完了ブロックナンバレジスタ」にそのブロック番号が格納されるまで、動作はステップ107で中断される。
ここで、第3図のフローチャートにおいて、ステップ101が仮共有データ送信ステップ、ステップ102が第2ブロック生成ステップ、ステップ103が第2攪拌ブロック生成ステップ、ステップ104が暗号化ブロック生成ステップ、ステップ105が第2同一性判定ステップ、ステップ106が終了ステップ、ステップ107が訂正情報送信ステップ、ステップ110が第1ブロック生成ステップ、ステップ111が第1攪拌ブロック生成ステップ、ステップ112が同一性判定ステップ、ステップ113、114が第1精製用ブロック格納ステップ、ステップ116が判定結果送信ステップ、ステップ117が誤り訂正ステップである。
以上のようにこの実施の形態においては、誤り訂正を行うようにしているので、従来法に比べて多くのデータを捨てることなく完全に同じデータを共有することができる。試算すると、例えばハミング距離増幅効果にハッシュ関数SHA−1を用いた場合を考える。SHA−1は最大264−1ビットのデータから160ビットのハッシュ値を生成する。しかしここではもう少し具体的に10000ビットから160ビットのハッシュを生成すると仮定しよう。仮にエラーレートが極端に少なく0.01%くらいだったとする(現在の量子暗号実験では不可能とも言える値であるが、仮定の話として進める)。すると10000ビットあれば、1個くらいのエラーが含まれる。ハッシュ値は160ビットであるので、バーナム暗号として用いる使い捨てデータは160ビットということになる。したがって10000ビットの中にエラーが含まれていなければ、160ビットを捨てて、9840ビットを共有したことになるので、元のデータ長の約98%以上のデータを共有データとして拾い上げることができる。次にエラーが含まれていた場合、該10000ビットに対して誤り訂正コードを生成する。今、仮にビットの30%くらいの冗長コードで訂正できるとすると、3000ビットをバーナム暗号として送る必要がある。したがって使い捨てデータは全部で、160+3000=3160ビットとなり、これにより6840ビットが共有できるので、約70%のデータを救うことができる。
またこの実施の形態においては、仮共有データを送信機と受信機(共有データ精製装置)がそれぞれ精製用ブロックと使い捨てブロックに分割し、精製用データをそれぞれハミング距離増幅効果によりハミング距離を拡大するので、仮共有したデータが同じか違うかを識別しやすいという効果がある。
これは特に送信機と受信機が仮共有したブロックのハミング距離がそのデータサイズの50%に対して十分小さいときは、攪拌後のハミング距離は拡大されるので、効果的である。
またこの実施の形態においては、送信機と受信機が仮共有したデータが異なっている場合は誤り訂正を行なうようにしたので、送信機と受信機とで多くの同じデータを共有できるという効果がある。
またこの実施の形態においては、送信機が精製用ブロックをハミング距離増幅効果により攪拌した後、使い捨てデータでバーナム暗号化して受信機に送信するので、データを盗聴される危険性が低いという効果がある。
またこの実施の形態においては、仮共有したデータを複数のブロック(精製用ブロックと使い捨てブロックの対)に分割するので、完全共有に成功した他のブロックのデータを利用して誤り訂正符号(訂正情報)を送信することが可能となり、データ秘匿の安全性が高いという効果がある。
またこの実施の形態においては、完全共有に成功したブロック番号を格納しておく完了ブロックナンバレジスタを設けたので、誤り訂正符号をバーナム暗号化して送信する際の処理が高速化されるという効果がある。
またこの実施の形態においては、復号ブロックと第1攪拌ブロックのハミング距離により第1精製ブロックと第2精製ブロックが同じか違うかを判定しており、このハミング距離の判定の基準値(所定値)を変更すれば柔軟に判定信頼性を変更できるという効果がある。
なお上記の実施の形態では、ハミング距離増幅効果としてハッシュ関数のSHA−1を用いる例を示したが他のハッシュ関数でもよい。
また第3図のステップ112における「所定値」を40としたが、上記の実験結果の説明にあるように42(信頼区間6σ)としても十分な信頼性が得られるので、所定値を42としてもよい。さらにSHA−1以外の場合でもそれぞれのハッシュ関数の出力ビット数やデータ攪拌特性により他の値にしてもよい。
さらにハミング距離増幅効果はデータを攪拌する手段であればハッシュ関数に限らず、例えばDES、MISTY等の共通鍵暗号やRSA等の公開鍵暗号の暗号化関数を用いてもよい。
また上記の実施の形態においては、送信機1と受信機2が共有データを共有するために、量子暗号通信を使用する例を示したが、量子暗号通信に限らず公衆回線を用いた通信でもよく、また暗号通信でなくてもよい。すなわち、ステップ101において、送信機1は受信機2と同一のデータを共有する目的でデータを送信するものであれば、送信データの形式、送信方法等は特に限定されるものではない。
また上記の実施の形態においてn=1となるようにP及びQを決定してもよい。
この場合、第1精製用データと第1精製用ブロック、第1使い捨てデータと第1使い捨てブロック、第2精製用データと第2精製用ブロック、第2使い捨てデータと第2使い捨てブロックがそれぞれ同じものとなる。
また上記実施の形態においては、第3図のフローチャートのステップ107、ステップ117において、それぞれ暗号化用データ、復号用データとして精製用ブロックの一部を使用している例を示したが、ステップ112においてハミング距離が0であったブロックについては使い捨てブロックBxrとByrも完全共有されているとみなし、使い捨てブロックBxrの一部を暗号化用データ、使い捨てブロックByrの一部を復号用データとして使用してもよい。
また上記実施の形態においては、送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれ、同じプロセスがn個並列に進行するとしたが、ブロック番号rの順にr=1から順次処理が行われてもよい。この時、あるブロック番号uにおいて、ステップ112で「違う」と判定されたがまだ他に完全共有が完了した精製用ブロックが無く「完了ブロックナンバレジスタ」が空の場合は、そのブロック番号uでの処理は中止され、次のブロック番号の処理が開始される。そして他のいずれかのブロック番号vで精製用ブロックの完全共有が完了し、「完了ブロックナンバレジスタ」にそのブロックの番号vが格納された時にブロック番号uの処理が再開され、ブロック番号vの精製用ブロックを用いて誤り訂正符号のバーナム暗号化と復号を行なう。
実施の形態2.
実施の形態1では受信機2が検証用ブロックErと攪拌後ブロックCyrを比較し、「違う」と判定したときのみ送信機1が精製用ブロックの誤り訂正コードを生成して送信する例を示した。
この実施の形態2においては、送信機1がすべての精製用ブロックについて誤り訂正コードを生成して送信する例を示す。
この実施の形態における共有データ精製システムは実施の形態1で説明した第1図と同様である。また仮共有データは実施の形態1と同様に第4図のように精製用データと使い捨てデータに分割される。
またこの実施の形態における共有データ精製システムの動作を示すフローチャートは第6図のようになる。
第6図のフローチャートにおいて、第3図と同一の番号を付したステップは実施の形態1と同様の動作を行なうので、説明を省略する。
またこの実施の形態においても、第6図における送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。ここではr=rの場合について説明する。
送信機1のデータ処理手段X12は、ステップ201において精製用ブロックAxrの誤り訂正符号Axrcを生成する。
ついでステップ202で、すでに完全共有が完了した他のブロックの番号(rの値)の内、最も小さいものtを実施の形態1で説明した「完了ブロックナンバレジスタ」から読み出し、そのブロック番号の精製用ブロックAxtをデータ格納手段X13から読み出す。そして、この精製用ブロックAxtの誤り訂正コードAxtcを生成するステップ203においては、データ処理手段X12により、実施の形態1と同様に攪拌後ブロックCxrと使い捨てブロックBxrの排他的論理和(XOR)を取り、その結果を送信用ブロックDrとする。さらに上記の誤り訂正符号AxrcとAxtcとの排他的論理和を取り、その結果を送信用訂正符号Grとし、送信手段X11により公衆通信回線を通じて受信機2に送信する。
さらにデータ処理手段X12はこの時のブロック番号を「完了ブロックナンバレジスタ」に格納し、完全共有が完了した精製用ブロック数の値をインクリメントする。
受信機2は上記送信用ブロックDrと送信用訂正符号Grを通信手段Y21で受信すると、ステップ112でデータ処理手段Y22(復号ブロック生成手段、同一性判定手段)を用いて、まず送信用ブロックDrと使い捨てブロックByrのXORをとり、その結果を検証用ブロックErとし、この検証用ブロックErと攪拌後ブロックCyrとを比較する。
実施の形態1と同様にステップ112において、検証用ブロックErと攪拌後ブロックCyrのハミング距離が所定値(40)以下であれば、攪拌後ブロックCxr、Cyrは同じであり、従って精製用ブロックAxrとAyrは一致しているので、「同じ」と判定することにする。
また検証用ブロックErと攪拌後ブロックCyrのハミング距離が所定値(40)を超えるときは攪拌後ブロックCxr、Cyrは異なり、従って精製用ブロックAxrとAyrは一致していないので、「違う」と判定することにする。
ステップ112において「同じ」と判断されれば、受信機2は精製用ブロックAyrをデータ格納手段Y23内の精製済データ格納領域(図示せず)のrの値に対応する位置に格納して(ステップ114)、このブロックに関する動作を終了する(ステップ115)。これにより同じデータである精製用ブロックAxr、Ayrがそれぞれデータ格納手段X13、データ格納手段Y23に格納され、送信機1と受信機2で完全共有される。
データ処理手段Y22はこの時のブロック番号を「完了ブロックナンバレジスタ」に格納し、完全共有が完了した精製用ブロック数の値をインクリメントする。
ステップ112で「違う」と判定された場合、受信機2のデータ処理手段Y22(誤り訂正手段)がすでに完全共有が完了した他のブロックの番号(rの値)の内、最も小さいものtを「完了ブロックナンバレジスタ」から読み出し、そのブロック番号の精製用ブロックAytをデータ格納手段Y23から読み出す。そして、この精製用ブロックAytの誤り訂正コードAytcを生成する(ステップ211)。
次にデータ処理手段Y22(誤り訂正手段)は上記送信用訂正符号Grと誤り訂正符号Aytcの排他的論理和Hrを求める(ステップ212)。
これは、
Figure 2003007543
において
Figure 2003007543
なので、
Figure 2003007543
となる。
AxtcとAytcは、それぞれステップ202とステップ211において、完全共有されたブロック番号tの精製用ブロックAxtとAytから生成されたものなので、一致している。従って、
Figure 2003007543
であり、Hrは精製用ブロックAxrcの誤り訂正符号である。
データ処理手段Y22はこのHrを使用して、誤りを含む精製用データAyrの誤りを訂正し、訂正後のAyrをデータ格納手段Y23に格納する(ステップ213)。またこの時のブロック番号を「完了ブロックナンバレジスタ」に格納し、完全共有が完了した精製用ブロック数の値をインクリメントした後、このブロック番号に対する処理を終了する(ステップ214)。
第6図のフローチャートにおいて、ステップ201が第2訂正情報生成ステップ、ステップ202が第2共有訂正情報生成ステップ、ステップ203が訂正情報暗号化ステップと訂正情報送信ステップ、ステップ211が第1共有訂正情報生成ステップ、ステップ212が訂正情報復号ステップ、ステップ213が誤り訂正ステップである。
以上のように、この実施の形態においては送信機1は送信用ブロックDrとともに送信用訂正符号Grも送信するので、受信機2から送信機1に対して応答する必要がなく、相互の通信が1回で完了し、通信量が小さくなるという効果がある。
実施の形態3.
実施の形態1では受信機2が検証用ブロックErと攪拌後ブロックCyrを比較し、「違う」と判定されたときは送信機1が精製用ブロックの誤り訂正コードを生成して送信する例を示した。
この実施の形態3においては、受信機2が「違う」と判定したときは送信機1が精製用ブロックAxrを変換して送信し、受信機2も精製用ブロックAyrを同じく変換し、誤りが発生したビット位置を推定する例を示す。
この実施の形態における共有データ精製システムは実施の形態1で説明した第1図と同様である。また仮共有データは実施の形態1と同様に第4図のように精製用データと使い捨てデータに分割される。
またこの実施の形態における共有データ精製システムの動作を示すフローチャートは第7図のようになる。
第7図のフローチャートにおいて、第3図と同一の番号を付したステップは実施の形態1と同様の動作を行なうので、説明を省略する。
またこの実施の形態においても、第7図における送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。ここではr=rの場合について説明する。
送信機1は通信手段X11により受信機2から送られて来る判定結果を受信し、データ処理手段X12で判定結果を識別し(ステップ105)、「違う」であれば、ステップ607において第8図Aに示したように、精製用ブロックAxrを2等分してAxrの前半部と後半部とを生成し、この前半部と後半部のそれぞれ対応するビット同士の排他的論理和を取ってバーナム暗号Xを生成する。このバーナム暗号Xを通信手段X11により受信機2に対して送信する。
受信機2は通信手段Y21でこのバーナム暗号Xを受信すると共に、精製用ブロックAyrを第8図Bに示したように2等分してAyrの前半部と後半部とを生成し、この前半部と後半部のそれぞれ対応するビット同士の排他的論理和を取ってバーナム暗号Yを生成する。このバーナム暗号Yは受信機2外部に対して送信するものではないが、便宜上「暗号」という呼び方をする。
もし精製用ブロックAxrと精製用ブロックAyrが一致していればバーナム暗号Xとバーナム暗号Yは同一のものになるが、この場合ステップ105およびステップ112の判定結果が「違う」であるので、バーナム暗号Xとバーナム暗号Yは一致しない。そしてバーナム暗号Xとバーナム暗号Yの一致していないビットの位置から精製用ブロックAyrのどの位置のビットが精製用ブロックAxrと異なっているかを推定することができる。
そのために、第9図に示したようにバーナム暗号Xとバーナム暗号Yの排他的論理和をとって検証データを生成し、この検証データの中で「1」が現れた位置が例えば前からb1ビット目だったとすると、精製用ブロックAyrの前半部の前からb1ビット目または後半部の前からb1ビット目のいずれかが精製用ブロックAxrの同じ位置のビットと反転して誤っていると推定できる。また検証データの中でb2ビット目にも「1」が現れたとすると同様に精製用ブロックAyrの前半部の前からb2ビット目または後半部の前からb2ビット目のいずれかが精製用ブロックAxrの同じ位置のビットと反転して誤っていると推定できる。以上のようなバーナム暗号Yの生成と、誤り位置の推定を受信機2はステップ617において行なう。
ついで受信機2はデータ処理手段Y22(誤り訂正手段)により、精製用ブロックAyrの誤っていると推定した位置のビットのいずれかを反転させて仮精製用ブロックAyr2を生成し、これをステップ111と同じハミング距離増幅効果により攪拌して仮攪拌後ブロックCyr2を生成する(ステップ618)。
そしてこの仮攪拌後ブロックCyr2とステップ112で求めた検証用ブロックErを比較し、ハミング距離が所定値(この実施の形態では40)以下であるかどうかを確認する。もしハミング距離が所定値以下であれば仮精製用ブロックAyr2は精製用データAxrと同一であると見なせるので、この仮精製用ブロックAyr2をデータ格納手段Y23の精製済データ格納領域のrの値に対応する位置に格納する。
仮攪拌後ブロックCyr2と検証用ブロックErのハミング距離が所定値以上であった場合は、精製用ブロックAyrの誤っていると推定した他の位置のビットを反転させて仮精製用ブロックAyr2を生成したり、誤っていると推定した位置が複数ある場合はそれらのビットを同時に反転させるなど、精製用ブロックAyrの誤っていると推定した位置のすべての組合わせのビットを反転させて、仮攪拌後ブロックCyrと検証用ブロックErとのハミング距離が所定値以下になるまで繰り返す。そして所定値以下になったらその時の仮精製用ブロックAyr2をデータ格納手段Y23の精製済データ格納領域のrの値に対応する位置に格納し(ステップ619)、このブロック番号に対する処理を終了する(ステップ118)。
第7図のフローチャートにおいて、ステップ607が訂正情報送信ステップ、ステップ617からステップ619が誤り訂正ステップである。
以上のように、この実施の形態においては誤りが発生しても受信機は既に送信された精製用ブロックのみから誤りの位置を推定し訂正することが可能なので、送信されたデータを有効に活用することが可能であるという効果がある。
また送信機や受信機は誤り訂正符号を演算したり、誤り訂正符号の送受信を行なわなくてもよいので、誤り訂正のための処理が簡略になるという効果がある。
実施の形態4.
実施の形態3においては、受信機2が「違う」と判定したときに送信機1が精製用ブロックAxrを変換して送信する例を示したが、この実施の形態4においては、送信機1がすべての精製用ブロックを変換して送信する例を示す。
この実施の形態における共有データ精製システムは実施の形態1で説明した第1図と同様である。また仮共有データは実施の形態1と同様に第4図のように精製用データと使い捨てデータに分割される。
またこの実施の形態における共有データ精製システムの動作を示すフローチャートは第10図のようになる。
第10図のフローチャートにおいて、第3図および第7図と同一の番号を付したステップは実施の形態1および実施の形態3と同様の動作を行なうので、説明を省略する。
またこの実施の形態においても、第10図における送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。ここではr=rの場合について説明する。
送信機1はステップ901において第8図Aに示したように、精製用ブロックAxrを2等分してAxrの前半部と後半部とを生成し、この前半部と後半部のそれぞれ対応するビット同士の排他的論理和を取ってバーナム暗号Xを生成する。
次いでステップ902において、実施の形態1、第3図のステップ104と同様に攪拌後ブロックCxrと同じサイズである使い捨てブロックBxrを乱数列として攪拌後ブロックCxrと使い捨てブロックBxrの排他的論理和(XOR)を取り、その結果を送信用ブロックDrとし、送信用ブロックDrとバーナム暗号Xを通信手段X11から公衆通信回線4を通して受信機2に送る。
以上のように、この実施の形態においては送信機1は送信用ブロックDrとともにバーナム暗号Xも送信するので、受信機2から送信機1に対して応答する必要がなく、相互の通信が1回で完了し、通信量が小さくなるという効果がある。
またこの実施の形態においては誤りが発生しても受信機は送信された精製用ブロックのみから誤りの位置を推定し訂正することが可能なので、送信されたデータを有効に活用することが可能であるという効果がある。
また送信機や受信機は誤り訂正符号を演算したり、誤り訂正符号の送受信を行なわなくてもよいので、誤り訂正のための処理が簡略になるという効果がある。
実施の形態5.
実施の形態1では送信機1は攪拌後ブロックCxrを送信用ブロックDrに変換して受信機2に送信する例を示したが、この実施の形態においては送信機1は攪拌後ブロックCxrを受信機2に対して送信する例を示す。
この実施の形態の共有データ精製システムは第1図と同様である。
またこの実施の形態の共有データ精製システムの動作は第11図に示すフローチャートのようになる。
第12図A,Bはこの実施の形態においてそれぞれ仮共有データX,Yを精製用データに分割する図であり、図において、310、311は剰余を示し、サイズはβビットとする。また、第4図A,Bと共通する要素には同一符号を付し、説明を省略する。
第11図のフローチャートにおいて、第3図と同一の番号を付したステップは実施の形態1と同様の動作を行なうので、説明を省略する。
またこの実施の形態においても、第11図における送信機1によるステップ103以降のステップ、受信機2によるステップ111以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。ここではr=rの場合について説明する。
ステップ101で仮共有された仮共有データXと仮共有データYを、送信機1と受信機2はそれぞれステップ901及び911により、第12図A,第12図Bのように等しいビット数Pを有するn個の精製用ブロックAxr、Ayr(r=1〜n)に分割する。
上記精製用ブロックAxrはデータ処理手段X12中のRAMに、精製用ブロックAyrはデータ処理手段Y22中のRAMに格納されるが、それぞれデータ格納手段X13、データ格納手段Y23に格納してもよい。
仮共有データXと仮共有データYのビット数は等しいのでLビットとすると、第12図A,第12図Bより明らかなように、
Figure 2003007543
から上記nが求められる。剰余βビッドは使用しない。
rの値が等しい精製用ブロック各AxrとAyrの間の誤り率は量子通信回線3の品質によるが、一般的に1パーセント程度である。
送信機1によるステップ103以降のステップ、受信機2によるステップ911以降のステップは各r(r=1〜n)について並列に処理が行なわれる。すなわち同じプロセスがn個並列に進行する。
送信機1はステップ902において、上記攪拌後ブロックCxrを通信手段X11から公衆通信回線4を通して受信機2に送る。
受信機2は上記攪拌後ブロックCxrを通信手段Y21で受信すると、ステップ912でデータ処理手段Y22を用いて、この攪拌後ブロックCxrと攪拌後ブロックCyrとを比較する。
以後実施の形態1と同様に処理が行なわれ、精製用ブロックAxrとAyrが完全共有される。
この実施の形態においては、送信機1は攪拌後データCxrをバーナム暗号化しないで送信し、受信機2は受信した攪拌後データCxrに何ら処理を加えることなく攪拌後データCyrと比較するので、処理が簡略化されるという効果がある。
実施の形態6.
実施の形態1では仮共有データは送信機1から受信機2に対して送信される例を説明したが、この実施の形態においては、送信機1と受信機2は別々に仮共有データを獲得し、受信機2が送信機1と同じ共有データを保持しているかどうかを検証する例を説明する。
第13図はこの実施の形態における共有データ精製システムを示す図、第14図はこの共有データ精製システムの動作を示すフローチャートである。第13図および第14図において実施の形態1で説明した第1図および第3図と同じ符号を付した構成要素またはステップは実施の形態1と同様の動作を行うので、その詳細な説明は省略する。
第13図は第1図に示した実施の形態1の共有データ精製システムの図から量子通信回線3を削除したものであり、他の構成は第1図と同様である。
第14図において、ステップ1001とステップ1002において送信機1と受信機2はそれぞれ仮共有データXおよび仮共有データYを獲得する。ここでは例えば図示しないデータ供給装置が存在し、このデータ供給装置から同じデータが送信機1に仮共有データXとして供給されてデータ格納手段X13に格納され、受信機2に仮共有データYとして供給されデータ格納手段Yに格納されたものとする。
この仮共有データXと仮共有データYとはデータ供給装置からの送信途中に発生した誤りなどにより完全に同一ではない可能性があるため、「仮共有データ」と呼ぶ。
この仮共有データXがこの発明における第2の仮共有データ、仮共有データYがこの発明における第1の仮共有データである。また受信機2がこの発明における共有データ精製装置である。
以後送信機側は実施の形態1と同様にステップ102,103,104の順に動作し、ステップ104において生成した送信用ブロックDrを受信機2に対して送信する。
受信機2も実施の形態1と同様にステップ110,111,112の順に動作し、ステップ112において検証用ブロックErを生成し、ステップ111で生成した攪拌後ブロックCyrと比較する。
ステップ112において攪拌後ブロックCyrと検証用ブロックErのハミング距離が所定値を超えた場合、受信機2はステップ116において判定結果として「違う」を公衆通信回線を通じて送信機1に送信する。
判定結果が「違う」の場合、送信機1と受信機2は例えば再度データ供給装置からデータの供給を受けて上記動作を判定結果が「同じ」になるまで繰り返す。
ステップ112において攪拌後ブロックCyrと検証用ブロックErのハミング距離が所定値以下だった場合、受信機2はステップ113において判定結果として「同じ」を公衆通信回線を通じて送信機1に送信する。
判定結果が「同じ」の場合、送信機1と受信機2は同じデータを共有したことになるので、例えばこの共有したデータを共通鍵暗号方式の鍵として使用し、暗号通信を行う。
以上のようにこの実施の形態における受信機は送信機と仮共有した仮共有データが一致しているか否かを検証するものであり、共有データ検証装置あるいは共有データ認証装置とも呼べるものである。
またこの実施の形態においては実施の形態1と同様に、仮共有データを送信機と受信機(共有データ精製装置)がそれぞれ精製用ブロックと使い捨てブロックに分割し、精製用データをそれぞれハミング距離増幅効果によりハミング距離を拡大するので、仮共有したデータが同じか違うかを識別しやすいという効果がある。
なお、本実施の形態では、仮共有データ以外のデータを公衆通信回線を介して送受信しているが、公衆通信回線に限るものではなく、専用回線や無線などを介してもかまわない。
また、本実施の形態では、誤り訂正コードをバーナム暗号化して生成する場合、暗号用データとしてすでに完全共有が完了したブロックの番号のうち最も小さいものを選択したが、これに限るものではなく、すでに完全共有が完了したブロックの番号のうちいずれか1つを選択してもよい。この場合、送信側および受信側双方で同じ番号のブロック(このブロックのビット数は誤り訂正コードのそれと同じ)を使用する。
産業上の利用可能性
以上のように、この発明に係る共有データ精製装置及び共有データ精製方法は、送信機と受信機とで仮共有したデータから誤りを取り除く際に、盗聴される危険を小さくし、かつ有効なデータの割合を大きくするのに適している。
【図面の簡単な説明】
第1図は、この発明の実施の形態1における共有データ精製システムを示す図である。
第2図は、この発明の実施の形態1におけるデータ処理手段Yを示すブロック図である。
第3図は、この発明の実施の形態1における共有データ精製システムの動作を示すフローチャートである。
第4図Aは、この発明の実施の形態1における仮共有データXを精製用データと使い捨てデータに分割する図である。
第4図Bは、この発明の実施の形態1における仮共有データYを精製用データと使い捨てデータに分割する図である。
第5図は、ハッシュ関数SHA−1の攪拌性能を示した実験結果の図である。
第6図は、この発明の実施の形態2における共有データ精製システムの動作を示すフローチャートである。
第7図は、この発明の実施の形態3における共有データ精製システムの動作を示すフローチャートである。
第8図Aは、この発明の実施の形態3における精製用ブロックからバーナム暗号Xを生成する手順を説明する図である。
第8図Bは、この発明の実施の形態3における精製用ブロックからバーナム暗号Yを生成する手順を説明する図である。
第9図は、この発明の実施の形態3における誤り位置の推定を説明する図である。
第10図は、この発明の実施の形態4における共有データ精製システムの動作を示すフローチャートである。
第11図は、この発明の実施の形態5における共有データ精製システムの動作を示すフローチャートである。
第12図Aは、この発明の実施の形態5における仮共有データXを精製用データに分割する図である。
第12図Bは、この発明の実施の形態5における仮共有データYを精製用データに分割する図である。
第13図は、この発明の実施の形態6における共有データ精製システムを示す図である。
第14図は、この発明の実施の形態6における共有データ精製システムの動作を示すフローチャートである。

Claims (23)

  1. 送信機が送信した仮共有データを所定の分割規則により分割して第1精製用ブロックと第1使い捨てブロックとを生成するブロック生成手段と、
    上記第1精製用ブロックを所定のデータ攪拌規則により攪拌して第1攪拌ブロックを生成するデータ攪拌手段であって、ハミング距離が0である任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は0となり、ハミング距離が1以上の任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は1以上となるように構成されているデータ攪拌手段と、
    上記送信機が送信した仮共有データが上記送信機により上記所定の分割規則により分割されて生成された第2精製用ブロックと第2使い捨てブロックの内の第2精製用ブロックが上記所定のデータ攪拌規則によって攪拌されて生成された第2攪拌ブロックと、上記第2使い捨てブロックとから、所定の暗号化規則により生成された暗号化ブロックを獲得し、
    上記暗号化ブロックを上記所定の暗号化規則に対応する所定の復号規則により上記第1使い捨てブロックを用いて復号して復号ブロックを生成する復号ブロック生成手段と、
    上記復号ブロックと上記第1攪拌ブロックを比較して、該比較結果により上記第1精製用ブロックと第2精製用ブロックが同じか違うかを判定する同一性判定手段と
    を備えた共有データ精製装置。
  2. データ格納手段をさらに有し、
    同一性判定手段は復号ブロックと第1攪拌ブロックを比較して、上記復号ブロックと上記第1攪拌ブロックのハミング距離が所定値以下であれば上記第1精製用ブロックは第2精製用ブロックと同じであると判定し、上記第1精製用ブロックを上記データ格納手段に格納することを特徴とする請求の範囲第1項記載の共有データ精製装置。
  3. 仮共有データは、送信機が量子暗号通信により送信したことを特徴とする請求の範囲第1項記載の共有データ精製装置。
  4. 誤り訂正手段をさらに有し、
    同一性判定手段は復号ブロックと第1攪拌ブロックを比較して、上記復号ブロックと上記第1攪拌ブロックのハミング距離が所定値を超えているという比較結果の場合、第1精製用ブロックは第2精製用ブロックと違うと判定し、
    上記誤り訂正手段は該判定結果が「違う」の場合、上記第1精製用ブロックを第2精製用ブロックと一致させるための訂正情報を獲得し、該訂正情報に基づいて上記第1精製用ブロックを上記第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第1項記載の共有データ精製装置。
  5. 誤り訂正手段をさらに有し、
    復号ブロック生成手段は、暗号化ブロックと共に上記送信機が生成した第1精製用ブロックを第2精製用ブロックと一致させるための訂正情報を獲得し、
    同一性判定手段は復号ブロックと第1攪拌ブロックを比較して、上記復号ブロックと上記第1攪拌ブロックのハミング距離が所定値を超えているという比較結果の場合、第1精製用ブロックと第2精製用ブロックは違うと判定し、
    上記誤り訂正手段は該判定結果が「違う」の場合、上記訂正情報に基づいて上記第1精製用ブロックを上記第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第2項記載の共有データ精製装置。
  6. 訂正情報は第2精製用ブロックの誤り訂正符号であり、該誤り訂正符号により第1精製用ブロックを誤り訂正することを特徴とする請求の範囲第4項記載の共有データ精製装置。
  7. 訂正情報は、送信機とデータ格納手段とが共に保持する同一データとの排他的論理和により暗号化され、
    誤り訂正手段は、
    該暗号化された訂正情報を獲得し、該獲得した暗号化された訂正情報を上記データ格納手段から獲得した上記同一データとの排他的論理和により復号し、該復号した訂正情報に基づいて第1精製用ブロックを第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第4項記載の共有データ精製装置。
  8. 訂正情報は第2精製用ブロックが2等分されて生成された第2精製用ブロック前半部と第2精製用ブロック後半部の排他的論理和であり、
    誤り訂正手段は第1精製用ブロックを2等分して生成した第1精製用ブロック前半部と第1精製用ブロック後半部との排他的論理和である比較情報を生成し、
    上記訂正情報と上記比較情報から第1精製用ブロックと第2精製用ブロックとで一致していないビット位置を推定し、
    上記第1精製用ブロックの上記推定したビット位置のビットを反転させて、上記第1精製用ブロックを第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第4項記載の共有データ精製装置。
  9. 送信機が送信した仮共有データを受信し、該受信した仮共有データを所定の分割規則により分割して第1精製用ブロックと第1使い捨てブロックとを生成し、
    上記第1精製用ブロックを所定のデータ攪拌規則によって攪拌して第1攪拌ブロックを生成し、
    上記送信機が送信した仮共有データが上記所定の分割規則により分割されて生成された第2精製用ブロックと第2使い捨てブロックの内の第2精製用ブロックが上記所定のデータ攪拌規則によって攪拌されて生成された第2攪拌ブロックと、上記第2使い捨てブロックとから、所定の暗号化規則により生成された暗号化ブロックを獲得し、
    上記暗号化ブロックを上記所定の暗号化規則に対応する所定の復号規則により上記第1使い捨てブロックを用いて復号して復号ブロックを生成し、該復号ブロックと上記第1攪拌ブロックを比較して、該比較結果により上記第1精製用ブロックと第2精製用ブロックが同一か否かを判定する共有データ精製装置であって、
    上記データ攪拌規則はハミング距離が0である任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は0となり、ハミング距離が1以上の任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は1以上となるように構成された共有データ精製装置。
  10. 送信機と共有データ精製装置とが仮に共有する仮共有データの内、上記共有データ精製装置が保持する第1の仮共有データを所定の分割規則により分割して第1精製用ブロックと第1使い捨てブロックとを生成するブロック生成手段と、
    上記第1精製用ブロックを所定のデータ攪拌規則により攪拌して第1攪拌ブロックを生成するデータ攪拌手段であって、ハミング距離が0である任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は0となり、ハミング距離が1以上の任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は1以上となるように構成されているデータ攪拌手段と、
    上記仮共有データの内上記送信機が保持する第2の仮共有データが上記所定の分割規則により分割されて生成された第2精製用ブロックと第2使い捨てブロックの内の第2精製用ブロックが上記所定のデータ攪拌規則によって攪拌されて生成された第2攪拌ブロックと、上記第2使い捨てブロックとから所定の暗号化規則により生成された暗号化ブロックを獲得し、
    上記暗号化ブロックを上記所定の暗号化規則に対応する所定の復号規則により上記第1使い捨てブロックを用いて復号して復号ブロックを生成する復号ブロック生成手段と、
    上記復号ブロックと上記第1攪拌ブロックを比較して、該比較結果により上記第1精製用ブロックと第2精製用ブロックが同じか違うかを判定する同一性判定手段と
    を備えた共有データ精製装置。
  11. 第1使い捨てブロックと第2攪拌ブロックと第2使い捨てブロックはビット数が等しく、
    所定の暗号化規則は上記第2攪拌ブロックと上記第2使い捨てブロックとの排他的論理和を取る規則であり、
    所定の復号規則は上記暗号化ブロックと上記第1使い捨てブロックの排他的論理和を取る規則であることを特徴とする請求の範囲第1項記載の共有データ精製装置。
  12. 第1使い捨てブロックと第2攪拌ブロックと第2使い捨てブロックはビット数が等しく、
    所定の暗号化規則は上記第2攪拌ブロックと上記第2使い捨てブロックとの排他的論理和を取る規則であり、
    所定の復号規則は上記暗号化ブロックと上記第1使い捨てブロックの排他的論理和を取る規則であることを特徴とする請求の範囲第9項記載の共有データ精製装置。
  13. 第1使い捨てブロックと第2攪拌ブロックと第2使い捨てブロックはビット数が等しく、
    所定の暗号化規則は上記第2攪拌ブロックと上記第2使い捨てブロックとの排他的論理和を取る規則であり、
    所定の復号規則は上記暗号化ブロックと上記第1使い捨てブロックの排他的論理和を取る規則であることを特徴とする請求の範囲第10項記載の共有データ精製装置。
  14. 所定のデータ攪拌規則は、第1精製用ブロックと第2精製用ブロックのハミング距離が1以上かつ第1精製用ブロックと第2精製用ブロックのビット数の1/2より十分小さいときは、第1攪拌ブロックと第2攪拌ブロックのハミング距離は上記第1精製用ブロックと上記第2精製用ブロックのハミング距離より大きくなるように攪拌することを特徴とする請求の範囲第1項記載の共有データ精製装置。
  15. 所定のデータ攪拌規則は、第1精製用ブロックと第2精製用ブロックのハミング距離が1以上かつ第1精製用ブロックと第2精製用ブロックのビット数の1/2より十分小さいときは、第1攪拌ブロックと第2攪拌ブロックのハミング距離は上記第1精製用ブロックと上記第2精製用ブロックのハミング距離より大きくなるように攪拌することを特徴とする請求の範囲第9項記載の共有データ精製装置。
  16. 所定のデータ攪拌規則は、第1精製用ブロックと第2精製用ブロックのハミング距離が1以上かつ第1精製用ブロックと第2精製用ブロックのビット数の1/2より十分小さいときは、第1攪拌ブロックと第2攪拌ブロックのハミング距離は上記第1精製用ブロックと上記第2精製用ブロックのハミング距離より大きくなるように攪拌することを特徴とする請求の範囲第10項記載の共有データ精製装置。
  17. 所定のデータ攪拌規則は、ハッシュ関数であることを特徴とする請求の範囲第1項記載の共有データ精製装置。
  18. 所定のデータ攪拌規則は、ハッシュ関数であることを特徴とする請求の範囲第9項記載の共有データ精製装置。
  19. 所定のデータ攪拌規則は、ハッシュ関数であることを特徴とする請求の範囲第10項記載の共有データ精製装置。
  20. 送信機と受信機とからなる共有データ精製システムにおける共有データ精製方法であり、
    送信機と受信機がそれぞれ所定のデータ攪拌規則を使用し、
    送信機が受信機に対して仮共有データを送信する仮共有データ送信ステップと、
    受信機が上記受信した仮共有データを所定の分割規則により分割して第1精製用ブロックと第1使い捨てブロックとを生成する第1ブロック生成ステップと、
    受信機が上記第1精製用ブロックを所定のデータ攪拌規則により攪拌して第1攪拌ブロックを生成する第1攪拌ブロック生成ステップと、
    送信機が上記送信した仮共有データを上記所定の分割規則により分割して第2精製用ブロックと第2使い捨てブロックとを生成する第2ブロック生成ステップと、
    送信機が上記第2精製用ブロックを上記所定の攪拌規則により攪拌して第2攪拌ブロックを生成する第2攪拌ブロック生成ステップと、
    送信機が上記第2攪拌ブロックと上記第2使い捨てブロックとから所定の暗号化規則により暗号化ブロックを生成して受信機に送信する暗号化ブロック生成ステップと、
    受信機が上記暗号化ブロックを受信し、該暗号化ブロックを上記所定の暗号化規則に対応する所定の復号規則により上記第1使い捨てブロックを用いて復号して復号ブロックを生成し、該復号ブロックと上記第1攪拌ブロックを比較して、該比較結果により上記第1精製用ブロックと第2精製用ブロックが同じか違うかを判定し、該判定結果により下記(a)(b)のいずれかのステップに進む同一性判定ステップと、
    (a)判定結果が「同じ」の場合:判定結果として「同じ」を送信機に送信し、上記第1精製用ブロックをデータ格納手段に格納する第1精製用ブロック格納ステップと、
    (b)判定結果が「違う」の場合:判定結果として「違う」を送信機に送信する判定結果送信ステップと、
    送信機が受信機からの判定結果を受信し、受信した判定結果により下記(c)(d)のいずれかのステップに進む第2同一性判定ステップと、
    (c)受信した判定結果が「同じ」の場合:処理を終了する終了ステップと、
    (d)受信した判定結果が「違う」の場合:上記第2精製用データと上記第1精製用データを一致させるための訂正情報を生成して、受信機に送信する訂正情報送信ステップと、
    受信機が送信機から受信した上記訂正情報を用いて上記第1精製用ブロックを第2精製用ブロックと一致するように訂正する誤り訂正ステップと
    を備え、上記所定のデータ攪拌規則はハミング距離が0である任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は0となり、ハミング距離が1以上の任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は1以上となる共有データ精製方法。
  21. 送信機と受信機とからなる共有データ精製システムにおける共有データ精製方法であり、
    送信機と受信機がそれぞれ所定のデータ攪拌規則を使用し、
    送信機が受信機に対して仮共有データを送信する仮共有データ送信ステップと、
    受信機が上記受信した仮共有データを所定の分割規則により分割して第1精製用ブロックと第1使い捨てブロックとを生成する第1ブロック生成ステップと、
    受信機が上記第1精製用ブロックを所定のデータ攪拌規則により攪拌して第1攪拌ブロックを生成する第1攪拌ブロック生成ステップと、
    送信機が上記送信した仮共有データを上記所定の分割規則により分割して第2精製用ブロックと第2使い捨てブロックとを生成する第2ブロック生成ステップと、
    送信機が上記第2精製用ブロックを所定の攪拌規則により攪拌して第2攪拌ブロックを生成する第2攪拌ブロック生成ステップと、
    送信機が上記第2精製用ブロックを第1精製用ブロックと一致させるための訂正情報を、上記第2精製用ブロックから所定の訂正情報生成規則により生成する訂正情報生成ステップと、
    送信機が上記第2攪拌ブロックと上記第2使い捨てブロックとから所定の暗号化規則により暗号化ブロックを生成し、上記暗号化ブロックと上記訂正情報を受信機に送信する訂正情報送信ステップと、
    受信機が上記暗号化ブロックを受信し、該暗号化ブロックを上記所定の暗号化規則に対応する所定の復号規則により上記第1使い捨てブロックを用いて復号して復号ブロックを生成し、該復号ブロックと上記第1攪拌ブロックとを比較して、該比較結果により上記第1精製用ブロックと第2精製用ブロックが同じか違うかを判定し、該判定結果により下記(e)(f)のいずれかのステップに進む同一性判定ステップと、
    (e)判定結果が「同じ」の場合:上記第1精製用ブロックをデータ格納手段に格納する第1精製用ブロック格納ステップと、
    (f)判定結果が「違う」の場合:上記受信した訂正情報を用いて第1精製用ブロックを第2精製用ブロックと一致するように訂正する誤り訂正ステップと
    を備え、上記所定のデータ攪拌手段はハミング距離が0である任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は0となり、ハミング距離が1以上の任意の2つのデジタルデータをそれぞれ攪拌した場合は生成された2つの攪拌データのハミング距離は1以上となる共有データ精製方法。
  22. 訂正情報は第2精製用ブロックが2等分されて生成された第2精製用ブロック前半部と第2精製用ブロック後半部の排他的論理和であり、
    受信機は誤り訂正ステップにおいて、
    第1精製用ブロックを2等分して生成した第1精製用ブロック前半部と第1精製用ブロック後半部との排他的論理和である比較情報を生成し、
    上記訂正情報と上記比較情報から第1精製用ブロックと第2精製用ブロックとで一致していないビット位置を推定し、
    上記第1精製用ブロックの上記推定したビット位置のビットを反転させて、上記第1精製用ブロックを第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第20項記載の共有データ精製方法。
  23. 受信機はデータ格納手段を有し、
    訂正情報生成ステップにおいて生成された訂正情報は、訂正情報送信ステップにおいて送信機と上記データ格納手段とが共に保持する同一データとの排他的論理和により暗号化されて受信機に送信され、
    受信機は誤り訂正ステップにおいて、
    上記暗号化された訂正情報を獲得し、上記データ格納手段から獲得した上記同一データとの排他的論理和により復号し、該復号した訂正情報に基づいて上記第1精製用ブロックを第2精製用ブロックと一致するように訂正することを特徴とする請求の範囲第21項記載の共有データ精製方法。
JP2003513183A 2001-07-10 2002-07-09 共有データ精製装置及び共有データ精製方法 Expired - Fee Related JP4187105B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001208716 2001-07-10
JP2001208716 2001-07-10
PCT/JP2002/006961 WO2003007543A1 (fr) 2001-07-10 2002-07-09 Dispositif et procede d'affinage de donnees partagees

Publications (2)

Publication Number Publication Date
JPWO2003007543A1 true JPWO2003007543A1 (ja) 2004-11-04
JP4187105B2 JP4187105B2 (ja) 2008-11-26

Family

ID=19044484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003513183A Expired - Fee Related JP4187105B2 (ja) 2001-07-10 2002-07-09 共有データ精製装置及び共有データ精製方法

Country Status (11)

Country Link
US (1) US7260222B2 (ja)
EP (1) EP1406412B1 (ja)
JP (1) JP4187105B2 (ja)
KR (1) KR100517847B1 (ja)
CN (1) CN100449992C (ja)
AT (1) ATE355674T1 (ja)
AU (1) AU2002346319B2 (ja)
CA (1) CA2421720C (ja)
DE (1) DE60218470T2 (ja)
NO (1) NO20031056L (ja)
WO (1) WO2003007543A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4509530B2 (ja) * 2003-10-23 2010-07-21 三菱電機株式会社 量子暗号通信方法
KR100763464B1 (ko) * 2003-12-16 2007-10-04 김기호 암호화된 통신을 위한 비밀키 교환 방법
JP4200909B2 (ja) * 2004-01-29 2008-12-24 日本電気株式会社 乱数生成共有システム、暗号化通信装置及びそれらに用いる乱数生成共有方法
JP3876324B2 (ja) * 2004-03-31 2007-01-31 独立行政法人情報通信研究機構 乱数列共有システム、乱数列共有装置、暗号復号システム、暗号装置、復号装置、乱数列共有方法、暗号方法、復号方法、ならびに、プログラム
KR100855958B1 (ko) * 2004-11-24 2008-09-02 삼성전자주식회사 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법
US8054976B2 (en) * 2005-06-16 2011-11-08 Keith Alexander Harrison Quantum key distribution apparatus and method
GB0512229D0 (en) * 2005-06-16 2005-07-27 Hewlett Packard Development Co Quantum key distribution apparatus & method
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
JP5384781B2 (ja) * 2005-08-18 2014-01-08 日本電気株式会社 秘匿通信システムおよび共有秘密情報の生成方法
JP2007086170A (ja) * 2005-09-20 2007-04-05 Nec Corp 汎用ハッシュ関数族計算装置、方法、プログラム、および共有鍵生成システム
DE102006044799A1 (de) 2006-09-22 2008-04-03 Audi Ag Karosseriemodul für einen Kraftwagen sowie dessen Befestigungsanordnung
KR100933166B1 (ko) * 2007-08-20 2009-12-21 삼성전자주식회사 근거리 네트워크에서 데이터를 공유하기 위한 방법 및 이를 위한 단말기
ES2400934T3 (es) * 2008-05-26 2013-04-15 Nxp B.V. Lector y transpondedor para ocultar las aplicaciones soportadas por un lector y/o transpondedor, y procedimiento correspondiente
JP6359285B2 (ja) * 2014-02-17 2018-07-18 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11133854A (ja) * 1997-10-29 1999-05-21 Oki Electric Ind Co Ltd データ送信装置、データ受信装置及びデータ伝送システム

Also Published As

Publication number Publication date
CN100449992C (zh) 2009-01-07
AU2002346319B2 (en) 2004-04-22
EP1406412A4 (en) 2005-09-21
EP1406412A1 (en) 2004-04-07
DE60218470D1 (de) 2007-04-12
DE60218470T2 (de) 2007-11-29
ATE355674T1 (de) 2006-03-15
KR100517847B1 (ko) 2005-09-30
CA2421720A1 (en) 2003-03-07
US7260222B2 (en) 2007-08-21
WO2003007543A1 (fr) 2003-01-23
JP4187105B2 (ja) 2008-11-26
CA2421720C (en) 2007-07-03
NO20031056L (no) 2003-05-02
EP1406412B1 (en) 2007-02-28
NO20031056D0 (no) 2003-03-07
US20030188242A1 (en) 2003-10-02
CN1465162A (zh) 2003-12-31
KR20030036769A (ko) 2003-05-09

Similar Documents

Publication Publication Date Title
EP0511420B1 (en) A cryptographic system based on information difference
US20040174997A1 (en) Key agreement system, shared-key generation apparatus, and shared-key recovery apparatus
CN107592968B (zh) 生成密码校验和
KR101092696B1 (ko) 에러 정정 코드에 기초하는 메시지 인증 코드
US7680273B2 (en) System and method for optimizing error detection to detect unauthorized modification of transmitted data
JPH09230787A (ja) 暗号化方法および装置
WO2002101971A2 (en) Apparatus, system and method for validating integrity of transmitted data
JP4187105B2 (ja) 共有データ精製装置及び共有データ精製方法
JP2004274459A (ja) 量子鍵配送方法および通信装置
RU2669144C1 (ru) Способ и устройство имитоустойчивой передачи информации по каналам связи
US8213616B2 (en) Systems and methods for providing opportunistic security for physical communication channels
US20180270014A1 (en) Information processing apparatus
CN112715016B (zh) 密钥封装协议
US10810495B2 (en) Methods for data encoding in DNA and genetically modified organism authentication
JP3728500B2 (ja) 変調メッセージの認証システム及び方法
Mihaljević et al. An approach for stream ciphers design based on joint computing over random and secret data
RU2620730C1 (ru) Способ защищенной передачи шифрованной информации по каналам связи
EP3416332B1 (en) Quantum communication device, quantum communication system and quantum communication method
EP3843321A1 (en) Public/private key system with increased security
Zuquete et al. Physical-layer encryption with stream ciphers
CN108737075B (zh) 一种生成共享密钥的方法、装置及系统
US20230299949A1 (en) Key exchange protocol
CN114422219B (zh) 一种基于降维多项式的数据加密传输方法
WO2023089776A1 (ja) 通信システム、送信装置、受信装置、並びに、それらの方法およびプログラム
JP2006054638A (ja) 量子鍵配送方法および通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051027

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: 20080805

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: 20080903

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130919

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees