Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4749383B2 - Encoding device, encryption device, and program - Google Patents
[go: Go Back, main page]

JP4749383B2 - Encoding device, encryption device, and program - Google Patents

Encoding device, encryption device, and program Download PDF

Info

Publication number
JP4749383B2
JP4749383B2 JP2007131870A JP2007131870A JP4749383B2 JP 4749383 B2 JP4749383 B2 JP 4749383B2 JP 2007131870 A JP2007131870 A JP 2007131870A JP 2007131870 A JP2007131870 A JP 2007131870A JP 4749383 B2 JP4749383 B2 JP 4749383B2
Authority
JP
Japan
Prior art keywords
data
unit
information symbols
encryption
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.)
Expired - Fee Related
Application number
JP2007131870A
Other languages
Japanese (ja)
Other versions
JP2008288884A (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
Priority to JP2007131870A priority Critical patent/JP4749383B2/en
Publication of JP2008288884A publication Critical patent/JP2008288884A/en
Application granted granted Critical
Publication of JP4749383B2 publication Critical patent/JP4749383B2/en
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)

Description

この発明は、レジスタ及び係数データ格納部を用いて、情報データに対しブロック型の誤り訂正符号化を行う符号化装置、暗号化を行う暗号化装置及びこれら装置としてコンピュータを機能させるプログラムに関するものである。   The present invention relates to an encoding device that performs block-type error correction encoding on information data using a register and a coefficient data storage unit, an encryption device that performs encryption, and a program that causes a computer to function as these devices. is there.

例えば、特許文献1に開示される従来の符号化装置では、リードソロモン符号の生成多項式における各項との乗算を行うにあたり、乗算器がリードソロモン符号のシンボル単位で乗算を行い、加算器がビット単位で加算を行う。また、特許文献2に開示される従来の符号化装置は、インターリーブにより符号化を行うにあたり、スイッチで符号化対象の入力情報を複数の符号化器に振り分ける。   For example, in the conventional encoding device disclosed in Patent Document 1, when multiplying each term in the Reed-Solomon code generator polynomial, the multiplier performs multiplication in symbol units of the Reed-Solomon code, and the adder uses the bit. Add in units. In addition, the conventional encoding device disclosed in Patent Document 2 distributes input information to be encoded to a plurality of encoders with a switch when performing encoding by interleaving.

特開平9−331262号公報JP-A-9-33162 特開2002−27464号公報JP 2002-27464 A

従来の符号化装置は、符号化においてCPUを効率よく利用できない処理が含まれており、また専用のハードウェアが必要であった。例えば、特許文献1の符号化装置では、加算器の演算においてCPUがシフトレジスタをビットシフトさせてデータ移動することから、複数ビット毎のシフトでのレジスタ演算が可能なCPUの演算能力を効率よく利用できていない。   The conventional encoding device includes processing that cannot efficiently use the CPU in encoding, and requires dedicated hardware. For example, in the encoding device of Patent Document 1, since the CPU shifts the shift register in the adder operation to move the data, the CPU can efficiently perform the arithmetic operation of the register that can perform the register operation by shifting every plural bits. Not available.

さらに、特許文献1の符号化装置は、リードソロモン符号のチェックシンボルを算出するために乗算器及び加算器が専用ハードウェアとして必要である。特許文献2の符号化装置においても、インターリーブ処理を行うために複数の符号器を備える必要があり又は符号化器の数によってインターリーブ値の上限が固定される。   Furthermore, the encoding device of Patent Document 1 requires a multiplier and an adder as dedicated hardware in order to calculate a Reed-Solomon code check symbol. Also in the encoding device of Patent Document 2, it is necessary to provide a plurality of encoders in order to perform interleaving processing, or the upper limit of the interleave value is fixed depending on the number of encoders.

また、従来の符号化装置は、符号化処理を中断、再開する機能を有しておらず、データ送信先との通信が可能な時間内にデータを符号化して送信する必要がある。例えば、地球を周回する人工衛星に搭載するデータハンドリングシステムでは、地上局側から制御命令を受信すると即座に応答データを返信する必要性があり、かつその応答データと観測データを同時に符号化処理しなければならない場合がある。この場合、従来の符号化装置を適用したデータハンドリングシステムでは、地上局から制御信号を受信した後に人工衛星が地球の影に隠れて地上局側から不可視になると、データ送信先である地上局との通信が不通となり、制御信号に応じた符号化処理を行うことができない。   Further, the conventional encoding device does not have a function of interrupting and resuming the encoding process, and it is necessary to encode and transmit data within a time during which communication with the data transmission destination is possible. For example, in a data handling system mounted on an artificial satellite orbiting the earth, it is necessary to return response data immediately upon receiving a control command from the ground station, and the response data and observation data are encoded simultaneously. You may have to. In this case, in a data handling system to which a conventional encoding device is applied, after receiving a control signal from the ground station, if the artificial satellite becomes hidden from the ground and becomes invisible from the ground station side, the data transmission destination ground station and Communication is interrupted, and the encoding process according to the control signal cannot be performed.

この発明は、上記のような課題を解決するためになされたもので、CPUの演算能力を効率よく利用できる符号化装置、暗号化装置及びこれら装置としてコンピュータを機能させるプログラムを得ることを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain an encoding device, an encryption device, and a program that allows a computer to function as these devices, which can efficiently use the computing power of a CPU. To do.

また、この発明は、符号化器の数を増やすことなくインターリーブ値を変更することができ、符号化を適宜中断、再開することができる符号化装置及びこの装置としてコンピュータを機能させるプログラムを得ることを目的とする。   The present invention also provides an encoding device that can change the interleave value without increasing the number of encoders, can interrupt and restart encoding as appropriate, and a program that causes a computer to function as this device. With the goal.

この発明に係る符号化装置は、情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、符号化すべき一連の情報シンボルを複数のレジスタに入力するデータ入力部と、レジスタからデータを出力するデータ出力部と、データ出力部によりレジスタから出力されたデータに基づいて、演算用データ格納部の係数データのうち、複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、指定部により指定された係数データを用いて複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部と、演算部による演算回数をカウントするカウンタ部と、カウンタ部によりカウントされる演算回数において、符号化処理を中断するにあたり、演算回数及び各レジスタに記録されている途中の演算結果を格納する処理経過格納部とを備え、符号化処理を再開するにあたり、処理経過格納部に格納された演算回数及び符号化処理を中断した際に記録した演算の途中結果を用いるものである。 An encoding apparatus according to the present invention includes a calculation data storage unit that stores coefficient data for encoding calculation of information symbols, a plurality of registers each having a bit width that is an integral multiple of the number of bits of the information symbols, A data input unit that inputs a series of information symbols to be converted into a plurality of registers, a data output unit that outputs data from the registers, and a coefficient of the data storage unit for calculation based on the data output from the register by the data output unit Of the data, a designation unit for specifying coefficient data used for encoding information symbols stored in a plurality of registers, and encoding of information symbols stored in a plurality of registers using the coefficient data specified by the specification unit It performs calculation, a calculation section for obtaining encoded data of the information symbols, and a counter for counting the number of operations by the arithmetic unit, the counter A processing progress storage unit for storing the number of operations and the operation result being recorded in each register when interrupting the encoding process in the number of operations counted by the The number of operations stored in the progress storage unit and the intermediate result of the operation recorded when the encoding process is interrupted are used .

この発明によれば、情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、符号化すべき一連の情報シンボルを複数のレジスタに入力するデータ入力部と、レジスタからデータを出力するデータ出力部と、データ出力部によりレジスタから出力されたデータに基づいて、演算用データ格納部の係数データのうち、複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、指定部により指定された係数データを用いて複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部と、演算部による演算回数をカウントするカウンタ部と、カウンタ部によりカウントされる演算回数において、符号化処理を中断するにあたり、演算回数及び各レジスタに記録されている途中の演算結果を格納する処理経過格納部とを備え、符号化処理を再開するにあたり、処理経過格納部に格納された演算回数及び符号化処理を中断した際に記録した演算の途中結果を用いるので、複数の情報シンボルをまとめてレジスタ内で符号化演算でき、CPUの演算能力を効率よく利用できる符号化を実現することができるという効果がある。
According to the present invention, a calculation data storage unit that stores coefficient data for encoding calculation of information symbols, a plurality of registers each having a bit width that is an integral multiple of the number of bits of information symbols, and a series of codes to be encoded A data input unit that inputs information symbols to a plurality of registers, a data output unit that outputs data from the registers, and coefficient data in the arithmetic data storage unit based on the data output from the register by the data output unit A designation unit for specifying coefficient data used for encoding information symbols stored in a plurality of registers, and a coding operation for information symbols stored in the plurality of registers using the coefficient data specified by the specification unit an arithmetic unit for obtaining encoded data of the information symbols, and a counter for counting the number of operations by the arithmetic unit, mosquitoes by the counter unit A processing progress storage unit for storing the number of computations and the computation results recorded in each register when the encoding process is interrupted. Since the number of operations stored in the storage unit and the result of the operation recorded when the encoding process is interrupted are used , a plurality of information symbols can be encoded together in the register, and the CPU's computing power can be used efficiently There is an effect that encoding that can be performed can be realized.

実施の形態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ビットであるものとする。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of an encoding apparatus according to Embodiment 1 of the present invention, and shows a case where it is applied to a data handling system mounted on an artificial satellite. 1, the encoding apparatus according to Embodiment 1 includes shift registers 1a to 1d, a data output unit 2, an exclusive OR calculator (arithmetic unit) 3, an address designation unit (designation unit) 4, and a coefficient table storage unit. (Calculation data storage unit) 6, reception unit 7, data collection unit 8, data input unit 9, information data storage unit (data storage unit) 10, processing progress data storage unit (processing progress storage unit) 12, and counter unit 14 Is provided. The shift registers 1a to 1d are registers having the same number of bits as the register width of the CPU of the computer functioning as the encoding device according to the first embodiment. In the example of FIG. 1, it is assumed that the register width of the CPU is 64 bits, and the register widths of the shift registers 1a to 1d are each 64 bits.

データ出力部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を指定する。   The data output unit 2 outputs information symbols for one symbol (one processing unit) input from the register 1 d to the address designating unit 4. Here, it is assumed that 8 bits (1 byte) is one processing unit. The exclusive OR calculator 3 calculates the exclusive OR of the coefficient data 5 extracted from the coefficient table storage unit 6 to the registers 1a to 1d and the respective values of the registers 1a to 1d, and stores them in the registers 1a to 1d. Store. The address designating unit 4 uses four 64-bit coefficients for Reed-Solomon encoding that are output from the coefficient table storage unit 6 to the registers 1a to 1d based on the address value derived from the information symbol input from the data output unit 2. Specify data 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 とおくことができる。 The coefficient data 5 is a product of a numerical value obtained by converting all elements of a vector representation of a Galois field GF (2 8 ) based on 8-bit (one processing unit) digital data into an exponential representation and a Galois field constant of the exponential representation. This is data in the form of vector representation. For example, a primitive root alpha i was exponential representation of the Galois field GF (2 8) (i = 0 to 254), a value obtained by exponential expressed as a primitive root of constant coefficients G 0 ~G 31 a Galois field GF (2 8) Find the product of Values B 0 to B 31 obtained by converting the integration result α k (i) (i = 0 to 31) into a binary representation of 1 byte (one processing unit) are associated with the shift registers 1a to 1d and B 0 to B 7 , B 8 to B 15 , B 16 to B 23 , and B 24 to B 31 are connected to each other, whereby the coefficient data 5 is converted into four 8-byte data K 1 , K 2 , K 3 , K You can say 4 .

係数テーブル格納部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)のアドレス値として用いてもよい。 The coefficient table storage unit 6 stores the coefficient data 5 as a table associated with each predetermined address value. Here, when the coefficient data 5 designates 8-bit data m corresponding to any value of the primitive root α i expressed exponentially in the Galois field GF (2 8 ), four 8-bytes corresponding to the data m are designated. Data K 1 (m), K 2 (m), K 3 (m), and K 4 (m) can be obtained. In the coefficient table storage unit 6, an address value corresponding to the data m is set in the storage area for all 8-bit data (256 pieces), and K 1 (m), K is stored in the storage area specified by this address value. 2 (m), K 3 (m), K 4 (m) are stored. That is, a coefficient data table is constructed in which the coefficient data 5 can be searched at the address corresponding to the data m. The address value may be a result obtained by performing predetermined arithmetic processing on an 8-bit information symbol, but 8-bit data m corresponding to the information symbol is directly used as K 1 (m), K 2 ( m), K 3 (m), and K 4 (m) may be used as address values.

受信部7は、地上局との間で通信を行うデータハンドリングシステムの通信処理部であり、地上局から電波にて送信されるコマンドを受けてコマンド番号を含む応答データCLCW(Command Link Control Word)(4情報シンボル)を生成する。データ収集部8は、人工衛星に搭載された観測装置群との間で通信を行うデータハンドリングシステムの通信処理部であり、観測装置群から観測データを収集して情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報シンボル11を64ビットのレジスタ1aの先頭8ビットに格納する。情報データ格納部10は、データ収集部8により収集された観測データを情報シンボル11として格納する。   The receiving unit 7 is a communication processing unit of a data handling system that performs communication with the ground station. The receiving unit 7 receives response commands transmitted from the ground station by radio waves and includes response data CLCW (Command Link Control Word). (4 information symbols) is generated. The data collection unit 8 is a communication processing unit of a data handling system that communicates with an observation device group mounted on an artificial satellite. The data collection unit 8 collects observation data from the observation device group and stores it in the information data storage unit 10 with 8 bits. Saved as unit information symbol 11. The data input unit 9 stores the information symbol 11 in the first 8 bits of the 64-bit register 1a. The information data storage unit 10 stores the observation data collected by the data collection unit 8 as information symbols 11.

処理経過データ格納部12は、リードソロモン符号化処理の中断の際、レジスタ1a〜1dに格納されている値をそれぞれ中断データ13a〜13dとして格納すると共に、リードソロモン符号化処理におけるループ処理のカウント値をカウントデータ15として格納する。カウンタ部14は、リードソロモン符号化処理におけるループ処理の回数、つまり排他的論理和演算器3による演算回数をカウントし、そのカウント値を処理経過データ格納部12に出力する。   When the Reed-Solomon encoding process is interrupted, the process progress data storage unit 12 stores the values stored in the registers 1a to 1d as interrupt data 13a to 13d, respectively, and counts the loop process in the Reed-Solomon encoding process. The value is stored as count data 15. The counter unit 14 counts the number of loop processes in the Reed-Solomon encoding process, that is, the number of calculations performed by the exclusive OR calculator 3, and outputs the count value to the process progress data storage unit 12.

上述した、データ出力部2、排他的論理和演算器3、アドレス指定部4、受信部7、データ収集部8、データ入力部9及びカウンタ部14は、本発明の趣旨に従う符号化プログラムを、レジスタ1a〜1dに相当する64ビットレジスタを4つ有するコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上にソフトウエアとハードウェアが協働した具体的な手段として実現することができる。また、係数テーブル格納部6、情報データ格納部10及び処理経過データ格納部12は、上記コンピュータに搭載された汎用メモリ上に構築される。   The data output unit 2, the exclusive OR calculator 3, the address specifying unit 4, the receiving unit 7, the data collecting unit 8, the data input unit 9 and the counter unit 14 described above are encoded programs according to the spirit of the present invention. By reading into a computer having four 64-bit registers corresponding to the registers 1a to 1d and controlling its operation, it can be realized as a specific means in which software and hardware cooperate on the computer. . The coefficient table storage unit 6, the information data storage unit 10, and the process progress data storage unit 12 are constructed on a general-purpose memory mounted on the computer.

なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。   Note that the configuration of the computer itself and its basic functions can be easily recognized by those skilled in the art based on the common general technical knowledge in the technical field, and are not directly related to the essence of the present invention, so detailed description thereof is omitted. To do.

次に動作について説明する。
図2及び図3は、図1中の符号化装置による符号化処理の流れを示すフローチャートであり、この符号化装置を適用したデータハンドリングシステムが地上局から制御信号を受信した後、人工衛星が地上局側から不可視になった場合の処理を示している。以降では、CCSDS(Consultative Committee for Space Data System Standards)推奨の(255,223)符号をリードソロモン符号として想定する。なお、(255,223)符号は、情報シンボル部が223バイト、冗長部が32バイトとなる。
Next, the operation will be described.
2 and 3 are flowcharts showing the flow of the encoding process by the encoding device in FIG. 1. After the data handling system to which this encoding device is applied receives the control signal from the ground station, the artificial satellite The process when it becomes invisible from the ground station side is shown. In the following, the (255, 223) code recommended by CCSDS (Consultative Committee for Space Data System Standards) is assumed as the Reed-Solomon code. The (255, 223) code has an information symbol part of 223 bytes and a redundant part of 32 bytes.

先ず、データ収集部8は、人工衛星の観測装置群から観測データを収集し、情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報データ格納部10から情報シンボル11を取り出す(ステップST1)。   First, the data collection unit 8 collects observation data from the observation device group of artificial satellites, and stores it in the information data storage unit 10 as information symbols 11 in units of 8 bits. The data input unit 9 takes out the information symbol 11 from the information data storage unit 10 (step ST1).

この後、実施の形態1による符号化装置のCPUは、レジスタ1dにおける末尾8ビットの情報シンボルをデータ出力部2に出力(ステップST2)し、レジスタ1dの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST3)。続いて、上記CPUは、レジスタ1cにおける末尾8ビットの情報シンボルをレジスタ1dの先頭8ビットに追加(ステップST4)し、レジスタ1cの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST5)。   Thereafter, the CPU of the encoding apparatus according to the first embodiment outputs the last 8 bits of information symbols in the register 1d to the data output unit 2 (step ST2), and the contents of the register 1d for one information symbol (8 bits). Shift right logically (step ST3). Subsequently, the CPU adds the last 8 bits of the information symbol in the register 1c to the first 8 bits of the register 1d (step ST4), and right-shifts the contents of the register 1c by one information symbol (8 bits) (step ST4). ST5).

次に、上記CPUは、レジスタ1bにおける末尾8ビットの情報シンボルをレジスタ1cの先頭8ビットに追加(ステップST6)し、レジスタ1bの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST7)。この後、上記CPUは、レジスタ1aにおける末尾8ビットの情報シンボルをレジスタ1bの先頭8ビットに追加(ステップST8)し、レジスタ1aの内容を1情報シンボル分(8ビット)右論理シフトする(ステップST9)。   Next, the CPU adds the last 8 bits of information symbols in the register 1b to the first 8 bits of the register 1c (step ST6), and right-shifts the contents of the register 1b by one information symbol (8 bits) (step ST6). ST7). Thereafter, the CPU adds the last 8 bits of the information symbol in the register 1a to the first 8 bits of the register 1b (step ST8), and right-shifts the contents of the register 1a by one information symbol (8 bits) (step ST8). ST9).

データ入力部9は、情報データ格納部10から取り出した情報シンボル11をレジスタ1aの先頭8ビットに追加する(ステップST10)。一方、データ出力部2は、レジスタ1dから入力した1情報シンボル分のデジタルデータをアドレス指定部4に出力する。アドレス指定部4は、データ出力部2から入力した1情報シンボル分のデジタルデータに対し所定の演算を施してアドレス値を算出する。例えば、データ出力部2から入力された1情報シンボル分のデジタルデータそのものに対して係数テーブル格納部6のベースアドレス値であるオフセットアドレス値を加算することによって係数データ5のアドレス値としてもよい。   The data input unit 9 adds the information symbol 11 extracted from the information data storage unit 10 to the first 8 bits of the register 1a (step ST10). On the other hand, the data output unit 2 outputs digital data for one information symbol input from the register 1 d to the address specifying unit 4. The address designating unit 4 performs a predetermined operation on the digital data for one information symbol input from the data output unit 2 to calculate an address value. For example, the address value of the coefficient data 5 may be obtained by adding an offset address value that is a base address value of the coefficient table storage unit 6 to the digital data itself for one information symbol input from the data output unit 2.

アドレス指定部4は、上述のようにして求めた上記情報シンボルに対応するアドレス値に基づいて係数テーブル格納部6を検索し、係数テーブル格納部6の格納データのうちからリードソロモン符号化のための64ビットの係数データ5を4つ指定する(ステップST11)。アドレス指定部4により指定された4つの係数データ5は、レジスタ1a〜1dにそれぞれ取り出される。排他的論理和演算器3は、係数テーブル格納部6からレジスタ1a〜1dにそれぞれ取り出された係数データ5とレジスタ1a〜1dの各値との排他的論理和を演算してレジスタ1a〜1dに格納する(ステップST12)。   The address specifying unit 4 searches the coefficient table storage unit 6 based on the address value corresponding to the information symbol obtained as described above, and performs Reed-Solomon encoding from the stored data in the coefficient table storage unit 6. Four 64-bit coefficient data 5 are designated (step ST11). The four coefficient data 5 designated by the address designating unit 4 are taken out to the registers 1a to 1d, respectively. The exclusive OR calculator 3 calculates the exclusive OR of the coefficient data 5 extracted from the coefficient table storage unit 6 to the registers 1a to 1d and the respective values of the registers 1a to 1d, and stores them in the registers 1a to 1d. Store (step ST12).

ステップST12までの処理が完了すると、カウンタ部14は、カウント値を1インクリメントする(ステップST13)。この後、上記CPUは、カウンタ部14にカウントされたループ処理の回数(排他的論理和演算器3による演算回数)が219に達したか否かを判定する(ステップST14)。このとき、ループ処理の回数が219でなければ、ステップST1の処理に戻って次の情報シンボル11に対して上述の処理を繰り返す。   When the processing up to step ST12 is completed, the counter unit 14 increments the count value by 1 (step ST13). Thereafter, the CPU determines whether or not the number of loop processes counted by the counter unit 14 (the number of operations by the exclusive OR calculator 3) has reached 219 (step ST14). At this time, if the number of times of the loop processing is not 219, the processing returns to step ST1 and the above processing is repeated for the next information symbol 11.

一方、ループ処理の回数が219であれば、上記CPUは、レジスタ1a〜1dの内容を中断データ13a〜13dとしてそれぞれ処理経過データ格納部12に格納する(ステップST15)。これにより、(255,223)符号における符号化対象の223バイト分の情報シンボルのうち、応答データCLCWの4情報シンボル分を除く219バイト分の情報シンボルが符号化される。また、カウンタ部14は、カウント値をカウントデータ15として処理経過データ格納部12に格納する(ステップST16)。   On the other hand, if the number of loop processes is 219, the CPU stores the contents of the registers 1a to 1d as the interrupt data 13a to 13d in the process progress data storage unit 12 (step ST15). As a result, 219-byte information symbols excluding the four information symbols of the response data CLCW among the 223-byte information symbols to be encoded in the (255, 223) code are encoded. Further, the counter unit 14 stores the count value as the count data 15 in the process progress data storage unit 12 (step ST16).

次に、上記CPUは、自装置の搭載された人工衛星が地上局側から可視となったか否かを判定する(ステップST17)。例えば、受信部7が地上局との通信を確立したか否かにより可視か否かを判定する。ここで、可視時間になっていなければ、ステップST16の処理に戻って、カウンタ部14のカウント値をカウントデータ15として処理経過データ格納部12に格納する。   Next, the CPU determines whether or not the satellite on which the device is mounted is visible from the ground station side (step ST17). For example, it is determined whether or not the receiving unit 7 is visible depending on whether or not the communication with the ground station is established. Here, if it is not visible time, it returns to the process of step ST16, and the count value of the counter part 14 is stored in the process progress data storage part 12 as the count data 15. FIG.

ステップST17で可視時間であると判定されると、受信部7は、地上局から電波にて送信されるコマンドを受信し、コマンド番号を含む応答データCLCW(4情報シンボル)を生成する(ステップST18)。次に、上記CPUは、不可視時間に処理経過データ格納部12に格納した中断データ13a〜13dをそれぞれレジスタ1a〜1dに戻し、カウントデータ15をカウンタ部14に戻す(ステップST19)。   If it is determined in step ST17 that it is the visible time, the receiving unit 7 receives a command transmitted by radio waves from the ground station, and generates response data CLCW (4 information symbols) including the command number (step ST18). ). Next, the CPU returns the interruption data 13a to 13d stored in the processing progress data storage unit 12 during the invisible time to the registers 1a to 1d, respectively, and returns the count data 15 to the counter unit 14 (step ST19).

受信部7は、ステップST18で生成した応答データCLCWの4情報シンボルのうちの1つを取り出してデータ入力部9に設定(ステップST20)し、上述したステップST2からステップST13までの処理を繰り返す(ステップST21)。ここで、応答データCLCWの4情報シンボルのうちの1つについてステップST21の処理が完了すると、上記CPUは、応答データCLCWの4情報シンボル全てを処理したか否かを判定する(ステップST22)。このとき、全ての情報シンボルが処理されていなければ、ステップST20に戻り、応答データCLCWの次情報シンボルについての処理に移行する。   The receiving unit 7 extracts one of the four information symbols of the response data CLCW generated in step ST18 and sets it in the data input unit 9 (step ST20), and repeats the processing from step ST2 to step ST13 described above ( Step ST21). Here, when the processing of step ST21 is completed for one of the four information symbols of the response data CLCW, the CPU determines whether or not all four information symbols of the response data CLCW have been processed (step ST22). At this time, if all the information symbols have not been processed, the process returns to step ST20 and shifts to a process for the next information symbol of the response data CLCW.

応答データCLCWの4情報シンボル全ての処理が完了した場合、この時点でのレジスタ1a〜1dの内容がリードソロモン符号のチェックシンボルである(ステップST23)。データ出力部2は、レジスタ1a〜1dから当該リードソロモン符号のチェックシンボルを入力し、符号化結果として出力する。   When processing of all four information symbols of the response data CLCW is completed, the contents of the registers 1a to 1d at this point are Reed-Solomon code check symbols (step ST23). The data output unit 2 inputs the check symbol of the Reed-Solomon code from the registers 1a to 1d and outputs it as an encoding result.

以上のように、この実施の形態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の演算能力を効率よく利用できる。   As described above, according to the first embodiment, the coefficient table storage unit 6 that stores the coefficient data 5 for the encoding operation of the information symbol 11 and the bit width that is an integral multiple of the number of bits of the information symbol 11 are respectively set. Registers 1a to 1d, a data input unit 9 for inputting a series of information symbols 11 to be encoded to the registers 1a to 1d, a data output unit 2 for outputting data from the register 1d, and a data output unit 2 for register 1d. Address specifying unit 4 for specifying coefficient data 5 used for encoding information symbol 11 stored in registers 1a to 1d among coefficient data 5 of coefficient table storage unit 6 based on the data output from An exclusive OR operation is performed on the coefficient data 5 designated by the designation unit 4 and the information symbol 11 stored in the registers 1a to 1d, and the information is obtained. Since the exclusive OR calculator 3 for obtaining the encoded data of the symbol 11 is provided, since 8 information symbols are stored in one register, the exclusive OR operation can be performed simultaneously for 8 information symbols. The computing power can be used efficiently.

また、上記実施の形態1による符号化装置は、人工衛星に搭載されるデータハンドリングシステムに適用することで、下記のような効果が得られる。
上述したように、従来の符号化装置を適用した人工衛星に搭載されるデータハンドリングシステムでは、人工衛星が地球の影に隠れると、地上局側から不可視となりテレコマンドを受けて応答データCLCWを生成し、衛星内の観測装置による観測データに関するテレメトリデータ及び応答データCLCWを地上局に送信することができなくなる。
In addition, the following effects can be obtained by applying the encoding apparatus according to the first embodiment to a data handling system mounted on an artificial satellite.
As described above, in a data handling system mounted on an artificial satellite to which a conventional encoding device is applied, if the artificial satellite is hidden in the shadow of the earth, it becomes invisible from the ground station side and receives a telecommand to generate response data CLCW Accordingly, it becomes impossible to transmit telemetry data and response data CLCW relating to observation data by the observation device in the satellite to the ground station.

これに対し、この実施の形態1による符号化装置を適用したデータハンドリングシステムでは、応答データCLCW(4情報シンボル)を除くテレメトリデータを不可視時間に符号化しておくことができ、可視時間になってから応答データCLCWを符号化するだけでよい。つまり、符号化対象となる223情報シンボルのうち、応答データCLCWを構成する4情報シンボル分を除く、219情報シンボルを不可視時間に符号化しておき待機している。これによって可視時間に符号化するシンボル数が応答データCLCWの4情報シンボルだけでよくなり、可視時間に行う符号化処理の負担を大幅に軽減することができる。   On the other hand, in the data handling system to which the encoding apparatus according to the first embodiment is applied, telemetry data excluding the response data CLCW (4 information symbols) can be encoded in invisible time, and the visible time is reached. It is only necessary to encode the response data CLCW. That is, of the 223 information symbols to be encoded, 219 information symbols excluding the 4 information symbols constituting the response data CLCW are encoded in an invisible time and are on standby. As a result, the number of symbols to be encoded in the visible time only needs to be four information symbols of the response data CLCW, and the burden of the encoding process performed in the visible time can be greatly reduced.

なお、上記実施の形態1では、64ビットのレジスタ1a〜1dを使用する例を示したが、チェックシンボルを全て格納でき、かつ情報シンボルのビット数の整数倍の大きさを持つレジスタを用いた構成であっても構わない。このように、より多くの情報シンボルを格納できるレジスタであればあるほど演算回数を減らすことが可能である。   In the first embodiment, an example in which 64-bit registers 1a to 1d are used has been described. However, a register that can store all check symbols and has a size that is an integral multiple of the number of bits of an information symbol is used. It may be a configuration. Thus, the number of operations can be reduced as the register can store more information symbols.

さらに、上記実施の形態1では、符号化処理の演算回数が219回で、衛星と地上局とが通信可能となる状態を待つために演算処理を中断したが、符号化処理の任意の演算回数において、CPUを符号化処理以外の処理に使用したい場合が生じたとき等は、レジスタ1a〜1dの内容とカウンタ部14の演算回数を処理経過データ格納部12へ保存することで符号化処理を中断し、CPUを一旦、符号化処理以外の処理をさせた後に、再び処理経過データ格納部12からレジスタ1a〜1dの内容とカウントデータ15を各レジスタ及びカウンタ部14に戻すことで、符号化処理を再開することが可能である。   Furthermore, in Embodiment 1 described above, the number of encoding processing operations is 219, and the arithmetic processing is interrupted in order to wait for a state in which the satellite and the ground station can communicate with each other. When the CPU is desired to be used for processing other than encoding processing, the encoding processing is performed by storing the contents of the registers 1a to 1d and the number of operations of the counter unit 14 in the processing progress data storage unit 12. After interrupting and causing the CPU to perform processing other than encoding processing, the contents of the registers 1a to 1d and the count data 15 are returned from the processing progress data storage unit 12 to each register and counter unit 14 again. It is possible to resume processing.

実施の形態2.
上記実施の形態1では、情報データ格納部10から一連の情報シンボル11をデータ入力部9へ取り出す動作例を示したが、この実施の形態2は、データ入力部9への情報シンボル11の取り出し方を変更することによってインターリーブ機能を実現している。
Embodiment 2. FIG.
In the first embodiment, an example of the operation for extracting a series of information symbols 11 from the information data storage unit 10 to the data input unit 9 has been described. However, in the second embodiment, the information symbols 11 are extracted to the data input unit 9. The interleaving function is realized by changing the way.

この実施の形態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を用いて示した符号化処理を実行する。   The basic configuration of the coding apparatus according to the second embodiment is the same as that shown in FIG. 1 described in the first embodiment, but the operation for extracting information symbols from the information data storage unit 10 differs depending on the data input unit 9. . FIG. 4 is a diagram for explaining an information symbol extraction operation according to Embodiment 2 of the present invention. As shown in FIG. 4, in the second embodiment, the data input unit 9 stores one of the series of information symbols stored in the information data storage unit 10 from the first information symbol 11-1. The information symbol group 11A composed of the information symbols 11-3, 11-5, 11-7, and 11-9 taken out is extracted, and the encoding process shown in FIGS. 2 and 3 in the first embodiment is executed. To do.

情報シンボル群11Aの符号化が完了すると、データ入力部9は、上述の一連の情報シンボルのうちの残りの情報シンボル11−2,11−4,11−6,11−8,11−10からなる情報シンボル群Bを情報データ格納部10から取り出して、上記実施の形態1で図2及び図3を用いて示した符号化処理を実行する。このようにすることで、インタリーブ値が2の符号化処理を行うことができる。   When the encoding of the information symbol group 11A is completed, the data input unit 9 starts from the remaining information symbols 11-2, 11-4, 11-6, 11-8, and 11-10 in the series of information symbols. The information symbol group B is extracted from the information data storage unit 10 and the encoding process shown in FIGS. 2 and 3 in the first embodiment is executed. By doing so, an encoding process with an interleave value of 2 can be performed.

なお、情報データ格納部10に格納された一連の情報シンボルのうち、N個飛びで格納された情報シンボルを読み込んで交互に符号化処理を行うことにより、インターリーブ値N+1の符号化処理が可能である。   In addition, among the series of information symbols stored in the information data storage unit 10, by reading information symbols stored in N skips and performing encoding processing alternately, encoding processing of the interleave value N + 1 is possible. is there.

以上のように、この実施の形態2によれば、データ入力部9が、情報データ格納部10に格納される符号化すべき一連の情報シンボル11から構成される情報シンボル群11A,11Bのうち、1つ飛び等の所定の順番で並ぶ情報シンボル11を選択的に取り出してレジスタ1a〜1dに入力するので、符号化器の数を増やすことなく、インターリーブ値が可変なインターリーブ機能を実現することができる。   As described above, according to the second embodiment, the data input unit 9 includes the information symbol groups 11A and 11B composed of a series of information symbols 11 to be encoded stored in the information data storage unit 10. Since the information symbols 11 arranged in a predetermined order such as one skip are selectively extracted and input to the registers 1a to 1d, an interleave function with a variable interleave value can be realized without increasing the number of encoders. it can.

実施の形態3.
上記実施の形態1では、人工衛星用のデータハンドリングシステムにおけるテレメトリデータの符号化処理を例に挙げた。この実施の形態3は、上記実施の形態1で示した符号化装置に暗号部を追加して暗号化装置を構成しており、CPUの演算能力を効率よく利用した暗号化処理が可能である。
Embodiment 3 FIG.
In the first embodiment, the telemetry data encoding process in the artificial satellite data handling system is taken as an example. In the third embodiment, an encryption unit is configured by adding an encryption unit to the encoding device shown in the first embodiment, and an encryption process that efficiently uses the computing capability of the CPU is possible. .

図5は、この発明の実施の形態3による暗号化装置の構成を示す図である。以降では、この暗号化装置を、TCP/IPを用いて暗号化データをやり取りする監視制御システムに適用した場合について説明する。なお、この監視制御システムでは、監視機器と基地局とがネットワークを介して接続されており、図5中の暗号化装置を監視機器に搭載する。暗号化装置では、監視機器で取得された監視データに基地局への応答確認データを含めて暗号化し、この暗号化データがネットワークを介して基地局に送信される。   FIG. 5 is a diagram showing a configuration of an encryption apparatus according to Embodiment 3 of the present invention. Hereinafter, a case will be described in which this encryption apparatus is applied to a monitoring control system that exchanges encrypted data using TCP / IP. In this monitoring control system, the monitoring device and the base station are connected via a network, and the encryption device in FIG. 5 is mounted on the monitoring device. In the encryption device, the monitoring data acquired by the monitoring device is encrypted including response confirmation data for the base station, and the encrypted data is transmitted to the base station via the network.

図5に示すように、実施の形態1による暗号化装置は、上記実施の形態1で示した図1の構成に加え、暗号部16を備える。この暗号化装置における受信部7は、TCP/IPを扱うインタフェースを有し、ネットワークを介して基地局からのデータを受信する。また、データ収集部8は、監視装置に搭載された不図示の監視機器(例えば、監視カメラ)によって取得された監視データを情報シンボル11として情報データ格納部10に格納する。   As shown in FIG. 5, the encryption apparatus according to the first embodiment includes an encryption unit 16 in addition to the configuration of FIG. 1 shown in the first embodiment. The receiving unit 7 in this encryption apparatus has an interface that handles TCP / IP, and receives data from the base station via the network. The data collection unit 8 stores monitoring data acquired by a monitoring device (not shown) (for example, a monitoring camera) mounted on the monitoring device as the information symbol 11 in the information data storage unit 10.

また、係数テーブル格納部6は、係数データ5の代わりに暗号化用データを格納する。なお、図5に示す暗号化装置は、係数データ5(テーブルデータ)を係数テーブル格納部6に戻し、アドレス指定部4が係数テーブル格納部6の係数データ5を指定することで、上記実施の形態1や上記実施の形態2で示した符号化装置として機能させることも可能である。   The coefficient table storage unit 6 stores encryption data instead of the coefficient data 5. 5 returns the coefficient data 5 (table data) to the coefficient table storage unit 6, and the address designating unit 4 designates the coefficient data 5 in the coefficient table storage unit 6 so that the above-described implementation is performed. It is also possible to function as the encoding device shown in the first embodiment or the second embodiment.

暗号部16は、所定の暗号化アルゴリズムに従って暗号化処理を実行する。ここでは、暗号化モードとしてCTRモードを実行するものとする。また、CTRモードでは、基地局との通信毎に異なる値が設定される定数データであるノンスとカウントデータとが合わさったデータを暗号化した結果を暗号化用データとする。   The encryption unit 16 performs an encryption process according to a predetermined encryption algorithm. Here, it is assumed that the CTR mode is executed as the encryption mode. In the CTR mode, the data obtained by encrypting the data in which the nonce, which is constant data set with a different value for each communication with the base station, and the count data are encrypted is used as encryption data.

図5中の暗号化装置では、カウンタ部14のカウントデータ15と合わさった暗号化用データが生成され、係数テーブル格納部6には、カウンタ部14のカウントデータ15に対応付けたテーブルデータとして暗号化用データが格納される。なお、この他の構成要素は、図1で示したものと同様に動作するので、重複する説明を省略する。   In the encryption apparatus in FIG. 5, encryption data combined with the count data 15 of the counter unit 14 is generated, and the coefficient table storage unit 6 encrypts the data as table data associated with the count data 15 of the counter unit 14. Stores data for conversion. Since the other components operate in the same manner as those shown in FIG. 1, duplicate descriptions are omitted.

データ出力部2、排他的論理和演算器3、アドレス指定部4、受信部7、データ収集部8、データ入力部9、カウンタ部14及び暗号部16は、本発明の趣旨に従う暗号化プログラムを、レジスタ1a〜1dに相当する64ビットレジスタを4つ有するコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上にソフトウエアとハードウェアが協働した具体的な手段として実現することができる。また、係数テーブル格納部6、情報データ格納部10及び処理経過データ格納部12は、上記コンピュータに搭載された汎用メモリ上に構築される。   The data output unit 2, the exclusive OR calculator 3, the address specifying unit 4, the receiving unit 7, the data collecting unit 8, the data input unit 9, the counter unit 14, and the encryption unit 16 are encrypted programs according to the spirit of the present invention. , By reading into a computer having four 64-bit registers corresponding to the registers 1a to 1d and controlling its operation, it can be realized as a specific means in which software and hardware cooperate on the computer. it can. The coefficient table storage unit 6, the information data storage unit 10, and the process progress data storage unit 12 are constructed on a general-purpose memory mounted on the computer.

なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。   Note that the configuration of the computer itself and its basic functions can be easily recognized by those skilled in the art based on the common general technical knowledge in the technical field, and are not directly related to the essence of the present invention, so detailed description thereof is omitted. To do.

次に動作について説明する。
図5中の暗号化装置は、以下の手順に沿って暗号化処理を実行する。
(1)手順1
先ず、データ収集部8が、監視装置の監視機器群から監視データを収集し、情報データ格納部10に8ビット単位の情報シンボル11として保存する。データ入力部9は、情報データ格納部10から情報シンボル11を取り出し、上記実施の形態1と同様にしてレジスタ1a〜1dにシフトによって取り込む。
Next, the operation will be described.
The encryption device in FIG. 5 executes encryption processing according to the following procedure.
(1) Procedure 1
First, the data collection unit 8 collects monitoring data from the monitoring device group of the monitoring device, and stores it in the information data storage unit 10 as information symbols 11 in units of 8 bits. The data input unit 9 takes out the information symbol 11 from the information data storage unit 10 and takes it into the registers 1a to 1d by shifting as in the first embodiment.

例えば、上記実施の形態1と同様に、この実施の形態3による暗号化装置のCPUが、レジスタ1dに設定された情報シンボルをデータ出力部2に出力し、レジスタ1cの全値を右論理シフトしてレジスタ1dに設定する。さらに、レジスタ1bの全値を右論理シフトしてレジスタ1cに設定し、レジスタ1aの全値を右論理シフトしてレジスタ1bに設定する。この後、データ入力部9が、情報データ格納部10から取り出した一連の8つの情報シンボル11をレジスタ1aに設定する。   For example, as in the first embodiment, the CPU of the encryption device according to the third embodiment outputs the information symbol set in the register 1d to the data output unit 2, and right-shifts all the values in the register 1c. And set in the register 1d. Further, all the values of the register 1b are logically shifted to the right and set to the register 1c, and all the values of the register 1a are logically shifted to the right and set to the register 1b. Thereafter, the data input unit 9 sets a series of eight information symbols 11 extracted from the information data storage unit 10 in the register 1a.

(2)手順2
次に、暗号部16は、今回の基地局との通信用のノンスを生成し、カウント部14からカウントデータを取得して、ノンスとカウントデータを合わせた64ビットの平文ブロックを作成する。ここでは、暗号部16が、64ビットの上位4バイトにノンスを設定し、下位4バイトにカウントデータを設定した16進数表現の平文ブロックを生成し、例えば「661F98CD00000001」が生成されたものとする。なお、下位4バイトの「00000001」は、カウンタ部14からのカウントデータであるので、カウンタ部14がカウントするたびにカウントアップされる。
(2) Procedure 2
Next, the encryption unit 16 generates a nonce for communication with the current base station, acquires the count data from the count unit 14, and creates a 64-bit plaintext block that combines the nonce and the count data. Here, it is assumed that the encryption unit 16 generates a plaintext block in hexadecimal notation in which nonce is set in the upper 4 bytes of 64 bits and count data is set in the lower 4 bytes. For example, “661F98CD00000001” is generated. . Since the lower 4 bytes “00000001” is the count data from the counter unit 14, it is counted up each time the counter unit 14 counts.

(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に格納する。
(3) Procedure 3
The encryption unit 16 encrypts the 64-bit plaintext block generated in the procedure 2 using a DES (Data Encryption Standard) or triple-DES encryption algorithm, and generates 64-bit encryption data K.
(4) Procedure 4
The encryption unit 16 stores the encryption data K generated in step 3 in the coefficient table storage unit 6.
(5) Procedure 5
The exclusive OR calculator 3 calculates the exclusive OR of the encryption data K read from the coefficient table storage unit 6 and the value of the register 1d, and stores it in the register 1d.

(6)手順6
上記CPUは、手順5で暗号化用データKとの間で排他的論理和演算されたレジスタ1dの全値をデータ出力部2に出力し、レジスタ1cの全値をレジスタ1dに移動させる。また、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。この後、データ入力部9は、情報データ格納部10から取り出した一連の8つの情報シンボル11をレジスタ1aに設定する。これにより、レジスタ1aに新たなデータが設定される。
(6) Procedure 6
The CPU outputs all the values of the register 1d obtained by the exclusive OR operation with the encryption data K in the procedure 5 to the data output unit 2, and moves all the values of the register 1c to the register 1d. Further, all values in the register 1b are moved to the register 1c, and all values in the register 1a are moved to the register 1b. Thereafter, the data input unit 9 sets a series of eight information symbols 11 extracted from the information data storage unit 10 in the register 1a. As a result, new data is set in the register 1a.

(7)手順7
手順6が完了すると、カウンタ部14が、カウントデータの値を1インクリメントし、カウントデータを暗号部16に出力する。暗号部16では、このカウントデータとノンスとを合わせた平文ブロックを暗号化して暗号化用データを求める。例えば、カウントデータがカウントアップされた、平文ブロック「661F98CD00000002」が暗号化される。この後、手順3〜7を繰り返することで、情報シンボル11が暗号化される。
(7) Procedure 7
When step 6 is completed, the counter unit 14 increments the value of the count data by 1, and outputs the count data to the encryption unit 16. The encryption unit 16 encrypts a plaintext block that is a combination of the count data and the nonce to obtain encryption data. For example, the plaintext block “661F98CD00000002” in which the count data is counted up is encrypted. Thereafter, the information symbols 11 are encrypted by repeating steps 3 to 7.

以上のように、この実施の形態3によれば、情報シンボル11の暗号化用データKを算出する暗号部16と、暗号部16により算出された暗号化用データKを格納する係数テーブル格納部6と、情報シンボル11のビット数の整数倍のビット幅を各々が有するレジスタ1a〜1dと、暗号化すべき一連の情報シンボル11をレジスタ1a〜1dに入力するデータ入力部9と、係数テーブル格納部6から取り出した暗号化用データKとレジスタ1dに格納される情報シンボル11との排他的論理和の演算を行い、該情報シンボル11の暗号化データを求める排他的論理和演算器3とを備えたので、複数の情報シンボルをまとめてレジスタ内で暗号化演算でき、CPUの演算能力を効率よく利用できる暗号化を実現することができる。   As described above, according to the third embodiment, the encryption unit 16 that calculates the encryption data K of the information symbol 11 and the coefficient table storage unit that stores the encryption data K calculated by the encryption unit 16. 6, registers 1 a to 1 d each having a bit width that is an integral multiple of the number of bits of the information symbol 11, a data input unit 9 for inputting a series of information symbols 11 to be encrypted to the registers 1 a to 1 d, and coefficient table storage An exclusive OR operation unit 3 that performs an exclusive OR operation on the encryption data K extracted from the unit 6 and the information symbol 11 stored in the register 1d, and obtains encrypted data of the information symbol 11. Since it is provided, a plurality of information symbols can be collectively encrypted in the register, and encryption that can efficiently use the calculation capability of the CPU can be realized.

なお、上記実施の形態3では、暗号部16がDES又はトリプルDESの暗号化アルゴリズムに従って暗号化する例を示したが、AES(Rijndael)の暗号化アルゴリズムを使用することもできる。具体的に説明すると、手順2において、暗号部16が、ノンスを8バイト、カウントデータを8バイトとして、128ビットの平文ブロックを生成し、これを暗号化して128ビットの暗号化用データを生成する。ここで、暗号部16は、128の暗号化用データを64ビットごとのデータK1,K2に分割し、係数テーブル格納部6に格納する。   In the third embodiment, the encryption unit 16 performs encryption according to the DES or triple DES encryption algorithm. However, an AES (Rijndael) encryption algorithm may be used. Specifically, in step 2, the encryption unit 16 generates a 128-bit plaintext block with 8 bytes of nonce and 8 bytes of count data, and encrypts it to generate 128-bit encryption data. To do. Here, the encryption unit 16 divides the 128 encryption data into 64-bit data K1 and K2, and stores them in the coefficient table storage unit 6.

この後、手順5において、排他的論理和演算器3が、係数テーブル格納部6から読み出された暗号化用データK1とレジスタ1cの値との排他的論理和を演算してレジスタ1cに格納し、暗号化用データK2とレジスタ1dの値との排他的論理和を演算してレジスタ1dに格納する。   Thereafter, in step 5, the exclusive OR calculator 3 calculates the exclusive OR of the encryption data K1 read from the coefficient table storage unit 6 and the value of the register 1c and stores it in the register 1c. Then, an exclusive OR of the encryption data K2 and the value of the register 1d is calculated and stored in the register 1d.

手順6において、上記CPUが、手順5で排他的論理和演算されたレジスタ1c,1dの全値を2回のデータシフトによりデータ出力部2に出力する。つまり、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1cの全値をレジスタ1dに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。続いて、レジスタ1bの全値をレジスタ1cに移動させ、レジスタ1aの全値をレジスタ1bに移動させる。この後、データ入力部9が、情報データ格納部10から取り出した8つの情報シンボル11を新たなデータとしてレジスタ1aに設定する。   In step 6, the CPU outputs all the values of the registers 1c and 1d obtained by the exclusive OR operation in step 5 to the data output unit 2 by two data shifts. That is, all the values of the register 1b are moved to the register 1c, all the values of the register 1c are moved to the register 1d, and all the values of the register 1a are moved to the register 1b. Subsequently, the entire value of the register 1b is moved to the register 1c, and the entire value of the register 1a is moved to the register 1b. Thereafter, the data input unit 9 sets eight information symbols 11 taken out from the information data storage unit 10 as new data in the register 1a.

手順6が完了すると、カウンタ部14が、カウントデータの値を1インクリメントし、カウントデータを暗号部16に出力する。暗号部16では、このカウントデータとノンスとを合わせた平文ブロックを生成する。この後、手順3〜7を繰り返すことで、情報シンボル11が暗号化される。このようにすることで、実施の形態3による暗号化装置は、128ビットの暗号アルゴリズムに従った暗号化も実現できる。   When step 6 is completed, the counter unit 14 increments the value of the count data by 1, and outputs the count data to the encryption unit 16. The encryption unit 16 generates a plaintext block that combines the count data and the nonce. Thereafter, the information symbols 11 are encrypted by repeating steps 3 to 7. By doing in this way, the encryption apparatus according to Embodiment 3 can also realize encryption according to a 128-bit encryption algorithm.

この発明の実施の形態1による符号化装置の構成を示す図である。It is a figure which shows the structure of the encoding apparatus by Embodiment 1 of this invention. 図1中の符号化装置による符号化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the encoding process by the encoding apparatus in FIG. 図1中の符号化装置による符号化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the encoding process by the encoding apparatus in FIG. この発明の実施の形態2による情報シンボル取り出し動作を説明するための図である。It is a figure for demonstrating the information symbol extraction operation | movement by Embodiment 2 of this invention. この発明の実施の形態3による暗号化装置の構成を示す図である。It is a figure which shows the structure of the encryption apparatus by Embodiment 3 of this invention.

符号の説明Explanation of symbols

1a〜1d レジスタ、2 データ出力部、3 排他的論理和演算器(演算部)、4 アドレス指定部(指定部)、5 係数データ、6 係数テーブル格納部(演算用データ格納部)、7 受信部、8 データ収集部、9 データ入力部、10 情報データ格納部(データ格納部)、11,11−1〜11−10 情報シンボル、11A,11B 情報シンボル群、12 処理経過データ格納部(処理経過格納部)、13a〜13d 中断データ、14 カウンタ部、15 カウントデータ、16 暗号部。   1a to 1d register, 2 data output unit, 3 exclusive OR calculator (operation unit), 4 address designation unit (designation unit), 5 coefficient data, 6 coefficient table storage unit (operation data storage unit), 7 reception , 8 data collection unit, 9 data input unit, 10 information data storage unit (data storage unit), 11, 11-1 to 11-10 information symbol, 11A, 11B information symbol group, 12 processing progress data storage unit (processing Progress storage unit), 13a to 13d interruption data, 14 counter unit, 15 count data, 16 encryption unit.

Claims (6)

情報シンボルの符号化演算用の係数データを格納する演算用データ格納部と、
前記情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、
符号化すべき一連の情報シンボルを前記複数のレジスタに入力するデータ入力部と、
前記レジスタからデータを出力するデータ出力部と、
前記データ出力部により前記レジスタから出力されたデータに基づいて、前記演算用データ格納部の係数データのうち、前記複数のレジスタに格納される情報シンボルの符号化に用いる係数データを指定する指定部と、
前記指定部により指定された係数データを用いて前記複数のレジスタに格納される情報シンボルの符号化演算を行い、該情報シンボルの符号化データを求める演算部と
前記演算部による演算回数をカウントするカウンタ部と、
前記カウンタ部によりカウントされる演算回数において、符号化処理を中断するにあたり、演算回数及び前記各レジスタに記録されている途中の演算結果を格納する処理経過格納部と
を備え、
符号化処理を再開するにあたり、前記処理経過格納部に格納された演算回数及び符号化処理を中断した際に記録した演算の途中結果を用いることを特徴とする符号化装置。
A calculation data storage unit for storing coefficient data for encoding calculation of information symbols;
A plurality of registers each having a bit width that is an integral multiple of the number of bits of the information symbol;
A data input unit for inputting a series of information symbols to be encoded to the plurality of registers;
A data output unit for outputting data from the register;
A designation unit for designating coefficient data used for encoding information symbols stored in the plurality of registers, among coefficient data in the calculation data storage unit, based on data output from the register by the data output unit When,
An arithmetic unit that performs encoding calculation of information symbols stored in the plurality of registers using the coefficient data specified by the specifying unit, and obtains encoded data of the information symbols ;
A counter unit that counts the number of operations by the operation unit;
A processing progress storage unit that stores the number of operations and the result of the operation being recorded in each register when the encoding process is interrupted in the number of operations counted by the counter unit;
With
An encoding apparatus characterized by using the number of operations stored in the process progress storage unit and the intermediate result of an operation recorded when the encoding process is interrupted when restarting the encoding process.
演算用データ格納部は、1情報シンボル単位のデジタルデータを元とするガロア体のベクトル表現の全要素を指数表現に変換した数値と指数表現のガロア体定数との積をとり、これをベクトル表現にしたデータを係数データとして格納し、
指定部は、データ出力部によりレジスタから出力されたデータに基づいて、複数のレジスタに格納されている情報シンボルを求め、該情報シンボルを前記ガロア体のベクトル表現とみなして前記演算用データ格納部を検索することにより、前記複数のレジスタに格納されている情報シンボルの符号化に用いる係数データを指定し、
演算部は、前記複数のレジスタに格納されている情報シンボルと前記指定部により指定された係数データとの排他的論理和の演算を行うことを特徴とする請求項1記載の符号化装置。
The arithmetic data storage unit takes the product of the numerical value obtained by converting all elements of the Galois field vector representation based on the digital data of one information symbol unit into the exponential representation and the exponential Galois field constant, and expresses this as a vector representation Stored as coefficient data,
The designating unit obtains information symbols stored in a plurality of registers based on the data output from the registers by the data output unit, and regards the information symbols as the vector representation of the Galois field, and the calculation data storage unit Is used to specify coefficient data used for encoding information symbols stored in the plurality of registers,
2. The encoding apparatus according to claim 1, wherein the arithmetic unit performs an exclusive OR operation on the information symbols stored in the plurality of registers and the coefficient data specified by the specifying unit.
指定部は、ガロア体のベクトル表現された係数データを各レジスタのレジスタ幅に合わせたビット列で指定することを特徴とする請求項2記載の符号化装置。   3. The encoding apparatus according to claim 2, wherein the designating unit designates coefficient data expressed in a Galois field vector by a bit string that matches a register width of each register. 装置外部からデータを収集するデータ収集部と、前記データ収集部により収集されたデータを情報シンボルとして格納するデータ格納部とを備えたことを特徴とする請求項1から請求項3のうちのいずれか1項記載の符号化装置。   4. A data collection unit for collecting data from outside the apparatus, and a data storage unit for storing data collected by the data collection unit as information symbols. The encoding device according to claim 1. データ入力部は、データ格納部に格納されている符号化すべき一連の情報シンボルから構成される情報シンボル群のうち、所定の順番で並ぶ情報シンボルを選択的に取り出してレジスタに入力することを特徴とする請求項1から請求項4のうちのいずれか1項記載の符号化装置。   The data input unit selectively extracts information symbols arranged in a predetermined order from the information symbol group composed of a series of information symbols to be encoded stored in the data storage unit, and inputs the information symbols to the register The encoding device according to any one of claims 1 to 4. 情報シンボルの暗号化用データを算出する暗号部と、
前記暗号部により算出された暗号化用データを格納する演算用データ格納部と、
情報シンボルのビット数の整数倍のビット幅を各々が有する複数のレジスタと、
暗号化すべき一連の情報シンボルを前記複数のレジスタに入力するデータ入力部と、
前記演算用データ格納部から取り出した暗号化用データを用いて、前記レジスタに格納される情報シンボルの暗号化演算を行い、該情報シンボルの暗号化データを求める演算部と
前記演算部による演算回数をカウントするカウンタ部と、
を備え、
前記暗号部は、ノンスに相当するデジタル値と前記カウンタ部のカウント値とを組み合わせたブロックデータを暗号化して暗号化用データを算出し、
前記演算部は、前記カウント値に基づいて演算用データ格納部から取り出された暗号化用データを用いて、レジスタに格納される情報シンボルの暗号化演算を行うことを特徴とする暗号化装置。
An encryption part for calculating data for encrypting information symbols;
A calculation data storage unit for storing encryption data calculated by the encryption unit;
A plurality of registers each having a bit width that is an integral multiple of the number of bits of the information symbol;
A data input unit for inputting a series of information symbols to be encrypted to the plurality of registers;
Using the encryption data extracted from the calculation data storage unit, the calculation unit performs encryption calculation of the information symbol stored in the register, and obtains encrypted data of the information symbol ;
A counter unit that counts the number of operations by the operation unit;
With
The encryption unit encrypts block data that combines a digital value corresponding to a nonce and a count value of the counter unit to calculate encryption data,
The encryption unit, wherein the calculation unit performs encryption calculation of information symbols stored in a register, using encryption data extracted from the calculation data storage unit based on the count value .
JP2007131870A 2007-05-17 2007-05-17 Encoding device, encryption device, and program Expired - Fee Related JP4749383B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131870A JP4749383B2 (en) 2007-05-17 2007-05-17 Encoding device, encryption device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131870A JP4749383B2 (en) 2007-05-17 2007-05-17 Encoding device, encryption device, and program

Publications (2)

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

Family

ID=40148190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131870A Expired - Fee Related JP4749383B2 (en) 2007-05-17 2007-05-17 Encoding device, encryption device, and program

Country Status (1)

Country Link
JP (1) JP4749383B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080317243A1 (en) * 2007-03-30 2008-12-25 Ramprashad Sean A Low complexity encryption method for content that is coded by a rateless code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598201B1 (en) * 1999-03-15 2003-07-22 Texas Instruments Incorporated Error coding structure and method
JP3818263B2 (en) * 2003-01-28 2006-09-06 日本電気株式会社 AES encryption processing device, AES decryption processing device, AES encryption / decryption processing device, AES encryption processing method, AES decryption processing method, and AES encryption / decryption processing method
US7162679B2 (en) * 2003-12-12 2007-01-09 Analog Devices, Inc. Methods and apparatus for coding and decoding data using Reed-Solomon codes

Also Published As

Publication number Publication date
JP2008288884A (en) 2008-11-27

Similar Documents

Publication Publication Date Title
JPH09230786A (en) Data encryption method and device
CN102096609A (en) Instruction-set architecture for programmable cyclic redundancy check (CRC) computations
KR102154164B1 (en) Method for generating a pseudorandom sequence, and method for coding or decoding a data stream
JPWO2004001701A1 (en) Sign arithmetic unit
CN113824547A (en) Reserved format encryption and decryption method, device, electronic equipment and medium
JP2005215688A (en) Hardware encryption / decryption device using S-BOX operation and method thereof
TW200308148A (en) Obtaining cyclic redundancy code
JP3532860B2 (en) Arithmetic device, method, and program using remainder representation
CN101296053A (en) Method and system for calculating cyclic redundancy check codes
CN101341470A (en) Lookup table addressing system and method
CN114629665A (en) Hardware platform for trusted computing
WO2003084077A1 (en) Variable/fixed length data conversion method and device
JP4749383B2 (en) Encoding device, encryption device, and program
JP2000004169A (en) CRC calculation method and CRC calculation circuit
JP2011517496A (en) Polynomial data processing operations
WO2017023195A1 (en) Linear transformation method (variants)
KR102896817B1 (en) Configurable ML-KEM Post-Quantum Cryptography System and Method using Memory-based NTT
CN114157396A (en) RS encoder and RS encoding and decoding method
JP4758494B2 (en) Circuit and method for converting bit length to code
JP3485075B2 (en) Decoding circuit and decoding method thereof
US8984385B1 (en) Systems and methods for cyclic redundancy check implementation
JP7406108B2 (en) Encryption/decryption system, encryption/decryption method, and encryption/decryption program
KR100954843B1 (en) Block indexing-based elliptic curve cryptography method in sensor mote, apparatus and recording medium recording the same
CN106788909A (en) CRC computational methods and device based on GMR satellite communication protocols
CN119402186B (en) Data sequence encryption and decryption method, device, equipment and storage medium

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