JPH06102820A - Cyphering device - Google Patents

Cyphering device

Info

Publication number
JPH06102820A
JPH06102820A JP4252716A JP25271692A JPH06102820A JP H06102820 A JPH06102820 A JP H06102820A JP 4252716 A JP4252716 A JP 4252716A JP 25271692 A JP25271692 A JP 25271692A JP H06102820 A JPH06102820 A JP H06102820A
Authority
JP
Japan
Prior art keywords
circuit
key
block
supplied
keys
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.)
Pending
Application number
JP4252716A
Other languages
Japanese (ja)
Inventor
Masami Yamashita
雅美 山下
Yoshitaka Hosoya
義孝 細谷
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP4252716A priority Critical patent/JPH06102820A/en
Publication of JPH06102820A publication Critical patent/JPH06102820A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make a cyphering and a decyphering devices the same constitution and to reduce man-hour for design and manufacturing by generating plural intermediate keys in the reverse order, successively randomizing the cipher text and generating a plain text. CONSTITUTION:This device comprizes a key generating part 10 for successively randomizing a cryptographic key, outputting plural intermediate keys obtained in the process and a decyphering key obtained in the course of final randomization and outputting plural intermediate keys in the reverse order by inputting the decyphering key and a cyphering processing part 20 for successively randomizing a plain text or the cipher text using the intermediate key from the key generating part 10 and generating the cipher text or the plain text. Then, in the cyphering device, at the time of cyphering processing, the cryptographic key is successively randomized, plural intermediate keys and decyphering keys are generated, the plain text is successively randomized using the respective intermediate keys so as to generate the plain text. On the other hand, at the time of decyphering, plural intermediate keys are generated in the reverse order of cyphering processing by successively randomizing the decyphering key and the cipher text is successively randomized by using the respective intermediate keys so as to generate the plain language.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、暗号装置に関し、特に
暗号化鍵から生成される中間鍵を用いて平文をランダム
化して、暗号文を生成する暗号装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cryptographic device, and more particularly to a cryptographic device for generating a ciphertext by randomizing a plaintext using an intermediate key generated from an encryption key.

【0002】[0002]

【従来の技術】代表的な暗号化方式としては、1977
年に米国商務省標準局が制定したDES(Data Encrypt
ion Standard)が知られている。ここで、DESについ
て説明する。
2. Description of the Related Art A typical encryption method is 1977.
DES (Data Encrypt)
ion Standard) is known. Here, the DES will be described.

【0003】DESにおける暗号装置は、図5に示すよ
うに、暗号化鍵から16個の中間鍵K1 、K2 、K3
4 、K5 、K6 、K7 、K8 、K9 、K10、K11、K
12、K13、K14、K15、K16を順次生成する鍵生成部1
10と、該鍵生成部110からの16個の中間鍵K1
16を用いて平文を順次ランダム化して、暗号化する暗
号化処理部130とを備える。
As shown in FIG. 5, the encryption device in the DES includes 16 intermediate keys K 1 , K 2 , K 3 from the encryption key.
K 4 , K 5 , K 6 , K 7 , K 8 , K 9 , K 10 , K 11 , K
Key generation unit 1 for sequentially generating 12 , K 13 , K 14 , K 15 , and K 16.
10 and 16 intermediate keys K 1 to K 1 from the key generation unit 110.
An encryption processing unit 130 for sequentially encrypting and encrypting a plaintext by using K 16 .

【0004】そして、鍵生成部110は、暗号化鍵から
中間鍵K1 〜K16をその添字が若い順に生成する。暗号
化処理部130は、これらの中間鍵K1 〜K16を生成さ
れる順序で用いて平文を順次ランダム化(拡散)し、暗
号文を生成するようになっている。
Then, the key generator 110 generates the intermediate keys K 1 to K 16 from the encryption key in ascending order of the subscripts. The encryption processing unit 130 sequentially randomizes (spreads) the plaintext by using these intermediate keys K 1 to K 16 in the order in which they are generated, and generates the ciphertext.

【0005】具体的には、鍵生成部110は、上述の図
5に示すように、所謂縮約転字する縮約型転字回路12
7と、該縮約型転字回路127で縮約転字された暗号化
鍵を、それぞれビットシフトすると共に更に縮約転字
し、中間鍵K1 〜K16をそれぞれ生成する縦続接続され
た16個の中間鍵生成回路111、112、113、1
14、115、116、117、118、119、12
0、121、122、123、124、125、126
とを備える。
Specifically, as shown in FIG. 5 described above, the key generation section 110 is a contraction-type transposition circuit 12 that performs so-called contraction transposition.
7 and the encryption keys contracted and transcribed by the contraction type transposition circuit 127 are bit-shifted and further contracted and transposed to generate intermediate keys K 1 to K 16 , respectively, which are connected in cascade. 16 intermediate key generation circuits 111, 112, 113, 1
14, 115, 116, 117, 118, 119, 12
0, 121, 122, 123, 124, 125, 126
With.

【0006】そして、縮約型転字回路127は、64ビ
ットで供給される暗号化鍵から8ビットからなるパリテ
ィを削除すると共に転字、すなわち例えばビット単位で
の所定の入換を行い、縮約転字された暗号化鍵を上位2
8ビット(以下ブロックA0という)と下位28ビット
(以下ブロックB0 という)とに分割する。
Then, the contraction type transposing circuit 127 deletes the 8-bit parity from the encryption key supplied by 64 bits and transposes, that is, performs a predetermined permutation, for example, in a bit unit, and performs the contraction. Top 2 encryption keys that have been transcribed
It is divided into 8 bits (hereinafter referred to as block A 0 ) and lower 28 bits (hereinafter referred to as block B 0 ).

【0007】各中間鍵生成回路111〜126は、上述
の図5に示すように、前段からのブロックAi (i=0
〜16)を循環的に左側にビットシフトしてブロックA
i+1を生成するシフトレジスタ101と、前段からのブ
ロックBi (i=0〜16)を循環的に左側にビットシ
フトしてブロックBi+1 を生成するシフトレジスタ10
2と、上記シフトレジスタ101からのブロックAi+1
とシフトレジスタ102からのブロックBi+1 を縮約転
字する縮約型転字回路103とを備える。
As shown in FIG. 5, each of the intermediate key generation circuits 111 to 126 has a block A i (i = 0) from the preceding stage.
~ 16) are cyclically bit-shifted to the left and block A
The shift register 101 for generating i + 1 and the shift register 10 for cyclically bit-shifting the block B i (i = 0 to 16) from the previous stage to the left side to generate the block B i + 1
2 and the block A i + 1 from the shift register 101
And a contraction type transposing circuit 103 for contracting the block B i + 1 from the shift register 102.

【0008】そして、第1段目の中間鍵生成回路111
のシフトレジスタ101、102は、縮約型転字回路1
27から供給されるブロックA0 、B0 をそれぞれ所定
のビット数分循環的に左側(上位ビット側)にシフトし
て、ブロックA1 、B1 を生成する。この中間鍵生成回
路111の縮約型転字回路103は、ブロックA1 とブ
ロックB1 を結合した56(=28+28)ビットのデ
ータを縮約転字して、48ビットからなる中間鍵K1
生成する。
Then, the first-stage intermediate key generation circuit 111
The shift registers 101 and 102 of FIG.
The blocks A 0 and B 0 supplied from 27 are cyclically shifted to the left (higher bit side) by a predetermined number of bits to generate blocks A 1 and B 1 . The contraction type transposing circuit 103 of the intermediate key generating circuit 111 contracts and transposes 56 (= 28 + 28) -bit data obtained by combining the block A 1 and the block B 1 into an intermediate key K 1 of 48 bits. To generate.

【0009】つぎに、第2段目の中間鍵生成回路112
のシフトレジスタ101、102は、前段の中間鍵生成
回路111から供給されるブロックA1 、B1 をそれぞ
れ所定のビット数分循環的に左側にシフトして、ブロッ
クA2 、B2 を生成する。この中間鍵生成回路112の
縮約型転字回路103は、ブロックA2 とブロックB 2
を結合した56ビットのデータを縮約転字して、48ビ
ットからなる中間鍵K 2 を生成する。
Next, the intermediate key generation circuit 112 in the second stage
Shift registers 101 and 102 of
Block A supplied from circuit 1111, B1That
Cyclically shifts to the left by a predetermined number of bits, and
Ku A2, B2To generate. This intermediate key generation circuit 112
The contraction type transposing circuit 103 is a block A.2And block B 2
56-bit data combined with
Intermediate key K consisting of 2To generate.

【0010】以下同様にして、中間鍵生成回路113〜
126は、中間鍵K3 〜K16をそれぞれ生成する。この
ようにしてその添字が若い順に生成された中間鍵K1
16は、生成された順序で暗号化処理部130に供給さ
れる。
Similarly, the intermediate key generation circuits 113 to 113
126 generates an intermediate key K 3 ~K 16 respectively. In this way, the intermediate keys K 1 to
The K 16 is supplied to the encryption processing unit 130 in the order of generation.

【0011】暗号化処理部130は、上述の図5に示す
ように、平文を所謂平行転字する初期転字回路147
と、該初期転字回路147で転字された平文を、上記鍵
生成部110から順番に供給される中間鍵K1 〜K16
用いて、順次ランダム化する縦続接続された16個のラ
ンダム化回路131、132、133、134、13
5、136、137、138、139、140、14
1、142、143、144、145、146と、該ラ
ンダム化回路146の出力を上記初期転字回路147と
逆の転字をして暗号文を生成し、該暗号文を出力する最
終転字回路148とを備える。
The encryption processing unit 130, as shown in FIG. 5 described above, is an initial transposing circuit 147 for transcribing plain text in parallel.
And the plain text transcribed by the initial transcribing circuit 147 is sequentially randomized by using the intermediate keys K 1 to K 16 sequentially supplied from the key generation unit 110, and 16 cascaded random numbers are connected. Circuit 131, 132, 133, 134, 13
5, 136, 137, 138, 139, 140, 14
1, 142, 143, 144, 145, 146 and the output of the randomizing circuit 146 is transcribed in the reverse manner of the initial transposing circuit 147 to generate a ciphertext, and the final transposition of outputting the ciphertext. And a circuit 148.

【0012】そして、初期転字回路147は、64ビッ
ト単位でデータとして供給される平文を平行転字し、転
字された平文を上位32ビット(以下ブロックL0 とい
う)と下位32ビット(以下ブロックR0 という)とに
分割する。
The initial transcribing circuit 147 transposes the plaintext supplied as data in units of 64 bits in parallel, and transposes the transcribed plaintext in upper 32 bits (hereinafter referred to as block L 0 ) and lower 32 bits (hereinafter referred to as block L 0 ). Block R 0 ).

【0013】各ランダム化回路131〜146は、上述
の図5に示すように、前段からのブロックRi を、中間
鍵生成回路111〜126の対応する段から供給される
中間鍵Ki+1 を用いて、所定の関数fにより攪拌する関
数回路105と、該関数回路105の出力と前段からの
ブロックLi の排他的論理和を演算してブロックRi+ 1
生成する排他的論理和回路(以下EX−ORという)1
06とを備える。
As shown in FIG. 5, each of the randomizing circuits 131 to 146 transfers the block R i from the preceding stage to the intermediate key K i + 1 supplied from the corresponding stage of the intermediate key generating circuits 111 to 126. Using the function circuit 105 that stirs by a predetermined function f, and the output of the function circuit 105 and the exclusive OR of the block L i from the previous stage are calculated to obtain the block R i + 1
Exclusive OR circuit to generate (hereinafter referred to as EX-OR) 1
06 and.

【0014】そして、第1段目のランダム化回路131
は、初期転字回路147から供給されるブロックR
0 を、そのデータと中間鍵K1 を変数とする所定の関数
fにより攪拌すると共に、得られるデータ(f(R0
1 ))と初期転字回路147から供給されるブロック
0 の排他的論理和を演算し、この演算結果とブロック
0 をそれぞれブロックR1 、L1 としてランダム化回
路132に供給する。なお、上述の関数fは、例えばコ
ード変換テーブルを用いてブロックR0 をコード変換す
る所謂換字処理を含む関数である。
Then, the first-stage randomizing circuit 131
Is a block R supplied from the initial transposing circuit 147.
0The data and the intermediate key K1Given function with variable
The data obtained (f (R0
K1)) And the block supplied from the initial transcription circuit 147
L0The exclusive OR of is calculated and the result of this calculation and the block
R 0Block R respectively1, L1As randomized times
Supply to the path 132. The above-mentioned function f is, for example,
Block R using the code conversion table0Transcode
This is a function that includes so-called substitution processing.

【0015】つぎに、第2段目のランダム化回路132
は、ランダム化回路131から供給されるブロックR1
を、そのデータと中間鍵K2 を変数とする所定の関数f
により攪拌すると共に、得られるデータ(f(R1 ,K
2 ))とランダム化回路131から供給されるブロック
1 の排他的論理和を演算し、この演算結果とブロック
1 をそれぞれブロックR2 、L2 としてランダム化回
路133に供給する。
Next, the second-stage randomizing circuit 132
Is a block R 1 supplied from the randomizing circuit 131.
Is a predetermined function f whose variables are the data and the intermediate key K 2.
The data (f (R 1 , K
2 )) and the block L 1 supplied from the randomizing circuit 131 are operated on, and the operation result and the block R 1 are supplied to the randomizing circuit 133 as blocks R 2 and L 2 , respectively.

【0016】以下同様にして、ランダム化回路133〜
146は、中間鍵K3 〜K16を生成される順にそれぞれ
用いて平文のランダム化を順次行い、最終段のランダム
化回路146から出力されるブロックL16、R16は、最
終転字回路148に供給される。
Similarly, the randomizing circuits 133 to
146 sequentially randomizes the plaintext by using the intermediate keys K 3 to K 16 in the order in which they are generated, and the blocks L 16 and R 16 output from the randomizing circuit 146 at the final stage are the final transposing circuit 148. Is supplied to.

【0017】最終転字回路148は、ブロックL16、R
16を結合すると共に、得られる64ビットのデータを初
期転字回路147の転字とは逆の変換を行って、暗号文
を生成し、この暗号文を出力する。
The final transposing circuit 148 includes blocks L 16 and R.
16 is combined, the obtained 64-bit data is converted in the reverse of the transliteration of the initial transposition circuit 147, a ciphertext is generated, and this ciphertext is output.

【0018】DESは暗号化鍵と復号化鍵が同一である
慣用暗号方式であり、DESの復号装置は、上述した暗
号装置の鍵生成部110、暗号化処理部130と同等の
回路(以下、それらを鍵生成部、暗号化処理部という)
と、この鍵生成部で順次生成された中間鍵K1 〜K16
記憶するメモリとを有する。そして、暗号化鍵と同一の
復号化鍵が鍵生成部に入力されると、中間鍵K1 〜K16
をその添字が若い順に生成し、これらの中間鍵K1 〜K
16を一旦メモリに記憶する。つぎに、暗号文が暗号化処
理部に入力されると、メモリから中間鍵K1 〜K16をそ
の添字が大きき順に読み出し、読み出した中間鍵K1
16を順番に用いて暗号文を順次ランダム化することに
より、復号化を行い、平文を生成するようになってい
る。
DES is a conventional encryption system in which the encryption key and the decryption key are the same, and the DES decryption device is a circuit equivalent to the above-mentioned key generation unit 110 and encryption processing unit 130 of the encryption device (hereinafter, They are called the key generation unit and encryption processing unit.)
And a memory for storing the intermediate keys K 1 to K 16 sequentially generated by the key generation unit. Then, when the same decryption key as the encryption key is input to the key generation unit, the intermediate keys K 1 to K 16
Are generated in ascending order of their subscripts, and these intermediate keys K 1 to K
16 is once stored in the memory. Next, when the ciphertext is input to the encryption processing unit, the intermediate keys K 1 to K 16 are read from the memory in the order of increasing subscripts, and the read intermediate keys K 1 to K 16 are read.
By sequentially randomizing the ciphertext using K 16 in order, the decryption is performed and the plaintext is generated.

【0019】[0019]

【発明が解決しようとする課題】すなわち、DESの復
号装置では、鍵生成部において中間鍵K1 〜K16がその
添字が若い順に生成されることから、中間鍵K1 〜K16
を一旦記憶するためのメモリが必要とされる。また、全
ての中間鍵K1 〜K16が生成されるまで復号化処理を行
うことができないという問題があった。さらに、暗号装
置と復号装置を共通設計とすることができず、設計や製
造工数が多くかかるという問題があった。
[SUMMARY OF THE INVENTION That is, in the decoding apparatus of the DES, since the intermediate key K 1 ~K 16 whose index is created in ascending order in the key generation unit, an intermediate key K 1 ~K 16
A memory is required to store once. Further, there is a problem that it is impossible to perform the decoding process until all of the intermediate key K 1 ~K 16 is generated. Furthermore, there is a problem in that the encryption device and the decryption device cannot be designed in common, which requires a large number of design and manufacturing processes.

【0020】本発明は、このような実情に鑑みてなされ
たものであり、暗号装置と復号装置の回路構成を同一に
することができると共に、中間鍵K1 〜K16を記憶する
ためのメモリを必要としない暗号装置を提供することを
目的とする。
The present invention has been made in view of the above situation, and the circuit configurations of the encryption device and the decryption device can be the same, and a memory for storing the intermediate keys K 1 to K 16. It is an object of the present invention to provide a cryptographic device that does not require.

【0021】[0021]

【課題を解決するための手段】上記課題を解決するため
に、本発明に係る暗号装置は、暗号化鍵を順次ランダム
化し、各ランダム化の過程で得られる複数の中間鍵と、
最終のランダム化の過程で得られる復号化鍵とを出力す
ると共に、該復号化鍵を入力すると、上記複数の中間鍵
を逆の順序で出力する鍵生成手段と、該鍵生成手段から
順番に供給される複数の中間鍵を用いて平文または暗号
文を順次ランダム化して、暗号文または平文を生成する
暗号化処理手段とを備えることを特徴とする。
In order to solve the above problems, an encryption device according to the present invention sequentially randomizes an encryption key, and a plurality of intermediate keys obtained in each randomization process,
When the decryption key obtained in the final randomization process is output and the decryption key is input, a key generation unit that outputs the plurality of intermediate keys in the reverse order, and the key generation unit are sequentially output. An encryption processing means for sequentially randomizing a plaintext or a ciphertext by using a plurality of supplied intermediate keys to generate the ciphertext or the plaintext.

【0022】[0022]

【作用】本発明を適用した暗号装置では、暗号化処理の
際に、暗号化鍵を順次ランダム化して、複数の中間鍵と
復号化鍵を生成し、これらの中間鍵を用いて平文を順次
ランダム化し、暗号文を生成する。
In the encryption device to which the present invention is applied, the encryption key is sequentially randomized at the time of encryption processing to generate a plurality of intermediate keys and decryption keys, and the plaintext is sequentially used by using these intermediate keys. Randomize and generate ciphertext.

【0023】一方、復号化処理の際に、復号化鍵を順次
ランダム化して、複数の中間鍵を暗号化処理と逆の順序
で生成し、これらの中間鍵を用いて暗号文を順次ランダ
ム化して、平文を生成する。
On the other hand, during the decryption process, the decryption key is sequentially randomized, a plurality of intermediate keys are generated in the reverse order of the encryption process, and the ciphertext is sequentially randomized using these intermediate keys. To generate a plaintext.

【0024】[0024]

【実施例】以下、本発明に係る暗号装置の一実施例を図
面を参照しながら説明する。本発明を適用した暗号装置
は、例えば図1に示すように、暗号化鍵を順次ランダム
化し、各ランダム化の過程で得られる複数の中間鍵と、
最終のランダム化の過程で得られる復号化鍵とを出力す
ると共に、該復号化鍵を入力すると、上記複数の中間鍵
を逆の順序で出力する鍵生成部10と、該鍵生成部10
から順番に供給される複数の中間鍵を用いて平文または
暗号文を順次ランダム化して、暗号文または平文を生成
する暗号化処理部20とを備える。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a cryptographic device according to the present invention will be described below with reference to the drawings. An encryption device to which the present invention is applied, for example, as shown in FIG. 1, sequentially encrypts an encryption key, and a plurality of intermediate keys obtained in each randomization process,
When the decryption key obtained in the final randomization process is output and the decryption key is input, the key generation unit 10 that outputs the plurality of intermediate keys in the reverse order, and the key generation unit 10
An encryption processing unit 20 that sequentially randomizes a plaintext or a ciphertext by using a plurality of intermediate keys that are sequentially supplied to generate a ciphertext or a plaintext.

【0025】そして、暗号化処理の際に、鍵生成部10
は、例えば64ビットで供給される暗号化鍵から例えば
8個の中間鍵(内部鍵)K1 、K2 、K3 、K4
5 、K 6 、K7 、K8 をその添字が若い順に生成する
と共に、例えば64ビットからなる復号化鍵を生成す
る。暗号化処理部20は、これらの中間鍵K1 〜K8
生成される順序で用いて、例えば64ビット単位でデー
タとして供給される平文を順次ランダム化(拡散)し、
例えば64ビットからなる暗号文を生成するようになっ
ている。また、復号化処理の際に、鍵生成部10は、復
号化鍵から中間鍵K1〜K8 をその添字が大きい順に生
成し、暗号化処理部20は、これらの中間鍵K 1 〜K8
を生成される順序で用いて、例えば64ビット単位でデ
ータとして供給される暗号文を順次ランダム化し、例え
ば64ビットからなる平文を生成するようになってい
る。
Then, at the time of encryption processing, the key generation unit 10
From the encryption key supplied in 64 bits, for example
Eight intermediate keys (internal key) K1, K2, K3, KFour,
KFive, K 6, K7, K8Generate the subscripts in ascending order
Together with, for example, generate a decryption key consisting of 64 bits.
It The encryption processing unit 20 uses the intermediate key K1~ K8To
Use them in the order in which they are generated, for example in 64-bit units.
Randomize (spread) the plaintext supplied as data,
For example, a 64-bit ciphertext is generated.
ing. Also, during the decryption process, the key generation unit 10
Encryption key to intermediate key K1~ K8In order of increasing subscript
The encryption processing unit 20 generates the intermediate key K 1~ K8
Are used in the order in which they are generated, for example, in 64-bit units.
Randomize the ciphertext supplied as a data
For example, 64-bit plaintext is generated.
It

【0026】具体的には、鍵生成部10は、上述の図1
に示すように、暗号化鍵あるいは復号化鍵を所定の関数
K により順次ランダム化して、中間鍵K1 〜K8 を、
暗号化処理の際にはその添字が若い順に、復号化処理の
際には大きき順にそれぞれ生成する縦続接続された8個
の中間鍵生成回路11、12、13、14、15、1
6、17、18を備え、第1段目の中間鍵生成回路11
には、暗号化鍵あるいは復号化鍵が上位32ビット(以
下ブロックC0 という)と下位32ビット(以下ブロッ
クD0 という)とに分割されて供給される。例えば暗号
化鍵を0001020304050607h(h:16
進数表現を表す)とすると、ブロックC0、D0 はそれ
ぞれ00010203h、04050607hとなる。
Specifically, the key generation unit 10 is the same as that shown in FIG.
As shown in, the encryption key or the decryption key is sequentially randomized by a predetermined function f K , and the intermediate keys K 1 to K 8 are
Eight cascade-connected intermediate key generation circuits 11, 12, 13, 14, 15, 1 that generate the subscripts in ascending order during the encryption process and in descending order during the decryption process
The intermediate key generation circuit 11 including the first, second, and sixth stages 17 and 18.
, The encryption key or the decryption key is divided into upper 32 bits (hereinafter referred to as block C 0 ) and lower 32 bits (hereinafter referred to as block D 0 ) and supplied. For example, if the encryption key is 0001020304050607h (h: 16
(Representing a decimal number representation), the blocks C 0 and D 0 are 00010203h and 04050607h, respectively.

【0027】各中間鍵生成回路11〜18は、上述の図
1に示すように、前段からのブロックDi (i=0〜
8)を所定の関数fK により攪拌する関数回路1と、該
関数回路1の出力と前段からのブロックCi の排他的論
理和を演算する排他的論理和回路(以下EX−ORとい
う)2と、該EX−OR2の出力と前段からのブロック
i を切り換え選択するセクタ3とを備える。
[0027] Each intermediate key generating circuit 11 to 18, as shown in FIG. 1 described above, the block D i (i = 0~ from the preceding
8) a function circuit 1 for agitating a predetermined function f K, and an exclusive OR circuit (hereinafter referred to as EX-OR) 2 for calculating the exclusive OR of the output of the function circuit 1 and the block C i from the preceding stage 2 And a sector 3 for switching and selecting the output of the EX-OR 2 and the block C i from the previous stage.

【0028】そして、暗号化処理の際に、第1段目の中
間鍵生成回路11は、暗号化鍵のブロックD0 を、その
データを変数とする所定の関数fk により攪拌した後、
得られるデータ(fk (D0 ))と暗号化鍵のブロック
0 の排他的論理和を演算し、演算結果とブロックD0
をそれぞれブロックD1 、C1 として中間鍵生成回路1
2に供給すると共に、この演算結果の下位24ビットを
中間鍵K1 として出力する。
During the encryption process, the first-stage intermediate key generation circuit 11 stirs the block D 0 of the encryption key with a predetermined function f k whose data is a variable, and then
The exclusive OR of the obtained data (f k (D 0 )) and the block C 0 of the encryption key is calculated, and the calculation result and the block D 0 are calculated.
Intermediate key generating circuit 1 respectively as blocks D 1, C 1
The lower 24 bits of the operation result are output as the intermediate key K 1 while being supplied to

【0029】つぎに、第2段目の中間鍵生成回路12
は、中間鍵生成回路11から供給されるブロックD
1 を、そのデータを変数とする所定の関数fk により攪
拌した後、得られるデータ(fk (D1 ))と中間鍵生
成回路11から供給されるブロックC1 の排他的論理和
を演算し、演算結果とブロックD1 をそれぞれブロック
2、C2 として中間鍵生成回路13に供給すると共
に、この演算結果の下位24ビットを中間鍵K2 として
出力する。
Next, the intermediate key generation circuit 12 of the second stage
Is a block D supplied from the intermediate key generation circuit 11.
After stirring 1 with a predetermined function f k having the data as a variable, an exclusive OR of the obtained data (f k (D 1 )) and the block C 1 supplied from the intermediate key generation circuit 11 is calculated. and the calculation result and the block D 1 and supplies to the intermediate-key generating circuit 13 as the block D 2, C 2, and outputs the lower 24 bits of the operation result as the intermediate key K 2.

【0030】以下同様にして、中間鍵生成回路13〜1
8は、所定の関数fk により暗号化鍵を順次ランダム化
して、中間鍵K3 〜K8 をそれぞれ生成する。また、最
終段の中間鍵生成回路18は、ブロックC8 、D8 を合
成して、すなわち中間鍵K8と中間鍵K7 を、中間鍵K
8 が上位ビットとなるように結合して64ビットからな
る復号化鍵を生成する。
Similarly, the intermediate key generation circuits 13-1
8 sequentially randomizes the encryption key by a predetermined function f k to generate intermediate keys K 3 to K 8 . In addition, the intermediate key generation circuit 18 at the final stage synthesizes the blocks C 8 and D 8 , that is, the intermediate key K 8 and the intermediate key K 7 , and the intermediate key K 8.
A decryption key consisting of 64 bits is generated by combining so that 8 becomes an upper bit.

【0031】一方、復号化処理の際に、第1段目の中間
鍵生成回路11に供給される復号化鍵のブロックC0
下位24ビットは中間鍵K8 であり(以下ブロックC0
を単に中間鍵K8 という)、ブロックD0 の下位24ビ
ットは中間鍵K7 であり(以下ブロックD0 を単に中間
鍵K7 という)、この中間鍵生成回路11は、中間鍵K
8 を出力すると共に、中間鍵K7 を関数fk により攪拌
した後、得られるデータ(fk (K7 ))と中間鍵K8
の排他的論理和を演算し、すなわち下記式1により中間
鍵K6 を求め、この中間鍵K6 と中間鍵K7 をそれぞれ
ブロックD1 、C1 として中間鍵生成回路12に供給す
る。
On the other hand, in the decryption process, the lower 24 bits of the block C 0 of the decryption key supplied to the first stage intermediate key generation circuit 11 is the intermediate key K 8 (hereinafter block C 0).
Is simply referred to as the intermediate key K 8 ) and the lower 24 bits of the block D 0 is the intermediate key K 7 (hereinafter the block D 0 is simply referred to as the intermediate key K 7 ).
After outputting 8 and stirring the intermediate key K 7 by the function f k , the obtained data (f k (K 7 )) and the intermediate key K 8 are obtained.
Is calculated, that is, the intermediate key K 6 is obtained by the following equation 1, and the intermediate key K 6 and the intermediate key K 7 are supplied to the intermediate key generation circuit 12 as blocks D 1 and C 1 , respectively.

【0032】 演算結果=K8 %fk (K7 ) =K6 ・・・式1 ∵K8 =K6 %fk (K7 Calculation result = K 8 % f k (K 7 ) = K 6 ... Equation 1 ∵K 8 = K 6 % f k (K 7 )

【0033】ただし、演算子「%」は、排他的論理和を
意味する。
However, the operator "%" means exclusive OR.

【0034】つぎに、第2段目の中間鍵生成回路12
は、中間鍵生成回路11から供給される中間鍵K7 を出
力すると共に、中間鍵生成回路11から供給される中間
鍵K6を関数fk により攪拌した後、得られるデータ
(fk (K6 ))と中間鍵K7 の排他的論理和を演算
し、すなわち下記式2により中間鍵K5 を求め、この中
間鍵K5 と中間鍵K6 をそれぞれブロックD2 、C2
して中間鍵生成回路13に供給する。
Next, the intermediate key generation circuit 12 of the second stage
Outputs the intermediate key K 7 supplied from the intermediate key generation circuit 11 and mixes the intermediate key K 6 supplied from the intermediate key generation circuit 11 with the function f k , and then obtains the obtained data (f k (K 6 )) and the intermediate key K 7 are exclusive-ORed, that is, the intermediate key K 5 is obtained by the following equation 2, and the intermediate key K 5 and the intermediate key K 6 are respectively designated as blocks D 2 and C 2. It is supplied to the generation circuit 13.

【0035】 演算結果=K7 %fk (K6 ) =K5 ・・・式2 ∵K7 =K5 %fk (K6 Calculation result = K 7 % f k (K 6 ) = K 5 Equation 2 ∵K 7 = K 5 % f k (K 6 )

【0036】以下同様にして、中間鍵生成回路13〜1
8は、所定の関数fk により復号化鍵を順次ランダム化
して、中間鍵K3 〜K8 をその添字が大きい順にそれぞ
れ生成する。
Similarly, the intermediate key generation circuits 13-1
8 sequentially randomizes the decryption keys using a predetermined function f k to generate intermediate keys K 3 to K 8 in descending order of their subscripts.

【0037】中間鍵生成回路11〜18の各セクタ3
は、端子4を介して供給される制御信号で動作し、暗号
化処理の際にはEX−OR2の出力を選択し、復号化処
理の際にはEX−OR2の入力を選択するようになって
いる。したがって、この鍵生成部10からは、暗号化処
理の際には、中間鍵K1 〜K8 がその添字が若い順に出
力され、復号化処理の際には、添字が大きい順に出力さ
れる。このようにして生成された中間鍵K1 〜K8 は暗
号化処理部20に生成された順に供給される。
Each sector 3 of the intermediate key generation circuits 11-18
Operates with the control signal supplied through the terminal 4, selects the output of the EX-OR2 during the encryption process, and selects the input of the EX-OR2 during the decryption process. ing. Therefore, the key generation unit 10 outputs the intermediate keys K 1 to K 8 in the ascending order of the subscripts during the encryption process, and in the descending order of the subscripts during the decryption process. The intermediate keys K 1 to K 8 thus generated are supplied to the encryption processing unit 20 in the order in which they were generated.

【0038】ここで、各中間鍵生成回路11〜18に用
いられている関数回路1の具体的な回路構成について説
明する。関数回路1は、例えば図2に示すように、各ラ
ンダム化の過程における前段からのデータ、すなわち前
段の中間鍵生成回路からのブロックDi を所謂拡大転字
する拡大転字回路41と、該拡大転字回路41の出力を
バイト単位で相互に排他的論理和演算するEX−OR4
2a、42b、42c、42d、42eと、該EX−O
R42a、42b、42d、42eの各出力等を相互に
所謂モジュロ256加算する加算器(以下MADDとい
う)43a、43b、43c、43dと、該MADD4
3a〜43cの各出力をそれぞれビット単位で入れ換え
るビット入れ換え回路(以下ROTという)44a、4
4b、44cとを備える。
Here, a specific circuit configuration of the function circuit 1 used in each of the intermediate key generation circuits 11 to 18 will be described. For example, as shown in FIG. 2, the function circuit 1 includes an enlarged transposing circuit 41 for so-called enlarging transposing the data from the preceding stage in each randomization process, that is, the block D i from the intermediate key generating circuit in the preceding stage, and EX-OR4 for mutually exclusive-ORing the outputs of the enlarged transposing circuit 41 byte by byte
2a, 42b, 42c, 42d, 42e and the EX-O
Adders (hereinafter referred to as MADD) 43a, 43b, 43c, 43d for mutually adding so-called modulo 256 outputs of R42a, 42b, 42d, and 42e, and the MADD4.
Bit replacement circuits (hereinafter referred to as ROTs) 44a, 4 which replace the outputs 3a to 43c in bit units.
4b and 44c.

【0039】そして、拡大転字回路41は、前段の中間
鍵生成回路から供給される32ビットからなるブロック
i を拡大転字、すなわち例えば8ビット単位に分割す
ると共に、32ビットから任意に8ビットを選択して、
40ビット(5バイト)からなるデータを生成する。こ
こで、ブロックDi を分割して得られる各バイトをd ij
(j=0〜3、j=3が所謂MSB側)とし、任意に選
択して得られる1バイトを拡大要素WKiする。なお、こ
の拡大要素WKiを生成するためのビット選択方法を非公
開とし、その選択方法を変更することにより、異なった
暗号系列の暗号文を得ることができる。
Then, the enlarged transcribing circuit 41 is provided in the middle of the preceding stage.
Block consisting of 32 bits supplied from the key generation circuit
DiIs enlarged transliteration, that is, divided into 8-bit units
And select 8 bits from 32 bits,
Data of 40 bits (5 bytes) is generated. This
Here, block DiEach byte obtained by dividing ij
(J = 0 to 3, and j = 3 is the so-called MSB side), and can be arbitrarily selected.
1 byte obtained by selecting the expansion element WKiTo do. In addition, this
Expansion element WKiNon-public bit selection method for generating
Different by opening and changing the selection method
The ciphertext of the cipher sequence can be obtained.

【0040】EX−OR42aは、拡大転字回路41か
ら供給されるバイトdi3とバイトd i2の排他的論理和を
演算し、EX−OR42bは、拡大転字回路41から供
給されるバイトdi1とバイトdi0の排他的論理和を演算
し、EX−OR42cは、拡大転字回路41から供給さ
れる拡大要素WKiと定数56hの排他的論理和を演算
し、EX−OR42dは、EX−OR42bの出力とE
X−OR42cの出力の排他的論理和を演算し、EX−
OR42eは、EX−OR42aの出力とEX−OR4
2dの出力の排他的論理和を演算する。
The EX-OR 42a is the enlarged transposing circuit 41.
Byte d supplied fromi3And byte d i2The exclusive OR of
And the EX-OR 42b is supplied from the enlarged transposing circuit 41.
Byte di1And byte di0Exclusive-or of
However, the EX-OR 42c is supplied from the enlarged transcription circuit 41.
Expansion element WKiAnd exclusive OR of constant 56h
Then, the EX-OR 42d and the output of the EX-OR 42b
The exclusive OR of the outputs of the X-OR 42c is calculated and EX-
The OR42e outputs the output of the EX-OR42a and the EX-OR4.
The exclusive OR of the outputs of 2d is calculated.

【0041】MADD43aは、EX−OR42aの出
力とEX−OR42dの出力をモジョロ256加算、す
なわち桁上がりを無視して加算し、MADD43bは、
EX−OR42bの出力とEX−OR42eの出力をモ
ジョロ256加算する。
The MADD 43a adds the output of the EX-OR 42a and the output of the EX-OR 42d by adding Mojoro 256, that is, ignoring the carry, and adding the MADD 43b.
The output of the EX-OR 42b and the output of the EX-OR 42e are added by Mojoro 256.

【0042】ROT44aは、MADD43aの出力
を、例えばビットb7 〜b0 (b7 がMSB)がMSB
から順にビットb2 、ビットb0 、ビットb5 、ビット
4 、ビットb3 、ビットb7 、ビットb1 、ビットb
6 となるようにビット入れ換えを行い、ROT44b
は、MADD43bの出力を、上述のROT44aと同
様にビット入れ換えする。
The ROT 44a outputs the output of the MADD 43a, for example, bits b 7 to b 0 (b 7 is MSB) in the MSB.
Bit b 2 , bit b 0 , bit b 5 , bit b 4 , bit b 3 , bit b 7 , bit b 1 , bit b
Bits are swapped to become 6, and ROT44b
Replaces the output of the MADD 43b with bits as in the ROT 44a described above.

【0043】MADD43cは、拡大転字回路41から
供給されるバイトdi3とROT44aの出力をモジョロ
256加算し、MADD43dは、拡大転字回路41か
ら供給されるバイトdi0とROT44bの出力をモジョ
ロ256加算する。
The MADD 43c modulo 256 adds the byte d i3 supplied from the enlarged transposing circuit 41 and the output of the ROT 44a, and the MADD 43d modulos the byte d i0 supplied from the enlarged transposing circuit 41 and the output of the ROT 44b. to add.

【0044】ROT44cは、MADD43cの出力
を、上述のROT44aと同様にビット入れ換えする。
The ROT 44c exchanges bits of the output of the MADD 43c in the same manner as the ROT 44a described above.

【0045】そして、この関数回路1は、上述のように
して得られる32ビットのデータ、すなわちROT44
a〜ROT44cの各出力及びMADD43dの出力
を、MSB側から順にROT44aの出力、ROT44
bの出力、MADD43dの出力、ROT44cの出力
となるように出力する。すなわち、関数回路1は、拡大
転字、排他的論理和、加算の演算処理により、前段の中
間鍵生成回路から供給されるブロックDi をランダム化
する。
Then, the function circuit 1 uses the 32-bit data obtained as described above, that is, ROT44.
a to ROT44c outputs and MADD43d outputs sequentially from the MSB side to ROT44a output, ROT44
b output, MADD 43d output, and ROT 44c output. That is, the function circuit 1 randomizes the block D i supplied from the intermediate key generation circuit in the preceding stage by the arithmetic processing of the expanded transposition, the exclusive OR, and the addition.

【0046】つぎに、暗号化処理部20について説明す
る。暗号化処理部20は、上述の図1に示すように、平
文または暗号文を所定の行列Iにより並べ換える並べ換
え回路29と、該並べ換え回路29で並び換えられた平
文または暗号文を、上記鍵生成部10からその添字が若
い順または大きい順に供給される中間鍵K1 〜K8 を用
いて、順次ランダム化する縦続接続された例えば8個の
ランダム化回路21、22、23、24、25、26、
27、28と、該ランダム化回路28の出力を上記行列
Iの逆行列I-1により並べ換えて暗号文または平文を生
成する並べ換え回路30とを備える。
Next, the encryption processing section 20 will be described. As shown in FIG. 1 described above, the encryption processing unit 20 rearranges the plaintext or the ciphertext by a predetermined matrix I, and the plaintext or the ciphertext rearranged by the rearrangement circuit 29 with the key as the key. Using the intermediate keys K 1 to K 8 supplied from the generation unit 10 in the order of increasing subscripts or increasing numbers, for example, eight serially connected randomizing circuits 21, 22, 23, 24, 25 are sequentially randomized. , 26,
27 and 28, and a rearrangement circuit 30 that rearranges the output of the randomization circuit 28 by the inverse matrix I −1 of the matrix I to generate ciphertext or plaintext.

【0047】そして、暗号化処理の際に、並べ換え回路
29は、64ビット単位でデータとして供給される平文
を所定の行列Iにより並べ換え、並び換えられた平文を
上位32ビット(以下ブロックL0 という)と下位32
ビット(以下ブロックR0 という)とに分割する。例え
ば並び換えられた平文を08090A0B0C0D0E
0Fhとすると、ブロックL0 、R0 はそれぞれ080
90A0Bh、0C0D0E0Fhとなる。なお、上述
の行列Iを利用者が自由に設定できるようにすることに
より、目的や用途に応じた暗号系列の暗号文を生成でき
るようにしてもよい。
Then, during the encryption process, the rearrangement circuit 29 rearranges the plaintext supplied as data in 64-bit units by a predetermined matrix I, and the rearranged plaintext is in the upper 32 bits (hereinafter referred to as block L 0 ). ) And the lower 32
Bits (hereinafter referred to as block R 0 ). For example, if the rearranged plaintext is 08090A0B0C0D0E
If 0Fh, the blocks L 0 and R 0 are 080
It becomes 90A0Bh and 0C0D0E0Fh. It should be noted that by allowing the user to freely set the above-mentioned matrix I, the ciphertext of the cipher sequence according to the purpose or application may be generated.

【0048】各ランダム化回路21〜28は、上述の図
1に示すように、前段からのブロックRi を、中間鍵生
成回路11〜18の対応する段から供給される中間鍵K
i+1を用いて、所定の関数fにより攪拌する関数回路5
と、該関数回路5の出力と前段からのブロックLi の排
他的論理和を演算してブロックRi+1 生成するEX−O
R6とを備える。
As shown in FIG. 1, each of the randomizing circuits 21 to 28 supplies the block R i from the preceding stage to the intermediate key K supplied from the corresponding stage of the intermediate key generating circuits 11 to 18.
Function circuit 5 that uses i + 1 to stir by a predetermined function f
And an EX-O for generating the block R i + 1 by calculating the exclusive OR of the output of the function circuit 5 and the block L i from the previous stage.
R6 and.

【0049】そして、第1段目のランダム化回路21
は、並べ換え回路29から供給されるブロックR0 を、
そのデータと中間鍵K1 を変数とする所定の関数fによ
り攪拌すると共に、得られるデータ(f(R0
1 ))と並べ換え回路29から供給されるブロックL
0 の排他的論理和を演算し、この演算結果とブロックR
0 をそれぞれブロックR1 、L1 としてランダム化回路
22に供給する。
Then, the first-stage randomizing circuit 21
Is a block R 0 supplied from the rearrangement circuit 29,
While agitating the data and a predetermined function f having the intermediate key K 1 as a variable, the obtained data (f (R 0 ,
K 1 )) and the block L supplied from the rearrangement circuit 29.
The exclusive OR of 0 is calculated, and this calculation result and block R
0 is supplied to the randomization circuit 22 as respective blocks R 1, L 1.

【0050】つぎに、第2段目のランダム化回路22
は、ランダム化回路21から供給されるブロックR
1 を、そのデータと中間鍵K2 を変数とする所定の関数
fにより攪拌すると共に、得られるデータ(f(R1
2 ))とランダム化回路21から供給されるブロック
1 の排他的論理和を演算し、この演算結果とブロック
1をそれぞれブロックR2 、L2 としてランダム化回
路23に供給する。
Next, the second-stage randomizing circuit 22
Is a block R supplied from the randomizing circuit 21.
1 is mixed by a predetermined function f having the data and the intermediate key K 2 as variables, and the obtained data (f (R 1 ,
K 2 )) and an exclusive OR of the block L 1 supplied from the randomizing circuit 21, and the operation result and the block R 1 are supplied to the randomizing circuit 23 as blocks R 2 and L 2 , respectively.

【0051】以下同様にして、ランダム化回路23〜2
8は、中間鍵K3 〜K8 を生成される順にそれぞれ用い
て平文のランダム化を順次行い、最終段のランダム化回
路18から出力されるブロックL8 、R8 は、並べ換え
回路30に供給される。
Similarly, the randomizing circuits 23-2
8 sequentially randomizes the plaintext by using the intermediate keys K 3 to K 8 in the order in which they are generated, and the blocks L 8 and R 8 output from the randomization circuit 18 at the final stage are supplied to the rearrangement circuit 30. To be done.

【0052】並べ換え回路30は、ブロックL8 、R8
を結合すると共に、得られる64ビットのデータを並べ
換え回路29の行列Iの逆行列I-1を用いて並べ換え
て、暗号文を生成し、この暗号文を出力する。
The rearrangement circuit 30 includes blocks L 8 and R 8
And the obtained 64-bit data are rearranged by using the inverse matrix I −1 of the matrix I of the rearrangement circuit 29 to generate a ciphertext and output the ciphertext.

【0053】一方、復号化処理の際に、並べ換え回路2
9は、64ビット単位でデータとして供給される暗号文
を所定の行列Iにより並べ換え、並び換えられた暗号文
を上位32ビット(以下ブロックL0 という)と下位3
2ビット(以下ブロックR0という)とに分割する。
On the other hand, during the decoding process, the rearrangement circuit 2
9 rearranges ciphertexts supplied as data in units of 64 bits by a predetermined matrix I, and rearranges the rearranged ciphertexts into upper 32 bits (hereinafter referred to as block L 0 ) and lower 3 bits.
It is divided into 2 bits (hereinafter referred to as block R 0 ).

【0054】そして、第1段目のランダム化回路21
は、並べ換え回路29から供給されるブロックR0 を、
そのデータと中間鍵K8 を変数とする所定の関数fによ
り攪拌すると共に、得られるデータ(f(R0
8 ))と並べ換え回路29から供給されるブロックL
0 の排他的論理和を演算し、この演算結果とブロックR
0 をそれぞれブロックR1 、L1 としてランダム化回路
22に供給する。
Then, the first-stage randomizing circuit 21
Is a block R 0 supplied from the rearrangement circuit 29,
With stirring by a predetermined function f to the data and intermediate key K 8 with variable data obtained (f (R 0,
K 8 )) and the block L supplied from the rearrangement circuit 29.
The exclusive OR of 0 is calculated, and this calculation result and block R
0 is supplied to the randomization circuit 22 as respective blocks R 1, L 1.

【0055】つぎに、第2段目のランダム化回路22
は、ランダム化回路21から供給されるブロックR
1 を、そのデータと中間鍵K7 を変数とする所定の関数
fにより攪拌すると共に、得られるデータ(f(R1
7 ))とランダム化回路21から供給されるブロック
1 の排他的論理和を演算し、この演算結果とブロック
1をそれぞれブロックR2 、L2 としてランダム化回
路23に供給する。
Next, the second-stage randomizing circuit 22
Is a block R supplied from the randomizing circuit 21.
1 is mixed with the data and a predetermined function f having the intermediate key K 7 as a variable, and the obtained data (f (R 1 ,
K 7 )) and an exclusive OR of the block L 1 supplied from the randomizing circuit 21 are calculated, and the calculation result and the block R 1 are supplied to the randomizing circuit 23 as blocks R 2 and L 2 , respectively.

【0056】以下同様にして、ランダム化回路23〜2
8は、中間鍵K3 〜K8 を生成される順にそれぞれ用い
て暗号文のランダム化を順次行い、最終段のランダム化
回路18から出力されるブロックL8 、R8 は、並べ換
え回路30に供給される。
Similarly, the randomizing circuits 23-2
8 sequentially randomizes the ciphertext by using the intermediate keys K 3 to K 8 in the order in which they are generated, and the blocks L 8 and R 8 output from the randomization circuit 18 at the final stage are sent to the rearrangement circuit 30. Supplied.

【0057】並べ換え回路30は、ブロックL8 、R8
を結合すると共に、得られる64ビットのデータを逆行
列I-1を用いて並べ換えて、平文を生成し、この平文を
出力する。
The rearrangement circuit 30 includes blocks L 8 and R 8
Are combined, and the obtained 64-bit data is rearranged using the inverse matrix I −1 to generate a plaintext and the plaintext is output.

【0058】ここで、各ランダム化回路21〜28に用
いられる関数回路5の具体的な回路構成について説明す
る。関数回路5は、例えば図3に示すように、各ランダ
ム化の過程における前段からのデータ、すなわち前段の
ランダム化回路からのブロックRi を拡大転字する拡大
転字回路51と、該拡大転字回路51の出力及び中間鍵
i+1 をバイト単位で相互に排他的論理和演算するEX
−OR52a、52b、52c、52d、52e、52
f、52gと、該EX−OR52b、52c、52e、
52fの各出力を相互に加算する加算器(以下ADDと
いう)53a、53b、53cと、上記EX−OR52
a〜52g及びADD53bの出力を相互にモジュロ2
56加算するMADD54a、54bと、該MADD5
4a、54b、52d、52gの各出力をそれぞれビッ
ト単位で入れ換えるROT55a、55bとを備える。
Here, a specific circuit configuration of the function circuit 5 used in each of the randomizing circuits 21 to 28 will be described. For example, as shown in FIG. 3, the function circuit 5 includes an enlarged transposing circuit 51 for enlarging and transposing the data from the preceding stage in each randomization process, that is, the block R i from the randomizing circuit of the preceding stage, and the enlarged transposing circuit 51. EX for mutually exclusive-ORing the output of the character circuit 51 and the intermediate key K i + 1 in byte units
-OR 52a, 52b, 52c, 52d, 52e, 52
f, 52g and the EX-ORs 52b, 52c, 52e,
EX-OR 52 and adders (hereinafter referred to as ADD) 53a, 53b, and 53c that add the outputs of 52f to each other.
a-52g and the output of ADD53b are modulo 2 mutually.
MADD 54a and 54b for adding 56 and the MADD 5
4R, 54b, 52d, and 52g, and ROTs 55a and 55b for exchanging the outputs on a bit-by-bit basis.

【0059】そして、拡大転字回路51は、前段のラン
ダム化回路から供給される32ビットからなるブロック
i を拡大転字、すなわち例えば8ビット単位に分割す
ると共に、32ビットから任意に8ビットを選択して、
40ビット(5バイト)からなるデータを生成する。こ
こで、ブロックRi を分割して得られる各バイトをr ij
(j=0〜3、j=3がMSB側)とし、任意に選択し
て得られる1バイトを拡大要素Wi する。なお、この拡
大要素WK を生成するためのビット選択方法を非公開と
し、その選択方法を変更することにより、異なった暗号
系列の暗号文を得ることができる。
Then, the enlarged transcribing circuit 51 executes the run of the preceding stage.
32-bit block supplied from the damming circuit
RiIs enlarged transliteration, that is, divided into 8-bit units
And select 8 bits from 32 bits,
Data of 40 bits (5 bytes) is generated. This
Here, block RiEach byte obtained by dividing ij
(J = 0 to 3, j = 3 is the MSB side), and select
1 byte obtained by expanding WiTo do. In addition, this expansion
Large factor WKUnpublished the bit selection method for generating
Different encryption method by changing the selection method.
The ciphertext of the series can be obtained.

【0060】EX−OR52aは、拡大転字回路51か
ら供給されるバイトri3と、中間鍵生成回路11〜18
の対応する段から供給される中間鍵Ki+1 の上位8ビッ
ト(ビットB23〜B16)との排他的論理和を演算し、E
X−OR52bは、拡大転字回路51から供給されるバ
イトri0と、中間鍵Ki+1 の上位8ビットに続く8ビッ
ト(ビットB15〜B8 )との排他的論理和を演算し、E
X−OR52cは、拡大転字回路51から供給されるバ
イトri2とEX−OR52aの出力の排他的論理和を演
算し、EX−OR52dは、拡大転字回路51から供給
されるバイトr i1とEX−OR52bの出力の排他的論
理和を演算し、EX−OR52eは、拡大転字回路51
から供給される拡大要素Wi と中間鍵Ki+1 の下位8ビ
ット(ビットB7 〜B0 )の排他的論理和を演算する。
Is the EX-OR 52a an expansion transposing circuit 51?
Byte r supplied fromi3And the intermediate key generation circuits 11 to 18
Intermediate key K supplied from the corresponding stage ofi + 1Top 8 bits of
To (bit Btwenty three~ B16) And the exclusive OR with
The X-OR 52b is a buffer supplied from the enlarged transposing circuit 51.
It ri0And the intermediate key Ki + 18 bits following the upper 8 bits of
To (bit B15~ B8) And the exclusive OR with
The X-OR 52c is a bus supplied from the enlarged transposing circuit 51.
It ri2And the exclusive OR of the outputs of EX-OR52a
EX-OR52d is supplied from the expanded transposing circuit 51
Byte r i1And the exclusive theory of the output of EX-OR52b
The EX-OR 52e calculates the Riwa, and the enlarged transposing circuit 51
Expansion element W supplied fromiAnd the intermediate key Ki + 1Bottom 8 of
Bit (bit B7~ B0), The exclusive OR is calculated.

【0061】ADD53aは、EX−OR52cの出力
とEX−OR52eの出力を加算すると共に、その上位
8ビットを出力する。
The ADD 53a adds the output of the EX-OR 52c and the output of the EX-OR 52e and outputs the upper 8 bits.

【0062】EX−OR52fは、EX−OR52dの
出力とADD53aの出力の排他的論理和を演算し、E
X−OR52gは、EX−OR52cの出力とADD5
3aの出力の排他的論理和を演算する。
The EX-OR 52f calculates the exclusive OR of the output of the EX-OR 52d and the output of the ADD 53a, and E
X-OR52g is the output of EX-OR52c and ADD5
The exclusive OR of the outputs of 3a is calculated.

【0063】ADD53bは、EX−OR52cの出力
とEX−OR52fの出力を加算すると共に、その上位
8ビットを出力し、MADD54aは、EX−OR52
dの出力とEX−OR52gの出力をモジョロ256加
算し、ROT55aは、MADD54aの出力を、例え
ばビットb7 〜b0 がMSBから順にビットb2 、ビッ
トb0 、ビットb5 、ビットb4 、ビットb3 、ビット
7 、ビットb1 、ビットb6 となるようにビット入れ
換えを行う。
The ADD 53b adds the output of the EX-OR 52c and the output of the EX-OR 52f and outputs the upper 8 bits, and the MADD 54a outputs the EX-OR 52.
The output of d and the output of the EX-OR 52g are added by a mojoro 256, and the ROT 55a outputs the output of the MADD 54a, for example, bits b 7 to b 0 in order from MSB, bit b 2 , bit b 0 , bit b 5 , bit b 4 , The bits are exchanged so that they are bit b 3 , bit b 7 , bit b 1 , and bit b 6 .

【0064】MADD54bは、EX−OR52aの出
力とADD53bの出力をモジョロ256加算し、AD
D53cは、EX−OR52bの出力とROT55aの
出力をモジョロ256加算し、ROT55bは、MAD
D54bの出力を、上述のROT55aと同様にビット
入れ換えする。
The MADD 54b adds the output of the EX-OR 52a and the output of the ADD 53b by using Mojoro 256, and AD
D53c adds the output of EX-OR52b and the output of ROT55a to Mojoro 256, and ROT55b is added to MAD.
The bits of the output of D54b are exchanged as in the case of ROT55a described above.

【0065】そして、この関数回路5は、上述のように
して得られる32ビットのデータ、すなわちROT55
a、55b及びADD53b、53cの各出力を、MS
B側から順にADD53cの出力、ROT55bの出
力、ADD53bの出力、ROT55aの出力となるよ
うに出力する。すなわち、関数回路5は、従来の装置の
ように所謂換字処理を行うことなく、拡大転字、排他的
論理和、加算の演算処理により、前段のランダム化回路
から供給されるブロックRi をランダム化する。換言す
ると、換字処理を伴わないことにより、ハードウエアを
簡単にすることができると共に、高速処理が可能であ
る。また、この関数回路5のデータ攪拌効果は、例えば
図4に示すように、従来のDESで用いられていた所謂
関数Sに比して優れている。なお、この図4に示す特性
は、入力を1ビット変化させたときの出力の変化を所謂
ハミング距離で表し、32000回の試行を行った(標
本数を32000とした)ときのものである。
Then, the function circuit 5 uses the 32-bit data obtained as described above, that is, ROT55.
a, 55b and ADD53b, 53c output, MS
From the B side, the outputs of the ADD 53c, the ROT 55b, the ADD 53b, and the ROT 55a are sequentially output. That is, the function circuit 5 randomizes the block R i supplied from the randomizing circuit in the preceding stage by performing arithmetic processing of enlarged transliteration, exclusive OR, and addition without performing so-called substitution processing unlike the conventional device. Turn into. In other words, the hardware can be simplified and high-speed processing can be performed without the substitution processing. Further, the data mixing effect of the function circuit 5 is superior to the so-called function S used in the conventional DES, as shown in FIG. 4, for example. The characteristic shown in FIG. 4 represents a change in output when the input is changed by 1 bit by a so-called Hamming distance, and is obtained when 32000 trials are performed (the number of samples is 32000).

【0066】以上のように、この実施例の暗号装置は、
復号装置としても用いることができ、すなわち暗号装置
と復号装置を同一の回路構成とすることができ、設計や
製造工数を削減することができる。また、復号装置とし
て用いるときに、中間鍵K1〜K8 をその添字が大きい
順に生成することができ、従来の装置で必要であった中
間鍵を一旦記憶しておくためのメモリが不要となる。さ
らに、復号化鍵と暗号文を連続して入力することができ
る。
As described above, the encryption device of this embodiment is
It can also be used as a decryption device, that is, the encryption device and the decryption device can have the same circuit configuration, and the number of designing and manufacturing steps can be reduced. Further, when used as a decryption device, the intermediate keys K 1 to K 8 can be generated in descending order of their subscripts, and a memory for temporarily storing the intermediate key required in the conventional device is not required. Become. Further, the decryption key and the ciphertext can be continuously input.

【0067】また、暗号化鍵と復号化鍵が異なるため、
どちらか一方が漏れても、他方は安全であり、セキュリ
ティを向上させることができる。
Since the encryption key and the decryption key are different,
Even if one of them leaks, the other one is safe and the security can be improved.

【0068】なお、本発明は上述の実施例に限定される
ものではなく、例えば、上述の実施例ではランダム化回
路の段数を8段としているが、偶数段であればよい。ま
た例えば、関数回路1、5は、図2、図3に示す回路構
成に限定されるものではない。
The present invention is not limited to the above-described embodiments. For example, although the number of stages of the randomizing circuit is eight in the above-mentioned embodiments, any number of stages may be used. Further, for example, the function circuits 1 and 5 are not limited to the circuit configurations shown in FIGS.

【0069】[0069]

【発明の効果】以上の説明でも明らかなように、本発明
を適用した暗号装置では、暗号化処理の際に、暗号化鍵
を順次ランダム化して、複数の中間鍵と復号化鍵を生成
し、これらの中間鍵を用いて平文を順次ランダム化し
て、暗号文を生成する。一方、復号化処理の際に、復号
化鍵を順次ランダム化して、複数の中間鍵を逆の順序で
生成し、これらの中間鍵を用いて暗号文を順次ランダム
化して、平文を生成するようにすることにより、暗号装
置と復号装置を同一の回路構成とすることができ、設計
や製造工数を削減することができる。また、復号装置と
して用いるときに、中間鍵をその添字が大きい順に生成
することができ、従来の装置で必要であったメモリを必
要としない。さらに、復号化鍵と暗号文を連続して入力
することができる。
As is apparent from the above description, in the encryption device to which the present invention is applied, the encryption key is sequentially randomized during the encryption process to generate a plurality of intermediate keys and decryption keys. , The plaintext is sequentially randomized using these intermediate keys to generate a ciphertext. On the other hand, during the decryption process, the decryption key is sequentially randomized, a plurality of intermediate keys are generated in the reverse order, and the ciphertext is sequentially randomized using these intermediate keys to generate the plaintext. With this configuration, the encryption device and the decryption device can have the same circuit configuration, and the number of design and manufacturing steps can be reduced. Further, when used as a decryption device, the intermediate keys can be generated in the descending order of their subscripts, and the memory required in the conventional device is not required. Further, the decryption key and the ciphertext can be continuously input.

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

【図1】本発明を適用した暗号装置の回路構成を示すブ
ロック図である。
FIG. 1 is a block diagram showing a circuit configuration of a cryptographic device to which the present invention is applied.

【図2】上記暗号装置を構成する中間鍵生成回路の関数
回路の具体的な回路構成を示す図である。
FIG. 2 is a diagram showing a specific circuit configuration of a function circuit of an intermediate key generation circuit which constitutes the encryption device.

【図3】上記暗号装置を構成するランダム化回路の関数
回路の具体的な回路構成を示す図である。
FIG. 3 is a diagram showing a specific circuit configuration of a function circuit of a randomizing circuit that constitutes the encryption device.

【図4】上記関数回路のデータ攪拌効果を示す図であ
る。
FIG. 4 is a diagram showing a data agitation effect of the functional circuit.

【図5】DESにおける暗号装置の回路構成を示すブロ
ック図である。
FIG. 5 is a block diagram showing a circuit configuration of an encryption device in DES.

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

10・・・鍵生成部 11〜18・・・中間鍵生成回路 20・・・暗号化処理部 21〜28・・・ランダム化回路 10 ... Key generation unit 11-18 ... Intermediate key generation circuit 20 ... Encryption processing unit 21-28 ... Randomization circuit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 暗号化鍵を順次ランダム化し、各ランダ
ム化の過程で得られる複数の中間鍵と、最終のランダム
化の過程で得られる復号化鍵とを出力すると共に、該復
号化鍵を入力すると、上記複数の中間鍵を逆の順序で出
力する鍵生成手段と、 該鍵生成手段から順番に供給される複数の中間鍵を用い
て平文または暗号文を順次ランダム化して、暗号文また
は平文を生成する暗号化処理手段とを備えることを特徴
とする暗号装置。
1. An encryption key is sequentially randomized, and a plurality of intermediate keys obtained in each randomization process and a decryption key obtained in the final randomization process are output, and the decryption key is When input, the plaintext or the ciphertext is sequentially randomized by using the key generation means that outputs the plurality of intermediate keys in the reverse order, and the plurality of intermediate keys sequentially supplied from the key generation means to generate the ciphertext or An encryption device, comprising: an encryption processing unit that generates a plaintext.
JP4252716A 1992-09-22 1992-09-22 Cyphering device Pending JPH06102820A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4252716A JPH06102820A (en) 1992-09-22 1992-09-22 Cyphering device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4252716A JPH06102820A (en) 1992-09-22 1992-09-22 Cyphering device

Publications (1)

Publication Number Publication Date
JPH06102820A true JPH06102820A (en) 1994-04-15

Family

ID=17241265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4252716A Pending JPH06102820A (en) 1992-09-22 1992-09-22 Cyphering device

Country Status (1)

Country Link
JP (1) JPH06102820A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004004603A (en) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd Extension key generation apparatus, enciphering apparatus and enciphering system
US9058507B2 (en) 2007-02-20 2015-06-16 Megachips Corporation Signal processor with an encrypting or decrypting device in a memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004004603A (en) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd Extension key generation apparatus, enciphering apparatus and enciphering system
US9058507B2 (en) 2007-02-20 2015-06-16 Megachips Corporation Signal processor with an encrypting or decrypting device in a memory system

Similar Documents

Publication Publication Date Title
AU767323B2 (en) Block encryption device using auxiliary conversion
KR100435052B1 (en) Encryption device
US6298136B1 (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
JP2003037482A (en) Pseudo-random number generator, and decoder using the same
JPH0675525A (en) Cipher communication equipment
JPH10240500A (en) Random number generator and method, enciphering device and method, decoder and method and stream cipher system
JP2950485B2 (en) Stream cipher processor
JPH0697930A (en) Block cipher processor
JPH06102820A (en) Cyphering device
JP2825205B2 (en) Encryption device
JPH06102821A (en) Cyphering device
JP2927079B2 (en) Data encryption method and data encryption device
JP3389210B2 (en) Extended key generation device, encryption / decryption device, extended key generation method, and storage medium
JPH09269727A (en) Ciphering method and ciphering device
JP3473171B2 (en) Sequential encryption
JPH10153954A (en) Ciphering device
JP2000089666A (en) Encoding/decoding device
JP2002091296A (en) Device and program for generating expanded key, and recording medium
JPH11212451A (en) Criptographic device
JP4745598B2 (en) Cryptographic circuit
WO2002058036A1 (en) Encryption circuit
JPH09311627A (en) Method and device for generating cipher key of cipher based on circulating computation

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030408