(57)【要約】信号処理部へ供給する乱数の消費量を低減する乱数供給方法および装置を提供する。２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置（１００）であって、第１の乱数生成器により生成された第１乱数（ＲＮ１）が所定値（ａ）と一致するか否かを判定する判定部（１０３）と、第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数（ＲＮ２）を使用しないで、第１乱数が前記所定値と一致しない場合には第２乱数（ＲＮ２）を使用することで、第１の乱数（ＲＮ１）を含む２ビット乱数を信号処理部（１０５）へ供給する制御部と、を有する。
2020121451.tif 000002
【特許請求の範囲】
【請求項１】
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置であって、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、
前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
【請求項２】
前記制御部は、
前記第１乱数が所定値と一致する場合には当該第１乱数と任意の値とを前記信号処理部へ供給し、
前記第１乱数が前記所定値と一致しない場合には当該第１乱数と第２の乱数生成器により生成された第２乱数とを前記信号処理部へ供給する、
請求項１に記載の乱数供給装置。
【請求項３】
前記第２の乱数生成器により生成された第２の乱数を蓄積する記憶部を更に有し、前記制御部は、前記第１乱数が前記所定値と一致しない場合に前記記憶部から前記第２の乱数を読み出す請求項１または２に記載の乱数供給装置。
【請求項４】
前記第２の乱数生成器の乱数生成速度が前記第１の乱数生成器より低速である請求項１−３のいずれか１項に記載の乱数供給装置。
【請求項５】
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置であって、
少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、
前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する判定部と、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
【請求項６】
前記信号処理部は、前記ｎビット乱数が示す論理的な２ｎ状態より少なくとも１以上小さい数の状態であって２ｎ−１より大きい数の状態により制御される請求項５に記載の乱数供給装置。
【請求項７】
前記判定部は前記記憶部から読み出された１ビットの第１乱数が１つの所定値と一致するか否かを判定し、
前記制御部は、前記第１乱数が前記所定値と一致する時に当該第１乱数と任意の値とを前記信号処理部へ供給し、前記第１乱数が前記所定値と一致しない時に前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記信号処理部へ供給する、
請求項５または６に記載の乱数供給装置。
【請求項８】
前記判定部は前記記憶部から読み出されたｍビット（ｍは０＜ｍ＜ｎの整数）の乱数列が複数のｍビット所定値と一致するか否かを判定し、
前記制御部は、前記ｍビットの乱数列が複数のｍビット所定値のいずれかと一致する時に当該ｍビットの乱数列に続くビット位置に任意の値を入れた前記ｎビット乱数を前記信号処理部へ供給し、前記ｍビットの乱数列が前記複数のｍビット所定値のいずれとも一致しない時には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
請求項５または６に記載の乱数供給装置。
【請求項９】
前記信号処理部は、送信信号の強度および位相の少なくとも一つに関する変調を行う変調器である請求項１−８のいずれか１項に記載の乱数供給装置。
【請求項１０】
請求項１−９のいずれか１項に記載の乱数供給装置により供給される乱数を用いて信号処理を実行する通信機。
【請求項１１】
請求項１−９のいずれか１項に記載の乱数供給装置により供給される乱数に従って送信光パルスの強度変調を行う量子鍵配送（ＱＫＤ）システムにおける送信側の通信機。
【請求項１２】
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給方法であって、
判定部が、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定し、
制御部が、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する、
乱数供給方法。
【請求項１３】
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する方法であって、
少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積し、
判定部が、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定し、
制御部が、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合、当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、
前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合、不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
乱数供給方法。
【請求項１４】
前記信号処理部は、前記ｎビット乱数が示す論理的な２ｎ状態より少なくとも１以上小さい数の状態であって２ｎ−１より大きい数の状態により制御される請求項１３に記載の乱数供給方法。
【請求項１５】
前記判定部が、前記記憶部から読み出された１ビットの第１乱数が１つの所定値と一致するか否かを判定し、
前記制御部が、
前記第１乱数が前記所定値と一致する時に当該第１乱数と任意の値とを前記信号処理部へ供給し、
前記第１乱数が前記所定値と一致しない時に前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記信号処理部へ供給する、
請求項１３または１４に記載の乱数供給方法。
【請求項１６】
前記判定部が、前記記憶部から読み出されたｍビット（ｍは０＜ｍ＜ｎの整数）の乱数列が複数のｍビット所定値と一致するか否かを判定し、
前記制御部が、
前記ｍビットの乱数列が前記複数のｍビット所定値のいずれかと一致する時に当該ｍビットの乱数列に続くビット位置に任意の値を入れた前記ｎビット乱数を前記信号処理部へ供給し、
前記ｍビットの乱数列が前記複数のｍビット所定値のいずれとも一致しない時には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
請求項１３または１４に記載の乱数供給方法。
【請求項１７】
前記信号処理部は、送信信号の強度および位相の少なくとも一つに関する変調を行う変調器である請求項１３−１６のいずれか１項に記載の乱数供給方法。
【請求項１８】
量子鍵配送（ＱＫＤ）システムにおける送信側の通信機であって、
乱数に従って光パルスの強度を変調するデコイ強度変調器と、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、
前記第１乱数が所定値と一致する場合には当該第１乱数と任意の値とを前記デコイ強度変調器へ供給し、前記第１乱数が前記所定値と一致しない場合には当該第１乱数と第２の乱数生成器により生成された第２乱数とを前記デコイ強度変調器へ供給する制御部と、
を有する通信機。
【請求項１９】
量子鍵配送（ＱＫＤ）システムにおける送信側の通信機であって、
乱数に従って、光パルスの強度を変調するデコイ強度変調器と、
少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、
前記記憶部から読み出された第１乱数が前記所定値と一致するか否かを判定する判定部と、
前記第１乱数が前記所定値と一致する時には当該第１乱数と任意の値とを前記デコイ強度変調器へ供給し、前記第１乱数が前記所定値と一致しない時には前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記デコイ強度変調器へ供給する制御部と、
を有する通信機。
【請求項２０】
乱数に従って動作する信号処理部へ乱数を供給する装置としてコンピュータを機能させるプログラムであって、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する機能と、
前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する機能と、
を前記コンピュータで実現するためのプログラム。
【請求項２１】
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置としてコンピュータを機能させるプログラムであって、
少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積する機能と、
前記記憶部から読み出された少なくとも１つの乱数が複数の所定値と一致するか否かを判定する機能と、
前記少なくとも１つの乱数が前記複数の所定値のいずれかと一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記複数の所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する機能と、
を前記コンピュータで実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は乱数を用いる信号処理部に乱数を供給する方法および装置に関する。
【背景技術】
【０００２】
今日、通信ネットワークの高速化および大容量化に伴い、データ暗号化等に必要な乱数の使用量はますます増大している。特に、暗号鍵乱数は事前に予測可能なものではあってはならないので、疑似乱数ではなく真性乱数であることが望ましい。真性乱数源としては、熱雑音や光子検出を利用した物理乱数生成器が市販されているが、その速度は数ＭＨｚ程度に止まっている。このために、システムクロックが数ＧＨｚを超えるような高速システムに対応できる十分な乱数量の確保が困難である。そこで、乱数を使用する側で乱数の消費量を削減する種々の提案がなされている。【０００３】
たとえば量子暗号鍵配送（ＱＫＤ）システムでは、送信機（Ａｌｉｃｅ）が、鍵情報の乱数と基底情報の乱数とを用いて光パルスを変調するが、実際に受信機（Ｂｏｂ）が光子を検出する確率は非常に低い（１／１０００程度）。この光子伝送の物理的な性質を利用し、基底変調をビット毎に変化させるのではなく、所定のビットブロックごとに変化させることで、基底変調に必要な乱数消費量を低減することができる（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２３３１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、受信機での光子検出確率が非常に低いというＱＫＤシステムの物理的性質を利用して乱数の消費量を節約するが、更なる乱数の節約が望ましいことは言うまでもない。【０００６】
たとえばデコイ方式のＱＫＤシステムを例にとれば、送信機（Ａｌｉｃｅ）は３種類の光強度を生成するために２系統の２値乱数を必要とする。２系統の２値乱数を用いれば４つの状態を生成可能であるが、デコイ方式では、４状態のうち３状態を選択する。このように、信号処理には、論理的な状態数のうち使用しない状態が存在する場合がある。本発明者等は、このような信号処理における使用しない状態に着目することで乱数の消費量の削減が可能であることを見いだした。一般化すれば、ｎを２以上の整数として、２ｎ状態のうち２ｎ−１より多く２ｎより少ない状態だけを使用する信号処理であれば、使用されない状態に着目して乱数の消費量を節約することができる。【０００７】
本発明の目的は、信号処理部へ供給する乱数の消費量を低減する乱数供給方法および装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第一の態様によれば、２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置であって、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、を有する。
本発明の第二の態様によれば、ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置であって、少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する判定部と、前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する制御部と、を有する。
本発明の第三の態様によれば、２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給方法であって、判定部が、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定し、制御部が、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する。
本発明の第四の態様によれば、ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する方法であって、少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積し、判定部が、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定し、制御部が、前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合、当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合、不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する。
本発明の第五の態様によれば、２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置としてコンピュータを機能させるプログラムであって、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、を前記コンピュータで実現する。
本発明の第六の態様によれば、ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置としてコンピュータを機能させるプログラムであって、少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積する機能と、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する機能と、前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する機能と、を前記コンピュータで実現する。
【発明の効果】
【０００９】
本発明によれば、乱数の値に従って次の乱数を使用するか否かを判断することで、信号処理部へ供給する乱数の消費量を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の第１実施形態による乱数供給装置の概略的構成を示すブロック図ク図である。
【図２】図２は第１実施形態による乱数供給装置の動作を示すフローチャートである。
【図３】図３は本発明の第２実施形態による乱数供給装置の概略的構成を示すブロック図である。
【図４】図４は第２実施形態による乱数供給装置の動作を示すフローチャートである。
【図５】図５は本発明の第３実施形態による乱数供給方法の基本原理を説明するための状態数テーブルを示す図である。
【図６】図６は本発明の第３実施形態による乱数供給装置の概略的構成を示すブロック図ク図である。
【図７】図７は第３実施形態による乱数供給装置の動作を示すフローチャートである。
【図８】図８は本発明の一実施例による通信機の一例を示すブロック図である。
【図９】図９は図８に示す通信機をデコイ方式のＱＫＤ送信機に適用したＱＫＤシステムの一例を示すシステム構成図である。
【図１０】図１０は図９に示すＱＫＤシステムのデコイパルス列の一例を示すデコイ方式の説明図である。
【図１１】図１１は本発明の第１実施形態による乱数供給装置を用いた送信機（Ａｌｉｃｅ）における乱数供給と、強度変調器の駆動と、デコイ強度変調との関係の一例を示す動作説明図である。
【発明を実施するための形態】
【００１１】
＜実施形態の概要＞
本発明の実施形態によれば、２つの乱数により信号処理に必要な３状態を生成する場合、第１の乱数の値が所定値であれば、それに続く第２の乱数を使用せず、所定値でなければ第２の乱数を使用する。これによって、２系統の乱数により論理的に得られる４状態のうち、信号処理に利用される３状態を生成することができる。第１の乱数が所定値であれば第２の乱数を使用しないので、全体として乱数の消費量を削減することができる。この方法は、後述するように、３系統以上の２値乱数の場合にも適用可能である。
【００１２】
以下、本発明の実施形態について図面を参照して詳細に説明する。ただし、以下の実施形態に記載されている構成要素は単なる例示であって、本発明の技術範囲をそれらのみに限定する趣旨ではない。
【００１３】
１．第１実施形態
本発明の第１実施形態によれば、第１の乱数生成器が生成した第１乱数が所定値であるか否かを判定し、所定値であれば第２の乱数生成器が生成した第２乱数を使用せず、所定値でなければ第２の乱数を使用する。第１乱数が所定値であれば乱数が消費されないので、全体として乱数の消費量を削減することができる。第２乱数は第１乱数よりも消費量が少なくなるので、第２の乱数生成器は第１の乱数生成器より低速で動作可能である。以下、２値ａ／ｂの乱数を一例として説明する。なお、ａ，ｂは一方が０であれば他方が１の値をとる。
【００１４】
図１に例示するように、第１実施形態による乱数供給装置１００は、乱数生成器１０１および乱数生成器１０２から２系統の乱数ＲＮ１およびＲＮ２をそれぞれ入力し、３状態を示す出力Ｏ１およびＯ２を出力する。乱数供給装置１００は判定部１０３およびメモリ１０４を備える。乱数供給装置１００は２系統の乱数生成器１０１および１０２を内部に設けてもよい。乱数生成器１０１はクロックＣＬＫ１に従って乱数ＲＮ１を生成する。乱数生成器１０２は、クロックＣＬＫ１より低速のクロックＣＬＫ２に従って乱数ＲＮ２を生成する。乱数生成器１０１および１０２は、熱雑音や光子検出等を利用した物理乱数生成器であることが望ましいが、本実施形態は擬似乱数生成器であっても適用可能である。
【００１５】
乱数生成器１０１が生成した乱数ＲＮ１は乱数供給装置１００の出力Ｏ１として出力されると共に、判定部１０３に入力する。乱数生成器１０２が生成した乱数ＲＮ２はメモリ１０４に順次蓄積され、読出し信号に応じて先頭から順次読み出される。
【００１６】
判定部１０３は、入力した乱数ＲＮ１の値が所定値（ここではａ）であるか否かを判定する。ＲＮ１が所定値ａであれば、判定部１０３はメモリ１０４へ読み出し信号を出力せず、乱数以外の値（所定固定値あるいはドントケアビット（Don’t-care bit））を出力Ｏ２として信号処理部１０５へ出力することができる。以下、出力Ｏ２の所定固定値あるいはドントケアビット（Don’t-care bit）を「Ｘ」と表すものとする。言い換えれば、信号処理部１０５にとっては、出力Ｏ１＝ａであれば信号処理機能が決定され、出力Ｏ２の値は影響しない。
【００１７】
判定部１０３は、ＲＮ１が所定値以外の値（ここではｂ）であればメモリ１０４へ読出し信号を出力する。メモリ１０４は、読出し信号を入力する毎に、蓄積された乱数ＲＮ２を先頭から順次読み出し、乱数供給装置１００の出力Ｏ２として出力する。その際、読み出された乱数ＲＮ２はメモリ１０４から削除される。本実施形態では、メモリ１０４は、読出し信号がないときは、蓄積した乱数を読み出さない。なお、判定部１０３がＸを出力する代わりに、判定部１０３を含むプロセッサあるいはメモリ１０４が出力Ｏ１のタイミングで、出力Ｏ２をＸとして出力することも可能である。
【００１８】
上述したように、乱数供給装置１００は、図１の変換テーブルＴに例示するように、出力Ｏ１およびＯ２によって３状態Ｓ１、Ｓ２およびＳ３を生成し、信号処理部１０５へ出力することができる。すなわち、ＲＮ１＝Ｏ１＝ａの時はＯ２の値に関わらず状態Ｓ１を、ＲＮ１＝Ｏ１＝ｂの時はＲＮ２＝Ｏ２＝ａであれば状態Ｓ２を、ＲＮ２＝Ｏ２＝ｂであれば状態Ｓ３を、それぞれ表現可能である。信号処理部１０５は、乱数供給装置１００の出力Ｏ１およびＯ２により特定される状態Ｓ１〜Ｓ３のいずれかに従って、当該状態に応じた信号処理を実行する。特に、信号処理部１０５は、出力Ｏ１の値がａであれば、常に状態Ｓ１に応じた信号処理を実行する。
【００１９】
図１に例示する構成では、乱数生成器１０１から入力した乱数ＲＮ１を出力Ｏ１として出力したが、乱数ＲＮ１をいったんメモリ（図示せず。）に蓄積することもできる。すなわち、乱数供給装置１００に乱数ＲＮ１を蓄積する第１メモリと乱数ＲＮ２を蓄積する第２メモリ（上記メモリ１０４）を設け、第１メモリに蓄積された乱数ＲＮ１を乱数供給装置１００のクロックに従って読み出し、判定部１０３により判定する構成を採用してもよい。
【００２０】
また、乱数供給装置１００の機能は、判定部１０３およびメモリ１０４のハードウエア、あるいは判定部１０３の機能を有するプロセッサおよびメモリ１０４のハードウエアにより実現されうる。あるいは、プロセッサ上でプログラムを実行することにより、変換テーブルＴに示す機能をソフトウエアとして実現することもできる。次に、図２を参照して、プロセッサが乱数供給制御プログラムをメモリから読み出して実行する場合を説明する。
【００２１】
図２に例示するように、プロセッサは、乱数生成器１０１から１つの乱数ＲＮ１を入力すると（動作２０１）、当該ＲＮ１が所定値ａに等しいか否かを判定する（動作２０２；判定部１０３の動作）。ＲＮ１の値がａであれば（動作２０２のＹＥＳ）、プロセッサは出力Ｏ２をＸに設定する（動作２０３）。ＲＮ１の値がａでなければ（動作２０２のＮＯ）、プロセッサはメモリ１０４の蓄積乱数ＲＮ２を出力Ｏ２として読み出す（動作２０４）。こうして、プロセッサは、入力したＲＮ１と、メモリ１０４から読み出したＲＮ２あるいはＸと、をそれぞれ出力Ｏ１と出力Ｏ２として出力する（動作２０５）。プロセッサは、クロックＣＬＫ１に従って乱数ＲＮ１を順次入力し、上記動作２０１〜２０５を繰り返すことで、３状態Ｓ１〜Ｓ３をランダムに選択する２系統の乱数系列を信号処理部１０５へ供給することができる。
【００２２】
以上述べたように、本発明の第１実施形態によれば、乱数ＲＮ１が所定値であるか否かを判定し、ＲＮ１が所定値であれば、メモリ１０４に蓄積された乱数は消費されない。ＲＮ１が所定値であれば、メモリ１０４に蓄積された乱数ＲＮ２を使用し、乱数ＲＮ１と蓄積乱数ＲＮ２とを信号処理用の乱数Ｏ１、Ｏ２として信号処理部１０５へ出力する。乱数ＲＮ１が所定値であれば乱数が消費されないので、メモリ１０４に蓄積された乱数ＲＮ２の消費量を削減することができる。したがって、乱数生成器１０１より低速の乱数生成器１０２を用いて乱数ＲＮ２を生成することができる。
【００２３】
２．第２実施形態
本発明の第２実施形態によれば、乱数生成器が生成した乱数をメモリにプールし、その乱数プールからの乱数読出しを制御することで、上記第１実施形態と同様の３状態を生成可能である。すなわち、乱数プールから読み出された１つの第１乱数の値が所定値であるか否かを判定し、所定値であれば乱数プールからの乱数読出しを行わず、所定値以外であれば乱数プールから続く第２乱数を読み出す。第１乱数が所定値であれば乱数が消費されないので、乱数の消費量を削減することができる。以下、２値ａ／ｂの乱数を一例として説明する。なお、ａ，ｂは一方が０であれば他方が１の値をとる。
【００２４】
図３に例示するように、第２実施形態による乱数供給装置１００は、１つあるいは複数の乱数生成器から乱数ＲＮを入力し、メモリ内の乱数プール３０１に蓄積する。乱数生成器は、熱雑音や光子検出等を利用した物理乱数生成器であることが望ましいが、本実施形態は擬似乱数生成器であっても適用可能である。乱数プール３０１は判定部３０２として機能する制御部により読み出し制御が行われ、３状態のいずれかを特定するための乱数ＲＮＯＵＴを信号処理部３０３へ出力する。乱数プール３０１、判定部３０２および信号処理部３０３はクロックＣＬＫに従って動作するものとする。
【００２５】
乱数プール３０１から乱数ＲＮ１が読み出されると、判定部３０２は、入力した乱数ＲＮ１の値が所定値ａであるか否かを判定する。ＲＮ１＝ａであれば、判定部３０２は信号処理部３０３に対してドントケアを示すＸ通知を行う。ＲＮ１がａ以外の値ｂであれば、判定部３０２は乱数プール３０１へ読出し信号を出力する。乱数プール３０１は、読出し信号を入力する毎に、乱数プール３０１から続く乱数ＲＮ２を順次読み出し、読み出された乱数ＲＮ２は乱数プール３０１から削除される。こうして、ＲＮ１とそれに続くＲＮ２の組、あるいはＸ通知を伴うＲＮ１のみ、が乱数ＲＮＯＵＴとして信号処理部３０３へ出力される。
【００２６】
したがって、乱数供給装置１００は、図１に例示した変換テーブルＴと同様に、出力Ｏ１およびＯ２に代わる乱数ＲＮＯＵＴによって、３状態Ｓ１、Ｓ２およびＳ３を生成可能である。すなわち、ＲＮ１＝ａの場合は無条件に状態Ｓ１を、ＲＮ１＝ｂの場合は、後続する乱数ＲＮ２＝ａであれば状態Ｓ２を、ＲＮ２＝ｂであれば状態Ｓ３を、それぞれ表現可能である。
【００２７】
図３に例示する乱数供給装置１００の機能は、乱数プール３０１のメモリと判定部３０２のハードウエアにより実現されうる。あるいは、同様の機能をプロセッサ上でプログラムを実行することにより実現することもできる。次に、図４を参照して、プロセッサが乱数供給制御プログラムをメモリから読み出して実行する場合を説明する。
【００２８】
図４に例示するように、プロセッサは、乱数プール３０１から乱数ＲＮ１を読み出し（動作４０１）乱数ＲＮ１の値が所定値ａであるか否かを判定する（動作４０２）。この乱数ＲＮ１は乱数ＲＮＯＵＴとして信号処理部３０３へ出力される。続いて、プロセッサは、ＲＮ１＝ａであれば（動作４０２のＹＥＳ）、信号処理部３０３に対して、当該ＲＮ１に続く乱数がないことを示すためにドントケアを示すＸ通知を行う（動作４０３）。ＲＮ１がａ以外の値ｂであれば（動作４０２のＮＯ）、プロセッサは、乱数プール３０１から続く乱数ＲＮ２を読み出し、信号処理部３０３へ出力する（動作４０４）。読み出された乱数ＲＮ２は乱数プール３０１から削除される。
【００２９】
こうして、ＲＮ１＝ｂであれば、それに続くＲＮ２の値に依存して状態Ｓ２あるいはＳ３が決定され、信号処理部３０３へ通知される。ＲＮ１＝ａであれば、それに続く乱数がないことを示すＸ通知が信号処理部３０３へ出力される。Ｘ通知を受けると、信号処理部３０３は、図１の変換テーブルＴにおけるＯ１＝ＲＮ１＝ａ、Ｏ２＝ＲＮ２＝Ｘにより特定される状態Ｓ１の信号処理を実行する。プロセッサは、クロックＣＬＫに従って上記動作４０１〜４０４を繰り返すことで、３状態Ｓ１〜Ｓ３をランダムに選択する乱数系列を信号処理部３０３へ供給することができる。
【００３０】
以上述べたように、本発明の第２実施形態によれば、乱数プール３０１から読み出された乱数ＲＮ１が所定値であれば、乱数プール３０１から続く乱数ＲＮ２を読み出さない。所定値でなければ、乱数プール３０１から続く乱数ＲＮ２を読み出す。これによって、乱数ＲＮ１が所定値でないときのみ乱数ＲＮ２が消費されるので、乱数プールの乱数消費量を削減することができる。
【００３１】
３．第３実施形態
本発明の第３実施形態によれば、上記第１および第２実施形態における論理的な４（＝２２）状態を２ｎ状態（ｎは２以上の整数）に一般化し、２ｎ状態のうち２ｎ−１より多く２ｎより少ない状態だけを使用する信号処理に対して乱数を供給する。本実施形態においても、使用されない状態に着目して乱数の消費量を節約することができる。本実施形態の基本的な方法について、図５を参照して簡単に説明する。
【００３２】
図５に示すテーブルは、ｎ＝３の場合、乱数供給装置１００により生成される論理的な８通りの状態を示す。本実施形態によれば、ＲＮ１、ＲＮ２およびＲＮ３を３ビットの２進数として扱い、先頭の１ビットＲＮ１あるいは先頭の２ビットＲＮ１およびＲＮ２を指定値と比較することで、使用されない状態の乱数消費を回避できる。たとえば、先頭１ビットの指定値“１”を用いて５（＝２３−３）状態を、先頭２ビットの“１０”以上の指定値、すなわち指定値“１０”および“１１”、を用いて６（＝２３−２）状態を、先頭２ビットの指定値“１１”を用いて７（＝２３−１）状態を、それぞれ生成することができる。ｎが４以上の場合も、同様に所望の状態数に対応するｎビット値ＲＮ１．．．ＲＮｎ以上の複数の指定値を設定することで、２ｎ−１より多く２ｎより少ない状態を容易に生成することが可能である。
【００３３】
以下、ｎ（２以上の整数）より小さい整数ｍ（０＜ｍ＜ｎ）を用いて、ｍビット指定値を“ｂ１・・・ｂｍ”と表記する。たとえば図５に示すｎ＝３の場合、指定状態数を６とすれば、それに対応する最上位２ビット指定値“ｂ１ｂ２”は“１０”であるから、指定値“１０”とそれより大きい指定値“１１”を設定すればよい。
【００３４】
３．１）構成
図６に例示するように、第３実施形態による乱数供給装置１００は、１つあるいは複数の乱数生成器から乱数ＲＮを入力し、メモリ５０１に蓄積する。乱数生成器は、熱雑音や光子検出等を利用した物理乱数生成器であることが望ましいが、本実施形態は擬似乱数生成器であっても適用可能である。メモリ５０１はプロセッサ５０２により読み出し制御が行われ、２ｎ−１より多く２ｎより少ない指定状態のいずれかを特定するためのｎビット乱数ＲＮＯＵＴを生成する。ｎビット乱数ＲＮＯＵＴは、第２実施形態のようにシリアルに信号処理部５０４へ出力されても良いし、図６に例示するようにシフトレジスタ５０３に順次入力し、ｎビット並列出力Ｏ１〜Ｏｎとして信号処理部５０４へ出力されてもよい。
【００３５】
プロセッサ５０２はプログラムメモリ５０５から読み出されたプログラムを実行することで、本実施形態による乱数供給機能を実現する。後述するように、プロセッサ５０２は、メモリ５０１から乱数ＲＮを読み出す毎にｍビット指定値と比較し、残りのビットに乱数を使用するか否かを決定する。以下、図７を参照しながら、本実施形態による乱数供給動作を説明する。
【００３６】
３．２）乱数供給動作
図７に例示するように、プロセッサ５０２は、１以上のｍビット指定値を設定する（動作６０１）。続いて、プロセッサ５０２はメモリ５０１から乱数ＲＮを順次読み出し（動作６０２）、読み出した乱数列“ＲＮ１・・・ＲＮｍ”と１以上のｍビット指定値とが一致するか否か判定する（動作６０３）。一致すれば（動作６０３のＹＥＳ）、プロセッサ５０２は、当該乱数列“ＲＮ１・・・ＲＮｍ”に続く（ｎ−ｍ）ビットにドントケアを示すＸを埋めてｎビット出力ｎ−ＲＮ＝“ＲＮ１・・・ＲＮｍＸＸ・・・Ｘ”を信号処理部５０４へ出力する（動作６０４）。一致しなければ（動作６０３のＮＯ）、プロセッサ５０２は、不一致となったビット位置以降に入る乱数をメモリ５０１から順次読み出し、ｎビット出力ｎ−ＲＮ＝“ＲＮ１・・・ＲＮｎ” を信号処理部５０４へ出力する（動作６０５）。なお、読み出された乱数はメモリ５０１から順次削除される。
【００３７】
以上述べたように、本発明の第３実施形態によれば、メモリ５０１から読み出された乱数列と指定値とが一致すれば、それ以降の乱数は使用されないので、乱数の消費量を抑制することができる。
【００３８】
４．一実施例
以下、本発明の一実施例によれば、光パルスの強度を変調する強度変調器に対して、上述した第１〜第３実施形態による乱数供給装置１００が乱数を供給する通信機について説明する。通信機の強度変調器が第１〜第３実施形態の信号処理部１０５，３０３、５０４に対応する。本実施例では、光パルスの強度を３レベルに変化させる場合を例示する。したがって、乱数供給装置１００は３強度レベルにそれぞれ対応する３状態の乱数出力Ｏ１およびＯ２を強度変調器へ供給する。
【００３９】
図８において、通信機の強度変調器は２電力型強度変調器７０１と駆動回路７０２とからなる。乱数供給装置１００は、物理乱数生成器７０３から乱数ＲＮを入力し、駆動回路７０２へ３状態を示す乱数Ｏ１およびＯ２を供給する。乱数供給装置１００の機能および動作は上記第１〜第３実施形態で説明した通りであるから、詳細な説明は省略する。
【００４０】
２電力型強度変調器７０１は、分岐したそれぞれの光路に位相シフタ７０１Ａおよび７０１Ｂが設けられた構成を有し、位相シフタ７０１Ａおよび７０１Ｂは駆動回路７０２からの駆動電圧に従ってそれぞれの位相シフト量が決定される。２電力型強度変調器７０１において、送信光パルスＰは２つに分岐し、それぞれの分岐パルスが位相シフタ７０１Ａおよび７０１Ｂによりそれぞれ位相シフトした後で合波する。位相シフタ７０１Ａおよび７０１Ｂによる位相シフト量を制御することで、合波パルスの強度を３段階に設定できる。図８では、位相シフタ７０１Ａの位相シフト量Φ１と位相シフタ７０１Ｂの位相シフト量Φ２とが（０，０）であれば合波パルスを「強」強度に、（θ，０）であれば「中」強度に、（０，１８０°）であれば「微弱」強度に、それぞれ設定できる。ただし、θは０＜θ＜１８０°であって、所定の「中」強度が得られる値である。
【００４１】
駆動回路７０２は、乱数供給装置１００から供給される乱数Ｏ１およびＯ２の状態Ｓ１、Ｓ２あるいはＳ３に従って、位相シフタ７０１Ａおよび７０１Ｂの各電極に印加する駆動電圧を変化させる。図８に示すように、乱数Ｏ１およびＯ２が状態Ｓ１を示す場合は合波パルスが「強」強度となるように、状態Ｓ２を示す場合は「中」強度となるように、状態Ｓ３を示す場合は「微弱」強度となるように、それぞれ位相シフト量Φ１、Φ２を変化させる。
【００４２】
本実施例では、３段階で光パルスの強度を変化させる信号処理を行うために、上述した第１および第２実施形態による乱数供給装置１００を用いて３状態を生成した。これ以外にも、２ｎ状態のうち２ｎ−１より多く２ｎより少ない状態のいずれかで動作する信号処理部であれば、第３実施形態による乱数供給装置を適用可能である。たとえば５段階で光パルスの位相あるいは強度を変化させる変調器であれば、第３実施形態においてｎ＝３の乱数供給装置１００を用いれば良い。
【００４３】
また、３値の強度変調は、２電力型強度変調器７０１だけでなく、それぞれ位相シフト量を制御可能な２台の強度変調器を直列に接続した構成により実現することもできる。さらに、２電力型強度変調器７０１として、２電極型のＭＺ（Mach-Zehnder）変調器を用いることもできる。ＭＺ変調器では、駆動電圧を制御することで光パルスに対して強度変調および位相変調の両方あるいは一方を実行することが可能である。
【００４４】
５．ＱＫＤシステム
上述した第１から第３実施形態および実施例は、量子鍵配送（ＱＫＤ）システムにおける乱数供給に利用可能である。特に、光パルスの強度を変化させるデコイ方式は、ＰＮＳ攻撃の有無を検知することが可能となり、ＱＫＤシステムの実用化に必須と考えられている。
【００４５】
デコイ方式では３値の光強度を用いるのが一般的である。「強」強度の光パルスは信号（ｓｉｇｎａｌ）光として用いられ、この光パルス列から得られた情報を量子暗号鍵として利用する。これに対して、「中」および「微弱」強度光パルスは、盗聴を検知するためのおとり（ｄｅｃｏｙ）パルスとして用いられる。デコイ方式を用いたＱＫＤシステムでは、送信されるパルスのほとんどが信号光として利用され、一部が「中」あるいは「微弱」強度のデコイパルスとして利用される。
【００４６】
以下、一例として、上記実施例をデコイ強度変調に用いた単一方向型ＱＫＤシステムについて図９〜図１１を参照しながら説明する。なお、上記実施例は単一方向型だけでなく、双方向型のＱＫＤシステムであっても同様に適用可能である。
【００４７】
図９に例示するように、単一方向型ＱＫＤシステムは、送信機（Ａｌｉｃｅ）と受信機（Ｂｏｂ）とが光ファイバで接続され、種々の量子暗号鍵配送アルゴリズムを用いてＡｌｉｃｅからＢｏｂへ量子鍵を配送することができる。
【００４８】
Ａｌｉｃｅは、レーザ光源８０１、強度変調器８０２、非対称干渉計８０３、強度位相変調器８０４、減衰器８０５、乱数供給部８０６、物理乱数生成器８０７、その他同期部や制御部（図示せず）等を有する。Ｂｏｂは、位相変調器８１１、非対称干渉計８１２、光子検出部８１３および８１４、その他同期部や制御部（図示せず。）等を有する。Ａｌｉｃｅの非対称干渉計８０３とＢｏｂの非対称干渉計８１２とは同一構成の干渉計である。
【００４９】
乱数供給部８０６は物理乱数生成器８０７から乱数を入力し、強度変調器８０２へデコイ用の乱数Ｏ１およびＯ２を出力し、強度位相変調器８０４へ基底および情報ビット用の乱数を出力する。デコイ用の乱数Ｏ１およびＯ２は３状態を表し、上述した第１〜第３実施形態あるいは上記実施例による乱数供給装置により生成されうる。上述したように、本発明の上記実施形態および実施例によれば、３状態を表す乱数Ｏ１およびＯ２は、２系統の乱数をそのまま使用する場合に比べて、物理乱数の消費を抑制することができる。
【００５０】
図９において、レーザ光源８０１から出力された光パルス列は、乱数Ｏ１およびＯ２に従った強度変調器８０２により３値の光強度（強、中、微弱）に変調される。デコイパルス列の一例を図１０に示す。デコイパルス列において、「強」強度のパルスμがシグナルに利用され、「中」強度のパルスμ’がデコイに利用される。
【００５１】
デコイパルス列の各光パルスは、非対称干渉計８０３を通ることで２つのパルスＰ１およびＰ２（ダブルパルス）に時間的に分割する。ダブルパルス列は、基底および情報ビット用の乱数に従った強度位相変調器８０４により位相変調される。たとえば、位相２値の場合には０、π、位相４値の場合には０、π／２、π、３π／２等である。
【００５２】
たとえば、「強」強度の光パルスμのダブルパルスＤＰ１に「中」強度の光パルスμ’のダブルパルスＤＰ２が続いているものとする。強度位相変調器８０４は、ダブルパルスＤＰ１における先行パルスＰ１に対して位相変調（φＡ）を行い、それに続くダブルパルスＤＰ２における先行パルスＰ１に対して位相変調（φＡ）を行う。このように位相変調されたダブルパルスＤＰ１、ＤＰ２・・・が減衰器８０５を通してＢｏｂへ送出されたとする。
【００５３】
Ｂｏｂの位相変調器８１１は、到達したダブルパルスに対して、基底用の乱数に従って、たとえば後方のパルスＰ２を位相変調（φＢ）する。したがって相前後した先行パルスはＡｌｉｃｅで位相変調（φＡ）され、後方パルスはＢｏｂで位相変調（φＢ）されている。したがって、このダブルパルスが干渉計８１２を通ることで、先行パルスと後行パルスとが干渉し、その結果が光子検出部８１３および８１４により検出される。すなわち、ダブルパルス毎に先行パルスと後方パルスとの間の位相差から情報を検出することができる。さらに、Ａｌｉｃｅの強度変調器８０２によりダブルパルス毎にランダムに強度変化しているので、ＰＮＳ攻撃を受けた場合に生じる受信光子数の統計量の変化をモニタすることでＰＮＳ攻撃を検知することができる。
【００５４】
デコイパルスについては、図１１に例示する仕様で生成することができる。一例として、パルスの強度については、シグナルに利用されるパルスμを基準とすれば、デコイパルスμ’が０．４、微弱パルス（真空）が０である。また、デコイパルス列での混合割合は、シグナルパルスμが９０％、デコイパルスμ’が６％、真空が４％というのが一般的である。
【００５５】
６．付記
上述した実施形態および実施例の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。
（付記１）
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置であって、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、
前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
（付記２）
前記制御部は、
前記第１乱数が所定値と一致する場合には当該第１乱数と任意の値とを前記信号処理部へ供給し、
前記第１乱数が前記所定値と一致しない場合には当該第１乱数と第２の乱数生成器により生成された第２乱数とを前記信号処理部へ供給する、
付記１に記載の乱数供給装置。
（付記３）
前記第２の乱数生成器により生成された第２の乱数を蓄積する記憶部を更に有し、前記制御部は、前記第１乱数が前記所定値と一致しない場合に前記記憶部から前記第２の乱数を読み出す付記１または２に記載の乱数供給装置。
（付記４）
前記第２の乱数生成器の乱数生成速度が前記第１の乱数生成器より低速である付記１−３のいずれか１項に記載の乱数供給装置。
（付記５）
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置であって、
少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、
前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する判定部と、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
（付記６）
前記信号処理部は、前記ｎビット乱数が示す論理的な２ｎ状態より少なくとも１以上小さい数の状態であって２ｎ−１より大きい数の状態により制御される付記５に記載の乱数供給装置。
（付記７）
前記判定部は前記記憶部から読み出された１ビットの第１乱数が１つの所定値と一致するか否かを判定し、
前記制御部は、前記第１乱数が前記所定値と一致する時に当該第１乱数と任意の値とを前記信号処理部へ供給し、前記第１乱数が前記所定値と一致しない時に前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記信号処理部へ供給する、
付記５または６に記載の乱数供給装置。
（付記８）
前記判定部は前記記憶部から読み出されたｍビット（ｍは０＜ｍ＜ｎの整数）の乱数列が複数のｍビット所定値と一致するか否かを判定し、
前記制御部は、前記ｍビットの乱数列が複数のｍビット所定値のいずれかと一致する時に当該ｍビットの乱数列に続くビット位置に任意の値を入れた前記ｎビット乱数を前記信号処理部へ供給し、前記ｍビットの乱数列が前記複数のｍビット所定値のいずれとも一致しない時には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
付記５または６に記載の乱数供給装置。
（付記９）
前記信号処理部は、送信信号の強度および位相の少なくとも一つに関する変調を行う変調器である付記１−８のいずれか１項に記載の乱数供給装置。
（付記１０）
付記１−９のいずれか１項に記載の乱数供給装置により供給される乱数を用いて信号処理を実行する通信機。
（付記１１）
付記１−９のいずれか１項に記載の乱数供給装置により供給される乱数に従って送信光パルスの強度変調を行う量子鍵配送（ＱＫＤ）システムにおける送信側の通信機。
（付記１２）
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給方法であって、
判定部が、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定し、
制御部が、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する、
乱数供給方法。
（付記１３）
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する方法であって、
少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積し、
判定部が、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定し、
制御部が、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合、当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、
前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合、不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
乱数供給方法。
（付記１４）
前記信号処理部は、前記ｎビット乱数が示す論理的な２ｎ状態より少なくとも１以上小さい数の状態であって２ｎ−１より大きい数の状態により制御される付記１３に記載の乱数供給方法。
（付記１５）
前記判定部が、前記記憶部から読み出された１ビットの第１乱数が１つの所定値と一致するか否かを判定し、
前記制御部が、
前記第１乱数が前記所定値と一致する時に当該第１乱数と任意の値とを前記信号処理部へ供給し、
前記第１乱数が前記所定値と一致しない時に前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記信号処理部へ供給する、
付記１３または１４に記載の乱数供給方法。
（付記１６）
前記判定部が、前記記憶部から読み出されたｍビット（ｍは０＜ｍ＜ｎの整数）の乱数列が複数のｍビット所定値と一致するか否かを判定し、
前記制御部が、
前記ｍビットの乱数列が前記複数のｍビット所定値のいずれかと一致する時に当該ｍビットの乱数列に続くビット位置に任意の値を入れた前記ｎビット乱数を前記信号処理部へ供給し、
前記ｍビットの乱数列が前記複数のｍビット所定値のいずれとも一致しない時には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
付記１３または１４に記載の乱数供給方法。
（付記１７）
前記信号処理部は、送信信号の強度および位相の少なくとも一つに関する変調を行う変調器である付記１３−１６のいずれか１項に記載の乱数供給方法。
（付記１８）
量子鍵配送（ＱＫＤ）システムにおける送信側の通信機であって、
乱数に従って光パルスの強度を変調するデコイ強度変調器と、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、
前記第１乱数が所定値と一致する場合には当該第１乱数と任意の値とを前記デコイ強度変調器へ供給し、前記第１乱数が前記所定値と一致しない場合には当該第１乱数と第２の乱数生成器により生成された第２乱数とを前記デコイ強度変調器へ供給する制御部と、
を有する通信機。
（付記１９）
量子鍵配送（ＱＫＤ）システムにおける送信側の通信機であって、
乱数に従って、光パルスの強度を変調するデコイ強度変調器と、
少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、
前記記憶部から読み出された第１乱数が前記所定値と一致するか否かを判定する判定部と、
前記第１乱数が前記所定値と一致する時には当該第１乱数と任意の値とを前記デコイ強度変調器へ供給し、前記第１乱数が前記所定値と一致しない時には前記記憶部から第２乱数を読み出し、前記第１乱数と前記第２乱数とを前記デコイ強度変調器へ供給する制御部と、
を有する通信機。
（付記２０）
乱数に従って動作する信号処理部へ乱数を供給する装置としてコンピュータを機能させるプログラムであって、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する機能と、
前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する機能と、
を前記コンピュータで実現するためのプログラム。
（付記２１）
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置としてコンピュータを機能させるプログラムであって、
少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積する機能と、
前記記憶部から読み出された少なくとも１つの乱数が複数の所定値と一致するか否かを判定する機能と、
前記少なくとも１つの乱数が前記複数の所定値のいずれかと一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記複数の所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する機能と、
を前記コンピュータで実現するためのプログラム。
【産業上の利用可能性】
【００５６】
本発明は、信号処理に乱数を提供する必要がある情報処理装置、通信装置等の乱数供給装置に利用することができる。
【符号の説明】
【００５７】
１００  乱数供給装置
１０１、１０２  乱数生成器
１０３  判定部
１０４  メモリ
１０５  信号処理部
３０１  乱数プール
３０２  判定部
３０３  信号処理部
５０１  メモリ
５０２  プロセッサ
５０３  シフトレジスタ
５０４  信号処理部
５０５  プログラムメモリ
７０１  ２電極型強度変調器
７０１Ａ、７０１Ｂ  位相シフタ
７０２  駆動回路
７０３  物理乱数生成器
８０１  レーザ光源
８０２  強度変調器（デコイ）
８０３  非対称干渉計
８０４  強度位相変調器
８０５  減衰器
８０６  乱数供給部
８０７  物理乱数生成器
８１１  位相変調器（基底）
８１２  非対称干渉計
８１３、８１４  光子検出器
【図１】
2020121451.tif 000003
【図２】
2020121451.tif 000004
【図３】
2020121451.tif 000005
【図４】
2020121451.tif 000006
【図５】
2020121451.tif 000007
【図６】
2020121451.tif 000008
【図７】
2020121451.tif 000009
【図８】
2020121451.tif 000010
【図９】
2020121451.tif 000011
【図１０】
2020121451.tif 000012
【図１１】
2020121451.tif 000013
【手続補正書】
【提出日】令和3年5月27日(2021.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置であって、
第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、
前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
【請求項２】
前記制御部は、
前記第１乱数が所定値と一致する場合には当該第１乱数と任意の値とを前記信号処理部へ供給し、
前記第１乱数が前記所定値と一致しない場合には当該第１乱数と第２の乱数生成器により生成された第２乱数とを前記信号処理部へ供給する、
請求項１に記載の乱数供給装置。
【請求項３】
前記第２の乱数生成器により生成された第２の乱数を蓄積する記憶部を更に有し、前記制御部は、前記第１乱数が前記所定値と一致しない場合に前記記憶部から前記第２の乱数を読み出す請求項１または２に記載の乱数供給装置。
【請求項４】
前記第２の乱数生成器の乱数生成速度が前記第１の乱数生成器より低速である請求項１−３のいずれか１項に記載の乱数供給装置。
【請求項５】
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置であって、
少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、
前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する判定部と、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する制御部と、
を有する乱数供給装置。
【請求項６】
前記信号処理部は、前記ｎビット乱数が示す論理的な２ｎ状態より少なくとも１以上小さい数の状態であって２ｎ−１より大きい数の状態により制御される請求項５に記載の乱数供給装置。
【請求項７】
前記信号処理部は、送信信号の強度および位相の少なくとも一つに関する変調を行う変調器である請求項１−６のいずれか１項に記載の乱数供給装置。
【請求項８】
請求項１−７のいずれか１項に記載の乱数供給装置により供給される乱数に従って送信光パルスの強度変調を行う量子鍵配送（ＱＫＤ）システムにおける送信側の通信機。
【請求項９】
２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給方法であって、
判定部が、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定し、
制御部が、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する、
乱数供給方法。
【請求項１０】
ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する方法であって、
少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積し、
判定部が、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定し、
制御部が、
前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合、当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、
前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合、不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する、
乱数供給方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の第一の態様によれば、２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給装置であって、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定する判定部と、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する制御部と、を有する。
本発明の第二の態様によれば、ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する装置であって、少なくとも一つの乱数生成器が生成した乱数を蓄積する記憶部と、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定する判定部と、前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合には当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合には不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する制御部と、を有する。
本発明の第三の態様によれば、２ビット乱数により信号処理部の動作に必要な３状態を生成する乱数供給方法であって、判定部が、第１の乱数生成器により生成された第１乱数が所定値と一致するか否かを判定し、制御部が、前記第１乱数が所定値と一致する場合には、第２の乱数生成器により生成された第２乱数を使用しないで、前記第１乱数が前記所定値と一致しない場合には前記第２乱数を使用することで、前記第１の乱数を含む前記２ビット乱数を前記信号処理部へ供給する。
本発明の第四の態様によれば、ｎビット乱数（ｎは２以上の整数）に従って動作する信号処理部へ前記ｎビット乱数を供給する方法であって、少なくとも一つの乱数生成器が生成した乱数を記憶部に蓄積し、判定部が、前記記憶部から読み出された少なくとも１つの乱数が少なくとも１つの所定値と一致するか否かを判定し、制御部が、前記少なくとも１つの乱数が前記少なくとも１つの所定値と一致する場合、当該少なくとも１つの乱数に続くビット位置に任意の値を入れた前記ｎビット数の乱数を前記信号処理部へ供給し、前記少なくとも１つの乱数が前記少なくとも１つの所定値のいずれとも一致しない場合、不一致のビット位置以降に前記記憶部から読み出された乱数を入れた前記ｎビット乱数を前記信号処理部へ供給する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
以上述べたように、本発明の第１実施形態によれば、乱数ＲＮ１が所定値であるか否かを判定し、ＲＮ１が所定値であれば、メモリ１０４に蓄積された乱数は消費されない。ＲＮ１が所定値でなければ、メモリ１０４に蓄積された乱数ＲＮ２を使用し、乱数ＲＮ１と蓄積乱数ＲＮ２とを信号処理用の乱数Ｏ１、Ｏ２として信号処理部１０５へ出力する。乱数ＲＮ１が所定値であれば乱数が消費されないので、メモリ１０４に蓄積された乱数ＲＮ２の消費量を削減することができる。したがって、乱数生成器１０１より低速の乱数生成器１０２を用いて乱数ＲＮ２を生成することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
図８において、通信機の強度変調器は２電極型強度変調器７０１と駆動回路７０２とからなる。乱数供給装置１００は、物理乱数生成器７０３から乱数ＲＮを入力し、駆動回路７０２へ３状態を示す乱数Ｏ１およびＯ２を供給する。乱数供給装置１００の機能および動作は上記第１〜第３実施形態で説明した通りであるから、詳細な説明は省略する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
２電極型強度変調器７０１は、分岐したそれぞれの光路に位相シフタ７０１Ａおよび７０１Ｂが設けられた構成を有し、位相シフタ７０１Ａおよび７０１Ｂは駆動回路７０２からの駆動電圧に従ってそれぞれの位相シフト量が決定される。２電極型強度変調器７０１において、送信光パルスＰは２つに分岐し、それぞれの分岐パルスが位相シフタ７０１Ａおよび７０１Ｂによりそれぞれ位相シフトした後で合波する。位相シフタ７０１Ａおよび７０１Ｂによる位相シフト量を制御することで、合波パルスの強度を３段階に設定できる。図８では、位相シフタ７０１Ａの位相シフト量Φ１と位相シフタ７０１Ｂの位相シフト量Φ２とが（０，０）であれば合波パルスを「強」強度に、（θ，０）であれば「中」強度に、（０，１８０°）であれば「微弱」強度に、それぞれ設定できる。ただし、θは０＜θ＜１８０°であって、所定の「中」強度が得られる値である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
また、３値の強度変調は、２電極型強度変調器７０１だけでなく、それぞれ位相シフト量を制御可能な２台の強度変調器を直列に接続した構成により実現することもできる。さらに、２電極型強度変調器７０１として、２電極型のＭＺ（Mach-Zehnder）変調器を用いることもできる。ＭＺ変調器では、駆動電圧を制御することで光パルスに対して強度変調および位相変調の両方あるいは一方を実行することが可能である。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2020121451.tif 000014
【国際調査報告】
2020121451.tif 000015
2020121451.tif 000016
2020121451.tif 000017