JP2001083873A - Data converter and data conversion method - Google Patents

Data converter and data conversion method

Info

Publication number
JP2001083873A
JP2001083873A JP25547199A JP25547199A JP2001083873A JP 2001083873 A JP2001083873 A JP 2001083873A JP 25547199 A JP25547199 A JP 25547199A JP 25547199 A JP25547199 A JP 25547199A JP 2001083873 A JP2001083873 A JP 2001083873A
Authority
JP
Japan
Prior art keywords
data block
input data
input
encrypted
output
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
JP25547199A
Other languages
Japanese (ja)
Other versions
JP4335374B2 (en
Inventor
Seiichi Amada
誠一 天田
Toshio Tokita
俊雄 時田
Toru Tanmachi
亨 反町
Tetsuya Ichikawa
哲也 市川
Hideo Yoshida
英夫 吉田
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 JP25547199A priority Critical patent/JP4335374B2/en
Publication of JP2001083873A publication Critical patent/JP2001083873A/en
Application granted granted Critical
Publication of JP4335374B2 publication Critical patent/JP4335374B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To simplify a configuration of a data converter for decoding an encoded data created in CBC(Chipper Block Chaining) mode. SOLUTION: An input data block read part 7 reads an encoded data block composing an encoded data in reverse order of having created the coded block; a calculating means Dec 2 processes the coded data block by decoding; a storage means 3 stores the decoding-processed data block; and a data converter outputs an exclusive-OR of a coded data block read next by the input data block read part 7 and the decoding-processed data as a decoded data block.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、例えば、CBCモ
ードの暗号データを復号するデータ復号装置に用いられ
るデータ変換装置に係り、データ記憶領域を削減し、構
成を単純化したデータ変換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data conversion device used for a data decryption device for decrypting encrypted data in the CBC mode, and more particularly to a data conversion device having a reduced data storage area and a simplified configuration.

【0002】[0002]

【従来の技術】暗号化や符号化等のデータ変換技術にお
いて、処理する対象をある固定された大きさを単位とし
たデータ(以降、データブロックという)に分割し、各
々のデータブロックに対して同じ処理を実行する方法が
知られている。共通鍵ブロック暗号による暗号化処理は
その一つである。
2. Description of the Related Art In a data conversion technique such as encryption or encoding, an object to be processed is divided into data having a fixed size as a unit (hereinafter referred to as a data block). A method for performing the same processing is known. An encryption process using a common key block cipher is one of them.

【0003】これまで、DES(Data Encry
ption Standard)をはじめとする共通鍵
ブロック暗号の利用モード(Mode of Oper
ations)として、米国商務省(NBS)はCBC
(Cipher BlockChaining)モード
を含む4種類のモードを提案している。この利用モード
は、例えば、「現代暗号理論」(池野伸一、小山謙二、
社団法人電子情報通信学会編)に示されている。
[0003] Until now, DES (Data Encrypt) has been used.
Use mode of the common key block cipher such as “ption Standard”
The US Department of Commerce (NBS)
(Cipher Block Chaining) modes are proposed. This usage mode is, for example, "modern cryptography" (Shinichi Ikeno, Kenji Koyama,
The Institute of Electronics, Information and Communication Engineers).

【0004】図2は、例えば、上記文献に示された従来
のCBCモードでの暗号化、復号手順であり、次に動作
について説明する。
FIG. 2 shows an encryption / decryption procedure in the conventional CBC mode shown in the above-mentioned document, for example. Next, the operation will be described.

【0005】図2に示すように、入力平文のデータブロ
ックM[i](i=0,1,2,・・・)は、入力順に
CBCモードで暗号化処理が実行され、暗号化処理が実
行された順序でCBCモードにより復号処理が実行され
る。その暗号化の手順は次の通りである。 1.初期値(Initial Value:IV)が記
憶素子C(11)に書き込まれる。 2.記憶素子C(11)とM[i](i=0,1,2,
・・・)との排他的論理和の処理が実行される。 3.2の結果は、演算手段Ek(13)により暗号化処
理が実行され、出力データブロックC[i](i=0,
1,2,・・・)が出力される。 4.出力データブロックC[i](i=0,1,2,・
・・)が記憶素子C(11)に書き込まれる。 5.以降、入力データブロックが終わるまで、処理2か
ら4を繰り返す。従って、図3に示すように暗号化処理
の入力データブロックは、順にM[i](i=0,1,
2,・・・)で、出力データブロックは順にC[i]
(i=0,1,2,・・・)である。
As shown in FIG. 2, an input plaintext data block M [i] (i = 0, 1, 2,...) Is subjected to encryption processing in CBC mode in the order of input, and the encryption processing is performed. The decoding process is performed in the CBC mode in the order of execution. The encryption procedure is as follows. 1. The initial value (Initial Value: IV) is written to the storage element C (11). 2. The storage element C (11) and M [i] (i = 0, 1, 2,
..) Is executed. The result of 3.2 is subjected to encryption processing by the arithmetic means Ek (13), and the output data block C [i] (i = 0,
1, 2, ...) are output. 4. The output data block C [i] (i = 0, 1, 2,.
..) are written to the storage element C (11). 5. Thereafter, processes 2 to 4 are repeated until the input data block ends. Therefore, as shown in FIG. 3, the input data blocks of the encryption process are sequentially M [i] (i = 0, 1, 1).
2,...), And the output data blocks are sequentially C [i]
(I = 0, 1, 2,...).

【0006】続いて、従来の復号の手順を説明する。具
体的には、図4に示すような装置により、以下のステッ
プにより処理されていた。 1.初期値(Initial Value:IV)が記
憶手段(6)に書き込まれる。 2.記憶手段input(1)に入力データブロックが
書き込まれる。 3.記憶手段input(1)は、演算手段Dec
(2)により復号処理が実行され、その結果が記憶手段
(3)に書き込まれる。 4.記憶手段(6)と記憶手段(3)との排他的論理和
が、記憶手段output(5)に書き込まれる。 5.記憶手段input(1)の値が記憶手段(6)に
書き込まれる。 6.以降処理2から5を実行する。 7.入力データブロックが終わるまで、処理5から6を
繰り返す。従って、図3に示すように復号処理の入力デ
ータブロックは順にC[i](i=0,1,2,・・
・)で、出力データブロックは順にM[i](i=0,
1,2,・・・)である。
Next, a conventional decoding procedure will be described. Specifically, the processing is performed by the following steps by the apparatus as shown in FIG. 1. An initial value (Initial Value: IV) is written to the storage means (6). 2. The input data block is written to the storage means input (1). 3. The storage means input (1) is
The decryption process is performed by (2), and the result is written to the storage means (3). 4. The exclusive OR of the storage means (6) and the storage means (3) is written to the storage means output (5). 5. The value of the storage means input (1) is written to the storage means (6). 6. Thereafter, processes 2 to 5 are executed. 7. Steps 5 and 6 are repeated until the input data block ends. Therefore, as shown in FIG. 3, the input data blocks of the decoding process are sequentially C [i] (i = 0, 1, 2,...).
.), The output data blocks are sequentially M [i] (i = 0,
1, 2,...).

【0007】以上のように、従来のCBCモードによる
暗号化及び復号処理では、その処理は暗号化処理と復号
処理は同じ順序で実行されている。
As described above, in the encryption and decryption processing in the conventional CBC mode, the encryption processing and the decryption processing are performed in the same order.

【0008】上述のように、連続したデータブロックを
従来のCBCモードで復号処理するために、2つの記憶
手段(3,6)が必要であった。
As described above, two storage means (3, 6) are required for decoding a continuous data block in the conventional CBC mode.

【0009】[0009]

【発明が解決しようとする課題】この発明は、上記のよ
うな問題点を解決するためになされたもので、データ変
換処理における復号処理過程におけるメモリバッファの
削減を目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and has as its object to reduce the number of memory buffers in a decoding process in a data conversion process.

【0010】[0010]

【課題を解決するための手段】この発明に係るデータ変
換装置は、少なくとも第一の入力データブロックと第二
の入力データブロックを入力し、第一の出力データブロ
ックを出力するデータ変換装置であって、入力データブ
ロック読み込み部と、入力データブロック記憶部と、中
間演算処理部と、中間演算処理結果記憶部と、最終演算
処理部とを有し、上記入力データブロック読み込み部
は、上記第一の入力データブロックを読み込み、上記入
力データブロック記憶部は、上記入力データブロック読
み込み部により読み込んだ上記第一の入力データブロッ
クを記憶し、上記中間演算処理部は、上記入力データブ
ロック記憶部に記憶した上記第一の入力データブロック
を入力し、中間演算処理を行ない、第一の中間演算処理
結果を出力し、上記中間演算処理結果記憶部は、上記中
間演算処理部が出力した上記第一の中間演算処理結果を
記憶し、上記入力データブロック読み込み部は、更に、
上記中間演算処理部により上記第一の入力データブロッ
クに対する上記中間演算処理を行なった後に、上記第二
の入力データブロックを読み込み、上記入力データブロ
ック記憶部は、更に、上記入力データブロック読み込み
部により読み込んだ上記第二の入力データブロックを、
上記第一の入力データブロックに対して上書きして記憶
し、上記最終演算処理部は、上記中間演算処理結果記憶
部に記憶した上記第一の中間演算処理結果と、上記入力
データブロック記憶部に記憶した上記第二の入力データ
ブロックとを入力し、最終演算処理を行ない、上記第一
の出力データブロックを出力することを特徴とする。
A data conversion device according to the present invention is a data conversion device that receives at least a first input data block and a second input data block and outputs a first output data block. An input data block reading unit, an input data block storage unit, an intermediate calculation processing unit, an intermediate calculation processing result storage unit, and a final calculation processing unit, wherein the input data block reading unit The input data block storage unit stores the first input data block read by the input data block reading unit, and the intermediate processing unit stores the input data block in the input data block storage unit. The first input data block is input, an intermediate operation process is performed, and a first intermediate operation process result is output. During operation result storage unit stores the intermediate processing unit outputted by the first intermediate calculation result, the input data block reading unit further
After performing the intermediate arithmetic processing on the first input data block by the intermediate arithmetic processing unit, reads the second input data block, the input data block storage unit, further, the input data block reading unit The read second input data block is
The first input data block is overwritten and stored, and the final processing unit stores the first intermediate processing result stored in the intermediate processing result storage unit and the input data block storage unit. The stored second input data block is input, final operation processing is performed, and the first output data block is output.

【0011】上記データ変換装置は、更に、第三の入力
データブロックを入力し、第二の出力データブロックを
出力するデータ変換装置であって、上記中間演算処理部
は、更に、上記入力データブロック記憶部に記憶した上
記第二の入力データブロックを入力し、上記中間演算処
理を行ない、第二の中間演算処理結果を出力し、上記中
間演算処理結果記憶部は、更に、上記中間演算処理部が
出力した上記第二の中間演算処理結果を記憶し、上記入
力データブロック読み込み部は、更に、上記中間演算処
理部により上記第二の入力データブロックに対する上記
中間演算処理を行なった後に、上記第三の入力データブ
ロックを読み込み、上記入力データブロック記憶部は、
更に、上記入力データブロック読み込み部により読み込
んだ上記第三の入力データブロックを、上記第二の入力
データブロックに対して上書きして記憶し、上記最終演
算処理部は、更に、上記中間演算処理結果記憶部に記憶
した上記第二の中間演算処理結果と、上記入力データブ
ロック記憶部に記憶した上記第三の入力データブロック
とを入力し、上記最終演算処理を行ない、上記第二の出
力データブロックを出力することを特徴とする。
[0011] The data conversion device is a data conversion device further receiving a third input data block and outputting a second output data block, wherein the intermediate processing unit further includes the input data block. The second input data block stored in the storage unit is input, the intermediate operation processing is performed, and a second intermediate operation processing result is output. The intermediate operation processing result storage unit further includes the intermediate operation processing unit The input data block reading unit further performs the intermediate calculation process on the second input data block by the intermediate calculation processing unit, Read the three input data blocks, the input data block storage unit,
Further, the third input data block read by the input data block reading unit is overwritten on the second input data block and stored, and the final operation processing unit further stores the intermediate operation processing result. The second intermediate calculation result stored in the storage unit and the third input data block stored in the input data block storage unit are input, the final calculation process is performed, and the second output data block Is output.

【0012】この発明に係るデータ変換装置は、平文デ
ータを構成する複数の平文データブロックを順次入力
し、それぞれ暗号化し、順次暗号データブロックを出力
し、複数の上記暗号データブロックからなる暗号データ
を生成する暗号化手順であって、順次、先に出力した上
記暗号データブロックと、次に入力した上記平文データ
ブロックとを用いて暗号化中間演算処理を行ない、得ら
れた暗号化中間演算結果を用いて、暗号化最終演算処理
を行ない、得られた暗号化最終演算結果を次の暗号デー
タブロックとして出力する暗号化手順によって生成され
た上記暗号データを復号し、上記平文データを生成する
データ変換装置であって、上記入力データブロック読み
込み部は、上記第一の入力データブロックと、上記第二
の入力データブロックと、上記第三の入力データブロッ
クとして、上記暗号化によって出力された順と逆順に、
上記暗号データブロックを読み込み、上記中間演算処理
部は、上記中間演算処理として、上記暗号化最終演算処
理と逆の演算処理を行ない、上記最終演算処理部は、上
記最終演算処理として、上記暗号化中間演算処理と逆の
演算処理を行なうことを特徴とする。
The data conversion apparatus according to the present invention sequentially inputs a plurality of plaintext data blocks constituting the plaintext data, encrypts each of the blocks, sequentially outputs the encrypted data blocks, and converts the encrypted data including the plurality of encrypted data blocks. In an encryption procedure to generate, an encryption intermediate operation process is sequentially performed using the previously output encrypted data block and the next input plaintext data block, and the obtained encrypted intermediate operation result is obtained. Data encryption for performing encryption final operation processing, decrypting the encrypted data generated by the encryption procedure for outputting the obtained encrypted final operation result as the next encrypted data block, and generating the plaintext data An input data block reading unit configured to read the first input data block and the second input data block. When, as the third input data block, the reverse order and output by the encryption,
The encrypted data block is read, and the intermediate arithmetic processing unit performs an arithmetic operation reverse to the encryption final arithmetic processing as the intermediate arithmetic processing. The final arithmetic processing unit performs the encryption as the final arithmetic processing. It is characterized in that the arithmetic processing reverse to the intermediate arithmetic processing is performed.

【0013】上記中間演算処理部は、上記中間演算処理
として、復号処理を行ない、上記最終演算処理部は、上
記最終演算処理として、排他的論理和を求めることを特
徴とする。
The intermediate arithmetic processing section performs a decoding process as the intermediate arithmetic processing, and the final arithmetic processing section obtains an exclusive OR as the final arithmetic processing.

【0014】この発明に係るデータ変換装置は、CBC
(Cipher Block Chaining)モー
ドで生成された暗号データを復号するデータ変換装置で
あって、以下の要素を有することを特徴とする。 (1)上記暗号データを構成する暗号データブロック
を、暗号データブロックが生成された順とは逆順に、読
み込む暗号データブロック読み込み部、(2)上記暗号
データブロック読み込み部によって、読み込んだ上記暗
号データブロックを順次復号するデータブロック復号
部。
The data conversion device according to the present invention has a CBC
(Cipher Block Chaining) A data conversion device for decrypting encrypted data generated in a mode, characterized by having the following elements. (1) an encrypted data block reading unit which reads the encrypted data blocks constituting the encrypted data in the reverse order of the order in which the encrypted data blocks were generated; and (2) the encrypted data read by the encrypted data block reading unit. A data block decoding unit for sequentially decoding blocks.

【0015】この発明に係るデータ変換方法は、少なく
とも第一の入力データブロックと第二の入力データブロ
ックを入力し、第一の出力データブロックを出力するデ
ータ変換方法であって、以下の工程を有することを特徴
とする。 (1)上記第一の入力データブロックを読み込む工程、
(2)読み込んだ上記第一の入力データブロックを記憶
する工程、(3)記憶した上記第一の入力データブロッ
クを入力し、中間演算処理を行ない、第一の中間演算処
理結果を出力する工程、(4)出力した上記第一の中間
演算処理結果を記憶する工程、(5)上記第一の入力デ
ータブロックに対する上記中間演算処理を行なった後
に、上記第二の入力データブロックを読み込む工程、
(6)読み込んだ上記第二の入力データブロックを、上
記第一の入力データブロックに対して上書きして記憶す
る工程、(7)記憶した上記第一の中間演算処理結果
と、記憶した上記第二の入力データブロックとを入力
し、最終演算処理を行ない、上記第一の出力データブロ
ックを出力する工程。
A data conversion method according to the present invention is a data conversion method for inputting at least a first input data block and a second input data block and outputting a first output data block. It is characterized by having. (1) reading the first input data block;
(2) storing the read first input data block; (3) inputting the stored first input data block, performing an intermediate operation, and outputting a first intermediate operation result (4) storing the output first intermediate calculation processing result, (5) reading the second input data block after performing the intermediate calculation processing on the first input data block,
(6) overwriting the read second input data block with respect to the first input data block and storing; (7) storing the stored first intermediate calculation result and storing the stored second intermediate data processing result. A step of inputting the second input data block, performing a final operation process, and outputting the first output data block.

【0016】この発明に係るデータ変換方法は、CBC
(Cipher Block Chaining)モー
ドで生成された暗号データを復号するデータ変換方法で
あって、以下の工程を有することを特徴とする。 (1)上記暗号データを構成する暗号データブロック
を、暗号データブロックが生成された順とは逆順に、読
み込む工程、(2)読み込んだ上記暗号データブロック
を順次復号する工程。
The data conversion method according to the present invention provides a
A data conversion method for decrypting encrypted data generated in a (Cipher Block Chaining) mode, comprising the following steps. (1) a step of reading the encrypted data blocks constituting the encrypted data in reverse order of the order in which the encrypted data blocks were generated; and (2) a step of sequentially decoding the read encrypted data blocks.

【0017】[0017]

【発明の実施の形態】以下、図面を参照して、実施形態
によるデータ変換アルゴリズムにおける逆順に復号する
手続きを示す。図1は、この発明の復号装置の構成図で
ある。図において、記憶手段input(1)は、入力
データブロックを記憶する記憶手段、演算装置Dec
(2)は、復号処理を演算する演算装置、記憶手段
(3)は、復号処理の演算結果を格納するメモリなどの
記憶手段、記憶手段output(5)は、復号結果を
格納する記憶手段である。各記憶手段は、例えば、メモ
リである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A procedure for decoding data in the reverse order in a data conversion algorithm according to an embodiment will be described below with reference to the drawings. FIG. 1 is a configuration diagram of a decoding device of the present invention. In the figure, a storage means input (1) is a storage means for storing an input data block, an arithmetic unit Dec
(2) is an arithmetic device for calculating the decoding processing, storage means (3) is a storage means such as a memory for storing the calculation result of the decoding processing, and storage means output (5) is a storage means for storing the decoding result. is there. Each storage means is, for example, a memory.

【0018】次に、動作について説明する。入力データ
ブロックは暗号化処理された順序と逆の順序C[i]
(i=・・・,2,1,0)で読み込まれる。ブロック
暗号を用いるシステムの場合、例えば、パケットのよう
な通信単位毎にバッファとなる記憶領域を有することが
多く、入力データブロック読み込み部(7)は、これら
の記憶領域から入力データブロックを逆順に読み込む。
Next, the operation will be described. The input data block is in the reverse order C [i]
(I =..., 2, 1, 0). In the case of a system using a block cipher, for example, a communication area such as a packet often has a storage area serving as a buffer, and the input data block reading unit (7) reads input data blocks from these storage areas in reverse order. Read.

【0019】復号の手順を説明する。 1.まず、記憶手段input(1)に先頭の入力デー
タブロックが書き込まれる。 2.記憶手段input(1)に書き込まれた入力デー
タブロックは復号処理が実行され、その結果が記憶手段
(3)に書き込まれる。 3.記憶手段input(1)に次の入力データブロッ
クが書き込まれる。 4.記憶手段input(1)と記憶手段(3)との排
他的論理和が排他的論理和素子4によりとられ、記憶手
段output(5)に書き込まれる。 5.処理2から4までを入力データブロックがなくなる
まで繰り返す。 6.最後の入力データブロックが復号処理され、メモリ
バッファに格納された後は、記憶手段input(1)
に初期値(Initial Value:IV)が書き
込まれる。 7.記憶手段input(1)と記憶手段(3)との排
他的論理和を排他的論理和素子4によりとり、記憶手段
output(5)に書き込み、処理を終える。
The decoding procedure will be described. 1. First, the first input data block is written into the storage means input (1). 2. The input data block written in the storage means input (1) is subjected to a decoding process, and the result is written in the storage means (3). 3. The next input data block is written to the storage means input (1). 4. The exclusive OR of the storage means input (1) and the storage means (3) is obtained by the exclusive OR element 4, and is written to the storage means output (5). 5. Steps 2 to 4 are repeated until there are no more input data blocks. 6. After the last input data block is decoded and stored in the memory buffer, storage means input (1)
Is written with an initial value (Initial Value: IV). 7. The exclusive OR of the storage means input (1) and the storage means (3) is calculated by the exclusive OR element 4, and the result is written to the storage means output (5), and the processing is completed.

【0020】以上のように、従来の方式とは異なり入力
データブロックを逆順に処理するようにしているので、
メモリバッファの個数を削減することができる。
As described above, unlike the conventional method, the input data blocks are processed in reverse order.
The number of memory buffers can be reduced.

【0021】尚、本実施の形態では、ハードウェアによ
る実装の例を示したが、ソフトウェアによる実装によっ
て実施することもできる。また、この場合でも同様の効
果を得る。
In the present embodiment, an example of implementation by hardware has been described, but implementation by software is also possible. Also in this case, a similar effect is obtained.

【0022】[0022]

【発明の効果】本発明においては、第一の入力データブ
ロックに対する中間演算処理を行なった後に、第二の入
力データブロックを読み込み、第一の入力データブロッ
クに対して上書きして記憶するので、入力データブロッ
クを記憶する領域を節減できる。
According to the present invention, the second input data block is read and the first input data block is overwritten and stored after performing the intermediate operation processing on the first input data block. The area for storing input data blocks can be saved.

【0023】本発明においては、先に入力データブロッ
ク記憶部に記憶した第二の入力データブロックを用い
て、中間演算処理を行なうので、改めて第二の入力デー
タブロックを読み込む必要がなく、入力データブロック
の読み込み動作を少なくし、構成を単純にするととも
に、処理を高速化することができる。
In the present invention, since the intermediate operation processing is performed using the second input data block previously stored in the input data block storage unit, there is no need to read the second input data block again, and The number of block reading operations can be reduced, the configuration can be simplified, and the processing can be speeded up.

【0024】本発明においては、暗号化によって出力さ
れた順と逆順に、暗号データブロックを読み込み、中間
演算処理として、暗号化最終演算処理と逆の演算処理を
行ない、最終演算処理として、暗号化中間演算処理と逆
の演算処理を行なうので、例えば、実施の形態に示した
ようなCBCモードの暗号データを、少ない資源で、高
速に復号することができる。
According to the present invention, the encrypted data blocks are read in the reverse order of the order in which they were output by the encryption, and the intermediate arithmetic processing is performed in the reverse order of the encryption final arithmetic processing. Since the arithmetic processing reverse to the intermediate arithmetic processing is performed, for example, encrypted data in the CBC mode as described in the embodiment can be decrypted at high speed with a small amount of resources.

【0025】本発明においては、中間演算処理として、
復号処理を行ない、最終演算処理として、排他的論理和
を求めるので、例えば、実施の形態に示したようなCB
Cモードの暗号データの復号装置としてデータ変換装置
を用い、従来の復号装置に比べ資源を削減することがで
きる。
In the present invention, the intermediate arithmetic processing includes:
Since a decoding process is performed and an exclusive OR is obtained as a final operation process, for example, the CB shown in the embodiment is used.
A data conversion device is used as a decryption device for C-mode encrypted data, and resources can be reduced as compared with a conventional decryption device.

【0026】本発明においては、CBC(Cipher
Block Chaining)モードで生成された
暗号データを復号するデータ変換装置で、暗号データブ
ロックが生成された順とは逆順に、暗号データブロック
を読み込み、順次復号するので、暗号データブロックを
記憶する領域を削減した復号装置を構成することができ
る。
In the present invention, CBC (Cipher
A data converter that decrypts the encrypted data generated in the Block Chaining mode reads the encrypted data blocks in the reverse order of the order in which the encrypted data blocks were generated, and sequentially decrypts the encrypted data blocks. A reduced decoding device can be configured.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明に係るCBCモードによるデータ復号
装置の構成図である。
FIG. 1 is a configuration diagram of a data decoding device in a CBC mode according to the present invention.

【図2】 CBCモードによるデータ暗号化装置及びデ
ータ復号装置の概略図である。
FIG. 2 is a schematic diagram of a data encryption device and a data decryption device in the CBC mode.

【図3】 従来のCBCモードによるデータ暗号化処理
及びデータ復号処理における入出力データの並びを示す
図である。
FIG. 3 is a diagram showing an arrangement of input / output data in a data encryption process and a data decryption process in a conventional CBC mode.

【図4】 従来のCBCモードによるデータ復号装置の
構成図である。
FIG. 4 is a configuration diagram of a conventional data decoding device in CBC mode.

【符号の説明】[Explanation of symbols]

1 記憶手段input、2 演算手段Dec、3,6
記憶手段、4,12,15 排他的論理和素子、5
記憶手段output、7 入力データブロック読み込
み部、8 データブロック復号部、11,14 記憶素
子C、13 演算手段、16 演算手段Dk。
1 storage means input, 2 operation means Dec, 3, 6
Storage means, 4, 12, 15 exclusive OR elements, 5
Storage means output, 7 input data block reading section, 8 data block decoding section, 11, 14 storage element C, 13 arithmetic means, 16 arithmetic means Dk.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 反町 亨 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 市川 哲也 東京都千代田区大手町二丁目6番2号 三 菱電機エンジニアリング株式会社内 (72)発明者 吉田 英夫 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5J104 AA01 AA16 AA18 JA13 NA02 NA27  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Toru Sorimachi 2-3-2 Marunouchi, Chiyoda-ku, Tokyo Mitsubishi Electric Corporation (72) Inventor Tetsuya Ichikawa 2-6-1 Otemachi, Chiyoda-ku, Tokyo (72) Inventor Hideo Yoshida 2-3-2 Marunouchi, Chiyoda-ku, Tokyo F-term (reference) 5J104 AA01 AA16 AA18 JA13 NA02 NA27

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも第一の入力データブロックと
第二の入力データブロックを入力し、第一の出力データ
ブロックを出力するデータ変換装置であって、 入力データブロック読み込み部と、入力データブロック
記憶部と、中間演算処理部と、中間演算処理結果記憶部
と、最終演算処理部とを有し、 上記入力データブロック読み込み部は、上記第一の入力
データブロックを読み込み、 上記入力データブロック記憶部は、上記入力データブロ
ック読み込み部により読み込んだ上記第一の入力データ
ブロックを記憶し、 上記中間演算処理部は、上記入力データブロック記憶部
に記憶した上記第一の入力データブロックを入力し、中
間演算処理を行ない、第一の中間演算処理結果を出力
し、 上記中間演算処理結果記憶部は、上記中間演算処理部が
出力した上記第一の中間演算処理結果を記憶し、 上記入力データブロック読み込み部は、更に、上記中間
演算処理部により上記第一の入力データブロックに対す
る上記中間演算処理を行なった後に、上記第二の入力デ
ータブロックを読み込み、 上記入力データブロック記憶部は、更に、上記入力デー
タブロック読み込み部により読み込んだ上記第二の入力
データブロックを、上記第一の入力データブロックに対
して上書きして記憶し、 上記最終演算処理部は、上記中間演算処理結果記憶部に
記憶した上記第一の中間演算処理結果と、上記入力デー
タブロック記憶部に記憶した上記第二の入力データブロ
ックとを入力し、最終演算処理を行ない、上記第一の出
力データブロックを出力することを特徴とするデータ変
換装置。
1. A data conversion device for inputting at least a first input data block and a second input data block and outputting a first output data block, comprising: an input data block reading unit; and an input data block storage. , An intermediate operation processing unit, an intermediate operation processing result storage unit, and a final operation processing unit, wherein the input data block reading unit reads the first input data block, and the input data block storage unit Stores the first input data block read by the input data block reading unit, the intermediate processing unit inputs the first input data block stored in the input data block storage unit, Performing an arithmetic operation, outputting a first intermediate operation result, and storing the intermediate operation result in the intermediate operation processing unit The output of the first intermediate operation processing result is stored, and the input data block reading unit further performs the intermediate operation processing on the first input data block by the intermediate operation processing unit. The input data block storage unit further stores the second input data block read by the input data block reading unit, overwriting the first input data block. The final operation processing unit inputs the first intermediate operation result stored in the intermediate operation result storage unit and the second input data block stored in the input data block storage unit, A data conversion device that performs an arithmetic process and outputs the first output data block.
【請求項2】 上記データ変換装置は、更に、第三の入
力データブロックを入力し、第二の出力データブロック
を出力するデータ変換装置であって、 上記中間演算処理部は、更に、上記入力データブロック
記憶部に記憶した上記第二の入力データブロックを入力
し、上記中間演算処理を行ない、第二の中間演算処理結
果を出力し、 上記中間演算処理結果記憶部は、更に、上記中間演算処
理部が出力した上記第二の中間演算処理結果を記憶し、 上記入力データブロック読み込み部は、更に、上記中間
演算処理部により上記第二の入力データブロックに対す
る上記中間演算処理を行なった後に、上記第三の入力デ
ータブロックを読み込み、 上記入力データブロック記憶部は、更に、上記入力デー
タブロック読み込み部により読み込んだ上記第三の入力
データブロックを、上記第二の入力データブロックに対
して上書きして記憶し、 上記最終演算処理部は、更に、上記中間演算処理結果記
憶部に記憶した上記第二の中間演算処理結果と、上記入
力データブロック記憶部に記憶した上記第三の入力デー
タブロックとを入力し、上記最終演算処理を行ない、上
記第二の出力データブロックを出力することを特徴とす
る請求項1記載のデータ変換装置。
2. The data converter according to claim 1, further comprising a third input data block and a second output data block, wherein the intermediate processing unit further comprises: The second input data block stored in the data block storage unit is input, the intermediate operation process is performed, and a second intermediate operation processing result is output. The second intermediate calculation processing result output by the processing unit is stored.The input data block reading unit further performs the intermediate calculation processing on the second input data block by the intermediate calculation processing unit. Reading the third input data block, the input data block storage unit further stores the third input data block read by the input data block reading unit An input data block is stored over the second input data block, and the final operation processing unit further includes the second intermediate operation processing result stored in the intermediate operation processing result storage unit; 2. The data conversion according to claim 1, wherein the third input data block stored in the input data block storage unit is input, the final operation processing is performed, and the second output data block is output. apparatus.
【請求項3】 平文データを構成する複数の平文データ
ブロックを順次入力し、それぞれ暗号化し、順次暗号デ
ータブロックを出力し、複数の上記暗号データブロック
からなる暗号データを生成する暗号化手順であって、順
次、先に出力した上記暗号データブロックと、次に入力
した上記平文データブロックとを用いて暗号化中間演算
処理を行ない、得られた暗号化中間演算結果を用いて、
暗号化最終演算処理を行ない、得られた暗号化最終演算
結果を次の暗号データブロックとして出力する暗号化手
順によって生成された上記暗号データを復号し、上記平
文データを生成するデータ変換装置であって、 上記入力データブロック読み込み部は、上記第一の入力
データブロックと、上記第二の入力データブロックと、
上記第三の入力データブロックとして、上記暗号化によ
って出力された順と逆順に、上記暗号データブロックを
読み込み、 上記中間演算処理部は、上記中間演算処理として、上記
暗号化最終演算処理と逆の演算処理を行ない、 上記最終演算処理部は、上記最終演算処理として、上記
暗号化中間演算処理と逆の演算処理を行なうことを特徴
とする請求項2記載のデータ変換装置。
3. An encryption procedure for sequentially inputting a plurality of plaintext data blocks constituting plaintext data, encrypting each of the blocks, sequentially outputting encrypted data blocks, and generating encrypted data including the plurality of encrypted data blocks. Then, sequentially performing the encryption intermediate operation processing using the previously output encrypted data block and the next input plaintext data block, and using the obtained encryption intermediate operation result,
A data conversion device that performs encryption final operation processing, decrypts the encrypted data generated by the encryption procedure that outputs the obtained encrypted final operation result as the next encrypted data block, and generates the plaintext data. The input data block reading unit, the first input data block, the second input data block,
As the third input data block, the encrypted data blocks are read in the reverse order of the order output by the encryption, and the intermediate arithmetic processing unit performs the intermediate arithmetic processing in the reverse order of the encryption final arithmetic processing. 3. The data conversion device according to claim 2, wherein an arithmetic process is performed, and the final arithmetic processing unit performs, as the final arithmetic process, an arithmetic process reverse to the encryption intermediate arithmetic process.
【請求項4】 上記中間演算処理部は、上記中間演算処
理として、復号処理を行ない、 上記最終演算処理部は、上記最終演算処理として、排他
的論理和を求めることを特徴とする請求項3記載のデー
タ変換装置。
4. The method according to claim 3, wherein the intermediate operation processing unit performs a decoding process as the intermediate operation process, and the final operation processing unit obtains an exclusive OR as the final operation process. Data conversion device as described.
【請求項5】 CBC(Cipher Block C
haining)モードで生成された暗号データを復号
するデータ変換装置であって、以下の要素を有すること
を特徴とするデータ変換装置 (1)上記暗号データを構成する暗号データブロック
を、暗号データブロックが生成された順とは逆順に、読
み込む暗号データブロック読み込み部、(2)上記暗号
データブロック読み込み部によって、読み込んだ上記暗
号データブロックを順次復号するデータブロック復号
部。
5. CBC (Cipher Block C)
A data converter for decrypting the encrypted data generated in the (haining) mode, comprising the following elements: (1) An encrypted data block constituting the encrypted data (2) a data block decryption unit for sequentially decrypting the read encrypted data blocks by the encrypted data block read unit;
【請求項6】 少なくとも第一の入力データブロックと
第二の入力データブロックを入力し、第一の出力データ
ブロックを出力するデータ変換方法であって、以下の工
程を有することを特徴とするデータ変換方法 (1)上記第一の入力データブロックを読み込む工程、
(2)読み込んだ上記第一の入力データブロックを記憶
する工程、(3)記憶した上記第一の入力データブロッ
クを入力し、中間演算処理を行ない、第一の中間演算処
理結果を出力する工程、(4)出力した上記第一の中間
演算処理結果を記憶する工程、(5)上記第一の入力デ
ータブロックに対する上記中間演算処理を行なった後
に、上記第二の入力データブロックを読み込む工程、
(6)読み込んだ上記第二の入力データブロックを、上
記第一の入力データブロックに対して上書きして記憶す
る工程、(7)記憶した上記第一の中間演算処理結果
と、記憶した上記第二の入力データブロックとを入力
し、最終演算処理を行ない、上記第一の出力データブロ
ックを出力する工程。
6. A data conversion method for inputting at least a first input data block and a second input data block and outputting a first output data block, comprising the following steps: Conversion method (1) reading the first input data block,
(2) storing the read first input data block; (3) inputting the stored first input data block, performing an intermediate operation, and outputting a first intermediate operation result (4) storing the output first intermediate calculation processing result, (5) reading the second input data block after performing the intermediate calculation processing on the first input data block,
(6) overwriting the read second input data block with respect to the first input data block and storing; (7) storing the stored first intermediate calculation result and storing the stored second intermediate data processing result. A step of inputting the second input data block, performing a final operation process, and outputting the first output data block.
【請求項7】 CBC(Cipher Block C
haining)モードで生成された暗号データを復号
するデータ変換方法であって、以下の工程を有すること
を特徴とするデータ変換方法 (1)上記暗号データを構成する暗号データブロック
を、暗号データブロックが生成された順とは逆順に、読
み込む工程、(2)読み込んだ上記暗号データブロック
を順次復号する工程。
7. CBC (Cipher Block C)
A data conversion method for decrypting the encrypted data generated in the (haining) mode, comprising the following steps: (1) The encrypted data block constituting the encrypted data is replaced with an encrypted data block. A step of reading in the reverse order of the order in which they were generated; and (2) a step of sequentially decoding the read encrypted data blocks.
JP25547199A 1999-09-09 1999-09-09 Data conversion apparatus and data conversion method Expired - Fee Related JP4335374B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25547199A JP4335374B2 (en) 1999-09-09 1999-09-09 Data conversion apparatus and data conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25547199A JP4335374B2 (en) 1999-09-09 1999-09-09 Data conversion apparatus and data conversion method

Publications (2)

Publication Number Publication Date
JP2001083873A true JP2001083873A (en) 2001-03-30
JP4335374B2 JP4335374B2 (en) 2009-09-30

Family

ID=17279237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25547199A Expired - Fee Related JP4335374B2 (en) 1999-09-09 1999-09-09 Data conversion apparatus and data conversion method

Country Status (1)

Country Link
JP (1) JP4335374B2 (en)

Also Published As

Publication number Publication date
JP4335374B2 (en) 2009-09-30

Similar Documents

Publication Publication Date Title
US7336783B2 (en) Cryptographic systems and methods supporting multiple modes
US7804960B2 (en) Hardware-based encryption/decryption employing dual ported key storage
WO2010055658A1 (en) Content decoding apparatus, content decoding method and integrated circuit
EP0725511A2 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authetication codes (MAC)
KR20060134992A (en) Computer system, computer program, and addition method
US7783045B2 (en) Secure approach to send data from one system to another
US20080192924A1 (en) Data encryption without padding
JP3824121B2 (en) Method and apparatus for decrypting encrypted data
JP6187624B1 (en) Information processing apparatus, information processing method, and program
US8774402B2 (en) Encryption/decryption apparatus and method using AES rijndael algorithm
US20040223609A1 (en) Data encryption method
JPH0946332A (en) Communication system for communication statement enciphered by rsa procedure
JP4335374B2 (en) Data conversion apparatus and data conversion method
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
JP2009098321A (en) Information processor
JPH09200196A (en) Ciphering communication system
JP2002108205A (en) Block ciphering method and decoding method
JPH0777933A (en) Network data ciphering device
JP2001285281A (en) Encryption system
JPS6281145A (en) Data ciphering system
JPH03233792A (en) Enciphering/decoding method
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
JPS62237834A (en) Data ciphering device
JP2001175167A (en) Ciphering method, deciphering method, and device therefor

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040514

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090623

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090625

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

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: 20120703

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees