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
JP3442011B2 - Encryption processing device and decryption processing device - Google Patents
[go: Go Back, main page]

JP3442011B2 - Encryption processing device and decryption processing device - Google Patents

Encryption processing device and decryption processing device

Info

Publication number
JP3442011B2
JP3442011B2 JP27116799A JP27116799A JP3442011B2 JP 3442011 B2 JP3442011 B2 JP 3442011B2 JP 27116799 A JP27116799 A JP 27116799A JP 27116799 A JP27116799 A JP 27116799A JP 3442011 B2 JP3442011 B2 JP 3442011B2
Authority
JP
Japan
Prior art keywords
data
block
processing
fraction
unit
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
JP27116799A
Other languages
Japanese (ja)
Other versions
JP2000075787A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP27116799A priority Critical patent/JP3442011B2/en
Publication of JP2000075787A publication Critical patent/JP2000075787A/en
Application granted granted Critical
Publication of JP3442011B2 publication Critical patent/JP3442011B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、秘密鍵に基づい
て、被暗号処理データをブロック単位で暗号化又は復号
化する暗号処理装置、暗号処理方法、暗号処理プログラ
ムを記憶した記憶媒体であって、特に装置規模や処理時
間等を大幅に増大させることなく安全性を向上させる技
術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cryptographic processing device, a cryptographic processing method, and a storage medium storing a cryptographic processing program for encrypting or decrypting encrypted data in block units based on a secret key. In particular, the present invention relates to a technique for improving safety without significantly increasing the scale of the device or the processing time.

【0002】[0002]

【従来の技術】近年、デジタル通信による送金やあらゆ
る情報の通信が普及してきたのに伴い、通信される重要
な情報を第三者による盗聴や改竄から守る、安全性を向
上させる為の技術への要求が高まっている。安全性を向
上させる為の有効な技術の1つに暗号(cryptog
raphy)がある。
2. Description of the Related Art In recent years, with the widespread use of remittance by digital communication and communication of all kinds of information, a technique for improving security, which protects important transmitted information from being intercepted or tampered with by a third party The demand for is increasing. One of the effective technologies for improving security is cryptography.
There is a raphy).

【0003】暗号を用いて通信するシステムにおいて
は、元の通信文を平文(plaintext)と呼び、
その意味内容が第三者に分かりにくい形に変換されたも
のを暗号文(cryptogram)と呼ぶ。また、こ
の変換を暗号化(encryption)と呼び、逆
に、暗号文を元の平文に復元する逆変換を復号化(de
cryption)と呼ぶ。
In a system that communicates using encryption, the original communication text is called plaintext.
What the meaning content is converted into a form that is difficult for a third party to understand is called a cryptogram. Further, this conversion is called encryption, and conversely, the reverse conversion for restoring the ciphertext to the original plaintext is decrypted (de).
Cryption).

【0004】暗号化及び復号化の変換内容は、アルゴリ
ズム(algorithm)とそのパラメータとなる鍵
(key)によって特定される。アルゴリズムは複数の
変換から成る変換の族(family)を特定し、鍵は
その族のなかの1つの変換を特定する。通常、装置の固
定部分に対応するものがアルゴリズムであり、1つの装
置において時々取り替えられるものが鍵である。
The conversion contents of encryption and decryption are specified by an algorithm and a key that is a parameter thereof. The algorithm identifies a family of transforms consisting of multiple transforms, and the key identifies one transform within that family. Usually, it is the algorithm that corresponds to the fixed parts of the device, and the key that is sometimes replaced in one device.

【0005】暗号文は、盗聴(eavesdrop)さ
れることを前提としている。盗聴者等がアルゴリズムや
鍵の情報を持たずに平文等に復号しようとすることを、
暗号解読(cryptanalysis)という。
The ciphertext is supposed to be eavesdropped. If an eavesdropper, etc. tries to decrypt the plaintext without having the algorithm or key information,
It is called cryptanalysis.

【0006】暗号解読しようとする者(以下、「暗号解
読者(cryptanalyst)」という)は、暗号
文は既知であるという前提で暗号解読を行なう。
A person who intends to decrypt the code (hereinafter referred to as "cryptanalyst") performs the decryption on the assumption that the ciphertext is known.

【0007】基本的に暗号文からのみ秘密の平文や鍵を
決定する解読法を、「暗号文単独攻撃(ciphert
ext−only attack)」という。また、い
くつかの不特定な暗号文と平文のペアから秘密の鍵を決
定し、任意の暗号文に対応する平文を決定する解読法
を、「既知平文攻撃(known−plaintext
attack)」という。
Basically, a decryption method that determines a secret plaintext or a key only from a ciphertext is described as "ciphertext alone attack (ciphert).
ext-only attack) ". In addition, a decryption method that determines a secret key from a pair of unspecified ciphertext and plaintext and determines a plaintext corresponding to an arbitrary ciphertext is described as “known-plaintext attack (known-plaintext attack).
attack) ”.

【0008】暗号の例の1つに、疑似乱数加算型暗号が
ある。
Pseudo-random number addition type encryption is one of the examples of encryption.

【0009】この暗号は、同一の鍵を送信者と受信者が
秘密に共有し、それぞれ同じアルゴリズムを持つ乱数発
生機を用いてこの鍵をシード(seed)として所定の
ビット数(以下、「ブロック」という)の乱数を発生さ
せ、送信者側による暗号化においては、ブロック単位
で、この乱数と平文とを、対応するビット毎に排他的論
理和の演算を行なうことによって暗号文を生成し、受信
者側による復号化においては、ブロック単位で、この乱
数と暗号文とを、対応するビット毎に排他的論理和の演
算を行なうことによって平文を生成する。
In this cipher, the same key is secretly shared by the sender and the receiver, and a random number generator having the same algorithm is used to seed the key with a predetermined number of bits (hereinafter, "block"). ) Is generated, and in the encryption by the sender side, the ciphertext is generated by performing an exclusive OR operation on the corresponding random number and the plaintext for each block, In the decryption by the receiver side, a plaintext is generated by performing an exclusive OR operation on the corresponding random number and the ciphertext in block units.

【0010】ここで、ブロック単位の平文を「M」、ブ
ロック単位の暗号文を「C」、この乱数を「R」、対応
するビット毎の排他的論理和の演算を「(+)」とする
と、暗号化は以下の(式1)で、復号化は以下の(式
2)で表せる。
Here, the plain text of the block unit is "M", the cipher text of the block unit is "C", the random number is "R", and the exclusive OR operation for each corresponding bit is "(+)". Then, the encryption can be expressed by the following (formula 1), and the decryption can be expressed by the following (formula 2).

【0011】 C=M(+)R ・・・(式1) M=C(+)R ・・・(式2) この暗号の問題点は、「既知平文攻撃」に非常に弱いこ
とである。
C = M (+) R (Equation 1) M = C (+) R (Equation 2) The problem with this cipher is that it is very vulnerable to "known plaintext attacks". .

【0012】例えば、それぞれ1ブロックの平文と暗号
文のペアが既知であれば、以下の(式3)より乱数Rが
判明するので他の全ての平文を解読することができる。
For example, if a pair of plaintext and ciphertext of one block is known, the random number R is known from the following (Equation 3), so that all other plaintexts can be decrypted.

【0013】 R=M(+)C ・・・(式3) よって、暗号解読者は既知平文攻撃によって、疑似乱数
加算型暗号を非常に容易に解読することができる。
R = M (+) C (Equation 3) Therefore, the cryptanalyst can very easily decrypt the pseudo random number addition type cipher by the known plaintext attack.

【0014】既知平文攻撃によっても比較的容易に解読
されない暗号の例に、DES(DataEncryption Standar
d)やFEAL(Fast Data Encipherment Algorithm)
がある。これらについては「暗号理論入門」(岡本栄司
著:共立出版発行)に詳しく述べられている。
DES (Data Encryption Standar) is an example of a cipher that cannot be easily decrypted by a known plaintext attack.
d) and FEAL (Fast Data Encipherment Algorithm)
There is. These are described in detail in "Introduction to Cryptography" (Eiji Okamoto: Kyoritsu Shuppan).

【0015】これらの暗号は、64ビットを1ブロック
とし、ブロック単位で強力にデータを撹乱する。例え
ば、DESのアルゴリズムは、転置(transpos
ion)と換字(substitution)を組み合
わせた処理を16段繰り返す。
In these ciphers, one block is 64 bits, and data is strongly disturbed in block units. For example, the DES algorithm uses transpose
Ion) and substitution (substitution) are repeated 16 times.

【0016】DESを、暗号解読や能動的な不正行為に
対して強くするために、暗号文ブロック連鎖方式(Ciph
er Block Chaining)(以下、略して「CBCモー ド」
という)が考案されている。CBCモードは、「現代暗
号理論」(池野信一,小山謙二著:電子情報通信学会発
行)p66〜67に詳しく述べられている。
In order to make DES strong against cryptanalysis and active fraud, ciphertext block chaining (Ciph
er Block Chaining) (hereinafter abbreviated as “CBC mode”)
That is) is devised. The CBC mode is described in detail in "Modern Cryptography" (written by Shinichi Ikeno and Kenji Koyama, published by The Institute of Electronics, Information and Communication Engineers), pp 66-67.

【0017】図50は、CBCモードを実現する暗号化
装置30の構成を示す図である。
FIG. 50 is a diagram showing the structure of the encryption device 30 which realizes the CBC mode.

【0018】暗号化装置30は、排他的論理和部30
1、データ暗号化部302、レジスタ303で構成され
る。
The encryption device 30 includes an exclusive OR unit 30.
1, a data encryption unit 302, and a register 303.

【0019】レジスタ303は、直前に暗号化した1ブ
ロックの暗号文を保管する。なお、最初のブロックを暗
号化する際には1ブロックの初期値IV(Initia
lValue)が設定されている。
The register 303 stores the immediately preceding encrypted one block of ciphertext. When encrypting the first block, the initial value IV (Initia) of one block is
1Value) is set.

【0020】排他的論理和部301は、レジスタ303
が保管する直前の1ブロックの暗号文と次に暗号化すべ
き1ブロックの平文とを、対応するビット毎に排他的論
理和の演算を行ない、データ暗号化部302へ渡す。な
お、最初のブロックを暗号化する際には初期値IVと最
初の1ブロックの平文とを、対応するビット毎に排他的
論理和の演算を行なう。
The exclusive OR unit 301 is a register 303.
The encrypted text of one block immediately before being stored and the plain text of one block to be encrypted next are subjected to exclusive OR operation for each corresponding bit, and passed to the data encryption unit 302. When encrypting the first block, the initial value IV and the plaintext of the first block are subjected to exclusive OR operation for each corresponding bit.

【0021】データ暗号化部302は、64ビットの鍵
データに基づいて、排他的論理和部301から渡された
64ビットのデータを、DESのアルゴリズムで暗号化
する。
The data encryption unit 302 encrypts the 64-bit data passed from the exclusive OR unit 301 with the DES algorithm based on the 64-bit key data.

【0022】この暗号化装置30は、ブロック単位で、
初期値IVと最初の1ブロックの平文とを、対応するビ
ット毎に排他的論理和の演算を行ない、64ビットの鍵
データに基づいて暗号化して1ブロックの暗号文を生成
し、更にこの暗号文と次のブロックの平文とを、対応す
るビット毎に排他的論理和の演算を行ない次の暗号化の
入力とする。
The encryption device 30 is in block units.
The initial value IV and the plaintext of the first 1 block are subjected to an exclusive OR operation for each corresponding bit, encrypted based on the 64-bit key data to generate a 1-block ciphertext, and this ciphertext is further generated. The text and the plaintext of the next block are subjected to exclusive OR operation for each corresponding bit and used as the input for the next encryption.

【0023】ブロック単位の平文をMi、ブロック単位
の暗号文をCi(iはブロック番号:i=2,3,・・
・)とし、64ビットの鍵データをK、鍵データKを用
いた暗号化をEkとし、対応するビット毎の排他的論理
和の演算を「(+)」とすると、CBCモードは以下の
(式4)、(式5)で表せる。
The plain text in block units is Mi, and the cipher text in block units is Ci (i is block number: i = 2, 3, ...
,), K for 64-bit key data, Ek for encryption using the key data K, and “(+)” for the operation of the exclusive OR for each corresponding bit, the CBC mode is It can be expressed by Equation 4) and Equation 5.

【0024】 C1=Ek(M1(+)IV) ・・・(式4) Ci=Ek(Mi(+)Ci−1)(i=2,3,・・・) ・・・(式5) CBCモードでは、各CiはCiより前の全ての暗号文
データに依存しているので、平文の統計的な特徴は攪乱
される。
C1 = Ek (M1 (+) IV) (Equation 4) Ci = Ek (Mi (+) Ci-1) (i = 2, 3, ...) (Equation 5) In CBC mode, each Ci depends on all ciphertext data before Ci, so the statistical characteristics of plaintext are disturbed.

【0025】よって、暗号解読や能動的な不正行為に対
して強くなっている。
Therefore, it is strong against decryption and active fraud.

【0026】以上の様なDES、FEAL及びDESに
おけるCBCモード等の問題点は、アルゴリズムが公に
なっており、鍵の長さが限られているので、「既知平文
攻撃」において、全ての鍵をしらみつぶしに使って暗号
化してみることにより、いつか必ず正しい鍵が発見され
ることである。なお、DESの鍵の長さは、前述のよう
に64ビットであるがパリティビットが8ビット有るた
め有効な長さは56ビットであり、鍵のとりうる数は2
の56乗個である。
As for the above-mentioned problems such as CBC mode in DES, FEAL, and DES, since the algorithm is public and the key length is limited, all the keys in the "known plaintext attack" are By trying to encrypt with the exhaustion, you will always discover the correct key. The length of the DES key is 64 bits as described above, but since the parity bit has 8 bits, the effective length is 56 bits, and the number of possible keys is 2.
Is the 56th power of.

【0027】DESのような56ビット程度の鍵の長さ
では、膨大なコストはかかるものの、現在の技術レベル
で総当たりによる解読が可能であろうという説がある。
しかし、独立な複数の鍵を用いて多重に暗号化すれば、
総当たりによる解読は現在の技術レベルでは不可能とな
る。
There is a theory that a key length of about 56 bits such as DES will entail enormous cost, but at the current technical level, it will be possible to perform brute force decryption.
However, if multiple encryption is performed using multiple independent keys,
Brute force decryption is not possible at the current level of technology.

【0028】しかしながら、コンピュータの処理能力
が、この十数年においてあまりにも急激な向上を遂げて
いることを鑑みると、いかに多重に暗号化しようとも、
今後総当たりによる解読が可能となる日が来ないとは言
い切れない。
However, in view of the fact that the processing power of the computer has improved so rapidly in the past ten years, no matter how many times the encryption is carried out,
It cannot be said that there will be no day when it will be possible to decipher by brute force.

【0029】また、多重に暗号化すればするほど安全性
も向上するが、単純に従来の装置を多重に暗号化するよ
うに変更すると、装置規模や処理時間等が大幅に増大す
るので、あまり望ましくない。
Further, the more the multiple encryption is performed, the more the security is improved. However, if the conventional device is simply changed to the multiple encryption, the device scale, the processing time, etc. are greatly increased. Not desirable.

【0030】多重に暗号化することなくCBCモード等
の安全性を向上させる従来の技術は、特開昭52−13
0504号公報(暗号処理装置)、特公平8−1253
7号公報(暗号化装置)において開示されている。前者
は暗号文等の暗号処理結果に基づいて次の暗号処理で用
いる鍵データを更新する。後者は、予め暗号鍵から複数
の中間鍵を生成して記憶し、各中間鍵を用いたビット変
換をそれぞれ行うことにより生成した各中間鍵更新情報
に基づいて、各中間鍵をそれぞれ更新する。
A conventional technique for improving the security of the CBC mode or the like without multiple encryption is disclosed in Japanese Patent Laid-Open No. 52-13.
Japanese Patent Publication No. 0504 (Cryptographic Processing Device), Japanese Patent Publication No. 8-12553
No. 7 (encryption device). The former updates the key data used in the next cryptographic processing based on the cryptographic processing result such as a ciphertext. The latter updates each intermediate key based on each intermediate key update information generated by previously generating and storing a plurality of intermediate keys from the encryption key and performing bit conversion using each intermediate key.

【0031】[0031]

【発明が解決しようとする課題】しかしながら、上記従
来の暗号処理装置等では、十分に安全性が確保されたと
はいいきれず、更なる安全性の向上が望まれている。
However, it cannot be said that the above-mentioned conventional cryptographic processing apparatus and the like have sufficiently secured security, and further improvement in security is desired.

【0032】そこで、本発明はかかる問題点に鑑みてな
されたものであり、装置規模や処理時間等を大幅に増大
させることなく、安全性を向上させることができる暗号
処理装置、暗号処理方法、暗号処理プログラムを記憶し
た記憶媒体を提供することを目的とする。
Therefore, the present invention has been made in view of the above problems, and a cryptographic processing apparatus, a cryptographic processing method, and a cryptographic processing method capable of improving security without significantly increasing the apparatus scale, processing time, and the like. An object is to provide a storage medium storing a cryptographic processing program.

【0033】[0033]

【課題を解決するための手段】上記目的を達成するため
に、本発明に係る暗号化処理装置は、鍵データと被暗号
化処理データとを含む入力データに基づいてブロック単
位で暗号化処理を施して出力データを生成する暗号化処
理装置であって、前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶し暗号化処理を施す毎に
当該連鎖データを更新する記憶手段と、記憶手段が記憶
する連鎖データを前記鍵データに融合して融合鍵データ
を生成する融合手段と、部分処理が複数段あり1段目で
部分処理を施したデータに2段目で更に部分処理を施し
これを段数分行ない暗号化処理データを生成する主暗号
化処理手段と、融合鍵データから主暗号化処理手段の段
数分の部分鍵を生成し主暗号化処理手段の各段に給送し
それぞれの部分処理に供させる部分鍵生成手段とを備
え、前記主暗号化処理手段は、段数分の部分鍵により特
定される複数段の部分処理を被暗号化処理データに施し
最終段以外の各段で部分処理を施して得られたデータが
各中間データとなり、前記記憶手段は、主暗号化処理手
段で得られた各中間データの内の1個を新たな連鎖デー
タとして自身が記憶する連鎖データを更新し次の暗号化
処理に供させ、前記暗号化処理装置は、さらに、前記被
暗号化処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
化処理データを準備するブロック準備手段と、ブロック
準備手段が被暗号化処理データをブロック単位に分割し
た際に生じるブロック単位未満の端数データから前記連
鎖データに基づいて当該端数データと同じ長さの出力デ
ータを生成する端数データ処理手段とを備えることを特
徴としている。
In order to achieve the above object, an encryption processing apparatus according to the present invention performs encryption processing in block units based on input data including key data and data to be encrypted. An encryption processing device that generates output data by applying the storage means for storing chain data used to exert influence of previous data on subsequent data, and updating the chain data each time encryption processing is performed; , Fusion means for generating chained key data by fusing the chain data stored in the storage means with the key data, and partial processing having a plurality of stages of partial processing and further partial processing of the data subjected to the partial processing in the first step in the second step The main encryption processing means for applying the number of steps to generate the encrypted processing data, and the partial key for the number of steps of the main encryption processing means from the fusion key data and feeding it to each step of the main encryption processing means. Each part The main encryption processing means performs a plurality of rounds of partial processing specified by the number of rounds of partial keys on the data to be encrypted and performs partial processing at each stage other than the final stage. The data obtained by performing the above process becomes each intermediate data, and the storage means updates one of the intermediate data obtained by the main encryption processing means as new chain data to update the chain data stored by itself. When subjected to the next encryption process, the encryption processing device further divides the data to be encrypted into blocks each having a predetermined number of bits, and sequentially encrypts one block to be processed next. Block preparation means for preparing the processed data, and fraction data less than the block unit generated when the block preparation means divides the encrypted data into block units, and the fraction data based on the chain data. Flip is characterized in that it comprises a fraction data processing means for generating output data length.

【0034】この構成によれば、暗号化処理を施す過程
において生成される中間データを連鎖データとして記憶
し、後の暗号化処理の際に鍵データに融合し、暗号化処
理を施す度に当該連鎖データを更新するので、各出力デ
ータは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。また、暗号解読者
は、暗号文と平文のペアを入手することはできたとして
も、暗号化処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズムや連鎖データの初期値は非公開なので、
「既知平文攻撃」による暗号解読はさらに難しくなり、
総当たりによる解読も困難である。
According to this structure, the intermediate data generated in the process of performing the encryption process is stored as chained data, and is fused to the key data in the subsequent encryption process, and the relevant data is added each time the encryption process is performed. Since the chained data is updated, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, which greatly increases the device scale and processing time. Not easy to decipher. Also, even if a cryptanalyst can obtain a pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the encryption process. The initial values of the algorithm and chain data to be used are not disclosed, so
Cryptanalysis by "known plaintext attack" becomes more difficult,
It is also difficult to decipher by brute force.

【0035】また、どの中間データが新たな連鎖データ
となるかを暗号解読者が知ることができない。
Further, the cryptanalyst cannot know which intermediate data becomes new chained data.

【0036】よって、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0037】またこれによって、端数データから端数デ
ータと同じ長さの出力データを生成することができるの
で、全入力データと全出力データの長さが同じとなる。
Further, as a result, since the output data having the same length as the fraction data can be generated from the fraction data, the lengths of all the input data and all the output data are the same.

【0038】従って、暗号化処理を施してもデータ長が
変わらないため、データを扱い易い。
Therefore, since the data length does not change even if the encryption process is performed, the data is easy to handle.

【0039】[0039]

【発明の実施の形態】(実施の形態1)本発明の実施の
形態1は、鍵データにより特定される暗号化処理又は復
号化処理(暗号化処理又は復号化処理を共に「暗号処
理」と呼ぶ)を施して、平文データから暗号文データを
生成する暗号化装置と暗号文データから平文データを生
成する復号化装置(暗号化装置又は復号化装置を共に
「被暗号処理データから出力データを生成する暗号処理
装置」と呼ぶ)であって、ブロック単位で暗号処理を施
す度に1ブロックの出力データを生成するまでの暗号処
理を施す過程において生成される中間ブロックを連鎖ブ
ロックとして記憶し、次のブロックの暗号処理を施す際
に記憶している連鎖ブロックを鍵データに融合する暗号
処理装置である。
BEST MODE FOR CARRYING OUT THE INVENTION (Embodiment 1) In Embodiment 1 of the present invention, an encryption process or a decryption process specified by key data (the encryption process or the decryption process are both referred to as "encryption process"). The encryption device that generates the ciphertext data from the plaintext data and the decryption device that generates the plaintext data from the ciphertext data (the encryption device or the decryption device are both referred to as “output data from encrypted data”). A cryptographic processing device for generating), storing an intermediate block generated in the process of performing the cryptographic processing until one block of output data is generated each time the cryptographic processing is performed in block units, as a chain block, This is a cryptographic processing device that fuses stored chain blocks into key data when performing cryptographic processing of the next block.

【0040】<構成> (暗号通信システムの構成)図1は、本発明の実施の形
態1における暗号通信システムの構成を示す図である。
<Structure> (Structure of Cryptographic Communication System) FIG. 1 is a diagram showing a structure of a cryptographic communication system according to the first embodiment of the present invention.

【0041】この暗号通信システムは、平文データを暗
号化して送信する送信機1及び暗号文データを受信して
復号する受信機2から構成される。なお、送信機1から
受信機2へ暗号文データを伝送する伝送路3を同じ図上
に示す。
This encryption communication system comprises a transmitter 1 for encrypting and transmitting plaintext data and a receiver 2 for receiving and decrypting ciphertext data. A transmission line 3 for transmitting ciphertext data from the transmitter 1 to the receiver 2 is shown in the same figure.

【0042】送信機1は、図1に示すように、データ暗
号化装置10及び送信部11を備える。
As shown in FIG. 1, the transmitter 1 includes a data encryption device 10 and a transmitter 11.

【0043】データ暗号化装置10は、平文データを入
手し、予め設定された鍵データに基づいて、所定数のビ
ットから成るブロック毎に、所定のアルゴリズムに従い
暗号化することにより、入手した平文データから暗号文
データを生成する。ここで用いた鍵データは予め送信機
1と受信機2とが秘密に共有するものであり、所定のア
ルゴリズムは装置固有のもので、変換の族(famil
y)を特定し、この鍵データによってその族のなかの1
つの変換が特定される。また平文データは、音声、画像
情報及び文字コード等をディジタル符号化したディジタ
ル情報である。ここでは、所定数のビットから成る1ブ
ロックを、例えば64ビットとして説明する。
The data encryption device 10 obtains the plaintext data by obtaining the plaintext data and encrypting it in accordance with a predetermined algorithm for each block consisting of a predetermined number of bits based on preset key data. Generate ciphertext data from. The key data used here is secretly shared in advance by the transmitter 1 and the receiver 2, and the predetermined algorithm is unique to the device, and is a family of conversions (famil).
y) is specified, and this key data is used to
Two transformations are identified. The plaintext data is digital information obtained by digitally encoding voice, image information, character code and the like. Here, one block including a predetermined number of bits will be described as 64 bits, for example.

【0044】送信部11は、暗号文データを変調し増幅
等を施した送信データを伝送路3に送出する。
The transmitting unit 11 sends the transmission data obtained by modulating and amplifying the ciphertext data to the transmission line 3.

【0045】受信機2は、図1に示すように、データ復
号化装置20及び受信部21を備える。
As shown in FIG. 1, the receiver 2 includes a data decoding device 20 and a receiver 21.

【0046】受信部21は、伝送路3を介して送信デー
タを受信し、復調等を施した暗号文データをデータ復号
化装置20に渡す。
The receiving unit 21 receives the transmission data via the transmission line 3 and passes the ciphertext data demodulated or the like to the data decryption apparatus 20.

【0047】データ復号化装置20は、鍵データに基づ
いて、ブロック毎に所定のアルゴリズムに従い復号化す
ることにより、暗号文データから平文データを生成す
る。
The data decryption device 20 produces plaintext data from ciphertext data by decrypting each block according to a predetermined algorithm based on the key data.

【0048】(データ暗号化装置10の構成)図2は、
本発明の実施の形態1における図1に示すデータ暗号化
装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 3 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in the first embodiment of the present invention.

【0049】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106及びブロック結合
部107で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a key data fusion unit 1.
03, partial key generation unit 104, first to eighth encryption unit 105a
.About.105h, a fraction data processing unit 106, and a block combining unit 107.

【0050】図50に示す従来の暗号化装置30と図2
に示す本発明の実施の形態1におけるデータ暗号化装置
10との関係は、排他的論理和部301は鍵データ融合
部103と対応し、データ暗号化部302はブロック分
割部101、部分鍵生成部104、第1〜8暗号化部1
05a〜105h、端数データ処理部106及びブロッ
ク結合部107と対応し、レジスタ303はブロック記
憶部102と対応する。
The conventional encryption device 30 shown in FIG. 50 and FIG.
In the relationship with the data encryption device 10 according to the first embodiment of the present invention shown in FIG. 1, the exclusive OR unit 301 corresponds to the key data fusion unit 103, the data encryption unit 302 is the block division unit 101, and partial key generation. Section 104, first to eighth encryption section 1
05a to 105h, the fraction data processing unit 106, and the block combination unit 107, and the register 303 corresponds to the block storage unit 102.

【0051】ブロック分割部101は、入手した平文デ
ータを64ビットから成る平文データの1ブロック(以
下、「平文ブロック」と言う)単位に分割して、順番に
第1暗号化部105aへ渡し、最後に64ビットに満た
ない端数平文データが生じた場合は、その端数平文デー
タを端数データ処理部106へ渡す。ここでは、一例と
して、200ビットの平文データを入手して、先頭から
1〜64ビットの第1平文ブロック、65〜128ビッ
トの第2平文ブロック、129〜192ビットの第3平
文ブロック及び193〜200ビットの端数平文データ
に分割し、順番に第1〜3平文ブロックを第1暗号化部
105aへ、端数平文データを端数データ処理部106
へ渡すものとする。
The block division unit 101 divides the obtained plaintext data into units of one block of plaintext data consisting of 64 bits (hereinafter referred to as "plaintext block") and transfers them to the first encryption unit 105a in order. Finally, when fractional plaintext data of less than 64 bits is generated, the fractional plaintext data is passed to the fraction data processing unit 106. Here, as an example, 200-bit plaintext data is acquired, and the first plaintext block of 1 to 64 bits, the second plaintext block of 65 to 128 bits, the third plaintext block of 129 to 192 bits, and 193 to It is divided into 200-bit fractional plaintext data, the first to third plaintext blocks are sequentially passed to the first encryption unit 105a, and the fractional plaintext data is fractional data processing unit 106.
Shall be passed to.

【0052】ブロック記憶部102は、ブロック分割部
101が分割した各ブロックを処理する際に、前のブロ
ックの影響を後のブロックに及ぼす為に用いる連鎖ブロ
ックを記憶する。なお、最初のブロックを処理する際に
は、予め連鎖ブロックの初期値IVが記憶される。
The block storage unit 102 stores a chain block used for exerting the influence of the previous block on the subsequent block when processing each block divided by the block dividing unit 101. When processing the first block, the initial value IV of the chain block is stored in advance.

【0053】鍵データ融合部103は、ブロック記憶部
102に記憶された連鎖ブロックを、鍵データに融合し
融合鍵データを生成する。ここでは、予め設定された6
4ビットの鍵データを入手し、第1平文ブロックを処理
する際には、64ビットの連鎖ブロックの初期値IVと
64ビットの鍵データとを、対応するビット毎に排他的
論理和の演算を行ない、第2〜3平文ブロックを処理す
る際には、第1〜2平文ブロックの処理の際に生成され
た64ビットの連鎖ブロックと64ビットの鍵データと
を、対応するビット毎に排他的論理和の演算を行なう。
The key data fusion unit 103 fuses the chain block stored in the block storage unit 102 with the key data to generate fusion key data. Here, the preset 6
When the 4-bit key data is obtained and the first plaintext block is processed, the 64-bit chain block initial value IV and the 64-bit key data are subjected to exclusive OR operation for each corresponding bit. When processing the second to third plaintext blocks, the 64-bit chain block and the 64-bit key data generated at the time of processing the first to second plaintext blocks are exclusive for each corresponding bit. Performs OR operation.

【0054】部分鍵生成部104は、鍵データ融合部1
03が生成した融合鍵データから、暗号化部の数に相当
する数の部分鍵を生成する。ここでは、64ビットの融
合鍵データから48ビットの部分鍵を8個生成する。
The partial key generation unit 104 includes the key data fusion unit 1
From the fusion key data generated by 03, the number of partial keys corresponding to the number of encryption units is generated. Here, eight 48-bit partial keys are generated from the 64-bit fusion key data.

【0055】第1暗号化部105aは、第1の部分鍵に
基づいて、平文ブロックから第1中間ブロックを生成す
る。
The first encryption unit 105a generates a first intermediate block from a plaintext block based on the first partial key.

【0056】第2〜7暗号化部105b〜105gは、
それぞれ第2〜7の部分鍵に基づいて、第1〜6中間ブ
ロックから第2〜7中間ブロックを生成する。
The second to seventh encryption units 105b to 105g are
Second to seventh intermediate blocks are generated from the first to sixth intermediate blocks, respectively, based on the second to seventh partial keys.

【0057】第8暗号化部105hは、第8の部分鍵に
基づいて、第7中間ブロックから暗号文データの1ブロ
ック(以下、「暗号文ブロック」と言う)を生成する。
The eighth encryption unit 105h generates one block of ciphertext data (hereinafter referred to as "ciphertext block") from the seventh intermediate block based on the eighth partial key.

【0058】第1〜8暗号化部105a〜105hは、
全て同じ構造を持ち、48ビットの部分鍵により特定さ
れた変換により、64ビットの入力の内の下位32ビッ
トを用いて上位32ビットを変換し、上位32ビットと
下位32ビットを入れ替える変換をそれぞれ直列に行な
い、この変換を合計で8段行なう。ここでは、第1〜3
平文ブロックから、それぞれに対応する第1〜7中間ブ
ロックと、第1〜3暗号文ブロックとを生成する。
The first to eighth encryption units 105a to 105h are
All have the same structure, and by the conversion specified by the 48-bit partial key, the upper 32 bits are converted by using the lower 32 bits of the input of 64 bits, and the conversion for exchanging the upper 32 bits and the lower 32 bits respectively. The conversion is performed in series, and a total of 8 conversions are performed. Here, the first to third
First to seventh intermediate blocks and first to third ciphertext blocks corresponding to the plaintext blocks are generated.

【0059】図3は、第1〜8暗号化部105a〜10
5hの詳細な構成を示す図である。
FIG. 3 shows the first to eighth encryption units 105a-10.
It is a figure which shows the detailed structure of 5h.

【0060】64ビットの平文ブロックは、上位32ビ
ットと下位32ビットに分割され、これらの上位をH
0、下位をL0とし、第n暗号化部の入力を{H(n−
1),L(n−1)}、出力を(Hn,Ln)とする
と、Hn、Lnは以下の(式6)、(式7)で表され
る。
The 64-bit plaintext block is divided into upper 32 bits and lower 32 bits, and the upper portion of these is H.
0, the lower order is L0, and the input of the nth encryption unit is {H (n-
1), L (n-1)} and the output is (Hn, Ln), Hn and Ln are represented by the following (Equation 6) and (Equation 7).

【0061】 Hn=L(n−1) ・・・(式6) Ln=H(n−1)(+)f{L(n−1)、Kn} ・・・(式7) ここで、「(+)」は対応するビット毎の排他的論理和
の演算を意味し、「Kn」は第n暗号化部に入力される
48ビットの部分鍵であり、「f」はL(n−1)とK
nを用いて32ビットのデータを出力する関数である。
Hn = L (n-1) (Equation 6) Ln = H (n-1) (+) f {L (n-1), Kn} (Equation 7) where “(+)” Means an operation of exclusive OR of corresponding bits, “Kn” is a 48-bit partial key input to the n-th encryption unit, and “f” is L (n− 1) and K
This is a function that outputs 32-bit data using n.

【0062】図4は、関数「f」を計算する部分の詳細
な構成を示す図である。
FIG. 4 is a diagram showing a detailed structure of a portion for calculating the function "f".

【0063】32ビットのL(n−1)は以下の(表
1)に示す拡大転置Eによって、48ビットに拡大され
て並びかえられる。
The 32-bit L (n-1) is expanded to 48 bits and rearranged by the expanded transpose E shown in (Table 1) below.

【0064】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の32ビット目は出力の第
1ビット目と第47ビット目に、入力の1ビット目は出
力の第2ビット目と第48ビット目に置き換えられる。
[0064] Numerical values in the table indicate new bit positions where the input bits are replaced. For example, the 32nd bit of the input is the 1st and 47th bits of the output, and the 1st bit of the input is the 2nd bit of the output. It is replaced by the eye and the 48th bit.

【0065】この48ビットと、48ビットの部分鍵K
nとを対応するビット毎に排他的論理和EXORの演算
を行ない、その結果を、さらに、6ビットずつ8組に分
割して、選択関数S1〜S8の8個にそれぞれ入力す
る。
This 48-bit and 48-bit partial key K
The exclusive OR EXOR operation is performed for each bit corresponding to n, and the result is further divided into 8 sets of 6 bits and input to 8 selection functions S1 to S8.

【0066】選択関数S1〜S8(Sボックスとも言
う)は、6ビットを入力し4ビットを出力する関数であ
り、その処理内容は換字表で表せる。
The selection functions S1 to S8 (also referred to as S boxes) are functions that input 6 bits and output 4 bits, and the processing content thereof can be represented by a substitution table.

【0067】図5は、選択関数S1〜S8の換字表を示
す図である。
FIG. 5 is a diagram showing a substitution table of the selection functions S1 to S8.

【0068】1つの選択関数には、0〜15までの数字
が64個あり、4行16列に並んでいる。
There are 64 numbers 0 to 15 in one selection function, which are arranged in 4 rows and 16 columns.

【0069】入力される6ビットの内の最初と最後のビ
ットが、この換字表の行を特定し、最初と最後を除く4
ビットが列を特定する。
The first and last bits of the input 6 bits specify the row of this substitution table, excluding the first and last 4 bits.
Bits identify columns.

【0070】例えば、選択関数S1に「011011」
を入力すると、最初のビット「0」と、最後のビット
「1」から、2行目と特定し、最初と最後を除く4ビッ
ト「1101」から、14列目と特定する。そして、選
択関数S1の換字表の2行14列が「5」なので、「0
101」を出力する。
For example, "011011" is added to the selection function S1.
Is input, the first bit "0" and the last bit "1" are specified as the second row, and the four bits "1101" excluding the first and last are specified as the 14th column. Then, since 2nd row and 14th column of the substitution table of the selection function S1 is "5", "0
101 ”is output.

【0071】8個の選択関数S1〜S8が出力する合計
32ビット(4ビット×8=32ビット)の出力は以下
の(表2)に示す転置Pを行ない「f{L(n−1)、
Kn}」の出力となる。 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の16ビット目は出力の第
1ビット目に、入力の7ビット目は出力の第2ビット目
に置き換えられる。
A total of 32 bits (4 bits × 8 = 32 bits) output by the eight selection functions S1 to S8 are transposed P shown in (Table 2) below to obtain "f {L (n-1)". ,
Kn} ”is output. Numerical values in the table indicate new bit positions where the input bits are replaced. For example, the 16th bit of the input is replaced with the first bit of the output, and the 7th bit of the input is replaced with the second bit of the output.

【0072】ブロック記憶部102はブロック更新機能
を備え、第4暗号化部105dが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第4中間ブロックを新たな連鎖ブロックとして更新
する。次に、第1平文ブロックの処理の際に更新した連
鎖ブロックが第2平文ブロックを処理する際に用いら
れ、この処理の際に生成された第4中間ブロックを新た
な連鎖ブロックとして更新する。次に、第2平文ブロッ
クの処理の際に更新した連鎖ブロックが第3平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第4中間ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
The block storage unit 102 has a block update function, and updates the chain block storing the fourth intermediate block as a new chain block each time the fourth encryption unit 105d generates the fourth intermediate block. However, it is used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used when processing the first plaintext block, and the fourth intermediate block generated during this processing is updated as a new chain block. To do. Next, the chain block updated in the processing of the first plaintext block is used in processing the second plaintext block, and the fourth intermediate block generated in this processing is updated as a new chain block. Next, the chain block updated in the processing of the second plaintext block is used in processing the third plaintext block, and the fourth intermediate block generated in this processing is updated as a new chain block. Finally, the chain block updated when processing the third plaintext block is used when processing the fractional plaintext data.

【0073】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、ブロック記憶
部102に記憶された連鎖ブロックに基づいて、端数平
文データから端数平文データと同じビット数の端数暗号
文データを生成するものであり、データ整合部106a
及び端数データ融合部106bを含む。
The fraction data processing unit 106 receives the fraction plaintext data from the block division unit 101, and based on the chain block stored in the block storage unit 102, the fraction plaintext data to the fraction ciphertext having the same number of bits as the fraction plaintext data. The data matching unit 106a is for generating data.
And a fraction data fusion unit 106b.

【0074】図6は、本発明の実施の形態1における図
2に示す端数データ処理部106の詳細な構成を示す図
である。
FIG. 6 is a diagram showing a detailed configuration of the fraction data processing unit 106 shown in FIG. 2 in the first embodiment of the present invention.

【0075】データ整合部106aは、ブロック記憶部
102に記憶された連鎖ブロックから、端数平文データ
と同じビット数の端数連鎖データを生成する。ここで
は、端数平文データが8ビットなので、ブロック記憶部
102に記憶された連鎖ブロックの、例えば上位8ビッ
トで構成される端数連鎖データを生成する。
The data matching unit 106a generates, from the chained blocks stored in the block storage unit 102, fractional chained data having the same number of bits as the fractional plaintext data. Here, since the fractional plaintext data is 8 bits, the fractional chained data composed of, for example, the upper 8 bits of the chained block stored in the block storage unit 102 is generated.

【0076】端数データ融合部106bは、端数連鎖デ
ータを端数平文データに融合する。ここでは、8ビット
の端数連鎖データと8ビットの端数平文データとを、対
応するビット毎に排他的論理和の演算を行ない、8ビッ
トの端数暗号文データを生成する。
The fraction data merging unit 106b merges the fraction concatenation data with the fraction plaintext data. Here, the 8-bit fraction chained data and the 8-bit fraction plaintext data are subjected to an exclusive OR operation for each corresponding bit to generate 8-bit fraction ciphertext data.

【0077】ブロック結合部107は、第8暗号化部1
05hが生成した各暗号文ブロック及び端数データ処理
部106が生成した端数暗号文データを結合して暗号文
データを生成する。ここでは、各64ビットの第1〜3
暗号文ブロック及び8ビットの端数暗号文データを結合
して200ビットの暗号文データを生成する。
The block combination unit 107 is the eighth encryption unit 1.
Each ciphertext block generated by 05h and the fraction ciphertext data generated by the fraction data processing unit 106 are combined to generate ciphertext data. Here, the first to third of each 64 bits
The ciphertext block and the 8-bit fraction ciphertext data are combined to generate 200-bit ciphertext data.

【0078】なお、ブロック記憶部102は、連鎖ブロ
ックを第4暗号化部105dが生成した第4中間ブロッ
クに更新したが、これはほんの一例であり、処理の過程
で生成した中間ブロックならどれであってもよいので、
第1〜7暗号化部105a〜105gが生成した第1〜
7中間ブロックの内の別の1個に更新するものであって
もよい。
The block storage unit 102 updates the chain block to the fourth intermediate block generated by the fourth encryption unit 105d, but this is only an example, and any intermediate block generated during the process may be used. Because it may be
First to seventh generated by the first to seventh encryption units 105a to 105g
It may be updated to another one of the seven intermediate blocks.

【0079】(データ復号化装置20の構成)図7は、
本発明の実施の形態1における図1に示すデータ復号化
装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 3 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in the first embodiment of the present invention.

【0080】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206及びブロック結合
部207で構成される。
The data decryption apparatus 20 includes a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to eighth decryption unit 205a
.About.205h, a fraction data processing unit 206, and a block combining unit 207.

【0081】図50に示す暗号化装置30と図7に示す
データ復号化装置20との関係は、排他的論理和部30
1は鍵データ融合部203と対応し、データ暗号化部3
02はブロック分割部201、部分鍵生成部204、第
1〜8復号化部205a〜205h、端数データ処理部
206及びブロック結合部207と対応し、レジスタ3
03はブロック記憶部202と対応する。
The relationship between the encryption device 30 shown in FIG. 50 and the data decryption device 20 shown in FIG.
1 corresponds to the key data fusion unit 203, and the data encryption unit 3
Reference numeral 02 corresponds to the block division unit 201, the partial key generation unit 204, the first to eighth decryption units 205a to 205h, the fraction data processing unit 206, and the block combination unit 207, and the register 3
03 corresponds to the block storage unit 202.

【0082】ブロック分割部201は、入手した暗号文
データを64ビットから成るブロックに分割して第1復
号化部205aへ渡し、最後に64ビットに満たない端
数暗号文データが生じた場合は、その端数暗号文データ
を端数データ処理部206へ渡す。ここでは、一例とし
て、200ビットの暗号文データを入手して、先頭から
1〜64ビットの第1暗号文ブロック、65〜128ビ
ットの第2暗号文ブロック、129〜192ビットの第
3暗号文ブロック及び193〜200ビットの端数暗号
文データに分割し、第1〜3暗号文ブロックを第1復号
化部205aへ、端数暗号文データを端数データ処理部
206へ渡すものとする。
The block dividing unit 201 divides the obtained ciphertext data into blocks of 64 bits and passes them to the first decryption unit 205a, and when the fractional ciphertext data of less than 64 bits is finally generated, The fraction ciphertext data is passed to the fraction data processing unit 206. Here, as an example, 200-bit ciphertext data is obtained, and the first ciphertext block of 1 to 64 bits, the second ciphertext block of 65 to 128 bits, and the third ciphertext of 129 to 192 bits are acquired from the beginning. Blocks and 193 to 200-bit fraction ciphertext data are divided, and the first to third ciphertext blocks are passed to the first decryption unit 205a and the fraction ciphertext data to the fraction data processing unit 206.

【0083】ブロック記憶部202は、ブロック分割部
201が分割した各ブロックを処理する際に、前のブロ
ックの影響を及ぼす為に用いる連鎖ブロックを記憶す
る。なお、最初のブロックを処理する際には、予め連鎖
ブロックの初期値IVが記憶される。また、この初期値
IVはデータ暗号化装置10で用いたのもと同一のもの
である。ある平文データの暗号化に用いた初期値IV
と、その平文データに対応する暗号文データの復号化に
用いる初期値IVとは同一である。
The block storage unit 202 stores a chain block used to influence the previous block when processing each block divided by the block division unit 201. When processing the first block, the initial value IV of the chain block is stored in advance. The initial value IV is the same as that used in the data encryption device 10. Initial value IV used to encrypt certain plaintext data
And the initial value IV used for decrypting the ciphertext data corresponding to the plaintext data is the same.

【0084】鍵データ融合部203は、ブロック記憶部
202に記憶された連鎖ブロックを、鍵データに融合し
融合鍵データを生成する。なお、この融合は、データ暗
号化装置10の鍵データ融合部103が行なう融合と同
一である。また、この鍵データはデータ暗号化装置10
で用いたのもと同一のものである。ある平文データの暗
号化に用いた鍵データと、その平文データに対応する暗
号文データの復号化に用いる鍵データとは同一である。
ここでは、予め設定された64ビットの鍵データを入手
し、第1暗号文ブロックを処理する際には、64ビット
の連鎖ブロックの初期値IVと64ビットの鍵データと
を、対応するビット毎に排他的論理和の演算を行ない、
第2〜3暗号文ブロックを処理する際には、第1〜2暗
号文ブロックの処理の際に生成された64ビットの連鎖
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう。
The key data fusion unit 203 fuses the chain block stored in the block storage unit 202 with the key data to generate fusion key data. Note that this fusion is the same as the fusion performed by the key data fusion unit 103 of the data encryption device 10. Further, this key data is used for the data encryption device 10
It is the same as the one used in. The key data used to encrypt certain plaintext data and the key data used to decrypt the ciphertext data corresponding to that plaintext data are the same.
Here, when the preset 64-bit key data is obtained and the first ciphertext block is processed, the initial value IV of the 64-bit chain block and the 64-bit key data are set for each corresponding bit. Exclusive-or operation on
When processing the second to third ciphertext blocks, the 64-bit chain block and the 64-bit key data generated at the time of processing the first to second ciphertext blocks are exclusive for each corresponding bit. Performs OR operation.

【0085】部分鍵生成部204は、鍵データ融合部2
03が生成した融合鍵データから、復号化部の数に相当
する数の部分鍵を生成する。ここでは、64ビットの融
合鍵データから48ビットの部分鍵を8個生成する。な
お、この部分鍵を生成する機能は、データ暗号化装置1
0の部分鍵生成部104が行なうそれと全く同一であ
る。
The partial key generation unit 204 has the key data fusion unit 2
From the fusion key data generated by 03, the number of partial keys corresponding to the number of decryption units is generated. Here, eight 48-bit partial keys are generated from the 64-bit fusion key data. The function of generating this partial key is used in the data encryption device 1.
This is exactly the same as that performed by the partial key generation unit 104 of 0.

【0086】第1復号化部205aは、第8の部分鍵に
基づいて、暗号文ブロックから第7中間ブロックを生成
する。
The first decryption unit 205a generates the seventh intermediate block from the ciphertext block based on the eighth partial key.

【0087】第2〜7復号化部205b〜205gは、
それぞれ第7〜2の部分鍵に基づいて、第7〜2中間ブ
ロックから第6〜1中間ブロックを生成する。
The second to seventh decoding units 205b to 205g are
The 6th to 1st intermediate blocks are generated from the 7th to 2nd intermediate blocks based on the 7th to 2nd partial keys, respectively.

【0088】第8復号化部205hは、第1の部分鍵に
基づいて、第1中間ブロックから平文ブロックを生成す
る。
The eighth decryption unit 205h generates a plaintext block from the first intermediate block based on the first partial key.

【0089】第1〜8復号化部205a〜205hは、
全て同じ構造を持ち、48ビットの部分鍵により特定さ
れた変換により、64ビットの入力の内の下位32ビッ
トを用いて上位32ビットを変換し、上位32ビットと
下位32ビットを入れ替える変換をそれぞれ直列に行な
い、この変換を合計で8段行なう。ここでは、第1〜3
暗号文ブロックから、それぞれに対応する第7〜1中間
ブロックと、第1〜3平文ブロックとを生成する。な
お、第1〜8復号化部205a〜205hが行なう変換
は、それぞれデータ暗号化装置10の第8〜1暗号化部
105h〜105aが行なう変換の逆変換である。
The first to eighth decoding units 205a to 205h are
All have the same structure, and by the conversion specified by the 48-bit partial key, the upper 32 bits are converted by using the lower 32 bits of the input of 64 bits, and the conversion for exchanging the upper 32 bits and the lower 32 bits respectively. The conversion is performed in series, and a total of 8 conversions are performed. Here, the first to third
From the ciphertext block, the 7th to 1st intermediate blocks and the 1st to 3rd plaintext blocks respectively corresponding thereto are generated. The conversions performed by the first to eighth decryption units 205a to 205h are reverse conversions of the conversions performed by the eighth to first encryption units 105h to 105a of the data encryption device 10, respectively.

【0090】ブロック記憶部202はブロック更新機能
を備え、第4復号化部205dが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1暗号文
ブロックを処理する際に用いられ、この処理の際に生成
された第4中間ブロックを新たな連鎖ブロックとして記
憶する。次に、第1暗号文ブロックの処理の際に更新さ
れた連鎖ブロックが第2暗号文ブロックを処理する際に
用いられ、この処理の際に生成された第4中間ブロック
を新たな連鎖ブロックとして記憶する。次に、第2暗号
文ブロックの処理の際に記憶された連鎖ブロックが第3
暗号文ブロックを処理する際に用いられ、この処理の際
に生成された第4中間ブロックを新たな連鎖ブロックと
して記憶する。最後に、第3暗号文ブロックの処理の際
に記憶された連鎖ブロックが端数暗号文データを処理す
る際に用いられる。
The block storage unit 202 has a block updating function, and every time the fourth decoding unit 205d generates a fourth intermediate block, the chain block storing the fourth intermediate block as a new chain block is updated. However, it is used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used when processing the first ciphertext block, and the fourth intermediate block generated during this processing is used as a new chain block. Remember. Next, the chain block updated in processing the first ciphertext block is used in processing the second ciphertext block, and the fourth intermediate block generated in this processing is set as a new chain block. Remember. Next, the chain block stored during the processing of the second ciphertext block is the third
It is used when processing a ciphertext block, and the fourth intermediate block generated during this processing is stored as a new chain block. Finally, the chain block stored when processing the third ciphertext block is used when processing the fraction ciphertext data.

【0091】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、ブロック記
憶部202に記憶された連鎖ブロックに基づいて、端数
暗号文データから端数暗号文データと同じビット数の端
数平文データを生成するものであり、データ整合部20
6a及び端数データ融合部206bを含む。
The fraction data processing unit 206 receives the fraction ciphertext data from the block dividing unit 201, and based on the chain block stored in the block storage unit 202, the fraction ciphertext data has the same number of bits as the fraction ciphertext data. Fractional plaintext data is generated, and the data matching unit 20
6a and a fraction data fusion unit 206b.

【0092】図8は、本発明の実施の形態1における図
7に示す端数データ処理部206の詳細な構成を示す図
である。
FIG. 8 is a diagram showing a detailed configuration of the fraction data processing unit 206 shown in FIG. 7 in the first embodiment of the present invention.

【0093】データ整合部206aは、ブロック記憶部
202に記憶された連鎖ブロックから、端数暗号文デー
タと同じビット数の端数連鎖データを生成する。ここで
は、端数暗号文データが8ビットなので、ブロック記憶
部202に記憶された連鎖ブロックの、例えば上位8ビ
ットで構成される端数連鎖データを生成する。
The data matching unit 206a generates, from the chain block stored in the block storage unit 202, fractional chained data having the same number of bits as the fractional ciphertext data. Here, since the fraction ciphertext data is 8 bits, the fraction chain data composed of, for example, the upper 8 bits of the chain block stored in the block storage unit 202 is generated.

【0094】端数データ融合部206bは、端数連鎖デ
ータを端数暗号文データに融合する。ここでは、8ビッ
トの端数連鎖データと8ビットの端数暗号文データと
を、対応するビット毎に排他的論理和の演算を行ない、
8ビットの端数平文データを生成する。
The fraction data merging unit 206b merges the fraction chain data with the fraction ciphertext data. Here, the 8-bit fraction chain data and the 8-bit fraction ciphertext data are subjected to exclusive OR operation for each corresponding bit,
8-bit fractional plaintext data is generated.

【0095】ブロック結合部207は、第8復号化部2
05hが生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
The block combination unit 207 is the eighth decoding unit 2.
Each block of the plaintext data generated by 05h and the fractional plaintext data generated by the fractional data processing unit 206 are combined to generate plaintext data. Here, the 1st to 1st of each 64 bits
3 plaintext data and 8-bit fractional plaintext data are combined to generate 200-bit plaintext data.

【0096】なお、ブロック記憶部202は、連鎖ブロ
ックを第4復号化部205dが生成した第4中間ブロッ
クに更新したが、これはほんの一例であり、処理の過程
で生成した中間ブロックならどれであってもよいので、
第1〜7復号化部205a〜205gが生成した第1〜
7中間ブロックの内の別の1個に更新するものであって
もよい。ただし、データ暗号化装置10のブロック記憶
部102と同一の中間ブロックに更新する必要がある。
The block storage unit 202 updates the chain block to the fourth intermediate block generated by the fourth decoding unit 205d, but this is only an example, and any intermediate block generated in the process of processing may be used. Because it may be
1st to 7th generated by 1st to 7th decoding units 205a to 205g
It may be updated to another one of the seven intermediate blocks. However, it is necessary to update to the same intermediate block as the block storage unit 102 of the data encryption device 10.

【0097】<動作> (データ暗号化装置10の動作)図9は、本発明の実施
の形態1のデータ暗号化装置10における暗号化処理の
流れを示す図である。
<Operation> (Operation of Data Encryption Device 10) FIG. 9 is a diagram showing a flow of encryption processing in the data encryption device 10 according to the first embodiment of the present invention.

【0098】ここでは、一例として、200ビットの平
文データを入手し、ブロック記憶部102には予め初期
値IVが記憶されるものとして、DESのアルゴリズム
に準じて説明する。
Here, as an example, description will be given according to the DES algorithm, assuming that 200-bit plaintext data is acquired and the initial value IV is stored in advance in the block storage unit 102.

【0099】(1)ブロック分割部101が、入手した
平文データの未処理分が64ビット以上未満で有るか否
かを判定する(ステップS101)。ここでは、1回目
は、入手した平文データの未処理分は200ビットなの
で64ビット以上と判定する(ステップS101:1回
目)。
(1) The block division unit 101 determines whether or not the unprocessed plaintext data obtained is less than 64 bits (step S101). Here, in the first time, since the unprocessed portion of the obtained plaintext data is 200 bits, it is determined to be 64 bits or more (step S101: the first time).

【0100】(2)平文データの未処理分が64ビット
以上の場合は、未処理分の先頭から64ビット分離する
(ステップS102)。ここでは、200ビットの内の
先頭から数えて1〜64ビットを第1平文ブロックとし
て分離する(ステップS102:1回目)。
(2) If the unprocessed portion of plaintext data is 64 bits or more, 64 bits are separated from the beginning of the unprocessed portion (step S102). Here, 1 to 64 bits counted from the beginning of 200 bits are separated as a first plaintext block (step S102: the first time).

【0101】(3)鍵データ融合部103が、ブロック
記憶部102に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS103)。
ここでは、64ビットの連鎖ブロックの初期値IVと6
4ビットの鍵データとを、対応するビット毎に排他的論
理和の演算を行ない、融合鍵データを生成して部分鍵生
成部104に渡す(ステップS103:1回目)。
(3) The key data fusion unit 103 fuses the chain block stored in the block storage unit 102 with the key data to generate fusion key data (step S103).
Here, the initial values IV and 6 of the 64-bit chain block
Exclusive bitwise operation is performed for each corresponding bit with the 4-bit key data to generate fusion key data and pass it to the partial key generation unit 104 (step S103: first time).

【0102】(4)部分鍵生成部104が、融合鍵デー
タから暗号化部の数に相当する数の部分鍵を生成する
(ステップS104)。ここでは、64ビットの融合鍵
データから48ビットの部分鍵を8個生成する(ステッ
プS104:1回目)。
(4) The partial key generation unit 104 generates the number of partial keys corresponding to the number of encryption units from the fusion key data (step S104). Here, eight 48-bit partial keys are generated from the 64-bit fusion key data (step S104: the first time).

【0103】パリティビットを8ビット含む64ビット
の鍵データから、第1〜8までの8個×48ビットの部
分鍵を生成する手順は、例えば、以下のようになってい
る。
The procedure of generating the first to eighth partial keys of 8 × 48 bits from the key data of 64 bits including 8 bits of parity bits is as follows, for example.

【0104】パリティビットを含む64ビットの鍵デー
タは(表3)に示す転置により、転置が行なわれるとと
もにパリティビットが除かれた56ビットとなる。
The 64-bit key data including the parity bit is transposed by the transposition shown in (Table 3) and becomes 56 bits with the parity bit removed.

【0105】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の57ビット目は出力に第
1ビット目に、入力の49ビット目は出力の第2ビット
目に置き換えられる。
[0105] Numerical values in the table indicate new bit positions where the input bits are replaced. For example, the 57th bit of the input is replaced with the first bit of the output and the 49th bit of the input is replaced with the second bit of the output.

【0106】この56ビットの内、前半の28ビットを
C0、後半の28ビットをD0とし、このC0とD0を
(表4)に示すシフト回数だけ左にシフトすることによ
り、C1〜C8及びD1〜D8を生成する。
Of the 56 bits, the first 28 bits are C0 and the second 28 bits are D0. By shifting C0 and D0 to the left by the number of shifts shown in (Table 4), C1 to C8 and D1 Generate ~ D8.

【0107】 (表4) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 部分鍵ナンバー 1 2 3 4 5 6 7 8 シフト回数 2 4 8 12 16 20 24 26 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 例えば、C0=(c1 c2 c3 ・・・ c26
c27 c28)とすると、C1=(c3 c4 c5
・・・ c28 c1 c2)となる。
(Table 4) --------------------------- Partial key number 1 2 3 4 5 6 7 8 Number of shifts 2 4 8 12 16 20 20 24 26 ------------------------------ For example, C0 = (c1 c2 c3 ... c26
c27 c28), C1 = (c3 c4 c5
... c28 c1 c2).

【0108】次に、それぞれの56ビットは、(表5)
に示す転置により48ビットとなる。
Next, each 56 bits are (Table 5)
The transposition shown in (4) gives 48 bits.

【0109】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の14ビット目は出力の第
1ビット目に、入力の17ビット目は出力の第2ビット
目に置き換えられる。
[0109] Numerical values in the table indicate new bit positions where the input bits are replaced. For example, the 14th bit of the input is replaced with the first bit of the output, and the 17th bit of the input is replaced with the second bit of the output.

【0110】(5)第1暗号化部105aが、第1の部
分鍵に基づいて、平文ブロックから第1中間ブロックを
生成する(ステップS105)。ここでは、第1平文ブ
ロックから第1中間ブロックを生成する(ステップS1
05:1回目)。
(5) The first encryption unit 105a generates a first intermediate block from a plaintext block based on the first partial key (step S105). Here, the first intermediate block is generated from the first plaintext block (step S1).
05: 1st time).

【0111】(6)第2〜4暗号化部105b〜105
dが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS106)。ここでは、第1平文ブロックに対応
する第1〜3中間ブロックから第2〜4中間ブロックを
生成する(ステップS106:1回目)。
(6) Second to fourth encryption units 105b to 105
d is the first to third subkeys based on the second to fourth partial keys, respectively.
Second to fourth intermediate blocks are generated from the intermediate blocks (step S106). Here, the second to fourth intermediate blocks are generated from the first to third intermediate blocks corresponding to the first plaintext block (step S106: the first time).

【0112】(7)ブロック記憶部102が、第4中間
ブロックを新たな連鎖ブロックとして、記憶している連
鎖ブロックを更新する(ステップS107)。ここで
は、第1平文ブロックに対応する第4中間ブロックに更
新する(ステップS107:1回目)。
(7) The block storage unit 102 updates the stored chain block using the fourth intermediate block as a new chain block (step S107). Here, the fourth intermediate block corresponding to the first plaintext block is updated (step S107: the first time).

【0113】(8)第5〜7暗号化部105e〜105
gが、それぞれ第5〜7の部分鍵に基づいて、第4〜6
中間ブロックから第5〜7中間ブロックを生成する(ス
テップS108)。ここでは、第1平文ブロックに対応
する第4〜6中間ブロックから第5〜7中間ブロックを
生成する(ステップS108:1回目)。
(8) Fifth to seventh encryption units 105e to 105
g is 4th-6th based on the 5th-7th partial keys, respectively.
The fifth to seventh intermediate blocks are generated from the intermediate blocks (step S108). Here, the fifth to seventh intermediate blocks are generated from the fourth to sixth intermediate blocks corresponding to the first plaintext block (step S108: the first time).

【0114】(9)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから暗号文ブロック
を生成する(ステップS109)。ここでは、第1平文
ブロックに対応する第7中間ブロックから第1暗号文ブ
ロックを生成する(ステップS109:1回目)。
(9) The eighth encryption unit 105h generates a ciphertext block from the seventh intermediate block based on the eighth partial key (step S109). Here, the first ciphertext block is generated from the seventh intermediate block corresponding to the first plaintext block (step S109: the first time).

【0115】(10)平文データの未処理分が有るか否
かを判断する。まだ未処理分が有る場合は、次の平文プ
ロック又は端数平文データを処理しに、ステップS10
1に戻る(ステップS110)。ここでは、まだ未処理
分が有るのでステップS101に戻る(ステップS11
0:1回目)。
(10) It is determined whether or not there is unprocessed plaintext data. If there is still unprocessed data, the next plaintext block or fractional plaintext data is processed, and step S10 is performed.
It returns to 1 (step S110). Here, there is still an unprocessed portion, so the process returns to step S101 (step S11).
0: 1st time).

【0116】(11)ステップS101において、ここ
では、1回目に200ビットの平文データから64ビッ
トが分離され、その残りが136ビットなので、64ビ
ット以上と判定する(ステップS101:2回目)。
(11) In step S101, 64 bits are separated from the 200-bit plaintext data at the first time, and the rest is 136 bits. Therefore, it is determined that the number of bits is 64 bits or more (step S101: second time).

【0117】(12)ステップS102において、ここ
では、最初の200ビットの先頭から数えて65〜12
8ビットを第2平文ブロックとして分離する(ステップ
S102:2回目)。
(12) In step S102, 65 to 12 are counted from the beginning of the first 200 bits in this case.
Eight bits are separated as a second plaintext block (step S102: second time).

【0118】(13)ステップS103において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの鍵データとを、対応
するビット毎に排他的論理和の演算を行ない、融合鍵デ
ータを生成して部分鍵生成部104に渡す(ステップS
103:2回目)。
(13) In step S103, the 64-bit chain block and the 64-bit key data generated at the time of processing the first plaintext block are operated by exclusive OR for each corresponding bit. To generate the fusion key data and pass it to the partial key generation unit 104 (step S
103: second time).

【0119】(14)ステップS104において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS104:2回目)。
(14) In step S104, here, eight 48-bit partial keys are generated from the 64-bit fusion key data (step S104: second time).

【0120】(15)〜(19)ステップS105〜ス
テップS109において、第2平文ブロックについて、
第1平文ブロックと同様の処理を行ない、第2平文ブロ
ックに対応する第1〜7中間ブロック及び暗号文ブロッ
クを生成し、ブロック記憶部102が記憶している連鎖
ブロックを第2平文ブロックに対応する第4中間ブロッ
クに更新する(ステップS105〜ステップS109:
2回目)。
(15)-(19) In steps S105-S109, for the second plaintext block,
The same processing as the first plaintext block is performed to generate the first to seventh intermediate blocks and ciphertext blocks corresponding to the second plaintext block, and the chain block stored in the block storage unit 102 corresponds to the second plaintext block. To the fourth intermediate block (step S105 to step S109:
Second time).

【0121】(20)ステップS110において、ここ
では、まだ平文データの未処理分が有るのでステップS
101に戻る(ステップS110:2回目)。
(20) In step S110, since there is still unprocessed plaintext data, step S110
The process returns to 101 (step S110: second time).

【0122】(21)ステップS101において、ここ
では、2回目に136ビットの平文データから64ビッ
トが分離され、その残りが72ビットなので、64ビッ
ト以上と判定する(ステップS101:3回目)。
(21) In step S101, 64 bits are separated from the plaintext data of 136 bits for the second time, and the rest is 72 bits. Therefore, it is determined that the number of bits is 64 bits or more (step S101: third time).

【0123】(22)ステップS102において、ここ
では、最初の200ビットの先頭から数えて129〜1
92ビットを第3平文ブロックとして分離する(ステッ
プS102:3回目)。
(22) In step S102, here, 129 to 1 counting from the beginning of the first 200 bits.
92 bits are separated as a third plaintext block (step S102: third time).

【0124】(23)ステップS103において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックと64ビットの鍵データとを、対応するビット毎
に排他的論理和の演算を行ない、融合鍵データを生成し
て部分鍵生成部104に渡す(ステップS103:3回
目)。
(23) In step S103, the chain block generated at the time of processing the second plaintext block and the 64-bit key data are subjected to an exclusive OR operation for each corresponding bit, The fusion key data is generated and passed to the partial key generation unit 104 (step S103: third time).

【0125】(24)ステップS104において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS104:3回目)。
(24) In step S104, eight 48-bit partial keys are generated here from the 64-bit fusion key data (step S104: third time).

【0126】(25)〜(29)ステップS105〜ス
テップS109において、第3平文ブロックについて、
第1平文ブロックと同様の処理を行ない、第3平文ブロ
ックに対応する第1〜7中間ブロック及び暗号文ブロッ
クを生成し、ブロック記憶部102が記憶している連鎖
ブロックを第3平文ブロックに対応する第4中間ブロッ
クに更新する(ステップS105〜ステップS109:
3回目)。
(25)-(29) In steps S105-S109, for the third plaintext block,
The same processing as the first plaintext block is performed to generate the first to seventh intermediate blocks and the ciphertext block corresponding to the third plaintext block, and the chain block stored in the block storage unit 102 corresponds to the third plaintext block. To the fourth intermediate block (step S105 to step S109:
Third time).

【0127】(30)ステップS110において、ここ
では、まだ平文データの未処理分が有るのでステップS
101に戻る(ステップS110:3回目)。
(30) In step S110, since there is still unprocessed plaintext data, step S110 is performed.
It returns to 101 (step S110: 3rd time).

【0128】(31)ステップS101において、ここ
では、3回目に72ビットの平文データから64ビット
が分離され、その残りが8ビットなので、64ビット未
満であると判定する(ステップS101:4回目)。
(31) In step S101, 64 bits are separated from the 72-bit plaintext data for the third time, and the rest is 8 bits, so it is determined that the number is less than 64 bits (step S101: fourth time). ..

【0129】(32)平文データの未処理分が64ビッ
ト未満の場合は、その未処理分を端数データ処理部10
6へ渡す(ステップS111)。ここでは、最初の20
0ビットの先頭から数えて193〜200ビットを端数
平文データとして端数データ処理部106へ渡す。
(32) If the unprocessed plaintext data is less than 64 bits, the unprocessed plaintext data is processed by the fraction data processing unit 10.
6 (step S111). Here, the first 20
193 to 200 bits counted from the beginning of 0 bit are passed to the fraction data processing unit 106 as fraction plaintext data.

【0130】(33)端数データ処理部106が、ブロ
ック分割部101から端数平文データを受け取り、ブロ
ック記憶部102に記憶された連鎖ブロックに基づい
て、端数平文データから端数平文データと同じビット数
の端数暗号文データを生成する(ステップS112)。
ここでは、ブロック記憶部102に記憶された第3平文
ブロックの処理の際に生成された64ビットの連鎖ブロ
ックの内の上位8ビットと、8ビットの端数平文データ
とを、対応するビット毎に排他的論理和の演算を行な
い、8ビットの端数暗号文データを生成する。
(33) The fraction data processing unit 106 receives the fraction plaintext data from the block division unit 101, and based on the chain block stored in the block storage unit 102, the fraction plaintext data has the same number of bits as the fraction plaintext data. Fractional ciphertext data is generated (step S112).
Here, the upper 8 bits of the 64-bit chain block generated at the time of processing the third plaintext block stored in the block storage unit 102 and the 8-bit fractional plaintext data are set for each corresponding bit. An exclusive OR operation is performed to generate 8-bit fraction ciphertext data.

【0131】(34)ステップS110で平文データの
未処理分が無いと判断された場合か、又は、ステップS
112における端数暗号文データの生成後に、ブロック
結合部107が、第8暗号化部105hが生成した各暗
号文ブロック及び端数データ処理部106が生成した端
数暗号文データを結合して暗号文データを生成する(ス
テップS113)。ここでは、第1〜3平文ブロックに
それぞれ対応する各暗号文ブロック及び端数暗号文デー
タを結合して200ビットの暗号文データを生成する。
(34) If it is determined in step S110 that there is no unprocessed plaintext data, or in step S110.
After the generation of the fraction ciphertext data in 112, the block combining unit 107 combines the ciphertext blocks generated by the eighth encryption unit 105h and the fraction ciphertext data generated by the fraction data processing unit 106 to generate the ciphertext data. It is generated (step S113). Here, the ciphertext blocks and the fraction ciphertext data respectively corresponding to the first to third plaintext blocks are combined to generate 200-bit ciphertext data.

【0132】(データ復号化装置20の動作)図10
は、本発明の実施の形態1のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 6 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the first embodiment of the present invention.

【0133】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0134】ここでは、一例として、200ビットの暗
号文データを入手し、ブロック記憶部202にはデータ
暗号化装置10のブロック記憶部102と同様に、予め
初期値IVが記憶されるものとして、DESのアルゴリ
ズムに準じて説明する。
Here, as an example, it is assumed that 200-bit ciphertext data is obtained and the initial value IV is stored in advance in the block storage unit 202 as in the block storage unit 102 of the data encryption device 10. A description will be given according to the DES algorithm.

【0135】(1)ブロック分割部201が、入手した
暗号文データの未処理分が64ビット以上で有るか否か
を判定する(ステップS201)。ここでは、1回目
は、入手した暗号文データの未処理分は200ビットな
ので64ビット以上と判定する(ステップS201:1
回目)。
(1) The block division unit 201 determines whether or not the unprocessed portion of the obtained ciphertext data is 64 bits or more (step S201). Here, at the first time, since the unprocessed portion of the obtained ciphertext data is 200 bits, it is determined to be 64 bits or more (step S201: 1
Second time).

【0136】(2)暗号文データの未処理分が64ビッ
ト以上の場合は、未処理分の先頭から64ビット分離す
る(ステップS202)。ここでは、200ビットの内
の先頭から数えて1〜64ビットを第1暗号文ブロック
として分離する(ステップS202:1回目)。
(2) If the unprocessed portion of the ciphertext data is 64 bits or more, 64 bits are separated from the beginning of the unprocessed portion (step S202). Here, 1 to 64 bits of the 200 bits counted from the beginning are separated as the first ciphertext block (step S202: the first time).

【0137】(3)鍵データ融合部203が、ブロック
記憶部202に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS203)。
ここでは、64ビットの連鎖ブロックの初期値IVと6
4ビットの鍵データとを、対応するビット毎に排他的論
理和の演算を行ない、融合鍵データを生成して部分鍵生
成部204に渡す(ステップS203:1回目)。
(3) The key data fusion unit 203 fuses the chain block stored in the block storage unit 202 with the key data to generate the fused key data (step S203).
Here, the initial values IV and 6 of the 64-bit chain block
Exclusive bitwise operation is performed for each corresponding bit with the 4-bit key data to generate fusion key data and pass it to the partial key generation unit 204 (step S203: first time).

【0138】(4)部分鍵生成部204が、融合鍵デー
タから復号化部の数に相当する数の部分鍵を生成する
(ステップS204)。ここでは、64ビットの融合鍵
データから48ビットの部分鍵を8個生成する(ステッ
プS204:1回目)。
(4) The partial key generation unit 204 generates the number of partial keys corresponding to the number of decryption units from the fusion key data (step S204). Here, eight 48-bit partial keys are generated from the 64-bit fusion key data (step S204: the first time).

【0139】パリティビットを8ビット含む64ビット
の鍵データから、第1〜8までの8個×48ビットの部
分鍵を生成する手順は、データ暗号化装置10の部分鍵
生成部104と同様である。
The procedure of generating the first to eighth partial keys of 8 × 48 bits from the 64-bit key data including 8 parity bits is the same as that of the partial key generation unit 104 of the data encryption device 10. is there.

【0140】(5)第1復号化部205aが、第8の部
分鍵に基づいて、暗号文ブロックから第7中間ブロック
を生成する(ステップS205)。ここでは、第1暗号
文ブロックから第7中間ブロックを生成する(ステップ
S205:1回目)。
(5) The first decryption unit 205a generates a seventh intermediate block from the ciphertext block based on the eighth partial key (step S205). Here, the seventh intermediate block is generated from the first ciphertext block (step S205: the first time).

【0141】(6)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6〜4中間ブロックを生成する(ス
テップS206)。ここでは、第1暗号文ブロックに対
応する第7〜5中間ブロックから第6〜4中間ブロック
を生成する(ステップS206:1回目)。
(6) Second to fourth decoding sections 205b to 205
d is 7th-5th based on the 7th-5th partial keys, respectively.
Sixth to fourth intermediate blocks are generated from the intermediate blocks (step S206). Here, sixth to fourth intermediate blocks are generated from the seventh to fifth intermediate blocks corresponding to the first ciphertext block (step S206: the first time).

【0142】(7)ブロック記憶部202が、第4復号
化部205dが生成した第4中間ブロックを新たな連鎖
ブロックとして、記憶している連鎖ブロックを更新する
(ステップS207)。ここでは、第1暗号文ブロック
に対応する第4中間ブロックに更新する(ステップS2
07:1回目)。
(7) The block storage unit 202 updates the stored chain block using the fourth intermediate block generated by the fourth decoding unit 205d as a new chain block (step S207). Here, the fourth intermediate block corresponding to the first ciphertext block is updated (step S2).
07: 1st time).

【0143】(8)第5〜7復号化部205e〜205
gが、それぞれ第4〜2の部分鍵に基づいて、第4〜2
中間ブロックから第3〜1中間ブロックを生成する(ス
テップS208)。ここでは、第1暗号文ブロックに対
応する第4〜2中間ブロックから第3〜1中間ブロック
を生成する(ステップS208:1回目)。
(8) Fifth to Seventh Decoding Units 205e to 205
g based on the 4th and 2nd partial keys, respectively,
Third to first intermediate blocks are generated from the intermediate blocks (step S208). Here, the 3rd-1st intermediate block is produced | generated from the 4th-2nd intermediate block corresponding to a 1st ciphertext block (step S208: 1st time).

【0144】(9)第8復号化部205hが、第1の部
分鍵に基づいて、第1中間ブロックから平文ブロックを
生成する(ステップS209)。ここでは、第1暗号文
ブロックに対応する第1中間ブロックから平文ブロック
を生成する(ステップS209:1回目)。
(9) The eighth decryption unit 205h generates a plaintext block from the first intermediate block based on the first partial key (step S209). Here, a plaintext block is generated from the first intermediate block corresponding to the first ciphertext block (step S209: first time).

【0145】(10)暗号文データの未処理分が有るか
否かを判断する。まだ未処理分が有る場合は、次の暗号
文プロック又は端数暗号文データを処理しに、ステップ
S201に戻る(ステップS210)。ここでは、まだ
未処理分が有るのでステップS201に戻る(ステップ
S210:1回目)。
(10) It is judged whether or not there is an unprocessed portion of the ciphertext data. If there is still unprocessed data, the process returns to step S201 to process the next ciphertext block or fraction ciphertext data (step S210). Here, there is still an unprocessed portion, so the process returns to step S201 (step S210: the first time).

【0146】(11)ステップS201において、ここ
では、1回目に200ビットの暗号文データから64ビ
ットが分離され、その残りが136ビットなので、64
ビット以上と判定する(ステップS201:2回目)。
(11) In step S201, 64 bits are separated from the 200-bit ciphertext data at the first time, and the rest is 136 bits.
It is determined that the number of bits is equal to or more than that (step S201: second time).

【0147】(12)ステップS202において、ここ
では、最初の200ビットの先頭から数えて65〜12
8ビットを第2暗号文ブロックとして分離する(ステッ
プS202:2回目)。
(12) In step S202, here, 65 to 12 counting from the beginning of the first 200 bits.
8 bits are separated as a second ciphertext block (step S202: second time).

【0148】(13)ステップS203において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの鍵データとを、対
応するビット毎に排他的論理和の演算を行ない、融合鍵
データを生成して部分鍵生成部204に渡す(ステップ
S203:2回目)。
(13) In step S203, in this case, the 64 generated at the time of processing the first ciphertext block.
The chained block of bits and the 64-bit key data are subjected to an exclusive OR operation for each corresponding bit to generate fusion key data and pass it to the partial key generation unit 204 (step S203: second time).

【0149】(14)ステップS204において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS204:2回目)。
(14) In step S204, eight 48-bit partial keys are generated here from the 64-bit fusion key data (step S204: second time).

【0150】(15)〜(19)ステップS205〜ス
テップS209において、第2暗号文ブロックについ
て、第1暗号文ブロックと同様の処理を行ない、第2暗
号文ブロックに対応する第7〜1中間ブロック及び平文
ブロックを生成し、ブロック記憶部202が記憶してい
る連鎖ブロックを第2暗号文ブロックに対応する第4中
間ブロックに更新する(ステップS205〜ステップS
209:2回目)。
(15) to (19) In steps S205 to S209, the second ciphertext block is processed in the same manner as the first ciphertext block, and the seventh to first intermediate blocks corresponding to the second ciphertext block are processed. And a plaintext block are generated, and the chain block stored in the block storage unit 202 is updated to the fourth intermediate block corresponding to the second ciphertext block (steps S205 to S).
209: second time).

【0151】(20)ステップS210において、ここ
では、まだ暗号文データの未処理分が有るのでステップ
S201に戻る(ステップS210:2回目)。
(20) In step S210, since there is still unprocessed ciphertext data, the process returns to step S201 (step S210: second time).

【0152】(21)ステップS201において、ここ
では、2回目に136ビットの暗号文データから64ビ
ットが分離され、その残りが72ビットなので、64ビ
ット以上と判定する(ステップS201:3回目)。
(21) In step S201, here, 64 bits are separated from the 136-bit ciphertext data for the second time, and the rest is 72 bits, so it is determined to be 64 bits or more (step S201: third time).

【0153】(22)ステップS202において、ここ
では、最初の200ビットの先頭から数えて129〜1
92ビットを第3暗号文ブロックとして分離する(ステ
ップS202:3回目)。
(22) In step S202, here, 129 to 1 counting from the beginning of the first 200 bits.
92 bits are separated as a third ciphertext block (step S202: third time).

【0154】(23)ステップS203において、ここ
では、第2暗号文ブロックの処理の際に生成された連鎖
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行ない、融合鍵データを生成
して部分鍵生成部204に渡す(ステップS203:3
回目)。
(23) In step S203, the chain block generated at the time of processing the second ciphertext block and the 64-bit key data are subjected to exclusive OR operation for each corresponding bit. , Generates the fusion key data and passes it to the partial key generation unit 204 (step S203: 3).
Second time).

【0155】(24)ステップS204において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS204:3回目)。
(24) In step S204, eight 48-bit partial keys are generated from the 64-bit fusion key data here (step S204: third time).

【0156】(25)〜(29)ステップS205〜ス
テップS209において、第3暗号文ブロックについ
て、第1暗号文ブロックと同様の処理を行ない、第3暗
号文ブロックに対応する第7〜1中間ブロック及び平文
ブロックを生成し、ブロック記憶部202が記憶してい
る連鎖ブロックを第3暗号文ブロックに対応する第4中
間ブロックに更新する(ステップS205〜ステップS
209:3回目)。
(25) to (29) In steps S205 to S209, the same processing as the first ciphertext block is performed on the third ciphertext block, and the seventh to first intermediate blocks corresponding to the third ciphertext block are executed. And a plaintext block are generated, and the chain block stored in the block storage unit 202 is updated to the fourth intermediate block corresponding to the third ciphertext block (steps S205 to S).
209: third time).

【0157】(30)ステップS210において、ここ
では、まだ暗号文データの未処理分が有るのでステップ
S201に戻る(ステップS210:3回目)。
(30) At step S210, since there is still unprocessed ciphertext data, the process returns to step S201 (step S210: third time).

【0158】(31)ステップS201において、ここ
では、3回目に72ビットの暗号文データから64ビッ
トが分離され、その残りが8ビットなので、64ビット
未満であると判定する(ステップS201:4回目)。
(31) In step S201, here, 64 bits are separated from the 72-bit ciphertext data for the third time, and the rest is 8 bits, so it is determined that the number is less than 64 bits (step S201: fourth time). ).

【0159】(32)暗号文データの未処理分が64ビ
ット未満の場合は、その未処理分を端数データ処理部2
06へ渡す(ステップS211)。ここでは、最初の2
00ビットの先頭から数えて193〜200ビットを端
数暗号文データとして端数データ処理部206へ渡す。
(32) If the unprocessed part of the ciphertext data is less than 64 bits, the unprocessed part is processed by the fraction data processing unit 2
06 (step S211). Here, the first two
193 to 200 bits counted from the beginning of 00 bits are passed to the fraction data processing unit 206 as fraction ciphertext data.

【0160】(33)端数データ処理部206が、ブロ
ック分割部201から端数暗号文データを受け取り、ブ
ロック記憶部202に記憶された連鎖ブロックに基づい
て、端数暗号文データから端数暗号文データと同じビッ
ト数の端数平文データを生成する(ステップS21
2)。ここでは、ブロック記憶部202に記憶された第
3暗号文ブロックの処理の際に生成された64ビットの
連鎖ブロックの内の上位8ビットと、8ビットの端数暗
号文データとを、対応するビット毎に排他的論理和の演
算を行ない、8ビットの端数平文データを生成する。
(33) The fraction data processing unit 206 receives the fraction ciphertext data from the block dividing unit 201, and based on the chain block stored in the block storage unit 202, the fraction ciphertext data to the fraction ciphertext data are the same as the fraction ciphertext data. Fractional plaintext data of the number of bits is generated (step S21).
2). Here, the upper 8 bits of the 64-bit chain block generated at the time of processing the third ciphertext block stored in the block storage unit 202 and the 8-bit fraction ciphertext data are associated with corresponding bits. An exclusive OR operation is performed for each to generate 8-bit fractional plaintext data.

【0161】(34)ステップS210で暗号文データ
の未処理分が無いと判断された場合か、又は、ステップ
S212における端数平文データの生成後に、ブロック
結合部207が、各平文ブロック及び端数データ処理部
206が生成した端数平文データを結合して平文データ
を生成する(ステップS213)。ここでは、第1〜3
暗号文ブロックにそれぞれ対応する平文ブロック及び端
数平文データを結合して200ビットの平文データを生
成する。
(34) If it is determined in step S210 that there is no unprocessed ciphertext data, or after generation of the fractional plaintext data in step S212, the block combining unit 207 causes the plaintext blocks and the fractional data to be processed. Fractional plaintext data generated by the unit 206 is combined to generate plaintext data (step S213). Here, the first to third
The plaintext block and the fractional plaintext data respectively corresponding to the ciphertext blocks are combined to generate 200-bit plaintext data.

【0162】実施の形態1の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に鍵データに融合し、暗号処理を施す度にその連
鎖ブロックを更新するものである。 (実施の形態2)本発明の実施の形態2は、記憶してい
る連鎖ブロックを鍵データに融合するのではなく、被暗
号処理データ又は被暗号処理データに暗号処理を施した
後のデータに融合する点が実施の形態1と異なる。
The cryptographic processing apparatus according to the first embodiment stores the intermediate block generated in the process of performing the cryptographic processing in the previous block as a chain block, and merges it with the key data in the subsequent cryptographic processing. , The chain block is updated each time encryption processing is performed. (Embodiment 2) In Embodiment 2 of the present invention, the stored chain block is not fused to the key data, but to the encrypted data or the data after the encrypted data is encrypted. The point of fusion is different from that of the first embodiment.

【0163】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0164】(データ暗号化装置10の構成)図11
は、本発明の実施の形態2における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 6 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 2 of the present invention.

【0165】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 2 according to the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0166】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a partial key generation unit 10.
4, first to eighth encryption units 105a to 105h, a fraction data processing unit 106, a block combining unit 107, and a block merging unit 108.

【0167】図50に示す従来の暗号化装置30と図1
1に示す本発明の実施の形態2におけるデータ暗号化装
置10との関係は、排他的論理和部301はブロック融
合部108と対応し、データ暗号化部302はブロック
分割部101、部分鍵生成部104、第1〜8暗号化部
105a〜105h、端数データ処理部106及びブロ
ック結合部107と対応し、レジスタ303はブロック
記憶部102と対応する。
The conventional encryption device 30 shown in FIG. 50 and FIG.
In the relationship with the data encryption device 10 according to the second embodiment of the present invention shown in FIG. 1, the exclusive OR unit 301 corresponds to the block fusion unit 108, the data encryption unit 302 is the block division unit 101, and the partial key generation. The unit 104, the first to eighth encryption units 105a to 105h, the fraction data processing unit 106, and the block combination unit 107 correspond to each other, and the register 303 corresponds to the block storage unit 102.

【0168】ブロック分割部101は、分割したブロッ
クを第1暗号化部105aへ渡さずにブロック融合部1
08へ渡す点のみ実施の形態1と異なる。
The block division unit 101 does not pass the divided blocks to the first encryption unit 105a, but the block fusion unit 1
It is different from the first embodiment only in that the data is passed to 08.

【0169】ブロック融合部108は、ブロック記憶部
102に記憶された連鎖ブロックを、平文ブロックに融
合し融合平文ブロックを生成する。ここでは、第1平文
ブロックを処理する際には、64ビットの連鎖ブロック
の初期値IVと64ビットの第1平文ブロックとを、対
応するビット毎に排他的論理和の演算を行ない64ビッ
トの第1融合平文ブロックを生成し、第2〜3平文ブロ
ックを処理する際には、第1〜2平文ブロックの処理の
際に生成された64ビットの連鎖ブロックと64ビット
の第2〜3平文ブロックとを、対応するビット毎に排他
的論理和の演算を行ない64ビットの第2〜3融合平文
ブロックを生成する。
The block merging unit 108 merges the chained blocks stored in the block storage unit 102 with the plaintext block to generate a merged plaintext block. Here, when processing the first plaintext block, the 64-bit chain block initial value IV and the 64-bit first plaintext block are subjected to an exclusive OR operation for each corresponding bit to perform 64-bit operation. When the first fused plaintext block is generated and the second to third plaintext blocks are processed, the 64-bit chain block and the 64-bit second to third plaintext generated when the first to second plaintext blocks are processed. The block and the corresponding bit are subjected to an exclusive OR operation to generate a 64-bit second to third fused plaintext block.

【0170】部分鍵生成部104は、鍵データから、暗
号化部の数に相当する数の部分鍵を生成する。ここで
は、予め設定された64ビットの鍵データを入手し、6
4ビットの鍵データから48ビットの部分鍵を8個生成
する。
The partial key generation unit 104 generates the number of partial keys corresponding to the number of encryption units from the key data. Here, the preset 64-bit key data is acquired, and 6
Eight 48-bit partial keys are generated from 4-bit key data.

【0171】第1暗号化部105aは、平文ブロックか
らではなく、ブロック融合部108が生成した融合平文
ブロックから第1中間ブロックを生成する。
The first encryption unit 105a generates the first intermediate block not from the plaintext block but from the merged plaintext block generated by the block merger 108.

【0172】第1〜8暗号化部105a〜105hは、
実施の形態1のそれらと同一の機能を有する。ここで
は、第1〜3融合平文ブロックから、それぞれに対応す
る第1〜7中間ブロックと、第1〜3暗号文ブロックと
を生成する。
The first to eighth encryption units 105a to 105h are
It has the same functions as those of the first embodiment. Here, first to seventh intermediate blocks and first to third ciphertext blocks respectively corresponding to the first to third fused plaintext blocks are generated.

【0173】(データ復号化装置20の構成)図12
は、本発明の実施の形態2における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 3 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 2 of the present invention.

【0174】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding apparatus 20 shown in FIG. 7 in the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0175】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜8復号化部205a〜205h、端数データ
処理部206、ブロック結合部207及びブロック融合
部208で構成される。
The data decryption apparatus 20 includes a block division unit 201, a block storage unit 202, and a partial key generation unit 20.
4, first to eighth decoding units 205a to 205h, a fraction data processing unit 206, a block combining unit 207, and a block merging unit 208.

【0176】部分鍵生成部204は、鍵データから、復
号化部の数に相当する数の部分鍵を生成する。ここで
は、予め設定された64ビットの鍵データを入手し、6
4ビットの鍵データから48ビットの部分鍵を8個生成
する。なお、この部分鍵を生成する機能は、データ暗号
化装置10の部分鍵生成部104が行なうそれと全く同
一である。
The partial key generation unit 204 generates the number of partial keys corresponding to the number of decryption units from the key data. Here, the preset 64-bit key data is acquired, and 6
Eight 48-bit partial keys are generated from 4-bit key data. The function of generating the partial key is exactly the same as that performed by the partial key generation unit 104 of the data encryption device 10.

【0177】第8復号化部205hは、第1の部分鍵に
基づいて、第1中間ブロックから、暗号処理ブロックを
生成する。
The eighth decryption unit 205h generates an encryption processing block from the first intermediate block based on the first partial key.

【0178】第1〜8復号化部205a〜205hは、
実施の形態1のそれらと同一の機能を有する。ここで
は、第1〜3暗号文ブロックから、それぞれに対応する
第1〜7中間ブロックと、第1〜3暗号処理ブロックと
を生成する。
The first to eighth decoding units 205a to 205h are
It has the same functions as those of the first embodiment. Here, first to seventh intermediate blocks and first to third cryptographic processing blocks corresponding to the first to third ciphertext blocks are generated.

【0179】ブロック融合部208は、ブロック記憶部
202に記憶された連鎖ブロックを、暗号処理ブロック
に融合し、平文ブロックを生成する。ここでは、第1暗
号文ブロックを処理する際には、64ビットの連鎖ブロ
ックの初期値IVと64ビットの第1暗号処理ブロック
とを、対応するビット毎に排他的論理和の演算を行ない
64ビットの第1平文ブロックを生成し、第2〜3暗号
文ブロックを処理する際には、第1〜2暗号文ブロック
の処理の際に生成された64ビットの連鎖ブロックと6
4ビットの第2〜3暗号処理ブロックとを、対応するビ
ット毎に排他的論理和の演算を行ない64ビットの第2
〜3平文ブロックを生成する。
The block merging unit 208 merges the chain block stored in the block storage unit 202 with the cryptographic processing block to generate a plaintext block. Here, when processing the first ciphertext block, the initial value IV of the 64-bit chain block and the 64-bit first ciphertext block are subjected to exclusive OR operation for each corresponding bit. When the first plaintext block of bits is generated and the second to third ciphertext blocks are processed, the 64-bit chain block generated when processing the first and second ciphertext blocks and 6
An exclusive OR operation is performed for each of the corresponding bits of the 4-bit second to third cryptographic processing blocks, and the 64-bit second
Generate 3 plaintext blocks.

【0180】ブロック結合部207は、ブロック融合部
208が生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
The block combination unit 207 combines each block of the plaintext data generated by the block fusion unit 208 and the fractional plaintext data generated by the fraction data processing unit 206 to generate plaintext data. Here, the 1st to 1st of each 64 bits
3 plaintext data and 8-bit fractional plaintext data are combined to generate 200-bit plaintext data.

【0181】<動作> (データ暗号化装置10の動作)図13は、本発明の実
施の形態2のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 13 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the second embodiment of the present invention.

【0182】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 9 in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0183】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
(1) and (2) The same as the first embodiment (step S101, step S102: the first time).

【0184】(3)部分鍵生成部104が、鍵データか
ら、暗号化部の数に相当する数の部分鍵を生成する(ス
テップS301)。ここでは、予め設定された64ビッ
トの鍵データを入手し、64ビットの鍵データから48
ビットの部分鍵を8個生成する(ステップS301:1
回目)。
(3) The partial key generation unit 104 generates the number of partial keys corresponding to the number of encryption units from the key data (step S301). Here, the preset 64-bit key data is obtained, and the 64-bit key data
Eight bit partial keys are generated (step S301: 1).
Second time).

【0185】(4)ブロック融合部108が、ブロック
記憶部102に記憶された連鎖ブロックを、平文ブロッ
クに融合し、融合平文ブロックを生成する(ステップS
302)。ここでは、64ビットの連鎖ブロックの初期
値IVと64ビットの第1平文ブロックとを、対応する
ビット毎に排他的論理和を行ない、64ビットの第1融
合平文ブロックを生成する(ステップS302:1回
目)。
(4) The block merging unit 108 merges the chained blocks stored in the block storage unit 102 with the plaintext block to generate a merged plaintext block (step S).
302). Here, the initial value IV of the 64-bit chain block and the 64-bit first plaintext block are exclusive-ORed for each corresponding bit to generate a 64-bit first fused plaintext block (step S302: First time).

【0186】(5)第1暗号化部105aが、第1の部
分鍵に基づいて、融合平文ブロックから第1中間ブロッ
クを生成する(ステップS303)。ここでは、第1融
合平文ブロックから第1中間ブロックを生成する(ステ
ップS303:1回目)。
(5) The first encryption unit 105a generates a first intermediate block from the fused plaintext block based on the first partial key (step S303). Here, the first intermediate block is generated from the first merged plaintext block (step S303: the first time).

【0187】(6)〜(12)実施の形態1と同様であ
る(ステップS106〜ステップS110:1回目、ス
テップS101、ステップS102:2回目)。
(6) to (12) The same as the first embodiment (step S106 to step S110: the first time, step S101, step S102: the second time).

【0188】(13)ステップS301において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS301:2回目)。
(13) In step S301, here, eight 48-bit partial keys are generated from 64-bit key data. If the key data is not changed, the process is exactly the same as the first time, so each partial key may be stored (step S301: second time).

【0189】(14)ステップS302において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの第2平文ブロックと
を、対応するビット毎に排他的論理和の演算を行ない、
64ビットの第2融合平文ブロックを生成する(ステッ
プS302:2回目)。
(14) In step S302, here, the 64-bit chain block generated at the time of processing the first plaintext block and the second 64-bit plaintext block are subjected to exclusive OR for each corresponding bit. Is calculated,
A 64-bit second fused plaintext block is generated (step S302: second time).

【0190】(15)ステップS303において、ここ
では、第2融合平文ブロックから第1中間ブロックを生
成する(ステップS303:2回目)。
(15) In step S303, here, the first intermediate block is generated from the second fused plaintext block (step S303: second time).

【0191】(16)〜(22)実施の形態1と同様で
ある(ステップS106〜ステップS110:2回目、
ステップS101、ステップS102:3回目)。
(16)-(22) Same as the first embodiment (steps S106-S110: second time,
Steps S101 and S102: third time).

【0192】(23)ステップS301において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS301:3回目)。
(23) In step S301, eight 48-bit partial keys are generated here from the 64-bit key data. If the key data is not changed, the process is exactly the same as that of the first time, so each partial key may be stored (step S301: third time).

【0193】(24)ステップS302において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの第3平文ブロックと
を、対応するビット毎に排他的論理和の演算を行ない、
64ビットの第3融合平文ブロックを生成する(ステッ
プS302:3回目)。
(24) In step S302, here, the 64-bit chain block generated at the time of processing the second plaintext block and the 64-bit third plaintext block are subjected to exclusive OR for each corresponding bit. Is calculated,
A 64-bit third fused plaintext block is generated (step S302: third time).

【0194】(25)ステップS303において、ここ
では、第3融合平文ブロックから第1中間ブロックを生
成する(ステップS303:3回目)。
(25) In step S303, the first intermediate block is generated from the third fused plaintext block in this case (step S303: third time).

【0195】(26)〜(34)実施の形態1と同様で
ある(ステップS106〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
(26)-(34) Same as the first embodiment (steps S106-S110: third time,
Step S101: Fourth time, Steps S111 to S113).

【0196】(データ復号化装置20の動作)図14
は、本発明の実施の形態2のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the second embodiment of the present invention.

【0197】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0198】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The same steps as those of the operation of the data decoding apparatus 20 shown in FIG. 10 according to the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0199】(1)〜(2)実施の形態1と同様である
(ステップS201〜ステップS202:1回目)。
(1) and (2) The same as in the first embodiment (steps S201 to S202: the first time).

【0200】(3)部分鍵生成部204が、鍵データか
ら、復号化部の数に相当する数の部分鍵を生成する(ス
テップS401)。ここでは、予め設定された64ビッ
トの鍵データを入手し、64ビットの鍵データから48
ビットの部分鍵を8個生成する(ステップS401:1
回目)。
(3) The partial key generation unit 204 generates the number of partial keys corresponding to the number of decryption units from the key data (step S401). Here, the preset 64-bit key data is obtained, and the 64-bit key data
Eight bit partial keys are generated (step S401: 1).
Second time).

【0201】(4)〜(6)実施の形態1の(5)、
(6)、(8)と同様である(ステップS205、ステ
ップS206、ステップS208:1回目)。
(4) to (6) (5) of the first embodiment,
It is the same as (6) and (8) (step S205, step S206, step S208: the first time).

【0202】(7)第8復号化部205hが、第1の部
分鍵に基づいて、第1中間ブロックから暗号処理ブロッ
クを生成する(ステップS402)。ここでは、第1暗
号文ブロックに対応する第1中間ブロックから第1暗号
処理ブロックを生成する(ステップS402:1回
目)。
(7) The eighth decryption unit 205h generates an encryption processing block from the first intermediate block based on the first partial key (step S402). Here, the first ciphertext processing block is generated from the first intermediate block corresponding to the first ciphertext block (step S402: the first time).

【0203】(8)ブロック融合部208が、ブロック
記憶部202に記憶された連鎖ブロックを暗号処理ブロ
ックに融合し、平文ブロックを生成する(ステップS4
03)。ここでは、64ビットの連鎖ブロックの初期値
IVと64ビットの第1暗号処理ブロックとを、対応す
るビット毎に排他的論理和を行ない、64ビットの第1
平文ブロックを生成する(ステップS403:1回
目)。
(8) The block merging unit 208 merges the chain block stored in the block storage unit 202 with the cryptographic processing block to generate a plaintext block (step S4).
03). Here, the initial value IV of the 64-bit chain block and the 64-bit first cryptographic processing block are exclusive-ORed for each corresponding bit to obtain the 64-bit first
A plaintext block is generated (step S403: the first time).

【0204】(9)実施の形態1の(7)と同様である
(ステップS207:1回目)。
(9) The same as (7) of the first embodiment (step S207: first time).

【0205】(10)〜(12)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS202:2回目)。
(10) to (12) The same as in the first embodiment (step S210: the first time, step S201 to step S201).
Step S202: second time).

【0206】(13)ステップS401において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS401:2回目)。
(13) In step S401, eight 48-bit partial keys are generated here from the 64-bit key data. If the key data is not changed, the process is exactly the same as the first time, so each partial key may be stored (step S401: second time).

【0207】(14)〜(16)実施の形態1の(1
5)、(16)、(18)と同様である(ステップS2
05、ステップS206、ステップS208:2回
目)。
(14)-(16) (1 of the first embodiment
5), (16), and (18) (step S2)
05, step S206, step S208: second time).

【0208】(17)ステップS402において、ここ
では、第2暗号文ブロックに対応する第1中間ブロック
から第2暗号処理ブロックを生成する(ステップS40
2:2回目)。
(17) In step S402, the second ciphertext processing block is generated from the first intermediate block corresponding to the second ciphertext block here (step S40).
2: Second time).

【0209】(18)ステップS403において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの第2暗号処理ブロ
ックとを、対応するビット毎に排他的論理和の演算を行
ない64ビットの第2平文ブロックを生成する(ステッ
プS403:2回目)。
(18) In step S403, in this case, 64 generated at the time of processing the first ciphertext block.
The bit chain block and the 64-bit second cryptographic processing block are subjected to exclusive OR operation for each corresponding bit to generate a 64-bit second plaintext block (step S403: second time).

【0210】(19)実施の形態1の(17)と同様で
ある(ステップS207:2回目)。
(19) The same as (17) of the first embodiment (step S207: second time).

【0211】(20)〜(22)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS202:3回目)。
(20)-(22) Same as the first embodiment (step S210: second time, step S201-).
Step S202: third time).

【0212】(23)ステップS401において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS401:3回目)。
(23) In step S401, eight 48-bit partial keys are generated here from the 64-bit key data. If the key data is not changed, the process is exactly the same as that of the first time, so each partial key may be stored (step S401: third time).

【0213】(24)〜(26)実施の形態1の(2
5)、(26)、(28)と同様である(ステップS2
05、ステップS206、ステップS208:3回
目)。
(24) to (26) (2 of the first embodiment
5), (26), and (28) (step S2)
05, step S206, step S208: third time).

【0214】(27)ステップS402において、ここ
では、第3暗号文ブロックに対応する第1中間ブロック
から第3暗号処理ブロックを生成する(ステップS40
2:3回目)。
(27) In step S402, a third cipher block is generated from the first intermediate block, which corresponds to the third ciphertext block here (step S40).
2: 3rd time).

【0215】(28)ステップS403において、ここ
では、第2暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの第3暗号処理ブロ
ックとを、対応するビット毎に排他的論理和の演算を行
ない64ビットの第3平文ブロックを生成する(ステッ
プS403:3回目)。
(28) In step S403, in this case, 64 generated at the time of processing the second ciphertext block.
An exclusive OR operation is performed for each corresponding bit of the chained block of bits and the third encryption processing block of 64 bits to generate a third plaintext block of 64 bits (step S403: third time).

【0216】(29)実施の形態1の(27)と同様で
ある(ステップS207:3回目)。
(29) The same as (27) of the first embodiment (step S207: third time).

【0217】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
(30) to (34) The same as the first embodiment (step S210: third time, step S201:
Fourth time, steps S211 to S213).

【0218】実施の形態2の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に平文ブロックや暗号処理ブロックに融合し、暗
号処理を施す度にその連鎖ブロックを更新するものであ
る。 (実施の形態3)本発明の実施の形態3のデータ暗号化
装置10は、第5暗号化部105eの入力のみが実施の
形態1のそれと異なっている。実施の形態1における第
5暗号化部105eの入力は第4暗号化部105dの出
力となっているが、実施の形態3におけるその入力は平
文ブロックである。従って、連鎖ブロックと平文ブロッ
クは、それぞれ別の暗号化部によって処理される。
The cryptographic processing apparatus according to the second embodiment stores the intermediate block generated in the process of performing the cryptographic processing on the preceding block as a chain block, and the plaintext block and the cryptographic processing during the subsequent cryptographic processing. The block is merged and the chain block is updated each time encryption processing is performed. (Embodiment 3) The data encryption apparatus 10 according to Embodiment 3 of the present invention is different from that of Embodiment 1 only in the input of the fifth encryption unit 105e. The input of the fifth encryption unit 105e in the first embodiment is the output of the fourth encryption unit 105d, but the input in the third embodiment is a plaintext block. Therefore, the chain block and the plaintext block are processed by different encryption units.

【0219】また本発明の実施の形態3のデータ復号化
装置20は、データ暗号化装置10の逆変換であって、
第4復号化部205dの出力が平文ブロックとなり、こ
の平文ブロックをデータ暗号化装置10と同様に暗号化
して生成した第4中間ブロックを新たな連鎖ブロックと
して記憶する点が実施の形態1のデータ復号化装置20
と異なる。
The data decryption apparatus 20 according to the third embodiment of the present invention is an inverse conversion of the data encryption apparatus 10,
The data of the first embodiment is that the output of the fourth decryption unit 205d becomes a plaintext block, and the fourth intermediate block generated by encrypting this plaintext block in the same manner as the data encryption device 10 is stored as a new chain block. Decoding device 20
Different from

【0220】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0221】(データ暗号化装置10の構成)図15
は、本発明の実施の形態3における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 3 of the present invention.

【0222】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 2 according to the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0223】このデータ暗号化装置10の構成は実施の
形態1と同一であり、第5暗号化部105eが、第4中
間ブロックからではなく平文ブロックから第5中間ブロ
ックを生成する点のみ実施の形態1と異なる。
The configuration of this data encryption device 10 is the same as that of the first embodiment, except that the fifth encryption unit 105e generates the fifth intermediate block from the plaintext block instead of from the fourth intermediate block. Different from the form 1.

【0224】(データ復号化装置20の構成)図16
は、本発明の実施の形態3における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 3 of the present invention.

【0225】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding apparatus 20 shown in FIG. 7 in the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0226】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜4復号化部205a
〜205d、第1〜4暗号化部205i〜205l、端
数データ処理部206及びブロック結合部207で構成
される。
The data decryption apparatus 20 includes a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to fourth decryption unit 205a
˜205d, first to fourth encryption units 205i to 205l, a fraction data processing unit 206, and a block combining unit 207.

【0227】第4復号化部205dは、第5の部分鍵に
基づいて、第5中間ブロックから平文ブロックを生成す
る。ここでは、第1〜3暗号文ブロックにそれぞれ対応
する第5中間ブロックから、第1〜3平文ブロックを生
成する。なお、第1〜4復号化部205a〜205dが
行なう変換は、それぞれデータ暗号化装置10の第8〜
5暗号化部105h〜105eが行なう変換の逆変換で
ある。
The fourth decryption unit 205d generates a plaintext block from the fifth intermediate block based on the fifth partial key. Here, the first to third plaintext blocks are generated from the fifth intermediate block respectively corresponding to the first to third ciphertext blocks. The conversions performed by the first to fourth decryption units 205a to 205d are performed by the eighth to eighth data encryption devices 10, respectively.
5 is the reverse conversion of the conversion performed by the encryption units 105h to 105e.

【0228】第1暗号化部205iは、第1の部分鍵に
基づいて、第4復号化部205dが生成した平文ブロッ
クから第1中間ブロックを生成する。
The first encryption unit 205i generates a first intermediate block from the plaintext block generated by the fourth decryption unit 205d based on the first partial key.

【0229】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2〜4中間ブロックを生成する。
The second to fourth encryption units 205j to 205l are
The 2nd-4th intermediate blocks are generated from the 1st-3rd intermediate blocks based on the 2nd-4th partial keys, respectively.

【0230】第1〜4暗号化部205i〜205lは、
それぞれデータ暗号化装置10の第1〜4暗号化部10
5a〜105dと同一の機能を有し、その動作も全く同
一である。ここでは、第1〜3平文ブロックから、それ
ぞれに対応する第1〜4中間ブロックを生成する。
The first to fourth encryption units 205i to 205l are
Each of the first to fourth encryption units 10 of the data encryption device 10
It has the same function as 5a to 105d, and its operation is also completely the same. Here, first to fourth intermediate blocks corresponding to the first to third plaintext blocks are generated.

【0231】ブロック記憶部202はブロック更新機能
を備え、第4暗号化部205lが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでの動作は、実施の形
態1と同様である。
The block storage unit 202 has a block update function, and updates the chain block storing this fourth intermediate block as a new chain block each time the fourth encryption unit 205l generates a fourth intermediate block. However, it is used when processing the next block. The operation here is the same as that of the first embodiment.

【0232】ブロック結合部207は、第4復号化部2
05dが生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
The block combination unit 207 is the fourth decoding unit 2.
Each block of the plaintext data generated by 05d and the fractional plaintext data generated by the fractional data processing unit 206 are combined to generate plaintext data. Here, the 1st to 1st of each 64 bits
3 plaintext data and 8-bit fractional plaintext data are combined to generate 200-bit plaintext data.

【0233】<動作> (データ暗号化装置10の動作)図17は、本発明の実
施の形態3のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Device 10) FIG. 17 is a diagram showing a flow of encryption processing in the data encryption device 10 according to the third embodiment of the present invention.

【0234】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 9 in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0235】(1)〜(7)実施の形態1と同様である
(ステップS101〜ステップS107:1回目)。
(1) to (7) The same as the first embodiment (steps S101 to S107: the first time).

【0236】(8)第5〜7暗号化部105e〜105
gが、それぞれ第5〜7の部分鍵に基づいて、平文ブロ
ック及び第5〜6中間ブロックから第5〜7中間ブロッ
クを生成する(ステップS501)。ここでは、第1平
文ブロック及び第1平文ブロックに対応する第5〜6中
間ブロックから第5〜7中間ブロックを生成する(ステ
ップS501:1回目)。
(8) Fifth to seventh encryption units 105e to 105
g generates the fifth to seventh intermediate blocks from the plaintext block and the fifth to sixth intermediate blocks based on the fifth to seventh partial keys, respectively (step S501). Here, fifth to seventh intermediate blocks are generated from the first plaintext block and fifth to sixth intermediate blocks corresponding to the first plaintext block (step S501: first time).

【0237】(9)〜(17)実施の形態1と同様であ
る(ステップS109、ステップS110:1回目、ス
テップS101〜ステップS107:2回目)。
(9) to (17) The same as in the first embodiment (step S109, step S110: first time, step S101 to step S107: second time).

【0238】(18)ステップS501において、ここ
では、第2平文ブロック及び第2平文ブロックに対応す
る第5〜6中間ブロックから第5〜7中間ブロックを生
成する(ステップS501:2回目)。
(18) In step S501, here, the fifth plaintext block and fifth to sixth intermediate blocks corresponding to the second plaintext block are generated to form fifth to seventh intermediate blocks (step S501: second time).

【0239】(19)〜(27)実施の形態1と同様で
ある(ステップS109、ステップS110:2回目、
ステップS101〜ステップS107:3回目)。
(19)-(27) Same as the first embodiment (step S109, step S110: second time,
Steps S101 to S107: third time).

【0240】(28)ステップS501において、ここ
では、第3平文ブロック及び第3平文ブロックに対応す
る第5〜6中間ブロックから第5〜7中間ブロックを生
成する(ステップS501:3回目)。
(28) In step S501, here, fifth to sixth intermediate blocks are generated from the third plaintext block and the fifth to sixth intermediate blocks corresponding to the third plaintext block (step S501: third time).

【0241】(29)〜(34)実施の形態1と同様で
ある(ステップS109、ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
(29)-(34) Same as the first embodiment (step S109, step S110: third time,
Step S101: Fourth time, Steps S111 to S113).

【0242】(データ復号化装置20の動作)図18
は、本発明の実施の形態3のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 13 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the third embodiment of the present invention.

【0243】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0244】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to those of the data decoding apparatus 20 shown in FIG. 10 according to the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0245】(1)〜(5)実施の形態1と同様である
(ステップS201〜ステップS205:1回目)。
(1) to (5) The same as the first embodiment (steps S201 to S205: the first time).

【0246】(6)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6中間ブロック、第5中間ブロック
及び平文ブロックを生成する(ステップS601)。こ
こでは、第1暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
1平文ブロックを生成する(ステップS601:1回
目)。
(6) Second to fourth decoding sections 205b to 205
d is 7th-5th based on the 7th-5th partial keys, respectively.
A sixth intermediate block, a fifth intermediate block and a plaintext block are generated from the intermediate block (step S601). Here, the sixth intermediate block, the fifth intermediate block, and the first plaintext block are generated from the seventh to fifth intermediate blocks corresponding to the first ciphertext block (step S601: the first time).

【0247】(7)第1暗号化部205iが、第1の部
分鍵に基づいて、第4復号化部205dが生成した平文
ブロックから第1中間ブロックを生成する(ステップS
602)。ここでは、第1平文ブロックから第1中間ブ
ロックを生成する(ステップS602:1回目)。
(7) The first encryption unit 205i generates a first intermediate block from the plaintext block generated by the fourth decryption unit 205d based on the first partial key (step S).
602). Here, the first intermediate block is generated from the first plaintext block (step S602: the first time).

【0248】(8)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS603)。ここでは、第1平文ブロックに対応
する第1〜3中間ブロックから第2〜4中間ブロックを
生成する(ステップS603:1回目)。
(8) Second to fourth encryption units 205j to 205
l is the first to third subkeys based on the second to fourth partial keys, respectively.
Second to fourth intermediate blocks are generated from the intermediate blocks (step S603). Here, the second to fourth intermediate blocks are generated from the first to third intermediate blocks corresponding to the first plaintext block (step S603: the first time).

【0249】(9)ブロック記憶部202が、第4暗号
化部205lが生成した第4中間ブロックを新たな連鎖
ブロックとして、記憶している連鎖ブロックを更新する
(ステップS604)。ここでは、第1平文ブロックに
対応する第4中間ブロックに更新する(ステップS60
4:1回目)。
(9) The block storage unit 202 updates the stored chain block using the fourth intermediate block generated by the fourth encryption unit 205l as a new chain block (step S604). Here, the fourth intermediate block corresponding to the first plaintext block is updated (step S60).
4: 1st time).

【0250】(10)〜(15)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS205:2回目)。
(10) to (15) The same as in the first embodiment (step S210: the first time, step S201 to step S201).
Step S205: second time).

【0251】(16)ステップS601において、ここ
では、第2暗号文ブロックに対応する第7〜5中間ブロ
ックから第6中間ブロック、第5中間ブロック及び第2
平文ブロックを生成する(ステップS601:2回
目)。
(16) In step S601, in this case, the seventh to fifth intermediate blocks corresponding to the second ciphertext block to the sixth intermediate block, the fifth intermediate block, and the second intermediate block.
A plaintext block is generated (step S601: second time).

【0252】(17)ステップS602において、ここ
では、第2平文ブロックから第1中間ブロックを生成す
る(ステップS602:2回目)。
(17) In step S602, here, the first intermediate block is generated from the second plaintext block (step S602: second time).

【0253】(18)ステップS603において、ここ
では、第2平文ブロックに対応する第1〜3中間ブロッ
クから第2〜4中間ブロックを生成する(ステップS6
03:2回目)。
(18) In step S603, here, second to fourth intermediate blocks are generated from the first to third intermediate blocks corresponding to the second plaintext block (step S6).
03: second time).

【0254】(19)ステップS604において、ここ
では、第2平文ブロックに対応する第4中間ブロックに
更新する(ステップS604:2回目)。
(19) In step S604, the fourth intermediate block corresponding to the second plaintext block is updated here (step S604: second time).

【0255】(20)〜(25)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS205:3回目)。
(20)-(25) Same as the first embodiment (step S210: second time, step S201-).
Step S205: third time).

【0256】(26)ステップS601において、ここ
では、第3暗号文ブロックに対応する第7〜5中間ブロ
ックから第6中間ブロック、第5中間ブロック及び第3
平文ブロックを生成する(ステップS601:3回
目)。
(26) In step S601, in this case, the seventh to fifth intermediate blocks corresponding to the third ciphertext block to the sixth intermediate block, the fifth intermediate block and the third intermediate block.
A plaintext block is generated (step S601: third time).

【0257】(27)ステップS602において、ここ
では、第3平文ブロックから第1中間ブロックを生成す
る(ステップS602:3回目)。
(27) In step S602, the first intermediate block is generated from the third plaintext block here (step S602: third time).

【0258】(28)ステップS603において、ここ
では、第3平文ブロックに対応する第1〜3中間ブロッ
クから第2〜4中間ブロックを生成する(ステップS6
03:3回目)。
(28) In step S603, here, second to fourth intermediate blocks are generated from the first to third intermediate blocks corresponding to the third plaintext block (step S6).
03: 3rd time).

【0259】(29)ステップS604において、ここ
では、第3平文ブロックに対応する第4中間ブロックに
更新する(ステップS604:3回目)。
(29) In step S604, the fourth intermediate block corresponding to the third plaintext block is updated here (step S604: third time).

【0260】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
(30) to (34) The same as in the first embodiment (step S210: third time, step S201:
Fourth time, steps S211 to S213).

【0261】実施の形態3の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に鍵データに融合し、暗号処理を施す度にその連
鎖ブロックを更新するものである。
The cryptographic processing apparatus according to the third embodiment stores the intermediate block generated in the process of performing the cryptographic processing in the previous block as a chain block, and merges it with the key data in the subsequent cryptographic processing. , The chain block is updated each time encryption processing is performed.

【0262】なお、実施の形態3では、連鎖ブロックを
鍵データに融合する実施の形態1に上記のような変更を
行なったが、連鎖ブロックを平文ブロックや暗号処理ブ
ロックに融合する実施の形態2に、同様に上記のような
変更を行なうものであってもよい。
In the third embodiment, the above-described changes are made to the first embodiment in which the chain block is merged into the key data. However, the second embodiment in which the chain block is merged into the plaintext block or the encryption processing block is described. Similarly, the above-described changes may be made.

【0263】このような暗号処理装置は、前のブロック
に暗号処理に施した過程において生成された中間ブロッ
クを連鎖ブロックとして記憶しておき、後の暗号処理の
際に平文ブロックや暗号処理ブロックに融合し、暗号処
理を施す度にその連鎖データを更新する。 (実施の形態4)本発明の実施の形態4は、実施の形態
2に実施の形態3のような変更を行った場合において、
融合するデータを暗号化する第1〜4暗号化部と連鎖ブ
ロックを記憶するブロック記憶部との順番を逆にして、
融合後又は融合前のブロックを新たな連鎖ブロックとし
て記憶するものである。
Such a cryptographic processing device stores the intermediate block generated in the process of performing the cryptographic processing in the previous block as a chain block, and stores it in the plaintext block or the cryptographic processing block in the subsequent cryptographic processing. The chained data is updated every time it is merged and encrypted. (Embodiment 4) Embodiment 4 of the present invention is the same as Embodiment 3 with respect to Embodiment 2, except that
Reverse the order of the first to fourth encryption units that encrypt the data to be merged and the block storage unit that stores the chain block,
The block after fusion or before fusion is stored as a new chain block.

【0264】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0265】(データ暗号化装置10の構成)図19
は、本発明の実施の形態4における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 4 of the present invention.

【0266】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The components common to those of the data encryption device 10 shown in FIG. 11 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0267】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a partial key generation unit 10.
4, first to eighth encryption units 105a to 105h, a fraction data processing unit 106, a block combining unit 107, and a block merging unit 108.

【0268】第1暗号化部105aは、融合平文ブロッ
クからではなく、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する。
The first encryption unit 105a generates the first intermediate block from the chain block stored in the block storage unit 102, not from the fused plaintext block.

【0269】第1〜4暗号化部105a〜105dは、
実施の形態2のそれらと同一の機能を有する。ここで
は、連鎖ブロックから、それぞれに対応する第1〜3中
間ブロック及び暗号処理ブロックを生成する。
The first to fourth encryption units 105a to 105d are
It has the same functions as those of the second embodiment. Here, the first to third intermediate blocks and the cryptographic processing block corresponding to each are generated from the chain block.

【0270】ブロック融合部108は、第4暗号化部1
05dが生成した暗号処理ブロックを平文ブロックに融
合し、第4中間ブロックを生成する。ここでは、第1平
文ブロックを処理する際には、連鎖ブロックの初期値I
Vから生成された64ビットの第1暗号処理ブロックと
64ビットの第1平文ブロックとを、対応するビット毎
に排他的論理和の演算を行ない、第2〜3平文ブロック
を処理する際には、第1〜2平文ブロックの処理の際に
生成された64ビットの第2〜3暗号処理ブロックと6
4ビットの第2〜3平文ブロックとを、対応するビット
毎に排他的論理和の演算を行なう。
The block merging unit 108 uses the fourth encryption unit 1.
The cryptographic processing block generated by 05d is merged with the plaintext block to generate the fourth intermediate block. Here, when processing the first plaintext block, the initial value I of the chain block is
When the 64-bit first cryptographic processing block and the 64-bit first plaintext block generated from V are subjected to exclusive OR operation for each corresponding bit to process the second to third plaintext blocks, , 64-bit second to third cryptographic processing blocks generated during processing of the first to second plaintext blocks, and 6
An exclusive OR operation is performed for each of the corresponding bits of the 4-bit second to third plaintext blocks.

【0271】ブロック記憶部102はブロック更新機能
を備え、ブロック融合部108が第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第4中間ブロックを新たな連鎖ブロックとして記憶
する。次に、第1平文ブロックの処理の際に更新された
連鎖ブロックが第2平文ブロックを処理する際に用いら
れ、この処理の際に生成された第4中間ブロックを新た
な連鎖ブロックとして記憶する。次に、第2平文ブロッ
クの処理の際に記憶された連鎖ブロックが第3平文ブロ
ックを処理する際に用いられ、この処理の際に生成され
た第4中間ブロックを新たな連鎖ブロックとして記憶す
る。最後に、第3平文ブロックの処理の際に記憶された
連鎖ブロックが端数平文データを処理する際に用いられ
る。
The block storage unit 102 has a block update function, and updates the chain block storing the fourth intermediate block as a new chain block each time the block merging unit 108 generates the fourth intermediate block, Used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used in processing the first plaintext block, and the fourth intermediate block generated in this processing is stored as a new chain block. To do. Next, the chain block updated in processing the first plaintext block is used in processing the second plaintext block, and the fourth intermediate block generated in this processing is stored as a new chain block. . Next, the chain block stored during the processing of the second plaintext block is used when processing the third plaintext block, and the fourth intermediate block generated during this processing is stored as a new chain block. . Finally, the chain block stored during the processing of the third plaintext block is used when processing the fractional plaintext data.

【0272】第5〜8暗号化部105e〜105hは、
実施の形態2のそれらと同一の機能を有する。ここで
は、第4中間ブロックから、それぞれに対応する第5〜
7中間ブロックと、第1〜3暗号文ブロックとを生成す
る。
The fifth to eighth encryption units 105e to 105h are
It has the same functions as those of the second embodiment. Here, from the fourth intermediate block,
7 intermediate blocks and first to third ciphertext blocks are generated.

【0273】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、第4暗号化部
105dが生成した暗号処理ブロックに基づいて、端数
平文データから端数平文データと同じビット数の端数暗
号データを生成するものであり、データ整合部106a
及び端数データ融合部106bを含む。
The fraction data processing unit 106 receives the fraction plaintext data from the block dividing unit 101, and based on the cryptographic processing block generated by the fourth encryption unit 105d, the fraction plaintext data has the same number of bits as the fraction plaintext data. Generates encrypted data, and the data matching unit 106a
And a fraction data fusion unit 106b.

【0274】データ整合部106aは、第4暗号化部1
05dが生成した暗号処理ブロックから、端数平文デー
タと同じビット数の端数暗号処理データを生成する。こ
こでは、端数平文データが8ビットなので、第4暗号化
部105dが生成した暗号処理ブロックの、例えば上位
8ビットで構成される端数暗号処理データを生成する。
The data matching unit 106a is the fourth encryption unit 1
Fraction encryption processing data having the same number of bits as the fraction plaintext data is generated from the encryption processing block generated by 05d. Here, since the fractional plaintext data is 8 bits, the fractional encryption processing data composed of, for example, the upper 8 bits of the encryption processing block generated by the fourth encryption unit 105d is generated.

【0275】端数データ融合部106bは、端数暗号処
理データを端数平文データに融合する。ここでは、8ビ
ットの端数暗号処理データと8ビットの端数平文データ
とを、対応するビット毎に排他的論理和の演算を行な
い、8ビットの端数暗号文データを生成する。
The fraction data merging unit 106b merges the fraction encryption processing data with the fraction plaintext data. Here, the 8-bit fraction ciphertext data and the 8-bit fraction plaintext data are subjected to an exclusive OR operation for each corresponding bit to generate 8-bit fraction ciphertext data.

【0276】なお、端数データ処理部106は実施の形
態2のそれと同一の機能を有するものであってもよい。
Fractional data processing unit 106 may have the same function as that of the second embodiment.

【0277】(データ復号化装置20の構成)図20
は、本発明の実施の形態4における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 4 of the present invention.

【0278】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding device 20 shown in FIG. 12 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0279】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜4復号化部205a〜205d、第1〜4暗
号化部205i〜205l、端数データ処理部206、
ブロック結合部207及びブロック融合部208で構成
される。
The data decryption device 20 includes a block division unit 201, a block storage unit 202, and a partial key generation unit 20.
4, first to fourth decryption units 205a to 205d, first to fourth encryption units 205i to 205l, a fraction data processing unit 206,
The block combining unit 207 and the block merging unit 208 are included.

【0280】第1暗号化部205iは、第1の部分鍵に
基づいて、ブロック記憶部202に記憶された連鎖ブロ
ックから第1中間ブロックを生成する。
The first encryption unit 205i generates a first intermediate block from the chain block stored in the block storage unit 202, based on the first partial key.

【0281】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2中間ブロック、第3中間ブロック及び暗
号処理ブロックを生成する。
The second to fourth encryption units 205j to 205l are
The second intermediate block, the third intermediate block, and the cryptographic processing block are generated from the first to third intermediate blocks based on the second to fourth partial keys, respectively.

【0282】ブロック融合部208は、第4暗号化部2
05lが生成した暗号処理ブロックを第4復号化部20
5dが生成した第4中間ブロックに融合し、平文ブロッ
クを生成する。ここでは、第1暗号文ブロックを処理す
る際には、連鎖ブロックの初期値IVから生成された6
4ビットの第1暗号処理ブロックと第1暗号文ブロック
から生成された64ビットの第4中間ブロックとを、対
応するビット毎に排他的論理和の演算を行ない64ビッ
トの第1平文ブロックを生成し、第2〜3暗号文ブロッ
クを処理する際には、第1〜2暗号文ブロックの処理の
際に生成された連鎖ブロックから生成された64ビット
の第2〜3暗号処理ブロックと第2〜3暗号文ブロック
から生成された64ビットのそれぞれの第4中間ブロッ
クとを、対応するビット毎に排他的論理和の演算を行な
い64ビットの第2〜3平文ブロックを生成する。
The block merging unit 208 uses the fourth encryption unit 2
The encryption processing block generated by 05l is transferred to the fourth decryption unit 20.
It is fused with the fourth intermediate block generated by 5d to generate a plaintext block. Here, when processing the first ciphertext block, 6 generated from the initial value IV of the chain block
A 64-bit first ciphertext block and a 64-bit fourth intermediate block generated from the first ciphertext block are subjected to exclusive OR operation for each corresponding bit to generate a 64-bit first plaintext block. However, when processing the second to third ciphertext blocks, the 64-bit second to third ciphertext processing blocks and the second to third ciphertext processing blocks generated from the chain block generated when processing the first to second ciphertext blocks ~ 64th respective 4th intermediate blocks generated from the ciphertext block are subjected to exclusive OR operation for each corresponding bit to generate 64-bit 2nd-3rd plaintext blocks.

【0283】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、第4暗号化
部205lが生成した暗号処理ブロックに基づいて、端
数暗号文データから端数暗号文データと同じビット数の
端数平文データを生成するものであり、データ整合部2
06a及び端数データ融合部206bを含む。
The fraction data processing unit 206 receives the fraction ciphertext data from the block division unit 201, and based on the cipher processing block generated by the fourth encryption unit 205l, the fraction ciphertext data to the same bit as the fraction ciphertext data. The data matching unit 2 generates a plaintext data of a number.
06a and a fractional data fusion unit 206b.

【0284】データ整合部206aは、第4暗号化部2
05lが生成した暗号処理ブロックから、端数暗号文デ
ータと同じビット数の端数暗号処理データを生成する。
ここでは、端数暗号文データが8ビットなので、第4暗
号化部205lが生成した暗号処理ブロックの、例えば
上位8ビットで構成される端数暗号処理データを生成す
る。
The data matching unit 206a includes the fourth encryption unit 2
Fractional encryption processing data having the same number of bits as the fractional ciphertext data is generated from the encryption processing block generated by 05l.
Here, since the fraction ciphertext data is 8 bits, the fraction ciphertext data composed of, for example, the upper 8 bits of the cryptography block generated by the fourth encryption unit 205l is generated.

【0285】端数データ融合部206bは、端数暗号処
理データを端数暗号文データに融合する。ここでは、8
ビットの端数暗号処理データと8ビットの端数暗号文デ
ータとを、対応するビット毎に排他的論理和の演算を行
ない、8ビットの端数平文データを生成する。
The fraction data merging unit 206b merges the fraction cipher processed data with the fraction ciphertext data. Here, 8
Bit-fractional encryption processing data and 8-bit fractional ciphertext data are subjected to exclusive OR operation for each corresponding bit to generate 8-bit fractional plaintext data.

【0286】なお、端数データ処理部206は実施の形
態2のそれと同一の機能を有するものであってもよい。
The fraction data processing unit 206 may have the same function as that of the second embodiment.

【0287】<動作> (データ暗号化装置10の動作)図21は、本発明の実
施の形態4のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 21 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the fourth embodiment of the present invention.

【0288】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of the data encryption apparatus 10 shown in FIG. 13 in the second embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0289】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
(1) to (3) Same as the second embodiment (step S101, step S102, step S3).
01: 1st time).

【0290】(4)第1暗号化部105aが、第1の部
分鍵に基づいて、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S701)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS701:1回
目)。
(4) The first encryption unit 105a generates a first intermediate block from the chain block stored in the block storage unit 102 based on the first partial key (step S701). Here, the first intermediate block is generated from the initial value IV of the chain block (step S701: the first time).

【0291】(5)第2〜4暗号化部105b〜105
dが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2中間ブロック、第3中間ブロック
及び暗号処理ブロックを生成する(ステップS70
2)。ここでは、連鎖ブロックの初期値IVに対応する
第1〜3中間ブロックから第2中間ブロック、第3中間
ブロック及び第1暗号処理ブロックを生成する(ステッ
プS702:1回目)。
(5) Second to fourth encryption sections 105b to 105
d is the first to third subkeys based on the second to fourth partial keys, respectively.
A second intermediate block, a third intermediate block, and a cryptographic processing block are generated from the intermediate block (step S70).
2). Here, the second intermediate block, the third intermediate block, and the first cryptographic processing block are generated from the first to third intermediate blocks corresponding to the initial value IV of the chain block (step S702: the first time).

【0292】(6)ブロック融合部108が、暗号処理
ブロックを平文ブロックに融合し、第4中間ブロックを
生成する(ステップS703)。ここでは、64ビット
の第1暗号処理ブロックと64ビットの第1平文ブロッ
クとを、対応するビット毎に排他的論理和を行ない、6
4ビットの第4中間ブロックを生成する(ステップS7
03:1回目)。
(6) The block merging unit 108 merges the encrypted block with the plaintext block to generate the fourth intermediate block (step S703). Here, the 64-bit first cryptographic processing block and the 64-bit first plaintext block are subjected to exclusive OR for each corresponding bit, and 6
A 4-bit fourth intermediate block is generated (step S7).
03: 1st time).

【0293】(7)〜(13)実施の形態2と同様であ
る(ステップS107〜ステップS110:1回目、ス
テップS101、ステップS102、ステップS30
1:2回目)。
(7) to (13) The same as the second embodiment (steps S107 to S110: the first time, step S101, step S102, step S30).
1: Second time).

【0294】(14)ステップS701において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS701:2回目)。
(14) In step S701, the first intermediate block is generated from the 64-bit chain block generated at the time of processing the first plaintext block (step S701: second time).

【0295】(15)ステップS702において、ここ
では、第1平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する第1〜3中間ブロックから第2中間ブ
ロック、第3中間ブロック及び第2暗号処理ブロックを
生成する(ステップS702:2回目)。
(15) In step S702, here, the first to third intermediate blocks corresponding to the chain block generated at the time of processing the first plaintext block to the second intermediate block, the third intermediate block, and the second cipher block. A processing block is generated (step S702: second time).

【0296】(16)ステップS703において、ここ
では、64ビットの第2暗号処理ブロックと64ビット
の第2平文ブロックとを、対応するビット毎に排他的論
理和を行ない、64ビットの第4中間ブロックを生成す
る(ステップS703:2回目)。
(16) In step S703, the 64-bit second cryptographic processing block and the 64-bit second plaintext block are exclusive-ORed for each corresponding bit to obtain the 64-bit fourth intermediate value. A block is generated (step S703: second time).

【0297】(17)〜(23)実施の形態2と同様で
ある(ステップS107〜ステップS110:2回目、
ステップS101、ステップS102、ステップS30
1:3回目)。
(17)-(23) Same as the second embodiment (steps S107-S110: second time,
Step S101, Step S102, Step S30
1: 3rd time).

【0298】(24)ステップS701において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS701:3回目)。
(24) In step S701, the first intermediate block is generated from the 64-bit chain block generated in the processing of the second plaintext block (step S701: the third time).

【0299】(25)ステップS702において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する第1〜3中間ブロックから第2中間ブ
ロック、第3中間ブロック及び第3暗号処理ブロックを
生成する(ステップS702:3回目)。
(25) In step S702, here, the first to third intermediate blocks corresponding to the chain block generated during the processing of the second plaintext block to the second intermediate block, the third intermediate block, and the third cipher block. A processing block is generated (step S702: third time).

【0300】(26)ステップS703において、ここ
では、64ビットの第3暗号処理ブロックと64ビット
の第3平文ブロックとを、対応するビット毎に排他的論
理和を行ない、64ビットの第4中間ブロックを生成す
る(ステップS703:3回目)。
(26) In step S703, the 64-bit third cryptographic processing block and the 64-bit third plaintext block are exclusive-ORed for each corresponding bit to obtain the 64-bit fourth intermediate value. A block is generated (step S703: third time).

【0301】(27)〜(34)実施の形態2と同様で
ある(ステップS107〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
(27)-(34) Same as the second embodiment (steps S107-S110: third time,
Step S101: Fourth time, Steps S111 to S113).

【0302】(データ復号化装置20の動作)図22
は、本発明の実施の形態4のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 13 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the fourth embodiment of the present invention.

【0303】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0304】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The same steps as those of the operation of the data decoding apparatus 20 shown in FIG. 14 in the second embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0305】(1)〜(5)実施の形態2と同様である
(ステップS201、ステップS202、ステップS4
01、ステップS205、ステップS206:1回
目)。
(1) to (5) Same as the second embodiment (step S201, step S202, step S4).
01, step S205, step S206: the first time).

【0306】(6)第1暗号化部205iが、第1の部
分鍵に基づいて、ブロック記憶部202に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S801)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS801:1回
目)。
(6) The first encryption unit 205i generates a first intermediate block from the chain block stored in the block storage unit 202 based on the first partial key (step S801). Here, the first intermediate block is generated from the initial value IV of the chain block (step S801: the first time).

【0307】(7)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2中間ブロック、第3中間ブロック
及び暗号処理ブロックを生成する(ステップS80
2)。ここでは、連鎖ブロックの初期値IVに対応する
第1〜3中間ブロックから第2中間ブロック、第3中間
ブロック及び第1暗号処理ブロックを生成する(ステッ
プS802:1回目)。
(7) Second to fourth encryption units 205j to 205
l is the first to third subkeys based on the second to fourth partial keys, respectively.
A second intermediate block, a third intermediate block, and a cryptographic processing block are generated from the intermediate block (step S80).
2). Here, the second intermediate block, the third intermediate block, and the first cryptographic processing block are generated from the first to third intermediate blocks corresponding to the initial value IV of the chain block (step S802: the first time).

【0308】(8)ブロック融合部208が、暗号処理
ブロックを、第4中間ブロックに融合し、平文ブロック
を生成する(ステップS803)。ここでは、64ビッ
トの第1暗号処理ブロックと第1暗号文ブロックに対応
する64ビットの第4中間ブロックとを、対応するビッ
ト毎に排他的論理和を行ない、64ビットの第1平文ブ
ロックを生成する(ステップS803:1回目)。
(8) The block merging unit 208 merges the encrypted block with the fourth intermediate block to generate a plaintext block (step S803). Here, the 64-bit first ciphertext block and the 64-bit fourth intermediate block corresponding to the first ciphertext block are subjected to exclusive OR for each corresponding bit to obtain the 64-bit first plaintext block. It is generated (step S803: the first time).

【0309】(9)〜(15)実施の形態2と同様であ
る(ステップS207、ステップS210:1回目、ス
テップS201、ステップS202、ステップS40
1、ステップS205、ステップS206:2回目)。
(9) to (15) The same as the second embodiment (step S207, step S210: the first time, step S201, step S202, step S40).
1, step S205, step S206: second time).

【0310】(16)ステップS801において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックから第1中間ブロックを生成する
(ステップS801:2回目)。
(16) In step S 801, the 64 generated in the processing of the first ciphertext block, here.
A first intermediate block is generated from a chained block of bits (step S801: second time).

【0311】(17)ステップS802において、ここ
では、第1暗号文ブロックの処理の際に生成された連鎖
ブロックに対応する第1〜3中間ブロックから第2中間
ブロック、第3中間ブロック及び第2暗号処理ブロック
を生成する(ステップS802:2回目)。
(17) In step S802, the first to third intermediate blocks, the second intermediate block, the third intermediate block, and the second intermediate block, which correspond to the chain block generated at the time of processing the first ciphertext block, A cryptographic processing block is generated (step S802: second time).

【0312】(18)ステップS803において、ここ
では、64ビットの第2暗号処理ブロックと第2暗号文
ブロックに対応する64ビットの第4中間ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第2平文ブロックを生成する(ステップS80
3:2回目)。
(18) In step S803, the 64-bit second cryptographic processing block and the 64-bit fourth intermediate block corresponding to the second ciphertext block are exclusive-ORed for each corresponding bit. The 64-bit second plaintext block is generated (step S80).
3: Second time).

【0313】(19)〜(25)実施の形態2と同様で
ある(ステップS207、ステップS210:2回目、
ステップS201、ステップS202、ステップS40
1、ステップS205、ステップS206:3回目)。
(19)-(25) Same as the second embodiment (step S207, step S210: second time,
Step S201, Step S202, Step S40
1, step S205, step S206: third time).

【0314】(26)ステップS801において、ここ
では、第2暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックから第1中間ブロックを生成する
(ステップS801:3回目)。
(26) In step S 801, in this case, 64 generated at the time of processing the second ciphertext block.
A first intermediate block is generated from a chained block of bits (step S801: third time).

【0315】(27)ステップS802において、ここ
では、第2暗号文ブロックの処理の際に生成された連鎖
ブロックに対応する第1〜3中間ブロックから第2中間
ブロック、第3中間ブロック及び第3暗号処理ブロック
を生成する(ステップS802:3回目)。
(27) In step S802, here, the first to third intermediate blocks corresponding to the chain block generated at the time of processing the second ciphertext block to the second intermediate block, the third intermediate block, and the third intermediate block. A cryptographic processing block is generated (step S802: third time).

【0316】(28)ステップS803において、ここ
では、64ビットの第3暗号処理ブロックと第3暗号文
ブロックに対応する64ビットの第4中間ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第3平文ブロックを生成する(ステップS80
3:3回目)。
(28) In step S803, the 64-bit third cryptographic processing block and the 64-bit fourth intermediate block corresponding to the third ciphertext block are exclusive-ORed for each corresponding bit. Then, a 64-bit third plaintext block is generated (step S80).
3: Third time).

【0317】(29)〜(34)実施の形態2と同様で
ある(ステップS207、ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
(29)-(34) Same as the second embodiment (step S207, step S210: third time,
Step S201: Fourth time, steps S211 to S213).

【0318】実施の形態4の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に暗号処理を施して平文ブロックや暗号処理ブロ
ックに融合し、暗号処理を施す度にその連鎖ブロックを
更新するものである。 (実施の形態5)本発明の実施の形態5は、融合後又は
融合前のブロックを新たな連鎖ブロックとするのではな
く、連鎖ブロックに暗号処理を施したブロックを新たな
連鎖ブロックとして記憶する点のみが実施の形態4と異
なる。
The cryptographic processing apparatus according to the fourth embodiment stores the intermediate block generated in the process of performing the cryptographic processing in the previous block as a chain block, and performs the cryptographic processing in the subsequent cryptographic processing. It is merged with a plaintext block or a cipher processing block, and the chain block is updated every time cipher processing is performed. (Embodiment 5) In Embodiment 5 of the present invention, a block obtained by performing encryption processing on a chained block is stored as a new chained block, not as a new chained block after fusion or before fusion. Only the points are different from the fourth embodiment.

【0319】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, the description thereof will be omitted.

【0320】(データ暗号化装置10の構成)図23
は、本発明の実施の形態5における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 5 of the present invention.

【0321】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The components common to those of the data encryption device 10 shown in FIG. 11 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0322】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a partial key generation unit 10.
4, first to eighth encryption units 105a to 105h, a fraction data processing unit 106, a block combining unit 107, and a block merging unit 108.

【0323】第1暗号化部105aは、融合平文ブロッ
クからではなく、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する。
The first encryption unit 105a generates the first intermediate block from the chain block stored in the block storage unit 102, not from the fused plaintext block.

【0324】第1〜4暗号化部105a〜105dは、
実施の形態2のそれらと同一の機能を有する。ここで
は、連鎖ブロックから、それぞれに対応する第1〜4中
間ブロックを生成する。
The first to fourth encryption units 105a to 105d are
It has the same functions as those of the second embodiment. Here, the first to fourth intermediate blocks corresponding to the respective chain blocks are generated.

【0325】ブロック融合部108は、第4暗号化部1
05dが生成した第4中間ブロックを平文ブロックに融
合し、融合平文ブロックを生成する。ここでは、第1平
文ブロックを処理する際には、連鎖ブロックの初期値I
Vから生成された64ビットの第4中間ブロックと64
ビットの第1平文ブロックとを、対応するビット毎に排
他的論理和の演算を行ない、第2〜3平文ブロックを処
理する際には、第1〜2平文ブロックの処理の際に生成
されたそれぞれに対応する64ビットの第4中間ブロッ
クと64ビットの第2〜3平文ブロックとを、対応する
ビット毎に排他的論理和の演算を行なう。
The block merging unit 108 uses the fourth encryption unit 1.
The fourth intermediate block generated by 05d is fused with the plaintext block to generate a fused plaintext block. Here, when processing the first plaintext block, the initial value I of the chain block is
64-bit fourth intermediate block generated from V and 64
An exclusive OR operation is performed for each corresponding bit of the first plaintext block, and when processing the second to third plaintext blocks, it is generated at the time of processing the first and second plaintext blocks. The 64-bit fourth intermediate block and the 64-bit second to third plaintext blocks corresponding to each are subjected to exclusive OR operation for each corresponding bit.

【0326】第5暗号化部105eは、第4中間ブロッ
クからではなく、ブロック融合部108が生成した融合
平文ブロックから第5中間ブロックを生成する。
The fifth encryption unit 105e generates the fifth intermediate block from the fusion plaintext block generated by the block fusion unit 108, not from the fourth intermediate block.

【0327】第5〜8暗号化部105e〜105hは、
実施の形態2のそれらと同一の機能を有する。ここで
は、融合平文ブロックから、それぞれに対応する第5〜
7中間ブロックと、第1〜3暗号文ブロックとを生成す
る。
The fifth to eighth encryption units 105e to 105h are
It has the same functions as those of the second embodiment. Here, from the fused plaintext block,
7 intermediate blocks and first to third ciphertext blocks are generated.

【0328】端数データ処理部106は、実施の形態4
のそれと同一の機能を有する。
The fraction data processing unit 106 is the same as the fourth embodiment.
It has the same function as that of.

【0329】なお、端数データ処理部106は実施の形
態2のそれと同一の機能を有するものであってもよい。
Fractional data processing unit 106 may have the same function as that of the second embodiment.

【0330】(データ復号化装置20の構成)図24
は、本発明の実施の形態5における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data decoding device 20 shown in FIG. 1 in Embodiment 5 of the present invention.

【0331】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding device 20 shown in FIG. 12 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0332】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜4復号化部205a〜205d、第1〜4暗
号化部205i〜205l、端数データ処理部206、
ブロック結合部207及びブロック融合部208で構成
される。
This data decryption apparatus 20 is comprised of a block division unit 201, a block storage unit 202 and a partial key generation unit 20.
4, first to fourth decryption units 205a to 205d, first to fourth encryption units 205i to 205l, a fraction data processing unit 206,
The block combining unit 207 and the block merging unit 208 are included.

【0333】第4復号化部205dは、第5の部分鍵に
基づいて、第5中間ブロックから暗号処理ブロックを生
成する。ここでは、第1〜3暗号文ブロックにそれぞれ
対応する第5中間ブロックから、第1〜3暗号処理ブロ
ックを生成する。なお、第1〜4復号化部205a〜2
05dが行なう変換は、それぞれデータ暗号化装置10
の第4〜1暗号化部105d〜105aが行なう変換の
逆変換である。
The fourth decryption unit 205d generates an encryption processing block from the fifth intermediate block based on the fifth partial key. Here, the first to third cryptographic processing blocks are generated from the fifth intermediate block respectively corresponding to the first to third ciphertext blocks. Note that the first to fourth decoding units 205a to 2
The conversion performed by 05d is performed by the data encryption device 10 respectively.
Is the reverse conversion of the conversion performed by the fourth to first encryption units 105d to 105a.

【0334】第1暗号化部205iは、第1の部分鍵に
基づいて、ブロック記憶部202に記憶された連鎖ブロ
ックから第1中間ブロックを生成する。
The first encryption unit 205i generates a first intermediate block from the chain block stored in the block storage unit 202, based on the first partial key.

【0335】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2〜4中間ブロックを生成する。
The second to fourth encryption units 205j to 205l are
The 2nd-4th intermediate blocks are generated from the 1st-3rd intermediate blocks based on the 2nd-4th partial keys, respectively.

【0336】ブロック記憶部202はブロック更新機能
を備え、第4暗号化部205lが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでの動作は、実施の形
態1と同様である。
The block storage unit 202 has a block update function, and updates the chain block storing the fourth intermediate block as a new chain block each time the fourth encryption unit 205l generates the fourth intermediate block. However, it is used when processing the next block. The operation here is the same as that of the first embodiment.

【0337】第1〜4暗号化部205i〜205lは、
それぞれデータ暗号化装置10の第1〜4暗号化部10
5a〜105dと同一の機能を有し、その動作も全く同
一である。ここでは、各連鎖ブロックから、それぞれに
対応する第1〜4中間ブロックを生成する。
The first to fourth encryption units 205i to 205l are
Each of the first to fourth encryption units 10 of the data encryption device 10
It has the same function as 5a to 105d, and its operation is also completely the same. Here, first to fourth intermediate blocks corresponding to each chain block are generated.

【0338】ブロック融合部208は、第4暗号化部2
05lが生成した第4中間ブロックを第4復号化部20
5dが生成した暗号処理ブロックに融合し、平文ブロッ
クを生成する。ここでは、第1暗号文ブロックを処理す
る際には、連鎖ブロックの初期値IVから生成された6
4ビットの第4中間ブロックと第1暗号文ブロックから
生成された64ビットの暗号処理ブロックとを、対応す
るビット毎に排他的論理和の演算を行ない64ビットの
第1平文ブロックを生成し、第2〜3暗号文ブロックを
処理する際には、第1〜2暗号文ブロックの処理の際に
生成された連鎖ブロックから生成された64ビットのそ
れぞれの第4中間ブロックと第2〜3暗号文ブロックか
ら生成された64ビットの第2〜3暗号処理ブロックと
を、対応するビット毎に排他的論理和の演算を行ない6
4ビットの第2〜3平文ブロックを生成する。
The block merging unit 208 uses the fourth encryption unit 2
The fourth intermediate block generated by 05l is used by the fourth decoding unit 20.
The plaintext block is generated by merging with the encryption processing block generated by 5d. Here, when processing the first ciphertext block, 6 generated from the initial value IV of the chain block
A 4-bit fourth intermediate block and a 64-bit cryptographic processing block generated from the first ciphertext block are subjected to exclusive OR operation for each corresponding bit to generate a 64-bit first plaintext block, When processing the second to third ciphertext blocks, each 64-bit fourth intermediate block generated from the chain block generated when processing the first to second ciphertext blocks and the second to third ciphertexts. The 64-bit second to third cryptographic processing blocks generated from the statement block are subjected to exclusive OR operation for each corresponding bit. 6
Generate the 2nd to 3rd plaintext blocks of 4 bits.

【0339】端数データ処理部206は、実施の形態4
のそれと同一の機能を有する。
The fraction data processing unit 206 is the same as the fourth embodiment.
It has the same function as that of.

【0340】なお、端数データ処理部206は実施の形
態2のそれと同一の機能を有するものであってもよい。
The fraction data processing unit 206 may have the same function as that of the second embodiment.

【0341】<動作> (データ暗号化装置10の動作)図25は、本発明の実
施の形態5のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 25 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the fifth embodiment of the present invention.

【0342】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of the data encryption device 10 shown in FIG. 13 in the second embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0343】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
(1) to (3) Same as the second embodiment (step S101, step S102, step S3).
01: 1st time).

【0344】(4)第1暗号化部105aが、第1の部
分鍵に基づいて、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S901)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS901:1回
目)。
(4) The first encryption unit 105a generates a first intermediate block from the chain block stored in the block storage unit 102 based on the first partial key (step S901). Here, the first intermediate block is generated from the initial value IV of the chain block (step S901: the first time).

【0345】(5)〜(6)実施の形態2の(6)〜
(7)と同様である(ステップS106、ステップS1
07:1回目)。
(5)-(6) (6)-of the second embodiment
The same as (7) (step S106, step S1)
07: 1st time).

【0346】(7)ブロック融合部108が、第4中間
ブロックを平文ブロックに融合し、融合平文ブロックを
生成する(ステップS902)。ここでは、連鎖ブロッ
クの初期値IVに対応する64ビットの第4中間ブロッ
クと64ビットの第1平文ブロックとを、対応するビッ
ト毎に排他的論理和を行ない、64ビットの第1融合平
文ブロックを生成する(ステップS902:1回目)。
(7) The block merging unit 108 merges the fourth intermediate block with the plaintext block to generate a merged plaintext block (step S902). Here, the 64-bit fourth intermediate block corresponding to the initial value IV of the chained block and the 64-bit first plaintext block are exclusive-ORed for each corresponding bit to obtain the 64-bit first fused plaintext block. Is generated (step S902: the first time).

【0347】(8)第5暗号化部105eが、第5の部
分鍵に基づいて、融合平文ブロックから第5中間ブロッ
クを生成し、第6〜7暗号化部105f〜105gが、
それぞれ第6〜7の部分鍵に基づいて、第5〜6中間ブ
ロックから第6〜7中間ブロックを生成する(ステップ
S903)。ここでは、第1融合平文ブロックから第5
中間ブロックを生成し、5〜6中間ブロックから第6〜
7中間ブロックを生成する(ステップS903:1回
目)。
(8) The fifth encryption unit 105e generates a fifth intermediate block from the fused plaintext block based on the fifth partial key, and the sixth to seventh encryption units 105f to 105g
The sixth to seventh intermediate blocks are generated from the fifth to sixth intermediate blocks based on the sixth to seventh partial keys, respectively (step S903). Here, from the first fusion plaintext block to the fifth
The intermediate block is generated, and the sixth to sixth intermediate blocks are generated.
7 intermediate blocks are generated (step S903: first time).

【0348】(9)〜(13)実施の形態2と同様であ
る(ステップS109、ステップS110:1回目、ス
テップS101、ステップS102、ステップS30
1:2回目)。
(9) to (13) The same as the second embodiment (step S109, step S110: the first time, step S101, step S102, step S30).
1: Second time).

【0349】(14)ステップS901において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS901:2回目)。
(14) In step S901, the first intermediate block is generated from the 64-bit chain block generated at the time of processing the first plaintext block (step S901: second time).

【0350】(15)〜(16)実施の形態2の(1
6)〜(17)と同様である(ステップS106、ステ
ップS107:2回目)。
(15) to (16) (1 of the second embodiment
6) to (17) (step S106, step S107: second time).

【0351】(17)ステップS902において、ここ
では、第1平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する64ビットの第4中間ブロックと64
ビットの第2平文ブロックとを、対応するビット毎に排
他的論理和を行ない、64ビットの第2融合平文ブロッ
クを生成する(ステップS902:2回目)。
(17) In step S902, the 64-bit fourth intermediate block and the 64-bit fourth intermediate block corresponding to the chain block generated at the time of processing the first plaintext block are used.
An exclusive OR is performed for each corresponding bit with the second plaintext block of bits to generate a 64-bit second fused plaintext block (step S902: second time).

【0352】(18)ステップS903において、ここ
では、第2融合平文ブロックから第5中間ブロックを生
成し、5〜6中間ブロックから第6〜7中間ブロックを
生成する(ステップS903:2回目)。
(18) In step S903, the fifth intermediate block is generated from the second fused plaintext block, and the sixth to seventh intermediate blocks are generated from the fifth to sixth intermediate blocks (step S903: second time).

【0353】(19)〜(23)実施の形態2と同様で
ある(ステップS109、ステップS110:2回目、
ステップS101、ステップS102、ステップS30
1:3回目)。
(19)-(23) Same as the second embodiment (step S109, step S110: second time,
Step S101, Step S102, Step S30
1: 3rd time).

【0354】(24)ステップS901において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS901:3回目)。
(24) In step S901, the first intermediate block is generated from the 64-bit chain block generated at the time of processing the second plaintext block (step S901: third time).

【0355】(25)〜(26)実施の形態2の(2
6)〜(27)と同様である(ステップS106、ステ
ップS107:3回目)。
(25)-(26) (2 of the second embodiment
6) to (27) (step S106, step S107: third time).

【0356】(27)ステップS902において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する64ビットの第4中間ブロックと64
ビットの第3平文ブロックとを、対応するビット毎に排
他的論理和を行ない、64ビットの第3融合平文ブロッ
クを生成する(ステップS902:3回目)。
(27) In step S902, the 64-bit fourth intermediate block and the 64-bit fourth intermediate block corresponding to the chain block generated at the time of processing the second plaintext block are used.
Exclusive OR is performed for each corresponding bit with the third plaintext block of bits to generate a 64-bit third fused plaintext block (step S902: third time).

【0357】(28)ステップS903において、ここ
では、第3融合平文ブロックから第5中間ブロックを生
成し、5〜6中間ブロックから第6〜7中間ブロックを
生成する(ステップS903:3回目)。
(28) In step S903, the fifth intermediate block is generated from the third fused plaintext block, and the sixth to seventh intermediate blocks are generated from the fifth to sixth intermediate blocks (step S903: third time).

【0358】(29)〜(34)実施の形態2と同様で
ある(ステップS109、ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
(29)-(34) Same as the second embodiment (step S109, step S110: third time,
Step S101: Fourth time, Steps S111 to S113).

【0359】(データ復号化装置20の動作)図26
は、本発明の実施の形態5のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 16 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the fifth embodiment of the present invention.

【0360】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0361】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The same steps as those of the operation of the data decoding apparatus 20 shown in FIG. 14 in the second embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0362】(1)〜(4)実施の形態2と同様である
(ステップS201、ステップS202、ステップS4
01、ステップS205:1回目)。
(1) to (4) The same as the second embodiment (step S201, step S202, step S4).
01, step S205: the first time).

【0363】(5)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6中間ブロック、第5中間ブロック
及び暗号処理ブロックを生成する(ステップS100
1)。ここでは、第1暗号文ブロックに対応する第7〜
5中間ブロックから第6中間ブロック、第5中間ブロッ
ク及び第1暗号処理ブロックを生成する(ステップS1
001:1回目)。
(5) Second to fourth decoding sections 205b to 205
d is 7th-5th based on the 7th-5th partial keys, respectively.
A sixth intermediate block, a fifth intermediate block, and a cryptographic processing block are generated from the intermediate block (step S100).
1). Here, the 7th to 7th blocks corresponding to the first ciphertext block
A sixth intermediate block, a fifth intermediate block and a first cryptographic processing block are generated from the fifth intermediate block (step S1).
001: 1st time).

【0364】(6)第1暗号化部205iが、第1の部
分鍵に基づいて、ブロック記憶部202に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S1002)。ここでは、連鎖ブロックの初期値IVか
ら第1中間ブロックを生成する(ステップS1002:
1回目)。
(6) The first encryption unit 205i generates a first intermediate block from the chain block stored in the block storage unit 202 based on the first partial key (step S1002). Here, the first intermediate block is generated from the initial value IV of the chain block (step S1002:
First time).

【0365】(7)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS1003)。ここでは、連鎖ブロックの初期値
IVに対応する第1〜3中間ブロックから第2〜4中間
ブロックを生成する(ステップS1003:1回目)。
(7) Second to fourth encryption units 205j to 205
l is the first to third subkeys based on the second to fourth partial keys, respectively.
Second to fourth intermediate blocks are generated from the intermediate blocks (step S1003). Here, the second to fourth intermediate blocks are generated from the first to third intermediate blocks corresponding to the initial value IV of the chain block (step S1003: the first time).

【0366】(8)ブロック融合部208が、第4中間
ブロックを、暗号処理ブロックに融合し、平文ブロック
を生成する(ステップS1004)。ここでは、第1暗
号文ブロックに対応する64ビットの第4中間ブロック
と64ビットの第1暗号処理ブロックとを、対応するビ
ット毎に排他的論理和を行ない、64ビットの第1平文
ブロックを生成する(ステップS1004:1回目)。
(8) The block merging unit 208 merges the fourth intermediate block with the cryptographic processing block to generate a plaintext block (step S1004). Here, the 64-bit fourth intermediate block corresponding to the first ciphertext block and the 64-bit first cryptographic processing block are subjected to exclusive OR for each corresponding bit to obtain the 64-bit first plaintext block. It is generated (step S1004: first time).

【0367】(9)〜(14)実施の形態2と同様であ
る(ステップS207、ステップS210:1回目、ス
テップS201、ステップS202、ステップS40
1、ステップS205:2回目)。
(9) to (14) The same as the second embodiment (step S207, step S210: the first time, step S201, step S202, step S40).
1, step S205: second time).

【0368】(15)ステップS1001において、こ
こでは、第2暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
2暗号処理ブロックを生成する(ステップS1001:
2回目)。
(15) In step S1001, here, a sixth intermediate block, a fifth intermediate block and a second cryptographic processing block are generated from the seventh to fifth intermediate blocks corresponding to the second ciphertext block (step S1001:
Second time).

【0369】(16)ステップS1002において、こ
こでは、第1暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックから第1中間ブロックを生成す
る(ステップS1002:2回目)。
(16) In step S1002, in this case, 6 generated at the time of processing the first ciphertext block.
A first intermediate block is generated from a 4-bit chain block (step S1002: second time).

【0370】(17)ステップS1003において、こ
こでは、第1暗号文ブロックの処理の際に生成された連
鎖ブロックに対応する第1〜3中間ブロックから第2〜
4中間ブロックを生成する(ステップS1003:2回
目)。
(17) In step S1003, here, the first to third intermediate blocks corresponding to the second to third intermediate blocks corresponding to the chain block generated at the time of processing the first ciphertext block are used.
4 intermediate blocks are generated (step S1003: second time).

【0371】(18)ステップS1004において、こ
こでは、第2暗号文ブロックに対応する64ビットの第
4中間ブロックと64ビットの第2暗号処理ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第2平文ブロックを生成する(ステップS100
4:2回目)。
(18) In step S1004, here, the 64-bit fourth intermediate block and the 64-bit second cryptographic processing block corresponding to the second ciphertext block are exclusive-ORed for each corresponding bit. Then, a 64-bit second plaintext block is generated (step S100).
4: Second time).

【0372】(19)〜(24)実施の形態2と同様で
ある(ステップS207、ステップS210:2回目、
ステップS201、ステップS202、ステップS40
1、ステップS205:3回目)。
(19) to (24) The same as the second embodiment (step S207, step S210: second time,
Step S201, Step S202, Step S40
1, step S205: third time).

【0373】(25)ステップS1001において、こ
こでは、第3暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
3暗号処理ブロックを生成する(ステップS1001:
3回目)。
(25) In step S1001, the sixth to fifth intermediate blocks, the fifth intermediate block, and the third cryptographic processing block are generated from the seventh to fifth intermediate blocks, which correspond to the third ciphertext block here (step S1001:
Third time).

【0374】(26)ステップS1002において、こ
こでは、第2暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックから第1中間ブロックを生成す
る(ステップS1002:3回目)。
(26) In step S1002, in this case, 6 generated at the time of processing the second ciphertext block.
A first intermediate block is generated from a 4-bit chain block (step S1002: third time).

【0375】(27)ステップS1003において、こ
こでは、第2暗号文ブロックの処理の際に生成された連
鎖ブロックに対応する第1〜3中間ブロックから第2〜
4中間ブロックを生成する(ステップS1003:3回
目)。
(27) In step S1003, here, the first to third intermediate blocks corresponding to the second to third intermediate blocks corresponding to the chain block generated at the time of processing the second ciphertext block are used.
4 intermediate blocks are generated (step S1003: third time).

【0376】(28)ステップS1004において、こ
こでは、第3暗号文ブロックに対応する64ビットの第
4中間ブロックと64ビットの第3暗号処理ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第3平文ブロックを生成する(ステップS100
4:3回目)。
(28) In step S1004, here, the 64-bit fourth intermediate block and the 64-bit third cryptographic processing block corresponding to the third ciphertext block are exclusive-ORed for each corresponding bit. Then, a 64-bit third plaintext block is generated (step S100).
4: 3rd time).

【0377】(29)〜(34)実施の形態2と同様で
ある(ステップS207、ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
(29)-(34) Same as the second embodiment (step S207, step S210: third time,
Step S201: Fourth time, steps S211 to S213).

【0378】実施の形態5の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に暗号処理を施して平文ブロックや暗号処理ブロ
ックに融合し、暗号処理を施す度にその連鎖ブロックを
更新するものである。 (実施の形態6)本発明の実施の形態6は、鍵データに
より特定される暗号処理を施して、被暗号処理データか
ら出力データを生成する暗号処理装置であって、ブロッ
ク単位で暗号処理を施す度に出力ブロック、被暗号処理
ブロック及び中間ブロック等を連鎖ブロックとして記憶
し、次のブロックの暗号処理を施す際に記憶している連
鎖ブロックにブロック変換を施して鍵データに融合する
暗号処理装置である。
The cryptographic processing apparatus according to the fifth embodiment stores the intermediate block generated in the process of performing the cryptographic processing on the previous block as a chain block, and performs the cryptographic processing on the subsequent cryptographic processing. It is merged with a plaintext block or a cipher processing block, and the chain block is updated every time cipher processing is performed. (Sixth Embodiment) A sixth embodiment of the present invention is a cryptographic processing device that performs cryptographic processing specified by key data and generates output data from data to be encrypted. Each time it is applied, the output block, the encrypted block, the intermediate block, etc. are stored as a chain block, and when the encryption process for the next block is performed, the stored chain block is subjected to block conversion and fused into key data. It is a device.

【0379】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, the description thereof will be omitted.

【0380】(データ暗号化装置10の構成)図27
は、本発明の実施の形態6における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 6 of the present invention.

【0381】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 2 according to the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0382】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及びブロック変換部109で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a key data fusion unit 1.
03, partial key generation unit 104, first to eighth encryption unit 105a
.About.105h, a fraction data processing unit 106, a block combining unit 107, and a block converting unit 109.

【0383】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第1暗号文ブロックを新たな連鎖ブロックとして更新す
る。次に、第1平文ブロックの処理の際に更新した連鎖
ブロックが第2平文ブロックを処理する際に用いられ、
この処理の際に生成された第2暗号文ブロックを新たな
連鎖ブロックとして更新する。次に、第2平文ブロック
の処理の際に更新した連鎖ブロックが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された第
3暗号文ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
The block storage unit 102 has a block update function, and updates the chain block storing this ciphertext block as a new chain block each time the eighth encryption unit 105h generates a ciphertext block, Used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used when processing the first plaintext block, and the first ciphertext block generated at this processing is used as a new chain block. Update. Next, the chain block updated in processing the first plaintext block is used in processing the second plaintext block,
The second ciphertext block generated in this process is updated as a new chain block. Next, the chain block updated in processing the second plaintext block is used in processing the third plaintext block, and the third ciphertext block generated in this processing is updated as a new chain block. . Finally, the chain block updated when processing the third plaintext block is used when processing the fractional plaintext data.

【0384】ブロック変換部109は、ブロック記憶部
102に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部109が施す所定の変換は、例えば、ビ
ット置換やビット変換等である。ここでは、第1平文ブ
ロックを処理する際には、64ビットの連鎖ブロックの
初期値IVから64ビットの第1変換ブロックを生成
し、第2〜3平文ブロックを処理する際には、第1〜2
平文ブロックの処理の際にそれぞれ生成された64ビッ
トの連鎖ブロックから64ビットの第2〜3変換ブロッ
クを生成する。
The block conversion unit 109 applies a predetermined conversion to the chain block stored in the block storage unit 102 to generate a conversion block. here,
The predetermined conversion performed by the block conversion unit 109 is, for example, bit replacement or bit conversion. Here, when processing the first plaintext block, a 64-bit first conversion block is generated from the initial value IV of the 64-bit chain block, and when processing the second to third plaintext blocks, the first plaintext block is processed. ~ 2
A 64-bit second to third conversion block is generated from the 64-bit chain block generated at the time of processing the plaintext block.

【0385】鍵データ融合部103は、ブロック変換部
109が生成した変換ブロックを鍵データに融合し融合
鍵データを生成する。ここでは、予め設定された64ビ
ットの鍵データを入手し、第1平文ブロックを処理する
際には、64ビットの第1変換ブロックと64ビットの
鍵データとを、対応するビット毎に排他的論理和の演算
を行ない、第2〜3平文ブロックを処理する際には、6
4ビットの第2〜3変換ブロックと64ビットの鍵デー
タとを、対応するビット毎に排他的論理和の演算を行な
う。
The key data fusion unit 103 fuses the conversion block generated by the block conversion unit 109 with key data to generate fusion key data. Here, when the preset 64-bit key data is obtained and the first plaintext block is processed, the 64-bit first conversion block and the 64-bit key data are exclusive for each corresponding bit. When performing the OR operation and processing the second to third plaintext blocks, 6
An exclusive OR operation is performed for each corresponding bit of the 4-bit second to third conversion blocks and the 64-bit key data.

【0386】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、ブロック変換
部109が生成した変換ブロックに基づいて、端数平文
データから端数平文データと同じビット数の端数暗号文
データを生成するものであり、データ整合部106a及
び端数データ融合部106bを含む。
The fraction data processing unit 106 receives the fraction plaintext data from the block division unit 101, and based on the conversion block generated by the block conversion unit 109, the fraction plaintext data to the fraction ciphertext data having the same number of bits as the fraction plaintext data. And includes a data matching unit 106a and a fractional data fusion unit 106b.

【0387】データ整合部106aは、ブロック変換部
109が生成した変換ブロックから、端数平文データと
同じビット数の端数変換データを生成する。ここでは、
端数平文データが8ビットなので、ブロック変換部10
9が生成した変換ブロックの、例えば上位8ビットで構
成される端数変換データを生成する。
The data matching unit 106a generates the fractional conversion data having the same number of bits as the fractional plaintext data from the conversion block generated by the block conversion unit 109. here,
Since the fractional plaintext data is 8 bits, the block conversion unit 10
Fractional conversion data composed of, for example, upper 8 bits of the conversion block generated by 9 is generated.

【0388】端数データ融合部106bは、端数変換デ
ータを端数平文データに融合する。ここでは、8ビット
の端数変換データと8ビットの端数平文データとを、対
応するビット毎に排他的論理和の演算を行ない、8ビッ
トの端数暗号文データを生成する。
The fraction data merging unit 106b merges the fraction conversion data with the fraction plaintext data. Here, the 8-bit fraction converted data and the 8-bit fraction plaintext data are subjected to an exclusive OR operation for each corresponding bit to generate 8-bit fraction ciphertext data.

【0389】なお、端数データ処理部106は実施の形
態1のそれと同一の機能を有するものであってもよい。
Fractional data processing unit 106 may have the same function as that of the first embodiment.

【0390】(データ復号化装置20の構成)図28
は、本発明の実施の形態6における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG. 28
FIG. 9 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 6 of the present invention.

【0391】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding apparatus 20 shown in FIG. 7 in the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0392】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック変換部209で構成される。
This data decryption apparatus 20 is comprised of a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to eighth decryption unit 205a
.About.205h, a fraction data processing unit 206, a block combination unit 207, and a block conversion unit 209.

【0393】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして記憶する。次に、第1暗号文ブ
ロックの処理の際に更新された連鎖ブロックが第2暗号
文ブロックを処理する際に用いられ、第2暗号文ブロッ
クを新たな連鎖ブロックとして記憶する。次に、第2暗
号文ブロックの処理の際に記憶された連鎖ブロックが第
3暗号文ブロックを処理する際に用いられ、第3暗号文
ブロックを新たな連鎖ブロックとして記憶する。最後
に、第3暗号文ブロックの処理の際に記憶された連鎖ブ
ロックが端数暗号文データを処理する際に用いられる。
The block storage unit 202 has a block update function, and every time the block division unit 201 generates a ciphertext block, the chained block that stores this ciphertext block as a new chained block is updated. Used when processing blocks. Here, a 64-bit initial value IV is stored in advance, and this initial value IV is used when processing the first ciphertext block, and the first ciphertext block is stored as a new chain block. Next, the chain block updated at the time of processing the first ciphertext block is used at the time of processing the second ciphertext block, and the second ciphertext block is stored as a new chain block. Next, the chain block stored when processing the second ciphertext block is used when processing the third ciphertext block, and the third ciphertext block is stored as a new chain block. Finally, the chain block stored when processing the third ciphertext block is used when processing the fraction ciphertext data.

【0394】ブロック変換部209は、ブロック記憶部
202に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部209が施す所定の変換は、データ暗号
化装置10のブロック変換部109が施す所定の変換と
同一であり、例えば、ビット置換やビット変換等であ
る。ここでは、第1暗号文ブロックを処理する際には、
64ビットの連鎖ブロックの初期値IVから64ビット
の第1変換ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、第1〜2暗号文ブロックの処理の際
にそれぞれ生成された64ビットの連鎖ブロックから6
4ビットの第2〜3変換ブロックを生成する。
The block conversion unit 209 generates a conversion block by performing a predetermined conversion on the chain block stored in the block storage unit 202. here,
The predetermined conversion performed by the block conversion unit 209 is the same as the predetermined conversion performed by the block conversion unit 109 of the data encryption device 10, and is, for example, bit replacement or bit conversion. Here, when processing the first ciphertext block,
When a 64-bit first conversion block is generated from the initial value IV of the 64-bit chain block and the second to third ciphertext blocks are processed, they are generated respectively when the first to second ciphertext blocks are processed. 6 from a 64-bit chain block
The second to third conversion blocks of 4 bits are generated.

【0395】鍵データ融合部203は、ブロック変換部
209が生成した変換ブロックを鍵データに融合し融合
鍵データを生成する。ここでは、予め設定された64ビ
ットの鍵データを入手し、第1暗号文ブロックを処理す
る際には、64ビットの第1変換ブロックと64ビット
の鍵データとを、対応するビット毎に排他的論理和の演
算を行ない、第2〜3暗号文ブロックを処理する際に
は、64ビットの第2〜3変換ブロックと64ビットの
鍵データとを、対応するビット毎に排他的論理和の演算
を行なう。
The key data fusion unit 203 fuses the conversion block generated by the block conversion unit 209 with the key data to generate fusion key data. Here, when the preset 64-bit key data is obtained and the first ciphertext block is processed, the 64-bit first conversion block and the 64-bit key data are exclusive for each corresponding bit. When performing the logical OR operation and processing the second to third ciphertext blocks, the 64-bit second to third conversion blocks and the 64-bit key data are subjected to an exclusive OR operation for each corresponding bit. Calculate.

【0396】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、ブロック変
換部109が生成した変換ブロックに基づいて、端数暗
号文データから端数暗号文データと同じビット数の端数
平文データを生成するものであり、データ整合部206
a及び端数データ融合部206bを含む。
The fraction data processing unit 206 receives the fraction ciphertext data from the block division unit 201, and based on the conversion block generated by the block conversion unit 109, the fraction ciphertext data has the same number of bits as the fraction ciphertext data. The plain text data is generated, and the data matching unit 206
a and a fraction data fusion unit 206b.

【0397】データ整合部206aは、ブロック変換部
109が生成した変換ブロックから、端数暗号文データ
と同じビット数の端数変換データを生成する。ここで
は、端数暗号文データが8ビットなので、ブロック変換
部109が生成した変換ブロックの、例えば上位8ビッ
トで構成される端数変換データを生成する。
The data matching unit 206a generates the fractional conversion data having the same number of bits as the fractional ciphertext data from the conversion block generated by the block conversion unit 109. Here, since the fraction ciphertext data is 8 bits, the fraction conversion data composed of, for example, upper 8 bits of the conversion block generated by the block conversion unit 109 is generated.

【0398】端数データ融合部206bは、端数変換デ
ータを端数暗号文データに融合する。ここでは、8ビッ
トの端数変換データと8ビットの端数暗号文データと
を、対応するビット毎に排他的論理和の演算を行ない、
8ビットの端数平文データを生成する。
The fraction data merging unit 206b merges the fraction conversion data with the fraction ciphertext data. Here, the 8-bit fraction conversion data and the 8-bit fraction ciphertext data are subjected to exclusive OR operation for each corresponding bit,
8-bit fractional plaintext data is generated.

【0399】なお、端数データ処理部206は実施の形
態1のそれと同一の機能を有するものであってもよい。
Fractional data processing unit 206 may have the same function as that of the first embodiment.

【0400】<動作> (データ暗号化装置10の動作)図29は、本発明の実
施の形態6のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 29 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the sixth embodiment of the present invention.

【0401】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 9 in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0402】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
(1) and (2) The same as in the first embodiment (steps S101 and S102: the first time).

【0403】(3)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、鍵デー
タ融合部103が、その変換ブロックを鍵データに融合
し融合鍵データを生成する(ステップS1101)。こ
こでは、64ビットの連鎖ブロックの初期値IVから6
4ビットの第1変換ブロックを生成し、予め設定された
64ビットの鍵データを入手し、64ビットの第1変換
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう(ステップS110
1:1回目)。
(3) The block conversion unit 109 generates a conversion block by performing a predetermined conversion on the chain block stored in the block storage unit 102, and the key data fusion unit 103 generates the conversion block. Is combined with key data to generate combined key data (step S1101). Here, the initial value IV to 6 of the 64-bit chain block is
A 4-bit first conversion block is generated, preset 64-bit key data is obtained, and the 64-bit first conversion block and 64-bit key data are subjected to exclusive OR for each corresponding bit. Calculation is performed (step S110)
1: 1).

【0404】(4)〜(8)実施の形態1の(4)〜
(6)、(8)、(9)と同様である(ステップS10
4〜ステップS106、ステップS108、ステップS
109:1回目)。
(4)-(8) (4)-of the first embodiment
The same as (6), (8), and (9) (step S10).
4 to step S106, step S108, step S
109: 1st time).

【0405】(9)ブロック記憶部102が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1102)。ここで
は、第1暗号文ブロックに更新する(ステップS110
2:1回目)。
(9) The block storage unit 102 updates the stored chain block using the ciphertext block as a new chain block (step S1102). Here, the first ciphertext block is updated (step S110).
2: 1st time).

【0406】(10)〜(12)実施の形態1と同様で
ある(ステップS110:1回目、ステップS101、
ステップS102:2回目)。
(10) to (12) The same as in the first embodiment (step S110: the first time, step S101,
Step S102: second time).

【0407】(13)ステップS1101において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1101:2回目)。
(13) In step S1101, in this case, 64 generated at the time of processing the first plaintext block.
A 64-bit second conversion block is generated from the chained block of bits, and the 64-bit second conversion block and 64-bit key data are subjected to exclusive OR operation for each corresponding bit (step S1101: 2). Second time).

【0408】(14)〜(18)実施の形態1の(1
4)〜(16)、(18)、(19)と同様である(ス
テップS104〜ステップS106、ステップS10
8、ステップS109:2回目)。
(14) to (18) (1 of the first embodiment
4) to (16), (18) and (19) (steps S104 to S106 and step S10).
8, step S109: second time).

【0409】(19)ステップS1102において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
102:2回目)。
(19) In step S1102, the second ciphertext block is updated here (step S1).
102: second time).

【0410】(20)〜(22)実施の形態1と同様で
ある(ステップS110:2回目、ステップS101、
ステップS102:3回目)。
(20)-(22) Same as the first embodiment (step S110: second time, step S101,
Step S102: third time).

【0411】(23)ステップS1101において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1101:3回目)。
(23) In step S1101, in this case, 64 generated at the time of processing the second plaintext block.
A 64-bit third conversion block is generated from the bit chain block, and an exclusive OR operation is performed on the corresponding 64-bit third conversion block and 64-bit key data for each corresponding bit (step S1101: 3). Second time).

【0412】(24)〜(28)実施の形態1の(2
4)〜(26)、(28)、(29)と同様である(ス
テップS104〜ステップS106、ステップS10
8、ステップS109:3回目)。
(24) to (28) (2) of the first embodiment
4) to (26), (28), and (29) (steps S104 to S106, step S10).
8, step S109: third time).

【0413】(29)ステップS1102において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
102:3回目)。
(29) In step S1102, the third ciphertext block is updated here (step S1).
102: the third time).

【0414】(30)〜(34)実施の形態1と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
(30)-(34) Same as the first embodiment (step S110: third time, step S101:
Fourth time, steps S111 to S113).

【0415】(データ復号化装置20の動作)図30
は、本発明の実施の形態6のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 24 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the sixth embodiment of the present invention.

【0416】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0417】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of data decoding apparatus 20 shown in FIG. 10 according to Embodiment 1 are assigned the same reference numerals and explanations thereof are omitted.

【0418】(1)〜(2)実施の形態1と同様である
(ステップS201〜ステップS202:1回目)。
(1) and (2) The same as the first embodiment (steps S201 to S202: the first time).

【0419】(3)ブロック変換部209が、ブロック
記憶部202に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、鍵デー
タ融合部203が、その変換ブロックを鍵データに融合
し融合鍵データを生成する(ステップS1201)。こ
こでは、64ビットの連鎖ブロックの初期値IVから6
4ビットの第1変換ブロックを生成し、予め設定された
64ビットの鍵データを入手し、64ビットの第1変換
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう(ステップS120
1:1回目)。
(3) The block conversion unit 209 performs a predetermined conversion on the chain block stored in the block storage unit 202 to generate a conversion block, and the key data fusion unit 203 generates the conversion block. Is merged with key data to generate fused key data (step S1201). Here, the initial value IV to 6 of the 64-bit chain block is
A 4-bit first conversion block is generated, preset 64-bit key data is obtained, and the 64-bit first conversion block and 64-bit key data are subjected to exclusive OR for each corresponding bit. Calculation is performed (step S120)
1: 1).

【0420】(4)〜(8)実施の形態1の(4)〜
(6)、(8)、(9)と同様である(ステップS20
4〜ステップS206、ステップS208、ステップS
209:1回目)。
(4)-(8) (4)-of the first embodiment
The same as (6), (8), and (9) (step S20).
4 to step S206, step S208, step S
209: 1st time).

【0421】(9)ブロック記憶部202が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1202)。ここで
は、第1暗号文ブロックに更新する(ステップS120
2:1回目)。
(9) The block storage unit 202 updates the stored chain block using the ciphertext block as a new chain block (step S1202). Here, the first ciphertext block is updated (step S120).
2: 1st time).

【0422】(10)〜(12)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201、
ステップS202:2回目)。
(10) to (12) The same as the first embodiment (step S210: the first time, step S201,
Step S202: second time).

【0423】(13)ステップS1201において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1201:2回目)。
(13) In step S1201, in this case, 64 generated at the time of processing the first plaintext block.
A 64-bit second conversion block is generated from the chained block of bits, and the 64-bit second conversion block and the 64-bit key data are subjected to exclusive OR operation for each corresponding bit (step S1201: 2). Second time).

【0424】(14)〜(18)実施の形態1の(1
4)〜(16)、(18)、(19)と同様である(ス
テップS204〜ステップS206、ステップS20
8、ステップS209:2回目)。
(14) to (18) (1 of the first embodiment
4) to (16), (18), and (19) (steps S204 to S206, step S20)
8, step S209: second time).

【0425】(19)ステップS1202において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
202:2回目)。
(19) In step S1202, the second ciphertext block is updated here (step S1).
202: second time).

【0426】(20)〜(22)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201、
ステップS202:3回目)。
(20)-(22) Same as the first embodiment (step S210: second time, step S201,
Step S202: third time).

【0427】(23)ステップS1201において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1201:3回目)。
(23) In step S1201, in this case, 64 generated at the time of processing the second plaintext block.
A 64-bit third conversion block is generated from the bit chain block, and an exclusive OR operation is performed on the corresponding 64-bit third conversion block and 64-bit key data for each corresponding bit (step S1201: 3). Second time).

【0428】(24)〜(28)実施の形態1の(2
4)〜(26)、(28)、(29)と同様である(ス
テップS204〜ステップS206、ステップS20
8、ステップS209:3回目)。
(24) to (28) (2 of the first embodiment
4) to (26), (28), and (29) (steps S204 to S206, step S20).
8, step S209: third time).

【0429】(29)ステップS1202において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
202:3回目)。
(29) In step S1202, the third ciphertext block is updated here (step S1).
202: third time).

【0430】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
(30) to (34) The same as the first embodiment (step S210: third time, step S201:
Fourth time, steps S211 to S213).

【0431】実施の形態6の暗号処理装置は、前の暗号
文ブロックを連鎖ブロックとして記憶しておき、後の暗
号処理の際にブロック変換を施して鍵データに融合し、
暗号処理を施す度にその連鎖ブロックを更新するもので
ある。
The cryptographic processing apparatus according to the sixth embodiment stores the previous ciphertext block as a chain block, performs block conversion during the subsequent cryptographic processing, and fuses the key data.
The chain block is updated every time the encryption process is performed.

【0432】なお、上記実施の形態6では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態7)本発明の実施の形態7は、連鎖ブロッ
クにブロック変換を施した変換ブロックを鍵データに融
合するのではなく、被暗号処理データ又は被暗号処理デ
ータに暗号処理を施した後のデータに融合する点が実施
の形態6と異なる。
Although the ciphertext block is a new chain block in the sixth embodiment, the plaintext block or any intermediate block may be a new chain block. (Embodiment 7) In Embodiment 7 of the present invention, instead of merging a conversion block obtained by block conversion of a chain block into key data, encryption processing is performed on encrypted data or encrypted data. It is different from the sixth embodiment in that it is fused with later data.

【0433】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0434】(データ暗号化装置10の構成)図31
は、本発明の実施の形態7における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 7 of the present invention.

【0435】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 11 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0436】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107、ブロック融合部
108及びブロック変換部109で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a partial key generation unit 10.
4, first to eighth encryption units 105a to 105h, a fraction data processing unit 106, a block combination unit 107, a block fusion unit 108, and a block conversion unit 109.

【0437】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第1暗号文ブロックを新たな連鎖ブロックとして更新す
る。次に、第1平文ブロックの処理の際に更新した連鎖
ブロックが第2平文ブロックを処理する際に用いられ、
この処理の際に生成された第2暗号文ブロックを新たな
連鎖ブロックとして更新する。次に、第2平文ブロック
の処理の際に更新した連鎖ブロックが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された第
3暗号文ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
The block storage unit 102 has a block update function, and updates the chain block storing this ciphertext block as a new chain block each time the eighth encryption unit 105h generates a ciphertext block, Used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used when processing the first plaintext block, and the first ciphertext block generated at this processing is used as a new chain block. Update. Next, the chain block updated in processing the first plaintext block is used in processing the second plaintext block,
The second ciphertext block generated in this process is updated as a new chain block. Next, the chain block updated in processing the second plaintext block is used in processing the third plaintext block, and the third ciphertext block generated in this processing is updated as a new chain block. . Finally, the chain block updated when processing the third plaintext block is used when processing the fractional plaintext data.

【0438】ブロック変換部109は、ブロック記憶部
102に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部109が施す所定の変換は、例えば、ビ
ット置換やビット変換等である。ここでは、第1平文ブ
ロックを処理する際には、64ビットの連鎖ブロックの
初期値IVから64ビットの第1変換ブロックを生成
し、第2〜3平文ブロックを処理する際には、第1〜2
平文ブロックの処理の際にそれぞれ生成された64ビッ
トの連鎖ブロックから64ビットの第2〜3変換ブロッ
クを生成する。
The block conversion unit 109 applies a predetermined conversion to the chain block stored in the block storage unit 102 to generate a conversion block. here,
The predetermined conversion performed by the block conversion unit 109 is, for example, bit replacement or bit conversion. Here, when processing the first plaintext block, a 64-bit first conversion block is generated from the initial value IV of the 64-bit chain block, and when processing the second to third plaintext blocks, the first plaintext block is processed. ~ 2
A 64-bit second to third conversion block is generated from the 64-bit chain block generated at the time of processing the plaintext block.

【0439】ブロック融合部108は、ブロック変換部
109が生成した変換ブロックを、平文ブロックに融合
し融合平文ブロックを生成する。ここでは、第1平文ブ
ロックを処理する際には、64ビットの第1変換ブロッ
クと64ビットの第1平文ブロックとを、対応するビッ
ト毎に排他的論理和の演算を行ない64ビットの第1融
合平文ブロックを生成し、第2〜3平文ブロックを処理
する際には、64ビットの第2〜3変換ブロックと64
ビットの第2〜3平文ブロックとを、対応するビット毎
に排他的論理和の演算を行ない64ビットの第2〜3融
合平文ブロックを生成する。
The block fusion unit 108 fuses the conversion block generated by the block conversion unit 109 into a plaintext block to generate a fusion plaintext block. Here, when processing the first plaintext block, the 64-bit first conversion block and the 64-bit first plaintext block are subjected to an exclusive OR operation for each corresponding bit to perform the 64-bit first When the fused plaintext block is generated and the second to third plaintext blocks are processed, the 64-bit second to third conversion blocks and the 64-bit conversion block are used.
The 2nd to 3rd plaintext blocks of bits are subjected to an exclusive OR operation for each corresponding bit to generate 2nd to 3rd fused plaintext blocks of 64 bits.

【0440】(データ復号化装置20の構成)図32
は、本発明の実施の形態7における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 7 of the present invention.

【0441】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding device 20 shown in FIG. 12 in the second embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0442】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック変換部209で構成される。
The data decryption apparatus 20 includes a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to eighth decryption unit 205a
.About.205h, a fraction data processing unit 206, a block combination unit 207, and a block conversion unit 209.

【0443】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして記憶する。次に、第1暗号文ブ
ロックの処理の際に更新された連鎖ブロックが第2暗号
文ブロックを処理する際に用いられ、第2暗号文ブロッ
クを新たな連鎖ブロックとして記憶する。次に、第2暗
号文ブロックの処理の際に記憶された連鎖ブロックが第
3暗号文ブロックを処理する際に用いられ、第3暗号文
ブロックを新たな連鎖ブロックとして記憶する。最後
に、第3暗号文ブロックの処理の際に記憶された連鎖ブ
ロックが端数暗号文データを処理する際に用いられる。
The block storage unit 202 has a block update function, and each time the block division unit 201 generates a ciphertext block, it updates the chain block storing this ciphertext block as a new chain block, and Used when processing blocks. Here, a 64-bit initial value IV is stored in advance, and this initial value IV is used when processing the first ciphertext block, and the first ciphertext block is stored as a new chain block. Next, the chain block updated at the time of processing the first ciphertext block is used at the time of processing the second ciphertext block, and the second ciphertext block is stored as a new chain block. Next, the chain block stored when processing the second ciphertext block is used when processing the third ciphertext block, and the third ciphertext block is stored as a new chain block. Finally, the chain block stored when processing the third ciphertext block is used when processing the fraction ciphertext data.

【0444】ブロック変換部209は、ブロック記憶部
202に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部209が施す所定の変換は、データ暗号
化装置10のブロック変換部109が施す所定の変換と
同一であり、例えば、ビット置換やビット変換等であ
る。ここでは、第1暗号文ブロックを処理する際には、
64ビットの連鎖ブロックの初期値IVから64ビット
の第1変換ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、第1〜2暗号文ブロックの処理の際
にそれぞれ生成された64ビットの連鎖ブロックから6
4ビットの第2〜3変換ブロックを生成する。
The block conversion unit 209 generates a conversion block by applying a predetermined conversion to the chain block stored in the block storage unit 202. here,
The predetermined conversion performed by the block conversion unit 209 is the same as the predetermined conversion performed by the block conversion unit 109 of the data encryption device 10, and is, for example, bit replacement or bit conversion. Here, when processing the first ciphertext block,
When a 64-bit first conversion block is generated from the initial value IV of the 64-bit chain block and the second to third ciphertext blocks are processed, they are generated respectively when the first to second ciphertext blocks are processed. 6 from a 64-bit chain block
The second to third conversion blocks of 4 bits are generated.

【0445】ブロック融合部208は、ブロック変換部
209が生成した変換ブロックを、暗号処理ブロックに
融合し、平文ブロックを生成する。ここでは、第1暗号
文ブロックを処理する際には、64ビットの第1変換ブ
ロックと64ビットの第1暗号処理ブロックとを、対応
するビット毎に排他的論理和の演算を行ない64ビット
の第1平文ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、64ビットの第2〜3変換ブロック
と64ビットの第2〜3暗号処理ブロックとを、対応す
るビット毎に排他的論理和の演算を行ない64ビットの
第2〜3平文ブロックを生成する。
The block fusion unit 208 fuses the conversion block generated by the block conversion unit 209 with the encryption processing block to generate a plaintext block. Here, when processing the first ciphertext block, the 64-bit first conversion block and the 64-bit first cryptographic processing block are subjected to an exclusive OR operation for each corresponding bit to perform 64-bit operation. When the first plaintext block is generated and the second to third ciphertext blocks are processed, the 64-bit second to third conversion blocks and the 64-bit second to third cryptographic processing blocks are set for each corresponding bit. An exclusive OR operation is performed to generate 64-bit second to third plaintext blocks.

【0446】<動作> (データ暗号化装置10の動作)図33は、本発明の実
施の形態7のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 33 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the seventh embodiment of the present invention.

【0447】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 13 in the second embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0448】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
(1) to (3) The same as the second embodiment (step S101, step S102, step S3).
01: 1st time).

【0449】(4)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、ブロッ
ク融合部108が、その変換ブロックを平文ブロックに
融合し融合平文ブロックを生成する(ステップS130
1)。ここでは、64ビットの連鎖ブロックの初期値I
Vから64ビットの第1変換ブロックを生成し、64ビ
ットの第1変換ブロックと64ビットの第1平文ブロッ
クとを、対応するビット毎に排他的論理和の演算を行な
い、64ビットの第1融合平文ブロックを生成する(ス
テップS1301:1回目)。
(4) The block conversion unit 109 performs a predetermined conversion on the chain block stored in the block storage unit 102 to generate a conversion block, and the block fusion unit 108 converts the conversion block. It is fused with the plaintext block to generate a fused plaintext block (step S130).
1). Here, the initial value I of the 64-bit chain block
A 64-bit first conversion block is generated from V, an exclusive OR operation is performed on the corresponding 64-bit first conversion block and 64-bit first plaintext block, and a 64-bit first conversion block is calculated. A fused plaintext block is generated (step S1301: first time).

【0450】(5)〜(8)実施の形態2と同様である
(ステップS303、ステップS106、ステップS1
08、ステップS109:1回目)。
(5) to (8) The same as the second embodiment (step S303, step S106, step S1).
08, step S109: the first time).

【0451】(9)ブロック記憶部102が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1302)。ここで
は、第1暗号文ブロックに更新する(ステップS130
2:1回目)。
(9) The block storage unit 102 updates the stored chain block using the ciphertext block as a new chain block (step S1302). Here, the first ciphertext block is updated (step S130).
2: 1st time).

【0452】(10)〜(13)実施の形態2と同様で
ある(ステップS110:1回目、ステップS101、
ステップS102、ステップS301:2回目)。
(10)-(13) Same as the second embodiment (step S110: first time, step S101,
Step S102, step S301: second time).

【0453】(14)ステップS1301において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの第2平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第2融合平文ブロ
ックを生成する(ステップS1301:2回目)。
(14) In step S1301, in this case, 64 generated at the time of processing the first plaintext block.
A 64-bit second conversion block is generated from the chained block of bits, and the 64-bit second conversion block and the 64-bit second plaintext block are subjected to exclusive OR operation for each corresponding bit to obtain 64-bit. The second fused plaintext block of is generated (step S1301: second time).

【0454】(15)〜(18)実施の形態2と同様で
ある(ステップS303、ステップS106、ステップ
S108、ステップS109:2回目)。
(15) to (18) The same as the second embodiment (step S303, step S106, step S108, step S109: second time).

【0455】(19)ステップS1302において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
302:2回目)。
(19) In step S1302, the second ciphertext block is updated here (step S1).
302: second time).

【0456】(20)〜(23)実施の形態2と同様で
ある(ステップS110:2回目、ステップS101、
ステップS102、ステップS301:3回目)。
(20)-(23) Same as the second embodiment (step S110: second time, step S101,
Step S102, step S301: third time).

【0457】(24)ステップS1301において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの第3平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第3融合平文ブロ
ックを生成する(ステップS1301:3回目)。
(24) In step S1301, in this case, 64 generated at the time of processing the second plaintext block.
A 64-bit third conversion block is generated from the chained block of bits, and the 64-bit third conversion block and the 64-bit third plaintext block are subjected to an exclusive OR operation for each corresponding bit to obtain a 64-bit The third fused plaintext block is generated (step S1301: third time).

【0458】(25)〜(28)実施の形態2と同様で
ある(ステップS303、ステップS106、ステップ
S108、ステップS109:3回目)。
(25)-(28) Same as the second embodiment (step S303, step S106, step S108, step S109: third time).

【0459】(29)ステップS1302において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
302:3回目)。
(29) In step S1302, the third ciphertext block is updated here (step S1).
302: third time).

【0460】(30)〜(34)実施の形態2と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
(30)-(34) Same as the second embodiment (step S110: third time, step S101:
Fourth time, steps S111 to S113).

【0461】(データ復号化装置20の動作)図34
は、本発明の実施の形態7のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 24 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the seventh embodiment of the present invention.

【0462】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0463】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of the data decoding apparatus 20 shown in FIG. 14 in the second embodiment will be assigned the same reference numerals and explanation thereof will be omitted.

【0464】(1)〜(7)実施の形態1と同様である
(ステップS201〜ステップS202、ステップS4
01、ステップS205、ステップS206、ステップ
S208、ステップS402:1回目)。
(1) to (7) The same as the first embodiment (steps S201 to S202, step S4).
01, step S205, step S206, step S208, step S402: the first time).

【0465】(8)ブロック変換部209が、ブロック
記憶部202に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、ブロッ
ク融合部208が、その変換ブロックを暗号処理ブロッ
クに融合し平文ブロックを生成する(ステップS140
1)。ここでは、連鎖ブロックの初期値IVから64ビ
ットの第1変換ブロックを生成し、64ビットの第1変
換ブロックと64ビットの第1暗号処理ブロックとを、
対応するビット毎に排他的論理和の演算を行ない64ビ
ットの第1平文ブロックを生成する(ステップS140
1:1回目)。
(8) The block conversion unit 209 generates a conversion block by performing a predetermined conversion on the chain block stored in the block storage unit 202, and the block fusion unit 208 converts the conversion block. The plaintext block is generated by merging with the cryptographic processing block (step S140).
1). Here, a 64-bit first conversion block is generated from the initial value IV of the chain block, and the 64-bit first conversion block and the 64-bit first cryptographic processing block are
An exclusive OR operation is performed for each corresponding bit to generate a 64-bit first plaintext block (step S140).
1: 1).

【0466】(9)ブロック記憶部202が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1402)。ここで
は、第1暗号文ブロックに更新する(ステップS140
2:1回目)。
(9) The block storage unit 202 updates the stored chain block using the ciphertext block as a new chain block (step S1402). Here, the first ciphertext block is updated (step S140).
2: 1st time).

【0467】(10)〜(17)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201、
ステップS202、ステップS401、ステップS20
5、ステップS206、ステップS208、ステップS
402:2回目)。
(10) to (17) The same as the first embodiment (step S210: the first time, step S201,
Step S202, Step S401, Step S20
5, step S206, step S208, step S
402: Second time).

【0468】(18)ステップS1401において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの第2暗号処理ブロックとを、対応するビット毎に排
他的論理和の演算を行ない64ビットの第2平文ブロッ
クを生成する(ステップS1401:2回目)。
(18) In step S1401, in this case, 64 generated at the time of processing the first plaintext block.
A 64-bit second conversion block is generated from the chained block of bits, and the 64-bit second conversion block and the 64-bit second cryptographic processing block are subjected to exclusive OR operation for each corresponding bit to obtain 64-bit. The second plaintext block is generated (step S1401: second time).

【0469】(19)ステップS1402において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
402:2回目)。
(19) In step S1402, the second ciphertext block is updated here (step S1).
402: Second time).

【0470】(20)〜(27)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201、
ステップS202、ステップS401、ステップS20
5、ステップS206、ステップS208、ステップS
402:3回目)。
(20)-(27) Same as the first embodiment (step S210: second time, step S201,
Step S202, Step S401, Step S20
5, step S206, step S208, step S
402: third time).

【0471】(28)ステップS1401において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの第3暗号処理ブロックとを、対応するビット毎に排
他的論理和の演算を行ない64ビットの第3平文ブロッ
クを生成する(ステップS1401:3回目)。
(28) In step S1401, in this case, 64 generated at the time of processing the second plaintext block.
A 64-bit third conversion block is generated from the chained block of bits, and the 64-bit third conversion block and the 64-bit third cryptographic processing block are subjected to exclusive OR operation for each corresponding bit to obtain 64-bit. The third plaintext block of is generated (step S1401: third time).

【0472】(29)ステップS1402において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
402:3回目)。
(29) In step S1402, the third ciphertext block is updated here (step S1).
402: third time).

【0473】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
(30)-(34) Same as the first embodiment (step S210: third time, step S201:
Fourth time, steps S211 to S213).

【0474】実施の形態7の暗号処理装置は、前の暗号
文ブロックを連鎖ブロックとして記憶しておき、後の暗
号処理の際にブロック変換を施して平文ブロックや暗号
処理ブロックに融合し、暗号処理を施す度にその連鎖ブ
ロックを更新するものである。
The cryptographic processing apparatus according to the seventh embodiment stores the previous ciphertext block as a chain block, performs block conversion during the subsequent cryptographic processing, and merges the plaintext block and the cryptographic processing block with each other to obtain a ciphertext block. The chain block is updated every time processing is performed.

【0475】なお、上記実施の形態7では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態8)本発明の実施の形態8のデータ暗号化
装置10は、第1暗号化部105a、ブロック記憶部1
02、ブロック結合部107及びブロック融合部108
の各入力が実施の形態7のそれらと異なっており、処理
の順番等が入れ代わっている。
Although the ciphertext block is a new chain block in the seventh embodiment, the plaintext block or any intermediate block may be a new chain block. (Embodiment 8) A data encryption device 10 according to Embodiment 8 of the present invention includes a first encryption unit 105a and a block storage unit 1.
02, block combining unit 107 and block merging unit 108
The respective inputs are different from those in the seventh embodiment, and the processing order and the like are interchanged.

【0476】また、本発明の実施の形態8のデータ復号
化装置20は、ブロック記憶部の入力のみがデータ暗号
化装置10のそれと異なっている点以外は、データ暗号
化装置10と同様である。
The data decryption apparatus 20 according to the eighth embodiment of the present invention is the same as the data encryption apparatus 10 except that only the input of the block storage unit is different from that of the data encryption apparatus 10. .

【0477】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, the description thereof will be omitted.

【0478】(データ暗号化装置10の構成)図35
は、本発明の実施の形態8における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 8 of the present invention.

【0479】実施の形態7における図31に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The components common to those of the data encryption device 10 shown in FIG. 31 in the seventh embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0480】このデータ暗号化装置10の構成は、実施
の形態7と同様である。
The configuration of this data encryption device 10 is the same as that of the seventh embodiment.

【0481】第1暗号化部105aは、実施の形態7の
様にブロック融合部108が生成した融合平文ブロック
からではなく、ブロック変換部109が生成した変換ブ
ロックから第1中間ブロックを生成する。
The first encryption unit 105a generates the first intermediate block from the converted block generated by the block conversion unit 109, not from the combined plaintext block generated by the block combination unit 108 as in the seventh embodiment.

【0482】第8暗号化部105hは、実施の形態7の
様に暗号文ブロックではなく、暗号処理ブロックを生成
する。
The eighth encryption unit 105h generates a cryptographic processing block instead of the ciphertext block as in the seventh embodiment.

【0483】第1〜8暗号化部105a〜105hは、
実施の形態7のそれらと同一の機能を有する。ここで
は、第1〜3変換ブロックから、それぞれに対応する第
1〜7中間ブロックと、第1〜3暗号処理ブロックとを
生成する。
The first to eighth encryption units 105a to 105h are
It has the same functions as those of the seventh embodiment. Here, first to seventh intermediate blocks and first to third cryptographic processing blocks corresponding to the first to third conversion blocks are generated.

【0484】ブロック記憶部102はブロック更新機能
を備え、ブロック融合部108が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでの動作は、実施の形態7
と同様である。
The block storage unit 102 has a block update function, and each time the block fusion unit 108 generates a ciphertext block, it updates the chained block that stores this ciphertext block as a new chained block. Used when processing blocks. The operation here is the seventh embodiment.
Is the same as.

【0485】ブロック融合部108は、実施の形態7の
様にブロック変換部109が生成した変換ブロックでは
なく、第8暗号化部105hが生成した暗号処理ブロッ
クを、平文ブロックに融合し暗号文ブロックを生成す
る。ここでは、第1平文ブロックを処理する際には、6
4ビットの第1暗号処理ブロックと64ビットの第1平
文ブロックとを、対応するビット毎に排他的論理和の演
算を行ない64ビットの第1暗号文ブロックを生成し、
第2〜3平文ブロックを処理する際には、64ビットの
第2〜3暗号処理ブロックと64ビットの第2〜3平文
ブロックとを、対応するビット毎に排他的論理和の演算
を行ない64ビットの第2〜3暗号文ブロックを生成す
る。
The block fusion unit 108 fuses the cipher processing block generated by the eighth encryption unit 105h into the plaintext block instead of the conversion block generated by the block conversion unit 109 as in the seventh embodiment, to obtain a ciphertext block. To generate. Here, when processing the first plaintext block, 6
The 4-bit first ciphertext block and the 64-bit first plaintext block are subjected to exclusive OR operation for each corresponding bit to generate a 64-bit first ciphertext block,
When processing the second to third plaintext blocks, the 64-bit second to third cryptographic processing blocks and the 64-bit second to third plaintext blocks are subjected to exclusive OR operation for each corresponding bit. Generate the second to third ciphertext block of bits.

【0486】ブロック結合部107は、ブロック融合部
108が生成した各暗号文ブロック及び端数データ処理
部106が生成した端数暗号文データを結合して暗号文
データを生成する。ここでは、各64ビットの第1〜3
暗号文ブロック及び8ビットの端数暗号文データを結合
して200ビットの暗号文データを生成する。
The block combining unit 107 combines each ciphertext block generated by the block merging unit 108 and the fraction ciphertext data generated by the fraction data processing unit 106 to generate ciphertext data. Here, the first to third of each 64 bits
The ciphertext block and the 8-bit fraction ciphertext data are combined to generate 200-bit ciphertext data.

【0487】(データ復号化装置20の構成)図36
は、本発明の実施の形態8における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 20 is a diagram showing a detailed configuration of the data decoding device 20 shown in FIG. 1 in the eighth embodiment of the present invention.

【0488】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜8暗号化部205i〜205p、端数データ
処理部206、ブロック結合部207、ブロック融合部
208及びブロック変換部209で構成される。
The data decryption apparatus 20 includes a block division unit 201, a block storage unit 202, and a partial key generation unit 20.
4, first to eighth encryption units 205i to 205p, a fraction data processing unit 206, a block combination unit 207, a block fusion unit 208, and a block conversion unit 209.

【0489】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして更新する。次に、第1暗号文ブ
ロックの処理の際に更新した連鎖ブロックが第2暗号文
ブロックを処理する際に用いられ、第2暗号文ブロック
を新たな連鎖ブロックとして更新する。次に、第2暗号
文ブロックの処理の際に更新した連鎖ブロックが第3暗
号文ブロックを処理する際に用いられ、第3暗号文ブロ
ックを新たな連鎖ブロックとして更新する。最後に、第
3暗号文ブロックの処理の際に更新した連鎖ブロックが
端数暗号文データを処理する際に用いられる。
The block storage unit 202 has a block update function, and every time the block division unit 201 generates a ciphertext block, the chained block that stores this ciphertext block as a new chained block is updated to Used when processing blocks. Here, a 64-bit initial value IV is stored in advance, and this initial value IV is used when processing the first ciphertext block, and the first ciphertext block is updated as a new chain block. Next, the chain block updated in processing the first ciphertext block is used in processing the second ciphertext block, and the second ciphertext block is updated as a new chain block. Next, the chained block updated when processing the second ciphertext block is used when processing the third ciphertext block, and the third ciphertext block is updated as a new chained block. Finally, the chain block updated when processing the third ciphertext block is used when processing the fraction ciphertext data.

【0490】実施の形態8における図35に示すデータ
暗号化装置10と同一名称の構成部分は同一の機能を有
し、ブロック記憶部202の入力のみがデータ暗号化装
置10のブロック記憶部102の入力と異なっている点
以外は、データ暗号化装置10と同様である。
The components having the same names as those of the data encryption device 10 shown in FIG. 35 in the eighth embodiment have the same functions, and only the input of the block storage unit 202 is stored in the block storage unit 102 of the data encryption device 10. The data encryption device 10 is the same as the data encryption device 10 except that it is different from the input.

【0491】<動作> (データ暗号化装置10の動作)図37は、本発明の実
施の形態8のデータ暗号化装置10における暗号化処理
の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 37 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the eighth embodiment of the present invention.

【0492】実施の形態7における図33に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 33 according to the seventh embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0493】(1)〜(3)実施の形態7と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
(1) to (3) Same as the seventh embodiment (step S101, step S102, step S3).
01: 1st time).

【0494】(4)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、第1暗
号化部105aが、第1の部分鍵に基づいてその変換ブ
ロックから第1中間ブロックを生成する(ステップS1
501)。ここでは、64ビットの連鎖ブロックの初期
値IVから64ビットの第1変換ブロックを生成し、6
4ビットの第1変換ブロックから第1中間ブロックを生
成する(ステップS1501:1回目)。
(4) The block conversion unit 109 generates a conversion block by performing a predetermined conversion on the chain block stored in the block storage unit 102, and the first encryption unit 105a causes the first encryption unit 105a to perform the first conversion. A first intermediate block is generated from the converted block based on the partial key of step S1.
501). Here, a 64-bit first conversion block is generated from the initial value IV of the 64-bit chain block, and 6
A first intermediate block is generated from the 4-bit first conversion block (step S1501: first time).

【0495】(5)〜(6)実施の形態7の(6)〜
(7)と同様である(ステップS106、ステップS1
08:1回目)。
(5) to (6) (6) to in the seventh embodiment
The same as (7) (step S106, step S1)
08: 1st time).

【0496】(7)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから暗号処理ブロッ
クを生成する(ステップS1502)。ここでは、連鎖
ブロックの初期値IVに対応する第7中間ブロックから
第1暗号処理ブロックを生成する(ステップS150
2:1回目)。
(7) The eighth encryption unit 105h generates an encryption processing block from the seventh intermediate block based on the eighth partial key (step S1502). Here, the first cryptographic processing block is generated from the seventh intermediate block corresponding to the initial value IV of the chain block (step S150).
2: 1st time).

【0497】(8)ブロック融合部108が、暗号処理
ブロックを平文ブロックに融合し暗号文ブロックを生成
する(ステップS1503)。ここでは、64ビットの
第1暗号処理ブロックと64ビットの第1平文ブロック
とを、対応するビット毎に排他的論理和の演算を行な
い、64ビットの第1暗号文ブロックを生成する(ステ
ップS1503:1回目)。
(8) The block merging unit 108 merges the cryptographic processing block with the plaintext block to generate a ciphertext block (step S1503). Here, the 64-bit first ciphertext block and the 64-bit first plaintext block are subjected to exclusive OR operation for each corresponding bit to generate a 64-bit first ciphertext block (step S1503). : 1st time).

【0498】(9)〜(13)実施の形態7と同様であ
る(ステップS1302、ステップS110:1回目、
ステップS101、ステップS102、ステップS30
1:2回目)。
(9) to (13) The same as the seventh embodiment (step S1302, step S110: the first time,
Step S101, Step S102, Step S30
1: Second time).

【0499】(14)ステップS1501において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックから第1中
間ブロックを生成する(ステップS1501:2回
目)。
(14) In step S1501, in this case, 64 generated at the time of processing the first plaintext block.
A 64-bit second conversion block is generated from the bit chain block, and a first intermediate block is generated from the 64-bit second conversion block (step S1501: second time).

【0500】(15)〜(16)実施の形態7の(1
6)〜(17)と同様である(ステップS106、ステ
ップS108:2回目)。
(15) to (16) (1 of the seventh embodiment
6) to (17) (step S106, step S108: second time).

【0501】(17)ステップS1502において、こ
こでは、第1平文ブロックの処理の際に生成された連鎖
ブロックに対応する第7中間ブロックから第2暗号処理
ブロックを生成する(ステップS1502:2回目)。
(17) In step S1502, here, a second cipher processing block is generated from the seventh intermediate block corresponding to the chain block generated at the time of processing the first plaintext block (step S1502: second time). .

【0502】(18)ステップS1503において、こ
こでは、64ビットの第2暗号処理ブロックと64ビッ
トの第2平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第2暗号文ブロッ
クを生成する(ステップS1503:2回目)。
(18) In step S1503, the 64-bit second cryptographic processing block and the 64-bit second plaintext block are subjected to exclusive OR operation for each corresponding bit to obtain the 64-bit second ciphertext block. Two ciphertext blocks are generated (step S1503: second time).

【0503】(19)〜(23)実施の形態7と同様で
ある(ステップS1302、ステップS110:2回
目、ステップS101、ステップS102、ステップS
301:3回目)。
(19)-(23) Same as the seventh embodiment (step S1302, step S110: second time, step S101, step S102, step S).
301: Third time).

【0504】(24)ステップS1501において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックから第1中
間ブロックを生成する(ステップS1501:3回
目)。
(24) In step S1501, in this case, 64 generated at the time of processing the second plaintext block.
A 64-bit third conversion block is generated from the bit chain block, and a first intermediate block is generated from the 64-bit third conversion block (step S1501: third time).

【0505】(25)〜(26)実施の形態7の(2
6)〜(27)と同様である(ステップS106、ステ
ップS108:3回目)。
(25) to (26) (2) of the seventh embodiment
6) to (27) (step S106, step S108: third time).

【0506】(27)ステップS1502において、こ
こでは、第2平文ブロックの処理の際に生成された連鎖
ブロックに対応する第7中間ブロックから第3暗号処理
ブロックを生成する(ステップS1502:3回目)。
(27) In step S1502, a third cryptographic processing block is generated from the seventh intermediate block, which corresponds to the chain block generated in processing the second plaintext block here (step S1502: third time). .

【0507】(28)ステップS1503において、こ
こでは、64ビットの第3暗号処理ブロックと64ビッ
トの第3平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第3暗号文ブロッ
クを生成する(ステップS1503:3回目)。
(28) In step S1503, the 64-bit third cryptographic processing block and the 64-bit third plaintext block are subjected to exclusive OR operation for each corresponding bit to obtain the 64-bit third ciphertext block. Three ciphertext blocks are generated (step S1503: third time).

【0508】(29)〜(34)実施の形態7と同様で
ある(ステップS1302、ステップS110:3回
目、ステップS101:4回目、ステップS111〜ス
テップS113)。
(29) to (34) The same as the seventh embodiment (step S1302, step S110: third time, step S101: fourth time, step S111 to step S113).

【0509】(データ復号化装置20の動作)データ復
号化装置20の動作は、データ暗号化装置10の動作の
逆変換である。
(Operation of Data Decryption Device 20) The operation of the data decryption device 20 is an inverse conversion of the operation of the data encryption device 10.

【0510】実施の形態8におけるデータ復号化装置2
0の動作は、ブロック記憶部の入力が異なっている点以
外は実施の形態8におけるデータ暗号化装置10の動作
と同様なので、その説明を省略する 実施の形態8の暗号処理装置は、前の暗号文ブロックを
連鎖ブロックとして記憶しておき、後の暗号処理の際に
ブロック変換と暗号処理とを施して平文ブロックや暗号
文ブロックに融合し、暗号処理を施す度にその連鎖ブロ
ックを更新するものである。
Data Decoding Device 2 in Eighth Embodiment
The operation of 0 is the same as the operation of the data encryption device 10 according to the eighth embodiment except that the input of the block storage unit is different, and thus the description of the encryption processing device according to the eighth embodiment will be omitted. The ciphertext block is stored as a chain block, and block conversion and cipher processing are performed at the time of subsequent cipher processing to fuse the plaintext block and ciphertext block, and each time the cipher processing is performed, the chain block is updated. It is a thing.

【0511】なお、上記実施の形態8では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態9)本発明の実施の形態9は、ブロック記
憶部の入力のみが実施の形態8と異なる。
In the eighth embodiment, the ciphertext block is a new chain block, but the plaintext block or any intermediate block may be a new chain block. (Embodiment 9) Embodiment 9 of the present invention differs from Embodiment 8 only in the input to the block storage unit.

【0512】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, the description thereof will be omitted.

【0513】(データ暗号化装置10の構成)図38
は、本発明の実施の形態9における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 9 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 9 of the present invention.

【0514】実施の形態8における図35に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
The components common to those of the data encryption device 10 shown in FIG. 35 in the eighth embodiment are designated by the same reference numerals, and the description of the components having the same function will be omitted.

【0515】このデータ暗号化装置10の構成は、実施
の形態8の構成と同様である。
The configuration of this data encryption device 10 is similar to that of the eighth embodiment.

【0516】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号処理ブロックを生
成する度に、この暗号処理ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第1暗号処理ブロックを新たな連鎖ブロックとして
更新する。次に、第1平文ブロックの処理の際に更新し
た連鎖ブロックが第2平文ブロックを処理する際に用い
られ、この処理の際に生成された第2暗号処理ブロック
を新たな連鎖ブロックとして更新する。次に、第2平文
ブロックの処理の際に更新した連鎖ブロックが第3平文
ブロックを処理する際に用いられ、この処理の際に生成
された第3暗号処理ブロックを新たな連鎖ブロックとし
て更新する。最後に、第3平文ブロックの処理の際に更
新した連鎖ブロックが端数平文データを処理する際に用
いられる。
The block storage unit 102 has a block update function, and updates the chain block storing this encryption process block as a new chain block each time the eighth encryption unit 105h generates an encryption process block, Used when processing the next block. Here, a 64-bit initial value IV is stored in advance, this initial value IV is used when processing the first plaintext block, and the first cryptographic processing block generated at this processing is used as a new chain block. Update. Next, the chain block updated in the processing of the first plaintext block is used in processing the second plaintext block, and the second cipher processing block generated in this processing is updated as a new chain block. . Next, the chain block updated in processing the second plaintext block is used in processing the third plaintext block, and the third cipher processing block generated in this processing is updated as a new chain block. . Finally, the chain block updated when processing the third plaintext block is used when processing the fractional plaintext data.

【0517】(データ復号化装置20の構成)図39
は、本発明の実施の形態9における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 9 is a diagram showing a detailed configuration of a data decoding device 20 shown in FIG. 1 in Embodiment 9 of the present invention.

【0518】このデータ復号化装置20の構成は、実施
の形態8の構成と同様であり、また、実施の形態9にお
ける図38に示すデータ暗号化装置10と同一名称の構
成部分は同一の機能を有するので、その説明を省略す
る。
The configuration of this data decryption apparatus 20 is the same as that of the eighth embodiment, and the components having the same names as those of the data encryption apparatus 10 shown in FIG. 38 in the ninth embodiment have the same functions. Therefore, the description thereof will be omitted.

【0519】<動作> (データ暗号化装置10の動作)本発明の実施の形態9
のデータ暗号化装置10は、ブロック記憶部102の入
力が異なっている点以外は、実施の形態8のデータ暗号
化装置10と同様なので、その動作の説明を省略する (データ復号化装置20の動作)データ復号化装置20
の動作は、データ暗号化装置10の動作の逆変換であ
る。
<Operation> (Operation of Data Encryption Device 10) Embodiment 9 of the Present Invention
The data encryption device 10 is similar to the data encryption device 10 of the eighth embodiment except that the input of the block storage unit 102 is different, and thus the description of the operation thereof is omitted (of the data decryption device 20). Operation) Data Decoding Device 20
The operation of is an inverse conversion of the operation of the data encryption device 10.

【0520】実施の形態9におけるデータ復号化装置2
0の動作は、実施の形態9におけるデータ暗号化装置1
0の動作と同様なので、その説明を省略する実施の形態
9の暗号処理装置は、前のブロックに暗号処理に施した
過程において生成された暗号処理ブロックを新たな連鎖
ブロックとして記憶しておき、後の暗号処理の際にブロ
ック変換と暗号処理とを施して平文ブロックや暗号文ブ
ロックに融合し、暗号処理を施す度にその連鎖ブロック
を更新するものである。 (実施の形態10)本発明の実施の形態10は、実施の
形態1に、さらに、1ブロックを処理する度に鍵データ
を更新する機能を追加したものである。
Data Decoding Device 2 in Embodiment 9
The operation of 0 corresponds to the data encryption device 1 in the ninth embodiment.
Since the operation is the same as that of 0, the encryption processing device according to the ninth embodiment, the description of which is omitted, stores the encryption processing block generated in the process of performing the encryption processing on the previous block as a new chain block, In the subsequent cryptographic processing, block conversion and cryptographic processing are performed to fuse the plaintext block and the ciphertext block, and each time the cryptographic processing is performed, the chain block is updated. (Embodiment 10) Embodiment 10 of the present invention is the same as Embodiment 1 except that a function of updating key data every time one block is processed is added.

【0521】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0522】(データ暗号化装置10の構成)図40
は、本発明の実施の形態10における図1に示すデータ
暗号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 13 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 10 of the present invention.

【0523】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 2 according to the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0524】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及び鍵データ記憶部110で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a key data fusion unit 1.
03, partial key generation unit 104, first to eighth encryption unit 105a
.About.105h, a fraction data processing unit 106, a block combining unit 107, and a key data storage unit 110.

【0525】図50に示す従来の暗号化装置30と図4
0に示す本発明の実施の形態10におけるデータ暗号化
装置10との関係は、実施の形態1と同様であり、さら
に、鍵データ記憶部110が付加されている。
The conventional encryption device 30 shown in FIG. 50 and FIG.
The relationship with the data encryption device 10 according to the tenth embodiment of the present invention shown in 0 is the same as that of the first embodiment, and a key data storage unit 110 is further added.

【0526】鍵データ記憶部110は鍵データを記憶す
る。なお、最初のブロックを処理する際には、予め鍵デ
ータの初期値が記憶される。
The key data storage unit 110 stores key data. When processing the first block, the initial value of the key data is stored in advance.

【0527】鍵データ融合部103は、ブロック記憶部
102に記憶された連鎖ブロックを、鍵データ記憶部1
10に記憶された鍵データに融合し、融合鍵データを生
成する。ここでは、第1平文ブロックを処理する際に
は、64ビットの連鎖ブロックの初期値IVと64ビッ
トの鍵データの初期値とを、対応するビット毎に排他的
論理和の演算を行ない、第2〜3平文ブロックを処理す
る際には、第1〜2平文ブロックの処理の際に生成され
た64ビットの連鎖ブロックと第1〜2平文ブロックの
処理の際に生成された64ビットの鍵データとを、対応
するビット毎に排他的論理和の演算を行なう。
[0527] The key data fusion unit 103 converts the chained blocks stored in the block storage unit 102 into the key data storage unit 1
It is fused with the key data stored in 10 to generate fused key data. Here, when processing the first plaintext block, the 64-bit chain block initial value IV and the 64-bit key data initial value are subjected to exclusive OR operation for each corresponding bit, When processing 2-3 plaintext blocks, a 64-bit chain block generated when processing first and second plaintext blocks and a 64-bit key generated when processing first and second plaintext blocks An exclusive OR operation is performed on the data and each corresponding bit.

【0528】鍵データ記憶部110は鍵データ更新機能
を備え、鍵データ融合部103が融合鍵データを生成す
る度に、融合鍵データを新たな鍵データとして記憶して
いる鍵データを更新し、次のブロックを処理する際に用
いる。ここでは、予め64ビットの初期値が記憶され、
この初期値が第1平文ブロックを処理する際に用いら
れ、この処理の際に生成された融合鍵データを新たな鍵
データとして更新する。次に、第1平文ブロックの処理
の際に更新した鍵データが第2平文ブロックを処理する
際に用いられ、この処理の際に生成された融合鍵データ
を新たな鍵データとして更新する。次に、第2平文ブロ
ックの処理の際に更新した鍵データが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された融
合鍵データを新たな鍵データとして更新する。
The key data storage unit 110 has a key data update function, and updates the key data stored as new key data each time the key data fusion unit 103 generates fusion key data. Used when processing the next block. Here, a 64-bit initial value is stored in advance,
This initial value is used when processing the first plaintext block, and the fusion key data generated in this processing is updated as new key data. Next, the key data updated in processing the first plaintext block is used in processing the second plaintext block, and the fusion key data generated in this processing is updated as new key data. Next, the key data updated in processing the second plaintext block is used in processing the third plaintext block, and the fusion key data generated in this processing is updated as new key data.

【0529】(データ復号化装置20の構成)図41
は、本発明の実施の形態10における図1に示すデータ
復号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 20 is a diagram showing a detailed configuration of the data decoding device 20 shown in FIG. 1 in the tenth embodiment of the present invention.

【0530】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding apparatus 20 shown in FIG. 7 in the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0531】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及び鍵データ記憶部210で構成される。
The data decryption device 20 includes a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to eighth decryption unit 205a
.About.205h, a fraction data processing unit 206, a block combining unit 207, and a key data storage unit 210.

【0532】鍵データ記憶部210は鍵データを記憶す
る。なお、最初のブロックを処理する際には、予め鍵デ
ータの初期値が記憶される。
The key data storage unit 210 stores key data. When processing the first block, the initial value of the key data is stored in advance.

【0533】鍵データ融合部203は、ブロック記憶部
202に記憶された連鎖ブロックを、鍵データ記憶部2
10に記憶された鍵データに融合し、融合鍵データを生
成する。ここでは、第1暗号文ブロックを処理する際に
は、64ビットの連鎖ブロックの初期値IVと64ビッ
トの鍵データの初期値とを、対応するビット毎に排他的
論理和の演算を行ない第1融合鍵データを生成し、第2
〜3暗号文ブロックを処理する際には、第1〜2暗号文
ブロックの処理の際にそれぞれ生成された64ビットの
連鎖ブロックと第1〜2暗号文ブロックの処理の際にそ
れぞれ生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない第2〜3融合鍵
データを生成する。
The key data fusion unit 203 converts the chained blocks stored in the block storage unit 202 into the key data storage unit 2
It is fused with the key data stored in 10 to generate fused key data. Here, when processing the first ciphertext block, the initial value IV of the 64-bit chain block and the initial value of the 64-bit key data are subjected to exclusive OR operation for each corresponding bit. 1 fusion key data is generated, and 2
When processing the third to third ciphertext blocks, the 64-bit chain block generated at the time of processing the first to second ciphertext blocks and at the time of processing the first to second ciphertext blocks respectively 64-bit key data is subjected to exclusive OR operation for each corresponding bit to generate second to third fused key data.

【0534】鍵データ記憶部210は鍵データ更新機能
を備え、鍵データ融合部203が融合鍵データを生成す
る度に、融合鍵データを新たな鍵データとして記憶して
いる鍵データを更新し、次のブロックを処理する際に用
いる。ここでは、予め64ビットの初期値が記憶され、
この初期値が第1暗号文ブロックを処理する際に用いら
れ、この処理の際に生成された第1融合鍵データを新た
な鍵データとして更新する。次に、第1暗号文ブロック
の処理の際に更新した鍵データが第2暗号文ブロックを
処理する際に用いられ、この処理の際に生成された第2
融合鍵データを新たな鍵データとして更新する。次に、
第2暗号文ブロックの処理の際に更新した鍵データが第
3暗号文ブロックを処理する際に用いられ、この処理の
際に生成された第3融合鍵データを新たな鍵データとし
て更新する。
The key data storage unit 210 has a key data update function, and updates the key data stored as new key data each time the key data fusion unit 203 generates fusion key data. Used when processing the next block. Here, a 64-bit initial value is stored in advance,
This initial value is used when processing the first ciphertext block, and the first fusion key data generated during this processing is updated as new key data. Next, the key data updated during the processing of the first ciphertext block is used when processing the second ciphertext block, and the second key data generated during this processing is generated.
The fusion key data is updated as new key data. next,
The key data updated at the time of processing the second ciphertext block is used at the time of processing the third ciphertext block, and the third fusion key data generated at this processing is updated as new key data.

【0535】<動作> (データ暗号化装置10の動作)図42は、本発明の実
施の形態10のデータ暗号化装置10における暗号化処
理の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 42 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the tenth embodiment of the present invention.

【0536】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 9 in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0537】ここでは、実施の形態1の条件に、更に、
鍵データ記憶部110には予め鍵データの初期値が記憶
されるものとする。
Here, in addition to the conditions of the first embodiment,
It is assumed that the key data storage unit 110 stores the initial value of the key data in advance.

【0538】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
(1) and (2) The same as the first embodiment (step S101, step S102: the first time).

【0539】(3)鍵データ融合部103がブロック記
憶部102に記憶された連鎖ブロックを、鍵データ記憶
部110に記憶された鍵データに融合して融合鍵データ
を生成し、鍵データ記憶部110が、この融合鍵データ
を新たな鍵データとして自身が記憶する鍵データを更新
する(ステップS1601)。ここでは、ブロック記憶
部102に記憶された64ビットの初期値IVと、鍵デ
ータ記憶部110に記憶された64ビットの鍵データの
初期値とを、対応するビット毎に排他的論理和の演算を
行ない、第1融合鍵データを生成して部分鍵生成部10
4に渡し、第1融合鍵データを新たな鍵データとして鍵
データを更新する(ステップS1601:1回目)。
(3) The key data fusion unit 103 fuses the chain block stored in the block storage unit 102 with the key data stored in the key data storage unit 110 to generate fusion key data, and the key data storage unit The 110 updates the key data stored therein by using this fusion key data as new key data (step S1601). Here, the 64-bit initial value IV stored in the block storage unit 102 and the 64-bit key data initial value stored in the key data storage unit 110 are subjected to exclusive OR operation for each corresponding bit. To generate the first fusion key data to generate the partial key generation unit 10
4, and the key data is updated using the first fusion key data as new key data (step S1601: the first time).

【0540】(4)〜(12)実施の形態1と同様であ
る(ステップS104〜ステップS110:1回目、ス
テップS101、ステップS102:2回目)。
(4) to (12) The same as the first embodiment (step S104 to step S110: the first time, step S101, step S102: the second time).

【0541】(13)ステップS1601において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックと、第1平文ブロックの処理の際
に生成された64ビットの鍵データとを、対応するビッ
ト毎に排他的論理和の演算を行ない、第2融合鍵データ
を生成して部分鍵生成部104に渡し、第2融合鍵デー
タを新たな鍵データとして鍵データを更新する(ステッ
プS1601:2回目)。
(13) In step S1601, in this case, 64 generated at the time of processing the first plaintext block.
The chained block of bits and the 64-bit key data generated during the processing of the first plaintext block are subjected to exclusive OR operation for each corresponding bit to generate the second fused key data and the partial The key data is passed to the key generation unit 104, and the key data is updated using the second fusion key data as new key data (step S1601: second time).

【0542】(14)〜(22)実施の形態1と同様で
ある(ステップS104〜ステップS110:2回目、
ステップS101、ステップS102:3回目)。
(14)-(22) Same as the first embodiment (steps S104-S110: second time,
Steps S101 and S102: third time).

【0543】(23)ステップS1601において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックと、第2平文ブロックの処理の際
に生成された64ビットの鍵データとを、対応するビッ
ト毎に排他的論理和の演算を行ない、第3融合鍵データ
を生成して部分鍵生成部104に渡し、第3融合鍵デー
タを新たな鍵データとして鍵データを更新する(ステッ
プS1601:3回目)。
(23) In step S1601, in this case, 64 generated at the time of processing the second plaintext block.
The chained block of bits and the 64-bit key data generated at the time of processing the second plaintext block are subjected to exclusive OR operation for each corresponding bit to generate the third fused key data, and the part is generated. The key data is passed to the key generation unit 104, and the key data is updated by using the third fusion key data as new key data (step S1601: third time).

【0544】(24)〜(34)実施の形態1と同様で
ある(ステップS104〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
(24)-(34) Same as the first embodiment (steps S104-S110: third time,
Step S101: Fourth time, Steps S111 to S113).

【0545】(データ復号化装置20の動作)図43
は、本発明の実施の形態10のデータ復号化装置20に
おける暗号化処理の流れを示す図である。
(Operation of Data Decoding Device 20) FIG.
FIG. 24 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the tenth embodiment of the present invention.

【0546】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0547】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of data decoding apparatus 20 shown in FIG. 10 according to Embodiment 1 are assigned the same reference numerals and explanations thereof will be omitted.

【0548】(1)〜(2)実施の形態1と同様である
(ステップS201、ステップS202:1回目)。
(1) and (2) The same as the first embodiment (step S201, step S202: the first time).

【0549】(3)鍵データ融合部203がブロック記
憶部202に記憶された連鎖ブロックを、鍵データ記憶
部210に記憶された鍵データに融合して融合鍵データ
を生成し、鍵データ記憶部210が、この融合鍵データ
を新たな鍵データとして自身が記憶する鍵データを更新
する(ステップS1701)。ここでは、ブロック記憶
部202に記憶された64ビットの初期値IVと、鍵デ
ータ記憶部210に記憶された64ビットの鍵データの
初期値とを、対応するビット毎に排他的論理和の演算を
行ない、第1融合鍵データを生成して部分鍵生成部20
4に渡し、第1融合鍵データを新たな鍵データとして鍵
データを更新する(ステップS1701:1回目)。
(3) The key data fusion unit 203 fuses the chain block stored in the block storage unit 202 with the key data stored in the key data storage unit 210 to generate fusion key data, and the key data storage unit The 210 updates the key data stored in itself by using this fusion key data as new key data (step S1701). Here, the 64-bit initial value IV stored in the block storage unit 202 and the 64-bit key data initial value stored in the key data storage unit 210 are subjected to exclusive OR operation for each corresponding bit. To generate the first fusion key data and generate the partial key generation unit 20.
4, and the key data is updated using the first fusion key data as new key data (step S1701: the first time).

【0550】(4)〜(12)実施の形態1と同様であ
る(ステップS204〜ステップS210:1回目、ス
テップS201、ステップS202:2回目)。
(4) to (12) The same as the first embodiment (step S204 to step S210: the first time, step S201, step S202: the second time).

【0551】(13)ステップS1701において、こ
こでは、第1暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックと、第1暗号文ブロックの処理
の際に生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない、第2融合鍵デ
ータを生成して部分鍵生成部204に渡し、第2融合鍵
データを新たな鍵データとして鍵データを更新する(ス
テップS1701:2回目)。
(13) In step S1701, here, 6 generated at the time of processing the first ciphertext block.
The 4-bit chain block and the 64-bit key data generated during the processing of the first ciphertext block are subjected to an exclusive OR operation for each corresponding bit to generate the second fusion key data. To the partial key generation unit 204, and the key data is updated by using the second fusion key data as new key data (step S1701: second time).

【0552】(14)〜(22)実施の形態1と同様で
ある(ステップS204〜ステップS210:2回目、
ステップS201、ステップS202:3回目)。
(14)-(22) Same as the first embodiment (steps S204-S210: second time,
Step S201, Step S202: third time).

【0553】(23)ステップS1701において、こ
こでは、第2暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックと、第2暗号文ブロックの処理
の際に生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない、第3融合鍵デ
ータを生成して部分鍵生成部204に渡し、第3融合鍵
データを新たな鍵データとして鍵データを更新する(ス
テップS1701:3回目)。
(23) In step S1701, here, 6 generated at the time of processing the second ciphertext block.
The 4-bit concatenation block and the 64-bit key data generated during the processing of the second ciphertext block are subjected to exclusive OR operation for each corresponding bit to generate third fused key data. To the partial key generation unit 204, and the key data is updated with the third fusion key data as new key data (step S1701: third time).

【0554】(24)〜(34)実施の形態1と同様で
ある(ステップS204〜ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
(24) to (34) The same as the first embodiment (steps S204 to S210: third time,
Step S201: Fourth time, steps S211 to S213).

【0555】実施の形態10の暗号処理装置は、前のブ
ロックに暗号処理に施した過程において生成された中間
ブロック及び融合鍵ブロックを連鎖ブロック及び鍵ブロ
ックとして記憶しておき、後の暗号処理の際に連鎖ブロ
ックを鍵ブロックに融合し、暗号処理を施す度にその連
鎖ブロックと鍵ブロックとを更新するものである。
The cryptographic processing apparatus according to the tenth embodiment stores the intermediate block and the fusion key block generated in the process of performing the cryptographic processing on the previous block as a chain block and a key block, and stores them in the subsequent cryptographic processing. At this time, the chain block is fused with the key block, and the chain block and the key block are updated every time the encryption process is performed.

【0556】なお、上記実施の形態10では、実施の形
態1のデータ暗号化装置10に鍵データ記憶部110を
付加し、実施の形態1のデータ復号化装置20に鍵デー
タ記憶部210を付加したが、他の実施の形態2〜9に
同様に鍵データ記憶部110と鍵データ記憶部210を
付加するものであってもよい。 (実施の形態11)本発明の実施の形態11は、実施の
形態1に、さらに、記憶する連鎖ブロックに基づいて、
出力ブロック、被暗号処理ブロック及び中間ブロック等
の中から1個のブロックを選択する機能を追加したもの
である。
In the tenth embodiment, the key data storage unit 110 is added to the data encryption device 10 of the first embodiment, and the key data storage unit 210 is added to the data decryption device 20 of the first embodiment. However, the key data storage unit 110 and the key data storage unit 210 may be added similarly to the other embodiments 2 to 9. (Embodiment 11) The eleventh embodiment of the present invention is based on the first embodiment and further based on the chain block to be stored.
The function of selecting one block from the output block, the block to be encrypted, the intermediate block and the like is added.

【0557】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, its explanation is omitted.

【0558】(データ暗号化装置10の構成)図44
は、本発明の実施の形態11における図1に示すデータ
暗号化装置10の詳細な構成を示す図である。
(Structure of Data Encryption Device 10) FIG.
FIG. 23 is a diagram showing a detailed configuration of the data encryption device 10 shown in FIG. 1 in Embodiment 11 of the present invention.

【0559】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data encryption device 10 shown in FIG. 2 according to the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0560】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及びブロック選択部111で構成される。
This data encryption device 10 includes a block division unit 101, a block storage unit 102, and a key data fusion unit 1.
03, partial key generation unit 104, first to eighth encryption unit 105a
.About.105h, a fraction data processing unit 106, a block combining unit 107, and a block selecting unit 111.

【0561】図50に示す従来の暗号化装置30と図4
4に示す本発明の実施の形態11におけるデータ暗号化
装置10との関係は、実施の形態1と同様であり、さら
に、ブロック選択部111が付加されている。
The conventional encryption device 30 shown in FIG. 50 and FIG.
The relationship with the data encryption device 10 according to the eleventh embodiment of the present invention shown in FIG. 4 is similar to that of the first embodiment, and a block selection unit 111 is further added.

【0562】ブロック選択部111は、ブロック記憶部
102に記憶された連鎖ブロックに基づいて、平文ブロ
ック、各中間ブロック及び暗号文ブロックの中から1個
のブロックを選択し、ブロック記憶部102に渡す。具
体的には、例えば、ブロック記憶部102に記憶された
連鎖ブロックの下位3ビットが「001」の場合には第
1中間ブロックを選択し、同様に、「010」〜「11
1」の場合には第2中間ブロック〜第7中間ブロックを
選択する。また、連鎖ブロックの下位3ビットが「00
0」の場合であって、下位4ビット目が「0」の時には
平文ブロックを選択し、下位4ビット目が「1」の時に
は暗号文ブロックを選択する。
The block selection unit 111 selects one block from the plaintext block, each intermediate block, and the ciphertext block based on the chain block stored in the block storage unit 102, and transfers it to the block storage unit 102. . Specifically, for example, when the lower 3 bits of the chain block stored in the block storage unit 102 is “001”, the first intermediate block is selected, and similarly, “010” to “11” are selected.
In the case of "1", the second to seventh intermediate blocks are selected. Also, the lower 3 bits of the chain block are "00".
In the case of "0", the plaintext block is selected when the lower 4th bit is "0", and the ciphertext block is selected when the lower 4th bit is "1".

【0563】ブロック記憶部102は、ブロック選択部
111に選択されたブロックを、新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この初期値IVの下位4ビ
ットに基づいて選択されたブロックを新たな連鎖ブロッ
クとして更新する。次に、第1平文ブロックの処理の際
に更新した連鎖ブロックが第2平文ブロックを処理する
際に用いられ、この連鎖ブロックの下位4ビットに基づ
いて選択されたブロックを新たな連鎖ブロックとして更
新する。次に、第2平文ブロックの処理の際に更新した
連鎖ブロックが第3平文ブロックを処理する際に用いら
れ、この連鎖ブロックの下位4ビットに基づいて選択さ
れたブロックを新たな連鎖ブロックとして更新する。最
後に、第3平文ブロックの処理の際に更新した連鎖ブロ
ックが端数平文データを処理する際に用いられる。
The block storage unit 102 uses the block selected by the block selection unit 111 when updating the chain block stored as a new chain block and processing the next block. Here, an initial value IV of 64 bits is stored in advance, this initial value IV is used when processing the first plaintext block, and a block selected based on the lower 4 bits of this initial value IV is newly chained. Update as a block. Next, the chain block updated when processing the first plaintext block is used when processing the second plaintext block, and the block selected based on the lower 4 bits of this chain block is updated as a new chain block. To do. Next, the chain block updated when processing the second plaintext block is used when processing the third plaintext block, and the block selected based on the lower 4 bits of this chain block is updated as a new chain block. To do. Finally, the chain block updated when processing the third plaintext block is used when processing the fractional plaintext data.

【0564】(データ復号化装置20の構成)図45
は、本発明の実施の形態11における図1に示すデータ
復号化装置20の詳細な構成を示す図である。
(Structure of Data Decoding Device 20) FIG.
FIG. 27 is a diagram showing a detailed configuration of the data decoding device 20 shown in FIG. 1 in Embodiment 11 of the present invention.

【0565】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
The same components as those of the data decoding apparatus 20 shown in FIG. 7 in the first embodiment are designated by the same reference numerals,
Descriptions of components having the same function are omitted.

【0566】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック選択部211で構成される。
This data decryption apparatus 20 is comprised of a block division unit 201, a block storage unit 202, and a key data fusion unit 2
03, partial key generation unit 204, first to eighth decryption unit 205a
.About.205h, a fraction data processing unit 206, a block combination unit 207, and a block selection unit 211.

【0567】ブロック選択部211は、ブロック記憶部
202に記憶された連鎖ブロックに基づいて、暗号文ブ
ロック、各中間ブロック及び平文ブロックの中から1個
のブロックを選択し、ブロック記憶部202に渡す。具
体的には、例えば、ブロック記憶部202に記憶された
連鎖ブロックの下位3ビットが「001」の場合には第
1中間ブロックを選択し、同様に、「010」〜「11
1」の場合には第2中間ブロック〜第7中間ブロックを
選択する。また、連鎖ブロックの下位3ビットが「00
0」の場合であって、下位4ビット目が「0」の時には
平文ブロックを選択し、下位4ビット目が「1」の時に
は暗号文ブロックを選択する。
The block selection unit 211 selects one block from the ciphertext block, each intermediate block, and the plaintext block based on the chain block stored in the block storage unit 202, and transfers it to the block storage unit 202. . Specifically, for example, when the lower 3 bits of the chain block stored in the block storage unit 202 are “001”, the first intermediate block is selected, and similarly, “010” to “11” are selected.
In the case of "1", the second to seventh intermediate blocks are selected. Also, the lower 3 bits of the chain block are "00".
In the case of "0", the plaintext block is selected when the lower 4th bit is "0", and the ciphertext block is selected when the lower 4th bit is "1".

【0568】ブロック記憶部202は、ブロック選択部
211に選択されたブロックを、新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、この初期値IVの下位4
ビットに基づいて選択されたブロックを新たな連鎖ブロ
ックとして更新する。次に、第1暗号文ブロックの処理
の際に更新した連鎖ブロックが第2暗号文ブロックを処
理する際に用いられ、この連鎖ブロックの下位4ビット
に基づいて選択されたブロックを新たな連鎖ブロックと
して更新する。次に、第2暗号文ブロックの処理の際に
更新した連鎖ブロックが第3暗号文ブロックを処理する
際に用いられ、この連鎖ブロックの下位4ビットに基づ
いて選択されたブロックを新たな連鎖ブロックとして更
新する。最後に、第3暗号文ブロックの処理の際に更新
した連鎖ブロックが端数暗号文データを処理する際に用
いられる。
The block storage unit 202 uses the block selected by the block selection unit 211 to update the chain block stored as a new chain block and process the next block. Here, a 64-bit initial value IV is stored in advance, and this initial value IV is used when processing the first ciphertext block.
The block selected based on the bits is updated as a new chain block. Next, the chain block updated at the time of processing the first ciphertext block is used when processing the second ciphertext block, and the block selected based on the lower 4 bits of this chain block is used as a new chain block. To update as. Next, the chain block updated at the time of processing the second ciphertext block is used at the time of processing the third ciphertext block, and the block selected based on the lower 4 bits of this chain block is used as a new chain block. To update as. Finally, the chain block updated when processing the third ciphertext block is used when processing the fraction ciphertext data.

【0569】<動作> (データ暗号化装置10の動作)図46は、本発明の実
施の形態11のデータ暗号化装置10における暗号化処
理の流れを示す図である。
<Operation> (Operation of Data Encryption Apparatus 10) FIG. 46 is a diagram showing a flow of encryption processing in the data encryption apparatus 10 according to the eleventh embodiment of the present invention.

【0570】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
The same steps as those of the operation of the data encryption device 10 shown in FIG. 9 in the first embodiment are designated by the same reference numerals, and the description thereof will be omitted.

【0571】(1)〜(8)実施の形態1の(1)〜
(6)、(8)〜(9)と同様である(ステップS10
1〜ステップS106、ステップS108、ステップS
109:1回目)。
(1) to (8) (1) to (8) of the first embodiment
The same as (6) and (8) to (9) (step S10).
1 to step S106, step S108, step S
109: 1st time).

【0572】(9)ブロック選択部111が、ブロック
記憶部102に記憶された連鎖ブロックに基づいて、平
文ブロック、各中間ブロック及び暗号文ブロックの中か
ら1個のブロックを選択し、ブロック記憶部102が、
選択されたブロックを新たな連鎖ブロックとして、記憶
している連鎖ブロックを更新する(ステップS180
1)。ここでは、例えば、ブロック記憶部102に記憶
された連鎖ブロックの初期値IVの下位3ビットが「0
11」であるとすると、第1平文ブロックに対応する第
3中間ブロックを選択し、選択された第3中間ブロック
を新たな連鎖ブロックとして連鎖ブロックを更新する
(ステップS1801:1回目)。
(9) The block selection unit 111 selects one block from the plaintext block, each intermediate block, and the ciphertext block based on the chain block stored in the block storage unit 102, and the block storage unit 102 is
The stored chain block is updated with the selected block as a new chain block (step S180).
1). Here, for example, the lower 3 bits of the initial value IV of the chain block stored in the block storage unit 102 are “0.
If it is “11”, the third intermediate block corresponding to the first plaintext block is selected, and the chain block is updated with the selected third intermediate block as a new chain block (step S1801: the first time).

【0573】(10)〜(18)実施の形態1と同様で
ある(ステップS110:1回目、ステップS101〜
ステップS106、ステップS108、ステップS10
9:2回目)。
(10) to (18) The same as the first embodiment (step S110: the first time, step S101 to step S101).
Step S106, Step S108, Step S10
9: 2nd time).

【0574】(19)ステップS1801において、こ
こでは、例えば、第1平文ブロックの処理の際に生成さ
れ選択された連鎖ブロックの下位4ビットが「000
0」であるとすると、第2平文ブロックを選択し、選択
された第2平文ブロックを新たな連鎖ブロックとして連
鎖ブロックを更新する(ステップS1801:2回
目)。
(19) In step S1801, here, for example, the lower 4 bits of the chain block generated and selected during the processing of the first plaintext block are "000."
If it is “0”, the second plaintext block is selected, and the chain block is updated with the selected second plaintext block as a new chain block (step S1801: second time).

【0575】(20)〜(28)実施の形態1と同様で
ある(ステップS110:2回目、ステップS101〜
ステップS106、ステップS108、ステップS10
9:3回目)。
(20)-(28) Same as the first embodiment (step S110: second time, step S101-).
Step S106, Step S108, Step S10
9: 3).

【0576】(29)ステップS1801において、こ
こでは、例えば、第2平文ブロックの処理の際に生成さ
れ選択された連鎖ブロックの下位4ビットが「100
0」であるとすると、第3暗号文ブロックを選択し、選
択された第3暗号文ブロックを新たな連鎖ブロックとし
て連鎖ブロックを更新する(ステップS1801:3回
目)。
(29) In step S1801, here, for example, the lower 4 bits of the chain block generated and selected during the processing of the second plaintext block are "100".
If it is “0”, the third ciphertext block is selected, and the chain block is updated with the selected third ciphertext block as a new chain block (step S1801: third time).

【0577】(30)〜(34)実施の形態1と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
(30)-(34) Same as the first embodiment (step S110: third time, step S101:
Fourth time, steps S111 to S113).

【0578】(データ復号化装置20の動作)図47
は、本発明の実施の形態11のデータ復号化装置20に
おける暗号化処理の流れを示す図である。
[Operation of Data Decoding Device 20] FIG.
FIG. 27 is a diagram showing a flow of encryption processing in the data decryption device 20 according to the eleventh embodiment of the present invention.

【0579】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
The operation of the data decryption apparatus 20 is an inverse conversion of the operation of the data encryption apparatus 10.

【0580】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
The steps common to the operation of data decoding apparatus 20 shown in FIG. 10 according to Embodiment 1 are assigned the same reference numerals and explanations thereof will be omitted.

【0581】(1)〜(8)実施の形態1の(1)〜
(6)、(8)〜(9)と同様である(ステップS20
1〜ステップS206、ステップS208、ステップS
209:1回目)。
(1) to (8) (1) to (8) of the first embodiment
The same as (6) and (8) to (9) (step S20).
1 to step S206, step S208, step S
209: 1st time).

【0582】(9)ブロック選択部211が、ブロック
記憶部202に記憶された連鎖ブロックに基づいて、暗
号文ブロック、各中間ブロック及び平文ブロックの中か
ら1個のブロックを選択し、ブロック記憶部202が、
選択されたブロックを新たな連鎖ブロックとして、記憶
している連鎖ブロックを更新する(ステップS190
1)。ここでは、例えば、ブロック記憶部202に記憶
された連鎖ブロックの初期値IVの下位3ビットが「0
11」であるとすると、第1暗号文ブロックに対応する
第3中間ブロックを選択し、選択された第3中間ブロッ
クを新たな連鎖ブロックとして連鎖ブロックを更新する
(ステップS1901:1回目)。
(9) The block selection unit 211 selects one block from the ciphertext block, each intermediate block, and the plaintext block based on the chain block stored in the block storage unit 202, and the block storage unit 202 is
The stored chain block is updated with the selected block as a new chain block (step S190).
1). Here, for example, the lower 3 bits of the initial value IV of the chain block stored in the block storage unit 202 are “0.
11 ”, the third intermediate block corresponding to the first ciphertext block is selected, and the chain block is updated with the selected third intermediate block as a new chain block (step S1901: first time).

【0583】(10)〜(18)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS206、ステップS208、ステップS20
9:2回目)。
(10) to (18) The same as the first embodiment (step S210: first time, step S201 to step S201).
Step S206, Step S208, Step S20
9: 2nd time).

【0584】(19)ステップS1901において、こ
こでは、例えば、第1暗号文ブロックの処理の際に生成
され選択された連鎖ブロックの下位4ビットが「000
0」であるとすると、第2平文ブロックを選択し、選択
された第2平文ブロックを新たな連鎖ブロックとして連
鎖ブロックを更新する(ステップS1901:2回
目)。
(19) In step S1901, here, for example, the lower 4 bits of the chain block generated and selected at the time of processing the first ciphertext block are “000”.
If it is “0”, the second plaintext block is selected, and the chain block is updated with the selected second plaintext block as a new chain block (step S1901: second time).

【0585】(20)〜(28)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS206、ステップS208、ステップS20
9:3回目)。
(20)-(28) Same as the first embodiment (step S210: second time, step S201-).
Step S206, Step S208, Step S20
9: 3).

【0586】(29)ステップS1901において、こ
こでは、例えば、第2暗号文ブロックの処理の際に生成
され選択された連鎖ブロックの下位4ビットが「100
0」であるとすると、第3暗号文ブロックを選択し、選
択された第3暗号文ブロックを新たな連鎖ブロックとし
て連鎖ブロックを更新する(ステップS1901:3回
目)。
(29) In step S1901, here, for example, the lower 4 bits of the chain block generated and selected at the time of processing the second ciphertext block are "100".
If it is “0”, the third ciphertext block is selected, and the chain block is updated with the selected third ciphertext block as a new chain block (step S1901: third time).

【0587】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
(30)-(34) Same as the first embodiment (step S210: third time, step S201:
Fourth time, steps S211 to S213).

【0588】実施の形態11の暗号処理装置は、前のブ
ロックに暗号処理に施した過程において生成された中間
ブロック等を連鎖ブロックとして記憶しておき、後の暗
号処理の際に鍵データに融合し、暗号処理を施す度にそ
の連鎖ブロックに基づいて複数の中間ブロック等から1
個のブロックを選択してその連鎖ブロックを更新するも
のである。
The cryptographic processing apparatus according to the eleventh embodiment stores intermediate blocks and the like generated in the process of performing the cryptographic processing on the previous block as chained blocks, and merges them with key data at the time of subsequent cryptographic processing. Then, each time the cryptographic processing is performed, 1 is selected from a plurality of intermediate blocks based on the chain block
This block selects one block and updates the chain block.

【0589】なお、上記実施の形態11では、実施の形
態1のデータ暗号化装置10にブロック選択部111を
付加し、実施の形態1のデータ復号化装置20にブロッ
ク選択部211を付加したが、他の実施の形態2〜10
に同様にブロック選択部111とブロック選択部211
を付加するものであってもよい。 (実施の形態12)本発明の実施の形態12は、実施の
形態1のデータ暗号化装置10における端数データ処理
部106が行なう端数データの処理を変更したものであ
る。
In the eleventh embodiment, the block selecting unit 111 is added to the data encryption device 10 of the first embodiment, and the block selecting unit 211 is added to the data decrypting device 20 of the first embodiment. Other Embodiments 2 to 10
Similarly, the block selection unit 111 and the block selection unit 211
May be added. (Embodiment 12) Embodiment 12 of the present invention is a modification of the processing of the fraction data performed by the fraction data processing unit 106 in the data encryption device 10 of the first embodiment.

【0590】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
<Structure> Since the structure of the cryptographic communication system is the same as that of the first embodiment, the description thereof is omitted.

【0591】(データ暗号化装置10の構成)このデー
タ暗号化装置10の構成は、実施の形態1の構成と同様
である。
(Structure of Data Encryption Device 10) The structure of this data encryption device 10 is the same as that of the first embodiment.

【0592】実施の形態1における図2に示すデータ暗
号化装置10と同一の機能を有する構成部分の説明は省
略する。
Descriptions of components having the same functions as those of the data encryption device 10 shown in FIG. 2 in the first embodiment will be omitted.

【0593】図48は、本発明の実施の形態12におけ
る端数データ処理部106の詳細な構成を示す図であ
る。
FIG. 48 is a diagram showing a detailed structure of the fraction data processing unit 106 according to the twelfth embodiment of the present invention.

【0594】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取ると、第1〜8暗
号化部105a〜105hに直前に処理した暗号文ブロ
ックを渡して暗号化させる等して、ブロック記憶部10
2に記憶された連鎖ブロックに基づいて、直前に処理し
た暗号文ブロックに暗号処理を施させて端数データ処理
用ブロックを生成し、これに基づいて、端数平文データ
から端数平文データと同じビット数の端数暗号文データ
を生成するものであり、データ整合部106a、端数デ
ータ融合部106b及び暗号文ブロック記憶部106c
を含む。
When the fractional data processing unit 106 receives the fractional plaintext data from the block dividing unit 101, the fractional data plaintext data is passed to the first to eighth encryption units 105a to 105h for encryption, and encrypted. Block storage unit 10
Based on the chain block stored in 2, the ciphertext block processed immediately before is subjected to cryptographic processing to generate a fraction data processing block, and based on this, the same number of bits as the fraction plaintext data to the fraction plaintext data. Is used to generate the fraction ciphertext data, and the data matching unit 106a, the fraction data fusion unit 106b, and the ciphertext block storage unit 106c.
including.

【0595】暗号文ブロック記憶部106cは、端数デ
ータの処理の直前に処理した暗号文ブロックを記憶し、
端数データに処理を施す際に、記憶している暗号文ブロ
ックを第1〜8暗号化部105a〜105hに渡す。こ
こでは、第3暗号文ブロックを記憶し、端数平文データ
に処理を施す際に、記憶している第3暗号文ブロックを
第1〜8暗号化部105a〜105hに渡す。
The ciphertext block storage unit 106c stores the ciphertext block processed immediately before the processing of the fraction data,
When processing the fractional data, the stored ciphertext block is passed to the first to eighth encryption units 105a to 105h. Here, the third ciphertext block is stored, and when the fraction plaintext data is processed, the stored third ciphertext block is passed to the first to eighth encryption units 105a to 105h.

【0596】ここで、第1〜8暗号化部105a〜10
5hは、実施の形態1と同様の暗号処理を施すことによ
り、暗号文ブロック記憶部106cより渡された暗号文
ブロックから端数データ処理用ブロックを生成する。こ
こでは、第3暗号文ブロックから端数データ処理用ブロ
ックを生成する。
Here, the first to eighth encryption units 105a to 105
5h generates the fraction data processing block from the ciphertext block passed from the ciphertext block storage unit 106c by performing the same cryptographic processing as that of the first embodiment. Here, a fraction data processing block is generated from the third ciphertext block.

【0597】データ整合部106aは、暗号処理を施し
て生成された端数データ処理用ブロックから、端数平文
データと同じビット数の整合データを生成する。ここで
は、端数平文データが8ビットなので、端数データ処理
用ブロックの、例えば上位8ビットで構成される整合デ
ータを生成する。
The data matching unit 106a generates matching data having the same number of bits as the fractional plaintext data from the fractional data processing block generated by performing the cryptographic processing. Here, since the fractional plaintext data is 8 bits, matching data composed of, for example, the upper 8 bits of the fractional data processing block is generated.

【0598】端数データ融合部106bは、整合データ
を端数平文データに融合する。ここでは、8ビットの整
合データと8ビットの端数平文データとを、対応するビ
ット毎に排他的論理和の演算を行ない、8ビットの端数
暗号文データを生成する。
The fraction data merging unit 106b merges the matching data with the fraction plaintext data. Here, the 8-bit matched data and the 8-bit fractional plaintext data are subjected to an exclusive OR operation for each corresponding bit to generate 8-bit fractional ciphertext data.

【0599】<動作> (データ暗号化装置10の動作)このデータ暗号化装置
10の動作は、図9に示す実施の形態1のデータ暗号化
装置10の動作と同様である。
<Operation> (Operation of Data Encryption Device 10) The operation of this data encryption device 10 is the same as the operation of the data encryption device 10 of the first embodiment shown in FIG.

【0600】図49は、本発明の実施の形態12のデー
タ暗号化装置10における端数データ処理の流れを示す
図である。
FIG. 49 is a diagram showing a flow of fraction data processing in the data encryption device 10 according to the twelfth embodiment of the present invention.

【0601】ここでは、一例として、200ビットの平
文データを入手し、ブロック記憶部102には予め初期
値IVが記憶され、既に、第1〜3平文ブロックの暗号
化が終了し、第3暗号文ブロックが暗号文ブロック記憶
部106cに記憶されたものとし、残りの8ビットが端
数平文データとしてブロック分割部101から端数デー
タ処理部106へ渡されたものとして、DESのアルゴ
リズムに準じて説明する。
Here, as an example, 200-bit plaintext data is acquired, the initial value IV is stored in advance in the block storage unit 102, encryption of the first to third plaintext blocks has already been completed, and the third encryption is performed. It is assumed that the text block is stored in the ciphertext block storage unit 106c, and the remaining 8 bits are passed as fractional plaintext data from the block division unit 101 to the fractional data processing unit 106 according to the DES algorithm. .

【0602】(1)鍵データ融合部103が、ブロック
記憶部102に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS200
1)。ここでは、第3平文ブロックの処理の際に生成さ
れた連鎖ブロックと64ビットの鍵データとを、対応す
るビット毎に排他的論理和の演算を行ない、融合鍵デー
タを生成して部分鍵生成部104に渡す。
(1) The key data fusion unit 103 fuses the chain block stored in the block storage unit 102 with the key data to generate fusion key data (step S200).
1). Here, the chained block generated at the time of processing the third plaintext block and the 64-bit key data are subjected to an exclusive OR operation for each corresponding bit to generate fused key data to generate a partial key. Hand it over to section 104.

【0603】(2)部分鍵生成部104が、融合鍵デー
タから暗号化部の数に相当する数の部分鍵を生成する
(ステップS2002)。ここでは、64ビットの融合
鍵データから48ビットの部分鍵を8個生成する。
(2) The partial key generation unit 104 generates as many partial keys as the number of encryption units from the fusion key data (step S2002). Here, eight 48-bit partial keys are generated from the 64-bit fusion key data.

【0604】(3)第1暗号化部105aが、第1の部
分鍵に基づいて、暗号文ブロック記憶部106cに記憶
された直前に処理した暗号文ブロックから第1中間ブロ
ックを生成する(ステップS2003)。ここでは、第
3暗号文ブロックから第1中間ブロックを生成する。
(3) The first encryption unit 105a generates a first intermediate block from the immediately-processed ciphertext block stored in the ciphertext block storage unit 106c based on the first partial key (step). S2003). Here, the first intermediate block is generated from the third ciphertext block.

【0605】(4)第2〜7暗号化部105b〜105
gが、それぞれ第2〜7の部分鍵に基づいて、第1〜6
中間ブロックから第2〜7中間ブロックを生成する(ス
テップS2004)。ここでは、第3暗号文ブロックに
対応する第1〜6中間ブロックから第2〜7中間ブロッ
クを生成する。
(4) Second to seventh encryption units 105b to 105
g is the first to the sixth based on the second to the seventh partial keys, respectively.
Second to seventh intermediate blocks are generated from the intermediate blocks (step S2004). Here, second to seventh intermediate blocks are generated from the first to sixth intermediate blocks corresponding to the third ciphertext block.

【0606】(5)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから端数データ処理
用ブロックを生成する(ステップS2005)。ここで
は、第3暗号文ブロックに対応する第7中間ブロックか
ら端数データ処理用ブロックを生成する。
(5) The eighth encryption unit 105h generates a fraction data processing block from the seventh intermediate block based on the eighth partial key (step S2005). Here, the fraction data processing block is generated from the seventh intermediate block corresponding to the third ciphertext block.

【0607】(6)データ整合部106aが、暗号処理
を施して生成された端数データ処理用ブロックから、端
数平文データと同じビット数の整合データを生成する
(ステップS2006)。ここでは、端数平文データが
8ビットなので、端数データ処理用ブロックの、例えば
上位8ビットで構成される整合データを生成する。
(6) The data matching unit 106a generates matching data having the same number of bits as the fractional plaintext data from the fractional data processing block generated by performing the encryption processing (step S2006). Here, since the fractional plaintext data is 8 bits, matching data composed of, for example, the upper 8 bits of the fractional data processing block is generated.

【0608】(7)端数データ融合部106bが、整合
データを端数平文データに融合する(ステップS200
7)。ここでは、8ビットの整合データと8ビットの端
数平文データとを、対応するビット毎に排他的論理和の
演算を行ない、8ビットの端数暗号文データを生成す
る。
(7) The fraction data merging unit 106b merges the matching data with the fraction plaintext data (step S200).
7). Here, the 8-bit matched data and the 8-bit fractional plaintext data are subjected to an exclusive OR operation for each corresponding bit to generate 8-bit fractional ciphertext data.

【0609】(8)ブロック結合部107が、第8暗号
化部105hが生成した各暗号文ブロック及び端数デー
タ処理部106が生成した端数暗号文データを結合して
暗号文データを生成する(ステップS2008)。ここ
では、第1〜3平文ブロックにそれぞれ対応する各暗号
文ブロック及び端数暗号文データを結合して200ビッ
トの暗号文データを生成する。
(8) The block combining unit 107 combines each ciphertext block generated by the eighth encryption unit 105h and the fraction ciphertext data generated by the fraction data processing unit 106 to generate ciphertext data (step). S2008). Here, the ciphertext blocks and the fraction ciphertext data respectively corresponding to the first to third plaintext blocks are combined to generate 200-bit ciphertext data.

【0610】なお、データ暗号化装置10における端数
データ処理部106が行なう端数データの処理の変更に
ともない、データ復号化装置20における端数データ処
理部206が行なう端数データの処理も変更となる。そ
の変更内容は、連鎖ブロックに基づいて、前の暗号文ブ
ロックを新たな入力ブロックとして暗号化させることに
より端数データ処理用ブロックを生成させ、これに基づ
いて、端数平文データから端数平文データと同じビット
数の端数暗号文データを生成するものであり、端数デー
タ処理部106と同様の変更であるので、その説明を省
略する。
Note that as the processing of the fraction data performed by the fraction data processing unit 106 in the data encryption apparatus 10 changes, the processing of the fraction data performed by the fraction data processing unit 206 in the data decryption apparatus 20 also changes. The contents of the change are that the previous ciphertext block is encrypted as a new input block based on the chain block to generate the fraction data processing block, and based on this, the same as the fraction plaintext data to the fraction plaintext data. This is for generating the fraction ciphertext data of the number of bits, and since the modification is similar to that of the fraction data processing unit 106, the description thereof is omitted.

【0611】また、上記実施の形態12では、実施の形
態1の端数データ処理部106が行なう端数データの処
理及び端数データ処理部206が行なう端数データの処
理を変更したが、他の実施の形態2〜11に同様に端数
データの処理を変更してもよい。
Further, in the twelfth embodiment, the processing of the fraction data performed by the fraction data processing unit 106 and the processing of the fraction data performed by the fraction data processing unit 206 of the first embodiment are changed, but the other embodiments are different. The processing of the fraction data may be changed to 2 to 11 in the same manner.

【0612】また、本来のDESのアルゴリズムは、各
暗号処理部による暗号化処理に先立って初期転置を行な
い、16段の暗号化処理を経た後に最終転置を行なう
が、上記各実施の形態では説明の簡略化の為に、初期転
置、最終転置及び9段以降の暗号処理部を省略した。
Also, the original DES algorithm performs initial transposition prior to the encryption processing by each encryption processing unit, and performs final transposition after 16-stage encryption processing. For simplification, the initial transposition, the final transposition, and the cryptographic processing units of the 9th and subsequent stages are omitted.

【0613】また、上記各実施の形態のアルゴリズム
は、DESのアルゴリズムに限られるものではなく、ど
のようなアルゴリズムであってもよい。勿論、暗号処理
部の段数も8段に限られるものではなく、何段であって
もよい。
The algorithm of each of the above embodiments is not limited to the DES algorithm, and any algorithm may be used. Of course, the number of stages of the cryptographic processing unit is not limited to eight and may be any number.

【0614】また、上記各実施の形態では、主に4段目
の出力を新たな連鎖ブロックとしたが、勿論、これは4
段目の出力に限られるものではなく、何段目の出力であ
ってもよい。
Also, in each of the above embodiments, the output of the fourth stage is mainly a new chain block, but of course, this is 4
The output is not limited to the output of the stage, and the output of any stage may be used.

【0615】また、上記各実施の形態では、連鎖ブロッ
クと鍵データのビット数が同じである場合について説明
したが、必ずしもこれは同じでなくてよい。なお、連鎖
ブロック等と鍵データを融合する各実施の形態におい
て、連鎖ブロックと鍵データのビット数が違っている場
合には、鍵データに融合すべきブロックから鍵データと
同じビット数のデータを生成して、これを鍵データに融
合する。例えばここでは、鍵データのビット数が64ビ
ットよりも大きい場合は、鍵データに融合すべきブロッ
クを拡大転置等のよって鍵データと同じビット数のデー
タを生成し、鍵データのビット数が64ビットよりも小
さい場合は、鍵データのビット数分の上位ビットで構成
されるデータを生成し、これを鍵データに融合する。
Also, although cases have been described with the above embodiments where the chain block and the key data have the same number of bits, this does not necessarily have to be the same. In each of the embodiments in which a chain block and key data are merged, if the number of bits in the chain block and the key data is different, data having the same number of bits as the key data is merged from the block to be merged into the key data. Generate and fuse this with key data. For example, here, when the number of bits of the key data is larger than 64 bits, a block to be merged with the key data is generated by transposing the data to generate data having the same number of bits as the key data and the number of bits of the key data is 64. If the number of bits is smaller than the number of bits, data composed of upper bits corresponding to the number of bits of the key data is generated, and this is fused with the key data.

【0616】また、上記各実施の形態はデータ暗号化装
置10で平文データを入力して暗号化し、データ復号化
装置20で暗号文データを復号化するものであるが、デ
ータ暗号化装置10における暗号化とデータ復号化装置
20における復号化とは逆変換の関係にあるので、それ
ぞれ暗号化装置にも復号化装置にも成り得る。よって、
上記各実施の形態において、上記各データ復号化装置2
0が平文データを入力して暗号化し、上記各データ暗号
化装置10が暗号文データを復号化するものであっても
よい。
In each of the above embodiments, the plaintext data is input and encrypted by the data encryption device 10, and the ciphertext data is decrypted by the data decryption device 20. Since the encryption and the decryption in the data decryption device 20 have an inverse conversion relationship, they can be both an encryption device and a decryption device. Therefore,
In each of the above embodiments, each of the data decoding devices 2
0 may input and encrypt the plaintext data, and each of the data encryption devices 10 may decrypt the ciphertext data.

【0617】[0617]

【発明の効果】本発明に係る暗号処理装置は、入力デー
タに基づいて暗号処理を施して出力データを生成する暗
号処理装置であって、前のデータの影響を後のデータに
及ぼす為に用いる連鎖データを記憶し暗号処理を施す毎
にその連鎖データを更新する記憶手段と、記憶手段が記
憶する連鎖データを入力データに融合して融合データを
生成する融合手段と、融合データに基づいて主暗号処理
を施して出力データを生成し出力データを生成するまで
の過程において生成される中間データを出力する主暗号
処理手段とを備え、記憶手段は主暗号処理手段が出力す
る中間データを新たな連鎖データとして自身が記憶する
連鎖データを更新し次の暗号処理に供させることを特徴
とする。
The cryptographic processing apparatus according to the present invention is a cryptographic processing apparatus that performs cryptographic processing on the basis of input data to generate output data, and is used to exert the influence of previous data on subsequent data. A storage unit that stores the chain data and updates the chain data each time the encryption process is performed, a fusion unit that fuses the chain data stored in the storage unit with the input data to generate the fusion data, and a main unit based on the fusion data. And a main cryptographic processing unit that outputs intermediate data generated in the process of generating output data by performing cryptographic processing and generating the output data, and the storage unit newly stores the intermediate data output by the main cryptographic processing unit. It is characterized in that the chain data stored by itself as the chain data is updated and used for the next encryption processing.

【0618】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent cryptographic process, and the cryptographic process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0619】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0620】また、前記主暗号処理手段は複数段の部分
処理を施し、複数段の部分処理とは部分処理の段階が複
数あり1段目で部分処理を施したデータに2段目で更に
部分処理を施しこれを段数分行なうことをいい、最終段
で部分処理を施したデータが出力データとなり、最終段
以外の各段で部分処理を施して得られたデータが各中間
データとなり、前記記憶手段は主暗号処理手段が出力す
る各中間データの内の1個を新たな連鎖データとして記
憶することを特徴とすることもできる。
Further, the main encryption processing means carries out a plurality of stages of partial processing, and a plurality of stages of partial processing means that there are a plurality of stages of partial processing, and the data subjected to the partial processing at the first stage is further divided at the second stage. It means that processing is performed for the number of stages, the data that is partially processed at the final stage becomes the output data, the data obtained by performing the partial processing at each stage other than the final stage becomes each intermediate data, and the storage The means may be characterized in that one of the intermediate data output by the main cryptographic processing means is stored as new chained data.

【0621】これによって、どの中間データが新たな連
鎖データとなるかを暗号解読者が知ることができない。
As a result, the decryption person cannot know which intermediate data becomes the new chained data.

【0622】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus or the processing time.

【0623】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記鍵データに融合して融合鍵デー
タを生成し、前記暗号処理装置は、さらに、融合鍵デー
タから前記主暗号処理手段の段数分の部分鍵を生成し主
暗号処理手段の各段階に給送しそれぞれの部分処理に供
させる部分鍵生成手段を備え、前記主暗号処理手段は段
数分の部分鍵により特定される複数段の部分処理を施し
被暗号処理データから出力データを生成することを特徴
とすることもできる。
Further, the input data includes key data and data to be encrypted, and the fusing means fuses the chained data stored in the storage means with the key data to generate fused key data. The apparatus further comprises partial key generation means for generating partial keys corresponding to the number of stages of the main cryptographic processing means from the fusion key data and sending the partial keys to respective stages of the main cryptographic processing means for use in respective partial processing. The encryption processing means may be characterized by performing a plurality of steps of partial processing specified by the partial keys for the number of steps and generating output data from the data to be encrypted.

【0624】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, merged with the key data in the subsequent cryptographic process, and the chained data is updated each time the cryptographic process is performed. , Each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, though the device scale and processing time are not increased so much. Decryption becomes difficult.

【0625】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
Further, the cryptographic processing device further divides the data to be encrypted into blocks each having a predetermined number of bits, and prepares one block of data to be encrypted in sequence for block preparation. And a fraction data processing means for generating output data having the same length as the fraction data based on the chain data from the fraction data less than the block unit generated when the block preparation means divides the data to be encrypted into blocks. And the cryptographic processing device may perform cryptographic processing in block units.

【0626】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
As a result, output data having the same length as the fraction data can be generated from the fraction data.
All input data and all output data have the same length.

【0627】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, since the data length does not change even if the encryption process is performed, the data is easy to handle.

【0628】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
Also, the fraction data processing means merges the fraction concatenation data with the fraction data to generate fraction concatenation data having the same length as the fraction data from the concatenation data and merges the fraction concatenation data with the fraction data to obtain the same fraction data. It is also possible to include a fractional data fusion means for generating output data of length.

【0629】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
As a result, since the fractional chain data having the same length as the fractional data can be generated from the chained data, the fractional chain data can be fused with the fractional data.

【0630】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, the data length does not change even if the encryption process is performed, and the data is easy to handle.

【0631】また、前記端数データ処理手段は、前記主
暗号処理手段により暗号処理を施されたブロックを記憶
し前記端数データが生じた際に記憶しているブロックを
新たな被暗号処理データとして前記主暗号処理手段に渡
すブロック記憶手段を含み、前記主暗号処理手段はブロ
ック記憶手段より渡されたブロックから出力データを生
成しこれを端数データ処理用ブロックとして端数データ
処理手段へ渡し、前記端数データ処理手段は、さらに、
端数データ処理用ブロックから前記端数データと同じ長
さの整合データを生成するデータ整合手段と、整合デー
タを端数データに融合してその端数データと同じ長さの
出力データを生成する端数データ融合手段とを含むこと
を特徴とすることもできる。
The fraction data processing means stores the block that has been encrypted by the main encryption processing means, and stores the block stored when the fraction data occurs as new encrypted data. The main cryptographic processing means includes block storage means for passing to the main cryptographic processing means, and the main cryptographic processing means generates output data from the block passed from the block storage means and passes it to the fractional data processing means as a fractional data processing block. The processing means further includes
Data matching means for generating matching data of the same length as the fractional data from the fractional data processing block, and fractional data fusing means for fusing the matching data to the fractional data to generate output data of the same length as the fractional data. It may be characterized by including and.

【0632】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。
As a result, the encryption process applied to the fractional data is comparable to the encryption process applied to each block.

【0633】従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
Therefore, the safety can be improved even though the data length does not change.

【0634】また、前記融合手段及び前記端数データ融
合手段における融合は対応するビット毎の排他的論理和
の計算であることを特徴とすることもできる。
The fusion in the fusion means and the fraction data fusion means may be a calculation of an exclusive OR for each corresponding bit.

【0635】これによって、同じデータ長同士にビット
毎の排他的論理和の計算を施して同じデータ長の結果が
得られ、また、暗号化と復号化とを同じ処理にすること
ができる。
As a result, the exclusive OR for each bit of the same data is calculated to obtain the result of the same data length, and the encryption and decryption can be performed in the same process.

【0636】また、前記記憶手段は予め連鎖データの初
期値を記憶し最初のブロックを処理する際に用い、前記
鍵データ、及び、連鎖データの初期値はある被暗号処理
データを暗号化する装置が用いるものとその暗号化する
装置の出力を受け取り復号化する装置が用いるものとが
同一であり、且つ、非公開であり、前記暗号化する装置
と前記復号化する装置とが同一の鍵データ、及び、同一
の連鎖データの初期値を用いる場合には前記復号化する
装置が施す暗号処理は常に前記暗号化する装置が施す暗
号処理の逆変換となることを特徴とすることもできる。
[0636] Further, the storage means stores the initial value of the chained data in advance and is used when processing the first block, and the key data and the initial value of the chained data are devices for encrypting certain encrypted data. The same key data used by the device and the device used by the device that receives and decrypts the output of the device for encryption, and is private, and the device for encryption and the device for decryption have the same key data. Further, when the same initial value of the chain data is used, the encryption process performed by the decryption device is always an inverse conversion of the encryption process performed by the encryption device.

【0637】これによって、最初のブロックを処理する
際に連鎖データの初期値を用いることができ、また、暗
号化と復号化とで同じ鍵データ、及び、連鎖データの初
期値を用いると復号化が暗号化の逆変換となるので、正
しい鍵データ、及び、連鎖データを持つものだけがデー
タを復号化できる。
With this, when the first block is processed, the initial value of the chain data can be used, and when the same key data for encryption and decryption and the initial value of the chain data are used, the decryption can be performed. Is an inverse conversion of encryption, so that only the one having correct key data and chain data can decrypt the data.

【0638】さらに、正しい鍵データ、及び、連鎖デー
タは非公開なので、鍵データだけが非公開の場合に比
べ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
Further, since the correct key data and the chain data are not disclosed, the decryption becomes difficult as compared with the case where only the key data is not disclosed, although the device scale and the processing time are not increased so much. .

【0639】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0640】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記記憶手
段が記憶する連鎖データを鍵データ記憶手段が記憶する
鍵データに融合し、鍵データ記憶手段は鍵データの初期
値を記憶し最初のデータを処理する際に用い融合鍵デー
タを新たな鍵データとして自身が記憶する鍵データを更
新し次の暗号処理に供させることを特徴とすることもで
きる。
Further, the cryptographic processing device further comprises key data storage means for storing the key data and updating the key data each time the cryptographic processing is performed, and the fusion means stores the chained data stored in the storage means. Key data stored in the key data storage means and used by the key data storage means to store the initial value of the key data and process the first data. Can be updated and subjected to the next cryptographic processing.

【0641】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
As a result, since the key data can be updated, decryption becomes more difficult than when the key data is not updated.

【0642】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus or the processing time.

【0643】また、前記記憶手段は自身が記憶する連鎖
データに基づいて前記主暗号処理手段が出力する各中間
データ、前記入力データ、前記融合データ及び前記出力
データの中から1個を選択し新たな連鎖データとして自
身が記憶する連鎖データを更新し次の暗号処理に供させ
ることを特徴とすることもできる。
Further, the storage means selects one from among the intermediate data, the input data, the fusion data and the output data output by the main cryptographic processing means based on the chained data stored therein, and newly selects the new data. It is also possible to update the chain data stored by itself as the new chain data and use it for the next encryption processing.

【0644】これによって、どのデータが新たな連鎖デ
ータとなるかが連鎖データに基づいて決まるので、固定
された中間データが新たな連鎖データとなる場合に比
べ、暗号解読が難しくなる。
As a result, which data becomes the new chained data is determined based on the chained data, so that it becomes more difficult to decipher as compared with the case where the fixed intermediate data becomes the new chained data.

【0645】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus or the processing time.

【0646】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記被暗号処理データに融合して融
合被暗号処理データを生成し、前記主暗号処理手段は鍵
データにより特定される主暗号処理を施し融合被暗号処
理データから出力データを生成することを特徴とするこ
ともできる。
Further, the input data includes key data and data to be encrypted, and the fusing means fuses the chained data stored in the storage means with the data to be encrypted to generate fused data to be encrypted. The main cipher processing means may perform the main cipher processing specified by the key data to generate output data from the fused cipher processed data.

【0647】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に被暗号処理データに融合し、暗号処理
を施す度にその連鎖データを更新するので、各出力デー
タは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, fused to the data to be encrypted in the subsequent cryptographic process, and the chained data is updated each time the cryptographic process is performed. Therefore, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device scale and processing time are not increased so much. Regardless, it becomes difficult to decipher.

【0648】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される主暗号処理を施し
て被暗号処理データから暗号処理データを生成し暗号処
理データを生成するまでの過程において生成される中間
データを出力する主暗号処理手段と、記憶手段が記憶す
る連鎖データを暗号処理データに融合して出力データを
生成する融合手段とを備え、記憶手段は主暗号処理手段
が出力する中間データを新たな連鎖データとして自身が
記憶する連鎖データを更新し次の暗号処理に供させるこ
とを特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data A storage unit that stores the chain data used to generate the data and updates the chain data every time the cryptographic process is performed, and a main cryptographic process specified by the key data to generate the cryptographic process data from the encrypted data and perform the cryptographic process. The storage means includes a main encryption processing means for outputting intermediate data generated in the process of generating data, and a fusion means for fusing the chained data stored in the storage means with the encryption processing data to generate output data. Is characterized in that the intermediate data output by the main cryptographic processing means is used as new chained data to update the chained data stored in the chained data and is used for the next cryptographic processing.

【0649】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理データに融合し、暗号処理を
施す度にその連鎖データを更新するので、各出力データ
は自身よりも前の全てのデータに依存することになり、
平文の統計的な特徴は各連鎖データによって攪乱され、
装置規模や処理時間等をさほど増大させていないにもか
かわらず暗号解読が難しくなる。また、暗号解読者は、
暗号文と平文のペアを入手することはできたとしても、
暗号処理に用いられた連鎖データを入手することは事実
上不可能であり、さらに、連鎖データを生成するアルゴ
リズムや連鎖データの初期値は非公開なので、「既知平
文攻撃」による暗号解読はさらに難しくなり、総当たり
による解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic processing is stored as chained data, merged with the cryptographically processed data in the subsequent cryptographic processing, and the chained data is updated each time the cryptographic processing is performed. Therefore, each output data depends on all the data before itself,
The statistical characteristics of plaintext are disturbed by each chain of data,
It is difficult to decipher even though the device scale and processing time have not been increased so much. Also, the cryptanalyst is
Even if I could get a pair of ciphertext and plaintext,
It is virtually impossible to obtain the chained data used for cryptographic processing, and the initial value of the chained data generation algorithm and chained data is not disclosed, so it is more difficult to decipher by the known plaintext attack. It is also difficult to decipher by brute force.

【0650】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0651】本発明に係る暗号処理装置は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理装置であって、前のデータの影響を後のデータに及
ぼす為に用いる連鎖データを記憶し暗号処理を施す毎に
その連鎖データを更新する記憶手段と、記憶手段が記憶
する連鎖データを入力データの全部又は一部に融合して
融合データを生成する融合手段と、融合データに基づい
て第1主暗号処理を施し中間データを生成する第1主暗
号処理手段と、融合データに基づいて第2主暗号処理を
施し出力データを生成する第2主暗号処理手段とを備
え、記憶手段は第1主暗号処理手段が生成した中間デー
タを新たな連鎖データとして自身が記憶する連鎖データ
を更新し次の暗号処理に供させることを特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing on the basis of input data to generate output data, and is a chained data used to exert the influence of previous data on subsequent data. Storing means for updating the chained data each time encryption processing is performed, fusion means for fusing the chained data stored in the storage means with all or part of the input data to generate fused data, and A first main cryptographic processing means for performing a first main cryptographic processing based on the fused data to generate intermediate data; and a second main cryptographic processing means for performing a second main cryptographic processing on the basis of the fused data to generate output data. The means is characterized in that the intermediate data generated by the first main cryptographic processing means is used as new chained data to update the chained data stored in itself and to be used for the next cryptographic processing.

【0652】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the encryption process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent encryption process, and the encryption process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0653】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0654】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記鍵データに融合して融合鍵デー
タを生成し、前記暗号処理装置は、さらに、融合鍵デー
タから前記第1主暗号処理手段及び第2主暗号処理手段
の部分鍵をそれぞれ生成しそれぞれの主暗号処理に供さ
せる部分鍵生成手段を備え、前記第1主暗号処理手段は
部分鍵により特定される第1主暗号処理を施して被暗号
処理データから中間データを生成し、前記第2主暗号処
理手段は部分鍵により特定される第2主暗号処理を施し
て被暗号処理データから出力データを生成することを特
徴とすることもできる。
Further, the input data includes key data and data to be encrypted, and the fusing means fuses the chained data stored in the storage means with the key data to generate fused key data. The apparatus further includes partial key generation means for generating partial keys of the first main cryptographic processing means and the second main cryptographic processing means from the fusion key data and using them for the respective main cryptographic processing. The processing means performs the first main encryption processing specified by the partial key to generate intermediate data from the data to be encrypted, and the second main encryption processing means performs the second main encryption processing specified by the partial key. The output data may be generated from the data to be encrypted.

【0655】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic processing is stored as chained data, merged with the key data in the subsequent cryptographic processing, and the chained data is updated each time the cryptographic processing is performed. , Each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, though the device scale and processing time are not increased so much. Decryption becomes difficult.

【0656】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
Further, the cryptographic processing apparatus further divides the data to be encrypted into blocks each having a predetermined number of bits, and prepares one block of data to be encrypted in order to be processed next in block preparation. And a fraction data processing means for generating output data having the same length as the fraction data based on the chain data from the fraction data less than the block unit generated when the block preparation means divides the data to be encrypted into blocks. And the cryptographic processing device may perform cryptographic processing in block units.

【0657】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
As a result, since output data having the same length as the fraction data can be generated from the fraction data,
All input data and all output data have the same length.

【0658】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, since the data length does not change even if the encryption process is performed, the data is easy to handle.

【0659】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
Also, the fraction data processing means merges the fraction concatenation data with the fraction data to generate fraction concatenation data having the same length as the fraction data from the concatenation data, and merges the fraction concatenation data with the fraction data to obtain the same fraction data. It is also possible to include a fractional data fusion means for generating output data of length.

【0660】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
As a result, since the fractional chain data having the same length as the fractional data can be generated from the chained data, the fractional chain data can be fused with the fractional data.

【0661】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, since the data length does not change even if the encryption process is performed, it is easy to handle the data.

【0662】また、前記端数データ処理手段は、前記第
2主暗号処理手段により暗号処理を施されたブロックを
記憶し前記端数データが生じた際に記憶しているブロッ
クを新たな被暗号処理データとして前記第2主暗号処理
手段に渡すブロック記憶手段を含み、前記第2主暗号処
理手段はブロック記憶手段より渡されたブロックから出
力データを生成しこれを端数データ処理用ブロックとし
て端数データ処理手段へ渡し、前記端数データ処理手段
は、さらに、端数データ処理用ブロックから前記端数デ
ータと同じ長さの整合データを生成するデータ整合手段
と、整合データを端数データに融合してその端数データ
と同じ長さの出力データを生成する端数データ融合手段
とを含むことを特徴とすることもできる。
Also, the fraction data processing means stores the block that has been subjected to the encryption processing by the second main encryption processing means, and stores the block stored when the fraction data has been generated as new encrypted data. As block data processing means for generating output data from the block transferred from the block storage means and using this as a fraction data processing block. The fraction data processing means further generates data matching means for generating matching data having the same length as the fraction data from the fraction data processing block, and merges the matching data with the fraction data to obtain the same fraction data. It is also possible to include a fractional data fusion means for generating output data of length.

【0663】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。
As a result, the cryptographic process applied to the fractional data is comparable to the cryptographic process applied to each block.

【0664】従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
Therefore, the security can be improved even though the data length does not change.

【0665】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記記憶手
段が記憶する連鎖データを鍵データ記憶手段が記憶する
鍵データに融合し、鍵データ記憶手段は鍵データの初期
値を記憶し最初のデータを処理する際に用い融合鍵デー
タを新たな鍵データとして自身が記憶する鍵データを更
新し次の暗号処理に供させることを特徴とすることもで
きる。
Further, the cryptographic processing device further comprises key data storage means for storing the key data and updating the key data each time the cryptographic processing is performed, and the fusion means stores the chain data stored in the storage means. Key data stored in the key data storage means and used by the key data storage means to store the initial value of the key data and process the first data. Can be updated and subjected to the next cryptographic processing.

【0666】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
Since this makes it possible to update the key data, it becomes more difficult to decipher as compared with the case where the key data is not updated.

【0667】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus, the processing time and the like.

【0668】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記被暗号処理データに融合して融
合被暗号処理データを生成し、前記第1主暗号処理手段
は鍵データにより特定される第1主暗号処理を施して融
合被暗号処理データから中間データを生成し、前記第2
主暗号処理手段は鍵データにより特定される第2主暗号
処理を施して融合被暗号処理データから出力データを生
成することを特徴とすることもできる。
The input data includes key data and data to be encrypted, and the fusing means fuses the chained data stored in the storage means with the data to be encrypted to generate fused data to be encrypted. , The first main cryptographic processing means performs a first main cryptographic processing specified by key data to generate intermediate data from the fused encrypted data, and
The main encryption processing means may be characterized by performing the second main encryption processing specified by the key data to generate output data from the fused data to be encrypted.

【0669】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に被暗号処理データに融合し、暗号処理
を施す度にその連鎖データを更新するので、各出力デー
タは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic processing is stored as chained data, merged with the data to be encrypted in the subsequent cryptographic processing, and the chained data is updated each time the cryptographic processing is performed. Therefore, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device scale and processing time are not increased so much. Regardless, it becomes difficult to decipher.

【0670】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、記憶手段が記憶する連鎖データを前記鍵デー
タに融合して融合鍵データを生成する融合手段と、融合
鍵データから部分鍵を生成する部分鍵生成手段と、部分
鍵により特定される第1主暗号処理を施して被暗号処理
データから出力データを生成する第1主暗号処理手段
と、部分鍵により特定される第2主暗号処理を施して出
力データから中間データを生成する第2主暗号処理手段
とを備え、部分鍵生成手段は融合鍵データから前記第1
主暗号処理手段及び第2主暗号処理手段の部分鍵をそれ
ぞれ生成しそれぞれの主暗号処理に供させ、記憶手段は
第2主暗号処理手段が生成した中間データを新たな連鎖
データとして自身が記憶する連鎖データを更新し次の暗
号処理に供させることを特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of the previous data on the subsequent data. Storage means for storing the chained data used for exerting and updating the chained data every time a cryptographic process is performed, and fusion means for merging the chained data stored in the storage means with the key data to generate fused key data, The partial key generation means for generating a partial key from the fusion key data, the first main cryptographic processing means for performing the first main cryptographic processing specified by the partial key to generate output data from the data to be encrypted, and the partial key A second main cryptographic processing means for performing the specified second main cryptographic processing to generate intermediate data from the output data, wherein the partial key generation means uses the fusion key data for the first
The partial keys of the main cryptographic processing means and the second main cryptographic processing means are respectively generated and subjected to the respective main cryptographic processing, and the storage means itself stores the intermediate data generated by the second main cryptographic processing means as new chain data. It is characterized in that the chain data to be updated is updated and subjected to the next encryption processing.

【0671】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。また、暗号解読者は、暗号文
と平文のペアを入手することはできたとしても、暗号処
理に用いられた連鎖データを入手することは事実上不可
能であり、さらに、連鎖データを生成するアルゴリズム
や連鎖データの初期値は非公開なので、「既知平文攻
撃」による暗号解読はさらに難しくなり、総当たりによ
る解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, merged with the key data in the subsequent cryptographic process, and the chained data is updated each time the cryptographic process is performed. , Each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, though the device scale and processing time are not increased so much. Decryption becomes difficult. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0672】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0673】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して被暗号処理データから中間データを生成する第1
主暗号処理手段と、鍵データにより特定される第2主暗
号処理を施して被暗号処理データから暗号処理データを
生成する第2主暗号処理手段と、記憶手段が記憶する連
鎖データを暗号処理データに融合して出力データを生成
する融合手段とを備え、記憶手段は第1主暗号処理手段
が生成した中間データを新たな連鎖データとして自身が
記憶する連鎖データを更新し次の暗号処理に供させるこ
とを特徴とする。
A cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data Storage means for storing the chained data used for exerting the data and updating the chained data every time the cryptographic processing is performed; and a first main cryptographic processing specified by the key data to generate intermediate data from the data to be encrypted. 1
The main cryptographic processing means, the second main cryptographic processing means for performing the second main cryptographic processing specified by the key data to generate the cryptographically processed data from the data to be encrypted, and the chained data stored in the storage means as the cryptographically processed data. And a fusion means for generating output data by fusing the intermediate data generated by the first main encryption processing means as new chain data, and the storage means updates the chain data stored by itself and supplies it to the next encryption processing. It is characterized by

【0674】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理データに融合し、暗号処理を
施す度にその連鎖データを更新するので、各出力データ
は自身よりも前の全てのデータに依存することになり、
平文の統計的な特徴は各連鎖データによって攪乱され、
装置規模や処理時間等をさほど増大させていないにもか
かわらず暗号解読が難しくなる。また、暗号解読者は、
暗号文と平文のペアを入手することはできたとしても、
暗号処理に用いられた連鎖データを入手することは事実
上不可能であり、さらに、連鎖データを生成するアルゴ
リズムや連鎖データの初期値は非公開なので、「既知平
文攻撃」による暗号解読はさらに難しくなり、総当たり
による解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic processing is stored as chained data, merged with the cryptographically processed data in the subsequent cryptographic processing, and the chained data is updated each time the cryptographic processing is performed. Therefore, each output data depends on all the data before itself,
The statistical characteristics of plaintext are disturbed by each chain of data,
It is difficult to decipher even though the device scale and processing time have not been increased so much. Also, the cryptanalyst is
Even if I could get a pair of ciphertext and plaintext,
It is virtually impossible to obtain the chained data used for cryptographic processing, and the initial value of the chained data generation algorithm and chained data is not disclosed, so it is more difficult to decipher by the known plaintext attack. It is also difficult to decipher by brute force.

【0675】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0676】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから暗号処理データを生成する第1主
暗号処理手段と、暗号処理データを被暗号処理データに
融合して中間データを生成する融合手段と、鍵データに
より特定される第2暗号処理を施して中間データから出
力データを生成する第2主暗号処理手段とを備え、記憶
手段は中間データを新たな連鎖データとして自身が記憶
する連鎖データを更新し次の暗号処理に供させることを
特徴とする。
A cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data A storage unit that stores chain data used for exerting the data and updates the chain data every time the cryptographic process is performed, and a first main cryptographic process specified by the key data to generate the cryptographic process data from the chain data. A main cryptographic processing means, a fusion means for fusing the cryptographically processed data with the to-be-encrypted data to generate intermediate data, and a second cryptographic processing specified by the key data to generate output data from the intermediate data. The storage means is characterized by including main encryption processing means, and the storage means updates the chain data stored by itself as intermediate data as new chain data for use in the next encryption processing.

【0677】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して暗号処理データを生
成して被暗号処理データに融合し、暗号処理を施す度に
その連鎖データを更新するので、各出力データは自身よ
りも前の全てのデータに依存することになり、平文の統
計的な特徴は各連鎖データによって攪乱され、装置規模
や処理時間等をさほど増大させていないにもかかわらず
暗号解読が難しくなる。また、暗号解読者は、暗号文と
平文のペアを入手することはできたとしても、暗号処理
に用いられた連鎖データを入手することは事実上不可能
であり、さらに、連鎖データを生成するアルゴリズムや
連鎖データの初期値は非公開なので、「既知平文攻撃」
による暗号解読はさらに難しくなり、総当たりによる解
読も困難である。
Thus, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and the cryptographic process is performed in the subsequent cryptographic process to generate the cryptographically processed data, which is fused to the data to be encrypted. Since the chain data is updated every time the cryptographic process is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chain data, and the device scale It is difficult to decipher even though the processing time and the like have not been increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chain data are not disclosed, "known plaintext attack"
It becomes even more difficult to decipher by brute force, and brute force is also difficult.

【0678】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, safety can be improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0679】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから暗号処理データを生成する第1主
暗号処理手段と、鍵データにより特定される第2主暗号
処理を施して被暗号処理データから中間データを生成す
る第2主暗号処理手段と、暗号処理データを中間データ
に融合して出力データを生成する融合手段とを備え、記
憶手段は中間データを新たな連鎖データとして自身が記
憶する連鎖データを更新し次の暗号処理に供させること
を特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of the previous data on the subsequent data. A storage unit that stores chain data used for exerting the data and updates the chain data every time the cryptographic process is performed, and a first main cryptographic process specified by the key data to generate the cryptographic process data from the chain data. Main cryptographic processing means, second main cryptographic processing means for performing second main cryptographic processing specified by key data to generate intermediate data from data to be encrypted, and cryptographically processed data fused to intermediate data to output data The storage means is characterized in that the storage means updates the chained data stored therein by using the intermediate data as new chained data, and uses it for the next encryption processing.

【0680】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して暗号処理データを生
成して中間データに融合し、暗号処理を施す度にその連
鎖データを更新するので、各出力データは自身よりも前
の全てのデータに依存することになり、平文の統計的な
特徴は各連鎖データによって攪乱され、装置規模や処理
時間等をさほど増大させていないにもかかわらず暗号解
読が難しくなる。また、暗号解読者は、暗号文と平文の
ペアを入手することはできたとしても、暗号処理に用い
られた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。
Thus, the intermediate data generated in the process of performing the cryptographic processing is stored as chained data, and the cryptographic processing is performed in the subsequent cryptographic processing to generate the cryptographically processed data, which is fused to the intermediate data. Since the chained data is updated each time processing is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing Even if the time is not increased so much, it becomes difficult to decipher. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0681】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, safety can be improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0682】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから中間データを生成する第1主暗号
処理手段と、中間データを被暗号処理データに融合して
融合データを生成する融合手段と、鍵データにより特定
される第2主暗号処理を施して融合データから出力デー
タを生成する第2主暗号処理手段とを備え、記憶手段は
中間データを新たな連鎖データとして自身が記憶する連
鎖データを更新し次の暗号処理に供させることを特徴と
する。
A cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data A storage unit that stores chain data used for exerting the data and updates the chain data every time the cryptographic process is performed, and a first main cryptographic process specified by the key data to generate intermediate data from the chain data. Cryptographic processing means, fusing means for fusing intermediate data with encrypted data to generate fused data, and second main cryptographic processing for performing second main cryptographic processing to generate output data from the fused data. The storage means is characterized in that the storage means updates the chained data stored therein by using the intermediate data as new chained data for use in the next cryptographic processing.

【0683】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して中間データを生成し
て被暗号処理データに融合し、暗号処理を施す度にその
連鎖データを更新するので、各出力データは自身よりも
前の全てのデータに依存することになり、平文の統計的
な特徴は各連鎖データによって攪乱され、装置規模や処
理時間等をさほど増大させていないにもかかわらず暗号
解読が難しくなる。また、暗号解読者は、暗号文と平文
のペアを入手することはできたとしても、暗号処理に用
いられた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。
Thus, the intermediate data generated in the process of performing the encryption process is stored as chained data, and the encryption process is performed in the subsequent encryption process to generate the intermediate data, which is fused with the data to be encrypted. Since the chained data is updated every time the cryptographic process is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device scale and Even if the processing time is not increased so much, the decryption becomes difficult. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0684】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0685】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから中間データを生成する第1主暗号
処理手段と、鍵データにより特定される第2主暗号処理
を施して被暗号処理データから暗号処理データを生成す
る第2主暗号処理手段と、中間データを暗号処理データ
に融合して出力データを生成する融合手段とを備え、記
憶手段は中間データを新たな連鎖データとして自身が記
憶する連鎖データを更新し次の暗号処理に供させること
を特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data A storage unit that stores chain data used for exerting the data and updates the chain data every time the cryptographic process is performed, and a first main cryptographic process specified by the key data to generate intermediate data from the chain data. Cryptographic processing means, second main cryptographic processing means for performing the second main cryptographic processing specified by the key data to generate cryptographically processed data from the data to be encrypted, and output data obtained by fusing the intermediate data with the cryptographically processed data. The storage means is characterized in that the storage means updates the chained data stored therein by using the intermediate data as new chained data, and uses it for the next encryption processing.

【0686】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して中間データを生成し
て暗号処理データに融合し、暗号処理を施す度にその連
鎖データを更新するので、各出力データは自身よりも前
の全てのデータに依存することになり、平文の統計的な
特徴は各連鎖データによって攪乱され、装置規模や処理
時間等をさほど増大させていないにもかかわらず暗号解
読が難しくなる。また、暗号解読者は、暗号文と平文の
ペアを入手することはできたとしても、暗号処理に用い
られた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。 従って、装置規模や処理時間等を大幅に
増大させることなく、安全性を向上させることができ
る。
Thus, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and the cryptographic process is performed in the subsequent cryptographic process to generate the intermediate data, which is fused with the cryptographically processed data. Since the chained data is updated each time processing is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing Even if the time is not increased so much, it becomes difficult to decipher. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force. Therefore, the safety can be improved without significantly increasing the scale of the device, the processing time, and the like.

【0687】本発明に係る暗号処理装置は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理装置であって、前のデータの影響を後のデータに及
ぼす為に用いる連鎖データを記憶し暗号処理を施す毎に
その連鎖データを更新する記憶手段と、前記記憶手段が
記憶する連鎖データに予め決めておいた所定の変換を施
して変換データを生成する変換手段と、変換データを入
力データに融合して融合データを生成する融合手段と、
融合データに基づいて主暗号処理を施して出力データを
生成し出力データを生成するまでの過程において生成さ
れる中間データを出力する主暗号処理手段とを備え、記
憶手段は、中間データ、入力データ、変換データ又は出
力データを新たな連鎖データとして自身が記憶する連鎖
データを更新し次の暗号処理に供させることを特徴とす
る。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing on the basis of input data to generate output data, and is a chained data used to exert the influence of previous data on subsequent data. Storing means for updating the chained data each time encryption processing is performed, converting means for generating the converted data by subjecting the chained data stored in the storing means to predetermined conversion, and the converted data. Fusing means for fusing the input data with the input data,
Main encryption processing means for performing main encryption processing based on the fused data to generate output data and outputting intermediate data generated in the process of generating output data, and the storage means includes intermediate data and input data. , The converted data or the output data is used as new chained data to update the chained data stored in the chained data, and the chained data is used for the next encryption process.

【0688】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, predetermined conversion is performed to generate the transformed data to generate the key data or the encrypted data. It merges with input data such as processed data and updates the chained data each time encryption processing is performed, so each output data depends on all the data before itself, and the statistical characteristics of plaintext are It is disturbed by each chained data, and it becomes difficult to decipher even though the device scale and processing time are not increased so much.
Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0689】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0690】また、前記変換手段が施す所定の変換はビ
ット置換又はビット変換であることを特徴とすることも
できる。
The predetermined conversion performed by the conversion means may be bit replacement or bit conversion.

【0691】これによって、ビット置換又はビット変換
等の簡単な所定の変換が非公開となるので、装置規模や
処理時間等をさほど増大させていないにもかかわらず暗
号解読が難しくなる。
As a result, since a simple predetermined conversion such as bit replacement or bit conversion is not disclosed, it becomes difficult to decipher even though the device scale and processing time are not increased so much.

【0692】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記変換データを
鍵データに融合して融合鍵データを生成し、前記主暗号
処理手段は融合鍵データにより特定される主暗号処理を
施して被暗号処理データから出力データを生成し、前記
記憶手段は、中間データ、被暗号処理データ又は出力デ
ータを新たな連鎖データとして自身が記憶する連鎖デー
タを更新し次の暗号処理に供させることを特徴とするこ
ともできる。
[0692] Also, the input data includes key data and data to be encrypted, the fusion means fuses the converted data to key data to generate fusion key data, and the main encryption processing means uses the fusion key data. Subject to the main encryption process to generate output data from the encrypted data, and the storage means updates the chained data stored by itself as new chained data of the intermediate data, the encrypted data or the output data. It can also be characterized in that it is subjected to the next encryption processing.

【0693】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, a predetermined conversion is performed to generate the converted data, which is fused with the key data. Since the chained data is updated each time processing is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing Even if the time is not increased so much, it becomes difficult to decipher.

【0694】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
Further, the cryptographic processing apparatus further divides the data to be encrypted into blocks each having a predetermined number of bits, and prepares one block of data to be processed in sequence for block preparation. And a fraction data processing means for generating output data having the same length as the fraction data based on the chain data from the fraction data less than the block unit generated when the block preparation means divides the data to be encrypted into blocks. And the cryptographic processing device may perform cryptographic processing in block units.

【0695】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, the data length does not change even if the encryption process is performed, and the data is easy to handle.

【0696】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
As a result, since it is possible to generate output data having the same length as the fraction data from the fraction data,
All input data and all output data have the same length.

【0697】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
Also, the fraction data processing means merges the fraction concatenation data with the fraction data to generate fraction concatenation data having the same length as the fraction data from the concatenation data, and merges the fraction concatenation data into the fraction data. It is also possible to include a fractional data fusion means for generating output data of length.

【0698】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
As a result, since the fractional chain data having the same length as the fractional data can be generated from the chained data, the fractional chain data can be fused with the fractional data.

【0699】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
Therefore, the data length does not change even if the encryption process is performed, and the data is easy to handle.

【0700】また、前記端数データ処理手段は、前記変
換データから前記端数データと同じ長さの整合データを
生成するデータ整合手段と、整合データを端数データに
融合してその端数データと同じ長さの出力データを生成
する端数データ融合手段とを含むことを特徴とすること
もできる。
The fraction data processing means merges the matching data with the fraction data to generate the matching data having the same length as the fraction data from the converted data, and merges the matching data with the fraction data to obtain the same length as the fraction data. It is also possible to include fractional data fusion means for generating the output data of

【0701】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。 従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
As a result, the encryption process applied to the fractional data is comparable to the encryption process applied to each block. Therefore, the safety can be improved even though the data length does not change.

【0702】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記変換デ
ータを鍵データ記憶手段が記憶する鍵データに融合し、
鍵データ記憶手段は鍵データの初期値を記憶し最初のデ
ータを処理する際に用い融合鍵データを新たな鍵データ
として自身が記憶する鍵データを更新することを特徴と
することもできる。
Further, the encryption processing device further comprises key data storage means for storing the key data and updating the key data each time the encryption processing is performed, and the fusion means stores the converted data in the key data storage means. Fused with the key data to be stored,
The key data storage means may be characterized by storing an initial value of the key data and using it when processing the first data to update the key data stored by itself as the new key data.

【0703】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
As a result, the key data can be updated, making decryption more difficult than when the key data is not updated.

【0704】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
Therefore, the safety can be further improved without significantly increasing the scale of the apparatus or the processing time.

【0705】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記変換データを
被暗号処理データに融合して融合被暗号処理データを生
成し、前記主暗号処理手段は鍵データにより特定される
主暗号処理を施して融合被暗号処理データから出力デー
タを生成し、前記記憶手段は、中間データ、被暗号処理
データ、融合被暗号処理データ又は出力データを新たな
連鎖データとして自身が記憶する連鎖データを更新し次
の暗号処理に供させることを特徴とすることもできる。
Also, the input data includes key data and data to be encrypted, and the fusing means fuses the converted data to the data to be encrypted to generate fused data to be encrypted, and the main encryption processing means. Performs the main cryptographic processing specified by the key data to generate output data from the fused encrypted data, and the storage means creates a new chain of intermediate data, encrypted data, fused encrypted data or output data. It may be characterized in that the chain data stored by itself as data is updated and provided for the next encryption processing.

【0706】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して被暗号処理データに融合し、暗号処理を施す度にそ
の連鎖データを更新するので、各出力データは自身より
も前の全てのデータに依存することになり、平文の統計
的な特徴は各連鎖データによって攪乱され、装置規模や
処理時間等をさほど増大させていないにもかかわらず暗
号解読が難しくなる。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, predetermined conversion is performed to generate the converted data, which is fused with the data to be encrypted. Since the chain data is updated every time the cryptographic process is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chain data, and the device scale It is difficult to decipher even though the processing time and the like have not been increased so much.

【0707】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て被暗号処理データから暗号処理データを生成し暗号処
理データを生成するまでの過程において生成される中間
データを出力する主暗号処理手段と、変換データを暗号
処理データに融合して出力データを生成する融合手段と
を備え、記憶手段は、中間データ、被暗号処理データ、
暗号処理データ又は出力データを新たな連鎖データとし
て自身が記憶する連鎖データを更新し次の暗号処理に供
させることを特徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data Storage means for storing the chain data used for exerting the data and updating the chain data each time the cryptographic processing is performed, and the chain data stored by the storage means is subjected to predetermined conversion to generate converted data. Conversion means, and main cipher processing means for performing main cipher processing specified by the key data to generate cipher processed data from the data to be ciphered and outputting intermediate data generated in the process of generating cipher processed data And a fusion unit that fuses the converted data with the encrypted data to generate output data, and the storage unit stores the intermediate data, the encrypted data,
It is characterized in that the encrypted data or output data is used as new chained data to update the chained data stored by itself and to be used for the next cryptographic processing.

【0708】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して暗号処理データに融合し、暗号処理を施す度にその
連鎖データを更新するので、各出力データは自身よりも
前の全てのデータに依存することになり、平文の統計的
な特徴は各連鎖データによって攪乱され、装置規模や処
理時間等をさほど増大させていないにもかかわらず暗号
解読が難しくなる。また、暗号解読者は、暗号文と平文
のペアを入手することはできたとしても、暗号処理に用
いられた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズム、連鎖
データの初期値及び所定の変換は非公開なので、「既知
平文攻撃」による暗号解読はさらに難しくなり、総当た
りによる解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, predetermined conversion is performed to generate the converted data, which is fused with the cryptographic process data. Since the chained data is updated every time the cryptographic process is performed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device scale and Even if the processing time is not increased so much, the decryption becomes difficult. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0709】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0710】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから暗号処理データを生成する主暗号処理
手段と、暗号処理データを被暗号処理データに融合して
出力データを生成する融合手段とを備え、記憶手段は出
力データを新たな連鎖データとして自身が記憶する連鎖
データを更新し次の暗号処理に供させることを特徴とす
る。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data Storage means for storing the chain data used for exerting the data and updating the chain data each time the cryptographic processing is performed, and the chain data stored by the storage means is subjected to predetermined conversion to generate converted data. Transforming means, main cryptographic processing means for performing main cryptographic processing specified by key data to generate cryptographically processed data from the transformed data, and fusing means for merging cryptographically processed data with encrypted data to generate output data. The storage means is characterized in that the storage means updates the chained data stored in itself as new chained data and uses it for the next encryption processing.

【0711】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, a predetermined conversion is performed in the subsequent cryptographic process to generate the transformed data, and the cryptographic process is performed to perform the encrypted It merges with the processed data and updates the chained data each time the encryption process is applied, so each output data depends on all the data before itself, and the statistical characteristics of plaintext depend on each chained data. It is disturbed and it is difficult to decipher even though the device scale and processing time have not been increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0712】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0713】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから暗号処理データを生成する主暗号処理
手段と、暗号処理データを被暗号処理データに融合して
出力データを生成する融合手段とを備え、記憶手段は被
暗号処理データを新たな連鎖データとして自身が記憶す
る連鎖データを更新し次の暗号処理に供させることを特
徴とする。
The cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data Storage means for storing the chain data used for exerting the data and updating the chain data each time the cryptographic processing is performed, and the chain data stored by the storage means is subjected to predetermined conversion to generate converted data. Transforming means, main cryptographic processing means for performing main cryptographic processing specified by key data to generate cryptographically processed data from the transformed data, and fusing means for merging cryptographically processed data with encrypted data to generate output data. The storage means is characterized in that the storage means updates the chained data stored by itself as new chained data to be subjected to the next cryptographic processing.

【0714】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, a predetermined conversion is performed to generate the transformed data, and the cryptographic process is performed to perform the encryption. It merges with the processed data and updates the chained data each time the encryption process is applied, so each output data depends on all the data before itself, and the statistical characteristics of plaintext depend on each chained data. It is disturbed and it is difficult to decipher even though the device scale and processing time have not been increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0715】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without greatly increasing the scale of the apparatus, the processing time, and the like.

【0716】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから中間データを生成する主暗号処理手段
とを備え、中間データを被暗号処理データに融合して出
力データを生成する融合手段とを備え、記憶手段は中間
データを新たな連鎖データとして自身が記憶する連鎖デ
ータを更新し次の暗号処理に供させることを特徴とす
る。
A cryptographic processing device according to the present invention is a cryptographic processing device that performs cryptographic processing specified by key data to generate output data from data to be encrypted, and the influence of previous data on subsequent data Storage means for storing the chain data used for exerting the data and updating the chain data each time the cryptographic processing is performed, and the chain data stored by the storage means is subjected to predetermined conversion to generate converted data. A fusion unit that includes a conversion unit and a main encryption processing unit that performs the main encryption process specified by the key data to generate intermediate data from the converted data, and combines the intermediate data with the data to be encrypted to generate output data. The storage means is characterized in that the storage means updates the chained data stored therein by using the intermediate data as new chained data and provides the chained data for the next encryption processing.

【0717】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, a predetermined conversion is performed in the subsequent cryptographic process to generate the converted data, and the cryptographic process is performed to perform the encrypted data. It merges with the processed data and updates the chained data each time the encryption process is applied, so each output data depends on all the data before itself, and the statistical characteristics of plaintext depend on each chained data. It is disturbed and it is difficult to decipher even though the device scale and processing time have not been increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0718】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0719】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データを入力データに融合し
て融合データを生成する融合ステップと、融合データに
基づいて主暗号処理を施して出力データを生成し出力デ
ータを生成するまでの過程において生成される中間デー
タを出力する主暗号処理ステップと、主暗号処理ステッ
プで出力された中間データを新たな連鎖データとして記
憶手段に記憶された連鎖データを更新し次の暗号処理に
供させる記憶ステップとを備えることを特徴とする。
The cryptographic processing method according to the present invention is a cryptographic processing method for performing cryptographic processing on the basis of input data to generate output data, since the storage means exerts the influence of the previous data on the subsequent data. Stores the chain data used,
A fusion step of fusing the concatenation data stored in the storage means with the input data to generate the fusion data, and a main encryption process based on the fusion data to generate the output data and the generation of the output data. A main cryptographic processing step of outputting intermediate data to be generated, a storage step of updating the chained data stored in the storage means as the new chained data of the intermediate data output in the main cryptographic processing step, and causing the chained data to be subjected to the next cryptographic processing. It is characterized by including.

【0720】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent cryptographic process, and the cryptographic process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0721】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0722】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データを入力データの全部又
は一部に融合して融合データを生成する融合ステップ
と、融合データに基づいて第1主暗号処理を施して中間
データを生成する第1主暗号処理ステップと、融合デー
タに基づいて第2主暗号処理を施して出力データを生成
する第2主暗号処理ステップと、第1主暗号処理ステッ
プで生成された中間データを新たな連鎖データとして記
憶手段に記憶された連鎖データを更新し次の暗号処理に
供させる記憶ステップとを備えることを特徴とする。
The cryptographic processing method according to the present invention is a cryptographic processing method for performing cryptographic processing on the basis of input data to generate output data, since the storage means exerts the influence of the previous data on the subsequent data. Stores the chain data used,
A merging step of merging the chained data stored in the storage means with all or a part of the input data to generate fused data; and a first main unit that performs a first main encryption process based on the fused data to generate intermediate data. The cryptographic processing step, the second main cryptographic processing step for performing the second main cryptographic processing based on the fused data to generate output data, and the intermediate data generated in the first main cryptographic processing step are stored as new chained data. And a storage step of updating the chain data stored in the means and subjecting the chain data to the next cryptographic processing.

【0723】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the encryption process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent encryption process, and the encryption process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0724】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0725】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データに予め決めておいた所
定の変換を施して変換データを生成する変換ステップ
と、変換データを入力データに融合して融合データを生
成する融合ステップと、融合データに基づいて主暗号処
理を施して出力データを生成し出力データを生成するま
での過程において生成される中間データを出力する主暗
号処理ステップと、中間データ、入力データ、変換デー
タ又は出力データを新たな連鎖データとして記憶手段に
記憶された連鎖データを更新し次の暗号処理に供させる
記憶ステップとを備えることを特徴とする。
The cryptographic processing method according to the present invention is a cryptographic processing method in which cryptographic processing is performed on input data to generate output data, and the storage means exerts the influence of the previous data on the subsequent data. Stores the chain data used,
A conversion step of generating a conversion data by applying a predetermined conversion to the chain data stored in the storage means, a fusion step of fusing the conversion data to the input data to generate fusion data, and a fusion data The main encryption processing step of performing the main encryption processing based on the above to generate the output data and outputting the intermediate data generated in the process until the output data is generated, and the intermediate data, the input data, the conversion data or the output data are newly added. A storage step of updating the chain data stored in the storage means as the chain data and providing the chain data for the next encryption processing.

【0726】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
As a result, the intermediate data generated in the process of performing the cryptographic process is stored as chained data, and in the subsequent cryptographic process, predetermined conversion is performed to generate the converted data to generate the key data or the encrypted data. It merges with input data such as processed data and updates the chained data each time encryption processing is performed, so each output data depends on all the data before itself, and the statistical characteristics of plaintext are It is disturbed by each chained data, and it becomes difficult to decipher even though the device scale and processing time are not increased so much.
Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0727】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0728】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶しており、記憶手段に記
憶された連鎖データを入力データに融合して融合データ
を生成する融合ステップと、融合データに基づいて主暗
号処理を施して出力データを生成し出力データを生成す
るまでの過程において生成される中間データを出力する
主暗号処理ステップと、主暗号処理ステップで出力され
た中間データを新たな連鎖データとして記憶手段に記憶
された連鎖データを更新し次の暗号処理に供させる記憶
ステップとを備えることを特徴とする。
The computer-readable storage medium storing the cryptographic processing method according to the present invention is a computer-readable storage medium storing a cryptographic processing method for performing cryptographic processing on input data to generate output data. And storing the chained data used by the storage means to influence the subsequent data on the subsequent data, and fusing the chained data stored in the storage means with the input data to generate fused data. , A main cryptographic processing step of performing main cryptographic processing based on the fused data to generate output data, and outputting intermediate data generated in the process of generating the output data, and intermediate data output in the main cryptographic processing step As a new chain data, the chain data stored in the storage means is updated and the storage step is provided for the next encryption processing. It is characterized in.

【0729】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the encryption process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent encryption process, and the encryption process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0730】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus, the processing time, and the like.

【0731】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶手段に記憶しており、記
憶手段に記憶された連鎖データを入力データの全部又は
一部に融合して融合データを生成する融合ステップと、
融合データに基づいて第1主暗号処理を施して中間デー
タを生成する第1主暗号処理ステップと、融合データに
基づいて第2主暗号処理を施して出力データを生成する
第2主暗号処理ステップと、第1主暗号処理ステップが
生成した中間データを新たな連鎖データとして記憶手段
に記憶された連鎖データを更新し次の暗号処理に供させ
る記憶ステップとを備えることを特徴とする。
A computer-readable storage medium that stores the cryptographic processing method according to the present invention is a computer-readable storage medium that stores a cryptographic processing method for performing cryptographic processing on input data to generate output data. The storage means stores the chain data used for exerting the influence of the previous data on the subsequent data in the storage means, and the chain data stored in the storage means is fused to all or part of the input data. A fusion step for generating fusion data,
A first main cryptographic processing step of performing first main cryptographic processing based on the fused data to generate intermediate data, and a second main cryptographic processing step of performing second main cryptographic processing based on the fused data to generate output data And a storage step of updating the chained data stored in the storage means as the new chained data using the intermediate data generated by the first main cryptographic processing step and providing the chained data for the next cryptographic processing.

【0732】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
As a result, the intermediate data generated in the process of performing the encryption process is stored as chained data, and is fused to the key data or the input data such as the data to be encrypted in the subsequent encryption process, and the encryption process is performed. Since the chained data is updated every time the data is processed, each output data depends on all the data before itself, and the statistical characteristics of plaintext are disturbed by each chained data, and the device size and processing time are disturbed. It is difficult to decipher even though it has not increased so much. Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the initial values of algorithms and chained data are not disclosed, it is even more difficult to decipher by "known plaintext attack" and brute force.

【0733】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

【0734】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶手段に記憶しており、記
憶手段に記憶された連鎖データに予め決めておいた所定
の変換を施して変換データを生成する変換ステップと、
変換データを入力データに融合して融合データを生成す
る融合ステップと、融合データに基づいて主暗号処理を
施して出力データを生成し出力データを生成するまでの
過程において生成される中間データを出力する主暗号処
理ステップと、中間データ、入力データ、変換データ又
は出力データを新たな連鎖データとして記憶手段に記憶
された連鎖データを更新し次の暗号処理に供させる記憶
ステップとを備えることを特徴とする。
The computer-readable storage medium storing the cryptographic processing method according to the present invention is a computer-readable storage medium storing a cryptographic processing method for performing cryptographic processing on input data to generate output data. Then, the storage means stores the chain data used for exerting the influence of the previous data on the subsequent data in the storage means, and the chain data stored in the storage means is subjected to a predetermined conversion. A conversion step for generating conversion data,
The fusion step of fusing the converted data with the input data to generate the fusion data, and the intermediate data generated in the process of generating the output data by performing the main encryption processing based on the fusion data Main encryption processing step and a storage step of updating the chain data stored in the storage means as intermediate data, input data, converted data, or output data as new chain data for use in the next encryption processing. And

【0735】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
Thus, the intermediate data generated in the process of performing the encryption process is stored as chained data, and in the subsequent encryption process, predetermined conversion is performed to generate the converted data to generate the key data or the encrypted data. It merges with input data such as processed data and updates the chained data each time encryption processing is performed, so each output data depends on all the data before itself, and the statistical characteristics of plaintext are It is disturbed by each chained data, and it becomes difficult to decipher even though the device scale and processing time are not increased so much.
Moreover, even if the cryptanalyst can obtain the pair of ciphertext and plaintext, it is virtually impossible to obtain the chained data used for the cryptographic processing, and further, the chained data is generated. Since the algorithm, the initial value of the chained data, and the predetermined conversion are not disclosed, the decryption by the "known plaintext attack" becomes more difficult, and the decryption by the brute force is also difficult.

【0736】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
Therefore, the safety can be improved without significantly increasing the scale of the apparatus or the processing time.

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

【図1】本発明の実施の形態1における暗号通信システ
ムの構成を示す図である。
FIG. 1 is a diagram showing a configuration of a cryptographic communication system according to a first embodiment of the present invention.

【図2】本発明の実施の形態1におけるデータ暗号化装
置10の詳細な構成を示す図である。
FIG. 2 is a diagram showing a detailed configuration of a data encryption device 10 according to Embodiment 1 of the present invention.

【図3】第1〜8暗号化部105a〜105hの詳細な
構成を示す図である。
FIG. 3 is a diagram showing a detailed configuration of first to eighth encryption units 105a to 105h.

【図4】関数「f」を計算する部分の詳細な構成を示す
図である。
FIG. 4 is a diagram showing a detailed configuration of a portion for calculating a function “f”.

【図5】選択関数S1〜S8の換字表を示す図である。FIG. 5 is a diagram showing a substitution table of selection functions S1 to S8.

【図6】本発明の実施の形態1における端数データ処理
部106の詳細な構成を示す図である。
FIG. 6 is a diagram showing a detailed configuration of a fraction data processing unit 106 according to the first embodiment of the present invention.

【図7】本発明の実施の形態1におけるデータ復号化装
置20の詳細な構成を示す図である。
FIG. 7 is a diagram showing a detailed configuration of a data decoding device 20 according to the first embodiment of the present invention.

【図8】本発明の実施の形態1における端数データ処理
部206の詳細な構成を示す図である。
FIG. 8 is a diagram showing a detailed configuration of a fraction data processing unit 206 according to the first embodiment of the present invention.

【図9】本発明の実施の形態1のデータ暗号化装置10
における暗号化処理の流れを示す図である。
FIG. 9 is a data encryption device 10 according to the first embodiment of the present invention.
6 is a diagram showing a flow of an encryption process in FIG.

【図10】本発明の実施の形態1のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 10 is a data decoding device 2 according to the first embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図11】本発明の実施の形態2におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 11 is a diagram showing a detailed configuration of a data encryption device according to a second exemplary embodiment of the present invention.

【図12】本発明の実施の形態2におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 12 is a diagram showing a detailed configuration of a data decoding device 20 according to the second embodiment of the present invention.

【図13】本発明の実施の形態2のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 13 is a data encryption device 1 according to the second embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図14】本発明の実施の形態2のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 14 is a data decoding device 2 according to the second embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図15】本発明の実施の形態3におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 15 is a diagram showing a detailed configuration of a data encryption device according to a third embodiment of the present invention.

【図16】本発明の実施の形態3におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 16 is a diagram showing a detailed configuration of a data decoding device 20 according to the third embodiment of the present invention.

【図17】本発明の実施の形態3のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 17 is a data encryption device 1 according to the third embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図18】本発明の実施の形態3のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 18 is a data decoding device 2 according to the third embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図19】本発明の実施の形態4におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 19 is a diagram showing a detailed configuration of a data encryption device according to a fourth embodiment of the present invention.

【図20】本発明の実施の形態4におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 20 is a diagram showing a detailed configuration of a data decoding device 20 according to a fourth embodiment of the present invention.

【図21】本発明の実施の形態4のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 21 is a data encryption device 1 according to the fourth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図22】本発明の実施の形態4のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 22 is a data decoding device 2 according to the fourth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図23】本発明の実施の形態5におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 23 is a diagram showing a detailed configuration of a data encryption device according to a fifth embodiment of the present invention.

【図24】本発明の実施の形態5におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 24 is a diagram showing a detailed configuration of a data decoding device 20 according to the fifth embodiment of the present invention.

【図25】本発明の実施の形態5のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 25 is a data encryption device 1 according to the fifth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図26】本発明の実施の形態5のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 26 is a data decoding device 2 according to the fifth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図27】本発明の実施の形態6におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 27 is a diagram showing a detailed configuration of the data encryption device 10 according to the sixth embodiment of the present invention.

【図28】本発明の実施の形態6におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 28 is a diagram showing a detailed configuration of a data decoding device 20 according to the sixth embodiment of the present invention.

【図29】本発明の実施の形態6のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 29 is a data encryption device 1 according to the sixth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図30】本発明の実施の形態6のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 30 is a data decoding device 2 according to the sixth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図31】本発明の実施の形態7におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 31 is a diagram showing a detailed configuration of the data encryption device according to the seventh embodiment of the present invention.

【図32】本発明の実施の形態7におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 32 is a diagram showing a detailed configuration of a data decoding device 20 according to the seventh embodiment of the present invention.

【図33】本発明の実施の形態7のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 33 is a data encryption device 1 according to the seventh embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図34】本発明の実施の形態7のデータ復号化装置2
0における暗号化処理の流れを示す図である。
FIG. 34 is a data decoding device 2 according to the seventh embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図35】本発明の実施の形態8におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 35 is a diagram showing a detailed configuration of a data encryption device according to an eighth embodiment of the present invention.

【図36】本発明の実施の形態8におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 36 is a diagram showing a detailed configuration of a data decoding device 20 according to the eighth embodiment of the present invention.

【図37】本発明の実施の形態8のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
FIG. 37 is a data encryption device 1 according to the eighth embodiment of the present invention.
FIG. 6 is a diagram showing a flow of encryption processing in 0.

【図38】本発明の実施の形態9におけるデータ暗号化
装置10の詳細な構成を示す図である。
FIG. 38 is a diagram showing a detailed configuration of the data encryption device according to the ninth embodiment of the present invention.

【図39】本発明の実施の形態9におけるデータ復号化
装置20の詳細な構成を示す図である。
FIG. 39 is a diagram showing a detailed configuration of a data decoding device 20 according to the ninth embodiment of the present invention.

【図40】本発明の実施の形態10におけるデータ暗号
化装置10の詳細な構成を示す図である。
FIG. 40 is a diagram showing a detailed configuration of a data encryption device according to the tenth embodiment of the present invention.

【図41】本発明の実施の形態10におけるデータ復号
化装置20の詳細な構成を示す図である。
FIG. 41 is a diagram showing a detailed configuration of the data decoding device 20 according to the tenth embodiment of the present invention.

【図42】本発明の実施の形態10のデータ暗号化装置
10における暗号化処理の流れを示す図である。
FIG. 42 is a diagram showing the flow of encryption processing in the data encryption device 10 according to the tenth embodiment of the present invention.

【図43】本発明の実施の形態10のデータ復号化装置
20における暗号化処理の流れを示す図である。
FIG. 43 is a diagram showing the flow of encryption processing in the data decryption device 20 according to the tenth embodiment of the present invention.

【図44】本発明の実施の形態11におけるデータ暗号
化装置10の詳細な構成を示す図である。
FIG. 44 is a diagram showing a detailed configuration of the data encryption device according to the eleventh embodiment of the present invention.

【図45】本発明の実施の形態11におけるデータ復号
化装置20の詳細な構成を示す図である。
FIG. 45 is a diagram showing a detailed configuration of a data decoding device 20 according to the eleventh embodiment of the present invention.

【図46】本発明の実施の形態11のデータ暗号化装置
10における暗号化処理の流れを示す図である。
FIG. 46 is a diagram showing a flow of encryption processing in the data encryption device according to the eleventh embodiment of the present invention.

【図47】本発明の実施の形態11のデータ復号化装置
20における暗号化処理の流れを示す図である。
FIG. 47 is a diagram showing the flow of encryption processing in the data decryption device 20 according to the eleventh embodiment of the present invention.

【図48】本発明の実施の形態12における端数データ
処理部106の詳細な構成を示す図である。
FIG. 48 is a diagram showing a detailed configuration of a fraction data processing unit 106 according to the twelfth embodiment of the present invention.

【図49】本発明の実施の形態12のデータ暗号化装置
10における端数データ処理の流れを示す図である。
FIG. 49 is a diagram showing a flow of fractional data processing in the data encryption device 10 according to the twelfth embodiment of the present invention.

【図50】CBCモードを実現する暗号化装置30の構
成を示す図である。
FIG. 50 is a diagram showing a configuration of an encryption device 30 that realizes a CBC mode.

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

10 データ暗号化装置 11 送信部 101 ブロック分割部 102 ブロック記憶部 103 鍵データ融合部 104 部分鍵生成部 105a〜105h 暗号化部 106 端数データ処理部 106a データ整合部 106b 端数データ融合部 106c 暗号文ブロック記憶部 107 ブロック結合部 108 ブロック融合部 109 ブロック変換部 110 鍵データ記憶部 111 ブロック選択部 20 データ復号化装置 21 受信部 201 ブロック分割部 202 ブロック記憶部 203 鍵データ融合部 204 部分鍵生成部 205a〜205h 復号化部 205i〜205p 暗号化部 206 端数データ処理部 206a データ整合部 206b 端数データ融合部 207 ブロック結合部 208 ブロック融合部 209 ブロック変換部 210 鍵データ記憶部 211 ブロック選択部 30 暗号化装置 301 排他的論理和部 302 データ暗号化部 303 レジスタ 10 Data encryption device 11 Transmitter 101 block division unit 102 block storage 103 Key data fusion unit 104 partial key generation unit 105a to 105h encryption unit 106 Fraction data processing unit 106a data matching unit 106b Fractional data fusion unit 106c Ciphertext block storage unit 107 block joint 108 Block fusion department 109 block converter 110 key data storage 111 Block selection section 20 Data Decoding Device 21 Receiver 201 Block division part 202 block storage unit 203 Key data fusion unit 204 partial key generator 205a to 205h Decoding unit 205i-205p encryption unit 206 Fraction data processing unit 206a Data matching unit 206b Fractional data fusion unit 207 Block combiner 208 Block fusion department 209 block converter 210 key data storage 211 Block selection section 30 encryption device 301 Exclusive OR 302 Data encryption unit 303 register

───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 征克 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 昭52−130504(JP,A) 特開 平2−44390(JP,A) 特公 平8−12537(JP,B2) D.W.Davies,W.L.Pr ice著,上園忠弘監訳,ネットワー ク・セキュリティ,日経マグロウヒル, 1985年12月 5日,p.85−102 E.Biham,Cryptanal ysis of Multiple M odes of Operation, Lecture Notesin C omputer Science,Vo l.917,p.278−292 E.Biham,On Modes of Operation, Lect ure Notes in Compu ter Science,Vol.809, p.116−120 E.Biham,L.R.Knuds en,Cryptanalysis o f the ANSI X9.52 CB CM Mode, Lecture N otes in Computer S cience,Vol.1403,p.100 −111 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 610 JICSTファイル(JOIS)─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Seikatsu Maruyama 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (56) Reference JP-A-52-130504 (JP, A) JP-A-2 -44390 (JP, A) JP-B-8-12537 (JP, B2) D.P. W. Davies, W.C. L. Price, Translated by Tadahiro Kamizono, Network Security, Nikkei McGraw-Hill, December 5, 1985, p. 85-102 E. Biham, Cryptanalysis of Multiple Modes of Operation, Right Notes in Computer Science, Vol. 917, p. 278-292 E. Biham, On Modes of Operation, Lecture Notes in Computer Science, Vol. 809, p. 116-120 E. Biham, L .; R. Knudsen, Cryptanalysis of the ANSI X9.52 CB CM Mode, Lecture Notes in Computer Science, Vol. 1403, p. 100-111 (58) Fields surveyed (Int.Cl. 7 , DB name) G09C 1/00 610 JISST file (JOIS)

Claims (18)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 鍵データと被暗号化処理データとを含む
入力データに基づいて、ブロック単位で暗号化処理を施
して、出力データを生成する暗号化処理装置であって、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、暗号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 記憶手段が記憶する連鎖データを、前記鍵データに融合
して融合鍵データを生成する融合手段と、 部分処理が複数段あり、1段目で部分処理を施したデー
タに、2段目で更に部分処理を施し、これを段数分行な
い暗号化処理データを生成する主暗号化処理手段と、 融合鍵データから主暗号化処理手段の段数分の部分鍵を
生成し、主暗号化処理手段の各段に給送し、それぞれの
部分処理に供させる部分鍵生成手段とを備え、 前記主暗号化処理手段は、 段数分の部分鍵により特定される複数段の部分処理を被
暗号化処理データに施し、最終段以外の各段で部分処理
を施して得られたデータが各中間データとなり、 前記記憶手段は、主暗号化処理手段で得られた各中間デ
ータの内の1個を新たな連鎖データとして、自身が記憶
する連鎖データを更新し、次の暗号化処理に供させ、 前記暗号化処理装置は、さらに、 前記被暗号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被暗号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被暗号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする暗号化処理装置。
1. An encryption processing device for generating output data by performing encryption processing in block units on the basis of input data including key data and data to be encrypted, the influence of previous data. Storing the chained data used to affect the subsequent data, and updating the chained data each time encryption processing is performed, and the chained data stored in the storage means is fused with the key data to create a fusion key. There is a fusion means for generating data and a plurality of stages of partial processing, and data that has been partially processed in the first stage is further subjected to partial processing in the second stage and this is performed for the number of stages to generate encrypted processed data. Encryption processing means, and partial key generation means for generating from the fusion key data the partial keys for the number of stages of the main encryption processing means, and sending the partial keys to each stage of the main encryption processing means for use in each partial processing. And the main encryption processing The means performs a plurality of stages of partial processing specified by the number of stages of partial keys on the encrypted data, and the data obtained by performing the partial processing at each stage other than the final stage becomes each intermediate data, The means updates one of the intermediate data obtained by the main encryption processing means as new chained data, updates the chained data stored in itself, and causes it to be subjected to the next encryption processing. The apparatus further divides the data to be encrypted into blocks, each block having a predetermined number of bits, and sequentially prepares one block of data to be encrypted to be processed next; A fraction that generates output data having the same length as the fraction data, based on the chain data, from fraction data less than the block unit generated when the preparation means divides the encrypted data into blocks. An encryption processing apparatus comprising: a data processing unit.
【請求項2】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項1記載の暗号化処理
装置。
2. The fraction data processing unit merges the fraction data with the data matching unit that generates fraction concatenation data having the same length as the fraction data from the concatenation data, and merges the fraction concatenation data into the fraction data. 2. The encryption processing apparatus according to claim 1, further comprising: a fractional data fusion unit that generates output data having the same length as that of.
【請求項3】 前記端数データ処理手段は、 前記主暗号化処理手段により暗号化処理を施されたブロ
ックを記憶し、前記端数データが生じた際に、記憶して
いるブロックを新たな被暗号化処理データとして前記主
暗号化処理手段に渡すブロック記憶手段を含み、 前記主暗号化処理手段は、ブロック記憶手段より渡され
たブロックから出力データを生成し、これを端数データ
処理用ブロックとして端数データ処理手段へ渡し、 前記端数データ処理手段は、さらに、 端数データ処理用ブロックから、前記端数データと同じ
長さの整合データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項1記載の暗号化処理装
置。
3. The fraction data processing means stores the block encrypted by the main encryption processing means, and when the fraction data is generated, the stored block is newly encrypted. Block storage means for passing the encrypted data to the main encryption processing means, wherein the main encryption processing means generates output data from the block passed from the block storage means, and uses this as a fraction data processing block. Passing to the data processing means, the fractional data processing means, further, from the fractional data processing block, a data matching means for generating matching data of the same length as the fractional data, The encryption processing apparatus according to claim 1, further comprising: a fraction data fusion unit that generates output data having the same length as the fraction data.
【請求項4】 鍵データと被暗号化処理データとを含む
入力データに基づいて、ブロック単位で暗号化処理を施
して、出力データを生成する暗号化処理装置であって、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、暗号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 記憶手段が記憶する連鎖データを、前記鍵データに融合
して融合鍵データを生成する融合手段と、 前記融合鍵データから第1主暗号化処理用部分鍵と第2
主暗号化処理用部分鍵とを生成する部分鍵生成手段と、 前記第1主暗号化処理用部分鍵により特定される第1主
暗号化処理を施して、被暗号化処理データから中間デー
タを生成する第1主暗号化処理手段と、 前記第2主暗号化処理用部分鍵により特定される第2主
暗号化処理を施して、被暗号化処理データから出力デー
タを生成する第2主暗号化処理手段とを備え、 前記記憶手段は、第1主暗号化処理手段が生成した中間
データを新たな連鎖データとして、自身が記憶する連鎖
データを更新し、次の暗号化処理に供させ、 前記暗号化処理装置は、さらに、 前記被暗号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被暗号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被暗号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする暗号化処理装置。
4. An encryption processing device which performs an encryption process in block units based on input data including key data and data to be encrypted to generate output data, the influence of previous data. Storing the chained data used to affect the subsequent data, and updating the chained data each time encryption processing is performed, and the chained data stored in the storage means is fused with the key data to create a fusion key. A fusion means for generating data, a first main encryption processing partial key and a second fusion key based on the fusion key data.
A partial key generating means for generating a main encryption processing partial key; and a first main encryption processing specified by the first main encryption processing partial key, to obtain intermediate data from the data to be encrypted. A first main encryption processing means for generating and a second main encryption processing for performing second main encryption processing specified by the partial key for second main encryption processing to generate output data from data to be encrypted. Encryption processing means, the storage means, the intermediate data generated by the first main encryption processing means as new chained data, to update the chained data stored by itself, to be subjected to the next encryption processing, The encryption processing device further divides the data to be encrypted into block units each having a predetermined number of bits, and sequentially prepares one block of the encrypted data to be processed next. Means and block preparation And a fraction data processing means for generating output data having the same length as the fraction data based on the chain data from the fraction data less than the block unit generated when the encrypted data is divided into blocks. An encryption processing device, comprising:
【請求項5】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項記載の暗号化処理
装置。
5. The fraction data processing means merges the fraction chain data with the data matching means for generating the fraction chain data having the same length as the fraction data from the chain data, and merges the fraction data with the fraction data. 5. The encryption processing device according to claim 4 , further comprising: a fractional data fusion unit that generates output data having the same length as that of.
【請求項6】 前記端数データ処理手段は、 前記第2主暗号化処理手段により暗号化処理を施された
ブロックを記憶し、前記端数データが生じた際に、記憶
しているブロックを新たな被暗号化処理データとして前
記第2主暗号化処理手段に渡すブロック記憶手段を含
み、 前記第2主暗号化処理手段は、ブロック記憶手段より渡
されたブロックから出力データを生成し、これを端数デ
ータ処理用ブロックとして端数データ処理手段へ渡し、 前記端数データ処理手段は、さらに、 端数データ処理用ブロックから、前記端数データと同じ
長さの整合データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項記載の暗号化処理装
置。
6. The fraction data processing unit stores a block encrypted by the second main encryption processing unit, and when the fraction data is generated, the stored block is newly updated. Block storage means for passing to the second main encryption processing means as encrypted processing data is included, and the second main encryption processing means generates output data from the block passed from the block storage means, and outputs it as a fraction. The data is passed to the fraction data processing unit as a data processing block, and the fraction data processing unit further generates data from the fraction data processing block that is consistent with the same length as the fraction data. fused to the data encryption Kasho according to claim 4, characterized in that it comprises a fraction data fusion means for generating output data of the same length as the fraction data Apparatus.
【請求項7】 鍵データと被暗号化処理データとを含む
入力データに基づいて、ブロック単位で暗号化処理を施
して、出力データを生成する暗号化処理装置であって、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、暗号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 前記記憶手段が記憶する連鎖データに、予め決めておい
た所定の変換を施して変換データを生成する変換手段
と、 前記変換データを、鍵データに融合して融合鍵データを
生成する融合手段と、 前記融合鍵データにより特定される主暗号化処理を施し
て、被暗号化処理データから出力データを生成し、出力
データを生成するまでの過程において生成される中間デ
ータを出力する主暗号化処理手段とを備え、 記憶手段は、前記中間データを新たな連鎖データとし
て、自身が記憶する連鎖データを更新し、次の暗号化処
理に供させ、 前記暗号化処理装置は、さらに、 前記被暗号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被暗号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被暗号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする暗号化処理装置。
7. An encryption processing device for performing an encryption process on a block-by-block basis to generate output data based on input data including key data and data to be encrypted, the influence of previous data. To store the chain data used to affect the subsequent data, and update the chain data each time the encryption process is performed, and the chain data stored in the storage unit to a predetermined conversion A conversion unit for generating conversion data by performing the above, a fusion unit for fusing the conversion data with key data to generate fusion key data, and a main encryption process specified by the fusion key data, And a main encryption processing means for generating output data from the encrypted processing data and outputting intermediate data generated in the process of generating the output data. As the chain data, the chain data stored by itself is updated and is subjected to the next encryption processing, and the encryption processing device further divides the data to be encrypted into blocks each having a predetermined number of bits. While, in order, the block preparation means for preparing one block of the encrypted data to be processed next, and the fraction less than the block unit generated when the block preparation means divides the encrypted data into the block units An encryption processing device, comprising: a fraction data processing unit that generates output data having the same length as the fraction data from the data based on the chain data.
【請求項8】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項記載の暗号化処理
装置。
8. The fraction data processing unit merges the fraction data with the data matching unit that generates fraction chain data having the same length as the fraction data from the chain data, and merges the fraction chain data with the fraction data. 8. The encryption processing apparatus according to claim 7 , further comprising: a fractional data fusion unit that generates output data having the same length as that of.
【請求項9】 前記端数データ処理手段は、 前記変換データから、前記端数データと同じ長さの整合
データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項記載の暗号化処理装
置。
9. The fraction data processing means merges the matching data with the fraction data to generate matching data having the same length as the fraction data from the converted data, and the matching data is the same as the fraction data. 8. The encryption processing apparatus according to claim 7 , further comprising: a fractional data fusion unit that generates output data of length.
【請求項10】 鍵データと被復号化処理データとを含
む入力データに基づいて、ブロック単位で復号化処理を
施して、出力データを生成する復号化処理装置であっ
て、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、復号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 記憶手段が記憶する連鎖データを、前記鍵データに融合
して融合鍵データを生成する融合手段と、 部分処理が複数段あり、1段目で部分処理を施したデー
タに、2段目で更に部分処理を施し、これを段数分行な
い復号化処理データを生成する主復号化処理手段と、 融合鍵データから主復号化処理手段の段数分の部分鍵を
生成し、主復号化処理手段の各段に給送し、それぞれの
部分処理に供させる部分鍵生成手段とを備え、 前記主復号化処理手段は、 段数分の部分鍵により特定される複数段の部分処理を被
復号化処理データに施し、最終段以外の各段で部分処理
を施して得られたデータが各中間データとなり、 前記記憶手段は、主復号化処理手段で得られた各中間デ
ータの内の1個を新たな連鎖データとして、自身が記憶
する連鎖データを更新し、次の復号化処理に供させ、 前記復号化処理装置は、さらに、 前記被復号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被復号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被復号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする復号化処理装置。
10. A decryption processing device for performing decryption processing on a block-by-block basis to generate output data, based on input data including key data and data to be decrypted, the influence of previous data. Storing chain data used to influence the subsequent data, and updating the chain data each time decryption processing is performed, and the chain data stored in the storage unit are fused with the key data to obtain a fusion key. There is a fusion means for generating data and a plurality of stages of partial processing, and the data that has been partially processed in the first stage is further subjected to partial processing in the second stage, and this is performed for the number of stages to generate decryption processing data. Decryption processing means, and partial key generation means for generating partial keys for the number of stages of the main decryption processing means from the fusion key data, feeding the partial keys to the respective stages of the main decryption processing means, and providing each partial processing. Comprising the main decryption The processing means performs a plurality of stages of partial processing specified by the number of partial keys on the decryption-processed data, and the data obtained by performing the partial processing at each stage other than the final stage is each intermediate data, The storage means updates one of the intermediate data obtained by the main decoding processing means as new chained data, updates the chained data stored by itself, and causes it to be subjected to the next decoding processing. The processing device further divides the data to be decoded into blocks each having a predetermined number of bits, and sequentially prepares one block of data to be decoded to be processed next, and block preparation means, An end that generates output data of the same length as the fraction data based on the chain data from the fraction data less than the block unit generated when the block preparation means divides the data to be decoded into blocks. A decoding processing device, comprising: a number data processing means.
【請求項11】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項1記載の復号化処
理装置。
11. The fraction data processing means merges the fraction chain data with the data matching means for generating fraction chain data having the same length as the fraction data from the chain data, and merges the fraction data with the fraction data. decoding apparatus according to claim 1 0, wherein the including the fraction data fusion means for generating output data of the same length as.
【請求項12】 前記端数データ処理手段は、 前記主復号化処理手段により復号化処理を施されたブロ
ックを記憶し、前記端数データが生じた際に、記憶して
いるブロックを新たな被復号化処理データとして前記主
復号化処理手段に渡すブロック記憶手段を含み、 前記主復号化処理手段は、ブロック記憶手段より渡され
たブロックから出力データを生成し、これを端数データ
処理用ブロックとして端数データ処理手段へ渡し、 前記端数データ処理手段は、さらに、 端数データ処理用ブロックから、前記端数データと同じ
長さの整合データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項1記載の復号化処理装
置。
12. The fraction data processing means stores a block that has been subjected to a decoding process by the main decoding processing means, and when the fraction data occurs, the stored block is newly decoded. Block storage means for passing to the main decoding processing means as the encrypted data, the main decoding processing means generates output data from the block passed from the block storage means, and uses this as a fraction data processing block. Passing to the data processing means, the fractional data processing means, further, from the fractional data processing block, a data matching means for generating matching data of the same length as the fractional data, decoding apparatus according to claim 1 0, wherein the including the fraction data fusion means for generating output data of the same length as the fraction data.
【請求項13】 鍵データと被復号化処理データとを含
む入力データに基づいて、ブロック単位で復号化処理を
施して、出力データを生成する復号化処理装置であっ
て、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、復号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 記憶手段が記憶する連鎖データを、前記鍵データに融合
して融合鍵データを生成する融合手段と、 前記融合鍵データから第1主復号化処理用部分鍵と第2
主復号化処理用部分鍵とを生成する部分鍵生成手段と、 前記第1主復号化処理用部分鍵により特定される第1主
復号化処理を施して、被復号化処理データから中間デー
タを生成する第1主復号化処理手段と、 前記第2主復号化処理用部分鍵により特定される第2主
復号化処理を施して、被復号化処理データから出力デー
タを生成する第2主復号化処理手段とを備え、 前記記憶手段は、第1主復号化処理手段が生成した中間
データを新たな連鎖データとして、自身が記憶する連鎖
データを更新し、次の復号化処理に供させ、 前記復号化処理装置は、さらに、 前記被復号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被復号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被復号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする復号化処理装置。
13. A decryption processing device for performing decryption processing in block units based on input data including key data and data to be decrypted to generate output data, the influence of previous data. Storing chain data used to influence the subsequent data, and updating the chain data each time decryption processing is performed, and the chain data stored in the storage unit are fused with the key data to obtain a fusion key. Fusion means for generating data, a first main decryption processing partial key and a second fusion key from the fusion key data
Partial key generation means for generating a partial key for main decryption processing; and a first main decryption process specified by the first partial key for main decryption processing, and intermediate data from the decrypted data. A first main decryption processing unit for generating, and a second main decryption processing for performing a second main decryption processing specified by the second partial key for the main decryption processing to generate output data from data to be decrypted The storage means updates the chained data stored by itself as the new chained data of the intermediate data generated by the first main decoding processing means, and causes the next decoding processing to be performed. The decoding processing device further divides the data to be decoded into blocks each having a predetermined number of bits, and sequentially prepares one block of data to be decoded to be processed next. Means and block preparation And a fraction data processing means for generating output data having the same length as the fraction data, based on the chain data, from the fraction data less than the block unit generated when the stage divides the data to be decoded into blocks. A decoding processing device comprising:
【請求項14】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項1記載の復号化処
理装置。
14. The fraction data processing means merges the fraction chain data with the data matching means for generating fraction chain data having the same length as the fraction data from the chain data, and merges the fraction data with the fraction data. decoding apparatus according to claim 1 3, wherein the including the fraction data fusion means for generating output data of the same length as.
【請求項15】 前記端数データ処理手段は、 前記第2主復号化処理手段により復号化処理を施された
ブロックを記憶し、前記端数データが生じた際に、記憶
しているブロックを新たな被復号化処理データとして前
記第2主復号化処理手段に渡すブロック記憶手段を含
み、 前記第2主復号化処理手段は、ブロック記憶手段より渡
されたブロックから出力データを生成し、これを端数デ
ータ処理用ブロックとして端数データ処理手段へ渡し、 前記端数データ処理手段は、さらに、 端数データ処理用ブロックから、前記端数データと同じ
長さの整合データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項1記載の復号化処理装
置。
15. The fraction data processing unit stores the block decoded by the second main decoding processing unit, and when the fraction data is generated, the stored block is newly updated. Block storage means for passing to the second main decoding processing means as data to be decoded is included, and the second main decoding processing means generates output data from the block passed from the block storage means, and outputs it as a fraction. The data is passed to the fraction data processing unit as a data processing block, and the fraction data processing unit further generates data from the fraction data processing block that is consistent with the same length as the fraction data. fused to the data, decoding of claims 1 to 3, wherein the including the fraction data fusion means for generating output data of the same length as the fraction data Processing equipment.
【請求項16】 鍵データと被復号化処理データとを含
む入力データに基づいて、ブロック単位で復号化処理を
施して、出力データを生成する復号化処理装置であっ
て、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
データを記憶し、復号化処理を施す毎に当該連鎖データ
を更新する記憶手段と、 前記記憶手段が記憶する連鎖データに、予め決めておい
た所定の変換を施して変換データを生成する変換手段
と、 前記変換データを、鍵データに融合して融合鍵データを
生成する融合手段と、 前記融合鍵データにより特定される主復号化処理を施し
て、被復号化処理データから出力データを生成し、出力
データを生成するまでの過程において生成される中間デ
ータを出力する主復号化処理手段とを備え、 記憶手段は、前記中間データを新たな連鎖データとし
て、自身が記憶する連鎖データを更新し、次の復号化処
理に供させ、 前記復号化処理装置は、さらに、 前記被復号化処理データを所定のビット数であるブロッ
ク単位に分割しつつ、順番に、次に処理すべき1ブロッ
クの被復号化処理データを準備するブロック準備手段
と、 ブロック準備手段が被復号化処理データをブロック単位
に分割した際に生じるブロック単位未満の端数データか
ら、前記連鎖データに基づいて、当該端数データと同じ
長さの出力データを生成する端数データ処理手段とを備
えることを特徴とする復号化処理装置。
16. A decryption processing device for performing decryption processing in block units based on input data including key data and data to be decrypted to generate output data, the influence of previous data. Storing the chain data used to affect the subsequent data, and updating the chain data each time the decoding process is performed, and the chain data stored in the storage unit, a predetermined conversion A conversion unit for generating conversion data by performing the above, a fusion unit for fusing the conversion data with key data to generate fusion key data, and a main decryption process specified by the fusion key data, A main decoding processing means for generating output data from the decoding processing data and outputting intermediate data generated in the process of generating the output data, and the storage means stores the intermediate data. As the chain data, the chain data stored by itself is updated and is subjected to the next decoding process, and the decoding processing device further sets the decoding target data in block units having a predetermined number of bits. While dividing, in order, a block preparing means for preparing one block of decoded data to be processed next, and a block less than a block unit generated when the block preparing means divides the decoded data into blocks A decoding processing device, comprising: fraction data processing means for generating output data having the same length as the fraction data from the fraction data based on the chain data.
【請求項17】 前記端数データ処理手段は、 前記連鎖データから、前記端数データと同じ長さの端数
連鎖データを生成するデータ整合手段と、 端数連鎖データを端数データに融合して、当該端数デー
タと同じ長さの出力データを生成する端数データ融合手
段とを含むことを特徴とする請求項16記載の復号化処
理装置。
17. The fraction data processing unit merges the fraction data with the data matching unit that generates fraction chain data having the same length as the fraction data from the chain data, and merges the fraction data with the fraction data. 17. The decoding processing device according to claim 16 , further comprising: a fractional data merging unit that generates output data having the same length as that of.
【請求項18】 前記端数データ処理手段は、 前記変換データから、前記端数データと同じ長さの整合
データを生成するデータ整合手段と、 整合データを端数データに融合して、当該端数データと
同じ長さの出力データを生成する端数データ融合手段と
を含むことを特徴とする請求項16記載の復号化処理装
置。
18. The fraction data processing means merges the matching data with the fraction data to generate matching data having the same length as the fraction data from the converted data, and the matching data is the same as the fraction data. The decoding processing device according to claim 16 , further comprising: a fractional data fusion unit that generates length output data.
JP27116799A 1997-04-23 1999-09-24 Encryption processing device and decryption processing device Expired - Fee Related JP3442011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27116799A JP3442011B2 (en) 1997-04-23 1999-09-24 Encryption processing device and decryption processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-105609 1997-04-23
JP10560997 1997-04-23
JP27116799A JP3442011B2 (en) 1997-04-23 1999-09-24 Encryption processing device and decryption processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10114009A Division JP3035889B2 (en) 1997-04-23 1998-04-23 Encryption processing device and decryption processing device

Publications (2)

Publication Number Publication Date
JP2000075787A JP2000075787A (en) 2000-03-14
JP3442011B2 true JP3442011B2 (en) 2003-09-02

Family

ID=26445863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27116799A Expired - Fee Related JP3442011B2 (en) 1997-04-23 1999-09-24 Encryption processing device and decryption processing device

Country Status (1)

Country Link
JP (1) JP3442011B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2106641A4 (en) * 2007-01-26 2011-12-14 Safenet Inc File encryption while maintaining file size

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
D.W.Davies,W.L.Price著,上園忠弘監訳,ネットワーク・セキュリティ,日経マグロウヒル,1985年12月 5日,p.85−102
E.Biham,Cryptanalysis of Multiple Modes of Operation, Lecture Notesin Computer Science,Vol.917,p.278−292
E.Biham,L.R.Knudsen,Cryptanalysis of the ANSI X9.52 CBCM Mode, Lecture Notes in Computer Science,Vol.1403,p.100−111
E.Biham,On Modes of Operation, Lecture Notes in Computer Science,Vol.809,p.116−120

Also Published As

Publication number Publication date
JP2000075787A (en) 2000-03-14

Similar Documents

Publication Publication Date Title
KR100477230B1 (en) Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
US5745577A (en) Symmetric cryptographic system for data encryption
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US5768390A (en) Cryptographic system with masking
JPH0863097A (en) Method and system for symmetric encoding for encoding of data
EP1319280A2 (en) Parallel bock encryption method and modes for data confidentiality and integrity protection
JP2008122967A (en) Message authentication code generation method using stream cipher, authentication encryption method using stream cipher, and authentication decryption method using stream cipher
Mahendran et al. Generation of key matrix for hill cipher encryption using classical cipher
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
Parihar et al. Blowfish algorithm: a detailed study
JP2002510058A (en) Method for cryptographic conversion of binary data blocks
JP3035889B2 (en) Encryption processing device and decryption processing device
KR100551992B1 (en) Application data encryption and decryption method
Raut et al. A Comprehensive Review of Cryptographic Algorithms
JP3442010B2 (en) Encryption processing device and decryption processing device
Kumar et al. Expansion of Round Key generations in Advanced Encryption Standard for secure communication
JP3442011B2 (en) Encryption processing device and decryption processing device
Carter et al. Key schedule classification of the AES candidates
EP1001398B1 (en) Ciphering apparatus
Ojha et al. An Innovative Approach to Enhance the Security of Data Encryption Scheme
JP2002023624A (en) Block cipher communication method and device therefor, and recording medium with block cipher communication program recorded thereon
Ajlouni et al. A New Approach in Key Generation and Expansion in Rijndael Algorithm.
ايناس طارق et al. Image Encryption and decryption using CAST-128 with proposed adaptive key
CN110278206B (en) A BWE Encryption Algorithm Based on Double Private Keys
JP2000089666A (en) Encryption / decryption device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees