(57)【要約】  拡散符号生成装置（１００）は、通信に使用される拡散符号（１５）を生成する。カウンタ部（９１）である初期値演算部（１０）は、初期値（１１）をカウンタとして複数回インクリメントすることによって、初期値（１１）がインクリメントされた複数のインクリメント値を生成する。暗号部（９２）である拡散符号生成部（２０）は、秘密鍵（１３）を用いる暗号アルゴリズムでそれぞれのインクリメント値を暗号化することによって、それぞれのインクリメント値から拡散符号（１５）を生成する。
2018016015.tif 000002
【特許請求の範囲】
【請求項１】
通信に使用される拡散符号を生成する拡散符号生成装置において、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
を備える拡散符号生成装置。
【請求項２】
前記複数のインクリメント値のそれぞれの前記インクリメント値は、
前記通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する請求項１に記載の拡散符号生成装置。
【請求項３】
前記暗号部は、複数のサブ暗号部を備え、
前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他の前記サブ暗号部と同一の前記インクリメント値を暗号化することによって、同一の前記インクリメント値から拡散符号を生成する
請求項１または請求項２に記載の拡散符号生成装置。
【請求項４】
前記暗号部は、直列に接続された複数のサブ暗号部を備え、
前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
データを取得した場合に他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得した前記データを暗号化することによって前記データから拡散符号を生成し、
前記複数のサブ暗号部のうち接続順位が第１位である第１のサブ暗号部は、
前記データとして前記インクリメント値を取得し、前記インクリメント値を暗号化することによって、前記インクリメント値から前記拡散符号を生成し、
前記第１のサブ暗号部よりも接続順位が下位の前記サブ暗号部は、
前記データとして、接続順位が上位の直前の前記サブ暗号部が生成した前記拡散符号を取得し、取得した前記拡散符号を暗号化することによって、取得した前記拡散符号とは別の拡散符号を生成する請求項１または請求項２に記載の拡散符号生成装置。
【請求項５】
前記暗号部は、
前記秘密鍵の値をインクリメントし、値がインクメントされたインクリメント鍵を生成する鍵インクリメント部を備え、
前記暗号部は、
前記暗号アルゴリズムに前記インクリメント鍵を用いることにより、前記暗号アルゴリズムに前記秘密鍵を用いて暗号化されるそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する請求項１または請求項２に記載の拡散符号生成装置。
【請求項６】
前記暗号部で使用される前記暗号アルゴリズムは、
安全であることが確認されている請求項１から請求項５のいずれか１項に記載の拡散符号生成装置。
【請求項７】
通信に使用される拡散符号を生成するコンピュータである拡散符号生成装置に、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成する処理と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する処理と
を実行させるための拡散符号生成プログラム。
【請求項８】
通信に使用される拡散符号を生成する拡散符号生成装置が、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成し、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する
拡散符号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法に関する。
【背景技術】
【０００２】
近年、衛星通信や無線通信を利用した様々なサービスが提供される。それらのサービスでは、通信の接続性、秘匿性を実現するために、スペクトル拡散技術が用いられる場合が多い。スペクトル拡散方式は、大別して、直接拡散方式と周波数ホッピング方式がある。直接拡散方式は、送信データそのものよりも広い周波数にエネルギーを拡散する。周波数ホッピング方式は、周波数を一定の規則に従い高速に切り替え、送受信機間で通信を行う。【０００３】
直接拡散方式では、符号系列を使用することにより、伝送したい信号が広帯域に広がり、かつ、雑音のように見えるような特性をもつことが期待できる。この特性により、伝送したい信号の傍受が困難となり、また、ジャミング耐性が向上し、狭帯域信号に対する干渉が起こりにくくなる。よって、直接拡散符号は、他の信号との干渉を生じない、信頼できる安全な伝送を実現するために重要な役割を果たす。【０００４】
一般的に利用されている直接拡散方式では、周期性の短い拡散符号系列を用いることにより、通信の接続性を高めている。しかし、通信される系列を一定期間観測することにより、利用されている拡散符号系列が推測される可能性が高くなり、秘匿性に関し課題がある。【０００５】
妨害電波からの耐性を上げるためには秘匿性を高めることが必要である。そのため、直接拡散方式の拡散符号系列に周期の長い系列を使用すること、あるいは拡散符号系列そのものを、第三者が予測できない秘密情報を用いた秘匿性の高い符号系列を使用することが考えられる。【０００６】
拡散符号の秘匿性を高める構成は、従来技術として開示されている。特許文献１には、秘匿性を高める手段として、カオス系列を用いる方法が開示されている。
特許文献１には、衛星ナビゲーションシステムおよびＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）通信システムに適した自己相関特性および相互相関特性を有するカオス拡散符号の生成方法が提案されている。特許文献１は、従来の拡散符号と比較して、秘匿性が向上すると述べている。
しかし、カオス系列による拡散符号の秘匿性に関しては、疑似ランダム性を示す乱数性は、示されているが、一般的な暗号技術の解析技術を用いた厳密な安全性は、示されていない。また、秘匿性の高い拡散符号を用いたスペクトル拡散通信を行うためには、カオス系列の同期確立を行う必要がある。しかし、特許文献１では、同期確立を行うための有効な手段は示されていない。【０００７】
また、特許文献２〜７も、カオス系列を用いて秘匿性の向上を実現する方式が開示されているが、カオス系列の同期確立を行う有効な手段は示されていない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２０１０−５１１３３６号公報
【特許文献２】特開平９−１８６６３０号公報
【特許文献３】特開平１１−２６６１７９号公報
【特許文献４】特開２０００−２５２７５１号公報
【特許文献５】特開２００１−２９２１２９号公報
【特許文献６】特開２００２−２９０２７４号公報
【特許文献７】特開２００７−９６８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記で説明したように、拡散符号方式の秘匿性を高めるためには、拡散符号系列の周期を長くし、あるいは、拡散符号系列に第三者が予測できない秘密情報を用いることが一般的である。その一例として、従来では、カオス系列を用いる方法が提案されている。【００１０】
従来技術の通信システム、つまり、カオス系列を用いる拡散符号系列を利用する通信システムでは、秘匿性を高めること、周期を大きくすることで、符号全体をサーチすることが困難となり、同期確立が困難になる。【００１１】
効率的な同期確立のために、実データ送信のための拡散符号系列と、同期捕捉のためのパイロット系列を用いる方法も提案されている。【００１２】
一例として、拡散符号の位相に情報を載せるＣＳＫ（Ｃｏｄｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調の場合は、復調を行う際には、位相シフト量を計算するため、パイロット系列を用いて基準タイミングを獲得する必要ある。その為、カオス系列、あるいは長いレジスタサイズのフィードバックシフトレジスタを用いる秘匿性の高い拡散符号系列では、通信システムの受信側では、一定時間経過後（ｔ時間経過後）の拡散符号系列を導出するための専用演算機能と、一定時間経過後の拡散符号系列を導出する導出時間が必要となる。【００１３】
本発明は、一定時間経過後の拡散符号系列を導出するための専用演算機能と導出時間とが不要となる拡散符号生成方式を提供することを目的とする。
【課題を解決するための手段】
【００１４】
この発明の拡散符号生成装置は、
通信に使用される拡散符号を生成する拡散符号生成装置において、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の拡散符号生成装置は、初期値演算部、拡散符号生成部を備えたので、一定時間経過後の拡散符号系列を導出するための専用演算機能と、導出時間とが不要な、拡散符号生成装置を提供できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１の図で、拡散符号生成装置１００の構成を示す図。
【図２】実施の形態１の図で、拡散符号１５を説明する図。
【図３】実施の形態１の図で、拡散符号生成装置１００の動作概要を説明するフローチャート。
【図４】実施の形態１の図で、ｔ時間後の初期値を説明する図。
【図５】実施の形態１の図で、拡散符号生成部２０がＣＴＲモード部２１Ａを備える構成を示す図。
【図６】実施の形態１の図で、一般的なＣＴＲモードを示す図。
【図７】実施の形態１の図で、図５に対する比較例の拡散符号方式を示す図。
【図８】実施の形態１の図で、変形例１を示す図。
【図９】実施の形態１の図で、変形例２を示す図。
【図１０】実施の形態１の図で、変形例３を示す図。
【図１１】実施の形態１の図で、処理回路９９を示す図。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１〜図１１を用いて実施の形態１の拡散符号生成装置１００を説明する。
図１は、拡散符号生成装置１００の構成を示す図である。拡散符号生成装置１００は、コンピュータである。拡散符号生成装置１００は、プロセッサ９１０、記憶装置９２０、入力インタフェース９３０（以下、入力ＩＦ９３０）といったハードウェアを備える。記憶装置９２０は、補助記憶装置９２１とメモリ９２２を備えている。拡散符号生成装置１００は、機能構成として、カウンタ部９１である初期値演算部１０と、暗号部９２である拡散符号生成部２０と、取得部３０と、出力部４０とを備える。
【００１９】
以下の説明では、拡散符号生成装置１００における初期値演算部１０と、拡散符号生成部２０と、取得部３０と、出力部４０との機能を、拡散符号生成装置１００の「部の機能」という。拡散符号生成装置１００の「部の機能」は、ソフトウェアで実現される。
【００２０】
補助記憶装置９２１には、「部の機能」を実現するプログラム１４が記憶されている。このプログラム１４は、メモリ９２２にロードされ、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。補助記憶装置９２１には、ＯＳ（Ｏｐｅｒａｔｉｎｇ・Ｓｙｓｔｅｍ）も記憶されている。ＯＳの少なくとも一部がメモリ９２２にロードされ、プロセッサ９１０はＯＳを実行しながら、「部の機能」を実現するプログラムを実行する。
【００２１】
入力ＩＦ９３０は、データが入力されるポートである。また、入力ＩＦ９３０は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートであってもよい。入力ＩＦ９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ・Ｓｅｒｉａｌ・Ｂｕｓ）端子である。なお、入力ＩＦ９３０は、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
【００２２】
拡散符号系列について簡単に説明する。以下では拡散符号系列は、拡散符号１５と記す。
図２は、拡散符号１５を説明する図である。図２の（ａ）は、直接拡散方式によって拡散されるデータを示す。図２の（ｂ）は、拡散符号１５を示す。図２の（ｃ）は、（ａ）のデータと、（ｂ）の拡散符号１５とのＸＯＲ（ｅｘｃｌｕｓｉｖｅ  ｏｒ）である。図２に示すように、データは拡散符号１５とのＸＯＲによって、広い周波数に拡散にされる。
【００２３】
＊＊＊拡散符号生成装置１００の動作概要＊＊＊
図３を参照して拡散符号生成装置１００の動作概要を説明する。
図３は、拡散符号生成装置１００の動作概要を示すフローチャートである。
ステップＳ０１において、入力ＩＦ９３０には、入力データとして、拡散符号１５を生成する為の初期値１１、通信のスタート時間１２、秘密情報である秘密鍵１３が入力される。初期値１１等の詳しい説明は後述する。入力ＩＦ９３０に入力された初期値１１等は、プロセッサ９１０の取得部３０が補助記憶装置９２１に格納する。
【００２４】
ステップＳ０２において、取得部３０は、補助記憶装置９２１に格納されている、初期値１１、スタート時間１２、秘密鍵１３を、メモリ９２２にロードする。取得部３０は、メモリ９２２から初期値１１等を読み出し、初期値１１，スタート時間１２を初期値演算部１０に送信し、秘密鍵１３を拡散符号生成部２０に送信する。
【００２５】
ステップＳ０３において、初期値演算部１０は、受信した初期値１１から「ｔ時間後の初期値」を生成する。以下に、「ｔ時間後の初期値」を説明する。
【００２６】
初期値演算部１０は、初期値１１をカウンタとして複数回インクリメントすることによって、初期値１１がインクリメントされた複数のインクリメント値を生成する。以下では初期値１１はＣＴＲとも表記する。またインクリメント値は後述のＣＴＲ＋ｉである。初期値演算部１０は、ＣＴＲを１ｂｉｔずつインクリメントする。
仮に、ＣＴＲが全てビット０の６４ビットデータ（０，０，．．，０，０）である場合、
ＣＴＲ＋１：（０，０．．．０，１）、
ＣＴＲ＋２：（０，０．．．１，０）、
ＣＴＲ＋３：（０，０．．．１，１）、
・・・
ＣＴＲ＋（２６４−１）：（１，１．．．１，１）、
ＣＴＲ＋２６４：（０，０．．．０，０）、
である。
よって、ＣＴＲがｎｂｉｔのある値である場合、
ＣＴＲ＋２ｎはＣＴＲに戻る。
ＣＴＲ＋１からＣＴＲ＋２ｎは、ＣＴＲ＋ｉ（ｉ＝１，２，３．．．２ｎ）
と記す場合がある。
【００２７】
図４は、「ｔ時間後の初期値」を説明する図である。図４は説明のため、単純な数値が使用されている。横軸は時間である。スタート時間１２は、通信の開始時刻を示す。通信が行われる時間帯は１秒とする。拡散符号生成装置１００が使用される通信システムでは、時間△ｔが設定されている。図４の場合、△ｔ＝１００μ秒である。
通信の時間帯が１秒であれば、△ｔは１０４個ある。時間△ｔは、通信の時間帯である１秒の部分時間帯である。部分時間帯とは通信の時間帯が分割された時間帯である。
△ｔのそれぞれには「初期値」が必要である。
一番目の△ｔはＣＴＲ＋１、
二番目の△ｔはＣＴＲ＋２、
・・・
１０４−１番目はＣＴＲ＋（１０４−１）、
１０４番目はＣＴＲ＋１０４、
が「ｔ時間後の初期値」となる。
具体的には、
ＣＴＲ＋１は、スタート時間１２からゼロμ秒後の初期値であり、
ＣＴＲ＋２は、スタート時間１２から１００μ秒後の初期値であり、
ＣＴＲ＋（１０４−１）は、「１秒−２００μ秒」後の初期値であり、
ＣＴＲ＋１０４は、「１秒−１００μ秒」後の初期値である。
後述のように、拡散符号生成部２０は、それぞれのｔ時間後の初期値（ＣＴＲ＋ｉ）から、拡散符号１５を生成可能である。
【００２８】
図４のように、複数のインクリメント値のそれぞれのインクリメント値（ＣＴＲ＋ｉ）は、通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する。
【００２９】
図３のステップＳ０４において、拡散符号生成部２０は、初期値演算部１０から、ｔ時間後の初期値であるＣＴＲ＋ｉを受信し、ＣＴＲ＋ｉを用いて拡散符号１５を生成する。
【００３０】
拡散符号生成部２０が、ｎｂｉｔブロック暗号アルゴリズムのＣＴＲモード（Ｃｏｕｎｔｅｒ  Ｍｏｄｅ）を使用する場合を説明する。
図５は、拡散符号生成部２０が、ｎｂｉｔブロック暗号アルゴリズムのＣＴＲモードを使用するＣＴＲモード部２１Ａを備える構成を示す。
図６は、一般的なＣＴＲモードを示す。本実施の形態のＣＴＲモードは、図６の破線の枠６で示す部分が該当する。つまりＣＴＲモード部２１Ａ、後述するＣＴＲモード部２１Ｂ−ｊ、ＣＴＲモード部２１Ｃ−ｊ、ＣＴＲモード部２１Ｄは、枠６の暗号化処理ＥＫを実施する。暗号化データＥＫ（ＣＴＲ＋ｉ）は拡散符号１５に相当し、平文ブロックＭｉは拡散されるデータに相当する。
【００３１】
ブロック暗号のＣＴＲモードでは、ブロック暗号アルゴリズムの入力に、カウンタ（ＣＴＲ）として初期値が入力され、秘密鍵に秘密情報が入力される事で、ｎｂｉｔのランダムデータ列が生成可能である。そして、ＣＴＲを１ｂｉｔインクリメントしたＣＴＲ＋１がブロック暗号アルゴリズムに入力されることによって、次の異なるｎｂｉｔのランダムデータを生成できる。
【００３２】
利用するブロック暗号アルゴリズムが、安全であることが確認されている場合、ｎｂｉｔブロック暗号の場合は、２ｎ回のインクリメント分のｎｂｉｔランダムデータを生成する事が可能である。図５に示すように、初期値１１であるＣＴＲはｎｂｉｔとする。初期値演算部１０は、ＣＴＲをインクリメントすることで、ＣＴＲ＋ｉ（ｉ＝１，２．．．２ｎ）を生成し、ＣＴＲモード部２１Ａに送信する。ＣＴＲモード部２１Ａは、ＣＴＲ＋ｉを入力データとして、ブロック暗号アルゴリズムによって、ｎｂｉｔのランダムデータを生成する。図５ではｎｂｉｔの拡散符号１５を＜ＳＣｎ＞と表している。また「ＣＴＲ＋１」から＜ＳＣｎ＞への矢印は＜ＳＣｎ＞がＣＴＲ＋１から生成されたことを示す。「ＣＴＲ＋２ｎも同様である。ＣＴＲモード部２１Ａは、ＣＴＲ＋１から１番目の＜ＳＣｎ＞を生成し、以下同様に、ＣＴＲ＋２からＣＴＲ＋２ｎに対応する＜ＳＣｎ＞を生成可能である。従って、「ｎｂｉｔ×２ｎ」個のランダムデータを拡散符号１５として利用可能である。
【００３３】
一般的なブロック暗号アルゴリズムとしては、現在、ブロックサイズが６４ｂｉｔ、１２８ｂｉｔのアルゴリズムが利用されている。これらを用いたＣＴＲモードでは、６４ｂｉｔ×２６４＝２７０、または、１２８ｂｉｔ×２１２８＝２１３５の周期をもつ秘匿性の高い拡散符号１５を生成可能である。
【００３４】
このように、暗号部９２である拡散符号生成部２０において、ＣＴＲモード部２１Ａが、秘密鍵を用いる暗号アルゴリズムでそれぞれのインクリメント値を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。
【００３５】
次に、図３のステップＳ０５において、出力部４０は、拡散符号生成部２０で生成された拡散符号１５を取得し、通信システムで直接拡散を実施するための拡散符号１５として出力する。
【００３６】
図５では、拡散符号生成部２０の具体的な構成例を示したが、拡散符号の周期（ｂｉｔ数）は、拡散符号生成部２０のＣＴＲモード部２１Ａに採用するブロック暗号アルゴリズムのブロックサイズにより決定される。つまり、一つのＣＴＲ＋ｉから得られる拡散符号１５のｂｉｔ数は、ＣＴＲモード部２１Ａに採用されるブロック暗号アルゴリズムのブロックサイズで決まる。
【００３７】
図７は、図５に対する比較例の拡散符号方式を示す図である。図７の拡散符号方式では、「ｔ時間後の初期値」を生成するためには、「ｔ時間後の初期値」を生成するための専用演算機能が必要である。この専用演算機能は専用の導出ロジックを用いるため、「ｔ時間後の初期値」の生成には、かなりの導出時間を費やす必要が有った。
それに対して、本実施の形態では、「ｔ時間後の初期値」を導出するには、初期値演算部１０によって、ＣＴＲのインクリメントを実施するだけでよいので、専用演算機能が不要である。さらに、同期を捕捉する為の同期捕捉機能及び同期捕捉のためのパイロット系列が不要である。本実施の形態では、通信の同期をとるためには受信装置が通信の開始時刻を知ることができればよい。そのため、送信装置は受信装置に通信の開始時刻を示す通信開始情報を伝えればよい。スタート時間１２は通信開始情報の例である。
以上のように、図５の拡散符号生成装置１００は、図７の比較例の拡散符号方式で必要とされる、以下の（ａ）（ｂ）（ｃ）を必要としない。
（ａ）「ｔ時間後の初期値」を演算するための専用演算機能、
（ｂ）同期捕捉機能、
（ｃ）パイロット符号系列
拡散符号生成装置１００は、（ａ）（ｂ）（ｃ）を備えていなくても、システム全体の安全性を担保できる。
【００３８】
次に、以下では図５のＣＴＲモード部２１Ａの変形例を示す。以下に示す変形例１から変形例３は、拡散符号１５の周期をさらに長くしたい場合（拡散符号１５のｂｉｔ数を多くしたい場合）の、拡散符号生成部２０の構成である。
【００３９】
＜変形例１＞
図８は、変形例１の拡散符号生成部２０Ｂの構成を示す図である。初期値演算部１０の構成は、図５と同じである。
【００４０】
拡散符号生成部２０Ｂは、ｍｂｉｔブロック暗号アルゴリズムを複数（Ｊ個）持つ。Ｊ個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵Ｋ１〜ＫＪを使用する。つまり、拡散符号生成部２０Ｂの場合、ｍｂｉｔブロック暗号アルゴリズムの処理を行う、Ｊ個のＣＴＲモード部２１Ｂ−ｊ（ｊ＝１，２，．．，Ｊ）を備えている。ＣＴＲモード部２１Ｂ−ｊは、秘密鍵Ｋｊを使用する。なお、秘密鍵Ｋｊは取得部３０がメモリ９２２から読み出す。
【００４１】
ＣＴＲモード部２１Ｂ−ｊは、初期値演算部１０により送信されたＣＴＲ＋ｉ（ｉ＝１，２，．．）を入力データとして、ｍｂｉｔブロック暗号アルゴリズムを秘密鍵Ｋｊで実施する。つまり、一つのＣＴＲ＋ｉごとに、Ｊ個のＣＴＲモード部２１Ｂ−ｊが演算を実施する。
【００４２】
図８ではｍｂｉｔの拡散符号１５を＜ＳＣｍ＞と表している。図８に示すように、ＣＴＲ＋１に対して、ＣＴＲモード部２１Ｂ−１からＣＴＲモード部２１Ｂ−Ｊは、それぞれｍｂｉｔの拡散符号１５である＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを生成する。ＣＴＲ＋１から＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを囲む枠への矢印は、＜ＳＣｍ＞１〜＜ＳＣｍ＞ＪがＣＴＲ＋１から生成されたことを示す。ＣＴＲ＋２ｍも同様である。その結果、連接部２３が、＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを連接する事により、ｍｂｉｔ×Ｊ個が連接された拡散符号１５を生成する事が可能となる。
次に、ＣＴＲ＋１が１ｂｉｔインクリメントされたＣＴＲ＋２に対して、ＣＴＲモード部２１Ｂ−１からＣＴＲモード部２１Ｂ−Ｊは、次の異なる、＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを生成する。
【００４３】
ＣＴＲモード部２１Ｂ−ｊが利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図８に示すように、ｍｂｉｔブロック暗号の場合は、２ｍ回のインクリメント分の、＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊの拡散符号１５を生成できる。
【００４４】
図８の変形例１は、ブロック暗号アルゴリズムを並列に使用する場合である。変形例１はＪ個のブロック暗号アルゴリズムを並列処理できるため、処理性能として有利である。
【００４５】
ＣＴＲモード部２１Ｂ−１〜ＣＴＲモード部２１Ｂ−Ｊは、いずれも、サブ暗号部である。以上の説明のように、ＣＴＲモード部２１Ｂ−１〜ＣＴＲモード部２１Ｂ−Ｊのそれぞれは、他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他のサブ暗号部と同一のインクリメント値を暗号化することによって、同一のインクリメント値から拡散符号を生成する。
【００４６】
＜変形例２＞
図９を参照して変形例２を説明する。
図９は、変形例２の拡散符号生成部２０Ｃの構成を示す図である。初期値演算部１０の構成は、図５と同じである。
【００４７】
拡散符号生成部２０Ｃは、ｍｂｉｔブロック暗号アルゴリズムを複数（Ｊ個）持つ。Ｊ個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵Ｋ１〜ＫＪを使用する。つまり、拡散符号生成部２０Ｃは、ｍｂｉｔブロック暗号アルゴリズムの処理を行う、Ｊ個のＣＴＲモード部２１Ｃ−ｊ（ｊ＝１，２，．．，Ｊ）を備えている。ＣＴＲモード部２１Ｃ−ｊは、秘密鍵Ｋｊを使用する。なお、秘密鍵Ｋｊは取得部３０がメモリ９２２から読み出す。
【００４８】
まず、ＣＴＲモード部２１Ｃ−１が、初期値演算部１０により送信されたＣＴＲ＋１を入力データとして、秘密鍵Ｋ１を用いて、ｍｂｉｔブロック暗号アルゴリズムの演算を実施する。
【００４９】
次に、ＣＴＲモード部２１Ｃ−１の演算結果が、ＣＴＲモード部２１Ｃ−２に入力される。ＣＴＲモード部２１Ｃ−２は、秘密鍵Ｋ２を用いて、ｍｂｉｔブロック暗号アルゴリズムの演算を実施する。同様にして、ＣＴＲモード部２１Ｃ−ｊ（ｊ＝３，．．，Ｊ）には、前段のＣＴＲモード部２１Ｃ−（ｊ−１）の演算結果が入力され、ＣＴＲモード部２１Ｃ−ｊは、秘密鍵Ｋｊを用いて、ｍｂｉｔブロック暗号アルゴリズムの演算を実施する。
【００５０】
その結果、図９に示すように、ＣＴＲ＋１に対して、ＣＴＲモード部２１Ｃ−１からＣＴＲモード部２１Ｃ−Ｊは、それぞれｍｂｉｔの拡散符号１５である＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを生成する。ＣＴＲ＋１から＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを囲む枠への矢印は、＜ＳＣｍ＞１〜＜ＳＣｍ＞ＪがＣＴＲ＋１から生成されたことを示す。ＣＴＲ＋２ｍも同様である。連接部２３が＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを連接する事により、ｍｂｉｔ×Ｊ個が連接された拡散符号１５を生成する事が可能となる。ＣＴＲ＋２以降も同様である。
【００５１】
変形例１と同様に、ＣＴＲモード部２１Ｃ−ｊの利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図９に示すように、ｍｂｉｔブロック暗号の場合は、２ｍ回のインクリメント分の、＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊの拡散符号１５を生成できる。つまり、＜ＳＣｍ＞１〜＜ＳＣｍ＞Ｊを２ｍ個生成できる。
【００５２】
ＣＴＲモード部２１Ｃ−１〜ＣＴＲモード部２１Ｃ−Ｊは、いずれも、サブ暗号部である。以上の説明のように、ＣＴＲモード部２１Ｃ−１〜ＣＴＲモード部２１Ｃ−Ｊのそれぞれは、データを取得した場合に他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得したデータを暗号化することによってそのデータから拡散符号を生成する。ＣＴＲモード部２１Ｃ−１は、複数のサブ暗号部のうち接続順位が第１位である第１のサブ暗号部９３である。第１のサブ暗号部９３であるＣＴＲモード部２１Ｃ−１は、データとしてインクリメント値を取得し、インクリメント値を暗号化することによって、インクリメント値から拡散符号１５を生成する。第１のサブ暗号部９３よりも接続順位が後のサブ暗号部（ＣＴＲモード部２１Ｃ−２，２１Ｃ−３．．．２１Ｃ−Ｊ）は、データとして、接続順位が上位の直前のサブ暗号部が生成した拡散符号を取得し、取得した拡散符号を暗号化することによって、取得した拡散符号とは別の拡散符号を生成する。
【００５３】
変形例２は、ブロック暗号アルゴリズムを直列的に使用する場合である。変形例２は、Ｊ個のブロック暗号アルゴリズムの並列処理は出来ない。しかし、各ブロック暗号アルゴリズムに入力されるデータは、前のブロック暗号アルゴリズムの演算結果に影響される。よって変形例２は、安全性に有利な構成である。
【００５４】
なお変形例２では、ＣＴＲモード部２１Ｃ−１〜ＣＴＲモード部２１Ｃ−Ｊのそれぞれは、異なる秘密鍵を使用しているが、同じ秘密鍵を用いても構わない。つまり、それぞれのＣＴＲモード部２１Ｃ−ｊは異なる秘密鍵を使用することが最も好ましいが、ＣＴＲモード部２１Ｃ−ｊの中に同じ秘密鍵を使用するＣＴＲモード部２１Ｃが存在しても構わない。
【００５５】
＜変形例３＞
図１０を参照して変形例３を説明する。
図１０は、変形例３の拡散符号生成部２０Ｄの構成を示す図である。初期値演算部１０の構成は、図５と同じである。
【００５６】
拡散符号生成部２０は、ＣＴＲモード部２１Ｄ、鍵インクリメント部２２Ｄを備えている。ＣＴＲモード部２１Ｄは、ＣＴＲモード部２１Ａと同じ機能である。鍵インクリメント部２２Ｄは、秘密鍵Ｋの値を１ｂｉｔずつインクリメントし、値がインクメントされたインクリメント鍵Ｋｊ（ｊ＝１，２，．．，Ｊ−１）を生成する。
【００５７】
拡散符号生成部２０Ｄは秘密情報として秘密鍵Ｋを入力する。ＣＴＲモード部２１Ｄは、秘密鍵Ｋを用いて、ｍｂｉｔブロック暗号アルゴリズムの演算を行う。図１０に示すように、図５のＣＴＲモード部２１Ａと同様に、ＣＴＲモード部２１Ｄは、秘密鍵Ｋを用いて、ＣＴＲ＋１〜ＣＴＲ＋２ｍから、ｍｂｉｔの拡散符号１５である、２ｍ個の＜ＳＣｍ＞を生成する。ＣＴＲ＋１から＜ＳＣｍ＞１への矢印は、＜ＳＣｍ＞１がＣＴＲ＋１から生成されたことを示す。ＣＴＲ＋２ｍも同様である。
【００５８】
秘密鍵Ｋで２ｍ個の拡散符号１５が生成された後、さらに拡散符号１５が必要な場合は、鍵インクリメント部２２Ｄが秘密鍵Ｋを１ｂｉｔインクリメントして、秘密鍵Ｋ＋１を生成する。初期値演算部１０は、再び、ＣＴＲモード部２１Ｄに、ＣＴＲ＋１〜ＣＴＲ＋２ｍを入力する。ＣＴＲモード部２１Ｄは、秘密鍵Ｋを用いた場合と同様に、秘密鍵Ｋ＋１を用いて、ＣＴＲ＋１〜ＣＴＲ＋２ｍから、ｍｂｉｔの拡散符号１５である、２ｍ個の＜ＳＣｍ＞を生成する。
【００５９】
このように、鍵インクリメント部２２Ｄが秘密鍵ＫをＪ−１回インクリメントし、ＣＴＲモード部２１Ｄが、秘密鍵Ｋ＋ｊ（ｊ＝１，２，．．，Ｊ−１）を用いて、ＣＴＲ＋１〜ＣＴＲ＋２ｍから、２ｍ個の＜ＳＣｍ＞を生成することが可能である。この場合、図１０に示すように、秘密鍵ごとに、２ｍ個の＜ＳＣｍ＞を生成できる。よって、２ｍ個の＜ＳＣｍ＞が、Ｊ個生成できる。
【００６０】
変形例３は、ブロック暗号アルゴリズムをＣＴＲが周期を全て利用した時、秘密鍵Ｋの値がカウントアップされる場合である。変形例３は、ブロック暗号アルゴリズムを複数持つ必要が無く、かつ、秘密情報のデータサイズもブロック暗号アルゴリズムの秘密鍵サイズで実現可能である。このため、変形例３は、実装サイズとして有利な構成である。
【００６１】
以上のように、ＣＴＲモード部２１Ｄは、暗号アルゴリズムに秘密鍵Ｋ＋１等のインクリメント鍵を用いることにより、暗号アルゴリズムに秘密鍵Ｋを用いて暗号化されるそれぞれのインクリメント値（ＣＴＲ＋ｉ）を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。
【００６２】
以上に説明した図５及び変形例１〜３で説明した、ＣＴＲモード部２１Ａ、ＣＴＲモード部２１Ｂ−１〜２１Ｂ−Ｊ、ＣＴＲモード部２１Ｃ−１〜２１Ｃ−Ｊ、ＣＴＲモード部２１ＤのそれぞれのＣＴＲモード部で使用される暗号アルゴリズムは、安全であることが確認されている。
【００６３】
＊＊＊実施の形態１の効果＊＊＊
（１）拡散符号生成装置１００は、カウンタ部９１である初期値演算部１０を備えている。初期値演算部１０は，ｔ時間後の初期値であるＣＴＲ＋ｉを導出するために、ＣＴＲをインクリメントする。つまり、ＣＴＲのインクリメントで、ｔ時間後の初期値を演算する。よって、多くの処理を必要とする「ｔ時間後の初期値を演算する専用演算機能」が不要となり、「ｔ時間後の初期値」の演算に要する時間が不要な程度に、この時間が短くなる。
（２）また、送信元の装置は、送信先の装置に、１０分後のようなスタート開始時間、あるいは１３時１４分１５秒のようなスタート開始時刻等の通信開始情報を伝えることで、通信の同期をとることができる。このように簡単な処理で同期をとることができる。
（３）拡散符号生成装置１００は初期値演算部１０、拡散符号生成部２０を備えているので、パイロット符号系列は不要である。
（４）初期値演算部１０、拡散符号生成部２０によって周期の長い拡散符号１５を生成することができること、及び、安全であることが確認されている暗号アルゴリズムを使用できることにより、安全で秘匿性の高い拡散符号が生成できる。
【００６４】
＊＊＊他の構成＊＊＊
図１１は、処理回路９９を示す図である。本実施の形態では拡散符号生成装置１００の「部の機能」はソフトウェアで実現されるが、変形例として、拡散符号生成装置１００「部の機能」がハードウェアで実現されてもよい。つまり、処理回路９９によって、前述したプロセッサ９１０として示す拡散符号生成装置１００の「部の機能」及び記憶装置９２０の機能が実現される。処理回路９９は信号線９９ａに接続している。
処理回路９９は、拡散符号生成装置１００の「部の機能」及び記憶装置９２０の機能を実現する専用の電子回路である。処理回路９９は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ・Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ・Ｓｐｅｃｉｆｉｃ・Ｉｎｔｅｇｒａｔｅｄ・Ｃｉｒｃｕｉｔ）、又は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ・Ｇａｔｅ・Ａｒｒａｙ）である。
【００６５】
拡散符号生成装置１００は、処理回路９９を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として、拡散符号生成装置１００の「部の機能」が実現される。それぞれの処理回路は、処理回路９９と同じように、専用の電子回路である。
【００６６】
別の変形例として、拡散符号生成装置１００の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、拡散符号生成装置１００の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【００６７】
プロセッサ９１０、記憶装置９２０及び処理回路９９を、総称して「プロセッシングサーキットリ」という。つまり、拡散符号生成装置１００の「部の機能」及び記憶装置９２０は、プロセッシングサーキットリにより実現される。
【００６８】
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。つまり、拡散符号生成装置１００の動作は拡散符号生成プログラム、拡散符号生成方法として把握できる。また、「部の機能」は、拡散符号生成プログラムを格納する記録媒体及びプログラムプロダクトとして実現することもできる。
【００６９】
なお、以上の実施の形態１では、ＣＴＲがｎｂｉｔの場合、２ｎ回のインクリメントから得られた、ＣＴＲ＋１〜ＣＴＲ＋２ｎの２ｎ個のインクリメント値から拡散符号を生成している。この場合、ＣＴＲ＋２ｎはＣＴＲの値に戻る。
上記の場合以外に、ＣＴＲ＋２ｎはではなく、インクリメントしないＣＴＲ（初期値）を用いてもよい。この場合、
ＣＴＲ，ＣＴＲ＋１，ＣＴＲ＋２．．．ＣＴＲ＋（２ｎ−１）となるので、インクリメント回数は「２ｎ−１」（回）である。
以上の内容はＣＴＲがｍビットの場合も同様である。
【００７０】
以上、本発明の実施の形態１について説明したが、実施の形態１で説明した内容を、部分的に実施してもよいし、あるいは組み合わせて実施しても構わない。なお、本発明は、実施の形態１に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００７１】
７  専用演算機能、８  拡散符号生成機能、９  同期捕捉機能、１０  初期値演算部、１１  初期値、１２  スタート時間、１３  秘密鍵、１４  プログラム、１５  拡散符号、２０，２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ  拡散符号生成部、２１Ａ，２１Ｂ−１，２１Ｂ−２，２１Ｂ−Ｊ，２１Ｃ−１，２１Ｃ−２，２１Ｃ−Ｊ，２１Ｄ  ＣＴＲモード部、２２Ｄ  鍵インクリメント部、２３  連接部、３０  取得部、４０  出力部、９１  カウンタ部、９２  暗号部、９３  第１のサブ暗号部、９９  処理回路、９９ａ  信号線、１００  拡散符号生成装置、９１０  プロセッサ、９２０  記憶装置、９２１  補助記憶装置、９２２  メモリ、９３０  入力ＩＦ。
【図１】
2018016015.tif 000003
【図２】
2018016015.tif 000004
【図３】
2018016015.tif 000005
【図４】
2018016015.tif 000006
【図５】
2018016015.tif 000007
【図６】
2018016015.tif 000008
【図７】
2018016015.tif 000009
【図８】
2018016015.tif 000010
【図９】
2018016015.tif 000011
【図１０】
2018016015.tif 000012
【図１１】
2018016015.tif 000013
【手続補正書】
【提出日】平成28年11月25日(2016.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値からスペクトル拡散における拡散符号方式による通信に使用される拡散符号を生成する暗号部と
を備え、
前記複数のインクリメント値のそれぞれの前記インクリメント値は、
前記スペクトル拡散における拡散符号方式による通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する拡散符号生成装置。
【請求項２】
前記カウンタ部は、
前記スペクトル拡散における拡散符号方式による通信の開始時刻を示す通信開始情報に基づき、前記初期値のインクリメントを開始する請求項１に記載の拡散符号生成装置。
【請求項３】
前記暗号部は、複数のサブ暗号部を備え、
前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他の前記サブ暗号部と同一の前記インクリメント値を暗号化することによって、同一の前記インクリメント値から拡散符号を生成する
請求項１または請求項２に記載の拡散符号生成装置。
【請求項４】
前記暗号部は、直列に接続された複数のサブ暗号部を備え、
前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
データを取得した場合に他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得した前記データを暗号化することによって前記データから拡散符号を生成し、
前記複数のサブ暗号部のうち接続順位が第１位である第１のサブ暗号部は、
前記データとして前記インクリメント値を取得し、前記インクリメント値を暗号化することによって、前記インクリメント値から前記拡散符号を生成し、
前記第１のサブ暗号部よりも接続順位が下位の前記サブ暗号部は、
前記データとして、接続順位が上位の直前の前記サブ暗号部が生成した前記拡散符号を取得し、取得した前記拡散符号を暗号化することによって、取得した前記拡散符号とは別の拡散符号を生成する請求項１または請求項２に記載の拡散符号生成装置。
【請求項５】
前記暗号部は、
前記秘密鍵の値をインクリメントし、値がインクメントされたインクリメント鍵を生成する鍵インクリメント部を備え、
前記暗号部は、
前記暗号アルゴリズムに前記インクリメント鍵を用いることにより、前記暗号アルゴリズムに前記秘密鍵を用いて暗号化されるそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する請求項１または請求項２に記載の拡散符号生成装置。
【請求項６】
前記暗号部で使用される前記暗号アルゴリズムは、
安全であることが確認されている請求項１から請求項５のいずれか１項に記載の拡散符号生成装置。
【請求項７】
コンピュータである拡散符号生成装置に、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成する処理と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値からスペクトル拡散における拡散符号方式による通信に使用される拡散符号を生成する処理と
を実行させると共に、
前記複数のインクリメント値のそれぞれの前記インクリメント値は、
前記スペクトル拡散における拡散符号方式による通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する拡散符号生成プログラム。
【請求項８】
通信に使用される拡散符号を生成する拡散符号生成装置が、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成し、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値からスペクトル拡散における拡散符号方式による通信に使用される拡散符号を生成すると共に、
前記複数のインクリメント値のそれぞれの前記インクリメント値は、
前記スペクトル拡散における拡散符号方式による通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する拡散符号生成方法。
【国際調査報告】
2018016015.tif 000014
2018016015.tif 000015
2018016015.tif 000016
2018016015.tif 000017