JP2008288884A - 符号化装置、暗号化装置及びプログラム - Google Patents

符号化装置、暗号化装置及びプログラム Download PDF

Info

Publication number
JP2008288884A
JP2008288884A JP2007131870A JP2007131870A JP2008288884A JP 2008288884 A JP2008288884 A JP 2008288884A JP 2007131870 A JP2007131870 A JP 2007131870A JP 2007131870 A JP2007131870 A JP 2007131870A JP 2008288884 A JP2008288884 A JP 2008288884A
Authority
JP
Japan
Prior art keywords
data
unit
encryption
registers
register
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
JP2007131870A
Other languages
English (en)
Other versions
JP4749383B2 (ja
Inventor
Toru Sasaki
通 佐々木
Minoru Nakamura
稔 中村
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
Priority to JP2007131870A priority Critical patent/JP4749383B2/ja
Publication of JP2008288884A publication Critical patent/JP2008288884A/ja
Application granted granted Critical
Publication of JP4749383B2 publication Critical patent/JP4749383B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】CPUの演算能力を効率よく利用できる符号化装置を提供する。
【解決手段】係数データ5を格納する係数テーブル格納部6と、情報シンボル11のビット数の整数倍のビット幅を有するレジスタ1a〜1dと、情報シンボル11をレジスタ1a〜1dに入力するデータ入力部9と、レジスタ1dからデータを出力するデータ出力部2と、データ出力部2によりレジスタ1dから出力されたデータに基づいて、レジスタ1a〜1dに格納される情報シンボル11の符号化に用いる係数データ5を指定するアドレス指定部4と、アドレス指定部4により指定された係数データ5とレジスタ1a〜1dに格納される情報シンボル11との排他的論理和の演算を行い、該情報シンボル11の符号化データを求める排他的論理和演算器3とを備える。
【選択図】図1

Description

この発明は、レジスタ及び係数データ格納部を用いて、情報データに対しブロック型の誤り訂正符号化を行う符号化装置、暗号化を行う暗号化装置及びこれら装置としてコンピュータを機能させるプログラムに関するものである。
例えば、特許文献1に開示される従来の符号化装置では、リードソロモン符号の生成多項式における各項との乗算を行うにあたり、乗算器がリードソロモン符号のシンボル単位で乗算を行い、加算器がビット単位で加算を行う。また、特許文献2に開示される従来の符号化装置は、インターリーブにより符号化を行うにあたり、スイッチで符号化対象の入力情報を複数の符号化器に振り分ける。
特開平9−331262号公報 特開2002−27464号公報
従来の符号化装置は、符号化においてCPUを効率よく利用できない処理が含まれており、また専用のハードウェアが必要であった。例えば、特許文献1の符号化装置では、加算器の演算においてCPUがシフトレジスタをビットシフトさせてデータ移動することから、複数ビット毎のシフトでのレジスタ演算が可能なCPUの演算能力を効率よく利用できていない。
さらに、特許文献1の符号化装置は、リードソロモン符号のチェックシンボルを算出するために乗算器及び加算器が専用ハードウェアとして必要である。特許文献2の符号化装置においても、インターリーブ処理を行うために複数の符号器を備える必要があり又は符号化器の数によってインターリーブ値の上限が固定される。
また、従来の符号化装置は、符号化処理を中断、再開する機能を有しておらず、データ送信先との通信が可能な時間内にデータを符号化して送信する必要がある。例えば、地球を周回する人工衛星に搭載するデータハンドリングシステムでは、地上局側から制御命令を受信すると即座に応答データを返信する必要性があり、かつその応答データと観測データを同時に符号化処理しなければならない場合がある。この場合、従来の符号化装置を適用したデータハンドリングシステムでは、地上局から制御信号を受信した後に人工衛星が地球の影に隠れて地上局側から不可視になると、データ送信先である地上局との通信が不通となり、制御信号に応じた符号化処理を行うことができない。
この発明は、上記のような課題を解決するためになされたもので、CPUの演算能力を効率よく利用できる符号化装置、暗号化装置及びこれら装置としてコンピュータを機能させるプログラムを得ることを目的とする。
また、この発明は、符号化器の数を増やすことなくインターリーブ値を変更することができ、符号化を適宜中断、再開することができる符号化装置及びこの装置としてコンピュータを機能させるプログラムを得ることを目的とする。
この発明に係る符号化装置は、情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、符号化すべき一連の情報シンボルを複数のレジスタに入力するデータ入力部と、レジスタからデータを出力するデータ出力部と、データ出力部によりレジスタから出力されたデータに基づいて、演算用データ格納部の係数データのうち、複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、指定部により指定された係数データを用いて複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部とを備えるものである。
この発明によれば、情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、符号化すべき一連の情報シンボルを複数のレジスタに入力するデータ入力部と、レジスタからデータを出力するデータ出力部と、データ出力部によりレジスタから出力されたデータに基づいて、演算用データ格納部の係数データのうち、複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、指定部により指定された係数データを用いて複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部とを備えるので、複数の情報シンボルをまとめてレジスタ内で符号化演算でき、CPUの演算能力を効率よく利用できる符号化を実現することができるという効果がある。
実施の形態1.
図1は、この発明の実施の形態1による符号化装置の構成を示す図であり、人工衛星に搭載されるデータハンドリングシステムに適用した場合を示している。図1において、実施の形態1による符号化装置は、シフトレジスタ1a〜1d、データ出力部2、排他的論理和演算器(演算部)3、アドレス指定部(指定部)4、係数テーブル格納部(演算用データ格納部)6、受信部7、データ収集部8、データ入力部9、情報データ格納部(データ格納部)10、処理経過データ格納部(処理経過格納部)12及びカウンタ部14を備える。シフトレジスタ1a〜1dは、実施の形態1による符号化装置として機能するコンピュータのCPUのレジスタ幅と同じビット数を有するレジスタである。図1の例では、CPUのレジスタ幅を64ビットとし、シフトレジスタ1a〜1dのレジスタ幅もそれぞれ64ビットであるものとする。
データ出力部2は、レジスタ1dから入力した1シンボル分(1処理単位)の情報シンボルをアドレス指定部4に出力する。ここでは、8ビット(1バイト)が、1処理単位であるものとする。排他的論理和演算器3は、係数テーブル格納部6からレジスタ1a〜1dにそれぞれ取り出された係数データ5とレジスタ1a〜1dの各値との排他的論理和を演算してレジスタ1a〜1dに格納する。アドレス指定部4は、データ出力部2から入力した情報シンボルより導出されるアドレス値に基づいて係数テーブル格納部6からレジスタ1a〜1dへ出力するリードソロモン符号化のための64ビットの4つの係数データ5を指定する。
係数データ5は、8ビット(1処理単位)のデジタルデータを元とするガロア体GF(28 )のベクトル表現の全要素を指数表現に変換した数値と指数表現のガロア体定数との積をとり、これをベクトル表現にしたデータである。例えば、ガロア体GF(28 )の指数表現した原始根αi (i=0〜254)と、定数係数G0 〜G31をガロア体GF(28 )の原始根として指数表現した値との積を求める。この積算結果αk(i)(i=0〜31)を1バイト(1処理単位)の2進数表現に変換した値B0 〜B31を、シフトレジスタ1a〜1dに対応させてB0 〜B7 、B8 〜B15、B16〜B23、B24〜B31とし、これらをそれぞれ連結することにより、係数データ5は、4つの8バイトデータK1 、K2 、K3 、K4 とおくことができる。
係数テーブル格納部6は、係数データ5を所定のアドレス値ごとに対応付けたテーブルとして格納する。ここで、係数データ5は、ガロア体GF(28 )の指数表現した原始根αi のいずれかの値に対応する8ビットのデータmを指定すると、このデータmに対応する4つの8バイトデータK1 (m)、K2 (m)、K3 (m)、K4 (m)として求めることができる。係数テーブル格納部6では、8ビットデータ(256個)の全てに対してデータmに対応するアドレス値を記憶領域に設定し、このアドレス値で指定される記憶領域にK1 (m)、K2 (m)、K3 (m)、K4 (m)を格納する。つまり、データmに対応するアドレスで係数データ5の検索が可能な係数データテーブルを構築する。なお、アドレス値には、8ビットの情報シンボルに所定の演算処理を施した結果を利用してもよいが、情報シンボルに相当する8ビットのデータmをそのままK1 (m)、K2 (m)、K3 (m)、K4 (m)のアドレス値として用いてもよい。
受信部7は、地上局との間で通信を行うデータハンドリングシステムの通信処理部であり、地上局から電波にて送信されるコマンドを受けてコマンド番号を含む応答データCLCW(Command Link Control Word)(4情報シンボル)を生成する。データ収集部8は、人工衛星に搭載された観測装置群との間で通信を行うデータハンドリングシステムの通信処理部であり、観測装置群から観測データを収集して情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報シンボル11を64ビットのレジスタ1aの先頭8ビットに格納する。情報データ格納部10は、データ収集部8により収集された観測データを情報シンボル11として格納する。
処理経過データ格納部12は、リードソロモン符号化処理の中断の際、レジスタ1a〜1dに格納されている値をそれぞれ中断データ13a〜13dとして格納すると共に、リードソロモン符号化処理におけるループ処理のカウント値をカウントデータ15として格納する。カウンタ部14は、リードソロモン符号化処理におけるループ処理の回数、つまり排他的論理和演算器3による演算回数をカウントし、そのカウント値を処理経過データ格納部12に出力する。
上述した、データ出力部2、排他的論理和演算器3、アドレス指定部4、受信部7、データ収集部8、データ入力部9及びカウンタ部14は、本発明の趣旨に従う符号化プログラムを、レジスタ1a〜1dに相当する64ビットレジスタを4つ有するコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上にソフトウエアとハードウェアが協働した具体的な手段として実現することができる。また、係数テーブル格納部6、情報データ格納部10及び処理経過データ格納部12は、上記コンピュータに搭載された汎用メモリ上に構築される。
なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
次に動作について説明する。
図2及び図3は、図1中の符号化装置による符号化処理の流れを示すフローチャートであり、この符号化装置を適用したデータハンドリングシステムが地上局から制御信号を受信した後、人工衛星が地上局側から不可視になった場合の処理を示している。以降では、CCSDS(Consultative Committee for Space Data System Standards)推奨の(255,223)符号をリードソロモン符号として想定する。なお、(255,223)符号は、情報シンボル部が223バイト、冗長部が32バイトとなる。
先ず、データ収集部8は、人工衛星の観測装置群から観測データを収集し、情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報データ格納部10から情報シンボル11を取り出す(ステップST1)。
この後、実施の形態1による符号化装置のCPUは、レジスタ1dにおける末尾8ビットの情報シンボルをデータ出力部2に出力(ステップST2)し、レジスタ1dの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST3)。続いて、上記CPUは、レジスタ1cにおける末尾8ビットの情報シンボルをレジスタ1dの先頭8ビットに追加(ステップST4)し、レジスタ1cの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST5)。
次に、上記CPUは、レジスタ1bにおける末尾8ビットの情報シンボルをレジスタ1cの先頭8ビットに追加(ステップST6)し、レジスタ1bの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST7)。この後、上記CPUは、レジスタ1aにおける末尾8ビットの情報シンボルをレジスタ1bの先頭8ビットに追加(ステップST8)し、レジスタ1aの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST9)。
データ入力部9は、情報データ格納部10から取り出した情報シンボル11をレジスタ1aの先頭8ビットに追加する(ステップST10)。一方、データ出力部2は、レジスタ1dから入力した1情報シンボル分のデジタルデータをアドレス指定部4に出力する。アドレス指定部4は、データ出力部2から入力した1情報シンボル分のデジタルデータに対し所定の演算を施してアドレス値を算出する。例えば、データ出力部2から入力された1情報シンボル分のデジタルデータそのものに対して係数テーブル格納部6のベースアドレス値であるオフセットアドレス値を加算することによって係数データ5のアドレス値としてもよい。
アドレス指定部4は、上述のようにして求めた上記情報シンボルに対応するアドレス値に基づいて係数テーブル格納部6を検索し、係数テーブル格納部6の格納データのうちからリードソロモン符号化のための64ビットの係数データ5を4つ指定する(ステップST11)。アドレス指定部4により指定された4つの係数データ5は、レジスタ1a〜1dにそれぞれ取り出される。排他的論理和演算器3は、係数テーブル格納部6からレジスタ1a〜1dにそれぞれ取り出された係数データ5とレジスタ1a〜1dの各値との排他的論理和を演算してレジスタ1a〜1dに格納する(ステップST12)。
ステップST12までの処理が完了すると、カウンタ部14は、カウント値を1インクリメントする(ステップST13)。この後、上記CPUは、カウンタ部14にカウントされたループ処理の回数(排他的論理和演算器3による演算回数)が219に達したか否かを判定する(ステップST14)。このとき、ループ処理の回数が219でなければ、ステップST1の処理に戻って次の情報シンボル11に対して上述の処理を繰り返す。
一方、ループ処理の回数が219であれば、上記CPUは、レジスタ1a〜1dの内容を中断データ13a〜13dとしてそれぞれ処理経過データ格納部12に格納する(ステップST15)。これにより、(255,223)符号における符号化対象の223バイト分の情報シンボルのうち、応答データCLCWの4情報シンボル分を除く219バイト分の情報シンボルが符号化される。また、カウンタ部14は、カウント値をカウントデータ15として処理経過データ格納部12に格納する(ステップST16)。
次に、上記CPUは、自装置の搭載された人工衛星が地上局側から可視となったか否かを判定する(ステップST17)。例えば、受信部7が地上局との通信を確立したか否かにより可視か否かを判定する。ここで、可視時間になっていなければ、ステップST16の処理に戻って、カウンタ部14のカウント値をカウントデータ15として処理経過データ格納部12に格納する。
ステップST17で可視時間であると判定されると、受信部7は、地上局から電波にて送信されるコマンドを受信し、コマンド番号を含む応答データCLCW(4情報シンボル)を生成する(ステップST18)。次に、上記CPUは、不可視時間に処理経過データ格納部12に格納した中断データ13a〜13dをそれぞれレジスタ1a〜1dに戻し、カウントデータ15をカウンタ部14に戻す(ステップST19)。
受信部7は、ステップST18で生成した応答データCLCWの4情報シンボルのうちの1つを取り出してデータ入力部9に設定(ステップST20)し、上述したステップST2からステップST13までの処理を繰り返す(ステップST21)。ここで、応答データCLCWの4情報シンボルのうちの1つについてステップST21の処理が完了すると、上記CPUは、応答データCLCWの4情報シンボル全てを処理したか否かを判定する(ステップST22)。このとき、全ての情報シンボルが処理されていなければ、ステップST20に戻り、応答データCLCWの次情報シンボルについての処理に移行する。
応答データCLCWの4情報シンボル全ての処理が完了した場合、この時点でのレジスタ1a〜1dの内容がリードソロモン符号のチェックシンボルである(ステップST23)。データ出力部2は、レジスタ1a〜1dから当該リードソロモン符号のチェックシンボルを入力し、符号化結果として出力する。
以上のように、この実施の形態1によれば、情報シンボル11の符号化演算用の係数データ5を格納する係数テーブル格納部6と、情報シンボル11のビット数の整数倍のビット幅を各々が有するレジスタ1a〜1dと、符号化すべき一連の情報シンボル11をレジスタ1a〜1dに入力するデータ入力部9と、レジスタ1dからデータを出力するデータ出力部2と、データ出力部2によりレジスタ1dから出力されたデータに基づいて、係数テーブル格納部6の係数データ5のうち、レジスタ1a〜1dに格納される情報シンボル11の符号化に用いる係数データ5を指定するアドレス指定部4と、アドレス指定部4により指定された係数データ5とレジスタ1a〜1dに格納される情報シンボル11との排他的論理和の演算を行い、該情報シンボル11の符号化データを求める排他的論理和演算器3とを備えるので、8情報シンボル分が1つのレジスタに納められることから、排他論理和演算を8情報シンボル同時に行うことができ、CPUの演算能力を効率よく利用できる。
また、上記実施の形態1による符号化装置は、人工衛星に搭載されるデータハンドリングシステムに適用することで、下記のような効果が得られる。
上述したように、従来の符号化装置を適用した人工衛星に搭載されるデータハンドリングシステムでは、人工衛星が地球の影に隠れると、地上局側から不可視となりテレコマンドを受けて応答データCLCWを生成し、衛星内の観測装置による観測データに関するテレメトリデータ及び応答データCLCWを地上局に送信することができなくなる。
これに対し、この実施の形態1による符号化装置を適用したデータハンドリングシステムでは、応答データCLCW(4情報シンボル)を除くテレメトリデータを不可視時間に符号化しておくことができ、可視時間になってから応答データCLCWを符号化するだけでよい。つまり、符号化対象となる223情報シンボルのうち、応答データCLCWを構成する4情報シンボル分を除く、219情報シンボルを不可視時間に符号化しておき待機している。これによって可視時間に符号化するシンボル数が応答データCLCWの4情報シンボルだけでよくなり、可視時間に行う符号化処理の負担を大幅に軽減することができる。
なお、上記実施の形態1では、64ビットのレジスタ1a〜1dを使用する例を示したが、チェックシンボルを全て格納でき、かつ情報シンボルのビット数の整数倍の大きさを持つレジスタを用いた構成であっても構わない。このように、より多くの情報シンボルを格納できるレジスタであればあるほど演算回数を減らすことが可能である。
さらに、上記実施の形態1では、符号化処理の演算回数が219回で、衛星と地上局とが通信可能となる状態を待つために演算処理を中断したが、符号化処理の任意の演算回数において、CPUを符号化処理以外の処理に使用したい場合が生じたとき等は、レジスタ1a〜1dの内容とカウンタ部14の演算回数を処理経過データ格納部12へ保存することで符号化処理を中断し、CPUを一旦、符号化処理以外の処理をさせた後に、再び処理経過データ格納部12からレジスタ1a〜1dの内容とカウントデータ15を各レジスタ及びカウンタ部14に戻すことで、符号化処理を再開することが可能である。
実施の形態2.
上記実施の形態1では、情報データ格納部10から一連の情報シンボル11をデータ入力部9へ取り出す動作例を示したが、この実施の形態2は、データ入力部9への情報シンボル11の取り出し方を変更することによってインターリーブ機能を実現している。
この実施の形態2による符号化装置の基本的な構成は、上記実施の形態1で示した図1と同様であるが、データ入力部9によって情報データ格納部10から情報シンボルを取り出す動作が異なる。図4は、この発明の実施の形態2による情報シンボル取り出し動作を説明するための図である。図4に示すように、この実施の形態2では、データ入力部9が、情報データ格納部10に格納されている一連の情報シンボルのうち、最初の情報シンボル11−1から一つ飛ばしに格納された情報シンボル11−3,11−5,11−7,11−9からなる情報シンボル群11Aを取り出して、上記実施の形態1で図2及び図3を用いて示した符号化処理を実行する。
情報シンボル群11Aの符号化が完了すると、データ入力部9は、上述の一連の情報シンボルのうちの残りの情報シンボル11−2,11−4,11−6,11−8,11−10からなる情報シンボル群Bを情報データ格納部10から取り出して、上記実施の形態1で図2及び図3を用いて示した符号化処理を実行する。このようにすることで、インタリーブ値が2の符号化処理を行うことができる。
なお、情報データ格納部10に格納された一連の情報シンボルのうち、N個飛びで格納された情報シンボルを読み込んで交互に符号化処理を行うことにより、インターリーブ値N+1の符号化処理が可能である。
以上のように、この実施の形態2によれば、データ入力部9が、情報データ格納部10に格納される符号化すべき一連の情報シンボル11から構成される情報シンボル群11A,11Bのうち、1つ飛び等の所定の順番で並ぶ情報シンボル11を選択的に取り出してレジスタ1a〜1dに入力するので、符号化器の数を増やすことなく、インターリーブ値が可変なインターリーブ機能を実現することができる。
実施の形態3.
上記実施の形態1では、人工衛星用のデータハンドリングシステムにおけるテレメトリデータの符号化処理を例に挙げた。この実施の形態3は、上記実施の形態1で示した符号化装置に暗号部を追加して暗号化装置を構成しており、CPUの演算能力を効率よく利用した暗号化処理が可能である。
図5は、この発明の実施の形態3による暗号化装置の構成を示す図である。以降では、この暗号化装置を、TCP/IPを用いて暗号化データをやり取りする監視制御システムに適用した場合について説明する。なお、この監視制御システムでは、監視機器と基地局とがネットワークを介して接続されており、図5中の暗号化装置を監視機器に搭載する。暗号化装置では、監視機器で取得された監視データに基地局への応答確認データを含めて暗号化し、この暗号化データがネットワークを介して基地局に送信される。
図5に示すように、実施の形態1による暗号化装置は、上記実施の形態1で示した図1の構成に加え、暗号部16を備える。この暗号化装置における受信部7は、TCP/IPを扱うインタフェースを有し、ネットワークを介して基地局からのデータを受信する。また、データ収集部8は、監視装置に搭載された不図示の監視機器(例えば、監視カメラ)によって取得された監視データを情報シンボル11として情報データ格納部10に格納する。
また、係数テーブル格納部6は、係数データ5の代わりに暗号化用データを格納する。なお、図5に示す暗号化装置は、係数データ5(テーブルデータ)を係数テーブル格納部6に戻し、アドレス指定部4が係数テーブル格納部6の係数データ5を指定することで、上記実施の形態1や上記実施の形態2で示した符号化装置として機能させることも可能である。
暗号部16は、所定の暗号化アルゴリズムに従って暗号化処理を実行する。ここでは、暗号化モードとしてCTRモードを実行するものとする。また、CTRモードでは、基地局との通信毎に異なる値が設定される定数データであるノンスとカウントデータとが合わさったデータを暗号化した結果を暗号化用データとする。
図5中の暗号化装置では、カウンタ部14のカウントデータ15と合わさった暗号化用データが生成され、係数テーブル格納部6には、カウンタ部14のカウントデータ15に対応付けたテーブルデータとして暗号化用データが格納される。なお、この他の構成要素は、図1で示したものと同様に動作するので、重複する説明を省略する。
データ出力部2、排他的論理和演算器3、アドレス指定部4、受信部7、データ収集部8、データ入力部9、カウンタ部14及び暗号部16は、本発明の趣旨に従う暗号化プログラムを、レジスタ1a〜1dに相当する64ビットレジスタを4つ有するコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上にソフトウエアとハードウェアが協働した具体的な手段として実現することができる。また、係数テーブル格納部6、情報データ格納部10及び処理経過データ格納部12は、上記コンピュータに搭載された汎用メモリ上に構築される。
なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
次に動作について説明する。
図5中の暗号化装置は、以下の手順に沿って暗号化処理を実行する。
(1)手順1
先ず、データ収集部8が、監視装置の監視機器群から監視データを収集し、情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報データ格納部10から情報シンボル11を取り出し、上記実施の形態1と同様にしてレジスタ1a〜1dにシフトによって取り込む。
例えば、上記実施の形態1と同様に、この実施の形態3による暗号化装置のCPUが、レジスタ1dに設定された情報シンボルをデータ出力部2に出力し、レジスタ1cの全値を右論理シフトしてレジスタ1dに設定する。さらに、レジスタ1bの全値を右論理シフトしてレジスタ1cに設定し、レジスタ1aの全値を右論理シフトしてレジスタ1bに設定する。この後、データ入力部9が、情報データ格納部10から取り出した一連の8つの情報シンボル11をレジスタ1aに設定する。
(2)手順2
次に、暗号部16は、今回の基地局との通信用のノンスを生成し、カウント部14からカウントデータを取得して、ノンスとカウントデータを合わせた64ビットの平文ブロックを作成する。ここでは、暗号部16が、64ビットの上位4バイトにノンスを設定し、下位4バイトにカウントデータを設定した16進数表現の平文ブロックを生成し、例えば「661F98CD00000001」が生成されたものとする。なお、下位4バイトの「00000001」は、カウンタ部14からのカウントデータであるので、カウンタ部14がカウントするたびにカウントアップされる。
(3)手順3
暗号部16は、DES(Data Encryption Standard)又はトリプルDESの暗号化アルゴリズムを用いて、手順2で生成した64ビットの平文ブロックを暗号化し、64ビットの暗号化用データKを生成する。
(4)手順4
暗号部16は、手順3で生成された暗号化用データKを係数テーブル格納部6に格納する。
(5)手順5
排他的論理和演算器3は、係数テーブル格納部6から読み出された暗号化用データKとレジスタ1dの値との排他的論理和を演算してレジスタ1dに格納する。
(6)手順6
上記CPUは、手順5で暗号化用データKとの間で排他的論理和演算されたレジスタ1dの全値をデータ出力部2に出力し、レジスタ1cの全値をレジスタ1dに移動させる。また、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。この後、データ入力部9は、情報データ格納部10から取り出した一連の8つの情報シンボル11をレジスタ1aに設定する。これにより、レジスタ1aに新たなデータが設定される。
(7)手順7
手順6が完了すると、カウンタ部14が、カウントデータの値を1インクリメントし、カウントデータを暗号部16に出力する。暗号部16では、このカウントデータとノンスとを合わせた平文ブロックを暗号化して暗号化用データを求める。例えば、カウントデータがカウントアップされた、平文ブロック「661F98CD00000002」が暗号化される。この後、手順3〜7を繰り返することで、情報シンボル11が暗号化される。
以上のように、この実施の形態3によれば、情報シンボル11の暗号化用データKを算出する暗号部16と、暗号部16により算出された暗号化用データKを格納する係数テーブル格納部6と、情報シンボル11のビット数の整数倍のビット幅を各々が有するレジスタ1a〜1dと、暗号化すべき一連の情報シンボル11をレジスタ1a〜1dに入力するデータ入力部9と、係数テーブル格納部6から取り出した暗号化用データKとレジスタ1dに格納される情報シンボル11との排他的論理和の演算を行い、該情報シンボル11の暗号化データを求める排他的論理和演算器3とを備えたので、複数の情報シンボルをまとめてレジスタ内で暗号化演算でき、CPUの演算能力を効率よく利用できる暗号化を実現することができる。
なお、上記実施の形態3では、暗号部16がDES又はトリプルDESの暗号化アルゴリズムに従って暗号化する例を示したが、AES(Rijndael)の暗号化アルゴリズムを使用することもできる。具体的に説明すると、手順2において、暗号部16が、ノンスを8バイト、カウントデータを8バイトとして、128ビットの平文ブロックを生成し、これを暗号化して128ビットの暗号化用データを生成する。ここで、暗号部16は、128の暗号化用データを64ビットごとのデータK1,K2に分割し、係数テーブル格納部6に格納する。
この後、手順5において、排他的論理和演算器3が、係数テーブル格納部6から読み出された暗号化用データK1とレジスタ1cの値との排他的論理和を演算してレジスタ1cに格納し、暗号化用データK2とレジスタ1dの値との排他的論理和を演算してレジスタ1dに格納する。
手順6において、上記CPUが、手順5で排他的論理和演算されたレジスタ1c,1dの全値を2回のデータシフトによりデータ出力部2に出力する。つまり、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1cの全値をレジスタ1dに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。続いて、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。この後、データ入力部9が、情報データ格納部10から取り出した8つの情報シンボル11を新たなデータとしてレジスタ1aに設定する。
手順6が完了すると、カウンタ部14が、カウントデータの値を1インクリメントし、カウントデータを暗号部16に出力する。暗号部16では、このカウントデータとノンスとを合わせた平文ブロックを生成する。この後、手順3〜7を繰り返すことで、情報シンボル11が暗号化される。このようにすることで、実施の形態3による暗号化装置は、128ビットの暗号アルゴリズムに従った暗号化も実現できる。
この発明の実施の形態1による符号化装置の構成を示す図である。 図1中の符号化装置による符号化処理の流れを示すフローチャートである。 図1中の符号化装置による符号化処理の流れを示すフローチャートである。 この発明の実施の形態2による情報シンボル取り出し動作を説明するための図である。 この発明の実施の形態3による暗号化装置の構成を示す図である。
符号の説明
1a〜1d レジスタ、2 データ出力部、3 排他的論理和演算器(演算部)、4 アドレス指定部(指定部)、5 係数データ、6 係数テーブル格納部(演算用データ格納部)、7 受信部、8 データ収集部、9 データ入力部、10 情報データ格納部(データ格納部)、11,11−1〜11−10 情報シンボル、11A,11B 情報シンボル群、12 処理経過データ格納部(処理経過格納部)、13a〜13d 中断データ、14 カウンタ部、15 カウントデータ、16 暗号部。

Claims (10)

  1. 情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、
    前記情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、
    符号化すべき一連の情報シンボルを前記複数のレジスタに入力するデータ入力部と、
    前記レジスタからデータを出力するデータ出力部と、
    前記データ出力部により前記レジスタから出力されたデータに基づいて、前記演算用データ格納部の係数データのうち、前記複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、
    前記指定部により指定された係数データを用いて前記複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部とを備えた符号化装置。
  2. 演算用データ格納部は、1情報シンボル単位のデジタルデータを元とするガロア体のベクトル表現の全要素を指数表現に変換した数値と指数表現のガロア体定数との積をとり、これをベクトル表現にしたデータを係数データとして格納し、
    指定部は、データ出力部によりレジスタから出力されたデータに基づいて、複数のレジスタに格納されている情報シンボルを求め、該情報シンボルを前記ガロア体のベクトル表現とみなして前記演算用データ格納部を検索することにより、前記複数のレジスタに格納されている情報シンボルの符号化に用いる係数データを指定し、
    演算部は、前記複数のレジスタに格納されている情報シンボルと前記指定部により指定された係数データとの排他的論理和の演算を行うことを特徴とする請求項1記載の符号化装置。
  3. 指定部は、ガロア体のベクトル表現された係数データを各レジスタのレジスタ幅に合わせたビット列で指定することを特徴とする請求項2記載の符号化装置。
  4. 装置外部からデータを収集するデータ収集部と、前記データ収集部により収集されたデータを情報シンボルとして格納するデータ格納部とを備えたことを特徴とする請求項1から請求項3のうちのいずれか1項記載の符号化装置。
  5. データ入力部は、データ格納部に格納されている符号化すべき一連の情報シンボルから構成される情報シンボル群のうち、所定の順番で並ぶ情報シンボルを選択的に取り出してレジスタに入力することを特徴とする請求項1から請求項4のうちのいずれか1項記載の符号化装置。
  6. 演算部による演算回数をカウントするカウンタ部と、前記カウンタ部によりカウントされる演算回数において、符号化処理を中断するにあたり、演算回数及び前記各レジスタに記録されている途中の演算結果を格納する処理経過格納部を備え、符号化処理を再開するにあたり、前記処理経過格納部に格納された演算回数及び符号化処理を中断した際に記録した演算の途中結果を用いることを特徴とする請求項1から請求項5のうちのいずれか1項記載の符号化装置。
  7. 情報シンボルの暗号化用データを算出する暗号部と、
    前記暗号部により算出された暗号化用データを格納する演算用データ格納部と、
    情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、
    暗号化すべき一連の情報シンボルを前記複数のレジスタに入力するデータ入力部と、
    前記演算用データ格納部から取り出した暗号化用データを用いて、前記レジスタに格納される情報シンボルの暗号化演算を行い、該情報シンボルの暗号化データを求める演算部とを備えた暗号化装置。
  8. 演算部による演算回数をカウントするカウンタ部を備え、
    暗号部は、ノンスに相当するデジタル値と前記カウンタ部のカウント値とを組み合わせたブロックデータを暗号化して暗号化用データを算出し、
    前記演算部は、前記カウント値に基づいて演算用データ格納部から取り出された暗号化用データを用いて、レジスタに格納される情報シンボルの暗号化演算を行うことを特徴とする請求項7記載の暗号化装置。
  9. 請求項1から請求項6のうちのいずれか1項記載の符号化装置としてコンピュータを機能させるプログラム。
  10. 請求項7又は請求項8記載の暗号化装置としてコンピュータを機能させるプログラム。
JP2007131870A 2007-05-17 2007-05-17 符号化装置、暗号化装置及びプログラム Expired - Fee Related JP4749383B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131870A JP4749383B2 (ja) 2007-05-17 2007-05-17 符号化装置、暗号化装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131870A JP4749383B2 (ja) 2007-05-17 2007-05-17 符号化装置、暗号化装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008288884A true JP2008288884A (ja) 2008-11-27
JP4749383B2 JP4749383B2 (ja) 2011-08-17

Family

ID=40148190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131870A Expired - Fee Related JP4749383B2 (ja) 2007-05-17 2007-05-17 符号化装置、暗号化装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4749383B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524014A (ja) * 2007-03-30 2010-07-15 株式会社エヌ・ティ・ティ・ドコモ レートレス符号によってコード化された内容のための低複雑性暗号化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295116A (ja) * 1999-03-15 2000-10-20 Texas Instr Inc <Ti> 誤り修正符号化方法
JP2004233427A (ja) * 2003-01-28 2004-08-19 Nec Corp Aes暗号処理装置、aes復号処理装置、および、aes暗号・復号処理装置
WO2005062472A1 (en) * 2003-12-12 2005-07-07 Analog Devices, Inc. Encoding and decoding of reed-solomon codes using look-up tables for galois field multiplications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295116A (ja) * 1999-03-15 2000-10-20 Texas Instr Inc <Ti> 誤り修正符号化方法
JP2004233427A (ja) * 2003-01-28 2004-08-19 Nec Corp Aes暗号処理装置、aes復号処理装置、および、aes暗号・復号処理装置
WO2005062472A1 (en) * 2003-12-12 2005-07-07 Analog Devices, Inc. Encoding and decoding of reed-solomon codes using look-up tables for galois field multiplications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524014A (ja) * 2007-03-30 2010-07-15 株式会社エヌ・ティ・ティ・ドコモ レートレス符号によってコード化された内容のための低複雑性暗号化方法

Also Published As

Publication number Publication date
JP4749383B2 (ja) 2011-08-17

Similar Documents

Publication Publication Date Title
CN103975533B (zh) 可变长度编码的数据流的高带宽解压
JP3746098B2 (ja) データの暗号化装置
KR102154164B1 (ko) 의사 랜덤 시퀀스 생성 방법 및 데이터 스트림의 코딩 또는 디코딩 방법
JP2005534235A (ja) 暗号用シード値生成方法およびシステム
JP2004233427A (ja) Aes暗号処理装置、aes復号処理装置、および、aes暗号・復号処理装置
JPWO2004001701A1 (ja) 符号演算装置
JP5845824B2 (ja) 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システム、コンテンツの生成方法およびコンテンツの復号化方法
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
JP2007316614A (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
CN113824547A (zh) 保留格式的加密和解密方法、装置、电子设备和介质
JP3532860B2 (ja) 剰余系表現を利用した演算装置及び方法及びプログラム
WO2003084077A1 (fr) Procede et dispositif de conversion de donnees de longueur variable/fixe
WO2001063772A1 (en) Method and apparatus for optimized lossless compression using a plurality of coders
CN101296053A (zh) 计算循环冗余校验码之方法及系统
JP4749383B2 (ja) 符号化装置、暗号化装置及びプログラム
WO2017023195A1 (ru) Способ линейного преобразования (варианты)
CN107612891B (zh) 一种数据压缩加密电路
JP2000004169A (ja) Crc演算方法及びcrc演算回路
JP2012033032A (ja) 情報処理装置および情報処理方法
JP4758494B2 (ja) ビット長を符号に変換する回路及び方法
US8745476B1 (en) Systems and methods for cyclic redundancy check implementation
CN114629665A (zh) 一种用于可信计算的硬件平台
US20130124588A1 (en) Encoding densely packed decimals
CN115114279A (zh) 置换表生成方法、数据加、解密方法及装置、介质、设备
JP6164359B2 (ja) 設計支援方法、設計支援プログラム、および設計支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110517

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees