JPH0682259B2 - Data spreader - Google Patents

Data spreader

Info

Publication number
JPH0682259B2
JPH0682259B2 JP62303857A JP30385787A JPH0682259B2 JP H0682259 B2 JPH0682259 B2 JP H0682259B2 JP 62303857 A JP62303857 A JP 62303857A JP 30385787 A JP30385787 A JP 30385787A JP H0682259 B2 JPH0682259 B2 JP H0682259B2
Authority
JP
Japan
Prior art keywords
data
input
output
length
diffusion
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
JP62303857A
Other languages
Japanese (ja)
Other versions
JPH01144091A (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 JP62303857A priority Critical patent/JPH0682259B2/en
Publication of JPH01144091A publication Critical patent/JPH01144091A/en
Publication of JPH0682259B2 publication Critical patent/JPH0682259B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

「従来の技術」 従来、データ暗号方式として、DES(NBS:“Data Encrip
tion Standard",FIP S-PUB-45,(1977)参照),FEAL
(清水,宮口:“高速データ暗号アルゴリズムFEAL",電
子情報通信学会論文誌D Vol,J70-D No.7 pp.1413−1423
(1987))が知られている。
“Conventional technology” Conventionally, DES (NBS: “Data Encrip
tion Standard ", FIP S-PUB-45, (1977)), FEAL
(Shimizu, Miyaguchi: "High-speed data encryption algorithm FEAL", IEICE Transactions D Vol, J70-D No.7 pp.1413-1423
(1987)) is known.

これらの暗号方式の構造の概略を第6図に示す。これら
の暗号方式は、秘密鍵Kを処理して中間鍵Kを生成す
る鍵スケジュール部1と、この中間鍵Kを用いて入力
平文Pを処理し暗号文Cを得るデータ処理部2とから構
成されている。
FIG. 6 shows an outline of the structure of these cryptosystems. These cryptosystems include a key scheduling unit 1 that processes a secret key K to generate an intermediate key K s , and a data processing unit 2 that processes an input plaintext P using this intermediate key K S to obtain a ciphertext C. It consists of

これらの暗号方式においては、鍵スケジュール部1とデ
ータ処理部2とに異なるロジックを採用している。この
ため、LSIなどの装置開発にあたっては、鍵スケジュー
ル部1とデータ処理部2とを別々にデザインすることが
必要である。
In these cryptosystems, different logics are adopted for the key schedule unit 1 and the data processing unit 2. Therefore, when developing a device such as an LSI, it is necessary to separately design the key scheduling unit 1 and the data processing unit 2.

また、DESは56ビット、FEALは64ビットの秘密鍵を使用
しているが、将来この秘密鍵の長さを増大することが必
要となると予測されている。これに対して、DES,FEAL
は、いずれも秘密鍵長の拡張性を具備していない。従っ
て、鍵長の増加にあたっては、鍵スケジュール部の大幅
な仕様変更が必要である。
Also, although DES uses a 56-bit secret key and FEAL uses a 64-bit secret key, it is predicted that it will be necessary to increase the length of this secret key in the future. On the other hand, DES, FEAL
Does not have the expandability of the secret key length. Therefore, in order to increase the key length, it is necessary to significantly change the specifications of the key schedule part.

この発明の目的は、鍵スケジュール部とデータ処理部に
共通に用いることのできるデータ拡散装置を提供するこ
とにある。これにより、LSIなどの装置化に要する工数
が大幅に少なく、かつ、秘密鍵長の増加にたいする拡張
性に優れた暗号装置を作ることができる。
An object of the present invention is to provide a data spreading device that can be commonly used by a key scheduling unit and a data processing unit. As a result, it is possible to make an encryption device that requires significantly less man-hours for deviceization such as an LSI and has excellent expandability with respect to an increase in secret key length.

この発明によれば入力データから入力データと同じデー
タ長の出力データを得る第1機構と、その第1機構の出
力データを入力データとし、その入力データのデータ長
の二分の一のデータ長の入力パラメータデータが供給さ
れ、これと同じデータ長のパラメータデータを新たに生
成すると共に上記入力データと同一データ長の出力デー
タを出力する第2機構とを交互に直列に複数組接続した
機構を有し、上記第1機構は、入力データをそのデータ
長方向において二等分し、その二等分された二つのデー
タの一方のデータを出力データの半分とし、そのデータ
と上記二等分された二つのデータの他方のデータとのビ
ットごとの排他的論理和をとって出力データの残りの半
分とする機構であり、上記第2機構は入力データをその
データ長方向において二等分し、その二等分された二つ
のデータの一方のデータを出力データの半分とし、その
データに対し、拡散機構により入力パラメータデータで
論理演算を施してデータ拡散処理を行い、その拡散処理
の結果と、上記二等分された二つのデータの他方の入力
データとのビット毎の排他的論理和をとって、新たなパ
ラメータデータとすると共に出力データの残り半分とす
る機構である。
According to the present invention, the first mechanism for obtaining output data having the same data length as the input data from the input data, the output data of the first mechanism as the input data, and the data length of half the data length of the input data A mechanism is provided in which a plurality of sets of input parameter data are supplied, parameter data of the same data length is newly generated, and a plurality of sets of the input data and the second mechanism for outputting the output data of the same data length are alternately connected in series. Then, the first mechanism divides the input data into two equal parts in the data length direction, and divides one of the two divided data into half of the output data, and divides the input data into two parts. This is a mechanism for taking the bitwise exclusive-OR of the other two data with the other data and making the other half of the output data. The second mechanism described above inputs the input data in the data length direction. And divide one of the two halved data into half of the output data, and perform a logical operation on the input parameter data for the data by the diffusion mechanism to perform the data diffusion process. This is a mechanism for taking the bitwise exclusive OR of the result of the diffusion process and the other input data of the above two halved data to obtain new parameter data and the remaining half of the output data. .

このようにこの発明のデータ拡散装置は、入力パラメー
タのデータセットに等しいデータセットを出力パラメー
タとして生成する機構を有していることを主要な特徴と
している。従って、この発明の装置によって生成された
出力パラメータを、新たにこの装置の入力パラメータと
することができる。すなわち、この装置を二台組み合わ
せれば、一方を鍵スケジュール部、もう一方をデータ処
理部として、暗号装置が構成できることになる。この場
合、従来の技術と異なり、データ処理部と鍵スケジュー
ル部は同一処理となる。
As described above, the data diffusion device of the present invention is mainly characterized in that it has a mechanism for generating a data set equal to the data set of the input parameter as the output parameter. Therefore, the output parameter generated by the device of the present invention can be newly used as the input parameter of the device. That is, by combining two of these devices, the encryption device can be configured with one as the key scheduling unit and the other as the data processing unit. In this case, unlike the conventional technique, the data processing unit and the key scheduling unit perform the same processing.

「実施例」 第1図は、この発明の実施例を示している。第1図にお
いて、Xは入力データ、Yは出力データ、A0〜A3は入力
パラメータデータ、B0〜B3は出力パラメータデータ、f
は4バイトのデータ拡散機構、α,βはfへの入力デー
タ、γはfの出力データ、記号はビット毎の排他的論
理和をとる機構を示している。第1図の実施例は、図中
に点線で囲んで示す機構3と機構4を直列に交互に接続
した構造を有している。機構3と機構4とをひと組にし
て機構5とを考えれば、第1図の実施例は、機構5を直
列に4段組み合わせ、更に機構3を付加した構造と考え
ることができる。
"Embodiment" FIG. 1 shows an embodiment of the present invention. In FIG. 1, X is input data, Y is output data, A 0 to A 3 are input parameter data, B 0 to B 3 are output parameter data, f
Indicates a 4-byte data diffusion mechanism, α and β indicate input data to f, γ indicates output data of f, and symbols indicate a mechanism that takes an exclusive OR for each bit. The embodiment of FIG. 1 has a structure in which a mechanism 3 and a mechanism 4 surrounded by a dotted line in the drawing are alternately connected in series. Considering the mechanism 5 as a set of the mechanism 3 and the mechanism 4, the embodiment of FIG. 1 can be considered as a structure in which the mechanism 5 is combined in four stages and the mechanism 3 is further added.

機構3は入力データから入力データと同じデータ長の出
力データを得る機構であって、この第1図の実施例では
入力データを左右二等分し、一方のデータを出力データ
の半分とし、そのデータともう一方のデータとのビット
毎の排他的論理和を出力データの残り半分の出力データ
とする機構である。二つの機構4の間の機構3としては
入力の左データを右データとして出力し、入力の右デー
タを左データとして出力するものであってもよい。
The mechanism 3 is a mechanism for obtaining output data having the same data length as the input data from the input data. In the embodiment shown in FIG. 1, the input data is divided into left and right parts, and one of the data is made half of the output data. This is a mechanism for making the bitwise exclusive OR of the data and the other data the output data of the other half of the output data. The mechanism 3 between the two mechanisms 4 may output the input left data as right data and output the input right data as left data.

機構4は入力パラメータデータと同じデータ長のパラメ
ータデータを新たに生成する機構であって、入力データ
を左右二等分し、一方のデータを出力データの半分と
し、そのデータをパラメータデータを用いて論理演算を
施してデータ拡散処理を行うデータ拡散機構fと、その
拡散処理の結果と残りの半分の入力データとのビット毎
の排他的論理和を新たなパラメータデータ及び残り半分
の出力データとする機構とよりなる。
The mechanism 4 is a mechanism for newly generating parameter data having the same data length as the input parameter data. The mechanism 4 divides the input data into left and right parts, makes one data half of the output data, and uses the data as parameter data. A data diffusion mechanism f for performing a data diffusion process by performing a logical operation, and an exclusive OR for each bit of the result of the diffusion process and the remaining half of the input data is used as new parameter data and the remaining half of the output data. It consists of a mechanism.

第1図の実施例の動作を以下に説明する。説明にあたっ
て、以下の記法を用いる。
The operation of the embodiment shown in FIG. 1 will be described below. In the explanation, the following notation is used.

〔記 法〕[Notation]

(1) 8ビットを1バイトとする。 (1) Make 8 bits into 1 byte.

(2) データ内の左からj+1番目の4バイトを、右
下の添字jで表す。(例 X0) その他右下の添字は、4バイトデータの識別に用いる。
(2) The j + 1th four bytes from the left in the data are represented by the lower right subscript j. (Example X 0 ) The lower right subscript is used to identify 4-byte data.

(3) データ内の左からj+1番目の2バイトを、右
上の添字jで表す。(例 X0) (4) はビット対応の排他的論理和を表す。
(3) The j + 1th two bytes from the left in the data are represented by the upper right subscript j. (Example X 0 ) (4) represents an exclusive OR of bits.

(5) 等号は、右辺から左辺への代入を表す。(5) The equal sign represents substitution from the right side to the left side.

この実施例は、X(8バイト)およびA(4×(r+
1)バイト)(r=0,1,2,…)の入力データから、Y
(8バイト)およびB(4×(r+1)バイト)の出力
データを得る装置である。すなわち、この実施例を関数
Uに見立てると、以下の数式で定義できる。
In this example, X (8 bytes) and A (4 × (r +
1) byte) (r = 0,1,2, ...)
This is a device for obtaining (8 bytes) and B (4 × (r + 1) bytes) output data. That is, if this example is regarded as the function U, it can be defined by the following mathematical expression.

(Y,B)=U(X,A,round,mode) 特に、YとBを分離して、次式のように定義する。(Y, B) = U (X, A, round, mode) Particularly, Y and B are separated and defined as the following equation.

Y=U0(X,A,round,mode) B=U1(X,A,round,mode) U関数において、roundは処理段数、modeは暗号/復号
化モードを規定する(暗号:0,復号化:other values)パ
ラメータである。
Y = U0 (X, A, round, mode) B = U1 (X, A, round, mode) In the U function, round specifies the number of processing steps and mode specifies the encryption / decryption mode (encryption: 0, decryption) : other values) parameters.

r=0〜round-1について、以下の手順でBをきめ
る。
r = about 0~round-1, determine the B r in the following procedure.

X1=X1X0 mode=0のとき、k=r mode≠0のとき、k=round-r-1として、 X0=X0f(X1,A) B=X0 最後に次の処理を行い、Yを得る。X 1 = X 1 X 0 When mode = 0, k = r mode ≠ 0, k = round-r−1, X 0 = X 0 f (X 1 , A k ) B r = X 0 Last Then, the following process is performed to obtain Y.

Y0=X0 Y1=X0X1 この実施例は、round=4,mode=0の場合のU関数を装
置化したものであると見なせる。この実施例は、入力X
から出力Yを得る過程において、パラメータデータセッ
トAを用いて、Aと同じデータ形式のデータセットBを
生成する。
Y 0 = X 0 Y 1 = X 0 X 1 This embodiment can be regarded as an instrumentalization of the U function when round = 4 and mode = 0. In this example, the input X
In the process of obtaining the output Y from, the parameter data set A is used to generate a data set B having the same data format as A.

上記fのデータ拡散機構は、それぞれ4バイトの入力
α,βから、同じく4バイトの出力γを得るものであ
る。fの構造を第2図に示す。第2図において、α,β
は入力データ、γは出力データ、a,b,cは機構sへの入
力データ、sは2バイトのデータ拡散機構を示してい
る。また、〔記法〕で示した通り、α0はそれぞれ
α,βの左半分の2バイトデータを、また、α1
右半分の2バイトデータを表している。
The data diffusion mechanism of the above-mentioned f obtains the output γ of 4 bytes from the input α and β of 4 bytes, respectively. The structure of f is shown in FIG. In Fig. 2, α, β
Indicates input data, γ indicates output data, a, b, c indicate input data to the mechanism s, and s indicates a 2-byte data diffusion mechanism. Further, as shown in [Notation], α 0 and β 0 represent 2-byte data in the left half of α and β, and α 1 and β 1 represent 2-byte data in the right half.

fを関数に見立てると、γ=f(α,β)として、fは
γを以下の手順で得る処理であるということができる。
If f is regarded as a function, it can be said that γ = f (α, β) and f is a process for obtaining γ by the following procedure.

γ=s(α01) γ=γα γ=s(γ10) γ=γγ 上記機構sは、それぞれ2バイトの入力a,b,cから、同
じく2バイトの出力を得る機構である。
γ 0 = s (α 0 , α 1 , β 0 ) γ 1 = γ 0 α 1 γ 1 = s (γ 1 , γ 0 , β 0 ) γ 0 = γ 0 γ 1 Each of the above mechanisms s has 2 bytes It is also a mechanism to obtain the output of 2 bytes from the inputs a, b, and c.

sの動作は、次式で定義する。The operation of s is defined by the following equation.

s(a,b,c) =(ROL3(a)+ROR3(b)+c)mcd216 ここで、ROL3( )は左方向への3ビット回転関数、RO
R3( )は右方向への3ビット回転関数である。また、
modは剰余演算である。
s (a, b, c) = (ROL3 (a) + ROR3 (b) + c) mcd2 16 where ROL3 () is a 3-bit rotation function to the left, RO
R3 () is a 3-bit rotation function to the right. Also,
mod is a remainder operation.

機構sの詳細な構成を第3図に示す。第3図において、
ADDは加算器、ROL3は左方向3ビットデータ回転器、ROR
3は右方向3ビットデータ回転器を示している。上式中
のmod216は、ADDにより生じる最上位ビットの桁上がり
を無視することにより実現できるため、回路上には見え
ていない。
The detailed structure of the mechanism s is shown in FIG. In FIG.
ADD is an adder, ROL3 is a left 3-bit data rotator, ROR
Reference numeral 3 indicates a rightward 3-bit data rotator. Mod2 16 in the above equation is not visible on the circuit because it can be realized by ignoring the carry of the most significant bit caused by ADD.

以下に示すように、この実施例を用いることによって、
簡単に暗号装置を構成することができる。
By using this example, as shown below,
The encryption device can be easily configured.

この実施例を適用した暗号装置の例を示し、以下に説明
する。第4図に、暗号装置の構造例を示す。第4図にお
いて、Pは平文データ、Kは秘密鍵データ、Cは暗号文
データ、K0,K1はそれぞれKの左右半分のデータ、6は
鍵スケジュール部、7はデータ処理部を示している。鍵
スケジュール部6で作られた出力パラメータデータがデ
ータ処理部7の入力パラメータデータとなっている。
An example of a cryptographic device to which this embodiment is applied will be shown and described below. FIG. 4 shows an example of the structure of the encryption device. In FIG. 4, P is plaintext data, K is secret key data, C is ciphertext data, K0 and K1 are data on the left and right half of K respectively, 6 is a key schedule section, and 7 is a data processing section. The output parameter data created by the key scheduling unit 6 is the input parameter data of the data processing unit 7.

この暗号装置は、8バイトの秘密鍵Kを用いて、8バイ
トの平文Pから8バイトの暗号文Cを得るものであり、
U関数を用いて以下のように定義できる。
This cryptographic device uses an 8-byte secret key K to obtain an 8-byte ciphertext C from an 8-byte plaintext P.
It can be defined as follows using the U function.

鍵スケジュール部: K=U1(K,I,4,0)として、 データ処理部: 暗号処理:C=U0(P,K,4,0) 復号化処理:P=U0(C,K,4,1) 上式において、Iは以下に示す値に設定する。Key schedule part: K s = U1 (K, I, 4,0), data processing part: Cryptographic process: C = U0 (P, K s , 4,0) Decryption process: P = U0 (C, K s , 4,1) In the above equation, I is set to the following value.

I0=K0 I1=K1 I2=K0 I3=K1 この暗号装置の鍵スケジュール部においては、この実施
例のデータ拡散装置への入力パラメータデータとして、
入力データの秘密鍵データを設定している。これは、鍵
スケジュール部の出力からの入力秘密鍵の推定を、著し
く困難にしている。
I 0 = K 0 I 1 = K 1 I 2 = K 0 I 3 = K 1 In the key scheduling unit of this encryption device, as input parameter data to the data diffusion device of this embodiment,
The private key data of the input data is set. This makes it extremely difficult to deduce the input secret key from the output of the key scheduling unit.

このように、この発明のデータ拡散装置のパラメータデ
ータとして、入力データあるいは入力データの加工デー
タを設定すれば、この発明のデータ拡散装置は、一方向
性関数の機能を持った装置として動作させることができ
る。
Thus, if the input data or the processed data of the input data is set as the parameter data of the data diffusion device of the present invention, the data diffusion device of the present invention can be operated as a device having a function of a one-way function. You can

さらに、この実施例を適用した別の暗号装置を示す。第
5図に、この暗号装置の構造を示す。第5図において、
Pは平文データ、K,Kは秘密鍵データ、Cは暗号文
データ、KR0,KR1はそれぞれKの左右半分のデータを
示している。
Furthermore, another encryption device to which this embodiment is applied will be shown. FIG. 5 shows the structure of this encryption device. In FIG.
P is plaintext data, K L and K R are secret key data, C is ciphertext data, and K R0 and K R1 are left and right half data of K R , respectively.

この暗号装置は、16ビットの秘密鍵Kを用いて、8ビッ
トの平文Pから8バイトの暗号文Cを得るものであり、
U関数を用いて以下のように定義できる。
This cryptographic device obtains an 8-byte ciphertext C from an 8-bit plaintext P using a 16-bit secret key K,
It can be defined as follows using the U function.

鍵スケジュール部: K=U1(K,I,4,0) K′=U1(K,K,4,0)として、 データ処理部: 暗号処理:C=U0(P,K′,4,0) 復号化処理:P=U0(C,K′,4,1) 上式において、Iは以下に示す値に設定する。Key schedule part: K S = U1 (K R , I, 4,0) K s ′ = U1 (K L , K S , 4,0) Data processing part: Cryptographic process: C = U0 (P, K S ', 4,0) Decoding process: P = U0 (C, K S ', 4,1) In the above equation, I is set to the following value.

I0=K0 I1=K1 I2=K0 I3=K1 このように、この発明のデータ拡散装置は、簡単に並列
接続が可能であるため、暗号装置の秘密鍵長の増加に対
して、柔軟に対処することができる。
I0 = K0 I1 = K1 I2 = K0 I3 = K1 As described above, since the data diffusion device of the present invention can be easily connected in parallel, it flexibly copes with an increase in the secret key length of the encryption device. be able to.

「発明の効果」 以上説明したように、この発明のデータ拡散装置は入力
と出力が同じインタフェースであるため、例えば、先に
説明したように、暗号装置の鍵スケジュール部とデータ
処理部との両方に用いることができる。これは、LSI化
を行う場合など、装置化の工数が半分で済むことを意味
している。
[Advantages of the Invention] As described above, since the data diffusion device of the present invention has the same input and output interfaces, as described above, for example, both the key scheduling unit and the data processing unit of the encryption device are used. Can be used for. This means that the number of man-hours required for deviceization can be halved, such as when implementing LSI.

この発明のデータ拡散装置のパラメータデータに入力デ
ータを設定すれば、一方向性の性質を持った装置として
動作させることができる。これは、特に、暗号装置の鍵
スケジュール部に用いれば、入力秘密鍵の推定を困難に
することを意味しており、暗号強度を高めることができ
る。
If input data is set in the parameter data of the data diffusion device of the present invention, it can be operated as a device having a unidirectional property. This means that it is difficult to estimate the input secret key if used in the key scheduling unit of the encryption device, and the encryption strength can be increased.

また、簡単に並列接続、すなわち、ひとつの装置の出力
を別の装置の入力あるいは自身の装置の再入力とするこ
とができるため、例えば、暗号装置の鍵スケジュール部
に用いた場合、秘密鍵の長さの増加がアルゴリズムの変
更なしに可能となる。すなわち、これは将来、秘密鍵長
の増加が必要となったときに、すでに導入済みのハード
ウェアを差し替えることなく、利用モードの変更などで
対処できることを意味している。
In addition, since parallel connection can be easily performed, that is, the output of one device can be input to another device or re-input to its own device. Increases in length are possible without changing the algorithm. That is, this means that when it becomes necessary to increase the secret key length in the future, the usage mode can be changed without replacing the already installed hardware.

以上述べたこの発明の実施例として示したデータ拡散装
置、およびそれを適用した暗号装置は、いずれも、16ビ
ットを処理単位とした簡易な論理構造であるため、ハー
ドウェアのみならずソフトウェアとしても高い性能を得
ることができる。特に、16ビット、32ビットのプロセッ
サでの処理に最適である。
Since the data diffusion device shown as the embodiment of the present invention and the encryption device to which it is applied have a simple logical structure in which 16 bits are a processing unit, they can be used not only as hardware but also as software. High performance can be obtained. It is especially suitable for processing on 16-bit and 32-bit processors.

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

第1図はこの発明の実施例を示すブロック図、第2図は
4バイトデータ拡散機構fの構造例を示すブロック図、
第3図は2バイトデータ拡散機構sの構造例を示すブロ
ック図、第4図はこの発明のデータ拡散装置の暗号装置
への適用例を示すブロック図、第5図はこの発明のデー
タ拡散装置の暗号装置への二つめの適用例を示すブロッ
ク図、第6図は暗号方式の構造の概略を示す図である。 P……平文データ、K,K,K……秘密鍵データ、KR0,
KR1……それれKの左右半分のデータ、K,K′…
…中間鍵、C……暗号文、X,α,β,a,b,c……入力デー
タ、Y,γ……出力データ、A0〜A3……入力パラメータデ
ータ、B0〜B3……出力パラメータデータ、α0……
それぞれα,βの左半分の2バイトデータ、α1
…それぞれα,βの右半分の2バイトデータ、……排
他的論理和演算器、ADD……加算器、ROL3……左方向3
ビットデータ回転器、ROR3……右方向3ビットデータ回
転器、f……4バイトのデータ拡散機構、s……2バイ
トのデータ拡散機構、1……鍵スケジュール部、2……
データ処理部、3,4,5……処理機構、6……鍵スケジュ
ール部、7……データ処理部。
FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a block diagram showing a structural example of a 4-byte data diffusion mechanism f,
FIG. 3 is a block diagram showing a structural example of the 2-byte data diffusion mechanism s, FIG. 4 is a block diagram showing an example of application of the data diffusion device of the present invention to an encryption device, and FIG. 5 is a data diffusion device of the present invention. FIG. 6 is a block diagram showing a second example of application of the above to the encryption device, and FIG. 6 is a diagram showing an outline of the structure of the encryption system. P ...... plain text data, K, K L, K R ...... secret key data, K R0,
K R1 ...... Data for the left and right half of K R , K S , K s ′ ...
... Intermediate key, C ... Ciphertext, X, α, β, a, b, c ... Input data, Y, γ ... Output data, A 0 to A 3 ... Input parameter data, B 0 to B 3 ...... Output parameter data, α 0 , β 0 ......
2-byte data of the left half of α and β, α 1 and β 1, ...
… 2-byte data in the right half of α and β,… exclusive OR calculator, ADD …… adder, ROL3 …… leftward 3
Bit data rotator, ROR3 ... rightward 3-bit data rotator, f ... 4-byte data diffusion mechanism, s ... 2-byte data diffusion mechanism, 1 ... key schedule part, 2 ...
Data processing unit, 3,4,5 ... Processing mechanism, 6 ... Key scheduling unit, 7 ... Data processing unit.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】入力データから入力データと同じデータ長
の出力データを得る第1機構と、 その第1機構の出力データを入力データとし、その入力
データのデータ長の二分の一のデータ長の入力パラメー
タデータが供給され、これと同じデータ長のパラメータ
データを新たに生成すると共に上記入力データと同一デ
ータ長の出力データを出力する第2機構とを交互に直列
に複数組接続した機構を有し、 上記第1機構は、入力データをそのデータ長方向におい
て二等分し、その二等分された二つのデータの一方のデ
ータを出力データの半分とし、そのデータと上記二等分
された二つのデータの他方のデータとのビットごとの排
他的論理和をとって出力データの残りの半分とする機構
であり、 上記第2機構は入力データをそのデータ長方向において
二等分し、その二等分された二つのデータの一方のデー
タを出力データの半分とし、そのデータに対し、拡散機
構により入力パラメータデータで論理演算を施してデー
タ拡散処理を行い、その拡散処理の結果と、上記二等分
された二つのデータの他方の入力データとのビット毎の
排他的論理和をとって、新たなパラメータデータとする
と共に出力データの残り半分とする機構であるデータ拡
散装置。
1. A first mechanism for obtaining output data having the same data length as the input data from the input data, and using the output data of the first mechanism as the input data, the data length of half the data length of the input data A mechanism is provided in which a plurality of sets of input parameter data are supplied, parameter data of the same data length is newly generated, and a plurality of sets of the input data and the second mechanism for outputting the output data of the same data length are alternately connected in series. Then, the first mechanism divides the input data into two equal parts in the data length direction, makes one of the two divided data half the output data, and divides the input data into the above two parts. This is a mechanism for taking the bitwise exclusive OR of the other data of the two data to make the other half of the output data. The above-mentioned second mechanism stores the input data in the data length direction. The data is divided into two equal parts, one of the two divided data is made half of the output data, and a diffusion operation is performed on the data with the input parameter data to perform the data diffusion processing, and the diffusion Data that is a mechanism that takes the bitwise exclusive OR of the processing result and the other input data of the above two halved data to obtain new parameter data and the remaining half of the output data. Diffuser.
JP62303857A 1987-11-30 1987-11-30 Data spreader Expired - Fee Related JPH0682259B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62303857A JPH0682259B2 (en) 1987-11-30 1987-11-30 Data spreader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62303857A JPH0682259B2 (en) 1987-11-30 1987-11-30 Data spreader

Publications (2)

Publication Number Publication Date
JPH01144091A JPH01144091A (en) 1989-06-06
JPH0682259B2 true JPH0682259B2 (en) 1994-10-19

Family

ID=17926129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62303857A Expired - Fee Related JPH0682259B2 (en) 1987-11-30 1987-11-30 Data spreader

Country Status (1)

Country Link
JP (1) JPH0682259B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3499810B2 (en) 2000-03-06 2004-02-23 株式会社東芝 ENCRYPTION DEVICE, ENCRYPTION METHOD, COMPUTER-READABLE RECORDING MEDIUM CONTAINING PROGRAM FOR FUNCTIONING COMPUTER AS ENCRYPTION DEVICE, AND COMPUTER READING RECORDING PROGRAM FOR FUNCTIONING COMPUTER AS DECRYPTION DEVICE, DECRYPTION METHOD, AND DECRYPTION DEVICE Possible recording media
JP5000365B2 (en) * 2006-04-27 2012-08-15 株式会社日立製作所 Hash value generation device, program, and hash value generation method

Also Published As

Publication number Publication date
JPH01144091A (en) 1989-06-06

Similar Documents

Publication Publication Date Title
JP2760799B2 (en) Encryption method
JP4127472B2 (en) Data conversion apparatus, data conversion method and program for data conversion apparatus, and computer-readable recording medium
JP3851115B2 (en) Cryptographic circuit
JP3225440B2 (en) Digital signal block conversion device and method of using the same
JPH08248879A (en) Method and apparatus for encryption by using two keys
JP2002023622A (en) Ciphering device, deciphering device, device and method for generating extended key, and recording medium
JPS6333749B2 (en)
JP3824121B2 (en) Method and apparatus for decrypting encrypted data
JP2950485B2 (en) Stream cipher processor
JPH0697930A (en) Block cipher processor
JPH0682259B2 (en) Data spreader
JP2825205B2 (en) Encryption device
CN114124359A (en) Method and device for preserving format encrypted data, electronic equipment and storage medium
JP2000075785A (en) High-speed cipher processing circuit and processing method
JP2834450B2 (en) Encryption device
JPH10153954A (en) Ciphering device
JP2993487B2 (en) Information processing apparatus, IC card, and code generation method
KR19990048318A (en) Fast block cipher algorithm
JP3836834B2 (en) Encryption apparatus and encryption method
JP3736731B2 (en) Replacement processing apparatus and program recording medium thereof
Vij et al. Hybrid Des-Blowfish Cloud Data Security Model
JP2000089667A (en) Algorithm generation type secret key encryption system
JP2553913B2 (en) Block cipher data diffuser
JP2002072879A (en) Hash function processor
JPH088897A (en) Enciphering/deciphering processing method for data and criptographic device

Legal Events

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