JP2017168928A - 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム - Google Patents

通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム Download PDF

Info

Publication number
JP2017168928A
JP2017168928A JP2016050119A JP2016050119A JP2017168928A JP 2017168928 A JP2017168928 A JP 2017168928A JP 2016050119 A JP2016050119 A JP 2016050119A JP 2016050119 A JP2016050119 A JP 2016050119A JP 2017168928 A JP2017168928 A JP 2017168928A
Authority
JP
Japan
Prior art keywords
photon
bit string
error correction
processing unit
unit
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
JP2016050119A
Other languages
English (en)
Other versions
JP6490613B2 (ja
Inventor
莉里香 高橋
Ririka Takahashi
莉里香 高橋
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016050119A priority Critical patent/JP6490613B2/ja
Priority to US15/383,074 priority patent/US10341097B2/en
Publication of JP2017168928A publication Critical patent/JP2017168928A/ja
Application granted granted Critical
Publication of JP6490613B2 publication Critical patent/JP6490613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)

Abstract

【課題】量子鍵配送の処理速度を向上させる通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを提供する。
【解決手段】実施形態の通信装置は、他の通信装置と、量子通信路で接続され、暗号鍵を共有する通信装置であって、光子通信手段と、シフティング手段と、誤り訂正手段と、第1計算手段と、第2計算手段と、抽出手段と、を備える。光子通信手段は、光子送受信処理により光子列を取得して、対応する光子ビット列を取得する。シフティング手段は、シフティング処理により共有ビット列を生成する。誤り訂正手段は、共有ビット列の誤りを訂正して訂正後ビット列を生成する。第1計算手段は、暗号鍵の長さを計算する。第2計算手段は、訂正後ビット列に対して特定のサイズの第1情報を用いてハッシュ演算を行う。抽出手段は、ハッシュ後ビット列から、計算された暗号鍵の長さ分のビット列を暗号鍵として抽出する。
【選択図】図3

Description

本発明の実施形態は、通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムに関する。
量子鍵配送システムは、送信機、受信機と、それを接続する光ファイバリンクとを含んで構成される。送信機は、光ファイバの通信路である光ファイバリンク(量子通信路)を介して、単一光子を連続的に受信機に送信する。その後、送信機と受信機が相互に制御情報を交換することによって、送信機と受信機との間で安全に暗号鍵を共有する。この技術は一般に量子鍵配送(QKD:Quantum Key Distribution)と呼ばれる技術により実現される。
また、量子鍵配送では、暗号鍵を共有するために利用される光子は、観測されることで物理的な状態が変化するという量子力学の基本原理の一つである不確定性原理を有する。この原理により、送信機が送信した暗号鍵の情報を含む光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、光子を受け取った受信機は、盗聴者に光子を観測されたことを検出することができる。この結果、送信機で得られた光子列、および受信機で検出された光子列を基にして、送信機と受信機との相互間で制御情報を交換することにより、安全な暗号鍵が得られる。
量子鍵配送により送信機と受信機との間で暗号鍵を共有するためには、送信機および受信機それぞれにおいて鍵蒸留処理を実行する必要がある。鍵蒸留処理は、シフティング処理、誤り訂正処理、および秘匿性増強処理によって構成される。シフティング処理によって、送信機および受信機の基底が一致するビット列を抜き出し、誤り訂正処理によって、送信機と受信機との間で生じたビット列の誤りを修正し、さらに、秘匿性増強処理によって、盗聴者により盗聴されたかもしれない情報を打ち消すためにビット列を圧縮して、最終的に、送信機および受信機は、盗聴されてないことが保証された安全な暗号鍵を共有する。共有された暗号鍵は、送信機と受信機との間、または、それぞれの装置に接続されたアプリケーション間で暗号データ通信を行う際に利用される。
量子鍵配送では、上述のように、量子力学の基本原理により、送信機が送信した光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、この変化は送信機と受信機との間のリンクの量子ビット誤り率(Quantum Bit Error Rate、QBER)として現れる。盗聴者が光子を盗聴しようとすると、光子の物理的な状態が変化し、QBERが大きくなるため、受信機および送信機は盗聴者の存在を知ることができる。
また、量子鍵配送システムとして、デコイ方式のプロトコルと、光子の偏光を観測する基底の選択確率に偏りを持たせたプロトコルと、を利用して、盗聴者に漏れた情報量を取り除いた安全性の高い暗号鍵を、効率的に生成するシステムが提案されている。量子鍵配送を行ったときの測定値から、計算に必要なパラメータを推定し、現実のシステムにおける実装に対応していながら、十分な安全性を持つ暗号鍵の鍵長計算のための計算式を導入している。
また、単位時間に共有される暗号鍵の生成量をセキュアキーレートという。多くの暗号鍵を利用できる方が、より高速かつ安全な暗号データ通信が可能となるため、セキュアキーレートが高いほど高性能な量子鍵配送システムであると言える。
このような量子鍵配送システムの上述の秘匿性増強処理においては、最終的な暗号鍵の長さを求める鍵長計算を行い、次に、求められた暗号鍵の長さに応じたハッシュを利用した行列演算であるハッシュ計算を行うが、これらの計算処理は負荷が重く、秘匿性増強処理の処理時間がかかるため、量子鍵配送全体としての処理時間も長くなりセキュアキーレートの低下を招来するという問題があった。
英国特許出願公開第2503045号明細書
Efficient decoy−state quantum key distribution with quantified security, M. Lucamarini et al., Optics Express, Vol. 21, Issue 21, pp. 24550−24565 (2013).
本発明は、上記に鑑みてなされたものであって、量子鍵配送の処理速度を向上させる通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを提供することを目的とする。
実施形態の通信装置は、他の通信装置と、量子通信路で接続され、暗号鍵を共有する通信装置であって、光子通信手段と、シフティング手段と、誤り訂正手段と、第1計算手段と、第2計算手段と、抽出手段と、を備える。光子通信手段は、量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて光子列に対応するビット情報である光子ビット列を取得する。シフティング手段は、光子ビット列から、基底情報を用いたシフティング処理により共有ビット列を生成する。誤り訂正手段は、共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する。第1計算手段は、暗号鍵の長さを計算する。第2計算手段は、誤り訂正処理で生成された訂正後ビット列に対してハッシュ演算をするための特定のサイズの第1情報を用いてハッシュ演算を行い、ハッシュ後ビット列を生成する。抽出手段は、ハッシュ後ビット列から、第1計算手段により計算された暗号鍵の長さ分のビット列を暗号鍵として抽出する。
量子鍵配送システムの全体構成の一例を示す図である。 送信機および受信機のハードウェア構成の一例を示す図である。 第1の実施形態の量子鍵配送システムの機能ブロックの構成を示す図である。 従来の鍵蒸留処理の動作の一例を示すフローチャートである。 従来のハッシュ計算を説明するための図である。 第1の実施形態の受信機の鍵蒸留処理の動作を示すフローチャートである。 第1の実施形態の受信機のハッシュ計算を説明するための図である。 従来の量子鍵配送の動作の一例を示すシーケンス図である。 第1の実施形態の受信機の量子鍵配送の動作を示すシーケンス図である。 第2の実施形態の受信機の量子鍵配送の動作を示すシーケンス図である。 第3の実施形態の量子鍵配送システムの機能ブロックの構成を示す図である。 第3の実施形態の受信機の量子鍵配送の動作を示すシーケンス図である。
以下に、図面を参照しながら、本発明の実施形態に係る通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
(第1の実施形態)
図1は、量子鍵配送システムの構成の一例を示す図である。図1を参照しながら、量子鍵配送システム100の構成について説明する。
図1に示すように、量子鍵配送システム100は、送信機1と、受信機2と、光ファイバリンク3と、通信ケーブル4と、を含んで構成されている。なお、以下においては、図1に示すように、送信機1と受信機2とがそれぞれ1つで構成された量子鍵配送システム100について説明するが、例えば、受信機2が1台で、光学機器を介して複数の送信機1が接続された、いわゆる量子アクセスネットワーク(QAN:Quantum Access Network)が量子鍵配送システムに適用された構成であってもよい。また、受信機2が複数の光ファイバ通信のインターフェースを有し、それらのインターフェースを介して、複数の送信機1が接続された量子鍵配送システムであってもよい。また、これらのシステムにおいて、送信機1と受信機2とが逆となっている構成でもよい。
送信機1は、レーザのパルスにより発生させた、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク3を介して、受信機2へ送信する装置である。送信機1は、送信した光子列を基に、後述する鍵蒸留処理(シフティング処理、誤り訂正処理および秘匿性増強処理)等を実行して、暗号鍵を生成する。また、送信機1は、光ファイバリンク3により実現される量子通信路以外の、Ethernet(登録商標)ケーブル等の通信ケーブル4で実現される古典通信路を介して、受信機2との間でデータ通信を行う。古典通信路を介して通信されるデータとしては、上述の鍵蒸留処理で必要な制御データ(以下、「鍵蒸留処理データ」と称する場合がある)であってもよく、これ以外の一般的なデータであってもよい。
受信機2は、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク3を介して、送信機1から受信する装置である。受信機2は、受信した光子列を基に、後述する鍵蒸留処理(シフティング処理、誤り訂正処理および秘匿性増強処理)等を実行して、送信機1が生成した暗号鍵と同一の暗号鍵を生成する。すなわち、送信機1および受信機2は、次々に暗号鍵を生成して同じ暗号鍵を共有することになる。また、受信機2は、光ファイバリンク3により実現される量子通信路以外の、通信ケーブル4で実現される古典通信路を介して、送信機1との間でデータ通信を行う。古典通信路を介して通信されるデータとしては、上述の鍵蒸留処理で必要な鍵蒸留処理データであってもよく、これ以外の一般的なデータであってもよい。
光ファイバリンク3は、送信機1が出力した単一光子の送信路となる量子通信路として機能する光ファイバケーブルである。通信ケーブル4は、送信機1と受信機2との間で、鍵蒸留処理データの他、プリケーション等の通信データを通信するために古典通信路として機能するケーブルである。
なお、通信ケーブル4は、古典通信路として機能するものとしたが、これに限定されるものではなく、古典通信路は、無線通信によって形成される構成であってもよい。
また、光ファイバリンク3が量子通信路として機能し、通信ケーブル4が古典通信路として機能するものとしたが、これに限定されるものではない。例えば、光ファイバリンク3は、WDM(Wavelength Division Multiplex:光波長多重化)技術等によって、光子の送受信をするための光子通信チャネルと、光データ通信を行うための光データ通信チャネルとが形成されるものとしてもよい。すなわち、この場合、光ファイバリンク3の光子通信チャネルが量子通信路として機能し、光データ通信チャネルが古典通信路として機能する。
このような送信機1と受信機2とを含む量子鍵配送システム100によって、送信機1が送信した光子列を光ファイバリンク3上で盗聴者が観測すると、光子の物理的状態が変化し、光子を受信した受信機2は、盗聴者に光子を観測されたことを認識することができる。
図2は、送信機および受信機のハードウェア構成の一例を示す図である。図2を参照しながら、送信機1および受信機2のハードウェア構成について説明する。
図2に示すように、送信機1(受信機2)は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、通信I/F54と、補助記憶装置55と、光学処理装置56と、を備えている。
CPU51は、送信機1(受信機2)全体の動作を制御する演算装置である。ROM52は、CPU51が各機能を制御するために実行するBIOS(Basic Input/Output System)またはファームウェア等のプログラムを記憶する不揮発性記憶装置である。RAM53は、CPU51のワークメモリ等として機能する揮発性記憶装置である。
通信I/F54は、古典通信路(通信ケーブル4等)を介してデータ通信を行うためのインターフェースである。通信I/F54は、例えば、10Base−T、100Base−TXもしくは1000Base−T等のEthernetに対応したインターフェースであってもよく、または、光ファイバ用インターフェースであってもよい。
補助記憶装置55は、CPU51で実行される各種プログラム、鍵蒸留処理の過程で生成したデータ、および鍵蒸留処理により生成された暗号鍵等を記憶して蓄積する不揮発性記憶装置である。補助記憶装置55は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な不揮発性記憶装置である。
光学処理装置56は、量子通信路を介して、単一光子を送信または受信(検出)する光学装置である。送信機1の光学処理装置56は、例えば、乱数によって発生させたビット情報であるビット列(光子ビット列)に対して、所定の基準により選択した基底により生成した基底情報(送信基底)に基づく位相状態または偏光状態となるように生成した単一光子から構成される光子列を、量子通信路(図1に示す光ファイバリンク3)を介して、受信機2の光学処理装置56に送信する。すなわち、送信機1の光学処理装置56により発生された光子列の各光子は、「0」から「1」かの1ビットの情報を有する。受信機2の光学処理装置56は、量子通信路を介して、送信機1の光学処理装置56から光子列を受信し、受信した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る。
なお、上述の基底情報を生成するための所定の基準により選択した基底とは、例えば、ランダムに選択した基底としてもよく、偏りを有する選択確率によって選択した基底であってもよい。
上述のCPU51、ROM52、RAM53、通信I/F54、補助記憶装置55、および光学処理装置56は、アドレスバスおよびデータバス等のバス57によって互いに通信可能に接続されている。
図3は、第1の実施形態に係る量子鍵配送システムの機能ブロックの構成の一例を示す図である。図3を参照しながら、量子鍵配送システム100の送信機1および受信機2の機能ブロックの構成および動作について説明する。
図3に示すように、送信機1は、光子送信部101と、シフティング処理部102と、誤り訂正処理部103と、秘匿性増強処理部104と、蓄積部105と、鍵管理部106と、を有する。
光子送信部101は、例えば、乱数によって発生させたビット情報である光子ビット列に対して、所定の基準により選択した基底により生成した基底情報(送信基底)に基づく位相状態または偏光状態に対応するように生成した単一光子から構成される光子列を、量子通信路を介して、後述する受信機2の光子検出部201に送信する光子送信処理を行う機能部である。すなわち、光子送信部101は、上述の光子列を構成する単一光子を連続して送信する。
光子送信部101による光子送信処理は、例えば、単一光子の発生源として通常のレーザ光源を減衰させたものを用いる。通常のレーザ光源を用いる場合、光子送信部101で送信基底および光子ビット列からエンコードする際、厳密には単一光子ではなく、複数の光子が送出されてしまう場合がある。このような場合を排除し、量子鍵配送の安全性を保証するため、上述のデコイ方式のプロトコルに基づく方法を用いてもよい。デコイ方式のプロトコルでは、出力されるレーザの強度を、常に一定とするのではなく、ある一定の確率で、通常のビットを送信する際とは異なる強度のレーザ(パルス)で送信する。光子送信処理では、光子ビット列の各ビットは、それに対応する送信基底により定まる光の位相状態または偏光状態に対応するように、単一光子にエンコードされる。
光子送信部101は、生成した光子ビット列および送信基底を蓄積部105に記憶させ、シフティング処理部102に送る。光子送信部101は、図2に示す光学処理装置56によって実現される。
シフティング処理部102は、受信機2のシフティング処理部202から古典通信路を介して受信した基底情報(受信基底)と、光子送信部101が生成した基底情報(送信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。なお、シフティング処理部102が用いる光子ビット列は、光子送信部101により蓄積部105に記憶された光子ビット列を読み出したものでもよく、光子送信部101から直接受け取った光子ビット列であってもよい。
シフティング処理部102は、生成した共有ビット列を蓄積部105に記憶させ、誤り訂正処理部103に送る。また、シフティング処理部102は、基底情報(送信基底)を、古典通信路を介して、受信機2のシフティング処理部202に送信する。
また、シフティング処理部102は、例えば、デコイ方式のプロトコルに基づいて動作する場合、光子検出部201による光子ビット列の各ビットがどのパルスに対応するのかについての認識結果から、共有ビット列の各ビットがどのパルスに対応するかを示す統計情報(以下、「パルス統計情報」と称する場合がある)(第2情報、パルス情報)を生成する。シフティング処理部102は、生成したパルス統計情報を、古典通信路を介して、受信機2のシフティング処理部202に送信すると共に、蓄積部105に記憶させる。なお、ここで説明したシフティング処理は一例であり、これ以外の方法であってもよい。
誤り訂正処理部103は、古典通信路を介して、後述する受信機2の誤り訂正処理部203と制御データ(EC(Error Correction)情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する機能部である。なお、誤り訂正処理部103が用いる共有ビット列は、シフティング処理部102により蓄積部105に記憶された共有ビット列を読み出したものでもよく、シフティング処理部102から直接受け取った共有ビット列であってもよい。
誤り訂正処理部103は、生成した訂正後ビット列を蓄積部105に記憶させ、秘匿性増強処理部104に送る。誤り訂正処理に成功した場合、この誤り訂正処理部103が生成した訂正後ビット列は、後述する受信機2の誤り訂正処理部203が、共有ビット列を訂正して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
秘匿性増強処理部104は、古典通信路を介して、後述する受信機2の秘匿性増強処理部204から制御情報(PA(Privacy Amplification:秘匿性増強)情報)(例えば、秘匿性増強処理部204により計算された暗号鍵のサイズ等)を受信して、このPA情報に基づいて、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する機能部である。秘匿性増強処理部104は、生成した暗号鍵を蓄積部105に記憶して蓄積させる。なお、秘匿性増強処理部104が用いる訂正後ビット列は、誤り訂正処理部103により蓄積部105に記憶された訂正後ビット列を読み出したものでもよく、誤り訂正処理部103から直接受け取った訂正後ビット列であってもよい。
秘匿性増強処理に成功した場合、秘匿性増強処理部104により生成された暗号鍵は、受信機2の秘匿性増強処理部204により生成された暗号鍵と一致するものであり、同一の暗号鍵を共有することになる。これらの共有された暗号鍵は、送信機1と受信機2との間、または、それぞれの装置に接続されたアプリケーション間で暗号データ通信を行う際に利用される。
蓄積部105は、秘匿性増強処理部104により生成された暗号鍵を記憶して蓄積する機能部である。蓄積部105は、その他、光子送信部101により生成された光子ビット列および送信基底、シフティング処理部102により生成された共有ビット列、ならびに、誤り訂正処理部103により生成された訂正後ビット列等を記憶する。蓄積部105は、図2に示す補助記憶装置55によって実現される。
鍵管理部106は、蓄積部105に記憶(蓄積)された暗号鍵の管理(鍵管理)を行う機能部である。例えば、鍵管理部106は、蓄積部105に記憶された暗号鍵を、暗号データ通信を行うアプリケーション等へ提供する。
上述の光子送信部101、シフティング処理部102、誤り訂正処理部103、秘匿性増強処理部104、および鍵管理部106は、図2に示すCPU51が補助記憶装置55等に記憶されたプログラムをRAM53に読み出して実行することにより実現される。なお、光子送信部101、シフティング処理部102、誤り訂正処理部103、秘匿性増強処理部104、および鍵管理部106のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)またはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
なお、図3に示す光子送信部101、シフティング処理部102、誤り訂正処理部103、秘匿性増強処理部104、蓄積部105、および鍵管理部106は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示す送信機1で、独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示す送信機1で、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
また、上述の送信機1が有する各機能部のうち、鍵管理部106はないものとしてもよい。
図3に示すように、受信機2は、光子検出部201(光子通信手段の一例)と、シフティング処理部202(シフティング手段)と、誤り訂正処理部203(誤り訂正手段)と、秘匿性増強処理部204と、蓄積部205と、鍵管理部206と、を有する。
光子検出部201は、量子通信路を介して、送信機1の光子送信部101から送信された光子列を検出し、検出した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る光子検出処理を行う機能部である。光子検出部201は、生成した光子ビット列および受信基底を蓄積部205に記憶させ、シフティング処理部202に送る。光子検出部201は、図2に示す光学処理装置56によって実現される。なお、上述の光子送信部101の光子送信処理、および光子検出部201の光子検出処理のうちいずれか一方を示す場合、または、双方を示す場合、「光子送受信処理」という場合がある。
シフティング処理部202は、送信機1のシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。なお、シフティング処理部202が用いる光子ビット列は、光子検出部201により蓄積部205に記憶された光子ビット列を読み出したものでもよく、光子検出部201から直接受け取った光子ビット列であってもよい。
シフティング処理部202は、生成した共有ビット列を蓄積部205に記憶させ、誤り訂正処理部203に送る。また、シフティング処理部202は、基底情報(送信基底)を、古典通信路を介して、送信機1のシフティング処理部102に送信する。また、シフティング処理部202は、送信機1のシフティング処理部102から古典通信路を介して、パルス統計情報を受信し、蓄積部205に記憶させる。なお、ここで説明したシフティング処理は一例であり、これ以外の方法であってもよい。
誤り訂正処理部203は、古典通信路を介して、送信機1の誤り訂正処理部103と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する機能部である。なお、誤り訂正処理部203が用いる共有ビット列は、シフティング処理部202により蓄積部205に記憶された共有ビット列を読み出したものでもよく、シフティング処理部202から直接受け取った共有ビット列であってもよい。
誤り訂正処理部203は、生成した訂正後ビット列を蓄積部205に記憶させ、秘匿性増強処理部204へ送る。誤り訂正処理に成功した場合、この誤り訂正処理部203が生成した訂正後ビット列は、送信機1の誤り訂正処理部103が、共有ビット列を訂正して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
また、誤り訂正処理部203は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレート(上述のQBER)を算出し、蓄積部205に記憶させる。さらに、誤り訂正処理部203は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部103と交換したEC情報の情報量に基づいて、漏洩ビット数を算出し、蓄積部205に記憶させる。交換したEC情報はすべて盗聴者に漏れていると考え、この漏洩ビット数が大きいほど、盗聴の可能性が高くなり、また、盗聴された情報量も大きいことを示す。
秘匿性増強処理部204は、制御情報(PA情報)を生成して、古典通信路を介して、送信機1の秘匿性増強処理部104に送信し、このPA情報に基づいて、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する機能部である。なお、秘匿性増強処理部204が用いる訂正後ビット列は、誤り訂正処理部203により蓄積部205に記憶された訂正後ビット列を読み出したものでもよく、誤り訂正処理部203から直接受け取った訂正後ビット列であってもよい。秘匿性増強処理部204は、鍵長計算部211(第1計算手段)と、ハッシュ計算部212(第2計算手段)と、鍵抽出部213(抽出手段)と、を有する。
鍵長計算部211は、シフティング処理部202が受信したパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203により算出されたエラーレートおよび漏洩ビット数に基づいて、送信機1と受信機2との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さを計算する鍵長計算を行う機能部である。鍵長計算部211は、計算した暗号鍵の長さを、鍵抽出部213に送る。なお、鍵長計算部211が用いるパルス統計情報、エラーレートおよび漏洩ビット数は、蓄積部205に記憶されたパルス統計情報、エラーレートおよび漏洩ビット数を読み出したものでもよく、シフティング処理部202および誤り訂正処理部203から直接受け取った情報であってもよい。
ハッシュ計算部212は、誤り訂正処理部203により生成された訂正後ビット列に対して、所定の大きさで、送信機1および受信機2で共通のハッシュ行列(第1情報の一例、ハッシュ用情報の一例)を用いてハッシュ演算を行い、ハッシュ演算後のビット列(以下、「ハッシュ後ビット列」と称する場合がある)を生成する機能部である。本実施形態で用いるハッシュ行列の大きさについての詳細は、図7で後述する。ハッシュ計算部212は、生成したハッシュ後ビット列を蓄積部205に記憶させ、鍵抽出部213へ送る。なお、ハッシュ行列は、必ずしも行列形式の情報である必要はなく、訂正後ビット列に対してハッシュ演算が可能な形式であればよい。
鍵抽出部213は、ハッシュ計算部212により生成されたハッシュ後ビット列から、鍵長計算部211により計算された暗号鍵の長さ分のビット列を抽出する機能部である。鍵抽出部213は、抽出したビット列を最終的な暗号鍵とし、蓄積部205に記憶(蓄積)させる。なお、鍵抽出部213が用いるハッシュ後ビット列は、ハッシュ計算部212により蓄積部105に記憶されたハッシュ後ビット列を読み出したものでもよく、ハッシュ計算部212から直接受け取ったハッシュ後ビット列であってもよい。
秘匿性増強処理に成功した場合、秘匿性増強処理部204により生成された暗号鍵、すなわち、鍵抽出部213により抽出された暗号鍵は、送信機1の秘匿性増強処理部104により生成された暗号鍵と一致するものであり、同一の暗号鍵を共有することになる。これらの共有された暗号鍵は、送信機1と受信機2との間、または、それぞれの装置に接続されたアプリケーション間で暗号データ通信を行う際に利用される。
蓄積部205は、秘匿性増強処理部204により生成された暗号鍵を記憶して蓄積する機能部である。蓄積部205は、その他、光子検出部201により取得した光子ビット列および受信基底、シフティング処理部202により生成された共有ビット列、誤り訂正処理部203により生成された訂正後ビット列、ハッシュ計算部212により生成されたハッシュ後ビット列等を記憶する。蓄積部205は、図2に示す補助記憶装置55によって実現される。
鍵管理部206は、蓄積部205に記憶(蓄積)された暗号鍵の管理(鍵管理)を行う機能部である。例えば、鍵管理部206は、蓄積部205に記憶された暗号鍵を、暗号データ通信を行うアプリケーション等へ提供する。
上述の光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204の鍵長計算部211、ハッシュ計算部212および鍵抽出部213、ならびに鍵管理部206は、図2に示すCPU51が補助記憶装置55等に記憶されたプログラムをRAM53に読み出して実行することにより実現される。なお、光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204の鍵長計算部211、ハッシュ計算部212および鍵抽出部213、ならびに鍵管理部206のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ASIC、FPGAまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
なお、図3に示す光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204の鍵長計算部211、ハッシュ計算部212および鍵抽出部213、蓄積部205、ならびに鍵管理部206は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示す受信機2で、独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示す受信機2で、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
また、上述の受信機2が有する各機能部のうち、鍵管理部206はないものとしてもよい。
図4は、従来の鍵蒸留処理の動作の一例を示すフローチャートである。図5は、従来のハッシュ計算を説明するための図である。図4および5を参照しながら、従来の鍵蒸留処理の動作について説明する。
<ステップS101>
受信機のシフティング処理部は、送信機のシフティング処理部から古典通信路を介して受信した基底情報(送信基底)と、受信機の光子検出部が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。また、シフティング処理部は、送信機のシフティング処理部から古典通信路を介して、パルス統計情報を受信する。そして、ステップS102へ移行する。
<ステップS102>
受信機の誤り訂正処理部は、古典通信路を介して、送信機の誤り訂正処理部と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。また、受信機の誤り訂正処理部は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出する。さらに、受信機の誤り訂正処理部は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、送信機の誤り訂正処理部と交換したEC情報の情報量に基づいて、漏洩ビット数を算出する。そして、ステップS103へ移行する。
<ステップS103>
受信機の秘匿性増強処理部は、鍵長計算部と、ハッシュ計算部と、を有する。受信機の鍵長計算部は、受信機のシフティング処理部が送信機から受信したパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、受信機の誤り訂正処理部により算出されたエラーレートおよび漏洩ビット数に基づいて、送信機と受信機との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さKを計算する。鍵長計算部は、計算した暗号鍵の長さKを、ハッシュ計算部に送る。そして、ステップS104へ移行する。
<ステップS104>
ハッシュ計算部は、図5に示すように、鍵長計算部により算出された暗号鍵の長さKおよび既定サイズNの大きさであって、送信機および受信機で共通のハッシュ行列を生成し、受信機の誤り訂正処理部により生成された訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、長さKの暗号鍵を生成する。すなわち、従来の鍵蒸留処理の秘匿性増強処理では、ハッシュ演算を行う前のハッシュ行列を生成する段階で、ハッシュ行列のサイズを規定する暗号鍵の長さKが定まっている必要がある。すなわち、鍵長計算とハッシュ演算とを同時に行うことはできず、鍵長計算により暗号鍵の長さKを計算した後に、ハッシュ演算を行う必要がある。
なお、図5に示すように、既定サイズNは、訂正後ビット列の長さとしているが、これに限定されるものではない。例えば、図5に示すように、誤り訂正処理部により生成された1つの訂正後ビット列を対象にハッシュ演算を行う場合だけでなく、複数の訂正後ビット列をまとめて1つのハッシュ行列によりハッシュ演算を行う場合もある。この場合のハッシュ行列は、既定サイズNとして、複数の訂正後ビット列の長さの合計の長さとする必要がある。そして、ステップS105へ移行する。
<ステップS105>
ハッシュ計算部は、生成した暗号鍵を、受信機の蓄積部に記憶(蓄積)させる。
以上のステップS101〜S105の流れによって、従来の鍵蒸留処理が行われる。鍵長計算部による鍵長計算は、エラーレートが高いほど、盗聴者に洩れた情報量が多いと考えて、安全な暗号鍵を生成するために、暗号鍵の長さを小さくする。このような最終的な暗号鍵の長さを計算するには、盗聴者に漏洩した情報量を見積もるために、パルスおよび基底の組合せのエラーレートを計算し、シフティング処理で生成したパルス統計情報からカウント数と誤り数とを計算し、さらに、誤り訂正処理で古典通信路において漏洩したビット数(漏洩ビット数)を求め、これらの情報を利用して最終的な暗号鍵の長さの計算を行う。そのため、鍵長計算は、処理時間が長く、かつ、並列化による高速化が困難であるという性質を有するため、セキュアキーレートの低下につながる要素となる。
また、ハッシュ計算部によるハッシュ演算は、訂正後ビット列とハッシュ行列との行列演算となるため、並列処理は可能であるものの、単純に実装した場合には処理時間が長くなるという性質を有するため、セキュアキーレートの低下につながる要素となる。
さらに、上述のように、ハッシュ演算は、鍵長計算により計算された暗号鍵の長さを用いてハッシュ行列のサイズを決定するため、鍵長計算に先行して実行することはできない。そのため、従来の鍵蒸留処理では、処理の重い鍵長計算およびハッシュ演算を、逐次的に実行させているため、処理時間がより長くなり、セキュアキーレートをより低下させてしまうことになる。
図6は、第1の実施形態に係る受信機の鍵蒸留処理の動作の一例を示すフローチャートである。図7は、第1の実施形態に係る受信機のハッシュ計算を説明するための図である。図6および7を参照しながら、本実施形態に係る鍵蒸留処理の動作を、図4および5で上述した従来の鍵蒸留処理と比較して説明する。
<ステップS11>
シフティング処理部202は、送信機1のシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。また、シフティング処理部202は、送信機1のシフティング処理部102から古典通信路を介して、パルス統計情報を受信する。そして、ステップS12へ移行する。
<ステップS12>
誤り訂正処理部203は、古典通信路を介して、送信機1の誤り訂正処理部103と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。また、誤り訂正処理部203は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出する。さらに、誤り訂正処理部203は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部103と交換したEC情報の情報量に基づいて、漏洩ビット数を算出する。そして、ステップS13およびS14へ移行する。すなわち、ハッシュ計算部212によるハッシュ演算と、鍵長計算部211による鍵長計算とを並列に実行する。
<ステップS13>
ハッシュ計算部212は、誤り訂正処理部203により生成された訂正後ビット列に対して、所定の大きさで、送信機1および受信機2で共通のハッシュ行列を用いてハッシュ演算を行い、ハッシュ演算後のビット列(ハッシュ後ビット列)を生成する。
ここで、図7に示すハッシュ行列のサイズを規定するサイズMは、盗聴の可能性を考慮した場合、最終的な暗号鍵の長さが、訂正後ビット列の長さよりも大きくなることはないので、最大のサイズとして訂正後ビット列のサイズ(図7ではN)を想定すればよい。すなわち、ハッシュ計算部212は、サイズM=Nとし、訂正後ビット列に対して、N×Nのハッシュ行列を用いたハッシュ演算を行えばよい。一般的に、ハッシュ演算において、ハッシュ行列とベクトルとの行列演算をそのまま計算すると、サイズがNのハッシュ行列についてはO(n2)の計算量となるため、ハッシュ行列のサイズが大きくなることによって処理時間の増加を招くが、数論変換(NTT:Number−Theoretical Transform)を利用することにより、O(nlogn)の計算量に抑えられるため、行列のサイズが大きくなることによる処理時間の増加を抑制することができる。
なお、必ずしもサイズMをサイズNとする必要はなく、サイズMをサイズNよりも大きくしてもよいし、小さくしてもよい。ただし、サイズMは、ハッシュ後ビット列の長さとなるので、長さKの最終的な暗号鍵を得るためには、M>Kである必要がある。
また、図7に示すように、既定サイズNは、訂正後ビット列の長さとしているが、これに限定されるものではない。例えば、図7に示すように、誤り訂正処理部203により生成された1つの訂正後ビット列を対象にハッシュ演算を行う場合だけでなく、複数の訂正後ビット列をまとめて1つのハッシュ行列によりハッシュ演算を行う場合もある。この場合のハッシュ行列は、既定サイズNとして、複数の訂正後ビット列の長さの合計の長さとする必要がある。
ハッシュ計算部212は、生成したハッシュ後ビット列を鍵抽出部213へ送る。そして、ステップS15へ移行する。
<ステップS14>
鍵長計算部211は、シフティング処理部202が受信したパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203により算出されたエラーレートおよび漏洩ビット数に基づいて、送信機1と受信機2との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さ(図7に示す暗号鍵の長さK)を計算する鍵長計算を行う。そして、ステップS15へ移行する。
<ステップS15>
鍵抽出部213は、ハッシュ計算部212により生成されたハッシュ後ビット列から、鍵長計算部211により計算された暗号鍵の長さK分のビット列を抽出し、最終的な暗号鍵とする。
ここで、図5に示したハッシュ行列と、図7に示したハッシュ行列とで利用されるハッシュ行列を構成する乱数は同じであるので、図5に示したハッシュ行列は、本実施形態の図7に示したハッシュ行列の部分行列となるように包含される構成となる。したがって、鍵抽出部213によって、長さがサイズMであるハッシュ後ビット列のうちの先頭からKビットを抽出すると仮定すれば、最終的に得られる暗号鍵は、従来の鍵蒸留処理で得られる暗号鍵と同一となる。ただし、鍵抽出部213によりハッシュ後ビット列の先頭からKビットを抽出することに限定されるものではなく、長さがサイズMであるハッシュ後ビット列の後ろからKビットを抽出してもよく、または、ランダムにKビットを抽出してもよい。いずれの抽出方法においても、最終的に得られる長さKの暗号鍵の安全性には関係しない。そして、ステップS16へ移行する。
<ステップS16>
鍵抽出部213は、抽出したビット列である最終的な暗号鍵を、蓄積部205に記憶(蓄積)させる。
以上のステップS11〜S16の流れによって、本実施形態の鍵蒸留処理が行われる。本実施形態の鍵蒸留処理においては、誤り訂正処理部203による誤り訂正処理で算出したエラーレートおよび漏洩ビット数と、パルス統計情報とを用いて、最終的な暗号鍵の長さを算出する鍵長計算を実行しながら、それと並列に、所定サイズのハッシュ行列を用意して、訂正後ビット列とのハッシュ演算を実行する。その後、鍵抽出部213は、鍵長計算で算出した暗号鍵の長さ、および、ハッシュ演算で生成されたハッシュ後ビット列を用いて、ハッシュ後ビット列から、暗号鍵を生成するために必要なサイズのビットを抽出して、最終的な暗号鍵を得る。このように、処理が重く、かつ並列処理が困難な鍵長計算と、処理が重いハッシュ演算とを並列に実行することによって、量子鍵配送システム100の量子鍵配送でボトルネックとなる秘匿性増強処理の処理速度を向上させることができ、これによってセキュアキーレートを向上させることができる。
また、鍵抽出部213による抽出処理の時間は、上述のように処理の重い鍵長計算およびハッシュ演算の処理時間と比べて小さい。そのため、従来の鍵蒸留処理のように、鍵長計算の次にハッシュ演算を行うというように直列に処理を行って、鍵抽出部213による抽出処理を省略するよりも、本実施形態のように、鍵抽出部213による抽出処理を有するものとしても、鍵長計算とハッシュ演算とを並列に処理する場合の秘匿性増強処理全体の処理時間の削減効果は大きい。
図8は、従来の量子鍵配送の動作の一例を示すシーケンス図である。図8を参照しながら、従来の量子鍵配送の動作の詳細を説明する。
図8に示すように、従来の量子鍵配送システムの受信機は、光子検出部501と、シフティング処理部502と、誤り訂正処理部503と、秘匿性増強処理部504と、蓄積部505と、を有するものとする。また、秘匿性増強処理部504は、鍵長計算部511と、ハッシュ計算部512と、を有するものとする。
<ステップS111>
光子検出部501は、量子通信路を介して、送信機の光子送信部から光子列を検出し、検出した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る光子検出処理を行う。光子検出部501は、生成した光子ビット列および受信基底を蓄積部505に記憶させる。
<ステップS112>
光子検出部501は、光子検出処理を終了すると、シフティング処理を開始させるためのシフティング開始要求、および、生成した光子ビット列を、シフティング処理部502に送る。
<ステップS113>
シフティング処理部502は、シフティング開始要求を受け取ると、送信機のシフティング処理部から古典通信路を介して受信した基底情報(送信基底)と、光子検出部501が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理部502は、生成した共有ビット列を蓄積部505に記憶させる。
また、シフティング処理部502は、基底情報(送信基底)を、古典通信路を介して、送信機のシフティング処理部に送信する。また、シフティング処理部502は、送信機のシフティング処理部から古典通信路を介して、パルス統計情報を受信し、蓄積部505に記憶させる。
<ステップS114>
シフティング処理部502は、シフティング処理を終了すると、誤り訂正処理を開始させるための誤り訂正開始要求、および、生成した共有ビット列を、誤り訂正処理部503に送る。
<ステップS115>
誤り訂正処理部503は、誤り訂正開始要求を受け取ると、古典通信路を介して、送信機の誤り訂正処理部と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部503は、生成した訂正後ビット列を蓄積部205に記憶させる。
また、誤り訂正処理部503は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出し、蓄積部505に記憶させる。さらに、誤り訂正処理部503は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、送信機の誤り訂正処理部と交換したEC情報の情報量に基づいて、漏洩ビット数を算出し、蓄積部505に記憶させる。
<ステップS116>
誤り訂正処理部503は、誤り訂正処理を終了すると、鍵長計算を開始させるための鍵長計算開始要求、および、算出したエラーレートおよび漏洩ビット数を、秘匿性増強処理部504の鍵長計算部511に送る。
<ステップS117>
シフティング処理部502は、パルス統計情報を鍵長計算部511に送る。
<ステップS118>
鍵長計算部511は、鍵長計算開始要求を受け取ると、シフティング処理部502から受け取ったパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部503から受け取ったエラーレートおよび漏洩ビット数に基づいて、送信機と受信機との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さ(図5に示した暗号鍵の長さK)を計算する鍵長計算を行う。
<ステップS119>
鍵長計算部511は、鍵長計算を終了すると、ハッシュ演算を開始させるためのハッシ演算開始要求、および、計算した暗号鍵の長さを、秘匿性増強処理部504のハッシュ計算部512に送る。
<ステップS120>
誤り訂正処理部503は、生成した訂正後ビット列をハッシュ計算部512に送る。
<ステップS121>
ハッシュ計算部512は、ハッシュ演算開始要求を受け取ると、上述の図5に示すように、鍵長計算部511により算出された暗号鍵の長さKおよび既定サイズNの大きさであって、送信機および受信機で共通のハッシュ行列を生成し、誤り訂正処理部503から受け取った訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、長さKの暗号鍵を生成する。
<ステップS122>
ハッシュ計算部512は、生成した暗号鍵を、蓄積部505に記憶(蓄積)させる。
以上のステップS111〜S122の処理によって、従来の量子鍵配送の動作が行われる。上述のように、鍵長計算およびハッシュ演算は重い処理であり、また、ハッシュ演算は、鍵長計算により計算された暗号鍵の長さを用いてハッシュ行列のサイズを決定するため、鍵長計算に先行して実行することはできない。そのため、従来の鍵蒸留処理では、処理の重い鍵長計算およびハッシュ演算を、直列に実行させているため、処理時間がより長くなり、セキュアキーレートをより低下させてしまうことになる。
図9は、第1の実施形態に係る受信機の量子鍵配送の動作の一例を示すシーケンス図である。図9を参照しながら、本実施形態の量子鍵配送の動作の詳細を説明する。
<ステップS21>
光子検出部201は、量子通信路を介して、送信機1の光子送信部101から光子列を検出し、検出した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る光子検出処理を行う。光子検出部201は、生成した光子ビット列および受信基底を蓄積部205に記憶させる。
<ステップS22>
光子検出部201は、光子検出処理を終了すると、シフティング処理を開始させるためのシフティング開始要求、および、生成した光子ビット列を、シフティング処理部202に送る。
<ステップS23>
シフティング処理部202は、シフティング開始要求を受け取ると、送信機1のシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理部202は、生成した共有ビット列を蓄積部205に記憶させる。
また、シフティング処理部202は、基底情報(送信基底)を、古典通信路を介して、送信機1のシフティング処理部102に送信する。また、シフティング処理部202は、送信機1のシフティング処理部102から古典通信路を介して、パルス統計情報を受信し、蓄積部205に記憶させる。
<ステップS24>
シフティング処理部202は、シフティング処理を終了すると、誤り訂正処理を開始させるための誤り訂正開始要求、および、生成した共有ビット列を、誤り訂正処理部203に送る。
<ステップS25>
誤り訂正処理部203は、誤り訂正開始要求を受け取ると、古典通信路を介して、送信機1の誤り訂正処理部103と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部203は、生成した訂正後ビット列を蓄積部205に記憶させる。
また、誤り訂正処理部203は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出し、蓄積部205に記憶させる。さらに、誤り訂正処理部203は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部103と交換したEC情報の情報量に基づいて、漏洩ビット数を算出し、蓄積部205に記憶させる。
<ステップS26>
誤り訂正処理部203は、誤り訂正処理を終了すると、鍵長計算を開始させるための鍵長計算開始要求、および、算出したエラーレートおよび漏洩ビット数を、秘匿性増強処理部204の鍵長計算部211に送る。
<ステップS27>
誤り訂正処理部203は、生成した訂正後ビット列を秘匿性増強処理部204のハッシュ計算部212に送る。
<ステップS28>
鍵長計算部211は、鍵長計算開始要求を受け取ると、さらに、ハッシュ演算を開始させるためのハッシュ演算開始要求をハッシュ計算部212に送る。これによって、鍵長計算部211による鍵長演算と、ハッシュ計算部212によるハッシュ演算とが並列して実行されることになる。
<ステップS29>
シフティング処理部202は、パルス統計情報を鍵長計算部211に送る。
<ステップS30>
鍵長計算部211は、鍵長計算開始要求を受け取ると、シフティング処理部202から受け取ったパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203から受け取ったエラーレートおよび漏洩ビット数に基づいて、送信機1と受信機2との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さ(図7に示した暗号鍵の長さK)を計算する鍵長計算を行う。
<ステップS31>
ハッシュ計算部212は、ハッシュ演算開始要求を受け取ると、上述の図7に示すように、サイズMおよび既定サイズNで規定される大きさであって、送信機1および受信機2で共通のハッシュ行列を生成し、誤り訂正処理部203から受け取った訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、ハッシュ後ビット列を生成する。
<ステップS32>
ハッシュ計算部212は、ハッシュ演算を終了すると、鍵抽出を開始させるための鍵抽出開始要求、および、生成したハッシュ後ビット列を秘匿性増強処理部204の鍵抽出部213へ送る。
<ステップS33>
鍵長計算部211は、鍵長計算を終了すると、計算した暗号鍵の長さKを鍵抽出部213に送る。
<ステップS34>
鍵抽出部213は、ハッシュ計算部212から受け取ったハッシュ後ビット列から、鍵長計算部211から受け取った暗号鍵の長さK分のビット列を抽出し、最終的な暗号鍵とする。
<ステップS35>
鍵抽出部213は、抽出したビット列である暗号鍵を、蓄積部205に記憶(蓄積)させる。
以上のステップS21〜S35の処理によって、本実施形態の量子鍵配送の動作が行われる。本実施形態の量子鍵配送においては、誤り訂正処理部203による誤り訂正処理で算出したエラーレートおよび漏洩ビット数と、パルス統計情報とを用いて、最終的な暗号鍵の長さを算出する鍵長計算を実行しながら、それと並列に、所定サイズのハッシュ行列を用意して、訂正後ビット列とのハッシュ演算を実行する。すなわち、ハッシュ計算部212は、所定サイズのハッシュ行列を利用することで、鍵長計算部211の鍵長計算の終了を待たずにハッシュ演算が可能となる。その後、鍵抽出部213は、鍵長計算で算出した暗号鍵の長さ、および、ハッシュ演算で生成されたハッシュ後ビット列を用いて、ハッシュ後ビット列から、暗号鍵を生成するために必要なサイズのビットを抽出して、最終的な暗号鍵を得る。このように、処理が重く、かつ並列処理が困難な鍵長計算と、処理が重いハッシュ演算とを並列に実行することによって、量子鍵配送システム100の量子鍵配送でボトルネックとなる秘匿性増強処理の処理速度を向上させることができ、これによって量子鍵配送全体の処理速度を向上させ、セキュアキーレートを向上させることができる。
なお、図9に示すように、各動作の開始要求は、処理を開始するためのトリガとして明示的に記載しているが、実際に処理が開始するタイミングはこれに限定されるものではない。
(第2の実施形態)
第2の実施形態に係る量子鍵配送システムについて、第1の実施形態に係る量子鍵配送システム100と相違する点を中心に説明する。なお、本実施形態に係る量子暗号通信システムの構成、送信機および受信機のハードウェア構成、ならびに送信機の機能ブロックの構成は、第1の実施形態と同様である。
図10は、第2の実施形態に係る受信機の量子鍵配送の動作の一例を示すシーケンス図である。図10を参照しながら、本実施形態の量子鍵配送の動作の詳細を説明する。
図10に示すように、本実施形態の量子鍵配送システムの受信機は、光子検出部201と、シフティング処理部202aと、誤り訂正処理部203と、秘匿性増強処理部204aと、蓄積部205と、を有する。また、秘匿性増強処理部204aは、鍵長計算部211aと、ハッシュ計算部212aと、鍵抽出部213と、を有する。
<ステップS41>
光子検出部201は、量子通信路を介して、送信機1の光子送信部101から光子列を検出し、検出した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る光子検出処理を行う。光子検出部201は、生成した光子ビット列および受信基底を蓄積部205に記憶させる。
<ステップS42>
光子検出部201は、光子検出処理を終了すると、シフティング処理を開始させるためのシフティング開始要求、および、生成した光子ビット列を、シフティング処理部202aに送る。
<ステップS43>
シフティング処理部202aは、シフティング開始要求を受け取ると、さらに、鍵長計算を開始させるための鍵長計算開始要求を秘匿性増強処理部204aの鍵長計算部211aに送る。
<ステップS44>
シフティング処理部202aは、シフティング開始要求を受け取ると、送信機1のシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理部202aは、生成した共有ビット列を蓄積部205に記憶させる。
また、シフティング処理部202aは、基底情報(送信基底)を、古典通信路を介して、送信機1のシフティング処理部102に送信する。また、シフティング処理部202aは、送信機1のシフティング処理部102から古典通信路を介して、パルス統計情報を受信し、蓄積部205に記憶させる。
<ステップS45>
鍵長計算部211aは、鍵長計算開始要求を受け取ると、送信機1と受信機2との通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さ(図7に示した暗号鍵の長さK)を計算する鍵長計算を開始する。すなわち、本実施形態では、第1の実施形態と異なり、鍵長計算部211aによる鍵長計算のプロセスを、誤り訂正処理部203による誤り訂正処理の終了を待たずに開始させる。そして、鍵長計算部211aは、後述するステップS46でパルス統計情報を受け取り、そして、ステップS49でエラーレートおよび漏洩ビット数を受け取りながら、順次、鍵長計算の処理を進める。
<ステップS46>
シフティング処理部202aは、シフティング処理において、送信機1のシフティング処理部102から古典通信路を介してパルス統計情報を受信した場合に、そのパルス統計情報を鍵長計算部211aに送る。
<ステップS47>
シフティング処理部202aは、シフティング処理を終了すると、誤り訂正処理を開始させるための誤り訂正開始要求、および、生成した共有ビット列を、誤り訂正処理部203に送る。
<ステップS48>
誤り訂正処理部203は、誤り訂正開始要求を受け取ると、古典通信路を介して、送信機1の誤り訂正処理部103と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部203は、生成した訂正後ビット列を蓄積部205に記憶させる。
また、誤り訂正処理部203は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出し、蓄積部205に記憶させる。さらに、誤り訂正処理部203は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部103と交換したEC情報の情報量に基づいて、漏洩ビット数を算出し、蓄積部205に記憶させる。
<ステップS49>
誤り訂正処理部203は、誤り訂正処理を終了すると、算出したエラーレートおよび漏洩ビット数を、鍵長計算部211aに送る。ここで、鍵長計算部211aは、シフティング処理部202aからのパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203からのエラーレートおよび漏洩ビット数が揃うことにより、暗号鍵の長さを計算する鍵長計算を完了できる。
<ステップS50>
鍵長計算部211aは、誤り訂正処理部203からエラーレートおよび漏洩ビット数を受け取ると、ハッシュ演算を開始させるためのハッシュ演算開始要求を、秘匿性増強処理部204aのハッシュ計算部212aに送る。
<ステップS51>
誤り訂正処理部203は、誤り訂正処理を終了すると、生成した訂正後ビット列をハッシュ計算部212aに送る。
<ステップS52>
ハッシュ計算部212aは、ハッシュ演算開始要求を受け取ると、上述の図7に示すように、サイズMおよび既定サイズNで規定される大きさであって、送信機および受信機で共通のハッシュ行列を生成し、誤り訂正処理部203から受け取った訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、ハッシュ後ビット列を生成する。
<ステップS53>
ハッシュ計算部212aは、ハッシュ演算を終了すると、鍵抽出を開始させるための鍵抽出開始要求、および、生成したハッシュ後ビット列を秘匿性増強処理部204aの鍵抽出部213へ送る。
<ステップS54>
鍵長計算部211aは、鍵長計算を終了すると、計算した暗号鍵の長さKを鍵抽出部213に送る。
<ステップS55>
鍵抽出部213は、ハッシュ計算部212aから受け取ったハッシュ後ビット列から、鍵長計算部211aから受け取った暗号鍵の長さK分のビット列を抽出し、最終的な暗号鍵とする。
<ステップS56>
鍵抽出部213は、抽出したビット列である暗号鍵を、蓄積部205に記憶(蓄積)させる。
以上のステップS41〜S56の流れによって、本実施形態の量子鍵配送の動作が行われる。本実施形態では、第1の実施形態と同様に、鍵長計算およびハッシュ演算を並列に実行させるものとしているが、さらに、鍵長計算のプロセスを、誤り訂正処理部203の誤り訂正処理の終了を待たずに開始(具体的には、シフティング処理部202aによるシフティング処理の開始のタイミングで開始)させている。そして、鍵長計算部211aは、シフティング処理部202aからパルス統計情報を受け取り、そして、誤り訂正処理部203からエラーレートおよび漏洩ビット数を受け取りながら、順次、鍵長計算の処理を進めるものとしている。これによって、鍵長計算部211aによる鍵長計算の開始のタイミングが、第1の実施形態と比較して早い分、量子鍵配送での秘匿性増強処理の処理速度をさらに向上させることができ、これによって量子鍵配送全体の処理速度を向上させ、セキュアキーレートを向上させることができる。
なお、図10に示すように、各動作の開始要求は、処理を開始するためのトリガとして明示的に記載しているが、実際に処理が開始するタイミングはこれに限定されるものではない。
(第3の実施形態)
第3の実施形態に係る量子鍵配送システムについて、第1の実施形態に係る量子鍵配送システム100と相違する点を中心に説明する。なお、本実施形態に係る量子暗号通信システムの構成、ならびに、送信機および受信機のハードウェア構成は、第1の実施形態と同様である。
図11は、第3の実施形態に係る量子鍵配送システムの機能ブロックの構成の一例を示す図である。図11を参照しながら、量子鍵配送システム100bの送信機1bおよび受信機2bの機能ブロックの構成および動作について説明する。
図11に示すように、送信機1bは、光子送信部101と、シフティング処理部102と、誤り訂正処理部103と、秘匿性増強処理部104と、蓄積部105と、鍵管理部106とを有する。これらの各機能部の動作は、それぞれ第1の実施形態の送信機1の機能部の動作と同様である。
図11に示すように、受信機2bは、光子検出部201と、シフティング処理部202bと、誤り訂正処理部203と、秘匿性増強処理部204bと、蓄積部205と、鍵管理部206と、有する。このうち、光子検出部201、誤り訂正処理部203、蓄積部205および鍵管理部206の動作は、それぞれ第1の実施形態の送信機1の光子検出部201、誤り訂正処理部203、蓄積部205および鍵管理部206の動作と同様である。
シフティング処理部202bは、送信機1bのシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。また、シフティング処理部202bは、第2の実施形態のシフティング処理部202aと同様に、シフティング開始要求を受け取ると、さらに、鍵長計算を開始させるための鍵長計算開始要求を、後述する秘匿性増強処理部204bの鍵長計算部211bに送る。なお、シフティング処理部202bが用いる光子ビット列は、光子検出部201により蓄積部205に記憶された光子ビット列を読み出したものでもよく、光子検出部201から直接受け取った光子ビット列であってもよい。
シフティング処理部202bは、生成した共有ビット列を蓄積部205に記憶させ、誤り訂正処理部203に送る。また、シフティング処理部202bは、基底情報(送信基底)を、古典通信路を介して、送信機1bのシフティング処理部102に送信する。また、シフティング処理部202bは、送信機1bのシフティング処理部102から古典通信路を介して、パルス統計情報を受信し、蓄積部205に記憶させる。なお、ここで説明したシフティング処理は一例であり、これ以外の方法であってもよい。
秘匿性増強処理部204bは、制御情報(PA情報)を生成して、古典通信路を介して、送信機1bの秘匿性増強処理部104に送信し、このPA情報に基づいて、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する機能部である。なお、秘匿性増強処理部204bが用いる訂正後ビット列は、誤り訂正処理部203により蓄積部205に記憶された訂正後ビット列を読み出したものでもよく、誤り訂正処理部203から直接受け取った訂正後ビット列であってもよい。秘匿性増強処理部204bは、鍵長計算部211bと、ハッシュ計算部212bと、を有する。すなわち、第1の実施形態の秘匿性増強処理部204と異なり、鍵抽出部213に相当する機能部を有さない。
鍵長計算部211bは、シフティング処理部202が受信したパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203により算出されたエラーレートおよび漏洩ビット数に基づいて、送信機1bと受信機2bとの通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さを計算する鍵長計算を行う機能部である。また、鍵長計算部211bによる鍵長計算のプロセスは、第2の実施形態と同様に、シフティング処理部202から鍵長計算開始要求を受け取ったタイミング、すなわち、シフティング処理部202によるシフティング処理が開始されたタイミングで開始される。鍵長計算部211bは、計算した暗号鍵の長さを、ハッシュ計算部212bに送る。
なお、鍵長計算部211bが用いるパルス統計情報、エラーレートおよび漏洩ビット数は、蓄積部205に記憶されたパルス統計情報、エラーレートおよび漏洩ビット数を読み出したものでもよく、シフティング処理部202および誤り訂正処理部203から直接受け取った情報であってもよい。
ハッシュ計算部212bは、鍵長計算部211bで算出された暗号鍵の長さKおよび既定サイズNの大きさであって、送信機1bおよび受信機2bで共通のハッシュ行列を生成し、受信機2bの誤り訂正処理部203により生成された訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、長さKの暗号鍵を生成する機能部である。ハッシュ計算部212bは、生成した暗号鍵を蓄積部205に記憶(蓄積)させる。
上述の光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204bの鍵長計算部211bおよびハッシュ計算部212b、ならびに鍵管理部206は、図2に示すCPU51が補助記憶装置55等に記憶されたプログラムをRAM53に読み出して実行することにより実現される。なお、光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204bの鍵長計算部211bおよびハッシュ計算部212b、ならびに鍵管理部206のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ASIC、FPGAまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
なお、図11に示す光子送信部201、シフティング処理部202、誤り訂正処理部203、秘匿性増強処理部204bの鍵長計算部211bおよびハッシュ計算部212b、蓄積部205、ならびに鍵管理部206は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図11に示す受信機2bで、独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図11に示す受信機2bで、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図12は、第3の実施形態に係る受信機の量子鍵配送の動作の一例を示すシーケンス図である。図12を参照しながら、本実施形態の量子鍵配送の動作の詳細を説明する。
<ステップS61>
光子検出部201は、量子通信路を介して、送信機1の光子送信部101から光子列を検出し、検出した光子列を、所定の基準により選択した基底により生成した基底情報(受信基底)に基づいて読み取ることによってビット情報である光子ビット列を得る光子検出処理を行う。光子検出部201は、生成した光子ビット列および受信基底を蓄積部205に記憶させる。
<ステップS62>
光子検出部201は、光子検出処理を終了すると、シフティング処理を開始させるためのシフティング開始要求、および、生成した光子ビット列を、シフティング処理部202aに送る。
<ステップS63>
シフティング処理部202bは、シフティング開始要求を受け取ると、さらに、鍵長計算を開始させるための鍵長計算開始要求を秘匿性増強処理部204bの鍵長計算部211bに送る。
<ステップS64>
シフティング処理部202bは、シフティング開始要求を受け取ると、送信機1bのシフティング処理部102から古典通信路を介して受信した基底情報(送信基底)と、光子検出部201が生成した基底情報(受信基底)とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理部202bは、生成した共有ビット列を蓄積部205に記憶させる。
また、シフティング処理部202bは、基底情報(送信基底)を、古典通信路を介して、送信機1bのシフティング処理部102に送信する。また、シフティング処理部202bは、送信機1bのシフティング処理部102から古典通信路を介して、パルス統計情報を受信し、蓄積部205に記憶させる。
<ステップS65>
鍵長計算部211bは、鍵長計算開始要求を受け取ると、送信機1bと受信機2bとの通信で盗聴者により盗聴された可能性がある情報量を除いた長さとなるように、秘匿性増強処理で最終的に得る暗号鍵の長さ(図7に示した暗号鍵の長さK)を計算する鍵長計算を開始する。すなわち、本実施形態では、第2の実施形態と同様に、鍵長計算部211bによる鍵長計算のプロセスを、誤り訂正処理部203による誤り訂正処理の終了を待たずに開始させる。そして、鍵長計算部211bは、後述するステップS66でパルス統計情報を受け取り、そして、ステップS69でエラーレートおよび漏洩ビット数を受け取りながら、順次、鍵長計算の処理を進める。
<ステップS66>
シフティング処理部202bは、シフティング処理において、送信機1bのシフティング処理部102から古典通信路を介してパルス統計情報を受信した場合に、そのパルス統計情報を鍵長計算部211bに送る。
<ステップS67>
シフティング処理部202bは、シフティング処理を終了すると、誤り訂正処理を開始させるための誤り訂正開始要求、および、生成した共有ビット列を、誤り訂正処理部203に送る。
<ステップS68>
誤り訂正処理部203は、誤り訂正開始要求を受け取ると、古典通信路を介して、送信機1bの誤り訂正処理部103と制御データ(EC情報)を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部203は、生成した訂正後ビット列を蓄積部205に記憶させる。
また、誤り訂正処理部203は、誤り訂正処理における共有ビット列の誤りビット数から量子通信路のエラーレートを算出し、蓄積部205に記憶させる。さらに、誤り訂正処理部203は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部103と交換したEC情報の情報量に基づいて、漏洩ビット数を算出し、蓄積部205に記憶させる。
<ステップS69>
誤り訂正処理部203は、誤り訂正処理を終了すると、算出したエラーレートおよび漏洩ビット数を、鍵長計算部211bに送る。ここで、鍵長計算部211bは、シフティング処理部202bからのパルス統計情報(パルスごとのカウント数および誤り数等を含む)、ならびに、誤り訂正処理部203からのエラーレートおよび漏洩ビット数が揃うことにより、暗号鍵の長さを計算する鍵長計算を完了できる。
<ステップS70>
鍵長計算部211bは、鍵長計算を終了すると、ハッシュ演算を開始させるためのハッシ演算開始要求、および、計算した暗号鍵の長さを、秘匿性増強処理部204bのハッシュ計算部212bに送る。
<ステップS71>
誤り訂正処理部203は、生成した訂正後ビット列をハッシュ計算部212bに送る。
<ステップS72>
ハッシュ計算部212bは、ハッシュ演算開始要求を受け取ると、鍵長計算部511により算出された暗号鍵の長さKおよび既定サイズNの大きさであって、送信機1bおよび受信機2bで共通のハッシュ行列を生成し、誤り訂正処理部203から受け取った訂正後ビット列に対して、生成したハッシュ行列を用いてハッシュ演算を行い、長さKの暗号鍵を生成する。
<ステップS73>
ハッシュ計算部212bは、生成した暗号鍵を、蓄積部205に記憶(蓄積)させる。
以上のステップS61〜S73の流れによって、本実施形態の量子鍵配送の動作が行われる。本実施形態では、秘匿性増強処理部204bによる秘匿性増強処理は、従来の量子鍵配送における秘匿性増強処理と同様に、ハッシュ演算では、鍵長計算により計算された暗号鍵の長さを用いてハッシュ行列のサイズを決定し、ハッシュ演算を行っている。すなわち、鍵長計算とハッシュ演算とを直列に実行させるものとし、鍵抽出の処理は省略している。ただし、本実施形態の秘匿性増強処理部204bによる秘匿性増強処理では、従来の量子鍵配送と異なり、秘匿性増強処理の鍵長計算のプロセスを、誤り訂正処理部203の誤り訂正処理の終了を待たずに開始(具体的には、シフティング処理部202bによるシフティング処理の開始のタイミングで開始)させている。そして、鍵長計算部211bは、シフティング処理部202bからパルス統計情報を受け取り、そして、誤り訂正処理部203からエラーレートおよび漏洩ビット数を受け取りながら、順次、鍵長計算の処理を進めるものとしている。これによって、従来の量子鍵配送と比較して、処理の重い秘匿性増強処理の開始のタイミング、すなわち、鍵長計算部211bによる鍵長計算の開始のタイミングを早めることができるので、量子鍵配送全体の処理速度を向上させ、セキュアキーレートを向上させることができる。
なお、図12に示すように、各動作の開始要求は、処理を開始するためのトリガとして明示的に記載しているが、実際に処理が開始するタイミングはこれに限定されるものではない。
また、上述の各実施形態において、シフティング処理部202(202a、202b)は、送信機のシフティング処理部102により生成されたパルス統計情報を受信するものとしているが、これに限定されるものではない。すなわち、シフティング処理部202(202a、202b)は、送信機のシフティング処理部102から光子ビット列の各ビットがどのパルスに対応するのかを示す情報を受信し、その情報を用いて、自身でパルス統計情報を生成するものとしてもよい。
また、上述の各実施形態において、秘匿性増強処理部204(204a、204b)の構成は受信機が有するものとしたが、これに限定されるものではなく、送信機が備えるものとしてもよい。この場合、送信機の秘匿性増強処理部で計算した暗号鍵のサイズ等をPA情報として、受信機に送信する必要がある。または、秘匿性増強処理部204(204a、204b)と同様の構成を、受信機および送信機がそれぞれ有するものとしてもよい。
また、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、例えば、ROM52等に予め組み込まれて提供される。
なお、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、上述の各実施形態に係る送信機および受信機で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態に係る送信機および受信機で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、コンピュータを上述した送信機および受信機の各機能部として機能させ得る。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1b 送信機
2、2b 受信機
3 光ファイバリンク
4 通信ケーブル
51 CPU
52 ROM
53 RAM
54 通信I/F
55 補助記憶装置
56 光学処理装置
57 バス
100、100b 量子鍵配送システム
101 光子送信部
102 シフティング処理部
103 誤り訂正処理部
104 秘匿性増強処理部
105 蓄積部
201 光子検出部
202、202a、202b シフティング処理部
203 誤り訂正処理部
204、204a、204b 秘匿性増強処理部
205 蓄積部
211、211a、211b 鍵長計算部
212、212a、212b ハッシュ計算部
213 鍵抽出部
501 光子検出部
502 シフティング処理部
503 誤り訂正処理部
504 秘匿性増強処理部
505 蓄積部
511 鍵長計算部
512 ハッシュ計算部

Claims (11)

  1. 他の通信装置と、量子通信路で接続され、暗号鍵を共有する通信装置であって、
    前記量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて前記光子列に対応するビット情報である光子ビット列を取得する光子通信手段と、
    前記光子ビット列から、前記基底情報を用いたシフティング処理により共有ビット列を生成するシフティング手段と、
    前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する誤り訂正手段と、
    前記暗号鍵の長さを計算する第1計算手段と、
    前記誤り訂正処理で生成された前記訂正後ビット列に対してハッシュ演算をするための特定のサイズの第1情報を用いて前記ハッシュ演算を行い、ハッシュ後ビット列を生成する第2計算手段と、
    前記ハッシュ後ビット列から、前記第1計算手段により計算された前記暗号鍵の長さ分のビット列を該暗号鍵として抽出する抽出手段と、
    を備えた通信装置。
  2. 他の通信装置と、量子通信路で接続され、暗号鍵を共有する通信装置であって、
    前記量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて前記光子列に対応するビット情報である光子ビット列を取得する光子通信手段と、
    前記光子ビット列から、前記基底情報を用いたシフティング処理により共有ビット列を生成するシフティング手段と、
    前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する誤り訂正手段と、
    前記シフティング処理で発生した、光子に対応するレーザパルスに関するパルス情報を受け取った場合に、前記パルス情報を用いた前記暗号鍵の長さの計算を開始する第1計算手段と、
    前記誤り訂正処理で生成された前記訂正後ビット列に対して、前記第1計算手段により計算された前記暗号鍵の長さで規定されたサイズのハッシュ用情報を用いて前記ハッシュ演算を行い、前記暗号鍵を生成する第2計算手段と、
    を備えた通信装置。
  3. 前記第1計算手段および前記第2計算手段は、それぞれの処理の少なくとも一部を並列に実行する請求項1に記載の通信装置。
  4. 前記第2計算手段は、所定数の前記訂正後ビット列の長さに基づいて規定されたサイズの前記第1情報を用いて前記ハッシュ演算を行う請求項1に記載の通信装置。
  5. 前記誤り訂正手段は、前記誤り訂正処理において、前記共有ビット列の誤りビット数から前記量子通信路のエラーレートを算出し、
    前記第1計算手段は、前記誤り訂正処理後、前記シフティング処理で発生した、光子に対応するレーザパルスに関する第2情報、および、前記誤り訂正処理で算出された前記エラーレートを用いて、前記暗号鍵の長さを計算する請求項1に記載の通信装置。
  6. 前記第1計算手段は、前記シフティング処理で発生した、光子に対応するレーザパルスに関する第2情報を受け取った場合に、前記第2情報を用いた前記暗号鍵の長さの計算を開始する請求項1に記載の通信装置。
  7. 前記誤り訂正手段は、前記誤り訂正処理において、前記共有ビット列の誤りビット数から前記量子通信路のエラーレートを算出し、
    前記第1計算手段は、さらに前記エラーレートを用いて前記暗号鍵の長さを計算する請求項6に記載の通信装置。
  8. 前記誤り訂正手段は、前記誤り訂正処理において、前記他の通信装置と通信した制御情報に基づいて、漏洩ビット数を算出し、
    前記第1計算手段は、さらに前記漏洩ビット数を用いて前記暗号鍵の長さを計算する請求項5または7に記載の通信装置。
  9. 複数の通信装置が、量子通信路で接続され、暗号鍵を共有する量子鍵配送システムであって、
    前記複数の通信装置のうち少なくともいずれか1つの通信装置は、
    前記量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて前記光子列に対応するビット情報である光子ビット列を取得する光子通信手段と、
    前記光子ビット列から、前記基底情報を用いたシフティング処理により共有ビット列を生成するシフティング手段と、
    前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する誤り訂正手段と、
    前記暗号鍵の長さを計算する第1計算手段と、
    前記誤り訂正処理で生成された前記訂正後ビット列に対してハッシュ演算をするための特定のサイズの第1情報を用いて前記ハッシュ演算を行い、ハッシュ後ビット列を生成する第2計算手段と、
    前記ハッシュ後ビット列から、前記第1計算手段により計算された前記暗号鍵の長さ分のビット列を該暗号鍵として抽出する抽出手段と、
    を備えた量子鍵配送システム。
  10. 他の通信装置と、量子通信路で接続され、暗号鍵を共有する通信装置の量子鍵配送方法であって、
    前記量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて前記光子列に対応するビット情報である光子ビット列を取得する光子通信ステップと、
    前記光子ビット列から、前記基底情報を用いたシフティング処理により共有ビット列を生成するシフティングステップと、
    前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する誤り訂正ステップと、
    前記暗号鍵の長さを計算する第1計算ステップと、
    前記誤り訂正処理で生成された前記訂正後ビット列に対してハッシュ演算をするための特定のサイズのハッシュ用情報を用いて前記ハッシュ演算を行い、ハッシュ後ビット列を生成する第2計算ステップと、
    前記ハッシュ後ビット列から、前記第1計算手段により計算された前記暗号鍵の長さ分のビット列を該暗号鍵として抽出する抽出ステップと、
    を有する量子鍵配送方法。
  11. 他の通信装置と、量子通信路で接続され、暗号鍵を共有するコンピュータを、
    前記量子通信路を介した光子の光子送受信処理により光子列を取得し、生成した基底情報に基づいて前記光子列に対応するビット情報である光子ビット列を取得する光子通信手段により取得された該光子ビット列から、前記基底情報を用いたシフティング処理により共有ビット列を生成するシフティング手段と、
    前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する誤り訂正手段と、
    前記暗号鍵の長さを計算する第1計算手段と、
    前記誤り訂正処理で生成された前記訂正後ビット列に対してハッシュ演算をするための特定のサイズのハッシュ用情報を用いて前記ハッシュ演算を行い、ハッシュ後ビット列を生成する第2計算手段と、
    前記ハッシュ後ビット列から、前記第1計算手段により計算された前記暗号鍵の長さ分のビット列を該暗号鍵として抽出する抽出手段と、
    して機能させるためのプログラム。
JP2016050119A 2016-03-14 2016-03-14 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム Active JP6490613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016050119A JP6490613B2 (ja) 2016-03-14 2016-03-14 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム
US15/383,074 US10341097B2 (en) 2016-03-14 2016-12-19 Communication device, quantum key distribution system, quantum key distribution method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016050119A JP6490613B2 (ja) 2016-03-14 2016-03-14 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2017168928A true JP2017168928A (ja) 2017-09-21
JP6490613B2 JP6490613B2 (ja) 2019-03-27

Family

ID=59787518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016050119A Active JP6490613B2 (ja) 2016-03-14 2016-03-14 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム

Country Status (2)

Country Link
US (1) US10341097B2 (ja)
JP (1) JP6490613B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048839B2 (en) 2019-03-29 2021-06-29 International Business Machines Corporation Adaptive error correction in quantum computing
US11115198B2 (en) 2018-09-19 2021-09-07 Kabushiki Kaisha Toshiba Key generation device, key generation method, and computer program product
JP7309668B2 (ja) 2020-07-22 2023-07-18 株式会社東芝 通信システム、鍵管理サーバ装置、ルータ及びプログラム
JP7312487B2 (ja) 2021-02-18 2023-07-21 テラ クアンタム アーゲー 量子鍵配送のための方法及びシステム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768066B1 (ko) * 2016-06-13 2017-08-14 고려대학교 산학협력단 그래프 상태를 이용한 양자 오류 정정 부호의 생성 방법 및 장치
CA3078558A1 (en) * 2017-10-06 2019-04-11 Novus Paradigm Technologies Corporation A system and method for quantum-safe authentication, encryption and decryption of information
US11025416B1 (en) 2018-03-09 2021-06-01 Wells Fargo Bank, N.A. Systems and methods for quantum session authentication
US10728029B1 (en) 2018-03-09 2020-07-28 Wells Fargo Bank, N.A. Systems and methods for multi-server quantum session authentication
US10855453B1 (en) 2018-08-20 2020-12-01 Wells Fargo Bank, N.A. Systems and methods for time-bin quantum session authentication
CN109660329B (zh) * 2018-12-27 2022-06-14 安徽继远软件有限公司 一种可抵抗外部攻击的两方量子保密通信方法
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
CN109981270B (zh) * 2019-04-04 2021-06-22 吉林工程技术师范学院 基于量子密钥同步销毁技术的点对点文件传输方法
CN111510224B (zh) * 2020-03-20 2021-06-15 军事科学院系统工程研究院网络信息研究所 基于波分复用编码和密钥存储转换的量子通信方法及系统
CN113630239B (zh) * 2020-05-07 2023-08-01 中移(成都)信息通信科技有限公司 信息获取方法、装置、设备及存储介质
CN111541539B (zh) * 2020-06-23 2020-12-04 北京中创为南京量子通信技术有限公司 一种提高量子密钥分发系统纠错效率的方法及装置
US11770245B2 (en) * 2020-11-04 2023-09-26 Electronics And Telecommunications Research Institute Quantum key distribution system and operation method thereof
US20240015002A1 (en) * 2021-10-18 2024-01-11 Gideon Samid Non-Entanglement Physical Shared Ad-Hoc Randomness (NEPSAR)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015142339A (ja) * 2014-01-30 2015-08-03 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP2015154342A (ja) * 2014-02-17 2015-08-24 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193763A1 (en) * 2003-03-28 2004-09-30 Fujitsu Limited Inter-bus communication interface device and data security device
WO2009104260A1 (ja) * 2008-02-20 2009-08-27 三菱電機株式会社 検証装置
WO2013179094A1 (en) * 2012-05-31 2013-12-05 Nokia Corporation Secured wireless communications
GB201210494D0 (en) 2012-06-13 2012-07-25 Toshiba Res Europ Ltd A quantum communication method and system
US10291399B2 (en) * 2013-09-30 2019-05-14 Traid National Security, LLC Quantum-secured communications overlay for optical fiber communications networks
KR101466204B1 (ko) * 2013-10-25 2014-11-27 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 안전성 확보를 위한 더블 클릭 이벤트 처리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015142339A (ja) * 2014-01-30 2015-08-03 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP2015154342A (ja) * 2014-02-17 2015-08-24 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鶴丸豊広: "映像情報メディア関連のセキュリティ", 映像情報メディア学会誌, vol. 第69巻 第8号, JPN6018044308, 1 November 2015 (2015-11-01), JP, pages 889 - 897, ISSN: 0003916838 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115198B2 (en) 2018-09-19 2021-09-07 Kabushiki Kaisha Toshiba Key generation device, key generation method, and computer program product
US11048839B2 (en) 2019-03-29 2021-06-29 International Business Machines Corporation Adaptive error correction in quantum computing
JP7309668B2 (ja) 2020-07-22 2023-07-18 株式会社東芝 通信システム、鍵管理サーバ装置、ルータ及びプログラム
JP7312487B2 (ja) 2021-02-18 2023-07-21 テラ クアンタム アーゲー 量子鍵配送のための方法及びシステム

Also Published As

Publication number Publication date
US20170264434A1 (en) 2017-09-14
JP6490613B2 (ja) 2019-03-27
US10341097B2 (en) 2019-07-02

Similar Documents

Publication Publication Date Title
JP6490613B2 (ja) 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム
JP5424008B2 (ja) 共有情報の管理方法およびシステム
JP6359285B2 (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP6400513B2 (ja) 量子鍵配送装置、量子鍵配送方法およびプログラム
US10491383B2 (en) Method and system for detecting eavesdropping during data transmission
JP4888630B2 (ja) 通信システムおよびその監視制御方法
JP4662040B2 (ja) 通信システムおよびその同期制御方法
JP6165646B2 (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP6478749B2 (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP6426477B2 (ja) 通信装置、通信システムおよびプログラム
US9294272B2 (en) System and method for quantum key distribution
KR20190005878A (ko) 보안 데이터 송신을 위한 방법 및 시스템
JP2017175320A (ja) 通信装置、量子鍵配送システム、量子鍵配送方法およびプログラム
JP6211963B2 (ja) 受信機、送信機、通信システムおよび通信方法
JP6165638B2 (ja) 量子通信装置、量子通信方法及びプログラム
JP6169028B2 (ja) 通信装置、通信システムおよび通信方法
JP2007053591A (ja) 量子暗号鍵配布システムおよび方法
Price et al. A quantum key distribution protocol for rapid denial of service detection
WO2018043742A1 (ja) 量子暗号鍵出力装置、量子暗号鍵通信システム及び量子暗号鍵出力方法
US9608802B2 (en) Decoy bits method for direct encryption and key generation
JP6396225B2 (ja) 量子鍵配送装置、量子鍵配送システムおよびプログラム
AU2022201032A1 (en) Long-distance quantum key distribution
WO2017196545A1 (en) Method and system for detecting eavesdropping during data transmission
RU2697696C1 (ru) Способ передачи сообщения через вычислительную сеть с применением аппаратуры квантового распределения ключей

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190227

R151 Written notification of patent or utility model registration

Ref document number: 6490613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151