復号装置、無線通信装置及び復号方法
【課題】初期化ベクトルにエラー訂正の限界を超えてエラービットが発生した場合でも、初期化ベクトルを用いた復号処理を正常に実行することができる復号装置を提供する。
【解決手段】FECデコーダ22は、所定の時間間隔で順次入力される初期化ベクトルIV1をエラー訂正して初期化ベクトルIV0を出力する。線形フィードバックレジスタ21は、正しくエラー訂正された最新の初期化ベクトルIV0を保持する。FECデコーダ22によって正しくエラー訂正されなかった場合、線形フィードバックレジスタ21は保持しておいた初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成する。復号部24は初期化ベクトルIV0によって復号処理を初期化する。
【解決手段】FECデコーダ22は、所定の時間間隔で順次入力される初期化ベクトルIV1をエラー訂正して初期化ベクトルIV0を出力する。線形フィードバックレジスタ21は、正しくエラー訂正された最新の初期化ベクトルIV0を保持する。FECデコーダ22によって正しくエラー訂正されなかった場合、線形フィードバックレジスタ21は保持しておいた初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成する。復号部24は初期化ベクトルIV0によって復号処理を初期化する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化されたデータを復号する復号装置、無線通信装置及び復号方法に関する。
【背景技術】
【0002】
一例として、デジタル方式の無線通信において、送受信するデータの秘密性を確保するために、送信機によってデータを暗号化して送信し、受信機において受信したデータを復号することが行われている。暗号化装置を備える送信機において、音声データ等の送信情報に対して、暗号情報を初期化するために初期化ベクトルを重畳して伝送する方式がある。この場合、復号装置を備える受信機においては、伝送された初期化ベクトルを用いて復号処理を初期化して暗号情報を復号し、送信情報を解読する。
【0003】
送信情報に初期化ベクトルを重畳して伝送する方式の一例としては、パブリック・セーフティのデジタル通信規格であるAPCO Project 25(The Association of Public-Safety Communications Officials - International Project 25以下、通信規格P25と略記する)がある。通信規格P25の詳細は、TIA(Telecommunications Industry Association)発行のTIA/EIA-102.AAADに記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−342257号公報
【特許文献2】特開平10−22994号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
送信情報に初期化ベクトルが重畳された受信データを受信して復号する復号装置において、例えば受信環境の悪化によって初期化ベクトルにエラー訂正の限界を超えてエラービットが発生する場合がある。この場合、暗号情報を解読するのに必要な初期化ベクトルを用いた復号処理の初期化が正常に行われないので、正しい初期化ベクトルが得られなかったフレーム期間で暗号情報を解読することができない。送信情報が音声データである場合、復号処理の初期化が正常に行われないフレーム期間では雑音となってしまう。
【0006】
本発明はこのような問題点に鑑み、初期化ベクトルにエラー訂正の限界を超えてエラービットが発生した場合でも、初期化ベクトルを用いた復号処理を正常に実行することができる復号装置、無線通信装置及び復号方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述した従来の技術の課題を解決するため、所定の時間間隔で順次入力される第1の初期化ベクトル(IV1)をエラー訂正して第2の初期化ベクトル(IV0)を出力するエラー訂正部と、前記エラー訂正部によって正しくエラー訂正された最新の第2の初期化ベクトルを保持する保持部(21,29)と、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記保持部に保持された前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する線形フィードバックレジスタ(21)と、前記エラー訂正部によって正しくエラー訂正された第2の初期化ベクトルまたは前記線形フィードバックレジスタが生成した第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号部(24)と、前記キーストリームを用いて暗号文を解読して平分を出力する解読部(25)とを備えることを特徴とする復号装置を提供する。
【0008】
上記の復号装置において、前記保持部は、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記線形フィードバックレジスタにより生成された第2の初期化ベクトルを保持することが好ましい。
【0009】
上記の復号装置において、前記線形フィードバックレジスタが有するシフトレジスタ(SR)を前記保持部とすることができる。また、上記の復号装置において、前記線形フィードバックレジスタとは別体のメモリ(29)前記保持部とすることができる。
【0010】
また、本発明は、上述した従来の技術の課題を解決するため、以上の復号装置を備える無線通信装置を提供する。
【0011】
また、本発明は、上述した従来の技術の課題を解決するため、所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを生成する第1の生成ステップ(S12,S22)と、前記第1の生成ステップにて正しくエラー訂正された最新の第2の初期化ベクトルを保持する第1の保持ステップ(S14,S24)と、前記第1の生成ステップにて正しくエラー訂正されなかった場合に、線形フィードバックレジスタを用いて、前記第1の保持ステップにて保持した前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する第2の生成ステップ(S15,S26)と、前記第1の生成ステップにて正しくエラー訂正された第2の初期化ベクトルまたは前記第2の生成ステップにて生成された第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号ステップ(S16,S17,S27,S28)と、前記キーストリームを用いて暗号文を解読して平分を出力する解読ステップ(S18,S29)とを含むことを特徴とする復号方法を提供する。
【0012】
上記の復号方法において、前記第1の生成ステップにて正しくエラー訂正されなかった場合に、前記第2の生成ステップにて生成された第2の初期化ベクトルを保持する第2の保持ステップを含むことが好ましい。
【0013】
上記の復号方法において、前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタが有するシフトレジスタに前記最新の第2の初期化ベクトルを保持することができる。また、上記の復号方法において、前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタとは別体のメモリに前記最新の第2の初期化ベクトルを保持することができる。
【発明の効果】
【0014】
本発明の復号装置、無線通信装置及び復号方法によれば、初期化ベクトルにエラー訂正の限界を超えてエラービットが発生した場合でも、初期化ベクトルを用いた復号処理を正常に実行することが可能となる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態の復号装置を備える送受信装置を示すブロック図である。
【図2】図1中の線形フィードバックレジスタ11,21の具体的構成を示すブロック図である。
【図3】第1実施形態の復号装置の動作を説明するためのフローチャートである。
【図4】第2実施形態の復号装置を備える受信装置を示すブロック図である。
【図5】第2実施形態の復号装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の復号装置、無線通信装置及び復号方法の各実施形態について、添付図面を参照して説明する。図1〜図3を用いて第1実施形態の復号装置及び復号方法について説明し、図4及び図5を用いて第2実施形態の復号装置及び復号方法について説明する。
【0017】
<第1実施形態>
図1に示す送受信装置は、本発明の復号装置を備えるデジタル方式の無線通信装置の一例であり、送信機100と受信機200とを含む。まず、送信機100の構成及び動作を説明する。図1おいて、擬似乱数発生器の一例である線形フィードバックレジスタ(LFSR: Linear Feedback Shift Register)11は、初期化ベクトルIV0を発生する。
【0018】
図2に示すように、線形フィードバックレジスタ11は複数ビットのシフトレジスタSRを有する。図2では、通信規格P25で用いる線形フィードバックレジスタの構成を示しており、シフトレジスタSRは64ビットを有する。図2に示す例では、排他的論理和回路EXOR1は、62ビット目の値と64ビット目の値との排他的論理和をとる。排他的論理和回路EXOR2は、排他的論理和回路EXOR1出力値と46ビット目の値との排他的論理和をとる。排他的論理和回路EXOR3は、排他的論理和回路EXOR2の出力値と38ビット目の値との排他的論理和をとる。
【0019】
排他的論理和回路EXOR4は、排他的論理和回路EXOR3の出力値と27ビット目の値との排他的論理和をとる。排他的論理和回路EXOR5は、排他的論理和回路EXOR4の出力値と15ビット目の値との排他的論理和をとり、シフトレジスタSRに入力する。
【0020】
線形フィードバックレジスタ11は以上の構成を有し、シフトレジスタSRに保持している64ビットの値を排他的論理和回路EXOR1〜EXOR5で排他的論理和をとりながら64ビットシフトさせることによって、初期化ベクトルIV0を発生する。64ビットシフトさせる線形フィードバックレジスタ11の1周期の動作によって初期化ベクトルIV0が出力される。通信規格P25においては、360ms毎に初期化ベクトルIV0を送信するよう規定されている。そこで、線形フィードバックレジスタ11は、360ms毎に、シフトレジスタSRに保持している64ビットの値を64ビットシフトさせて新たな64ビットの値を保持すると共に、新たに保持した64ビットの値を初期化ベクトルIV0として出力する。
【0021】
線形フィードバックレジスタ11より出力された初期化ベクトルIV0は、FEC(Forward Error Correction)エンコーダ12及び切換部13の端子bに入力される。FECエンコーダ12は、初期化ベクトルIV0に対して前方誤り訂正のための冗長ビットを付加して、冗長ビットが付加された初期化ベクトルIV1として出力する。初期化ベクトルIV1は送信部16に入力される。
【0022】
切換部13の端子bに入力された初期化ベクトルIV0は、暗号化部14に入力される。切換部13は、初期化ベクトルIV0が入力される360ms毎に端子bに接続し、それ以外は端子aに接続する。暗号化部14は、入力された初期化ベクトルIV0で暗号化処理を初期化すると共に、初期化ベクトルIV0を所定のアルゴリズムで暗号化する。暗号化部14より出力されたデータは切換部13の端子aを介して暗号化部14に入力される。暗号化部14は、繰り返し暗号化処理を行うことによってキーストリームを出力する。
【0023】
排他的論理和回路15には、暗号化部14より出力されたキーストリームと、送信機100で送信して受信機200で受信すべき音声データ等の送信情報が平文として入力される。排他的論理和回路15は、キーストリームと平文との排他的論理和をとることによって送信情報を暗号化した暗号文を出力する。暗号文は送信部16に入力される。送信部16は、初期化ベクトルIV1と暗号文とを所定の送信フォーマットに従って送信する。
【0024】
次に、受信機200の構成及び動作を説明する。受信部26は、送信部16より送信された初期化ベクトルIV1と暗号文とを含む送信データを受信する。受信部26は、初期化ベクトルIV1と暗号文とを分離し、初期化ベクトルIV1をFECデコーダ22に供給すると共に、暗号文を排他的論理和回路25に供給する。エラー訂正部であるFECデコーダ22は、初期化ベクトルIV1をエラー訂正して、冗長ビットを取り除いた初期化ベクトルIV0を出力する。FECデコーダ22より出力された初期化ベクトルIV0は、線形フィードバックレジスタ21及び切換部13の端子cに入力される。線形フィードバックレジスタ21は、線形フィードバックレジスタ11と同じ構成である。
【0025】
FECデコーダ22は、FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われ、64ビットの初期化ベクトルIV0を正しく生成できた場合には、360ms毎に出力される初期化ベクトルIV0を毎回線形フィードバックレジスタ21に上書きして書き換える。線形フィードバックレジスタ21は、正しく生成された最新の初期化ベクトルIV0を保持することになる。第1実施形態においては、線形フィードバックレジスタ21のシフトレジスタSRが最新の初期化ベクトルIV0を保持する保持部となっている。FECデコーダ22は、初期化ベクトルIV0を正しく生成した場合には、端子cに接続するよう切換部27を制御する。ここではFECデコーダ22が切換部27を制御するとしたが、FECデコーダ22とは別の制御部を設けてもよい。
【0026】
受信環境の悪化等によって、FECデコーダ22が、初期化ベクトルIV1のエラー訂正を正常に行えなかった場合、FECデコーダ22は、初期化ベクトルIV0を生成できないので初期化ベクトルIV0の出力は行わない。よって、線形フィードバックレジスタ22のシフトレジスタSRにはエラー訂正できなかった初期化ベクトルIV0が書き込まれることはない。線形フィードバックレジスタ21は、保持しておいた前回の初期化ベクトルIV0、即ち、360ms前である1フレーム前の初期化ベクトルIV0を64ビットシフトさせることによって、FECデコーダ22が本来出力すべきであった前回の初期化ベクトルIV0に続く次の初期化ベクトルIV0を生成して出力する。線形フィードバックレジスタ21は、1フレーム前の初期化ベクトルIV0が64ビットシフトされた状態を保持する。
【0027】
線形フィードバックレジスタ21より出力された初期化ベクトルIV0は、切換部27の端子dに入力される。FECデコーダ22は、初期化ベクトルIV0を正しく生成できなかった場合には、端子dに接続するよう切換部27を制御する。切換部27の端子cまたはdに入力された初期化ベクトルIV0は、切換部23の端子bに入力される。端子bには、FECデコーダ22において初期化ベクトルIV1のエラー訂正が正常に行われた場合でも正常に行われなかった場合でも、正しい初期化ベクトルIV0が入力されることになる。
【0028】
切換部23の端子bに入力された初期化ベクトルIV0は、復号部24に入力される。切換部23は、初期化ベクトルIV0が入力される360ms毎に端子bに接続し、それ以外は端子aに接続する。復号部24は、入力された初期化ベクトルIV0で復号処理を初期化すると共に、暗号化部14における暗号化のアルゴリズムに対応したアルゴリズムで初期化ベクトルIV0を復号する。復号部24より出力されたデータは切換部13の端子aを介して復号部24に入力される。復号部24は、繰り返し復号処理を行うことによってキーストリームを出力する。
【0029】
排他的論理和回路25には、復号部24より出力されたキーストリームと受信部26より出力された暗号文とが入力される。排他的論理和回路25は、キーストリームと暗号文との排他的論理和をとることによって暗号文を解読した平文を出力する。排他的論理和回路25は、キーストリーム用いて暗号文を解読する解読部である。
【0030】
FECデコーダ22において例えば2フレーム連続して初期化ベクトルIV1のエラー訂正が正常に行われなかった場合には、線形フィードバックレジスタ21は、保持しておいた初期化ベクトルIV0を64ビットシフトさせることによって1つ目の初期化ベクトルIV0を生成して保持する。そして、線形フィードバックレジスタ21は、その1つ目の初期化ベクトルIV0をさらに64ビットシフトさせることによって2つ目の初期化ベクトルIV0を生成して保持することにより、2フレーム分の初期化ベクトルIV0を正しく生成することができる。3フレーム以上連続して初期化ベクトルIV1のエラー訂正が正常に行われなかった場合も同様である。
【0031】
ところで、図1では、送信機100内の暗号化装置と受信機200内の復号装置とをそれぞれハードウェア構成にて示しているが、ソフトウェア(コンピュータプログラム)によって構成することもできる。送信機100においては、線形フィードバックレジスタ11,FECエンコーダ12,切換部13,暗号化部14,排他的論理和回路15をソフトウェアによって構成することができる。受信機200においては、線形フィードバックレジスタ21,FECデコーダ22,切換部23,復号部24,排他的論理和回路25,切換部27をソフトウェアによって構成することができる。
【0032】
図3のフローチャートを用いて、図1の受信機200で行われる動作であり、第1実施形態の復号方法について説明する。図3において、受信部26は、ステップS11にて、初期化ベクトルIV1を受信する。FECデコーダ22は、ステップS12にて、初期化ベクトルIV1をエラー訂正処理する。FECデコーダ22は、ステップS13にて、エラー訂正処理ができたか否かを判定する。
【0033】
エラー訂正処理ができた場合(YES)には、FECデコーダ22は、ステップS14にて、線形フィードバックレジスタ21に初期化ベクトルIV0を保持させると共に、初期化ベクトルIV0を復号部24に供給する。一方、エラー訂正処理ができなかった場合には(NO)、線形フィードバックレジスタ21は、ステップS15にて、保持しておいた前回の初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成して保持し、生成した初期化ベクトルIV0を復号部24に供給する。
【0034】
復号部24は、ステップS16にて、入力された初期化ベクトルIV0に基づいて復号処理を初期化し、ステップS17にて、初期化ベクトルIV0を繰り返し復号することによって復号処理する。排他的論理和回路25は、ステップS18にて、復号部24より出力されたキーストリームと暗号文との排他的論理和をとることによって暗号文を解読して平分を生成する。ステップS18の終了後、ステップS11に戻り、ステップS11〜S18を繰り返す。
【0035】
<第2実施形態>
図4においては、第2実施形態の復号装置を備える受信機201のみを示している。送信機100は図1と同じ構成でよい。図4において、図1と同一部分には同一符号を付し、その説明を適宜省略する。図1で説明した第1実施形態の復号装置においては、線形フィードバックレジスタ21のシフトレジスタSRに正しく生成された最新の初期化ベクトルIV0を保持するよう構成しているのに対し、図4に示す第2実施形態の復号装置においては、最新の初期化ベクトルIV0を保持する線形フィードバックレジスタ21とは別体のメモリ29を設けている。
【0036】
メモリ29は、FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われ、64ビットの初期化ベクトルIV0を正しく生成できた場合には、360ms毎に出力される初期化ベクトルIV0を毎回上書きして書き換えて保持する。制御部28には、FECデコーダ22における初期化ベクトルIV0を正しく生成できたか否かの情報が入力される。FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われなかった場合には、制御部28は、線形フィードバックレジスタ21に対してメモリ29に保持された前回の初期化ベクトルIV0を取り込むように指示する。また、制御部28は、端子dに接続するよう切換部27を制御する。
【0037】
線形フィードバックレジスタ21は、メモリ29より入力された前回の初期化ベクトルIV0を64ビットシフトさせることによって、FECデコーダ22が本来出力すべきであった前回の初期化ベクトルIV0に続く次の初期化ベクトルIV0を生成して出力すると共にメモリ29に書き込む。線形フィードバックレジスタ21が生成した初期化ベクトルIV0は、切換部27の端子d及び切換部23の端子bを介して復号部24に入力される。
【0038】
図5のフローチャートを用いて、図4の受信機201で行われる動作であり、第2実施形態の復号方法について説明する。図5において、ステップS21〜S23は、図3のステップS11〜S13と同じである。ステップS23にてエラー訂正処理ができた場合(YES)には、FECデコーダ22は、ステップS24にて、メモリ29に初期化ベクトルIV0を保持させると共に、初期化ベクトルIV0を復号部24に供給する。一方、ステップS23にてエラー訂正処理ができなかった場合には(NO)、線形フィードバックレジスタ21は、ステップS25にて、メモリ29に保持された前回の初期化ベクトルIV0を読み出す。
【0039】
線形フィードバックレジスタ21は、ステップS26にて、前回の初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成し、生成した初期化ベクトルIV0を復号部24に供給すると共にメモリ29に書き込む。ステップS27〜S29は、図3のステップS16〜S18と同じである。
【0040】
なお、第1実施形態では、線形フィードバックレジスタ21を保持部としているので、別にメモリを設ける必要がなく、構成が簡略化されるという効果がある。ソフトウェアで構成する場合には、第2実施形態の方が実現しやすいという効果がある。
【0041】
本発明は以上説明した第1,第2実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更可能である。第1,第2実施形態では、通信規格P25に対応した構成を示したが、初期化ベクトルを用いる復号装置及び復号方法であれば他の規格であってもよい。線形フィードバックレジスタ11,21におけるシフトレジスタSRのビット数は64ビットに限定されない。初期化ベクトルIV0を発生する時間間隔は360msに限定されない。
【符号の説明】
【0042】
11,21 線形フィードバックレジスタ(LFSR)
12 FECエンコーダ
13,23,27 切換部
14 暗号化部
15 排他的論理和回路
16 送信部
22 FECデコーダ(エラー訂正部)
24 復号部
25 排他的論理和回路(解読部)
26 受信部
28 制御部
29 メモリ
100 送信機
200,201 受信機
【技術分野】
【0001】
本発明は、暗号化されたデータを復号する復号装置、無線通信装置及び復号方法に関する。
【背景技術】
【0002】
一例として、デジタル方式の無線通信において、送受信するデータの秘密性を確保するために、送信機によってデータを暗号化して送信し、受信機において受信したデータを復号することが行われている。暗号化装置を備える送信機において、音声データ等の送信情報に対して、暗号情報を初期化するために初期化ベクトルを重畳して伝送する方式がある。この場合、復号装置を備える受信機においては、伝送された初期化ベクトルを用いて復号処理を初期化して暗号情報を復号し、送信情報を解読する。
【0003】
送信情報に初期化ベクトルを重畳して伝送する方式の一例としては、パブリック・セーフティのデジタル通信規格であるAPCO Project 25(The Association of Public-Safety Communications Officials - International Project 25以下、通信規格P25と略記する)がある。通信規格P25の詳細は、TIA(Telecommunications Industry Association)発行のTIA/EIA-102.AAADに記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−342257号公報
【特許文献2】特開平10−22994号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
送信情報に初期化ベクトルが重畳された受信データを受信して復号する復号装置において、例えば受信環境の悪化によって初期化ベクトルにエラー訂正の限界を超えてエラービットが発生する場合がある。この場合、暗号情報を解読するのに必要な初期化ベクトルを用いた復号処理の初期化が正常に行われないので、正しい初期化ベクトルが得られなかったフレーム期間で暗号情報を解読することができない。送信情報が音声データである場合、復号処理の初期化が正常に行われないフレーム期間では雑音となってしまう。
【0006】
本発明はこのような問題点に鑑み、初期化ベクトルにエラー訂正の限界を超えてエラービットが発生した場合でも、初期化ベクトルを用いた復号処理を正常に実行することができる復号装置、無線通信装置及び復号方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述した従来の技術の課題を解決するため、所定の時間間隔で順次入力される第1の初期化ベクトル(IV1)をエラー訂正して第2の初期化ベクトル(IV0)を出力するエラー訂正部と、前記エラー訂正部によって正しくエラー訂正された最新の第2の初期化ベクトルを保持する保持部(21,29)と、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記保持部に保持された前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する線形フィードバックレジスタ(21)と、前記エラー訂正部によって正しくエラー訂正された第2の初期化ベクトルまたは前記線形フィードバックレジスタが生成した第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号部(24)と、前記キーストリームを用いて暗号文を解読して平分を出力する解読部(25)とを備えることを特徴とする復号装置を提供する。
【0008】
上記の復号装置において、前記保持部は、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記線形フィードバックレジスタにより生成された第2の初期化ベクトルを保持することが好ましい。
【0009】
上記の復号装置において、前記線形フィードバックレジスタが有するシフトレジスタ(SR)を前記保持部とすることができる。また、上記の復号装置において、前記線形フィードバックレジスタとは別体のメモリ(29)前記保持部とすることができる。
【0010】
また、本発明は、上述した従来の技術の課題を解決するため、以上の復号装置を備える無線通信装置を提供する。
【0011】
また、本発明は、上述した従来の技術の課題を解決するため、所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを生成する第1の生成ステップ(S12,S22)と、前記第1の生成ステップにて正しくエラー訂正された最新の第2の初期化ベクトルを保持する第1の保持ステップ(S14,S24)と、前記第1の生成ステップにて正しくエラー訂正されなかった場合に、線形フィードバックレジスタを用いて、前記第1の保持ステップにて保持した前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する第2の生成ステップ(S15,S26)と、前記第1の生成ステップにて正しくエラー訂正された第2の初期化ベクトルまたは前記第2の生成ステップにて生成された第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号ステップ(S16,S17,S27,S28)と、前記キーストリームを用いて暗号文を解読して平分を出力する解読ステップ(S18,S29)とを含むことを特徴とする復号方法を提供する。
【0012】
上記の復号方法において、前記第1の生成ステップにて正しくエラー訂正されなかった場合に、前記第2の生成ステップにて生成された第2の初期化ベクトルを保持する第2の保持ステップを含むことが好ましい。
【0013】
上記の復号方法において、前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタが有するシフトレジスタに前記最新の第2の初期化ベクトルを保持することができる。また、上記の復号方法において、前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタとは別体のメモリに前記最新の第2の初期化ベクトルを保持することができる。
【発明の効果】
【0014】
本発明の復号装置、無線通信装置及び復号方法によれば、初期化ベクトルにエラー訂正の限界を超えてエラービットが発生した場合でも、初期化ベクトルを用いた復号処理を正常に実行することが可能となる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態の復号装置を備える送受信装置を示すブロック図である。
【図2】図1中の線形フィードバックレジスタ11,21の具体的構成を示すブロック図である。
【図3】第1実施形態の復号装置の動作を説明するためのフローチャートである。
【図4】第2実施形態の復号装置を備える受信装置を示すブロック図である。
【図5】第2実施形態の復号装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の復号装置、無線通信装置及び復号方法の各実施形態について、添付図面を参照して説明する。図1〜図3を用いて第1実施形態の復号装置及び復号方法について説明し、図4及び図5を用いて第2実施形態の復号装置及び復号方法について説明する。
【0017】
<第1実施形態>
図1に示す送受信装置は、本発明の復号装置を備えるデジタル方式の無線通信装置の一例であり、送信機100と受信機200とを含む。まず、送信機100の構成及び動作を説明する。図1おいて、擬似乱数発生器の一例である線形フィードバックレジスタ(LFSR: Linear Feedback Shift Register)11は、初期化ベクトルIV0を発生する。
【0018】
図2に示すように、線形フィードバックレジスタ11は複数ビットのシフトレジスタSRを有する。図2では、通信規格P25で用いる線形フィードバックレジスタの構成を示しており、シフトレジスタSRは64ビットを有する。図2に示す例では、排他的論理和回路EXOR1は、62ビット目の値と64ビット目の値との排他的論理和をとる。排他的論理和回路EXOR2は、排他的論理和回路EXOR1出力値と46ビット目の値との排他的論理和をとる。排他的論理和回路EXOR3は、排他的論理和回路EXOR2の出力値と38ビット目の値との排他的論理和をとる。
【0019】
排他的論理和回路EXOR4は、排他的論理和回路EXOR3の出力値と27ビット目の値との排他的論理和をとる。排他的論理和回路EXOR5は、排他的論理和回路EXOR4の出力値と15ビット目の値との排他的論理和をとり、シフトレジスタSRに入力する。
【0020】
線形フィードバックレジスタ11は以上の構成を有し、シフトレジスタSRに保持している64ビットの値を排他的論理和回路EXOR1〜EXOR5で排他的論理和をとりながら64ビットシフトさせることによって、初期化ベクトルIV0を発生する。64ビットシフトさせる線形フィードバックレジスタ11の1周期の動作によって初期化ベクトルIV0が出力される。通信規格P25においては、360ms毎に初期化ベクトルIV0を送信するよう規定されている。そこで、線形フィードバックレジスタ11は、360ms毎に、シフトレジスタSRに保持している64ビットの値を64ビットシフトさせて新たな64ビットの値を保持すると共に、新たに保持した64ビットの値を初期化ベクトルIV0として出力する。
【0021】
線形フィードバックレジスタ11より出力された初期化ベクトルIV0は、FEC(Forward Error Correction)エンコーダ12及び切換部13の端子bに入力される。FECエンコーダ12は、初期化ベクトルIV0に対して前方誤り訂正のための冗長ビットを付加して、冗長ビットが付加された初期化ベクトルIV1として出力する。初期化ベクトルIV1は送信部16に入力される。
【0022】
切換部13の端子bに入力された初期化ベクトルIV0は、暗号化部14に入力される。切換部13は、初期化ベクトルIV0が入力される360ms毎に端子bに接続し、それ以外は端子aに接続する。暗号化部14は、入力された初期化ベクトルIV0で暗号化処理を初期化すると共に、初期化ベクトルIV0を所定のアルゴリズムで暗号化する。暗号化部14より出力されたデータは切換部13の端子aを介して暗号化部14に入力される。暗号化部14は、繰り返し暗号化処理を行うことによってキーストリームを出力する。
【0023】
排他的論理和回路15には、暗号化部14より出力されたキーストリームと、送信機100で送信して受信機200で受信すべき音声データ等の送信情報が平文として入力される。排他的論理和回路15は、キーストリームと平文との排他的論理和をとることによって送信情報を暗号化した暗号文を出力する。暗号文は送信部16に入力される。送信部16は、初期化ベクトルIV1と暗号文とを所定の送信フォーマットに従って送信する。
【0024】
次に、受信機200の構成及び動作を説明する。受信部26は、送信部16より送信された初期化ベクトルIV1と暗号文とを含む送信データを受信する。受信部26は、初期化ベクトルIV1と暗号文とを分離し、初期化ベクトルIV1をFECデコーダ22に供給すると共に、暗号文を排他的論理和回路25に供給する。エラー訂正部であるFECデコーダ22は、初期化ベクトルIV1をエラー訂正して、冗長ビットを取り除いた初期化ベクトルIV0を出力する。FECデコーダ22より出力された初期化ベクトルIV0は、線形フィードバックレジスタ21及び切換部13の端子cに入力される。線形フィードバックレジスタ21は、線形フィードバックレジスタ11と同じ構成である。
【0025】
FECデコーダ22は、FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われ、64ビットの初期化ベクトルIV0を正しく生成できた場合には、360ms毎に出力される初期化ベクトルIV0を毎回線形フィードバックレジスタ21に上書きして書き換える。線形フィードバックレジスタ21は、正しく生成された最新の初期化ベクトルIV0を保持することになる。第1実施形態においては、線形フィードバックレジスタ21のシフトレジスタSRが最新の初期化ベクトルIV0を保持する保持部となっている。FECデコーダ22は、初期化ベクトルIV0を正しく生成した場合には、端子cに接続するよう切換部27を制御する。ここではFECデコーダ22が切換部27を制御するとしたが、FECデコーダ22とは別の制御部を設けてもよい。
【0026】
受信環境の悪化等によって、FECデコーダ22が、初期化ベクトルIV1のエラー訂正を正常に行えなかった場合、FECデコーダ22は、初期化ベクトルIV0を生成できないので初期化ベクトルIV0の出力は行わない。よって、線形フィードバックレジスタ22のシフトレジスタSRにはエラー訂正できなかった初期化ベクトルIV0が書き込まれることはない。線形フィードバックレジスタ21は、保持しておいた前回の初期化ベクトルIV0、即ち、360ms前である1フレーム前の初期化ベクトルIV0を64ビットシフトさせることによって、FECデコーダ22が本来出力すべきであった前回の初期化ベクトルIV0に続く次の初期化ベクトルIV0を生成して出力する。線形フィードバックレジスタ21は、1フレーム前の初期化ベクトルIV0が64ビットシフトされた状態を保持する。
【0027】
線形フィードバックレジスタ21より出力された初期化ベクトルIV0は、切換部27の端子dに入力される。FECデコーダ22は、初期化ベクトルIV0を正しく生成できなかった場合には、端子dに接続するよう切換部27を制御する。切換部27の端子cまたはdに入力された初期化ベクトルIV0は、切換部23の端子bに入力される。端子bには、FECデコーダ22において初期化ベクトルIV1のエラー訂正が正常に行われた場合でも正常に行われなかった場合でも、正しい初期化ベクトルIV0が入力されることになる。
【0028】
切換部23の端子bに入力された初期化ベクトルIV0は、復号部24に入力される。切換部23は、初期化ベクトルIV0が入力される360ms毎に端子bに接続し、それ以外は端子aに接続する。復号部24は、入力された初期化ベクトルIV0で復号処理を初期化すると共に、暗号化部14における暗号化のアルゴリズムに対応したアルゴリズムで初期化ベクトルIV0を復号する。復号部24より出力されたデータは切換部13の端子aを介して復号部24に入力される。復号部24は、繰り返し復号処理を行うことによってキーストリームを出力する。
【0029】
排他的論理和回路25には、復号部24より出力されたキーストリームと受信部26より出力された暗号文とが入力される。排他的論理和回路25は、キーストリームと暗号文との排他的論理和をとることによって暗号文を解読した平文を出力する。排他的論理和回路25は、キーストリーム用いて暗号文を解読する解読部である。
【0030】
FECデコーダ22において例えば2フレーム連続して初期化ベクトルIV1のエラー訂正が正常に行われなかった場合には、線形フィードバックレジスタ21は、保持しておいた初期化ベクトルIV0を64ビットシフトさせることによって1つ目の初期化ベクトルIV0を生成して保持する。そして、線形フィードバックレジスタ21は、その1つ目の初期化ベクトルIV0をさらに64ビットシフトさせることによって2つ目の初期化ベクトルIV0を生成して保持することにより、2フレーム分の初期化ベクトルIV0を正しく生成することができる。3フレーム以上連続して初期化ベクトルIV1のエラー訂正が正常に行われなかった場合も同様である。
【0031】
ところで、図1では、送信機100内の暗号化装置と受信機200内の復号装置とをそれぞれハードウェア構成にて示しているが、ソフトウェア(コンピュータプログラム)によって構成することもできる。送信機100においては、線形フィードバックレジスタ11,FECエンコーダ12,切換部13,暗号化部14,排他的論理和回路15をソフトウェアによって構成することができる。受信機200においては、線形フィードバックレジスタ21,FECデコーダ22,切換部23,復号部24,排他的論理和回路25,切換部27をソフトウェアによって構成することができる。
【0032】
図3のフローチャートを用いて、図1の受信機200で行われる動作であり、第1実施形態の復号方法について説明する。図3において、受信部26は、ステップS11にて、初期化ベクトルIV1を受信する。FECデコーダ22は、ステップS12にて、初期化ベクトルIV1をエラー訂正処理する。FECデコーダ22は、ステップS13にて、エラー訂正処理ができたか否かを判定する。
【0033】
エラー訂正処理ができた場合(YES)には、FECデコーダ22は、ステップS14にて、線形フィードバックレジスタ21に初期化ベクトルIV0を保持させると共に、初期化ベクトルIV0を復号部24に供給する。一方、エラー訂正処理ができなかった場合には(NO)、線形フィードバックレジスタ21は、ステップS15にて、保持しておいた前回の初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成して保持し、生成した初期化ベクトルIV0を復号部24に供給する。
【0034】
復号部24は、ステップS16にて、入力された初期化ベクトルIV0に基づいて復号処理を初期化し、ステップS17にて、初期化ベクトルIV0を繰り返し復号することによって復号処理する。排他的論理和回路25は、ステップS18にて、復号部24より出力されたキーストリームと暗号文との排他的論理和をとることによって暗号文を解読して平分を生成する。ステップS18の終了後、ステップS11に戻り、ステップS11〜S18を繰り返す。
【0035】
<第2実施形態>
図4においては、第2実施形態の復号装置を備える受信機201のみを示している。送信機100は図1と同じ構成でよい。図4において、図1と同一部分には同一符号を付し、その説明を適宜省略する。図1で説明した第1実施形態の復号装置においては、線形フィードバックレジスタ21のシフトレジスタSRに正しく生成された最新の初期化ベクトルIV0を保持するよう構成しているのに対し、図4に示す第2実施形態の復号装置においては、最新の初期化ベクトルIV0を保持する線形フィードバックレジスタ21とは別体のメモリ29を設けている。
【0036】
メモリ29は、FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われ、64ビットの初期化ベクトルIV0を正しく生成できた場合には、360ms毎に出力される初期化ベクトルIV0を毎回上書きして書き換えて保持する。制御部28には、FECデコーダ22における初期化ベクトルIV0を正しく生成できたか否かの情報が入力される。FECデコーダ22における初期化ベクトルIV1のエラー訂正が正常に行われなかった場合には、制御部28は、線形フィードバックレジスタ21に対してメモリ29に保持された前回の初期化ベクトルIV0を取り込むように指示する。また、制御部28は、端子dに接続するよう切換部27を制御する。
【0037】
線形フィードバックレジスタ21は、メモリ29より入力された前回の初期化ベクトルIV0を64ビットシフトさせることによって、FECデコーダ22が本来出力すべきであった前回の初期化ベクトルIV0に続く次の初期化ベクトルIV0を生成して出力すると共にメモリ29に書き込む。線形フィードバックレジスタ21が生成した初期化ベクトルIV0は、切換部27の端子d及び切換部23の端子bを介して復号部24に入力される。
【0038】
図5のフローチャートを用いて、図4の受信機201で行われる動作であり、第2実施形態の復号方法について説明する。図5において、ステップS21〜S23は、図3のステップS11〜S13と同じである。ステップS23にてエラー訂正処理ができた場合(YES)には、FECデコーダ22は、ステップS24にて、メモリ29に初期化ベクトルIV0を保持させると共に、初期化ベクトルIV0を復号部24に供給する。一方、ステップS23にてエラー訂正処理ができなかった場合には(NO)、線形フィードバックレジスタ21は、ステップS25にて、メモリ29に保持された前回の初期化ベクトルIV0を読み出す。
【0039】
線形フィードバックレジスタ21は、ステップS26にて、前回の初期化ベクトルIV0に基づいて次の初期化ベクトルIV0を生成し、生成した初期化ベクトルIV0を復号部24に供給すると共にメモリ29に書き込む。ステップS27〜S29は、図3のステップS16〜S18と同じである。
【0040】
なお、第1実施形態では、線形フィードバックレジスタ21を保持部としているので、別にメモリを設ける必要がなく、構成が簡略化されるという効果がある。ソフトウェアで構成する場合には、第2実施形態の方が実現しやすいという効果がある。
【0041】
本発明は以上説明した第1,第2実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更可能である。第1,第2実施形態では、通信規格P25に対応した構成を示したが、初期化ベクトルを用いる復号装置及び復号方法であれば他の規格であってもよい。線形フィードバックレジスタ11,21におけるシフトレジスタSRのビット数は64ビットに限定されない。初期化ベクトルIV0を発生する時間間隔は360msに限定されない。
【符号の説明】
【0042】
11,21 線形フィードバックレジスタ(LFSR)
12 FECエンコーダ
13,23,27 切換部
14 暗号化部
15 排他的論理和回路
16 送信部
22 FECデコーダ(エラー訂正部)
24 復号部
25 排他的論理和回路(解読部)
26 受信部
28 制御部
29 メモリ
100 送信機
200,201 受信機
【特許請求の範囲】
【請求項1】
所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを出力するエラー訂正部と、
前記エラー訂正部によって正しくエラー訂正された最新の第2の初期化ベクトルを保持する保持部と、
前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記保持部に保持された前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する線形フィードバックレジスタと、
前記エラー訂正部によって正しくエラー訂正された第2の初期化ベクトルまたは前記線形フィードバックレジスタが生成した第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号部と、
前記キーストリームを用いて暗号文を解読して平分を出力する解読部と、
を備えることを特徴とする復号装置。
【請求項2】
前記保持部は、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記線形フィードバックレジスタにより生成された第2の初期化ベクトルを保持することを特徴とする請求項1に記載の復号装置。
【請求項3】
前記保持部は、前記線形フィードバックレジスタが有するシフトレジスタであることを特徴とする請求項1または2に記載の復号装置。
【請求項4】
前記保持部は、前記線形フィードバックレジスタとは別体のメモリであることを特徴とする請求項1または2に記載の復号装置。
【請求項5】
請求項1〜4のいずれか1項に記載の復号装置を備える無線通信装置。
【請求項6】
所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを生成する第1の生成ステップと、
前記第1の生成ステップにて正しくエラー訂正された最新の第2の初期化ベクトルを保持する第1の保持ステップと、
前記第1の生成ステップにて正しくエラー訂正されなかった場合に、線形フィードバックレジスタを用いて、前記第1の保持ステップにて保持した前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する第2の生成ステップと、
前記第1の生成ステップにて正しくエラー訂正された第2の初期化ベクトルまたは前記第2の生成ステップにて生成された第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号ステップと、
前記キーストリームを用いて暗号文を解読して平分を出力する解読ステップと、
を含むことを特徴とする復号方法。
【請求項7】
前記第1の生成ステップにて正しくエラー訂正されなかった場合に、前記第2の生成ステップにて生成された第2の初期化ベクトルを保持する第2の保持ステップを含むことを特徴とする請求項6に記載の復号方法。
【請求項8】
前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタが有するシフトレジスタに前記最新の第2の初期化ベクトルを保持することを特徴とする請求項7に記載の復号方法。
【請求項9】
前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタとは別体のメモリに前記最新の第2の初期化ベクトルを保持することを特徴とする請求項7に記載の復号方法。
【請求項1】
所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを出力するエラー訂正部と、
前記エラー訂正部によって正しくエラー訂正された最新の第2の初期化ベクトルを保持する保持部と、
前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記保持部に保持された前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する線形フィードバックレジスタと、
前記エラー訂正部によって正しくエラー訂正された第2の初期化ベクトルまたは前記線形フィードバックレジスタが生成した第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号部と、
前記キーストリームを用いて暗号文を解読して平分を出力する解読部と、
を備えることを特徴とする復号装置。
【請求項2】
前記保持部は、前記エラー訂正部によって正しくエラー訂正されなかった場合に、前記線形フィードバックレジスタにより生成された第2の初期化ベクトルを保持することを特徴とする請求項1に記載の復号装置。
【請求項3】
前記保持部は、前記線形フィードバックレジスタが有するシフトレジスタであることを特徴とする請求項1または2に記載の復号装置。
【請求項4】
前記保持部は、前記線形フィードバックレジスタとは別体のメモリであることを特徴とする請求項1または2に記載の復号装置。
【請求項5】
請求項1〜4のいずれか1項に記載の復号装置を備える無線通信装置。
【請求項6】
所定の時間間隔で順次入力される第1の初期化ベクトルをエラー訂正して第2の初期化ベクトルを生成する第1の生成ステップと、
前記第1の生成ステップにて正しくエラー訂正された最新の第2の初期化ベクトルを保持する第1の保持ステップと、
前記第1の生成ステップにて正しくエラー訂正されなかった場合に、線形フィードバックレジスタを用いて、前記第1の保持ステップにて保持した前記最新の第2の初期化ベクトルに基づいて次の第2の初期化ベクトルを生成する第2の生成ステップと、
前記第1の生成ステップにて正しくエラー訂正された第2の初期化ベクトルまたは前記第2の生成ステップにて生成された第2の初期化ベクトルによって復号処理を初期化すると共に、第2の初期化ベクトルを初期値として繰り返し復号処理してキーストリームを出力する復号ステップと、
前記キーストリームを用いて暗号文を解読して平分を出力する解読ステップと、
を含むことを特徴とする復号方法。
【請求項7】
前記第1の生成ステップにて正しくエラー訂正されなかった場合に、前記第2の生成ステップにて生成された第2の初期化ベクトルを保持する第2の保持ステップを含むことを特徴とする請求項6に記載の復号方法。
【請求項8】
前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタが有するシフトレジスタに前記最新の第2の初期化ベクトルを保持することを特徴とする請求項7に記載の復号方法。
【請求項9】
前記第1の保持ステップ及び前記第2の保持ステップは、前記線形フィードバックレジスタとは別体のメモリに前記最新の第2の初期化ベクトルを保持することを特徴とする請求項7に記載の復号方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図2】
【図3】
【図4】
【図5】
【公開番号】特開2013−42228(P2013−42228A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−176185(P2011−176185)
【出願日】平成23年8月11日(2011.8.11)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願日】平成23年8月11日(2011.8.11)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】
[ Back to top ]