[go: up one dir, main page]

JPH0687187B2 - Data diffusion circuit - Google Patents

Data diffusion circuit

Info

Publication number
JPH0687187B2
JPH0687187B2 JP63080045A JP8004588A JPH0687187B2 JP H0687187 B2 JPH0687187 B2 JP H0687187B2 JP 63080045 A JP63080045 A JP 63080045A JP 8004588 A JP8004588 A JP 8004588A JP H0687187 B2 JPH0687187 B2 JP H0687187B2
Authority
JP
Japan
Prior art keywords
data
bit
byte
exclusive
circulated
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
JP63080045A
Other languages
Japanese (ja)
Other versions
JPH01252989A (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.)
NTT Inc
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 JP63080045A priority Critical patent/JPH0687187B2/en
Publication of JPH01252989A publication Critical patent/JPH01252989A/en
Publication of JPH0687187B2 publication Critical patent/JPH0687187B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

〔従来の技術〕[Conventional technology]

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

第4図に上記FEALの構造を示す。図において、1は鍵ス
ケジュール部、2はデータ処理部、Pは64ビットの平文
データ、Kは64ビットの秘密鍵、Cは64ビットの暗号
文、Ki(i=0〜15)は各16ビット,合計256ビットの
中間鍵、fおよびfkはそれぞれデータ処理部2,鍵スケジ
ュール部1において32ビットのデータの拡散処理を行う
処理部、はビット毎の排他的論理和を示している。
Figure 4 shows the structure of FEAL. In the figure, 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, and Ki (i = 0 to 15) is 16 each. Bits, an intermediate key of 256 bits in total, f and fk are exclusive ORs for each of the data processing unit 2 and the processing unit for performing diffusion processing of 32-bit data in the key scheduling unit 1.

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

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

次に、データ処理部2について説明する。入力された64
ビットの平文は、まず、64ビットの中間鍵がビット毎の
排他的論理和で加えられ、左右32ビットずつのデータに
分けられる。続いて、右データと左データのビット毎の
排他的論理和をとって、新しい右データとする。この右
データを次段の左データとし、この右データをデータ拡
散処理部fによって、16ビットの中間鍵を用いて拡散処
理し、更に、左データとビット毎の排他的論理和をとっ
て次段の右データとする。
Next, the data processing unit 2 will be described. Entered 64
In the plaintext of bits, first, an intermediate key of 64 bits is added by exclusive OR of each bit, and divided into data of 32 bits each on the left and right. Then, the bitwise exclusive OR of the right data and the left data is taken to obtain new right data. The right data is used as the left data of the next stage, the right data is spread by the data spreading processing unit f using the 16-bit intermediate key, and further, the exclusive OR of the left data and each bit is taken to obtain the next data. Use the right data of the column.

以下、合計8段、このデータ拡散処理部fを用いた処理
を行うが、最終段については、左右データの入替えをせ
ず、右データと左データのビット毎の排他的論理和をと
って新しく右データとし、最後に64ビットの中間鍵がビ
ット毎の排他的論理和で加えられ、最終出力を得る。
Hereafter, a total of 8 stages are processed using the data diffusion processing section f, but in the final stage, the right and left data are not exchanged, and the exclusive OR for each bit of the right data and the left data is newly obtained. As the right data, the 64-bit intermediate key is finally added by bitwise exclusive OR to obtain the final output.

次に、上記データ拡散処理部fについて説明する。第5
図にデータ拡散処理部fの構造を示す。第5図におい
て、Aは32ビットの入力データ、Bは32ビットの出力デ
ータ、A1〜A4はAを4分割した各8ビット、Kfは16ビッ
トの中間鍵、また、はビット毎の排他的論理和、ADD
は加算(ここで、最上位からの桁上がりは無視する)、
ROLは左方向への1ビット循環処理、+1→および←+
1は1の加算を示している。
Next, the data diffusion processing section f will be described. Fifth
The structure of the data diffusion processing unit f is shown in the figure. In FIG. 5, A is 32-bit input data, B is 32-bit output data, A1 to A4 are each 8 bits obtained by dividing A into four, Kf is a 16-bit intermediate key, and is exclusive for each bit. OR, ADD
Is addition (here, carry from the top is ignored),
ROL is 1-bit circular processing to the left, +1 → and ← +
1 indicates addition of 1.

データ拡散処理部fは、次のように動作する。まず、入
力された32ビットのデータは、A1〜A4の各8ビットの4
データに分割される。A2とA3には、中間鍵Kfがビット毎
に排他的論理和で加算される。更に、A2にはA1が、ま
た、A3にはA4が、排他的論理和で加えられる。
The data diffusion processing unit f operates as follows. First, the input 32-bit data is 4 bits of 8 bits for each of A1 to A4.
It is divided into data. The intermediate key Kf is added to A2 and A3 by bitwise exclusive OR. Further, A1 is added to A2 and A4 is added to A3 by exclusive OR.

次に、A2とA3を加算し、更に1を加算した後、左方向に
2ビットのビット循環処理を施して新しくA2のデータと
する。A3については、A3とA2を加算して左方向に2ビッ
トのビット循環処理を施して新しくA3のデータとする。
Next, after adding A2 and A3, and further adding 1, bit circulation processing of 2 bits to the left is performed to obtain new data of A2. For A3, A3 and A2 are added together, and 2-bit bit rotation processing is performed leftward to obtain new A3 data.

A1については、A1とA2を加算して左方向に2ビットのビ
ット循環処理を施して新しくA1のデータとする。A4につ
いては、A4とA3を加算し、更に1を加算した後、左方向
に2ビットのビット循環処理を施して新しくA4のデータ
とする。以上の一連の処理を施すことにより、32ビット
の出力データBを得る。
As for A1, A1 and A2 are added together, and 2-bit bit circulation processing is performed to the left to obtain new A1 data. As for A4, after adding A4 and A3, and further adding 1, bit circulation processing of 2 bits to the left is performed to obtain new A4 data. 32-bit output data B is obtained by performing the above series of processing.

上述のFEALのデータ拡散処理部fは、FEALのデータラン
ダム化性能および速度性能に最も影響する処理部であ
る。このデータ拡散処理部fを用いたFEALは、優れたデ
ータランダム化性能を有しており、データ処理部2の3
段目の処理を終えた段階で、データはほぼ完全に乱数化
されている。
The above-mentioned FEAL data diffusion processing unit f 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 processing unit 2 has three
The data is almost completely randomized at the stage where the processing of the first stage is completed.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

このデータ拡散処理部fを、LSI化した場合の速度性能
について考える。FEALのデータ拡散処理部fは、データ
の拡散効率を向上させるため、4分割したデータのうち
の一つのデータの拡散処理の処理結果を新しく他のデー
タの拡散処理に用いている。このため、並列処理が可能
な個所が限られ、これがハードウェアでの処理速度の向
上を妨げている。すなわち、第5図に点線で示す如く、
データ拡散処理部fをハードウェアで構成した場合、2
段の排他的論理和処理と、3段の加算とビット循環処理
の構成となる。
Consider the speed performance when the data diffusion processing unit f is integrated into an LSI. In order to improve the data diffusion efficiency, the data diffusion processing unit f of FEAL newly uses the processing result of the data diffusion processing of one of the four divided data for the data diffusion processing of other data. For this reason, the places where parallel processing is possible are limited, which hinders the improvement of the processing speed in hardware. That is, as shown by the dotted line in FIG.
When the data diffusion processing unit f is configured by hardware, 2
It is configured by exclusive OR processing of stages, addition of three stages, and bit circulation processing.

本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来のデータ拡散処理部の上述の如き問
題を解消し、データ拡散効率を維持しながら、ハードウ
ェアで高速に処理可能なデータ拡散回路を提供すること
にある。
The present invention has been made in view of the above circumstances, and it is an object of the present invention to solve the above-mentioned problems of the conventional data diffusion processing unit and to perform high-speed processing by hardware while maintaining the data diffusion efficiency. To provide a simple data diffusion circuit.

〔課題を解決するための手段〕[Means for Solving the Problems]

本発明の上記目的は、入力データを拡散処理して出力デ
ータを得るデータ拡散回路において、入力データを複数
のデータに分割し、分割したそれぞれのデータを、それ
ぞれのデータの1箇所以上の特定位置のビットの状態に
応じたビット数だけ左方向または右方向に循環させる手
段と、それらの循環したデータを互いにビット対応に融
合させる手段とを設けたことを特徴とするデータ拡散回
路によって達成される。
The above object of the present invention is to divide input data into a plurality of data in a data diffusion circuit that obtains output data by subjecting input data to diffusion processing, and divide each divided data into one or more specific positions of each data. And a means for circulating the number of bits in the leftward or rightward direction according to the state of the bits, and a means for fusing the circulated data corresponding to each other in a bit-wise manner. .

〔作用〕[Action]

本発明に係るデータ拡散回路は、入力データに応じて変
化する入力データのビット循環データを生成し、そのビ
ット循環データを並列に融合処理して出力データを得る
ようにした点に主要な特徴がある。このような並列処理
化を可能としたために、本発明のデータ拡散回路を組込
んだ暗号LSIは、従来のものより更に高速処理が可能に
なるという効果を生ずるものである。
The data diffusion circuit according to the present invention is characterized mainly in that bit circulation data of input data that changes according to input data is generated, and the bit circulation data is fused in parallel to obtain output data. is there. Since such parallel processing is enabled, the cryptographic LSI incorporating the data diffusion circuit of the present invention has an effect of enabling higher speed processing than the conventional one.

更に、上述の如く、入力データに応じてそのデータのビ
ット循環数を変えている点が、一方向性つまり、逆戻り
できない性質を生み出しており、暗号の強度を増す効果
を生じている。
Furthermore, as described above, the point that the bit circulation number of the data is changed according to the input data creates a unidirectional property, that is, a property that cannot be reverted, and produces an effect of increasing the strength of encryption.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基づいて詳細に説明す
る。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明の一実施例を示すデータ拡散回路の構成
図である。図において、Aは32ビットの入力データ、B
は32ビットの出力データ、A1〜A4はAを4分割した各8
ビット、Kfは16ビットの中間鍵、はビット毎の排他的
論理和を、それぞれ、示している。また、RL1は、入力
データの下位2ビットの表わす“0"〜“3"の値に応じ
て、その入力データを左方向へビット循環する処理を示
している。
FIG. 1 is a block diagram of a data diffusion circuit showing an embodiment of the present invention. In the figure, A is 32-bit input data and B is
Is 32-bit output data, A1 to A4 are 8 divided A into 4
Bit, Kf is a 16-bit intermediate key, and is an exclusive OR for each bit. Further, RL1 indicates a process of bit-circulating the input data to the left in accordance with the value of "0" to "3" represented by the lower 2 bits of the input data.

第2図に、上記RL1の構造の例を示す。第2図に示すRL1
は、入力1バイトの下位2ビットをパラメータとするセ
レクタ3を2段用いることによって、下位2ビットの値
に応じたビット回転処理を実現しているものである。セ
レクタ3は、パラメータの値が“0"のとき左の入力を選
択し、“1"のとき右の入力を選択する。
FIG. 2 shows an example of the structure of RL1. RL1 shown in Fig. 2
Uses two stages of selectors 3 using the lower 2 bits of the input 1 byte as a parameter, thereby realizing the bit rotation processing according to the value of the lower 2 bits. The selector 3 selects the left input when the parameter value is “0”, and selects the right input when the parameter value is “1”.

また、第1図に示すRL2は、入力データの下位から4ビ
ット目と3ビット目の2ビットの表わす“0"〜“3"の値
に応じて、その入力データを左方向へビット循環する処
理を示している。第3図に、上記RL2の構造の例を示
す。
The RL2 shown in FIG. 1 bit-cycles the input data to the left in accordance with the value of "0" to "3" represented by the 2nd bit of the 4th and 3rd bits from the lower order of the input data. The process is shown. FIG. 3 shows an example of the structure of RL2.

第1図に示すRR1は、入力データの下位2ビットの表わ
す“0"〜“3"の値に応じて、その入力データを右方向へ
ビット循環する処理を示している。RR2は、入力データ
の下位から4ビット目と3ビット目の2ビットの表わす
“0"〜“3"の値に応じて、その入力データを右方向へビ
ット循環する処理を示している。RR1およびRR2は、RL1
およびRL2のビット循環方向を、左から右に変更するこ
とによって実現できる。
RR1 shown in FIG. 1 indicates a process of bit-circulating the input data to the right according to the value of "0" to "3" represented by the lower 2 bits of the input data. RR2 indicates a process of right-circulating the input data in accordance with the value of "0" to "3" represented by the 4th bit and the 3rd bit from the lower order of the input data. RR1 and RR2 are RL1
This can be achieved by changing the bit circulation direction of RL2 and RL2 from left to right.

第1図に示す本実施例のデータ拡散回路の動作は、下記
の通りである。
The operation of the data diffusion circuit of this embodiment shown in FIG. 1 is as follows.

まず、入力された32ビットのデータは、A1〜A4の各8ビ
ットの4データに分割される。A1とA4には、中間鍵Kfが
ビット毎の排他的論理和で加算される。更に、A2にはA1
が、また、A3にはA4が、排他的論理和で加えられる。
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. In addition, A1 to A2
However, A4 is added to A3 by exclusive OR.

次に、A1をRL2によってビット循環したデータと、A3をR
R1によってビット循環したデータを加算して新しくA1の
データとする。同様に、A2をRR1によってビット循環し
たデータと、A3をRL2によってビット循環したデータを
加算して新しくA2のデータとする。同様に、A3をRR2に
よってビット循環したデータと、A2をRL1によってビッ
ト循環したデータを加算して新しくA3のデータとする。
同様に、A4をRL1によってビット循環したデータと、A2
をRR2によってビット循環したデータを加算して新しくA
4のデータとする。
Next, A1 is bit-cycled by RL2 and A3 is R
The data bit-circulated by R1 is added to obtain new A1 data. Similarly, the data in which A2 is bit-circulated by RR1 and the data in which A3 is bit-circulated by RL2 are added to obtain new data of A2. Similarly, data in which A3 is bit-circulated by RR2 and data in which A2 is bit-circulated by RL1 are added to obtain new data of A3.
Similarly, A4 bit-cycled data by RL1 and A2
Add the data bit-circulated by RR2
The data is 4.

上記四つの処理を並列に行い、32ビットの出力データB
を得る。この処理を行う装置をハードウェアで実現した
場合、第1図中に点線で示した処理を並列化することが
できる。すなわち、3段の排他的論理和処理と、1段の
ビット循環処理という構成となる。
Performs the above four processes in parallel and outputs 32-bit output data B
To get When the device that performs this processing is realized by hardware, the processing indicated by the dotted line in FIG. 1 can be parallelized. That is, it has a configuration of three-stage exclusive OR processing and one-stage bit circulation processing.

ここで、加算処理は排他的論理和処理の3〜4倍、ビッ
ト循環(ビット循環数の判断)処理は排他的論理和処理
と略同等の処理時間と考えれば、上記実施例に示したデ
ータ拡散回路の処理時間は、前述の(第5図に示した)
2段の排他的論理和処理と、3段の加算とデータ循環処
理から構成される従来のデータ拡散回路と比べて、約1/
3(4/11)となることがわかる。
Here, assuming that the addition processing is 3 to 4 times as much as the exclusive OR processing and the bit circulation (determination of the bit circulation number) processing has a processing time substantially equal to that of the exclusive OR processing, the data shown in the above embodiment is obtained. The processing time of the diffusion circuit is the same as that described above (shown in FIG. 5).
Compared with the conventional data diffusion circuit that consists of two stages of exclusive OR processing, three stages of addition and data circulation processing,
It turns out that it will be 3 (4/11).

従来、前述のFEALは約80Mbpsの暗号化速度性能を有する
LSIとして実現されている。上記実施例に示したデータ
拡散回路を適用した場合には、約3倍、すなわち、200M
bpsに達する性能のLSIを実現できることになる。
Conventionally, the above-mentioned FEAL has an encryption speed performance of about 80 Mbps.
It is realized as an LSI. When the data diffusion circuit shown in the above embodiment is applied, it is about 3 times, that is, 200M.
It will be possible to realize an LSI with performance reaching bps.

上記実施例に示したデータ拡散回路のデータ拡散性能を
調べるために、前記FEALのデータ拡散処理fと差替え
て、統計的にデータの拡散性能を比較する実験を行っ
た。これによれば、上記実施例に示したデータ拡散回路
を組込んだFEALは、3〜4段目の処理で略完全な乱数に
なり、前記FEALのデータ拡散処理fと同等のデータ乱数
化能力と考えて良いと思われる。
In order to investigate the data diffusion performance of the data diffusion circuit shown in the above embodiment, an experiment was conducted in which the data diffusion performance was statistically compared with the data diffusion processing f of the FEAL. According to this, the FEAL incorporating the data diffusion circuit shown in the above embodiment becomes a substantially complete random number in the processing of the third to fourth stages, and the data randomization capability equivalent to the data diffusion processing f of the FEAL. You can think of it.

上述の考察より、上記実施例に示したデータ拡散回路を
適用したFEALにおいては、従来、処理速度の点でFEALを
適用できなかった領域、例えば、高速LANにおける動画
伝送(約100Mbps程度)、高精細動画伝送(約600Mbps程
度)等にも、暗号によるセキュリティ対策を施すことが
できるようになる。
From the above consideration, in the FEAL to which the data diffusion circuit shown in the above embodiment is applied, the area where the FEAL cannot be conventionally applied in terms of processing speed, for example, moving image transmission in a high-speed LAN (about 100 Mbps), high It will also be possible to implement security measures using encryption for high-definition video transmission (about 600 Mbps).

なお、上記実施例においては、2ビットのデータによる
ビット循環数規定を採用した場合を説明したが、1ビッ
トや3ビット以上のデータによるビット循環数規定を採
用した場合も同様である。例えば、1ビットでは、自由
度は2であるので、“0"の場合右2ビットの循環、“1"
の場合左2ビットの循環等というようにする。また、ビ
ット循環数を規定するためのビットの選択位置を変更す
ることは自由である。更に、データの融合手段について
も、排他的論理和に限らず、加算器で置替えても良い。
この場合には、処理時間が幾分長くなるが、データ拡散
効率が向上する。
In the above embodiment, the case where the bit circulation number regulation based on 2-bit data is adopted has been described, but the same applies when the bit circulation number regulation based on 1-bit or 3-bit or more data is adopted. For example, with 1 bit, the degree of freedom is 2. Therefore, if it is “0”, the right 2 bits are rotated, “1”.
In the case of, the left two bits are circulated and so on. Further, it is free to change the bit selection position for defining the bit circulation number. Further, the data fusion means is not limited to the exclusive OR, but may be replaced by an adder.
In this case, the processing time becomes somewhat longer, but the data diffusion efficiency is improved.

〔発明の効果〕〔The invention's effect〕

以上述べた如く、本発明によれば、入力データも拡散処
理して出力データを得るデータ拡散回路において、入力
データを複数のデータに分割し、分割したそれぞれのデ
ータを、それぞれのデータの1箇所以上の特定位置のビ
ットの状態に応じたビット数だけ左方向または右方向に
循環させる手段と、それらの循環したデータを互いにビ
ット対応に融合させる手段とを設けたので、データ拡散
効率を維持しながら、ハードウェアで高速に処理可能な
データ拡散回路を実現できるという顕著な効果を奏する
ものである。
As described above, according to the present invention, in a data diffusion circuit that obtains output data by subjecting input data to diffusion processing, the input data is divided into a plurality of data, and each of the divided data is stored at one location of each data. Since the means for circulating leftward or rightward by the number of bits corresponding to the state of the bit at the above specific position and the means for fusing the circulated data corresponding to each other are provided, the data diffusion efficiency is maintained. However, it has a remarkable effect that a data diffusion circuit that can be processed at high speed by hardware can be realized.

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

第1図は本発明の一実施例を示すデータ拡散回路の構成
図、第2図,第3図はその要部であるデータ回転回路の
構成例を示す図、第4図はFEALの構造を示す図、第5図
はデータ拡散処理部fの構造を示す図である。 1:鍵スケジュール部、2:データ処理部、3:セレクタ、A:
入力データ、B:出力データ、Kf:中間鍵、P:平文デー
タ、K:秘密鍵、C:暗号文、:ビット毎の排他的論理
和、RL1〜RL2,RR1〜RR2:ビット循環処理。
FIG. 1 is a block diagram of a data diffusion circuit showing an embodiment of the present invention, FIGS. 2 and 3 are diagrams showing a configuration example of a data rotation circuit which is a main part thereof, and FIG. 4 is a FEAL structure. FIG. 5 and FIG. 5 are views showing the structure of the data diffusion processing unit f. 1: Key schedule part, 2: Data processing part, 3: Selector, A:
Input data, B: output data, Kf: intermediate key, P: plaintext data, K: secret key, C: ciphertext ,: exclusive OR for each bit, RL1 to RL2, RR1 to RR2: bit circulation processing.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】入力データを拡散処理して出力データを得
るデータ拡散回路において、入力データを複数のデータ
に分割し、分割したそれぞれのデータを、それぞれのデ
ータの1箇所以上の特定位置のビットの状態に応じたビ
ット数だけ左方向または右方向に循環させる手段と、そ
れらの循環したデータを互いにビット対応に融合させる
手段とを設けたことを特徴とするデータ拡散回路。
1. A data diffusion circuit that obtains output data by spreading input data, divides the input data into a plurality of data, and divides each divided data into bits at one or more specific positions of each data. And a means for circulating the circulated data in the leftward or rightward direction according to the number of bits and a means for merging the circulated data corresponding to each other in a bit manner.
【請求項2】上記入力データを等しいデータ長の四つの
データに分割し、これらの各データに拡散させるための
パラメータデータを加算または排他的論理和で融合する
手段と、前記四つのデータのうちの二つのデータ同志を
排他的論理和でビット対応に融合する手段と、前記四つ
のデータのそれぞれについて、該データの1箇所以上の
特定位置のビットの状態に応じたビット数だけ左方向ま
たは右方向に循環したデータと、前記四つのデータとは
それぞれ別の各データについて、該データの1箇所以上
の特定位置のビットの状態に応じたビット数だけ左方向
または右方向に循環したデータとを、加算または排他的
論理和により融合して出力する手段を設けたことを特徴
とする特許請求の範囲第1項記載のデータ拡散回路。
2. A means for dividing the input data into four data having the same data length and merging parameter data for spreading to each of these data by addition or exclusive OR, and among the four data Means for merging two data comrades of the above in a bit-wise manner by exclusive OR, and for each of the four data, leftward or rightward by the number of bits corresponding to the state of the bit at one or more specific positions of the data. Data circulated in a direction and data circulated in the left or right direction for each data different from the above four data by the number of bits corresponding to the state of the bit at one or more specific positions of the data. 3. The data diffusion circuit according to claim 1, further comprising means for adding and outputting by fusion or exclusive OR.
【請求項3】4バイトの入力データを第1バイトから第
4バイトの四つのデータに分割し、該四つのデータの一
部(第1および第4バイト)または全部に該データを拡
散させるためのパラメータデータをビット対応に排他的
論理和で融合する手段と、第2バイトと第1バイトをビ
ット対応に排他的論理和で融合して第2バイトとする手
段と、第3バイトと第4バイトとをビット対応に排他的
論理和で融合して第3バイトとする手段と、 第1バイトの一部の2ビットデータにより得られる0〜
3の値に応じたビット数だけ第1バイトを左方向に循環
したデータと、第3バイトの一部の2ビットデータによ
り得られる0〜3の値に応じたビット数だけ第3バイト
を右方向に循環したデータとのビット対応の排他的論理
和を第1データとする手段と、 第2バイトの一部の2ビットデータにより得られる0〜
3の値に応じたビット数だけ第2バイトを右方向に循環
したデータと、第3バイトの一部の2ビットデータによ
り得られる0〜3の値に応じたビット数だけ第3バイト
を左方向に循環したデータとのビット対応の排他的論理
和を第2データとする手段と、 第3バイトの一部の2ビットデータにより得られる0〜
3の値に応じたビット数だけ第3バイトを右方向に循環
したデータと、第2バイトの一部の2ビットデータによ
り得られる0〜3の値に応じたビット数だけ第2バイト
を左方向に循環したデータとのビット対応の排他的論理
和を第3データとする手段と、 第4バイトの一部の2ビットデータにより得られる0〜
3の値に応じたビット数だけ第4バイトを左方向に循環
したデータと、第2バイトの一部の2ビットデータによ
り得られる0〜3の値に応じたビット数だけ第2バイト
を右方向に循環したデータとのビット対応の排他的論理
和を第4データとする手段とを設けたことを特徴とする
特許請求の範囲第2項記載のデータ拡散回路。
3. Dividing the 4-byte input data into four data of the first byte to the fourth byte, and spreading the data in a part (first and fourth bytes) or all of the four data. Means for merging the parameter data of bit-wise by exclusive OR for bit correspondence, means for merging the second byte and the first byte by exclusive-OR for bit correspondence to form the second byte, third byte and fourth byte A means for fusing the byte and the bit corresponding to each other by exclusive OR to form the third byte, and 0 to 0 obtained by the 2-bit data of a part of the first byte
The data in which the first byte is circulated to the left by the number of bits corresponding to the value of 3 and the number of bits corresponding to the value of 0 to 3 obtained by the 2-bit data of part of the third byte Means obtained by using the bitwise exclusive OR of the data circulated in the direction as the first data, and 0 to 0 obtained by the 2-bit data of a part of the second byte
The data is obtained by circulating the second byte to the right by the number of bits corresponding to the value of 3, and the third byte is moved to the left by the number of bits corresponding to the value of 0 to 3 obtained by the 2-bit data of part of the third byte. Means obtained by using the bitwise exclusive OR of the data circulated in the direction as the second data, and 0 to 0 obtained by the 2-bit data of a part of the third byte
The second byte is left by the number of bits corresponding to the value of 0 to 3 obtained by circulating the third byte to the right by the number of bits corresponding to the value of 3 and the 2-bit data of a part of the second byte. Means obtained by taking the exclusive OR of the bits corresponding to the data circulated in the direction as the third data, and 0 to 0 obtained by the 2-bit data of a part of the fourth byte
Data in which the 4th byte is circulated to the left by the number of bits corresponding to the value of 3 and the number of bits corresponding to the value of 0 to 3 obtained by 2 bit data of a part of the 2nd byte 3. A data diffusion circuit according to claim 2, further comprising means for setting an exclusive OR corresponding to a bit with the data circulated in the direction as the fourth data.
JP63080045A 1988-03-31 1988-03-31 Data diffusion circuit Expired - Fee Related JPH0687187B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63080045A JPH0687187B2 (en) 1988-03-31 1988-03-31 Data diffusion circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63080045A JPH0687187B2 (en) 1988-03-31 1988-03-31 Data diffusion circuit

Publications (2)

Publication Number Publication Date
JPH01252989A JPH01252989A (en) 1989-10-09
JPH0687187B2 true JPH0687187B2 (en) 1994-11-02

Family

ID=13707272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63080045A Expired - Fee Related JPH0687187B2 (en) 1988-03-31 1988-03-31 Data diffusion circuit

Country Status (1)

Country Link
JP (1) JPH0687187B2 (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
JPH01252989A (en) 1989-10-09

Similar Documents

Publication Publication Date Title
AU767323B2 (en) Block encryption device using auxiliary conversion
EP1271839B1 (en) AES Encryption circuit
JP2008158541A (en) Apparatus and method for performing kasumi ciphering
KR19990002840A (en) Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions
JP2000066587A (en) Data processing device, communication system, and recording medium
US20250013430A1 (en) Reconfigurable architecture for improvement and optimization of advanced encryption standard
US4897876A (en) Method of and an arrangement for digital signal encryption
JP2000295212A (en) Method and apparatus for decrypting encrypted data
Andreeva et al. AES-COPA v.
CN112564890B (en) Method, device, processor and electronic equipment for accelerating SM4 algorithm
KR20030051111A (en) Round processing circuit and on-line round key generation circuit for the hardware implementation of AES Rijndael cipher algorithm
JPH0687187B2 (en) Data diffusion circuit
JPH0814748B2 (en) Data diffusion mechanism
JP2870532B2 (en) Cryptographic converter
CN119094204B (en) A lightweight authentication encryption and decryption device and method
RU2309549C2 (en) Method for cryptographic transformation of digital data
JPH10153954A (en) Ciphering device
JP2002091295A (en) Arithmetic device and arithmetic method combining Feistel structure and SPN structure
JPH088897A (en) Data encryption / decryption processing method and encryption device
CN121356831A (en) Block encryption method combining four-value logical operation and AES column mixing
CN118509237A (en) Wind turbine data encryption method and device
JPH0816823B2 (en) Cryptographic circuit
CN106059749A (en) Data processing method and device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees