JPWO2018016015A1 - 拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法 - Google Patents

拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法 Download PDF

Info

Publication number
JPWO2018016015A1
JPWO2018016015A1 JP2016569864A JP2016569864A JPWO2018016015A1 JP WO2018016015 A1 JPWO2018016015 A1 JP WO2018016015A1 JP 2016569864 A JP2016569864 A JP 2016569864A JP 2016569864 A JP2016569864 A JP 2016569864A JP WO2018016015 A1 JPWO2018016015 A1 JP WO2018016015A1
Authority
JP
Japan
Prior art keywords
spreading code
ctr
unit
increment
code generation
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.)
Pending
Application number
JP2016569864A
Other languages
English (en)
Inventor
亨 反町
亨 反町
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018016015A1 publication Critical patent/JPWO2018016015A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

拡散符号生成装置(100)は、通信に使用される拡散符号(15)を生成する。カウンタ部(91)である初期値演算部(10)は、初期値(11)をカウンタとして複数回インクリメントすることによって、初期値(11)がインクリメントされた複数のインクリメント値を生成する。暗号部(92)である拡散符号生成部(20)は、秘密鍵(13)を用いる暗号アルゴリズムでそれぞれのインクリメント値を暗号化することによって、それぞれのインクリメント値から拡散符号(15)を生成する。

Description

本発明は、拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法に関する。
近年、衛星通信や無線通信を利用した様々なサービスが提供される。それらのサービスでは、通信の接続性、秘匿性を実現するために、スペクトル拡散技術が用いられる場合が多い。スペクトル拡散方式は、大別して、直接拡散方式と周波数ホッピング方式がある。直接拡散方式は、送信データそのものよりも広い周波数にエネルギーを拡散する。周波数ホッピング方式は、周波数を一定の規則に従い高速に切り替え、送受信機間で通信を行う。
直接拡散方式では、符号系列を使用することにより、伝送したい信号が広帯域に広がり、かつ、雑音のように見えるような特性をもつことが期待できる。この特性により、伝送したい信号の傍受が困難となり、また、ジャミング耐性が向上し、狭帯域信号に対する干渉が起こりにくくなる。よって、直接拡散符号は、他の信号との干渉を生じない、信頼できる安全な伝送を実現するために重要な役割を果たす。
一般的に利用されている直接拡散方式では、周期性の短い拡散符号系列を用いることにより、通信の接続性を高めている。しかし、通信される系列を一定期間観測することにより、利用されている拡散符号系列が推測される可能性が高くなり、秘匿性に関し課題がある。
妨害電波からの耐性を上げるためには秘匿性を高めることが必要である。そのため、直接拡散方式の拡散符号系列に周期の長い系列を使用すること、あるいは拡散符号系列そのものを、第三者が予測できない秘密情報を用いた秘匿性の高い符号系列を使用することが考えられる。
拡散符号の秘匿性を高める構成は、従来技術として開示されている。特許文献1には、秘匿性を高める手段として、カオス系列を用いる方法が開示されている。
特許文献1には、衛星ナビゲーションシステムおよびCDMA(Code Division Multiple Access)通信システムに適した自己相関特性および相互相関特性を有するカオス拡散符号の生成方法が提案されている。特許文献1は、従来の拡散符号と比較して、秘匿性が向上すると述べている。
しかし、カオス系列による拡散符号の秘匿性に関しては、疑似ランダム性を示す乱数性は、示されているが、一般的な暗号技術の解析技術を用いた厳密な安全性は、示されていない。また、秘匿性の高い拡散符号を用いたスペクトル拡散通信を行うためには、カオス系列の同期確立を行う必要がある。しかし、特許文献1では、同期確立を行うための有効な手段は示されていない。
また、特許文献2〜7も、カオス系列を用いて秘匿性の向上を実現する方式が開示されているが、カオス系列の同期確立を行う有効な手段は示されていない。
特表2010−511336号公報 特開平9−186630号公報 特開平11−266179号公報 特開2000−252751号公報 特開2001−292129号公報 特開2002−290274号公報 特開2007−96815号公報
上記で説明したように、拡散符号方式の秘匿性を高めるためには、拡散符号系列の周期を長くし、あるいは、拡散符号系列に第三者が予測できない秘密情報を用いることが一般的である。その一例として、従来では、カオス系列を用いる方法が提案されている。
従来技術の通信システム、つまり、カオス系列を用いる拡散符号系列を利用する通信システムでは、秘匿性を高めること、周期を大きくすることで、符号全体をサーチすることが困難となり、同期確立が困難になる。
効率的な同期確立のために、実データ送信のための拡散符号系列と、同期捕捉のためのパイロット系列を用いる方法も提案されている。
一例として、拡散符号の位相に情報を載せるCSK(Code Shift Keying)変調の場合は、復調を行う際には、位相シフト量を計算するため、パイロット系列を用いて基準タイミングを獲得する必要ある。その為、カオス系列、あるいは長いレジスタサイズのフィードバックシフトレジスタを用いる秘匿性の高い拡散符号系列では、通信システムの受信側では、一定時間経過後(t時間経過後)の拡散符号系列を導出するための専用演算機能と、一定時間経過後の拡散符号系列を導出する導出時間が必要となる。
本発明は、一定時間経過後の拡散符号系列を導出するための専用演算機能と導出時間とが不要となる拡散符号生成方式を提供することを目的とする。
この発明の拡散符号生成装置は、
通信に使用される拡散符号を生成する拡散符号生成装置において、
初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
を備えることを特徴とする。
本発明の拡散符号生成装置は、初期値演算部、拡散符号生成部を備えたので、一定時間経過後の拡散符号系列を導出するための専用演算機能と、導出時間とが不要な、拡散符号生成装置を提供できる。
実施の形態1の図で、拡散符号生成装置100の構成を示す図。 実施の形態1の図で、拡散符号15を説明する図。 実施の形態1の図で、拡散符号生成装置100の動作概要を説明するフローチャート。 実施の形態1の図で、t時間後の初期値を説明する図。 実施の形態1の図で、拡散符号生成部20がCTRモード部21Aを備える構成を示す図。 実施の形態1の図で、一般的なCTRモードを示す図。 実施の形態1の図で、図5に対する比較例の拡散符号方式を示す図。 実施の形態1の図で、変形例1を示す図。 実施の形態1の図で、変形例2を示す図。 実施の形態1の図で、変形例3を示す図。 実施の形態1の図で、処理回路99を示す図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1〜図11を用いて実施の形態1の拡散符号生成装置100を説明する。
図1は、拡散符号生成装置100の構成を示す図である。拡散符号生成装置100は、コンピュータである。拡散符号生成装置100は、プロセッサ910、記憶装置920、入力インタフェース930(以下、入力IF930)といったハードウェアを備える。記憶装置920は、補助記憶装置921とメモリ922を備えている。拡散符号生成装置100は、機能構成として、カウンタ部91である初期値演算部10と、暗号部92である拡散符号生成部20と、取得部30と、出力部40とを備える。
以下の説明では、拡散符号生成装置100における初期値演算部10と、拡散符号生成部20と、取得部30と、出力部40との機能を、拡散符号生成装置100の「部の機能」という。拡散符号生成装置100の「部の機能」は、ソフトウェアで実現される。
補助記憶装置921には、「部の機能」を実現するプログラム14が記憶されている。このプログラム14は、メモリ922にロードされ、プロセッサ910に読み込まれ、プロセッサ910によって実行される。補助記憶装置921には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリ922にロードされ、プロセッサ910はOSを実行しながら、「部の機能」を実現するプログラムを実行する。
入力IF930は、データが入力されるポートである。また、入力IF930は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートであってもよい。入力IF930は、具体的には、USB(Universal・Serial・Bus)端子である。なお、入力IF930は、LAN(Local・Area・Network)と接続されるポートであってもよい。
拡散符号系列について簡単に説明する。以下では拡散符号系列は、拡散符号15と記す。
図2は、拡散符号15を説明する図である。図2の(a)は、直接拡散方式によって拡散されるデータを示す。図2の(b)は、拡散符号15を示す。図2の(c)は、(a)のデータと、(b)の拡散符号15とのXOR(exclusive or)である。図2に示すように、データは拡散符号15とのXORによって、広い周波数に拡散にされる。
***拡散符号生成装置100の動作概要***
図3を参照して拡散符号生成装置100の動作概要を説明する。
図3は、拡散符号生成装置100の動作概要を示すフローチャートである。
ステップS01において、入力IF930には、入力データとして、拡散符号15を生成する為の初期値11、通信のスタート時間12、秘密情報である秘密鍵13が入力される。初期値11等の詳しい説明は後述する。入力IF930に入力された初期値11等は、プロセッサ910の取得部30が補助記憶装置921に格納する。
ステップS02において、取得部30は、補助記憶装置921に格納されている、初期値11、スタート時間12、秘密鍵13を、メモリ922にロードする。取得部30は、メモリ922から初期値11等を読み出し、初期値11,スタート時間12を初期値演算部10に送信し、秘密鍵13を拡散符号生成部20に送信する。
ステップS03において、初期値演算部10は、受信した初期値11から「t時間後の初期値」を生成する。以下に、「t時間後の初期値」を説明する。
初期値演算部10は、初期値11をカウンタとして複数回インクリメントすることによって、初期値11がインクリメントされた複数のインクリメント値を生成する。以下では初期値11はCTRとも表記する。またインクリメント値は後述のCTR+iである。初期値演算部10は、CTRを1bitずつインクリメントする。
仮に、CTRが全てビット0の64ビットデータ(0,0,..,0,0)である場合、
CTR+1:(0,0...0,1)、
CTR+2:(0,0...1,0)、
CTR+3:(0,0...1,1)、
・・・
CTR+(264−1):(1,1...1,1)、
CTR+264:(0,0...0,0)、
である。
よって、CTRがnbitのある値である場合、
CTR+2はCTRに戻る。
CTR+1からCTR+2は、CTR+i(i=1,2,3...2
と記す場合がある。
図4は、「t時間後の初期値」を説明する図である。図4は説明のため、単純な数値が使用されている。横軸は時間である。スタート時間12は、通信の開始時刻を示す。通信が行われる時間帯は1秒とする。拡散符号生成装置100が使用される通信システムでは、時間△tが設定されている。図4の場合、△t=100μ秒である。
通信の時間帯が1秒であれば、△tは10個ある。時間△tは、通信の時間帯である1秒の部分時間帯である。部分時間帯とは通信の時間帯が分割された時間帯である。
△tのそれぞれには「初期値」が必要である。
一番目の△tはCTR+1、
二番目の△tはCTR+2、
・・・
10−1番目はCTR+(10−1)、
10番目はCTR+10
が「t時間後の初期値」となる。
具体的には、
CTR+1は、スタート時間12からゼロμ秒後の初期値であり、
CTR+2は、スタート時間12から100μ秒後の初期値であり、
CTR+(10−1)は、「1秒−200μ秒」後の初期値であり、
CTR+10は、「1秒−100μ秒」後の初期値である。
後述のように、拡散符号生成部20は、それぞれのt時間後の初期値(CTR+i)から、拡散符号15を生成可能である。
図4のように、複数のインクリメント値のそれぞれのインクリメント値(CTR+i)は、通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する。
図3のステップS04において、拡散符号生成部20は、初期値演算部10から、t時間後の初期値であるCTR+iを受信し、CTR+iを用いて拡散符号15を生成する。
拡散符号生成部20が、nbitブロック暗号アルゴリズムのCTRモード(Counter Mode)を使用する場合を説明する。
図5は、拡散符号生成部20が、nbitブロック暗号アルゴリズムのCTRモードを使用するCTRモード部21Aを備える構成を示す。
図6は、一般的なCTRモードを示す。本実施の形態のCTRモードは、図6の破線の枠6で示す部分が該当する。つまりCTRモード部21A、後述するCTRモード部21B−j、CTRモード部21C−j、CTRモード部21Dは、枠6の暗号化処理Eを実施する。暗号化データE(CTR+i)は拡散符号15に相当し、平文ブロックMiは拡散されるデータに相当する。
ブロック暗号のCTRモードでは、ブロック暗号アルゴリズムの入力に、カウンタ(CTR)として初期値が入力され、秘密鍵に秘密情報が入力される事で、nbitのランダムデータ列が生成可能である。そして、CTRを1bitインクリメントしたCTR+1がブロック暗号アルゴリズムに入力されることによって、次の異なるnbitのランダムデータを生成できる。
利用するブロック暗号アルゴリズムが、安全であることが確認されている場合、nbitブロック暗号の場合は、2回のインクリメント分のnbitランダムデータを生成する事が可能である。図5に示すように、初期値11であるCTRはnbitとする。初期値演算部10は、CTRをインクリメントすることで、CTR+i(i=1,2...2)を生成し、CTRモード部21Aに送信する。CTRモード部21Aは、CTR+iを入力データとして、ブロック暗号アルゴリズムによって、nbitのランダムデータを生成する。図5ではnbitの拡散符号15を<SCn>と表している。また「CTR+1」から<SCn>への矢印は<SCn>がCTR+1から生成されたことを示す。「CTR+2も同様である。CTRモード部21Aは、CTR+1から1番目の<SCn>を生成し、以下同様に、CTR+2からCTR+2に対応する<SCn>を生成可能である。従って、「nbit×2」個のランダムデータを拡散符号15として利用可能である。
一般的なブロック暗号アルゴリズムとしては、現在、ブロックサイズが64bit、128bitのアルゴリズムが利用されている。これらを用いたCTRモードでは、64bit×264=270、または、128bit×2128=2135の周期をもつ秘匿性の高い拡散符号15を生成可能である。
このように、暗号部92である拡散符号生成部20において、CTRモード部21Aが、秘密鍵を用いる暗号アルゴリズムでそれぞれのインクリメント値を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。
次に、図3のステップS05において、出力部40は、拡散符号生成部20で生成された拡散符号15を取得し、通信システムで直接拡散を実施するための拡散符号15として出力する。
図5では、拡散符号生成部20の具体的な構成例を示したが、拡散符号の周期(bit数)は、拡散符号生成部20のCTRモード部21Aに採用するブロック暗号アルゴリズムのブロックサイズにより決定される。つまり、一つのCTR+iから得られる拡散符号15のbit数は、CTRモード部21Aに採用されるブロック暗号アルゴリズムのブロックサイズで決まる。
図7は、図5に対する比較例の拡散符号方式を示す図である。図7の拡散符号方式では、「t時間後の初期値」を生成するためには、「t時間後の初期値」を生成するための専用演算機能が必要である。この専用演算機能は専用の導出ロジックを用いるため、「t時間後の初期値」の生成には、かなりの導出時間を費やす必要が有った。
それに対して、本実施の形態では、「t時間後の初期値」を導出するには、初期値演算部10によって、CTRのインクリメントを実施するだけでよいので、専用演算機能が不要である。さらに、同期を捕捉する為の同期捕捉機能及び同期捕捉のためのパイロット系列が不要である。本実施の形態では、通信の同期をとるためには受信装置が通信の開始時刻を知ることができればよい。そのため、送信装置は受信装置に通信の開始時刻を示す通信開始情報を伝えればよい。スタート時間12は通信開始情報の例である。
以上のように、図5の拡散符号生成装置100は、図7の比較例の拡散符号方式で必要とされる、以下の(a)(b)(c)を必要としない。
(a)「t時間後の初期値」を演算するための専用演算機能、
(b)同期捕捉機能、
(c)パイロット符号系列
拡散符号生成装置100は、(a)(b)(c)を備えていなくても、システム全体の安全性を担保できる。
次に、以下では図5のCTRモード部21Aの変形例を示す。以下に示す変形例1から変形例3は、拡散符号15の周期をさらに長くしたい場合(拡散符号15のbit数を多くしたい場合)の、拡散符号生成部20の構成である。
<変形例1>
図8は、変形例1の拡散符号生成部20Bの構成を示す図である。初期値演算部10の構成は、図5と同じである。
拡散符号生成部20Bは、mbitブロック暗号アルゴリズムを複数(J個)持つ。J個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵K1〜KJを使用する。つまり、拡散符号生成部20Bの場合、mbitブロック暗号アルゴリズムの処理を行う、J個のCTRモード部21B−j(j=1,2,..,J)を備えている。CTRモード部21B−jは、秘密鍵Kjを使用する。なお、秘密鍵Kjは取得部30がメモリ922から読み出す。
CTRモード部21B−jは、初期値演算部10により送信されたCTR+i(i=1,2,..)を入力データとして、mbitブロック暗号アルゴリズムを秘密鍵Kjで実施する。つまり、一つのCTR+iごとに、J個のCTRモード部21B−jが演算を実施する。
図8ではmbitの拡散符号15を<SCm>と表している。図8に示すように、CTR+1に対して、CTRモード部21B−1からCTRモード部21B−Jは、それぞれmbitの拡散符号15である<SCm>1〜<SCm>Jを生成する。CTR+1から<SCm>1〜<SCm>Jを囲む枠への矢印は、<SCm>1〜<SCm>JがCTR+1から生成されたことを示す。CTR+2も同様である。その結果、連接部23が、<SCm>1〜<SCm>Jを連接する事により、mbit×J個が連接された拡散符号15を生成する事が可能となる。
次に、CTR+1が1bitインクリメントされたCTR+2に対して、CTRモード部21B−1からCTRモード部21B−Jは、次の異なる、<SCm>1〜<SCm>Jを生成する。
CTRモード部21B−jが利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図8に示すように、mbitブロック暗号の場合は、2回のインクリメント分の、<SCm>1〜<SCm>Jの拡散符号15を生成できる。
図8の変形例1は、ブロック暗号アルゴリズムを並列に使用する場合である。変形例1はJ個のブロック暗号アルゴリズムを並列処理できるため、処理性能として有利である。
CTRモード部21B−1〜CTRモード部21B−Jは、いずれも、サブ暗号部である。以上の説明のように、CTRモード部21B−1〜CTRモード部21B−Jのそれぞれは、他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他のサブ暗号部と同一のインクリメント値を暗号化することによって、同一のインクリメント値から拡散符号を生成する。
<変形例2>
図9を参照して変形例2を説明する。
図9は、変形例2の拡散符号生成部20Cの構成を示す図である。初期値演算部10の構成は、図5と同じである。
拡散符号生成部20Cは、mbitブロック暗号アルゴリズムを複数(J個)持つ。J個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵K1〜KJを使用する。つまり、拡散符号生成部20Cは、mbitブロック暗号アルゴリズムの処理を行う、J個のCTRモード部21C−j(j=1,2,..,J)を備えている。CTRモード部21C−jは、秘密鍵Kjを使用する。なお、秘密鍵Kjは取得部30がメモリ922から読み出す。
まず、CTRモード部21C−1が、初期値演算部10により送信されたCTR+1を入力データとして、秘密鍵K1を用いて、mbitブロック暗号アルゴリズムの演算を実施する。
次に、CTRモード部21C−1の演算結果が、CTRモード部21C−2に入力される。CTRモード部21C−2は、秘密鍵K2を用いて、mbitブロック暗号アルゴリズムの演算を実施する。同様にして、CTRモード部21C−j(j=3,..,J)には、前段のCTRモード部21C−(j−1)の演算結果が入力され、CTRモード部21C−jは、秘密鍵Kjを用いて、mbitブロック暗号アルゴリズムの演算を実施する。
その結果、図9に示すように、CTR+1に対して、CTRモード部21C−1からCTRモード部21C−Jは、それぞれmbitの拡散符号15である<SCm>1〜<SCm>Jを生成する。CTR+1から<SCm>1〜<SCm>Jを囲む枠への矢印は、<SCm>1〜<SCm>JがCTR+1から生成されたことを示す。CTR+2も同様である。連接部23が<SCm>1〜<SCm>Jを連接する事により、mbit×J個が連接された拡散符号15を生成する事が可能となる。CTR+2以降も同様である。
変形例1と同様に、CTRモード部21C−jの利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図9に示すように、mbitブロック暗号の場合は、2回のインクリメント分の、<SCm>1〜<SCm>Jの拡散符号15を生成できる。つまり、<SCm>1〜<SCm>Jを2個生成できる。
CTRモード部21C−1〜CTRモード部21C−Jは、いずれも、サブ暗号部である。以上の説明のように、CTRモード部21C−1〜CTRモード部21C−Jのそれぞれは、データを取得した場合に他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得したデータを暗号化することによってそのデータから拡散符号を生成する。CTRモード部21C−1は、複数のサブ暗号部のうち接続順位が第1位である第1のサブ暗号部93である。第1のサブ暗号部93であるCTRモード部21C−1は、データとしてインクリメント値を取得し、インクリメント値を暗号化することによって、インクリメント値から拡散符号15を生成する。第1のサブ暗号部93よりも接続順位が後のサブ暗号部(CTRモード部21C−2,21C−3...21C−J)は、データとして、接続順位が上位の直前のサブ暗号部が生成した拡散符号を取得し、取得した拡散符号を暗号化することによって、取得した拡散符号とは別の拡散符号を生成する。
変形例2は、ブロック暗号アルゴリズムを直列的に使用する場合である。変形例2は、J個のブロック暗号アルゴリズムの並列処理は出来ない。しかし、各ブロック暗号アルゴリズムに入力されるデータは、前のブロック暗号アルゴリズムの演算結果に影響される。よって変形例2は、安全性に有利な構成である。
なお変形例2では、CTRモード部21C−1〜CTRモード部21C−Jのそれぞれは、異なる秘密鍵を使用しているが、同じ秘密鍵を用いても構わない。つまり、それぞれのCTRモード部21C−jは異なる秘密鍵を使用することが最も好ましいが、CTRモード部21C−jの中に同じ秘密鍵を使用するCTRモード部21Cが存在しても構わない。
<変形例3>
図10を参照して変形例3を説明する。
図10は、変形例3の拡散符号生成部20Dの構成を示す図である。初期値演算部10の構成は、図5と同じである。
拡散符号生成部20は、CTRモード部21D、鍵インクリメント部22Dを備えている。CTRモード部21Dは、CTRモード部21Aと同じ機能である。鍵インクリメント部22Dは、秘密鍵Kの値を1bitずつインクリメントし、値がインクメントされたインクリメント鍵Kj(j=1,2,..,J−1)を生成する。
拡散符号生成部20Dは秘密情報として秘密鍵Kを入力する。CTRモード部21Dは、秘密鍵Kを用いて、mbitブロック暗号アルゴリズムの演算を行う。図10に示すように、図5のCTRモード部21Aと同様に、CTRモード部21Dは、秘密鍵Kを用いて、CTR+1〜CTR+2から、mbitの拡散符号15である、2個の<SCm>を生成する。CTR+1から<SCm>1への矢印は、<SCm>1がCTR+1から生成されたことを示す。CTR+2も同様である。
秘密鍵Kで2個の拡散符号15が生成された後、さらに拡散符号15が必要な場合は、鍵インクリメント部22Dが秘密鍵Kを1bitインクリメントして、秘密鍵K+1を生成する。初期値演算部10は、再び、CTRモード部21Dに、CTR+1〜CTR+2を入力する。CTRモード部21Dは、秘密鍵Kを用いた場合と同様に、秘密鍵K+1を用いて、CTR+1〜CTR+2から、mbitの拡散符号15である、2個の<SCm>を生成する。
このように、鍵インクリメント部22Dが秘密鍵KをJ−1回インクリメントし、CTRモード部21Dが、秘密鍵K+j(j=1,2,..,J−1)を用いて、CTR+1〜CTR+2から、2個の<SCm>を生成することが可能である。この場合、図10に示すように、秘密鍵ごとに、2個の<SCm>を生成できる。よって、2個の<SCm>が、J個生成できる。
変形例3は、ブロック暗号アルゴリズムをCTRが周期を全て利用した時、秘密鍵Kの値がカウントアップされる場合である。変形例3は、ブロック暗号アルゴリズムを複数持つ必要が無く、かつ、秘密情報のデータサイズもブロック暗号アルゴリズムの秘密鍵サイズで実現可能である。このため、変形例3は、実装サイズとして有利な構成である。
以上のように、CTRモード部21Dは、暗号アルゴリズムに秘密鍵K+1等のインクリメント鍵を用いることにより、暗号アルゴリズムに秘密鍵Kを用いて暗号化されるそれぞれのインクリメント値(CTR+i)を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。
以上に説明した図5及び変形例1〜3で説明した、CTRモード部21A、CTRモード部21B−1〜21B−J、CTRモード部21C−1〜21C−J、CTRモード部21DのそれぞれのCTRモード部で使用される暗号アルゴリズムは、安全であることが確認されている。
***実施の形態1の効果***
(1)拡散符号生成装置100は、カウンタ部91である初期値演算部10を備えている。初期値演算部10は,t時間後の初期値であるCTR+iを導出するために、CTRをインクリメントする。つまり、CTRのインクリメントで、t時間後の初期値を演算する。よって、多くの処理を必要とする「t時間後の初期値を演算する専用演算機能」が不要となり、「t時間後の初期値」の演算に要する時間が不要な程度に、この時間が短くなる。
(2)また、送信元の装置は、送信先の装置に、10分後のようなスタート開始時間、あるいは13時14分15秒のようなスタート開始時刻等の通信開始情報を伝えることで、通信の同期をとることができる。このように簡単な処理で同期をとることができる。
(3)拡散符号生成装置100は初期値演算部10、拡散符号生成部20を備えているので、パイロット符号系列は不要である。
(4)初期値演算部10、拡散符号生成部20によって周期の長い拡散符号15を生成することができること、及び、安全であることが確認されている暗号アルゴリズムを使用できることにより、安全で秘匿性の高い拡散符号が生成できる。
***他の構成***
図11は、処理回路99を示す図である。本実施の形態では拡散符号生成装置100の「部の機能」はソフトウェアで実現されるが、変形例として、拡散符号生成装置100「部の機能」がハードウェアで実現されてもよい。つまり、処理回路99によって、前述したプロセッサ910として示す拡散符号生成装置100の「部の機能」及び記憶装置920の機能が実現される。処理回路99は信号線99aに接続している。
処理回路99は、拡散符号生成装置100の「部の機能」及び記憶装置920の機能を実現する専用の電子回路である。処理回路99は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field−Programmable・Gate・Array)である。
拡散符号生成装置100は、処理回路99を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として、拡散符号生成装置100の「部の機能」が実現される。それぞれの処理回路は、処理回路99と同じように、専用の電子回路である。
別の変形例として、拡散符号生成装置100の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、拡散符号生成装置100の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサ910、記憶装置920及び処理回路99を、総称して「プロセッシングサーキットリ」という。つまり、拡散符号生成装置100の「部の機能」及び記憶装置920は、プロセッシングサーキットリにより実現される。
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。つまり、拡散符号生成装置100の動作は拡散符号生成プログラム、拡散符号生成方法として把握できる。また、「部の機能」は、拡散符号生成プログラムを格納する記録媒体及びプログラムプロダクトとして実現することもできる。
なお、以上の実施の形態1では、CTRがnbitの場合、2回のインクリメントから得られた、CTR+1〜CTR+2nの2個のインクリメント値から拡散符号を生成している。この場合、CTR+2はCTRの値に戻る。
上記の場合以外に、CTR+2はではなく、インクリメントしないCTR(初期値)を用いてもよい。この場合、
CTR,CTR+1,CTR+2...CTR+(2−1)となるので、インクリメント回数は「2−1」(回)である。
以上の内容はCTRがmビットの場合も同様である。
以上、本発明の実施の形態1について説明したが、実施の形態1で説明した内容を、部分的に実施してもよいし、あるいは組み合わせて実施しても構わない。なお、本発明は、実施の形態1に限定されるものではなく、必要に応じて種々の変更が可能である。
7 専用演算機能、8 拡散符号生成機能、9 同期捕捉機能、10 初期値演算部、11 初期値、12 スタート時間、13 秘密鍵、14 プログラム、15 拡散符号、20,20A,20B,20C,20D 拡散符号生成部、21A,21B−1,21B−2,21B−J,21C−1,21C−2,21C−J,21D CTRモード部、22D 鍵インクリメント部、23 連接部、30 取得部、40 出力部、91 カウンタ部、92 暗号部、93 第1のサブ暗号部、99 処理回路、99a 信号線、100 拡散符号生成装置、910 プロセッサ、920 記憶装置、921 補助記憶装置、922 メモリ、930 入力IF。

Claims (8)

  1. 通信に使用される拡散符号を生成する拡散符号生成装置において、
    初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
    秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
    を備える拡散符号生成装置。
  2. 前記複数のインクリメント値のそれぞれの前記インクリメント値は、
    前記通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する請求項1に記載の拡散符号生成装置。
  3. 前記暗号部は、複数のサブ暗号部を備え、
    前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
    他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他の前記サブ暗号部と同一の前記インクリメント値を暗号化することによって、同一の前記インクリメント値から拡散符号を生成する
    請求項1または請求項2に記載の拡散符号生成装置。
  4. 前記暗号部は、直列に接続された複数のサブ暗号部を備え、
    前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
    データを取得した場合に他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得した前記データを暗号化することによって前記データから拡散符号を生成し、
    前記複数のサブ暗号部のうち接続順位が第1位である第1のサブ暗号部は、
    前記データとして前記インクリメント値を取得し、前記インクリメント値を暗号化することによって、前記インクリメント値から前記拡散符号を生成し、
    前記第1のサブ暗号部よりも接続順位が下位の前記サブ暗号部は、
    前記データとして、接続順位が上位の直前の前記サブ暗号部が生成した前記拡散符号を取得し、取得した前記拡散符号を暗号化することによって、取得した前記拡散符号とは別の拡散符号を生成する請求項1または請求項2に記載の拡散符号生成装置。
  5. 前記暗号部は、
    前記秘密鍵の値をインクリメントし、値がインクメントされたインクリメント鍵を生成する鍵インクリメント部を備え、
    前記暗号部は、
    前記暗号アルゴリズムに前記インクリメント鍵を用いることにより、前記暗号アルゴリズムに前記秘密鍵を用いて暗号化されるそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する請求項1または請求項2に記載の拡散符号生成装置。
  6. 前記暗号部で使用される前記暗号アルゴリズムは、
    安全であることが確認されている請求項1から請求項5のいずれか1項に記載の拡散符号生成装置。
  7. 通信に使用される拡散符号を生成するコンピュータである拡散符号生成装置に、
    初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成する処理と、
    秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する処理と
    を実行させるための拡散符号生成プログラム。
  8. 通信に使用される拡散符号を生成する拡散符号生成装置が、
    初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成し、
    秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する
    拡散符号生成方法。
JP2016569864A 2016-07-20 2016-07-20 拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法 Pending JPWO2018016015A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/071203 WO2018016015A1 (ja) 2016-07-20 2016-07-20 拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法

Publications (1)

Publication Number Publication Date
JPWO2018016015A1 true JPWO2018016015A1 (ja) 2018-07-19

Family

ID=60992356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016569864A Pending JPWO2018016015A1 (ja) 2016-07-20 2016-07-20 拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法

Country Status (2)

Country Link
JP (1) JPWO2018016015A1 (ja)
WO (1) WO2018016015A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1022994A (ja) * 1996-07-04 1998-01-23 Hitachi Ltd 暗号化装置および復号化装置、暗号化方法および復号化方法、ならびにそれらを用いた通信システム
JP2012151805A (ja) * 2011-01-21 2012-08-09 Sharp Corp データ暗号化装置、及び、メモリカード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1022994A (ja) * 1996-07-04 1998-01-23 Hitachi Ltd 暗号化装置および復号化装置、暗号化方法および復号化方法、ならびにそれらを用いた通信システム
JP2012151805A (ja) * 2011-01-21 2012-08-09 Sharp Corp データ暗号化装置、及び、メモリカード

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENRI GILBERT: "The Security of "One-Block-to-Many" Modes of Operation", LNCS, FAST SOFTWARE ENCRYPTION, vol. 2887, JPN6016035496, 24 February 2003 (2003-02-24), pages 376 - 395, XP055602412, ISSN: 0003484487, DOI: 10.1007/978-3-540-39887-5_27 *
佐藤 元樹 ほか: "カオス暗号の並列化に関する研究", 電子情報通信学会技術研究報告, vol. 110, no. 387, JPN6015036128, 17 January 2011 (2011-01-17), JP, pages 205 - 210, ISSN: 0003484488 *

Also Published As

Publication number Publication date
WO2018016015A1 (ja) 2018-01-25

Similar Documents

Publication Publication Date Title
US5048086A (en) Encryption system based on chaos theory
EP1873671B1 (en) A method for protecting IC Cards against power analysis attacks
JP6557727B2 (ja) メッセージを暗号化/復号化するためのブロック暗号方法及びこの方法を実施するための暗号装置
JP4052480B2 (ja) 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
KR19990084419A (ko) 블록 데이터 암호화 장치
US11436946B2 (en) Encryption device, encryption method, decryption device, and decryption method
JP2017187724A (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP6287785B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
CN111373464B (zh) 加密装置、加密方法、解密装置以及解密方法
Pandian et al. Dynamic Hash key‐based stream cipher for secure transmission of real time ECG signal
Alshammari Comparison of a chaotic cryptosystem with other cryptography systems
WO2018016015A1 (ja) 拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法
JP2010039838A (ja) 乱数生成回路及びコンピュータシステム
US11218240B2 (en) Code generation apparatus, code generation method, and computer readable medium
JP2006025366A (ja) 暗号化装置及び半導体集積回路
Naija et al. Low cost countermeasure at authentication protocol level against electromagnetic side channel attacks on RFID tags
CN214175074U (zh) 一种并行真随机数发生器及其载体
Abbaas et al. Hybrid Efficient Stream Cipher KeyGenerator Based on LFSR's and Chaotic Map
Nimbe et al. An improved symmetric cipher encryption for securing data
Dutta et al. Key variation technique based on piggybacking strategies under public key environments
WO1999012309A1 (en) System for generating sub-keys
CN117574402A (zh) 密钥信息的生成方法及装置
Li et al. Chaos-based pseudo-random number generators and chip implementation
Khattab et al. RBS Cryptosystem
GB2386523A (en) Symmetric key cryptosystem

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170725