JPH0814748B2 - Data diffusion mechanism - Google Patents

Data diffusion mechanism

Info

Publication number
JPH0814748B2
JPH0814748B2 JP63004185A JP418588A JPH0814748B2 JP H0814748 B2 JPH0814748 B2 JP H0814748B2 JP 63004185 A JP63004185 A JP 63004185A JP 418588 A JP418588 A JP 418588A JP H0814748 B2 JPH0814748 B2 JP H0814748B2
Authority
JP
Japan
Prior art keywords
data
bit
processing
exclusive
rotating
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 - Lifetime
Application number
JP63004185A
Other languages
Japanese (ja)
Other versions
JPH01179987A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP63004185A priority Critical patent/JPH0814748B2/en
Publication of JPH01179987A publication Critical patent/JPH01179987A/en
Publication of JPH0814748B2 publication Critical patent/JPH0814748B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、暗号装置の中核となるデータ拡散装置に
関するものである。
The present invention relates to a data diffusion device which is the core of an encryption device.

「従来の技術」 従来、データ暗号方式として、FEAL(「清水,宮口:
“高速データ暗号アルゴリズムFEAL",電子情報通信学会
論文誌 D Vol.J70−D No.7pp.1413−1423(1987)」参
照、ただし、FEALはこの論文に記載されている4段デー
タ処理から8段データ処理に1987年10月に仕様を変更し
ている)が知られている。
"Conventional technology" Conventionally, FEAL ("Shimizu, Miyaguchi:
See “High-speed data encryption algorithm FEAL”, IEICE Transactions D Vol.J70-D No.7pp.1413-1423 (1987) ”, where FEAL is 8 steps from the 4-step data processing described in this paper. The specification has been changed in October 1987 for the step data processing).

第3図にFEALの構造を示す。第3図において、1は鍵
スケジュール部、2はデータ処理部、Pは64ビットの平
文データ、Kは64ビットの秘密鍵、Cは64ビットの暗号
文、fおよびfkはそれぞれデータ処理部、鍵スケジュー
ル部において32ビットのデータの拡散処理を行う処理
部、はビット毎の排他的論理和を示している。
Figure 3 shows the structure of FEAL. In FIG. 3, 1 is a key scheduling unit, 2 is a data processing unit, P is 64-bit plaintext data, K is a 64-bit secret key, C is a 64-bit ciphertext, f and fk are data processing units, respectively. The processing unit that performs the diffusion process of 32-bit data in the key scheduling unit indicates an exclusive OR for each bit.

第3図に示したFEALの動作を簡単に説明する。FEALは
64ビットの秘密鍵を用いて64ビットの平文を処理し、64
ビットの暗号文を生成する暗号方式であり、ソフトウェ
アでの処理に適した暗号方式である。
The operation of the FEAL shown in FIG. 3 will be briefly described. FEAL is
Process 64-bit plaintext with 64-bit private key
This is an encryption method that generates a bit ciphertext and is suitable for software processing.

まず、1の鍵スケジュール部について説明する。入力
された64ビットの秘密鍵は32ビットずつの左右のデータ
に分けられる。左データは右データをパラメータデータ
とし、32ビットのデータ拡散処理部fkによって拡散さ
れ、32ビットの中間鍵および次段の右データとなる。ま
た、右データは前述の通り、データ拡散処理部fkのパラ
メータとなる他、次段の左データとなる。以下、合計8
段このデータ拡散処理部fkを用いた処理を行うが、2段
目以降はデータ拡散処理部fkのパラメータデータに1段
前のデータ拡散処理部fkへの入力左データを排他的論理
和で加えている。このようにして、1の鍵スケジュール
部は、64ビットの秘密鍵Kから256ビットの中間鍵Kiを
生成する。
First, the one key schedule part will be described. The input 64-bit private key is divided into left and right data of 32 bits each. The left data has the right data as parameter data and is spread by the 32-bit data spreading processing unit fk to be a 32-bit intermediate key and the right data of the next stage. As described above, the right data serves as the parameter of the data diffusion processing unit fk and also serves as the left data of the next stage. Below, total 8
The process using this data diffusion processing unit fk is performed, but from the second stage onward, the input left data to the data diffusion processing unit fk of the previous stage is added by exclusive OR to the parameter data of the data diffusion processing unit fk. ing. In this way, the key schedule unit of 1 generates the 256-bit intermediate key Ki from the 64-bit secret key K.

次に、2のデータ処理部について説明する。入力され
た64ビットの平文は、まず、64ビットの中間鍵がビット
毎の排他的論理和で加えられ、その排他的論理和出力は
左右32ビットずつのデータに分けられる。続いて、右デ
ータと左データのビット毎の排他的論理和をとって新し
く右データとする。この右データを次段の左処理とし、
この右データをデータ拡散処理部fによって、16ビット
の中間鍵を用いて拡散処理し、さらに、その拡散処理出
力と左データとのビット毎の排他的論理和をとって次段
の右データとする。以下、合計8段のデータ拡散処理部
fを用いた処理を行うが、最終段については、左右デー
タの入れ替えをせず、右データと左データのビット毎の
排他的論理和をとって新しく右データとし、これと左デ
ータとを合成し、その合成出力に対し最後に64ビットの
中間鍵がビット毎の排他的論理和で加えられ、最終出力
を得る。
Next, the second data processing unit will be described. The input 64-bit plaintext is first added with a 64-bit intermediate key by bitwise exclusive OR, and the exclusive OR output is divided into left and right 32-bit data. Then, the bitwise exclusive OR of the right data and the left data is taken to obtain new right data. This right data is the next left processing,
This right data is spread by the data spreading processor f using a 16-bit intermediate key, and the bitwise exclusive OR of the spread output and the left data is taken to obtain the right data of the next stage. To do. Hereinafter, processing using the data diffusion processing unit f having a total of eight stages is performed, but in the final stage, the right and left data are not exchanged, and the exclusive OR of each bit of the right data and the left data is taken and a new right is obtained. The data is combined with the left data, and a 64-bit intermediate key is finally added to the combined output by bitwise exclusive OR to obtain the final output.

次に、FEALのデータ処理部で用いられているデータ拡
散処理部fについて説明する。第4図にデータ拡散処理
部fの構造を示す。第4図において、Aは32ビットの入
力データ、Bは32ビットの出力データ、A1〜A4はAを4
分割した各8ビット、Kfは16ビットの中間鍵、はビッ
ト毎の排他的論理和、ADDは加算(最上位ビットからの
桁上がりは無視)、ROLは左方向への1ビット回転処
理、+1→および←+1は1の加算を示している。
Next, the data diffusion processing unit f used in the FEAL data processing unit will be described. FIG. 4 shows the structure of the data diffusion processing unit f. In FIG. 4, A is 32-bit input data, B is 32-bit output data, and A1 to A4 are A = 4.
Each divided 8-bit, Kf is 16-bit intermediate key, is bitwise exclusive OR, ADD is addition (carry from the most significant bit is ignored), ROL is 1-bit rotation processing to the left, +1 → and ← + 1 indicate addition of 1.

データ拡散処理部fは次のように動作する。まず、入
力された32ビットのデータはA1〜A4の各8ビットの4デ
ータに分けられる。A2とA3には中間鍵Kfがビット毎の排
他的論理和で加算されて新しくA2,A3のデータとされ
る。さらに、その新しいA2にはA1が、またA3にはA4が排
他的論理和で加えられる。次に、A2とA3を加算しさらに
1を加算した後、左方向に2ビットのビット回転処理を
施して新しくA2のデータとする。A3については、A3と前
記新しいA2を加算して左方向に2ビットのビット回転処
理を施して新しくA3のデータとする。A1については、A1
と前記新しいA2を加算して左方向に2ビットのビット回
転処理を施して新しくA1のデータとする。A4について
は、A4と前記新しいA3を加算しさらに1を加算した後、
左方向に2ビットのビット回転処理を施して新しくA4の
データとする。以上一連の処理を順に施すことにより、
32ビットの出力データBを得る。
The data diffusion processing unit f operates as follows. First, the input 32-bit data is divided into four 8-bit data of A1 to A4. The intermediate key Kf is added to A2 and A3 by bitwise exclusive OR to obtain new data of A2 and A3. In addition, A1 is added to the new A2 and A4 is added to A3 by exclusive OR. Next, after adding A2 and A3 and further adding 1, bit rotation processing of 2 bits is performed in the left direction to obtain new data of A2. As for A3, A3 and the new A2 are added, and 2-bit bit rotation processing is performed in the left direction to obtain new A3 data. For A1, A1
And the new A2 are added, and bit rotation processing of 2 bits is performed in the left direction to obtain new A1 data. For A4, after adding A4 and the new A3 and adding 1,
A bit rotation process of 2 bits is performed to the left and new A4 data is obtained. By performing the above series of processing in order,
Obtain 32-bit output data B.

「発明が解決しようとする課題」 以上説明したFEALのデータ拡散処理部fは、FEALのデ
ータランダム化性能および速度性能に最も影響する処理
部である。このデータ拡散処理部fを用いたFEALは優れ
たデータランダム化性能を有しており、データ処理部の
3段目の処理を終えた段階で、データはほぼ完全に乱数
化されている。
[Problems to be Solved by the Invention] The FEAL data diffusion processing unit f described above is a processing unit that most affects FEAL data randomization performance and speed performance. The FEAL using the data diffusion processing unit f has excellent data randomization performance, and the data is almost completely randomized at the stage when the third processing of the data processing unit is completed.

このデータ拡散処理部fを速度性能の点から見てみる
と、ソフトウェアでの高速処理を追求した設計となって
いる。データ拡散処理部fは、1バイトデータの排他的
論理和4回、1バイトデータの加算4回、1バイトデー
タの1ビット回転8回の処理で実現できる。
From the viewpoint of speed performance, the data diffusion processing unit f is designed to pursue high-speed processing by software. The data diffusion processing unit f can be realized by processing of exclusive OR of 1-byte data 4 times, addition of 1-byte data 4 times, and 1-bit rotation of 1-byte data 8 times.

次に、LSIなどのハードウェアで実現した場合を考え
る。この場合、データ拡散処理部fは、データの拡散効
率を向上させるため、4分割したデータのうちの一つの
データの拡散処理の処理結果を新しく他のデータの拡散
処理に用いている。このため、並列処理が可能な箇所が
限られ、これがハードウェアでの処理速度の向上を妨げ
ている。第4図に点線で示すように、データ拡散処理部
fをハードウェアで構成した場合、2段の排他的論理和
処理と、3段の加算とビット回転処理の構成となる。
Next, consider the case where it is realized by hardware such as LSI. In this case, the data diffusion processing unit f newly uses the processing result of the diffusion processing of one of the four divided data for the diffusion processing of other data in order to improve the data diffusion efficiency. Therefore, the places where parallel processing is possible are limited, which hinders the improvement of the processing speed in hardware. As shown by the dotted line in FIG. 4, when the data diffusion processing unit f is configured by hardware, it has a configuration of two stages of exclusive OR processing, three stages of addition and bit rotation processing.

FEALは構造的強度の関係から8段処理としている。従
って、データ拡散処理部fによる現状3段でのデータラ
ンダム性の飽和性能を多少落としたとしても、8段以内
の飽和であれば暗号強度の観点からは同一効果である。
FEAL is treated in 8 steps because of its structural strength. Therefore, even if the saturation performance of the data randomness in the current three rounds by the data diffusion processing unit f is slightly lowered, if the saturation is within eight rounds, the same effect is obtained from the viewpoint of encryption strength.

この発明の目的は、データ拡散効率を維持しながら、
ハードウェアで高速に処理できるデータ拡散機構を提供
することにある。
The object of the present invention is to maintain data diffusion efficiency while
It is to provide a data diffusion mechanism that can be processed at high speed by hardware.

「課題を解決するための手段」 請求項1の発明によれば入力データがデータ長方向に
おいて等しいデータ長の左右二つのデータに分割され、
これら分割された左右データに対し上記パラメータデー
タを加算もしくは排他的論理和で融合され、その融合さ
れた二つのデータが第1加算手段で加算されて左データ
とされ、上記融合された二つのデータが第2加算手段で
加算されて右データとされ、上記第1加算手段の二つの
入力のデータの少くとも一方は第1ビット回転手段でビ
ット回転され、上記第2加算手段の二つの入力データの
少くとも一方は第2ビット回転手段でビット回転され
る。
[Means for Solving the Problem] According to the invention of claim 1, the input data is divided into two pieces of left and right data having the same data length in the data length direction,
The above-mentioned parameter data is added to the divided left and right data or fused by exclusive OR, and the two fused data are added by the first adding means to form left data, and the two fused data Is added to the right data by the second adding means, and at least one of the two input data of the first adding means is bit-rotated by the first bit rotating means to obtain the two input data of the second adding means. At least one of the two is rotated by the second bit rotating means.

請求項2の発明によれば入力データがデータ長方向に
おいて等しいデータ長の第1から第4の4つのデータに
分割され、これら4つのデータの一部(第1及び第4デ
ータ)又は全部にパラメータデータが加算もしくは排他
的論理和で融合され、第2データと第1データが排他的
論理和で融合されて第2データとされ、第3データと第
4データが排他的論理和で融合されて第3データとさ
れ、第1データと第3データとが第1加算手段で加算さ
れて第1データとされ、第2データと第3データが第2
加算手段で加算されて第2データとされ、第3データと
第2データが第3加算手段で加算されて第3データとさ
れ、第4データと第2データが第4加算手段で加算され
て第4データとされ、上記第1加算手段の二つの入力デ
ータの少くとも一方が第1ビット回転手段でビット回転
され、上記第2加算手段の二つの入力データの少くとも
一方が第2ビット回転手段でビット回転され、上記第3
加算手段の二つの入力データの少くとも一方が第3ビッ
ト回転手段でビット回転され、上記第4加算手段の二つ
の入力データの少くとも一方が第4ビット回転手段でビ
ット回転される。
According to the invention of claim 2, the input data is divided into the first to fourth data having the same data length in the data length direction, and a part (first and fourth data) or all of these four data are divided. Parameter data is added or fused by exclusive OR, second data and first data are fused by exclusive OR to become second data, and third data and fourth data are fused by exclusive OR. To be the third data, the first data and the third data are added by the first adding means to be the first data, and the second data and the third data are the second data.
The third data is added to the third data by the third adding means, and the fourth data and the second data are added by the fourth adding means. 4th data, at least one of the two input data of the first adding means is bit-rotated by the first bit rotating means, and at least one of the two input data of the second adding means is the second bit rotating. The bit is rotated by means, and the third
At least one of the two input data of the adding means is bit-rotated by the third bit rotating means, and at least one of the two input data of the fourth adding means is bit-rotated by the fourth bit rotating means.

ここでビット回転とはデータを上位桁あるいは下位桁
方向に1ないし複数ビットずらし、あふれたビットデー
タについては、上位桁方向にずらす場合にはそのまま下
位桁のデータとして補填し、また、下位桁方向にずらす
場合にはそのまま上位桁のデータとすることである。
Here, the bit rotation means shifting the data by 1 or more bits toward the upper digit or the lower digit. When the overflowed bit data is shifted toward the upper digit, it is compensated as the lower digit data. In the case of shifting to, it is to use the upper digit data as it is.

このような構成であるため並列処理することができ、
この発明のデータ拡散機構を組み込んだ暗号LSIは、従
来のものよりさらに高速処理が可能となる。
With such a configuration, it is possible to perform parallel processing,
The cryptographic LSI incorporating the data diffusion mechanism of the present invention enables higher speed processing than the conventional one.

「実施例」 第1図は、請求項2の発明の実施例を示している。第
1図において、Aは32ビットの入力データ、Bは32ビッ
トの出力データ、A1〜A4はAを4分割した各8ビット、
Kfは16ビットの中間鍵、はビット毎の排他的論理和、
ADDは加算(最上位ビットからの桁上がりは無視)、ROL
は左方向への1ビット回転処理、RORは右方向への1ビ
ット回転処理を示している。
“Embodiment” FIG. 1 shows an embodiment of the invention of claim 2. In FIG. 1, A is input data of 32 bits, B is output data of 32 bits, A1 to A4 are 8 bits obtained by dividing A into four,
Kf is a 16-bit intermediate key, is a bitwise exclusive OR,
ADD is addition (carry from the most significant bit is ignored), ROL
Indicates 1-bit rotation processing to the left, and ROR indicates 1-bit rotation processing to the right.

第1図に示した実施例は、次のように動作する。ま
ず、入力された32ビットのデータはA1〜A4の各8ビット
の4データに分けられる。A1とA4には中間鍵Kfがビット
毎の排他的論理和で加算される。さらに、A2にはその加
算されたA1が、またA3には加算されたA4が排他的論理和
で加えられる。続いて、 ・A1を左方向に1ビット回転したデータと、A3を右方向
に1ビット回転したデータを加算して新しくA1のデータ
とする。
The embodiment shown in FIG. 1 operates as follows. First, the input 32-bit data is divided into four 8-bit data of A1 to A4. The intermediate key Kf is added to A1 and A4 by bitwise exclusive OR. Further, the added A1 is added to A2, and the added A4 is added to A3 by exclusive OR. Then, add the data obtained by rotating A1 by 1 bit to the left and the data obtained by rotating A3 by 1 bit to the right to obtain new data of A1.

・A2を左方向に1ビット回転したデータと、A3を右方向
に1ビット回転したデータを加算して新しくA2のデータ
とする。
-Add the data obtained by rotating A2 by 1 bit to the left and the data obtained by rotating A3 by 1 bit to the right to obtain new A2 data.

・A3を左方向に1ビット回転したデータと、A2を右方向
に1ビット回転したデータを加算して新しくA3のデータ
とする。
-Add the data obtained by rotating A3 leftward by 1 bit and the data obtained by rotating A2 rightward by 1 bit to obtain new A3 data.

・A4を左方向に1ビット回転したデータと、A2を右方向
に1ビット回転したデータを加算して新しくA4のデータ
とする。
-Add the data obtained by rotating A4 leftward by 1 bit and the data obtained by rotating A2 rightward by 1 bit to obtain new A4 data.

以上4つの処理を並列に行い、32ビットの出力Bを得
る。
The above four processes are performed in parallel to obtain a 32-bit output B.

この実施例のデータ拡散機構の性能について述べる。
まず、ソフトウェアで実現した場合、1バイトデータの
排他的論理和4回、1バイトデータの加算4回、1バイ
トデータの1ビット回転8回の処理で実現できる。これ
は、先に示したFEALと同じ性能である。従って、この実
施例のデータ拡散機構をFEALのデータ拡散処理fと置き
換えた場合、ソフトウェアの速度性能はほぼ同一であ
る。
The performance of the data diffusion mechanism of this embodiment will be described.
First, when it is realized by software, it can be realized by processing of exclusive OR of 1-byte data 4 times, addition of 1-byte data 4 times, and 1-bit rotation of 1-byte data 8 times. This is the same performance as FEAL shown above. Therefore, when the data diffusion mechanism of this embodiment is replaced with the FEAL data diffusion processing f, the speed performance of the software is almost the same.

次に、この実施例をハードウェアで実現した場合、第
1図中に点線で示した処理を並列化することができる。
従って、2段の排他的論理和処理と、1段の加算とビッ
ト回転処理の構成となる。これは、FEALが2段の排他的
論理和処理と、3段の加算とビット回転処理であった場
合と比較して、2〜3倍の速度性能を実現できる。
Next, if this embodiment is realized by hardware, the processing indicated by the dotted line in FIG. 1 can be parallelized.
Therefore, the two-stage exclusive OR processing and the one-stage addition and bit rotation processing are configured. This can realize a speed performance of 2 to 3 times as compared with the case where the FEAL is the two-stage exclusive OR processing and the three-stage addition and bit rotation processing.

この実施例のデータ拡散性能を調べるために、FEALの
データ拡散処理部fと差し替えて統計的にデータの拡散
性能を評価する実験を行った。これによると、この実施
例のデータ拡散機構を組み込んだFEALは、5〜6段目の
処理でほぼ完全な乱数になることを確認している。これ
は、3段処理でほぼ乱数になったFEALに比較して劣る
が、FEALの処理段数である8段以内の飽和であるので、
暗号強度の観点からは同一効果である。
In order to investigate the data diffusion performance of this embodiment, an experiment was carried out in which the data diffusion performance was statistically evaluated by replacing the data diffusion processor f of FEAL. According to this, it has been confirmed that the FEAL incorporating the data diffusion mechanism of this embodiment becomes almost perfect random numbers in the processing of the fifth to sixth stages. This is inferior to FEAL, which has been almost randomized in the three-stage processing, but since it is within 8 stages, which is the number of FEAL processing stages,
The same effect is obtained from the viewpoint of encryption strength.

この発明の実施例においては、第1図のA2におけるビ
ット変化がA1に、またA3におけるビット変化がA4にそれ
ぞれ影響を与えない。もちろん、この実施例は多段に組
み合わせて用いるため問題にはならないが、さらに、ビ
ット拡散効率を高めるためには、この実施例において、
加算の並列処理が終わった時点で、A1とA2の排他的論理
和を新しくA1に、また、A3とA4の排他的論理和を新しく
A4にそれぞれ置き換える処理を追加すれば、乱数飽和の
処理段数をほぼ1段減らすことができる。
In the embodiment of the present invention, the bit change at A2 in FIG. 1 does not affect A1 and the bit change at A3 does not affect A4. Of course, this embodiment is not a problem because it is used in combination in multiple stages, but in order to further improve the bit diffusion efficiency, in this embodiment,
When the parallel processing of addition is completed, the exclusive OR of A1 and A2 is newly set to A1, and the exclusive OR of A3 and A4 is newly set.
The number of processing steps for random number saturation can be reduced by almost one by adding processing to replace A4.

また、この実施例では、中間鍵を排他的論理和で融合
したが、これを加算によって融合すれば、ビット拡散効
率を向上できると同時に、その桁上がりによってデータ
の定数性を崩すため、さらに安全性を向上できる。各AD
Dで加算される二つのデータの一方がビット回転されて
ないものでもよい。ビット回転数あるいは加算で融合す
るデータの組合せには種々のバリエーションが考えられ
る。
Further, in this embodiment, the intermediate keys are fused by exclusive OR, but if they are fused by addition, the bit diffusion efficiency can be improved, and at the same time, the carry will destroy the constant property of the data, so that it is more secure. You can improve the property. Each AD
One of the two data added in D may not be bit-rotated. Various variations are conceivable in the combination of data fused by bit rotation speed or addition.

以上述べたこの実施例の拡張は、いずれも速度性能と
のトレードオフである。
The expansions of this embodiment described above are all trade-offs with speed performance.

第2図に、請求項1の発明の実施例を示す。第2図に
おいて、Aは32ビットの入力データ、Bは32ビットの出
力データ、AL,ARはAを左右に2分割した各16ビット、K
fは16ビットの中間鍵、はビット毎の排他的論理和、A
DDは加算(最上位ビットからの桁上がりは無視)、ROL
は左方向への1ビット回転処理、RORは右方向への1ビ
ット回転処理を示している。
FIG. 2 shows an embodiment of the invention of claim 1. In FIG. 2, A is 32-bit input data, B is 32-bit output data, AL and AR are 16-bit data obtained by dividing A into two left and right parts, and K.
f is a 16-bit intermediate key, is a bitwise exclusive OR, A
DD is addition (carry from the most significant bit is ignored), ROL
Indicates 1-bit rotation processing to the left, and ROR indicates 1-bit rotation processing to the right.

第2図に示した実施例は、次のように動作する。ま
ず、入力された32ビットのデータはAL,ARの各16ビット
の2データに分けられる。AL,ARには中間鍵Kfがビット
毎の排他的論理和で加えられる。続いて、 ・ALを左方向に3ビット回転したデータと、ARを右方向
に3ビット回転したデータを加算して新しくALのデータ
とする。
The embodiment shown in FIG. 2 operates as follows. First, the input 32-bit data is divided into 2 data of 16 bits each for AL and AR. An intermediate key Kf is added to AL and AR by bitwise exclusive OR. Then, add AL data rotated 3 bits to the left and data rotated AR to the right 3 bits to obtain new AL data.

・ARを左方向に3ビット回転したデータと、ALを右方向
に3ビット回転したデータを加算して新しくARのデータ
とする。
・ Add the data obtained by rotating AR by 3 bits to the left and the data obtained by rotating AL by 3 bits to the right to obtain new AR data.

以上2つの処理を並列に行い。32ビットの出力Bを得
る。
The above two processes are performed in parallel. Get the 32-bit output B.

この実施例のデータ拡散機構の性能について述べる。
まず、ソフトウェアで実現した場合、2バイトデータの
排他的論理和2回、2バイトデータの加算2回、2バイ
トデータの1ビット回転12回の処理で実現できる。ソフ
トウェアの速度性能はFEALとほぼ同一である。
The performance of the data diffusion mechanism of this embodiment will be described.
First, when it is realized by software, it can be realized by processing of exclusive OR of 2 byte data 2 times, addition of 2 byte data 2 times, 1 bit rotation of 2 byte data 12 times. The speed performance of the software is almost the same as FEAL.

次に、この実施例をハードウェアで実現した場合、第
2図中に点線で示した処理を並列化することができる。
従って、1段の排他的論理和処理と、1段の加算とビッ
ト回転処理の構成となる。これは、FEALが2段の排他的
論理和処理と、3段の加算とビット回転処理であった場
合と比較して、2〜3倍の速度性能を実現できる。
Next, if this embodiment is realized by hardware, the processing indicated by the dotted line in FIG. 2 can be parallelized.
Therefore, it has a configuration of one-stage exclusive OR processing, one-stage addition and bit rotation processing. This can realize a speed performance of 2 to 3 times as compared with the case where the FEAL is the two-stage exclusive OR processing and the three-stage addition and bit rotation processing.

この実施例のデータ拡散性能を組み込んだFEALは、5
段目の処理でほぼ完全な乱数になることを確認してい
る。これは、3段処理でほぼ乱数になったFEALに比較し
て劣るが、FEALの処理段数である8段以内の飽和である
ので、暗号強度の観点からは同一効果である。
The FEAL incorporating the data diffusion performance of this embodiment has 5
It has been confirmed that almost complete random numbers are obtained in the processing of the first stage. This is inferior to FEAL, which is almost randomized in the three-stage processing, but it is the same effect from the viewpoint of encryption strength because it is saturated within 8 stages which is the number of processing stages of FEAL.

この実施例では、中間鍵を排他的論理和で融合した
が、これを加算によって融合すれば、ビット拡散効率を
向上できると同時に、その桁上がりによってデータの定
数性を崩すため、さらに安全性を向上できる。各ADDで
加算される二つのデータの一方はビット回転されてない
ものでもよい。また、ビット回転数あるいは加算で融合
するデータの組合せには種々のバリエーションが考えら
れる。実験によると、ビット回転数は2ビット以上が有
効である。
In this embodiment, the intermediate keys are fused by exclusive OR, but if they are fused by addition, the bit diffusion efficiency can be improved and, at the same time, the carry reduces the constant property of the data, thus further increasing the security. Can be improved. One of the two data added in each ADD may not be bit-rotated. In addition, various variations are conceivable in the combination of the bit rotation speed or the data fused by addition. According to experiments, it is effective that the bit rotation speed is 2 bits or more.

以上述べたこの実施例の拡張は、いずれも速度性能と
のトレードオフである。
The expansions of this embodiment described above are all trade-offs with speed performance.

「発明の効果」 以上説明したように、この発明のデータ拡張機構は、
データを拡散処理するために、ビット回転したデータの
融合処理を用いている。このため、従来の同種の機構に
比べ、並列処理に適した構成となっており、LSIなどの
ハードウェアで実現した場合、従来の技術に比べさらに
高速処理が可能となる。
"Effects of the Invention" As described above, the data expansion mechanism of the present invention is
In order to spread the data, a fusion process of bit rotated data is used. For this reason, the structure is more suitable for parallel processing than the conventional mechanism of the same kind, and when realized by hardware such as LSI, higher speed processing is possible as compared with the conventional technology.

従来技術であるFEALは約80Mbpsの暗号化速度性能を有
するLSIとして実現されている。この発明のデータ拡散
機構をFEALに適用すれば、この2〜3倍の性能、すなわ
ち、200Mbpsに達する性能のLSIを実現することができ
る。これにより、従来、処理速度の点でFEALを適用でき
なかった領域、たとえば将来の高速LANにおける動画の
伝送(1チャンネル100Mbps程度)などにも、暗号によ
るセキュリティ対策を施すことができるようになる。
The conventional FEAL is realized as an LSI having an encryption speed performance of about 80 Mbps. If the data diffusion mechanism of the present invention is applied to FEAL, it is possible to realize an LSI having performance that is two to three times as high as this, that is, performance that reaches 200 Mbps. As a result, it becomes possible to implement security measures by encryption in areas where FEAL cannot be applied in the past in terms of processing speed, such as moving image transmission in a high-speed LAN in the future (about 100 Mbps per channel).

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

第1図は請求項2の発明の実施例を示すブロック図、第
2図は請求項1の発明の実施例を示すブロック図、第3
図はデータ暗号方式FEALの構造を示すブロック図、第4
図はFEALにおいて用いられている従来技術のデータ拡散
処理部fの構造を示すブロック図である。
1 is a block diagram showing an embodiment of the invention of claim 2, FIG. 2 is a block diagram showing an embodiment of the invention of claim 1, and FIG.
Fig. 4 is a block diagram showing the structure of the data encryption method FEAL.
The figure is a block diagram showing the structure of a conventional data diffusion processing unit f used in FEAL.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】入力データをパラメータデータを用いて拡
散処理して出力データを得るデータ拡散機構において、 上記入力データをデータ長方向において等しいデータ長
の左右二つのデータに分割する手段と、 これら分割された左右データに対し上記パラメータデー
タを加算もしくは排他的論理和で融合させる手段と、 その融合された二つのデータを加算して左データとする
第1加算手段と、 上記融合された二つのデータを加算して右データとする
第2加算手段と、 上記第1加算手段の二つの入力のデータの少くとも一方
をビット回転する第1ビット回転手段と、上記第2加算
手段の二つの入力データの少くとも一方をビット回転す
る第2ビット回転手段とを備えたデータ拡散機構。
1. A data diffusion mechanism that obtains output data by subjecting input data to diffusion processing using parameter data, and means for dividing the input data into two pieces of left and right data having equal data lengths in the data length direction, and these divisions. Means for adding the above parameter data to the merged left and right data or merging them by exclusive OR, first adding means for adding the merged two data into left data, and the above two merged data To add to the right data, a first bit rotating means for bit-rotating at least one of the two input data of the first adding means, and two input data of the second adding means. And a second bit rotating means for rotating at least one of the two.
【請求項2】入力データをパラメータデータを用いて拡
散処理して出力データを得るデータ拡散機構において、 上記入力データをデータ長方向において等しいデータ長
の第1から第4の4つのデータに分割する手段と、 これら4つのデータの一部(第1及び第4データ)又は
全部にパラメータデータを加算もしくは排他的論理和で
融合する手段と、 第2データと第1データを排他的論理和で融合して第2
データとする手段と、 第3データと第4データを排他的論理和で融合して第3
データとする手段と、 第1データと第3データを加算して第1データとする第
1加算手段と、 第2データと第3データを加算して第2データとする第
2加算手段と、 第3データと第2データを加算して第3データとする第
3加算手段と、 第4データと第2データを加算して第4データとする第
4加算手段と、 上記第1加算手段の二つの入力データの少くとも一方を
ビット回転させる手段と、 上記第2加算手段の二つの入力データの少くとも一方を
ビット回転させる手段と、 上記第3加算手段の二つの入力データの少くとも一方を
ビット回転させる手段と、 上記第4加算手段の二つの入力データの少くとも一方を
ビット回転させる手段と、 を備えるデータ拡散機構。
2. A data diffusion mechanism that obtains output data by subjecting input data to diffusion processing using parameter data, and dividing the input data into four pieces of first to fourth data having equal data lengths in the data length direction. Means, means for adding parameter data to some or all of these four data (first and fourth data) or fusion by exclusive OR, and fusion of second data and first data by exclusive OR Then second
The means for making the data and the third data and the fourth data fused by exclusive OR
Data, means for adding the first data and the third data to form the first data, first addition means for adding the second data and the third data to form the second data, and A third adding means for adding the third data and the second data to obtain the third data; a fourth adding means for adding the fourth data and the second data to obtain fourth data; A means for bit-rotating at least one of the two input data, a means for bit-rotating at least one of the two input data of the second adding means, and at least one of the two input data of the third adding means. A bit rotating means, and a means for rotating at least one of the two input data of the fourth adding means by a bit, a data diffusion mechanism.
JP63004185A 1988-01-11 1988-01-11 Data diffusion mechanism Expired - Lifetime JPH0814748B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63004185A JPH0814748B2 (en) 1988-01-11 1988-01-11 Data diffusion mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63004185A JPH0814748B2 (en) 1988-01-11 1988-01-11 Data diffusion mechanism

Publications (2)

Publication Number Publication Date
JPH01179987A JPH01179987A (en) 1989-07-18
JPH0814748B2 true JPH0814748B2 (en) 1996-02-14

Family

ID=11577647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63004185A Expired - Lifetime JPH0814748B2 (en) 1988-01-11 1988-01-11 Data diffusion mechanism

Country Status (1)

Country Link
JP (1) JPH0814748B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box

Also Published As

Publication number Publication date
JPH01179987A (en) 1989-07-18

Similar Documents

Publication Publication Date Title
AU2003213312B2 (en) Block cipher apparatus using auxiliary transformation
US3962539A (en) Product block cipher system for data security
US6314186B1 (en) Block cipher algorithm having a robust security against differential cryptanalysis, linear cryptanalysis and higher-order differential cryptanalysis
US7194090B2 (en) Encryption apparatus, decryption apparatus, expanded key generating apparatus and method therefor, and recording medium
US3958081A (en) Block cipher system for data security
EP1271839B1 (en) AES Encryption circuit
EP0454187B1 (en) Data randomization equipment
JP2760799B2 (en) Encryption method
US20030103626A1 (en) Programmable data encryption engine
JPH11509940A (en) Cryptographic method and apparatus for non-linearly combining data blocks and keys
US7801301B2 (en) Method and circuit for data encryption/decryption
JP2000295212A (en) Method and device for decoding processing of encrypted data
EP1059760A1 (en) Method for the block-encryption of discrete data
JPH0814748B2 (en) Data diffusion mechanism
EP1001398B1 (en) Ciphering apparatus
JP2000075785A (en) High-speed cipher processing circuit and processing method
JP2834450B2 (en) Encryption device
JPH0687187B2 (en) Data diffusion circuit
JP2870532B2 (en) Cryptographic converter
KR100284587B1 (en) Round circuit of symmetric key cryptography
KR100380638B1 (en) A data encryption standard system equipped parallel feistel structure
JP2553913B2 (en) Block cipher data diffuser
CN116132015A (en) Balanced universal key expansion quick method
Kurniawan et al. Implementation of BC3 encryption algorithm on FPGA Zynq-7000
JPH088897A (en) Enciphering/deciphering processing method for data and criptographic device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term