JPH0760292B2 - Data randomizer - Google Patents
Data randomizerInfo
- Publication number
- JPH0760292B2 JPH0760292B2 JP60250398A JP25039885A JPH0760292B2 JP H0760292 B2 JPH0760292 B2 JP H0760292B2 JP 60250398 A JP60250398 A JP 60250398A JP 25039885 A JP25039885 A JP 25039885A JP H0760292 B2 JPH0760292 B2 JP H0760292B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data block
- stage
- input
- output data
- 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
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,データ通信システムにおけるセキユリテイ技
術,すなわち,暗号,メッセージ認証,デイジタル署名
等に適用できる一方向性型のデータ乱数化装置に関する
発明である。DETAILED DESCRIPTION OF THE INVENTION [Industrial application] The present invention relates to a security technology in a data communication system, that is, an invention relating to a one-way data randomization device applicable to encryption, message authentication, digital signature, and the like. is there.
従来,一方向性型のデータ乱数化装置は,DES暗号(Data
Encryption Standard,FIPS PUB 46,NBS,JAN,1977,
及びUSP.NO.552685参照)装置を用いるものが代表的で
ある。Conventionally, unidirectional data randomizers have been used for DES encryption (Data
Encryption Standard, FIPS PUB 46, NBS, JAN, 1977,
And USP No. 552685) A device is typically used.
第5図は,従来のDES暗号装置の暗号化処理と復合化処
理のうち,特に前者の処理概念を示す図である。FIG. 5 is a diagram showing the concept of the former process, particularly, of the encryption process and the decryption process of the conventional DES encryption device.
第5図において,Pは64ビットの入力平文データ,1は鍵処
理,2は暗号処理,51,62はそれぞれ初期ビット転置および
最終ビット転置,52,54,56,58,60は左レジスタ,53,55,5
7,59,61は右レジスタ,L,Rはそれぞれ処理されるデータ
の左32ビットと右32ビット,L,Rの右下の添字は処理の段
階を表わす。また,63−1,63−2,63−3のfはデータ拡
散関数手段,64−1,64−2,64−3のはビット対応の排
他的論理和,Kは64ビットの入力鍵データ,66−1,66−2,6
6−3のK1〜K16は鍵Kを処理して得られる処理鍵,Cは暗
号文である。In FIG. 5, P is 64-bit input plaintext data, 1 is key processing, 2 is cryptographic processing, 51 and 62 are initial bit transposition and final bit transposition, 52, 54, 56, 58 and 60 are left registers, 53,55,5
7, 59 and 61 are right registers, L and R are the left 32 bits and right 32 bits of the data to be processed, respectively, and the lower right subscripts of L and R indicate the processing stage. Further, f of 63-1, 63-2, 63-3 is data diffusion function means, 64-1, 64-2, 64-3 are exclusive ORs corresponding to bits, and K is 64-bit input key data. , 66-1,66-2,6
K 1 to K 16 of 6-3 are processing keys obtained by processing the key K, and C is a ciphertext.
先ず,64ビットの入力平文データPをIP51により,ビッ
ト位置の転置を施こす。続いて,64ビットのデータを左
右32ビットずつのL0,R0に分け,それぞれ左レジスタ52
と右レジスタ53に格納する。そして,右半分のデータR0
に処理鍵K1を用いて63−1のデータ拡散関数手段fを施
こし,このデータと左半分L0のデータを,回路64−1で
排他的論理和をとり、その結果を新しく右半分のデータ
R1とし,右レジスタ55に格納する。また,従来の右半分
のデータR0を新しく左半分のデータL1とし,左レジスタ
54に格納する。これらの処理を16回ずつ繰り返し行い,
左データL16を左レジスタ58に格納し,右データR16を右
レジスタ59に格納する。最後に,左半分と右半分のデー
タを入れ換えて,すなわち,左レジスタ60に右データR
16を格納し,右レジスタ61に左データL16を格納し,R16
とL16を並べて得られる64ビットデータに,最終ビット
転置62のIP-1によるビット位置の転置を施こして,64ビ
ットの暗号文Cを得る。First, the 64-bit input plaintext data P is transposed at the bit position by IP51. Subsequently, the 64-bit data is divided into left and right 32-bit L 0 and R 0 , and left register 52
And stored in the right register 53. And the right half data R 0
6-1 is applied to the data diffusion function means f of 63-1 by using the processing key K 1 , and this data and the data of the left half L 0 are exclusive ORed by the circuit 64-1 and the result is newly obtained in the right half. data from
Set to R 1 and store in right register 55. Also, the conventional right half data R 0 is newly changed to the left half data L 1 and the left register
Store in 54. These processes are repeated 16 times,
The left data L 16 is stored in the left register 58, and the right data R 16 is stored in the right register 59. Lastly, the left half data and the right half data are exchanged, that is, the right data R is stored in the left register 60.
16 stores, stores left data L 16 to the right register 61, R 16
Then, the 64-bit data obtained by arranging L 16 and L 16 is transposed to the bit position by IP −1 of the final bit transpose 62 to obtain a 64-bit ciphertext C.
なお,初期ビット転置54と最終ビット転置62の機能は,
数学的にいうと,互いに逆関数の関係にある。The functions of the initial bit transposition 54 and the final bit transposition 62 are
Mathematically speaking, they are inverse functions of each other.
以上は,暗号処理2を用いて,平文データPを暗号化
し,暗号文Cを得る処理の説明であった。The above is the description of the process of encrypting the plaintext data P and obtaining the ciphertext C using the cryptographic process 2.
この暗号化処理において,入力を暗号文Cとし,処理鍵
の順序を逆に,すなわち,矢印66−1から処理鍵K16を
入力し,66−2から処理鍵K15を入力し,以下同じように
して,66−3から処理鍵K1を入力すると,初期ビット転
置51,最終ビット転置62,レジスタ52〜61,関数fの63−
1〜63−3と,排他的論理和64−1〜64−3等,これら
全てを処理する方法は,暗号化処理と同じにしたまま,
復号化処理が行える。すなわち,初期転置51に暗号文C
を入力して,62から平文データPが復元して出力する。
以上に述べた暗号化処理と復号化処理を以下に補足説明
する。In this encryption processing, the input is the ciphertext C, the order of the processing keys is reversed, that is, the processing key K 16 is input from the arrow 66-1, the processing key K 15 is input from 66-2, and so on. Thus, when the processing key K 1 is input from 66-3, the initial bit transposition 51, the final bit transposition 62, the registers 52 to 61, the function f 63-
1 to 63-3 and exclusive OR 64-1 to 64-3, etc., the method of processing all of them is the same as the encryption processing,
Decryption processing can be performed. That is, the ciphertext C is added to the initial transposition 51.
, The plain text data P is restored from 62 and output.
The encryption process and the decryption process described above will be supplementarily described below.
最初に暗号化処理を説明する。First, the encryption process will be described.
入力した64ビット長の平文Pは,初期ビット転置51の処
理を受け,IP(P)が出力される。これを32ビットずつ
2等分し,左データをL0,右データをR0とする。すなわ
ち,L0‖R0=IP(P)で表わされる。ここで,‖はデー
タの連結を示す。The input 64-bit long plain text P is processed by the initial bit transposition 51, and IP (P) is output. This is divided equally into 32 bits, and the left data is L 0 and the right data is R 0 . That is, it is represented by L 0 ‖R 0 = IP (P). Here, ‖ indicates data connection.
L0はレジスタ52に,またR0はレジスタ53に,それぞれ記
憶する。次に,f関数63−1と排他的論理和64−1を経
て,レジスタ55に右データR1が記憶され,レジスタ54に
左データL1が記憶される。L1とR1は,次式で表現でき
る。L 0 is stored in the register 52, and R 0 is stored in the register 53. Next, the right data R 1 is stored in the register 55 and the left data L 1 is stored in the register 54 through the f function 63-1 and the exclusive OR 64-1. L 1 and R 1 can be expressed by the following equation.
L1=R0 R1=L0f(R0,K1) ……(1) 以下,同じようにして,LiとRiが次の通り求められる。L 1 = R 0 R 1 = L 0 f (R 0 , K 1 ) (1) Hereafter, in the same manner, L i and R i are obtained as follows.
Ri=Li-1 Li=Ri-1f(Ri-1,Ki) ……(2) ただし,ここでは,i=1〜16である。R i = L i-1 L i = R i-1 f (R i-1 , K i ) (2) However, i = 1 to 16 here.
レジスタ58に左データL16が,レジスタ59に右データR16
が,それぞれ記憶される。Left data L 16 is stored in register 58 and right data R 16 is stored in register 59.
Are memorized respectively.
次に,L16とR16を交換し,レジスタ60に左データR16が,
レジスタ61に右データL16が,それぞれ記憶される。R16
とL16を結合して得られる64ビットデータを最終ビット
転置62に入力し,暗号文Cとする。すなわち, C=IP-1(R16‖L16) ……(3) 次に,復号化処理を説明する。復号化の説明に使用する
ため,前述の暗号化の制御は(2)の一部を書き換え
て,次のようにする。Next, L 16 and R 16 are exchanged, and the left data R 16 is stored in the register 60.
The right data L 16 is stored in the register 61, respectively. R 16
The 64-bit data obtained by combining L 16 and L 16 is input to the final bit transpose 62, and the ciphertext C is obtained. That is, C = IP −1 (R 16 ‖L 16 ) ... (3) Next, the decoding process will be described. In order to use it for explanation of decryption, the above-mentioned encryption control is as follows by rewriting a part of (2).
Li=Ri-1 Rif(Li,Ki)=Li-1 ……(4) ただし,i=1〜16である。L i = R i-1 R i f (L i , K i ) = L i-1 (4) where i = 1 to 16.
入力した64ビット長の暗号文Cは,初期ビット転置51の
処理を受け,IP(C)が出力される。これを32ビットず
つ2等分する。その結果,次の関係が成立する。The input ciphertext C having a 64-bit length is processed by the initial bit transposition 51, and IP (C) is output. This is bisected by 32 bits. As a result, the following relationship holds.
IP(C)=IP(IP-1(R16‖L16))=R16‖L16 ……
(5) すなわち,IP(C)の左データはR16であり,右データは
L16となる。IP (C) = IP (IP -1 (R 16 ‖L 16 )) = R 16 ‖L 16 ……
(5) That is, the left data of IP (C) is R 16 and the right data is
It becomes L 16 .
R16はレジスタ52に,L16はレジスタ53に,それぞれ記憶
される。f関数63−1の入力は,L16と処理鍵K16である
ので,排他的論理和64−1の出力は,次式で与えられ
る。R 16 is stored in the register 52, and L 16 is stored in the register 53. Since the input of the f function 63-1 is L 16 and the processing key K 16 , the output of the exclusive OR 64-1 is given by the following equation.
R16f(L16,K16)=L15 ……(6) L15をレジスタ55に記憶する。なおレジスタ53に記憶さ
れたL16は,上述の関係式から,L16=R15であり,このR
15をレジスタ54に記憶する。以下,同じような処理を繰
り返して,レジスタ56にはR1が,レジスタ57にはL1が,
それぞれ記憶される。レジスタ58にはR0が,レジスタ59
にはL0が,それぞれ記憶される。レジスタ60にはL0が,
レジスタ61にはR0が,それぞれ記憶される。最終ビット
転置62には,64ビット長のL0‖R0が入力する。すなわ
ち, IP-1(L0‖R0)=IP-1(IP(P))=P ……(7) その結果,最終ビット転置62の出力として,元の平文デ
ータPが復元される。R 16 f (L 16 , K 16 ) = L 15 (6) Store L 15 in the register 55. The L 16 stored in the register 53 is L 16 = R 15 from the above relational expression.
Store 15 in register 54. After that, the same process is repeated, and R 1 is stored in the register 56, L 1 is stored in the register 57,
Each is remembered. Register 58 contains R 0 and register 59
L 0 is stored in each. L 0 is in register 60,
R 0 is stored in the register 61, respectively. To the final bit transposition 62, L 0 ‖R 0 having a 64-bit length is input. That is, IP −1 (L 0 ‖R 0 ) = IP −1 (IP (P)) = P (7) As a result, the original plaintext data P is restored as the output of the final bit transposition 62.
以上の説明で明らかなように,例えば,関数f(Ri-1,K
i)の中で,オーバフロー演算等で情報が失われたとし
ても,暗号文の復号化が可能である。その詳細な原理を
次に説明する。次の計算で,関数fの中の情報が失われ
たものとする。xとyから,x′とy′を求めたものとす
る。As is clear from the above description, for example, the function f (R i-1 , K
In i ), even if the information is lost due to overflow operation, the ciphertext can be decrypted. The detailed principle will be described below. In the next calculation, it is assumed that the information in the function f is lost. It is assumed that x ′ and y ′ are obtained from x and y.
x′=x y′=yf(x,Ki) その結果,xとyは,処理鍵Kiを使うことにより復元でき
る。x ′ = xy ′ = yf (x, K i ) As a result, x and y can be restored by using the processing key K i .
x=x′ y=y′f(x′,Ki) この原理を用いるので,関数fの中で情報が失われて
も,暗号文の復号化が可能である。x = x 'y = y'f (x', K i ) Since this principle is used, even if the information is lost in the function f, the ciphertext can be decrypted.
次に,DES暗号装置の鍵処理について説明する。Next, the key processing of the DES encryption device will be described.
第6図は,第5図における鍵処理装置の概念を示すブロ
ック図である。FIG. 6 is a block diagram showing the concept of the key processing device in FIG.
第6図において,4は入力鍵Kの64ビットデータを入力
し,特定の8個のパリティビットを除いて得られる56ビ
ットを,一定の順序で並び換えて56ビットを出力する選
択結線−1である。ここで,選択結線−1の出力56ビッ
トを,56ビット有効鍵と呼ぶ。In FIG. 6, reference numeral 4 designates the input connection of the 64-bit data of the input key K, and the 56-bits obtained by excluding the specific 8 parity bits are rearranged in a fixed order to output 56-bits. Is. Here, the output 56 bits of the selected connection-1 is called a 56-bit effective key.
5−0,5−1,5−2,…,5−16は,28ビット左循環シフトレ
ジスタ,6−0,6−1,6−2,…は,5−0,5−1,5−2のそれぞ
れに対応する左循環シフト動作を,7−0,7−1,7−2,…,7
−16は,28ビット左循環シフトレジスタ,8−0,8−1,8−
2,…,は7−0,7−1,7−2,…のそれぞれに対応する左循
環シフト動作を,9−1,9−2,…,9−16は,それぞれ56ビ
ットデータを入力し,特定規則で8ビットを除いて得ら
れる48ビットを一定の順序で並び替えて,48ビットを出
力する選択結線−2を,それぞれ表わしている。5-0, 5-1, 5-2, ..., 5-16 are 28-bit left circular shift registers, 6-0, 6-1, 6-2, ... are 5-0, 5-1, 5 -2, 7-0, 7-1, 7-2, ..., 7
-16 is a 28-bit left circular shift register, 8-0,8-1,8-
2, ..., The left circular shift operation corresponding to each of 7-0,7-1,7-2, ... is input, and each of 9-1,9-2 ,. 48 bits obtained by excluding 8 bits by the specific rule are rearranged in a fixed order, and the selected connection line-2 for outputting 48 bits is shown.
この鍵処理は,次のように動作する。入力した64ビット
の鍵は,4の選択結線−1でパリテイビットが除かれ,残
された56ビットが一定の規則で並び替えられ,56ビット
有効鍵とされる。This key processing operates as follows. The input 64-bit key has the parity bit removed by the selection connection of 4-1, and the remaining 56 bits are rearranged according to a certain rule to make a 56-bit effective key.
56ビット有効鍵は2分され,左28ビットはレジスタ5−
0に,右28ビットは,レジスタ5−1に転送されて記憶
される。次に,16回の反復動作により,16個の処理鍵K1,K
2…,K16を生成する。The 56-bit effective key is divided into two, and the left 28-bit is the register 5-
The right 28 bits to 0 are transferred to and stored in the register 5-1. Next, 16 processing keys K 1 , K
2 …, K 16 is generated.
レジスタ5−0に記憶された28ビットデータは,6−0で
特定ビット数だけ左循環シフトされ,レジスタ5−1に
記憶される。レジスタ5−1に記憶された28ビットデー
タは,6−1で特定数だけ左循環シフトされ,レジスタ5
−2に記憶される。以下,同じような処理が繰り返さ
れ,28ビットデータはレジスタ5−16に記憶される。The 28-bit data stored in the register 5-0 is left circularly shifted by a specific number of bits in 6-0 and stored in the register 5-1. The 28-bit data stored in the register 5-1 is left-circularly shifted by a specific number in 6-1 and is transferred to the register 5
-2 is stored. Thereafter, similar processing is repeated, and 28-bit data is stored in the register 5-16.
レジスタ7−0に記憶された28ビットデータも同じよう
な処理を受け,レジスタ7−1,…,レジスタ7−16に伝
えられて記憶される。なお,レジスタ5−iと,レジス
タ7−iに記憶された合計56ビットのデータは,4の選択
結線−1から出力される56ビット有効鍵を並び替えたも
のに過ぎない。The 28-bit data stored in the register 7-0 is also subjected to the same processing, transmitted to the registers 7-1, ..., And the register 7-16 and stored therein. The 56-bit total data stored in the register 5-i and the register 7-i is merely a rearrangement of the 56-bit effective keys output from the 4 selected connection lines-1.
9−1の選択結線−2は,レジスタ5−1と7−1とか
ら28ビットずつの合計56ビットを入力し,8ビットを除い
て得られる48ビットを並び替えて得られる鍵K1を出力す
る。The selection connection line-2 of 9-1 receives a total of 56 bits of 28 bits from the registers 5-1 and 7-1 and inputs the key K 1 obtained by rearranging 48 bits obtained by excluding 8 bits. Output.
9−2の選択結線−2は,レジスタ5−2と7−2とか
ら28ビットずつの合計56ビットを入力し,8ビットを除い
て得られる48ビットを並び替えて得られる鍵K2を出力す
る。以下,同じような処理が繰り返され,9−16の選択結
線−2は,レジスタ5−16と7−16とから28ビットずつ
の合計56ビットを入力し,8ビットを除いて得られる48ビ
ットを並び替えて得られる鍵K16を出力する。For selection connection-2 of 9-2, a total of 56 bits of 28 bits are input from registers 5-2 and 7-2, and a key K 2 obtained by rearranging 48 bits obtained by excluding 8 bits is obtained. Output. After that, the same process is repeated, and as for the selection connection-2 of 9-16, a total of 56 bits of 28 bits are input from registers 5-16 and 7-16, and 48 bits are obtained by excluding 8 bits. The key K 16 obtained by rearranging is output.
鍵処理装置1が暗号化を行うときには,66−1〜66−3
からは,処理鍵K1〜K16をこの順序に出力し,復号化を
行うときには,66−1〜66−3からは,処理鍵の順序を
暗号化の場合と逆に,即ち,K16〜K1をこの順序に出力す
る必要がある。この制御は,鍵処理の内部で,左循環シ
フト6−0〜8−0の動作を変更することにより実現さ
れる。When the key processing device 1 performs encryption, 66-1 to 66-3
In this case, the processing keys K 1 to K 16 are output in this order, and when decryption is performed, from 66-1 to 66-3, the order of the processing keys is the reverse of the case of encryption, that is, K 16 ~ K 1 should be output in this order. This control is realized by changing the operations of the left circulation shifts 6-0 to 8-0 inside the key processing.
ここで、作成されるDES暗号の連続する処理鍵Ki(48ビ
ット)とKi+1(48ビット)は、40ビットが重複した値
であり、残りの複数ビットのみが異なるという特質があ
る。この理由から、連続す2つの処理鍵KiとKi+1とか
ら,元の64ビットの鍵が再構成できる。従って、暗号破
りをするためには、連続する2つの処理鍵を解読するこ
とにより暗号を推定することで可能になる。Here, the continuous processing keys Ki (48 bits) and Ki + 1 (48 bits) of the created DES cipher have a characteristic that 40 bits are duplicate values and only the remaining plural bits are different. For this reason, the original 64-bit key can be reconstructed from two consecutive processing keys Ki and Ki + 1. Therefore, in order to break the cipher, it is possible to deduce the cipher by decrypting two consecutive processing keys.
本願発明では、暗号破りに対する対策の信頼性を一層向
上させるために、入力データの拡散を高めて、信頼性の
高いデータ乱数(鍵の生成を含む)を生成する装置の構
成および制御を明らかにすることにある。In the present invention, in order to further improve the reliability of countermeasures against cipher breaking, the configuration and control of a device for increasing the diffusion of input data and generating highly reliable data random numbers (including key generation) are clarified. To do.
上記目的を達成するため、本発明のデータ乱数化装置に
おいては、 入力されたデータに対して所定の演算処理を施して拡散
データを出力する拡散関数手段(F)、排他的論理和手
段()と、それら拡散関数手段と排他的論理和手段の
制御手段からなる構成を基本単位とし、該基本単位を少
なくとも3段接続してなるデータ乱数化装置であって、 初段の基本単位は、 オール零のデータブロック(D0)と入力データ(P)の
右半分データブロック(R0)とを初段の排他的論理和手
段に入力し、該排他的論理和手段の出力データブロック
とPの左半分データブロック(L0)とを初段の前記拡散
関数手段に入力し、該拡散関数手段は初段の左出力デー
タブロック(R1)を生成し、前記右半分データブロック
(R0)はそのまま初段の右出力データブロック(L1と
D2)とし、 第2段の基本単位は、 前記入力データ(P)の左半分データブロック(D1(L0
と同じ))と初段の前記左出力データブロック(R1)と
を第2段の排他的論理和手段に入力し、該排他的論理和
手段の出力データブロックと初段の前記右出力データブ
ロック(L1)とを第2段の前記拡散関数手段に入力し、
該拡散関数手段は第2段の左出力データブロック(R2)
を生成し、第2段の右入力データブロック(R1)はその
まま第2段の右出力データブロック(L2)とし、 第3段以降の各基本単位は、 前々段の右出力データブロック(第3段のときはD2(L1
と同じ))と前段の左出力データブロック(第3段のと
きはR2)とを該基本単位の排他的論理和手段に入力し、
該排他的論理和手段の出力データブロックと前段の右出
力データブロック(第3段のときはL2)とを該基本単位
の前記拡散関数手段に入力し、該拡散関数手段は該基本
単位の左出力データブロック(第3段のときはR3)を生
成し、右入力データブロックはそのまま該基本単位の右
出力データブロック(第3段のときはL3)とし、最終段
の基本単位の右出力データブロックと左出力データブロ
ックを左から並べて出力データ(C)とすること、 により入力データ(P)を乱数化する。In order to achieve the above object, in the data randomization device of the present invention, the spreading function means (F) and the exclusive OR means () that perform predetermined arithmetic processing on the input data and output the spread data. And a control unit of the diffusion function means and the exclusive OR means as a basic unit, and the basic unit is connected in at least three stages, and the basic unit at the first stage is an all-zero unit. Data block (D 0 ) and the right half data block (R 0 ) of the input data (P) are input to the exclusive OR means of the first stage, and the output data block of the exclusive OR means and the left half of P The data block (L 0 ) is input to the spreading function means of the first stage, the spreading function means generates the left output data block (R 1 ) of the first stage, and the right half data block (R 0 ) of the first stage remains unchanged. Right output data Lock (L 1 and
D 2) and then, the basic unit of the second stage, the input left half data block of the data (P) (D 1 (L 0
The same)) and the left output data block (R 1 ) of the first stage are input to the exclusive OR means of the second stage, and the output data block of the exclusive OR means and the right output data block of the first stage (R 1 ). L 1 ) and are input to the diffusion function means of the second stage,
The spreading function means is the second output data block (R 2 ) of the second stage.
The right input data block (R 1 ) of the second stage is directly used as the right output data block (L 2 ) of the second stage, and each basic unit after the third stage is the right output data block of the previous stage. (D 2 (L 1
Same as the above)) and the left output data block of the preceding stage (R 2 in the case of the third stage) are inputted to the exclusive OR means of the basic unit,
The output data block of the exclusive OR means and the right output data block of the preceding stage (L 2 in the case of the third stage) are input to the spreading function means of the basic unit, and the spreading function means of the basic unit is input. The left output data block (R 3 in the third stage) is generated, the right input data block is directly used as the right output data block (L 3 in the third stage) of the basic unit, and By arranging the right output data block and the left output data block from the left as output data (C), the input data (P) is randomized.
本発明のデータ乱数化装置は、基本単位を少なくとも3
段接続した構成からなり、64ビットの入力データPを入
力し、前々段の右出力データブロックと前段の左出力デ
ータブロックとを該基本単位の排他的論理和手段に入力
し、この排他的論理和手段の出力データブロックと前段
の右出力データブロックとを該基本単位の拡散関数手段
に入力し、この拡散関数手段は該基本単位の左出力デー
タブロックを生成し、右入力データブロックはそのまま
該基本単位の右出力データブロックとし、入力データP
を拡散することを繰り返し行っていく。The data randomization device of the present invention has at least 3 basic units.
The input data P of 64 bits is input, and the right output data block of the previous stage and the left output data block of the previous stage are input to the exclusive OR means of the basic unit, The output data block of the disjunction means and the right output data block of the preceding stage are input to the spreading function means of the basic unit, the spreading function means generates the left output data block of the basic unit, and the right input data block remains as it is. The right output data block of the basic unit, and the input data P
Repeat the process of spreading.
更に、前記拡散関数手段は、入力データを複数の同じ長
さのデータブロックに分ける分割手段と、該分割手段に
より分割された各データブロックのデータに対し、少な
くとも1回すべての他のデータブロックのデータと直接
または間接的に演算し、新しいデータブロックのデータ
を生成する融合手段と、該融合手段により生成された各
データブロックのデータに対して換字処理を施し新しい
データブロックを生成する換字手段と、該換字手段によ
り生成された各データブロックの最終的に得られたデー
タを結合して前記入力データの拡散データとして出力す
る結合手段とを具備し、前記入力データは前記分割手段
に入力し、前記分割手段からの出力を複数の前記融合手
段と複数の前記換字手段を経て前記結合手段とにより出
力するアミダ構造とする。Further, the spreading function means divides the input data into a plurality of data blocks of the same length, and at least once for all the other data blocks with respect to the data of each data block divided by the division means. Fusion means for directly or indirectly operating with the data to generate data of a new data block, and substitution means for performing substitution processing on the data of each data block generated by the fusion means to generate a new data block. , Combining means for combining the finally obtained data of the respective data blocks generated by the substituting means and outputting as the spread data of the input data, wherein the input data is input to the dividing means, Amida structure for outputting the output from the dividing means by the combining means via the plurality of fusion means and the plurality of substitution characters To.
なお、、融合手段は、そのブロックデータと、他のブロ
ックデータとの2つのデータを入力して、それら2つの
データを演算し、新しいデータを生成するものであれば
よく、本発明の実施例では、第2図の21,23,25,27で示
す加算器である。実施例の加算器は2つのデータx1とx2
とを入力し、但し、x1、x2とも1バイト長のデータであ
り、0≦x1≦256,0≦x2<256,なる関係が成り立ち、y
=x1+x2mod256、なる演算を行う。(ここで、mod256
は、x1+x2なる加算結果を、256で除算したり余りを表
わす数学の記号(法256の加算)を表わす。) また、換字手段は、そのブロックに対して換字処理を施
して新しいブロックを生成するものであればよく、本発
明の実施例では、第2図の22,24,26,28で表わす2ビッ
ト回路器である。It should be noted that the fusion means may be any one that inputs two data of the block data and another block data, calculates the two data, and generates new data. Then, it is an adder indicated by 21,23,25,27 in FIG. The adder of the embodiment has two data x1 and x2.
However, both x1 and x2 are 1-byte length data, and the relation 0 ≦ x1 ≦ 256, 0 ≦ x2 <256 holds, and y
= X1 + x2mod256. (Where mod256
Represents a mathematical symbol (modulo 256 addition) that divides the addition result of x1 + x2 by 256 or represents the remainder. Further, the substituting means may be any one as long as the substituting process is performed on the block to generate a new block. In the embodiment of the present invention, two bits represented by 22, 24, 26 and 28 in FIG. It is a circuit device.
暗号処理装置に対し、上記の基本単位を複数段接続した
データ乱数化装置で構成されるデータ乱数(処理鍵を含
む)は、 前々段の右出力データブロックと前段の左出力データブ
ロックとを該基本単位の排他的論理和手段に入力し、こ
の排他的論理和手段の出力データブロックと前段の右出
力データブロックとを該基本単位の拡散関数手段に入力
することで得られる。従って、連続する基本単位の2つ
の拡散関数手段により、データ乱数が生成される。A data random number (including a processing key) configured by a data randomizing device in which the above basic units are connected to the cryptographic processing device in a plurality of stages includes a right output data block in the previous stage and a left output data block in the previous stage. It is obtained by inputting to the exclusive OR means of the basic unit and inputting the output data block of this exclusive OR means and the right output data block of the preceding stage to the diffusion function means of the basic unit. Therefore, the random number of data is generated by the two spreading function means of the continuous basic unit.
また、入力データを鍵とする場合には、本願発明では、
連続する基本単位が連続す3つの処理鍵Ki,Ki+1,Ki+
2を生成することから、これらの処理鍵により、始め
て、鍵が再構成できる。従って、暗号破りをするために
は、連続する3つの処理鍵を解読することにより暗号を
推定することが可能となる。Further, when the input data is used as a key, in the present invention,
Three processing keys Ki, Ki + 1, Ki + with consecutive basic units
These processing keys allow the key to be reconstructed for the first time since they generate 2. Therefore, in order to break the cipher, it is possible to deduce the cipher by decrypting three consecutive processing keys.
更に、本願明細書の特許請求範囲(2)に記載の通り、
拡散関数手段は、分割手段と融合手段と換字手段とを備
え、入力データは分割手段によりすべて同じ長さのブロ
ックに分割し、次に融合処理と換字処理を複数回施し、
該融合処理は、入力データの分割されるブロックが出力
データの全バイトを直接又は間接に決められるアミダ状
構造で結合されて、各ブロックの最終的に得られたデー
タを結合手段で結合し、信頼性の高い拡散データとして
出力します。Furthermore, as described in claim (2) of the present specification,
The diffusion function means includes a dividing means, a merging means, and a character substituting means, the input data is divided into blocks of the same length by the dividing means, and then the merging process and the character substituting process are performed plural times.
In the fusion process, the divided blocks of the input data are combined by an amid-like structure in which all bytes of the output data are directly or indirectly determined, and the finally obtained data of each block are combined by combining means, Output as highly reliable spread data.
第1図は,本発明のデータ乱数化装置の基本的な構成と
制御を示したブロック図である。このブロック図に基づ
いて、データ乱数の生成の制御を以下に説明する。ここ
でFは拡散関数手段、 は排他的論理は手段、その他の制御手段である。FIG. 1 is a block diagram showing the basic configuration and control of the data randomization device of the present invention. The control of the data random number generation will be described below based on this block diagram. Here, F is a diffusion function means, is an exclusive logic means, and other control means.
第一図において,Pは64ビットの入力データL,Rは処理途
中の64ビットデータの左32ビットと,右32ビットの各デ
ータ,DはF関数への入力データへ融合する32ビットデー
タの一時記憶バッファ,L,R,Dの右下の添字は処理の段階
を示す。はビットごとの排他的論理和手段(回路),F
は32ビット−32ビット拡散関数手段,Cは乱数である。In the figure, P is 64-bit input data L, R is the left 32-bit of the 64-bit data being processed and right 32-bit data, and D is the 32-bit data fused to the input data to the F function. The lower right subscripts of the temporary storage buffer, L, R, and D indicate the processing stage. Is an exclusive OR means (circuit) for each bit, F
Is a 32-bit-32-bit spreading function means, and C is a random number.
先ず,Dをオール0の32ビットデータD0に初期化する。次
に,入力データPの左右32ビットをそれぞれL0,R0とす
る。以下,j=1〜5について,各々処理を行う。First, D is initialized to 32-bit data D 0 of all 0s. Next, the left and right 32 bits of the input data P are set to L 0 and R 0 , respectively. Hereinafter, each processing is performed for j = 1 to 5.
Dj=Lj-1 Lj=Rj-1 Rj=F(Lj-1,Rj-1Dj-1) 以上の手順により得られたL5とR5を左から順に並べて得
られるデータをCとする。すなわち,拡散関数手段F11
に入力する前に,D0とR0との排他的論理和をとる。そし
て,次の拡散関数手段F12の入力段階で,上式の関係を
得る様に制御する。D j = L j-1 L j = R j-1 R j = F (L j-1 , R j-1 D j-1 ) The L 5 and R 5 obtained by the above procedure are arranged in order from the left. Let C be the data obtained. That is, the diffusion function means F11
Exclusive-OR D 0 and R 0 before input to. Then, at the next input stage of the diffusion function means F12, control is performed so as to obtain the relation of the above equation.
つまり,L1=R0, D1=L0,R1=F(L0,R0D0)の関係で次の制御に進む。
次の拡散関数手段F13の入力段階では,L2=R1,D2=L1,R2
=F(L1,R1D1)の関係を得る。このようにして,L5,R
5を合せて乱数Cを形成して出力する。That is, the next control is performed in the relationship of L 1 = R 0 , D 1 = L 0 , R 1 = F (L 0 , R 0 D 0 ).
At the next input stage of the diffusion function means F13, L 2 = R 1 , D 2 = L 1 , R 2
= F (L 1 , R 1 D 1 ) In this way, L 5 , R
Combine 5 to form random number C and output.
以上の説明において,拡散手段Fは,j=1からj=5ま
で,5段階に渡る制御について説明したが,n段の制御でも
同様に出来ることは容易に類推出来る。乱数Cの値,即
ち,L5とR5の値から,L4やR4の値を求めることは出来ない
ことは明らかである。同様に,L4やR4の値から,L3やR3の
値を求めることは出来ないことは明らかである。以下,
同様に繰り返して,L5とR5の値から,元の入力データP
(L0とR0)を求めるうまい逆計算方法が存在しないこと
は容易に分かる。即ち,LjとRjの値を知って,元の入力
データPを逆算することは不可能であることが分かる。
入力データPの値からLjとRjを求めることは出来るが,L
jとRjの値を知って元の入力データPを逆算できない。In the above description, the diffusing means F has been described as controlling in five steps from j = 1 to j = 5, but it can be easily inferred that the same can be done in n steps of control. It is obvious that the value of L 4 or R 4 cannot be obtained from the value of the random number C, that is, the values of L 5 and R 5 . Similarly, it is clear that the values of L 3 and R 3 cannot be obtained from the values of L 4 and R 4 . Less than,
Repeat in the same way, from the values of L 5 and R 5 the original input data P
It is easy to see that there is no good inverse calculation method to find (L 0 and R 0 ). That is, it is understood that it is impossible to back-calculate the original input data P by knowing the values of L j and R j .
L j and R j can be obtained from the value of input data P, but L j
The original input data P cannot be calculated backward by knowing the values of j and R j .
以上を要約すると,この発明に基づく拡散装置は,乱数
化における一方向性,即ち,入力データPから乱数化し
た出力データ,LjとRjを容易に求められるが,出力デー
タから入力データを求めることは出来ないという性質を
有することが分かる。To summarize the above, the spreader according to the present invention can easily obtain the one-way property in randomization, that is, the output data L j and R j randomized from the input data P. It turns out that it has the property that it cannot be obtained.
第2図は,第1図における拡散関数手段Fの詳細説明図
である。21,23,25,27のADDは加算器,22,24,26,28のROL
は,2ビット回転器を,はビットごとの排他的論理和回
路を表わす。29の分割手段は、入力データLj-1を複数の
ブロックL0 j-1,L1 j-1,L2 j-1,L3 j-1に分割する。ここで
分割とは、32ビット(4バイト)の入力データLj-1を、
各1バイトずつ4つのブロックL0 j-1,L1 j-1,L2 j-1,L3
j-1分けることである。30の結合手段は、ブロックの通
路30−1,30−2,30−3,30−4上のそれぞれのデータF0,F
1,F2,F3を結合して出力通路30−5上のデータFとす
る。ここで、データF0,F1,F2,F3を結合するとは、デー
タF0,F1,F2,F3をこの順序に左から並べてデータFとす
ることを意味する。第2図において,32ビットデータF
(Lj-1,Rj-1Dj-1)を表わしているが,これを簡単に
Fと表わし,左から何バイト目のデータであるかを,Fi
(i=0〜3)と右上の添字を用いて表わす。このと
き,Fは以下の手順により求められる。FIG. 2 is a detailed explanatory diagram of the diffusion function means F in FIG. 21,23,25,27 ADD is adder, 22,24,26,28 ROL
Represents a 2-bit rotator and represents a bitwise exclusive OR circuit. The dividing means of 29 divides the input data L j-1 into a plurality of blocks L 0 j-1 , L 1 j-1 , L 2 j-1 , L 3 j-1 . Here, the term “division” means that the input data L j-1 of 32 bits (4 bytes) is
4 blocks of 1 byte each L 0 j-1 , L 1 j-1 , L 2 j-1 , L 3
j-1 is to divide. The coupling means of 30 are the respective data F 0 , F on the passages 30-1, 30-2, 30-3, 30-4 of the block.
1 , F 2 and F 3 are combined to form the data F on the output path 30-5. Here, combining the data F 0, F 1, F 2, F 3 means that the data F data F 0, F 1, F 2, F 3 are arranged from left in this order. In Figure 2, 32-bit data F
(L j-1 , R j-1 D j-1 ) is represented, and this is simply represented by F, and the number of bytes from the left is F i.
(I = 0 to 3) and the upper right subscript. At this time, F is obtained by the following procedure.
F1=L1L0 F2=L2L3 F1=ROL(F1+(F2D0R0)+1) F2=ROL(F2+(F1D1R1)) F0=ROL(L0+(F1D2R2)) F3=ROL(L3+(F2D3R3)+1) 上述の手順において,+は数値加算を示し,ROLはデータ
を左方向に2ビット回転させる手段を示している。すな
わち,第2図においては,ADD21とROL22がF1,ADD23とROL
24とがF2,ADD25とROL26とがF0,ADD27とROL28とがF3を,
それぞれ表わしている。先ず,拡散関数手段FにLi-1と
Di-1とを入力して,左から1バイト目,2バイト目,3バイ
ト目,および4バイト目のLデータに分割するととも
に,Dj-1とRj-1の排他的論理和をとり,左から0バイト
目をF1のブロックへ,1バイト目をF2ブロックへ,2バイト
目をF0ブロックへ,3バイト目をF3ブロックへ,それぞれ
分配する。これによって,各ADD,ROLにおいて,上式の
演算が行われる。F 1 = L 1 L 0 F 2 = L 2 L 3 F 1 = ROL (F 1 + (F 2 D 0 R 0 ) +1) F 2 = ROL (F 2 + (F 1 D 1 R 1 )) F 0 = ROL (L 0 + (F 1 D 2 R 2 )) F 3 = ROL (L 3 + (F 2 D 3 R 3 ) +1) In the above procedure, + indicates numerical addition and ROL indicates data. It shows the means for rotating 2 bits to the left. That is, in FIG. 2, ADD21 and ROL22 are F 1 , ADD23 and ROL are
24 and F 2 , ADD25 and ROL26 F 0 , ADD27 and ROL28 F 3 ,
Represents each. First, the diffusion function means F has L i-1
Input D i-1 and divide it into L data of the 1st, 2nd, 3rd, and 4th bytes from the left, and perform an exclusive OR of D j-1 and R j-1. The 0th byte from the left is distributed to the F 1 block, the 1st byte to the F 2 block, the 2nd byte to the F 0 block, and the 3rd byte to the F 3 block. As a result, the above formula is calculated in each ADD and ROL.
なお,また,ROLで示したビット回転数を1ビットにする
こと,あるいは可変にすること,あるいは処理段階を変
えること等は,本発明の設計変更により可能である。さ
らに,入力データが,例えば128ビットになった場合に
は,処理の単位を2バイトとし,ROLで示したビット回転
数を増加させることで,第1図に示す構造そのままで実
現できる。以上の説明において、加算器21,23,25,27は
2つのデータを入力して、それら2つのデータを演算
し、新しいデータを生成する融合手段であり、回転器2
2,24,26,28は、そのブロックに対して換字処理を施して
新しいブロックを生成する換字手段である。In addition, it is possible to change the bit rotation number indicated by ROL to 1 bit, to make it variable, or to change the processing stage, by changing the design of the present invention. Further, when the input data has 128 bits, for example, the processing unit is set to 2 bytes and the bit rotation number indicated by ROL is increased, whereby the structure shown in FIG. 1 can be realized as it is. In the above description, the adders 21, 23, 25 and 27 are fusion means for inputting two data, calculating the two data and generating new data.
Reference numerals 2, 24, 26 and 28 are substitution means for performing substitution processing on the block to generate a new block.
以上の様に、拡散関数手段は、分割手段と融合手段と換
字手段とを備え、入力データは分割手段によりすべて同
じ長さのブロックに分割し、次に融合処理と換字処理を
複数回施し、該融合処理は、入力データの分割されるブ
ロックが出力データの全バイトを直接又は間接に決めら
れるアミダ状構造で結合されて、各ブロックの最終的に
得られたデータを結合手段で結合し拡散データとして出
力し、拡散化が高いデータを生成できるものである。As described above, the diffusion function means includes the dividing means, the merging means, and the substituting means, the input data is divided into blocks of the same length by the dividing means, and then the fusion processing and the substituting processing are performed a plurality of times. In the fusion process, the divided blocks of input data are combined with all bytes of the output data in an amida-like structure that is directly or indirectly determined, and the finally obtained data of each block is combined and spread by a combining means. It is possible to output as data and generate highly diffused data.
第3図は,本発明のデータ乱数化装置を用いて認証子を
作成する構成である。第3図において,M1〜Mnは,メッ
セージを64ビットごとに分けたn個のデータブロック,K
は64ビットの入力鍵データ,はビットごとの排他的論
理和回路,HBFは本発明のデータ乱数化装置,Nは最終結果
の64ビットデータ,mは求める認証子である。FIG. 3 is a configuration for creating an authenticator by using the data randomization device of the present invention. In FIG. 3, M 1 to M n are n data blocks divided into 64-bit messages, K
Is the 64-bit input key data, is the bitwise exclusive OR circuit, HBF is the data randomization device of the present invention, N is the final 64-bit data, and m is the certifier to be obtained.
先ず,メッセージは64ビットごとにn個のブロックM1〜
Mnに分けられる。そして,64ビットデータM1Kを,HBF
に入力する。次にその結果得られた64ビットデータとM2
の排他的論理和回路がとられ,その結果を,HBFに入力す
る。以上の処理が,順次適用され,最後にMnと排他的論
理和がとられたデータHBFを適用した結果をRとする。
このRの右半分の32ビットのデータが認証子mとして得
られる。First, the message consists of n blocks M 1 ~
Divided into M n . Then, the 64-bit data M 1 K is converted into HBF
To enter. Then the resulting 64-bit data and M 2
The exclusive OR circuit of is taken and the result is input to HBF. The above processing is sequentially applied, and finally, the result of applying the data HBF obtained by exclusive ORing with M n is R.
The 32-bit data of the right half of R is obtained as the authenticator m.
第4図は,第1図で示した装置を第7図の暗号装置の鍵
処理部として使用したデータ乱数化装置である。第4図
において,Kは入力データであり64ビットの鍵からなり,K
0〜K7は出力データであり各16バイトの処理鍵として用
いる。その他の記号は第1図と同じものを表わす。第4
図は,第1図に示した本実施例の処理段数が4段のとき
を示している。処理段数をn段に増加すれば,出力デー
タも,K0〜K2n-1と増加する。この鍵を,第5図に示す処
理鍵K1,K2,…,K16として用いることにより,本発明のデ
ータ乱数化装置を,既存の暗号装置の鍵処理として用い
ることが出来る。なお,第5図のDES暗号装置の,66−1
上のK1,66−2上のK2,66−3上のK16はそれぞれ48ビッ
トであり,この発明に基づく,第4図に示す処理鍵Kiは
16ビットであるので,4図に示す処理鍵を3つ結合して得
られる48ビットのデータを,第5図に示す48ビットの処
理鍵として用いればよい。以上説明したように,データ
乱数化装置は,暗号装置の鍵処理として使うことが出来
る。FIG. 4 is a data randomization device using the device shown in FIG. 1 as the key processing unit of the encryption device of FIG. In Fig. 4, K is the input data and consists of a 64-bit key.
0 ~K 7 is used as the processing key for each 16-byte is output data. The other symbols represent the same as in FIG. Fourth
The figure shows the case where the number of processing stages of the present embodiment shown in FIG. 1 is four. If the number of processing stages is increased to n, the output data also increases from K 0 to K 2n-1 . By using this key as the processing keys K 1 , K 2 , ..., K 16 shown in FIG. 5, the data randomization device of the present invention can be used as the key process of the existing encryption device. In addition, 66-1 of the DES encryption device of FIG.
The upper K 1 , 66-2, the upper K 2 , and the upper 16 K 16 are respectively 48 bits, and the processing key Ki shown in FIG.
Since it is 16 bits, 48-bit data obtained by combining three processing keys shown in FIG. 4 may be used as the 48-bit processing key shown in FIG. As described above, the data randomization device can be used as the key processing of the encryption device.
第4図の拡散関数手段43の出力の処理鍵(R)は少なく
との前々段の拡散関数手段41の出力の処理鍵Ki(R)と
前段の拡散関数手段42の出力の処理鍵Ki+1(R)が必
要である。このめに、連続する3つの連続した処理鍵K
i,Ki+1,Ki+2が得られたとき、元の64ビットの鍵が始
めて得られる。このために、DESに比べて、信頼性が高
いものである。The processing key (R) of the output of the spreading function means 43 in FIG. 4 is at least the processing key Ki (R) of the output of the spreading function means 41 in the preceding stage and the processing key Ki + 1 of the output of the spreading function means 42 in the preceding stage. (R) is required. For this reason, three consecutive processing keys K
When i, Ki + 1, Ki + 2 are obtained, the original 64-bit key is obtained for the first time. Therefore, it is more reliable than DES.
以上説明したように,本発明によれば,DES暗号装置を上
回る強い一方向性とデータ拡散性を有し,信頼性の高い
一方向性型データ乱数を生成できる。As described above, according to the present invention, it is possible to generate a highly reliable unidirectional data random number having a stronger one-way property and data diffusion property than the DES encryption device.
特に、暗号処理装置に転送する暗号鍵を生成する場合に
は、拡散関数手段、排他的論理和手段と、上記手段の制
御手段からなる構成を基本単位とし、該基本単位を複数
接続することにより、前々々段の拡散関数手段の出力と
前段の拡散関数手段の出力とを前記排他的論理和手段に
より排他的論理和を行い、その結果とを前記拡散関数手
段に入力し、処理鍵を基本単位毎に生成し、その結果生
成した複数の処理鍵を暗号処理装置に転送し、該暗号装
置を制御することにより、乱数を生成することを繰り返
して行うことに特徴がある。つまり、前々々段の拡散関
数手段の出力である処理鍵と前段の処理鍵をもとに入力
したデータは複数の新たな処理鍵を生成するので、従来
の暗号DES等の鍵処理装置では得られない高い信頼性が
えられるものであります。In particular, in the case of generating an encryption key to be transferred to the cryptographic processing device, the basic unit is composed of the diffusion function means, the exclusive OR means, and the control means of the above means, and by connecting a plurality of the basic units. , The output of the diffusion function means of the second before the previous stage and the output of the diffusion function means of the previous stage are exclusive ORed by the exclusive OR means, and the result is input to the diffusion function means, and the processing key is input. It is characterized in that the plurality of processing keys generated for each basic unit are transferred to the cryptographic processing apparatus, and the random number is repeatedly generated by controlling the cryptographic processing apparatus. In other words, since the processing key that is the output of the spreading function means of the second previous stage and the data that is input based on the processing key of the previous stage generate a plurality of new processing keys, a conventional key processing device such as a cryptographic DES It is a highly reliable product that cannot be obtained.
更に、本願発明の特許請求範囲(2)に記載の通り、拡
散関数手段をアミダ状構成としている。この構成をデー
タ乱数化装置の拡散関数手段としたことにより、データ
の拡散効果が従来のDESの構成より、データの拡散効果
を2倍に高めることができる。従って、データ乱数化装
置は全体として、非常に信頼性の高い暗号を生成できる
という効果が得られるものであります。Further, as described in claim (2) of the present invention, the diffusion function means has an amida structure. By using this configuration as the spreading function means of the data randomization device, the data spreading effect can be doubled as compared with the conventional DES structure. Therefore, the data randomizer as a whole has the effect of being able to generate a very reliable cipher.
第1図は本願発明の基本構成と制御を示すデータ乱数化
装置のブロック図,第2図は第1図における32ビット拡
散関数手段Fを示す図,第3図は本発明の応用例を示す
メッセージ認証の認証子生成のデータ乱数化装置のブロ
ック図,第4図は本発明の応用例を示す暗号装置のデー
タ乱数化装置,第5図は従来のDES暗号装置,第6図は
従来のDESを用いたデータ乱数化装置、第7図はDES暗号
装置に本願発明のデータ乱数化装置を接続することに実
現した暗号装置をそれぞれ示した図である。 1:鍵処理装置, 2:暗号処理装置 11,12,13,14,15,41,42,43,44,F:32ビット拡散関数手段 P:64ビットの入力データ, C:64ビットの暗号(乱数), IP,IP-1:DESの初期および最終のビット転置, L,R:処理される64ビットデータの各々左右32ビットデー
タ, D:32ビットデータの一時記憶バッファ, f:DESの32ビット拡散関数手段, :ビット対応の排他的論理和回路, K:64ビットの入力鍵データ, 21,23,25,27,ADD:加算, 22,24,26,28,ROL:左方向へのデータの2ビット回転, M1〜Mn:メッセージを64ビットごとに分けたn個のデー
タブロック, N:64ビットのデータ, 31,32,33,34,HBF:本実施例のデータ乱数化装置。 29:分割手段, 30:結合手段, 30−1,30−2,30−3,30−4:ブロックの通路, 30−5:出力通路。FIG. 1 is a block diagram of a data randomizing device showing the basic configuration and control of the present invention, FIG. 2 is a diagram showing a 32-bit spreading function means F in FIG. 1, and FIG. 3 is an application example of the present invention. FIG. 4 is a block diagram of a data randomizer for generating an authenticator for message authentication, FIG. 4 is a data randomizer for an encryption device showing an application example of the present invention, FIG. 5 is a conventional DES encryption device, and FIG. FIG. 7 is a diagram showing a data randomization device using DES, and FIG. 7 is an encryption device realized by connecting the data randomization device of the present invention to the DES encryption device. 1: Key processing device, 2: Cryptographic processing device 11,12,13,14,15,41,42,43,44, F: 32-bit spreading function means P: 64-bit input data, C: 64-bit encryption (Random number), IP, IP -1 : DES initial and final bit transposition, L, R: Left and right 32-bit data of each 64-bit data to be processed, D: 32-bit data temporary storage buffer, f: DES 32-bit spreading function means :: Exclusive OR circuit for bits, K: 64-bit input key data, 21,23,25,27, ADD: Addition, 22,24,26,28, ROL: To the left 2-bit rotation of data, M 1 to M n : n data blocks obtained by dividing the message into 64 bits, N: 64-bit data, 31,32, 33, 34, HBF: Data random number of this embodiment Device. 29: dividing means, 30: coupling means, 30-1, 30-2, 30-3, 30-4: block passage, 30-5: output passage.
Claims (2)
を施して拡散データを出力する拡散関数手段(F)、排
他的論理和手段()と、それら拡散関数手段と排他的
論理和手段の制御手段からなる構成を基本単位とし、該
基本単位を少なくとも3段接続してなるデータ乱数化装
置であって、 初段の基本単位は、 オール零のデータブロック(D0)と入力データ(P)の
右半分データブロック(R0)とを初段の排他的論理和手
段に入力し、該排他的論理和手段の出力データブロック
とPの左半分データブロック(L0)とを初段の前記拡散
関数手段に入力し、該拡散関数手段は初段の左出力デー
タブロック(R1)を生成し、前記右半分データブロック
(R0)はそのまま初段の右出力データブロック(L1と
D2)とし、 第2段の基本単位は、 前記入力データ(P)の左半分データブロック(D1(L0
と同じ))と初段の前記左出力データブロック(R1)と
を第2段の排他的論理和手段に入力し、該排他的論理和
手段の出力データブロックと初段の前記右出力データブ
ロック(L1)とを第2段の前記拡散関数手段に入力し、
該拡散関数手段は第2段の左出力データブロック(R2)
を生成し、第2段の右入力データブロック(R1)はその
まま第2段の右出力データブロック(L2)とし、 第3段以降の各基本単位は、 前々段の右出力データブロック(第3段のときはD2(L1
と同じ))と前段の左出力データブロック(第3段のと
きはR2)とを該基本単位の排他的論理和手段に入力し、
該排他的論理和手段の出力データブロックと前段の右出
力データブロック(第3段のときはL2)とを該基本単位
の前記拡散関数手段に入力し、該拡散関数手段は該基本
単位の左出力データブロック(第3段のときはR3)を生
成し、右入力データブロックはそのまま該基本単位の右
出力データブロック(第3段のときはL3)とし、最終段
の基本単位の右出力データブロックと左出力データブロ
ックを左から並べて出力データ(C)とすること、 を特徴とするデータ乱数化装置。1. A diffusion function means (F) for subjecting input data to predetermined arithmetic processing and outputting diffusion data, an exclusive OR means (), and these diffusion function means and exclusive OR means. Is a data randomizing device in which at least three stages are connected to each other as a basic unit, and the basic unit at the first stage is an all-zero data block (D 0 ) and input data (P 0 ). ) Right half data block (R 0 ) is input to the exclusive OR means of the first stage, and the output data block of the exclusive OR means and the left half data block (L 0 ) of P are spread in the first stage. Input to the function means, the spreading function means generates a left output data block (R 1 ) of the first stage, and the right half data block (R 0 ) is as it is, the right output data block (L 1 and
D 2) and then, the basic unit of the second stage, the input left half data block of the data (P) (D 1 (L 0
The same)) and the left output data block (R 1 ) of the first stage are input to the exclusive OR means of the second stage, and the output data block of the exclusive OR means and the right output data block of the first stage (R 1 ). L 1 ) and are input to the diffusion function means of the second stage,
The spreading function means is the second output data block (R 2 ) of the second stage.
The right input data block (R 1 ) of the second stage is directly used as the right output data block (L 2 ) of the second stage, and each basic unit after the third stage is the right output data block of the previous stage. (D 2 (L 1
Same as the above)) and the left output data block of the preceding stage (R 2 in the case of the third stage) are inputted to the exclusive OR means of the basic unit,
The output data block of the exclusive OR means and the right output data block of the preceding stage (L 2 in the case of the third stage) are input to the spreading function means of the basic unit, and the spreading function means of the basic unit is input. The left output data block (R 3 in the third stage) is generated, the right input data block is directly used as the right output data block (L 3 in the third stage) of the basic unit, and A data randomization device, comprising: arranging a right output data block and a left output data block from the left as output data (C).
数手段は、入力データを複数の同じ長さのデータブロッ
クに分ける分割手段と、該分割手段により分割された各
データブロックのデータに対し、少なくとも1回すべて
の他のデータブロックのデータと直接または間接的に演
算し、新しいデータブロックのデータを生成する融合手
段と、該融合手段により生成された各データブロックの
データに対して換字処理を施し新しいデータブロックを
生成する換字手段と、該換字手段により生成された各デ
ータブロックの最終的に得られたデータを結合して前記
入力データの拡散データとして出力する結合手段とを具
備すること、 を特徴とするデータ乱数化装置。2. The spreading function means according to claim 1, wherein the spreading function means divides the input data into a plurality of data blocks having the same length, and the data of each data block divided by the dividing means. A fusing means for directly or indirectly operating with data of all other data blocks at least once to generate data of a new data block, and substitution processing for the data of each data block generated by the fusing means. And substituting means for generating a new data block and combining means for combining the finally obtained data of each data block generated by the substituting means and outputting as the spread data of the input data. A data randomization device characterized by:
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60250398A JPH0760292B2 (en) | 1985-11-08 | 1985-11-08 | Data randomizer |
| US06/926,043 US4850019A (en) | 1985-11-08 | 1986-11-03 | Data randomization equipment |
| EP86115279A EP0221538B1 (en) | 1985-11-08 | 1986-11-04 | Data randomization equipment and method |
| DE3689510T DE3689510T2 (en) | 1985-11-08 | 1986-11-04 | Data obfuscation device and method. |
| EP91112054A EP0454187B1 (en) | 1985-11-08 | 1986-11-04 | Data randomization equipment |
| DE3650365T DE3650365T2 (en) | 1985-11-08 | 1986-11-04 | Data obfuscation facility. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60250398A JPH0760292B2 (en) | 1985-11-08 | 1985-11-08 | Data randomizer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62109083A JPS62109083A (en) | 1987-05-20 |
| JPH0760292B2 true JPH0760292B2 (en) | 1995-06-28 |
Family
ID=17207320
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60250398A Expired - Lifetime JPH0760292B2 (en) | 1985-11-08 | 1985-11-08 | Data randomizer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0760292B2 (en) |
-
1985
- 1985-11-08 JP JP60250398A patent/JPH0760292B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62109083A (en) | 1987-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2760799B2 (en) | Encryption method | |
| Brown et al. | LOKI—a cryptographic primitive for authentication and secrecy applications | |
| US5222139A (en) | Cryptographic method and apparatus | |
| EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
| JP3225440B2 (en) | Digital signal block conversion device and method of using the same | |
| CN1331013C (en) | Calculating unit and method for performing an arithmetic operation with encrypted operands | |
| US5398284A (en) | Cryptographic encoding process | |
| JP2000162965A (en) | Encryption / decryption device and storage medium | |
| JP2011512562A (en) | Random encryption and decryption method for access and communication data | |
| Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
| RU2140714C1 (en) | Data block iterative ciphering technique | |
| WO1999036942A1 (en) | Method for the cryptographic conversion of binary data blocks | |
| US12463794B2 (en) | High-speed circuit combining AES and SM4 encryption and decryption | |
| JP4515716B2 (en) | Extended key generation device, encryption device, and encryption system | |
| CN117725605A (en) | Method and system for remotely and automatically compiling electronic archive file information confidentiality | |
| Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
| Patel et al. | Hybrid security algorithms for data transmission using AES-DES | |
| JPH0760292B2 (en) | Data randomizer | |
| KR100350207B1 (en) | Method for cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks | |
| RU2206961C2 (en) | Method for iterative block encryption of binary data | |
| JPH10153954A (en) | Ciphering device | |
| JP2870532B2 (en) | Cryptographic converter | |
| RU2184423C2 (en) | Method for iterative block encryption of digital data | |
| KR100262384B1 (en) | Encryption Method and Apparatus | |
| RU2199826C2 (en) | Method for iterative encoding of digital data blocks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |