JPH01147585A - Cryptographer - Google Patents

Cryptographer

Info

Publication number
JPH01147585A
JPH01147585A JP62308463A JP30846387A JPH01147585A JP H01147585 A JPH01147585 A JP H01147585A JP 62308463 A JP62308463 A JP 62308463A JP 30846387 A JP30846387 A JP 30846387A JP H01147585 A JPH01147585 A JP H01147585A
Authority
JP
Japan
Prior art keywords
data
processing
bits
key
bit
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
JP62308463A
Other languages
Japanese (ja)
Inventor
Shoji Miyaguchi
庄司 宮口
Akihiro Shimizu
明宏 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP62308463A priority Critical patent/JPH01147585A/en
Publication of JPH01147585A publication Critical patent/JPH01147585A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To provide a safe enciphering device by providing a diffusion processing step for performing eight times of consecutive processing at a code processing part and providing a diffusion processing step for performing eight times of consecutive processing at a key processing part. CONSTITUTION: The input data of 64 bits are exclusively ORed with P8, P9, P10 and P11 by an XOR circuit 66 and divided 32 bits by 32 bits by a dividing means 67. At a diffusion processing step 68, right data are outputted to the next processing step 68 as they are, inputted to a data diffusing means 71 and diffused by the parameter data of 16 bits. The data are exclusively ORed with left data by an XOR circuit 72 and outputted to the next processing step 68. This function is repeated eight times and the left data are supplied to a coupling means 72, exclusively ORed with the right data by an XOR circuit 74 and coupled as the data of 64 bits by the means 73. These data are exclusively ORed with P12, P13, P14 and P15 by an XOR circuit 75 and outputted as an enciphered sentence. The key processing part similarly performs eight steps of processing as well and a deciphered sentence is provided.

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、暗号鍵をパラメータとして、平文から暗号
文を得、及び、暗号文から平文を得る暗号装置に関する
ものである。
DETAILED DESCRIPTION OF THE INVENTION "Field of Industrial Application" The present invention relates to a cryptographic device that obtains ciphertext from plaintext and plaintext from ciphertext using an encryption key as a parameter.

「従来の技術」 従来のこの種の暗号装置は、特願昭62−37231暗
号装置に示されており、暗号処理部と、鍵処理部とより
なる。第6図に示すように、暗号処理部においては、平
文または暗号文が入力データとして入力され、鍵処理部
で処理された暗号鍵(中間キー)がパラメータとして入
力される。暗号処理部は、64ビットの入力データ(平
文または暗号文)が、排他的論理和回路(以下XOR回
路と記す)66で、64ビットのパラメータデータ(中
間キー)P4.P5.P6.P7と排他的論理和演算さ
れ、その出力はデータ拡散部89に入力されて、分割手
段67で32ビットずつの左データ及び右データに分割
される。その左データはそのまま拡散処理段68の初段
へ左データとして入力され、かつその左データと右デー
タとがXOR回路69で排他的論理和演算がなされ、そ
のXOR回路69の出力は右データとして拡散処理段6
8の初段へ供給される。
``Prior Art'' A conventional cryptographic device of this type is disclosed in Japanese Patent Application No. 62-37231, and includes a cryptographic processing section and a key processing section. As shown in FIG. 6, in the encryption processing section, plaintext or ciphertext is input as input data, and the encryption key (intermediate key) processed by the key processing section is input as a parameter. The cryptographic processing unit converts 64-bit input data (plaintext or ciphertext) into 64-bit parameter data (intermediate key) P4. P5. P6. It is subjected to an exclusive OR operation with P7, and its output is input to the data spreading section 89, where it is divided by the dividing means 67 into left data and right data of 32 bits each. The left data is directly input as left data to the first stage of the spreading processing stage 68, and the left data and right data are subjected to an exclusive OR operation in the XOR circuit 69, and the output of the XOR circuit 69 is spread as the right data. Processing stage 6
8 is supplied to the first stage.

各処理段68では入力された右データはそのまま次段の
拡散処理段68に対する左データとして出力すると共に
、データ拡散手段71に入力されて16ビントのパラメ
ータデータ(中間キー)によりデータ拡散され、その拡
散されたデータは左データとXOR回路72で排他的論
理和演算が行われ、XOR回路72の出力は次段の拡散
処理段68へ右データとして出力される。ここで、デー
タ拡散手段71は、その入力データのどの1ビットが変
化してもその出力の半数のビットが平均して変化する性
質(データ拡散の性質)をもつ。この拡散処理段68が
4段Sa続的に設けられ、各拡散処理段68で同様の処
理が行われる。終段の拡散処理段68の出力の左データ
はそのまま結合手段73へ供給されると共に、右データ
とXOR回路74で排他的論理和演算がなされ、そのX
OR回路74の出力は右データとして結合手段73へ供
給され、結合手段73ではその両人データ及び右データ
が64ビットのデータとして結合される。
In each processing stage 68, the input right data is output as is as left data to the next spreading processing stage 68, and is also input to the data spreading means 71 where it is spread using 16 bits of parameter data (intermediate key). The spread data is subjected to an exclusive OR operation with the left data in the XOR circuit 72, and the output of the XOR circuit 72 is outputted to the next spreading processing stage 68 as right data. Here, the data spreading means 71 has a property (data spreading property) that, even if any one bit of its input data changes, half the bits of its output change on average. Four diffusion processing stages 68 are provided successively, and similar processing is performed at each diffusion processing stage 68. The left data output from the final spreading processing stage 68 is supplied as is to the combining means 73, and an exclusive OR operation is performed with the right data in the XOR circuit 74.
The output of the OR circuit 74 is supplied as right data to the combining means 73, and the combining means 73 combines the two person data and the right data as 64-bit data.

その結合された64ビットのデータは64ピツトノハラ
メータデータ(中間キー)PO,P9.PLO。
The combined 64-bit data is 64 pit field meter data (intermediate keys) PO, P9. P.L.O.

PitとXOR回路75で排他的論理和演算が行われて
拡散出力データ、つまり暗号文(または復号文)として
出力される。
An exclusive OR operation is performed by Pit and the XOR circuit 75, and the result is output as spread output data, that is, ciphertext (or decrypted text).

次に、第6図に示した暗号処理部と対応する鍵処理部を
第7図に示す。64ビット長の入力データつまり暗号鍵
は32ビットずつの左データ及び右データに分割手段6
7で分割されて、複数の拡散処理段76の縦続配列の初
段に入力される。各拡散処理段76では右データはその
まま左データとして次段の拡散処理段へ出力すると共に
XOR回路77へ供給される。XOR回路77の出力を
パラメータとしてデータ拡散手段78で左データをデー
タ拡散処理し、そのデータ拡散手段78の出力を右デー
タとして次段の拡散処理段76へ出力する。XOR回路
77は、初段の拡散処理段76では適当な定数DOを入
力し、その他の拡散処理段では前段の左データを入力す
る。各拡散処理段76のデータ拡散手段78の32ビッ
ト出力データが中間キーとして出力される。この拡散処
理段78が6段継続的に設けられ、各拡散処理段78で
同様の処理が行われる。この結果、64ビットの入力デ
ータ(暗号鍵)をデータ拡散すると共に、192ビット
長にデータを長くした中間キーPO〜pHを得る。
Next, FIG. 7 shows a key processing section corresponding to the cryptographic processing section shown in FIG. 6. The 64-bit long input data, that is, the encryption key, is divided into 32-bit left data and right data by means 6.
7 and input to the first stage of a cascade arrangement of a plurality of spreading processing stages 76. In each spreading processing stage 76, the right data is directly output as left data to the next spreading processing stage and is also supplied to the XOR circuit 77. Using the output of the XOR circuit 77 as a parameter, data spreading means 78 performs data spreading processing on the left data, and outputs the output of the data spreading means 78 as right data to the spreading processing stage 76 at the next stage. The XOR circuit 77 inputs an appropriate constant DO to the first diffusion processing stage 76, and inputs the left data from the previous stage to the other diffusion processing stages. The 32-bit output data of the data spreading means 78 of each spreading processing stage 76 is output as an intermediate key. Six diffusion processing stages 78 are successively provided, and similar processing is performed at each diffusion processing stage 78. As a result, the 64-bit input data (encryption key) is data-diffused and intermediate keys PO to pH obtained by lengthening the data to 192-bit length are obtained.

拡散処理段76の初段から順次得られる各32ビットを
、16ビットずつPO,Pl、P2.P3゜P4.P5
.P6.P7.PO,P9.PLO。
The 32 bits obtained sequentially from the first stage of the spreading processing stage 76 are divided into 16 bits PO, Pl, P2 . P3゜P4. P5
.. P6. P7. PO, P9. P.L.O.

pHとする。この中間キーPO,Pi、P2゜P3をそ
れぞれ第6図中の拡散処理段68の初段より順にパラメ
ータとして与え、中間キーP4゜P5.P6.P7をパ
ラメータとしてXOR回路66へ供給し、中間キーP 
8.P 9.P 10.pHをパラメータデータとして
XOR回路75へ供給し、XOR回路66に平文を入力
するとXOR回路75に暗号文が得られる。復号の際は
、暗号文をXOR回路66に入力し、中間キーP3.P
2゜PI、POをそれぞれ第6図中の拡散処理段の初段
より順にパラメータデータとして与え、かつXOR回路
66に中間キーP8.P9.PIO。
Set to pH. These intermediate keys PO, Pi, P2-P3 are given as parameters in order from the first stage of the diffusion processing stage 68 in FIG. 6, and the intermediate keys P4-P5 . P6. P7 is supplied as a parameter to the XOR circuit 66, and intermediate key P
8. P9. P 10. When the pH is supplied as parameter data to the XOR circuit 75 and the plain text is input to the XOR circuit 66, the XOR circuit 75 obtains the cipher text. For decryption, the ciphertext is input to the XOR circuit 66, and the intermediate key P3. P
2° PI and PO are given as parameter data in order from the first stage of the diffusion processing stage in FIG. 6, and the intermediate key P8. P9. P.I.O.

pHを、XOR回路75に中間キーP4.P5゜P6.
P7を入力するように入れ替えるとXOR回路75から
平文(復号文)が得られる。
The pH is input to the XOR circuit 75 using intermediate key P4. P5゜P6.
When P7 is switched to input, a plain text (decrypted text) is obtained from the XOR circuit 75.

この従来の暗号装置においては、暗号処理部の拡散処理
段が4段設けられていることが特徴であり、D B S
 (Data Encryption 5tandar
dHFIPS PUB46、NBS、 Jan、 19
77参照)暗号装置の同様な暗号処理部の拡散処理段が
16段設けられていることと比較すると非常に簡単であ
る。特願昭62〜37231暗号装置の安全性を長期間
にわたって保持する必要があり、拡散処理段の段数を増
加させる必要がある。
This conventional cryptographic device is characterized by having four diffusion processing stages in the cryptographic processing section, and the DBS
(Data Encryption 5tandar
dHFIPS PUB46, NBS, Jan, 19
(Refer to 77) This is very simple compared to a similar cryptographic processing section of a cryptographic device, which has 16 diffusion processing stages. It is necessary to maintain the security of the encryption device for a long period of time, and it is necessary to increase the number of diffusion processing stages.

「問題点を解決するための手段」 この発明によれば暗号装置の暗号処理部の拡散処理段、
及び、鍵処理部の拡散処理段それぞれの継続処理回数を
8回に増加させることにより、必要な場合は更に、暗号
鍵の長さを128ビットに増加することにより、従来の
暗号装置の安全性を向上させる。
"Means for Solving the Problem" According to the present invention, the spreading processing stage of the cryptographic processing section of the cryptographic device,
In addition, by increasing the number of consecutive processes in each of the spreading processing stages of the key processing unit to 8 times, and further increasing the length of the encryption key to 128 bits if necessary, the security of the conventional cryptographic device can be improved. improve.

「実施例1」 第1図に示すように、暗号処理部においては、平文また
は暗号文が入力データとして入力され、鍵処理部で処理
された暗号鍵(中間キー)がパラメータとして入力され
る。暗号処理部は、64ビットの入力データ(平文また
は暗号文)が、排他的論理和回路(以下XOR回路と記
す)66で、64ビットのパラメータデータ(中間キー
)PO。
Embodiment 1 As shown in FIG. 1, plaintext or ciphertext is input as input data to the encryption processing unit, and an encryption key (intermediate key) processed by the key processing unit is input as a parameter. In the cryptographic processing unit, 64-bit input data (plaintext or ciphertext) is passed through an exclusive OR circuit (hereinafter referred to as an XOR circuit) 66 to 64-bit parameter data (intermediate key) PO.

P9.PLO,pHと排他的論理和演算され、その出力
はデータ拡散部89に入力されて、分割手段67で32
ビットずつの左データ及び右データに分割される。その
左データはそのまま拡散手段68の初段へ左データとし
て入力され、かつその左データと右データとがXOR回
路69で排他的論理和演算がなされ、そのX0Ru路6
9の出力は右データとして拡散処理段68の初段へ供給
される。
P9. PLO and pH are subjected to an exclusive OR operation, and the output thereof is input to the data diffusion unit 89 and divided into 32 by the dividing means 67.
The data is divided into bit-by-bit left data and right data. The left data is directly input as left data to the first stage of the spreading means 68, and the left data and right data are subjected to an exclusive OR operation in the XOR circuit 69, and the X0Ru path 6
The output of 9 is supplied to the first stage of the spreading processing stage 68 as right data.

各拡散処理段68では入力された右データはそのまま次
段の拡散処理段68に対する左データとして出力すると
共に、データ拡散手段71に入力されて16ビットのパ
ラメータデータ(中間キー)によりデータ拡散され、そ
の拡散されたデータは左データとXOR回路72で排他
的論理和演算が  、1テわれ、XOR回路72の出力
は次段の拡散処理段68へ右データとして出力される。
In each spreading processing stage 68, the inputted right data is output as is as left data to the next spreading processing stage 68, and is also inputted to the data spreading means 71 and data spread by 16-bit parameter data (intermediate key). The spread data is subjected to an exclusive OR operation with the left data in an XOR circuit 72, and the output of the XOR circuit 72 is outputted to the next spreading processing stage 68 as right data.

この拡散処理段68が8段継続的に設けられ、又は、拡
散処理段68の機能が8回繰り返して用いられ、各拡散
処理段68で同様の処理が行われる。終段の拡散処理段
68の出力の左データはそのまま結合手段73へ供給さ
れると共に、右データとXOR回路74で排他的論理和
演算がなされ、そのXOR回路74の出力は右データと
して結合手段73へ供給され、結合手段73ではその両
人データ及び右データが64ビットのデータとして結合
される。
Eight diffusion processing stages 68 are continuously provided, or the function of the diffusion processing stage 68 is used repeatedly eight times, and the same processing is performed at each diffusion processing stage 68. The left data output from the final spreading processing stage 68 is supplied as is to the combining means 73, and an exclusive OR operation is performed with the right data in the XOR circuit 74, and the output of the XOR circuit 74 is sent as the right data to the combining means 73. 73, and the combining means 73 combines the data for both people and the right data as 64-bit data.

その結合された64ビットのデータは64ビットのパラ
メータデータ(中間キー)PL2.PL3゜PL4.P
i5とXOR回路75で排他的論理和演算が行われて拡
散出力データ、つまり暗号文(または復号文)として出
力される。
The combined 64-bit data is 64-bit parameter data (intermediate key) PL2. PL3゜PL4. P
An exclusive OR operation is performed on i5 and the XOR circuit 75, and the result is output as spread output data, that is, encrypted text (or decrypted text).

次に、第1図に示した暗号処理部と対応する鍵処理部を
第2図に示す。64ビット長の入力データつまり暗号鍵
は、最初にパリティ検査回路65ニヨリ、8ビット単位
に分割されてパリティ検査を受ける。但しパリティ検査
回路65は省いてもヨイ。パリティ検査回路65の出力
の64ビット長の暗号鍵は、32ビットずつの左データ
及び右データに分割手段67で分割されて、複数の拡散
処理段76の縦続配列の初段に入力される。各拡散処理
段76では右データはそのまま左データとして次段の拡
散処理段へ出力すると共にXOR回路77へ供給される
。XOR回路77の出力をパラメータとしてデータ拡散
手段78で左データをデータ拡散処理し、そのデータ拡
散手段78の出力を右データとして次段の拡散処理段7
6へ出力する。XOR回路77は、初段の拡散処理段7
6では適当な定数Doを入力し、その他の拡散処理段で
は前段の左データを入力する。各拡散処理段76のデー
タ拡散手段78の32ピント出力データが中間キーとし
て出力される。この拡散処理段78が8段mm的に設け
られ、又は拡散処理段78が8回繰り返し用いられ、各
拡散処理段78で同様の処理が行われる。この結果、6
4ビットの入力データ(暗号鍵)をデータ拡散すると共
に、256ビット長にデータを長くした中間キーPO〜
P15を得る。
Next, FIG. 2 shows a key processing section corresponding to the encryption processing section shown in FIG. 1. The 64-bit long input data, that is, the encryption key, is first divided into 8-bit units by a parity check circuit 65 and subjected to a parity check. However, the parity check circuit 65 can be omitted. The 64-bit long encryption key output from the parity check circuit 65 is divided into left data and right data of 32 bits each by a dividing means 67, and is input to the first stage of a cascade arrangement of a plurality of spreading processing stages 76. In each spreading processing stage 76, the right data is directly output as left data to the next spreading processing stage and is also supplied to the XOR circuit 77. Using the output of the XOR circuit 77 as a parameter, a data spreading means 78 performs data spreading processing on the left data, and the output of the data spreading means 78 is used as the right data to be used as the next spreading processing stage 7.
Output to 6. The XOR circuit 77 is the first spreading processing stage 7.
In step 6, an appropriate constant Do is input, and in the other diffusion processing stages, the left data of the previous stage is input. The 32-focus output data of the data spreading means 78 of each spreading processing stage 76 is output as an intermediate key. This diffusion processing stage 78 is provided in 8 stages mm, or the diffusion processing stage 78 is repeatedly used eight times, and the same process is performed in each diffusion processing stage 78. As a result, 6
Intermediate key PO that spreads the 4-bit input data (encryption key) and lengthens the data to 256 bits.
Obtain P15.

拡散処理段76の初段から順次上られる各32ビットを
、16ビットずつPO,Pi、P2.P3゜P4.P5
.P6.P7.PO,P9.PIO。
The 32 bits that are sequentially ascended from the first stage of the spreading processing stage 76 are divided into 16 bits PO, Pi, P2 . P3゜P4. P5
.. P6. P7. PO, P9. P.I.O.

pH,PL2.PL3.PL4.Pi5とする。pH, PL2. PL3. PL4. Let it be Pi5.

この中間キーPO,PI、P2.P3.P4.P5゜P
6.P7をそれぞれ第1図中の拡散処理段68の初段よ
り順にパラメータとして与え、中間キーP8.P9.P
IO,pHをパラメータとしてXOR回路66へ供給し
、中間キーP12.P13゜PL4.Pi5をパラメー
タデータとしてXOR回路75へ供給し、XOR回路6
6に平文を入力するとXOR回路75に暗号文が得られ
る。復号の際は、暗号文をXOR回路66に入力し、中
間キー、P7.P6.P5.P4.P3.P2.PL。
These intermediate keys PO, PI, P2. P3. P4. P5゜P
6. P7 are respectively given as parameters in order from the first stage of the diffusion processing stage 68 in FIG. 1, and intermediate keys P8 . P9. P
IO, pH as parameters to the XOR circuit 66, and intermediate key P12. P13゜PL4. Pi5 is supplied as parameter data to the XOR circuit 75, and the XOR circuit 6
When plaintext is input to 6, ciphertext is obtained from XOR circuit 75. For decryption, the ciphertext is input to the XOR circuit 66, and the intermediate key, P7. P6. P5. P4. P3. P2. P.L.

poをそれぞれ第1図中の拡散処理段の初段より順にパ
ラメータデータとして与え、かつXOR回路66に中間
キーP12.P13.P14.P15を、XOR回路7
5に中間キーP8.P9.PIO。
po as parameter data in order from the first diffusion processing stage in FIG. 1, and intermediate keys P12 . P13. P14. P15, XOR circuit 7
5 and intermediate key P8. P9. P.I.O.

pHに入力するように入れ替えるとXOR回路75から
平文(復号文)が得られる。以上述べた暗号化の場合と
復号のパラメータの順序変更は、暗号化/復号切り替え
制御信号79の指定に従い、パラメータ順序変更部80
が行う。
By switching the input so that it is input to pH, a plain text (decrypted text) is obtained from the XOR circuit 75. The order of parameters for encryption and decryption described above is changed by the parameter order change unit 80 according to the specification of the encryption/decryption switching control signal 79.
will do.

(データ拡散手段71) データ拡散手段は、その入力データのどの1ピントが変
化してもその出力の半数程度のビットが平均して変化す
る性質をもつ、第3図は、データ拡散手段71を説明す
るための図であって、32ビットの入力データから32
ビットの拡散した出力データをうるデータ拡散手段の概
略を示している。ここでパラメータは、16ビットであ
る。第3図において、Rは32ビットの入力データであ
り、8ビットのデータRO,R1,R2,R3に分けら
れる。Pn−L、Pn−Rは、それぞれパラメータの左
半分と右半分であり、共に8ピントである。eは、ビッ
ト対応の排他的論理和であり、各1バイト(8ビット)
の2つを入力し演算する。
(Data Diffusion Means 71) The data diffusion means has a property that, even if any one focus of its input data changes, about half of the bits of its output change on average. This is a diagram for explaining 32 bits of input data.
The outline of a data spreading means for obtaining output data with spread bits is shown. Here, the parameter is 16 bits. In FIG. 3, R is 32-bit input data, which is divided into 8-bit data RO, R1, R2, and R3. Pn-L and Pn-R are the left half and right half of the parameters, respectively, and both have 8 focal points. e is a bitwise exclusive OR, each 1 byte (8 bits)
Input and calculate the two.

ここで40のSδ(δは0又はl)は、その2つの入力
をa、bとしたとき、w=a+b+δ+mod256と
して得たWを、2ビット左循環シフトして得られる8ビ
ットデータを表す。以上述べた40の処理結果をS (
an  b*  δ)で示す。
Here, Sδ of 40 (δ is 0 or l) represents 8-bit data obtained by left circularly shifting 2 bits of W obtained as w=a+b+δ+mod256, where the two inputs are a and b. S (
an b* δ).

まず、32ビットの入力データRは、各1バイトのRO
,R1,R2,R3にわけられる。各処理ブロックは、
以下に示す処理手順に従って順に処理され、最後に32
ビットの出力とされる。以下の式中の記号−は、右辺を
演算後新しく左辺のデータとすることを示す。
First, 32 bits of input data R are each 1 byte of RO
, R1, R2, and R3. Each processing block is
It is processed in order according to the processing procedure shown below, and finally 32
It is assumed to be a bit output. The symbol - in the following formula indicates that the right-hand side is used as new data on the left-hand side after the calculation.

く処理手順〉 R1=RICBPn−LeRO R2” R2eP n −Re R3 R1←S (R1,R2,1) R2←S (R2,R1,0) RO←S (RO,R1,0) R3←S (R3,R2,1) この様な構造になっているから、入力Rのどの1ビット
が変化しても、データ拡散手段の4バイトの出力のそれ
ぞれ1バイト中のビットは必らず変化する。
Processing procedure> R1=RICBPn-LeRO R2" R2eP n -Re R3 R1←S (R1, R2, 1) R2←S (R2, R1, 0) RO←S (RO, R1, 0) R3←S ( R3, R2, 1) Because of this structure, even if any one bit of the input R changes, the bits in each byte of the four-byte output of the data diffusion means will necessarily change.

(データ拡散手段78) 第4図は、データ拡散手段72を説明するための図であ
って、32ビットの入力データから32ビットのデータ
拡散した出力データをうるデータ拡散手段の概略を示し
ている。ここでパラメータは、32ビットである。第4
図において、Rは32ビットの入力データであり、8ビ
ットのデータRO。
(Data spreading means 78) FIG. 4 is a diagram for explaining the data spreading means 72, and shows an outline of the data spreading means for obtaining output data obtained by spreading 32-bit data from 32-bit input data. . Here, the parameter is 32 bits. Fourth
In the figure, R is 32-bit input data and 8-bit data RO.

R1,R2,R3に分けられる。32ビットのパラメー
タPPnは、8ビットずつに4等分し、左側から、PP
n−0,PPn−1,PPn−2゜PPn−3で表す。
It is divided into R1, R2, and R3. The 32-bit parameter PPn is divided into four equal parts of 8 bits each, and from the left side, PP
Represented by n-0, PPn-1, PPn-2°PPn-3.

ここで40のS、δは、データ拡散手段71に含まれる
ものと同一である。
Here, S and δ of 40 are the same as those included in the data spreading means 71.

まず、32ビットの入力データブロックRは、各1バイ
トの処理ブロックRO,R1,R2,R3にわけられる
。各処理ブロックは、以下に示す処理手順に従って順に
処理され、最後に32ビットの出力とされる。
First, a 32-bit input data block R is divided into 1-byte processing blocks RO, R1, R2, and R3. Each processing block is processed in order according to the processing procedure shown below, and finally a 32-bit output is produced.

く処理手順〉 R1←R1eRO R2−R269R3 R1”S (R1,(R2ePPn−0)、1)R2=
S (R2,(R169PPn−1)、0)RO4−5
(RO,(RlePPn−2)、0)R3”S (R3
,(R2ePPn−3)、1)(数式を用いた実施例1
0機能の補足説明)(記法) (1)  ブロック:A、Ar・・・は、(複数バイト
の)ブロックを表す。
Processing procedure> R1←R1eRO R2-R269R3 R1”S (R1, (R2ePPn-0), 1) R2=
S (R2, (R169PPn-1), 0)RO4-5
(RO, (RlePPn-2), 0) R3”S (R3
, (R2ePPn-3), 1) (Example 1 using formula
Supplementary explanation of 0 function) (Notation) (1) Block: A, Ar... represent a block (of multiple bytes).

(2)  バイト :A’、Ar’ は。ブロックA。(2) Byte: A', Ar'. Block A.

Ar内のj番目(j=0.1゜ ・・・)の1バイトを表す。jth position in Ar (j=0.1° ) represents 1 byte.

(3)連 結 :  (A、B、・・・)は、この順序
のデータの連結を表す。
(3) Concatenation: (A, B, . . .) represents the concatenation of data in this order.

(41e    :ACDBは、ブロックAとBのビッ
ト対応の排他的論理和を表す。
(41e: ACDB represents the bitwise exclusive OR of blocks A and B.

(5)  Φ   :成分が零の4バイト長ブロックを
表す。
(5) Φ: Represents a 4-byte long block with zero components.

(6)等 号 :右辺を左辺に代入することを表す。(6) Equal sign: Indicates that the right-hand side is substituted into the left-hand side.

(関数)説明で用いる関数をまず説明する。(Function) First, the functions used in the explanation will be explained.

関数S: Sδ(XI、K2.  δ) = Rot2 (W)W
=X1+X2+δmod256 XI、K2は、1バイトブロツクである。δは、0また
はlの定数である。Wは、Xi、K2を2進非負値整数
とみなして、X1+K2+δmod256の演算によっ
て得られる1バイトブロツクである。
Function S: Sδ(XI, K2.δ) = Rot2 (W)W
=X1+X2+δmod256 XI and K2 are 1-byte blocks. δ is a constant of 0 or l. W is a 1-byte block obtained by the calculation of X1+K2+δmod256, assuming that Xi and K2 are binary non-negative integers.

Rot2(W)は、1バイトブロツクWを、2ビット左
循環シフト(左2ビット回転)して得られる1バイトブ
ロツクである。
Rot2(W) is a 1-byte block obtained by circularly shifting 1-byte block W by 2 bits to the left (rotating it by 2 bits to the left).

例1 : X 1−0001001). X 2 =1
)1)00]0.δ=1のとき、W = 000001
)0 例2 : Rot2 (1)01)100) = 01
)1001)関数f Rを4等分し、左側からRO,R1,R2,R3で表し
、Pnを2等分し左側からPn−L、Pn−「で表す。
Example 1: X 1-0001001). X 2 = 1
)1)00]0. When δ=1, W=000001
)0 Example 2: Rot2 (1)01)100) = 01
)1001) Divide the function f R into four equal parts and represent them as RO, R1, R2, and R3 from the left, and divide Pn into two equal parts and represent them as Pn-L and Pn-'' from the left.

f  (R,Pn)は、以下の順序により計算する。f (R, Pn) is calculated in the following order.

R1’−R1e P n−1,■RO R27R2ePn−ReR3 R1−3(R1,R2,1) R2←S (R2,R1,0) RO←S (RO,R1,0) R3←S (R3,R2,1) 関数fは、第3図に示されるデータ拡散手段により実現
される。
R1'-R1e P n-1, ■RO R27R2ePn-ReR3 R1-3 (R1, R2, 1) R2←S (R2, R1, 0) RO←S (RO, R1, 0) R3←S (R3, R2,1) The function f is realized by the data spreading means shown in FIG.

関数fk Rを4等分し、左側からRO,R1,R2,R3で表し
、PPnを4等分し左側からPPn−0゜PPn−1,
PPn−2,PPn−3で表す。
Function fk R is divided into four equal parts and expressed as RO, R1, R2, and R3 from the left, and PPn is divided into four equal parts and expressed as PPn-0°PPn-1, from the left.
Represented by PPn-2 and PPn-3.

fk (R,PPn)は、以下の順序により計算する。fk (R, PPn) is calculated in the following order.

R1−R169RO R2−R2eR3 R1”S (R1,(R2ePPn−0)、1)R:)
−3(R2,(RlePPn−1)、0)RO−5(R
O,(RlePPn−2)、0)R3=S  (R3,
(R2ePPn−3)、  1)関数fkは、第4図に
示されるデータ拡散手段により実現される。
R1-R169RO R2-R2eR3 R1”S (R1, (R2ePPn-0), 1) R:)
-3(R2, (RlePPn-1), 0)RO-5(R
O, (RlePPn-2), 0) R3=S (R3,
(R2ePPn-3), 1) Function fk is realized by the data spreading means shown in FIG.

(鍵処理) 64ビットの暗号鍵から、中間キーPi  口=0〜1
5、各2バイト)を定める計算を行う。
(Key processing) From the 64-bit encryption key, intermediate key Pi = 0 to 1
5. Perform calculations to determine (2 bytes each).

暗号鍵にパリティビットを含める場合は暗号鍵のビット
位置の3xn、1≦n≦8 (但し、ビット位置は、暗
号鍵の左から右方向へ1.2.・・・と数える)にある
パリティ検査を1バイト単位に行った後、これらパリテ
ィビットの値を零に変える。
If a parity bit is included in the encryption key, the parity bit at bit position 3xn of the encryption key, 1≦n≦8 (however, the bit positions are counted as 1, 2, etc. from the left to the right of the encryption key) After checking each byte, the values of these parity bits are changed to zero.

暗号鍵の左右をAoとBoとする。最初に、D〇−φと
す淋。続いて、r=l〜8について、Pi(i=0〜1
5)を定める。
Let Ao and Bo be the left and right sides of the encryption key. First, D〇-φ and Lin. Next, for r=l~8, Pi(i=0~1
5).

D、  =A、−。D, = A, -.

A「 −Br−+ B、= fm  (Ar−+ 、Br−+ eDr−+
 )P tLr−n = (Bro 、Br+)P□r
−1)。、”  (Brz  l  Brコ)ただし、
A、、B、’、D、は、補助変数である。
A "-Br-+ B, = fm (Ar-+, Br-+ eDr-+
)P tLr−n = (Bro, Br+)P□r
-1). ,” (Brz l Brko) However,
A,,B,′,D,are auxiliary variables.

鍵処理部は第2図に示す。The key processing section is shown in FIG.

(暗号処理部による暗号化手続き) 平文ブロックの左右それぞれ4バイトのブロックをt、
o 、 R,とじて、まず、 (LO,RO)=(LO,R6)■(Kll、に1.に
1゜、に、)CLo、Ro)=(Lo、Ro)FB(Φ
、L0)続いて、r=1〜8について、Rrとり、を逐
次計算する。
(Encryption procedure by cryptographic processing unit) Blocks of 4 bytes each on the left and right sides of the plaintext block are t,
o, R, first, (LO, RO) = (LO, R6) ■ (Kll, ni 1. ni, ni,) CLo, Ro) = (Lo, Ro) FB (Φ
, L0) Then, for r=1 to 8, calculate Rr and .

Rr= L−+ 69 f  (Rr−+ 、  K1
−+ )L、=Rr−。
Rr= L−+ 69 f (Rr−+ , K1
−+)L,=Rr−.

次に、Rs、Lsに対して、 (Ra、Ls)−(Rs、Ls)CB(Φ、R8)(R
s、Lm)=(Rs、Li)e(K+z、に+:+、に
+4.に+s)暗号文ブロックは(Rs、Ls)で得ら
れる。
Next, for Rs and Ls, (Ra, Ls)-(Rs, Ls)CB(Φ, R8)(R
s, Lm)=(Rs, Li)e(K+z, ni+:+, ni+4.ni+s) The ciphertext block is obtained by (Rs, Ls).

(暗号処理部による復号手続き) 暗号文ブロックの左右それぞれ4バイトのブロックをR
s、Lsとして、まず、 (Re、Lw) = (Ra、Ls)e(K 12+ 
K 131.K la、 K +s)(Rs、LO)=
(R1,Lm)e(Φ、R1)続いて、r = 8〜1
について、L、−1とR1−1を逐次計算する。
(Decryption procedure by cryptographic processing unit) R blocks of 4 bytes each on the left and right sides of the ciphertext block
As s and Ls, first, (Re, Lw) = (Ra, Ls)e(K 12+
K 131. K la, K + s) (Rs, LO) =
(R1, Lm)e(Φ, R1), then r = 8~1
, calculate L,-1 and R1-1 sequentially.

Lr−、=R,ef  (L、、Kr−、)R,I =
L。
Lr-, =R,ef (L,, Kr-,)R,I =
L.

最後に、Lo、Roに対して、 (Lo、Ro)=(Lo、Ro)の(Φ、L、)(Lo
、Ro)””(Lo、Re)e(Ke、Kw、に+o、
に++)平文ブロックは(LO、Re )で得られる。
Finally, for Lo and Ro, (Lo, Ro) = (Lo, Ro) of (Φ, L,) (Lo
,Ro)””(Lo,Re)e(Ke,Kw,+o,
) The plaintext block is obtained by (LO, Re ).

(発明の効果) このように暗号処理部の拡散処理段が8段、鍵処理部の
拡散処理段が8段の構造になっているから、従来の暗号
装置(特願昭62−37231)と比較し、暗号文生成
の処理量が増加し暗号装置の安全性が向上出来る。
(Effects of the Invention) As described above, since the encryption processing section has a structure of 8 diffusion processing stages and the key processing section has 8 diffusion processing stages, it is different from the conventional encryption device (Patent Application No. 62-37231). In comparison, the amount of processing for ciphertext generation increases and the security of the cryptographic device can be improved.

「実施例2」 本実施例は、実施例1の鍵処理部を第5図に示すように
変更したものであり、128ビット長の暗号鍵を入力す
ることが実施例1と異なる。暗号鍵は、最初にパリティ
検査回路66により、8ビット単位にパリティ検査を受
ける。但しパリティ検査回路は省いてもよい。
``Embodiment 2'' In this embodiment, the key processing unit of Embodiment 1 is modified as shown in FIG. 5, and differs from Embodiment 1 in that a 128-bit encryption key is input. The encryption key is first subjected to a parity check in 8-bit units by a parity check circuit 66. However, the parity check circuit may be omitted.

入力した128ビット長の暗号鍵は、分割手段105で
64ビットずつ左右に等分割され、暗号鍵の左半分(K
Lと表す)が第2図の分割手段67に、暗号鍵の右半分
(KRと表す)が右暗号鍵処理部1)0に入力する。右
暗号鍵処理部1)0に入力した暗号鍵の右半分KRは、
分割手段1)1で32ビットずつ右暗号鍵の左半分(K
R−Lと表す)と右暗号鍵の右半分(K R−Rと表す
)に等分割される。KR−LとKR−Rは、XOR回路
1)2に入力し、信号線1)3上ニK R−L eKR
−Rが求められる。KR−LIIEIKR−Rは、拡散
処理段76の1段目と4段目と7段目のXOR回路1)
6に入力し、KR−Lは、拡散処理段76の2段目と5
段目と8段目のXOR回路1)6に入力し、KR−Rは
、拡散処理段76の3段目と6段目のXOR回路1)6
に人力する。拡散処理段76の構造と機能は、XOR回
路1)6が挿入されている点が実施例1と異なっている
The inputted 128-bit encryption key is divided equally into left and right parts of 64 bits each by the dividing means 105, and the left half of the encryption key (K
The right half of the encryption key (represented as KR) is input to the right encryption key processing section 1)0. The right half KR of the encryption key input to the right encryption key processing unit 1) 0 is
Dividing means 1) 1 divides the left half of the right encryption key by 32 bits (K
(denoted as RL) and the right half of the right encryption key (denoted as KRR). KR-L and KR-R are input to the XOR circuit 1) 2, and the KR-L eKR on the signal line 1) 3 is input to the XOR circuit 1) 2.
-R is required. KR-LIIEIKR-R is the XOR circuit 1) of the 1st stage, 4th stage, and 7th stage of the spreading processing stage 76.
6, and KR-L is input to the second stage of the diffusion processing stage 76 and 5.
KR-R is input to the XOR circuits 1) 6 in the 3rd and 8th stages of the diffusion processing stage 76.
to use human power. The structure and function of the spreading processing stage 76 differ from the first embodiment in that an XOR circuit 1) 6 is inserted.

このような構造になっているから、KLとKRとも複数
の拡散処理段においてそれらの値が混ぜ合わせられ、即
ち、128ビットの暗号鍵は混ぜ合わせられ、実施例1
で示したパラメータPO〜P15となる。
Because of this structure, the values of KL and KR are mixed in multiple diffusion processing stages, that is, the 128-bit encryption keys are mixed, and the values of KL and KR are mixed in multiple diffusion processing stages.
The parameters PO to P15 are as shown in FIG.

(数式を用いた実施例2の機能の補足説明)実施例1と
異なるのは、鍵処理部の動作のみであり、以下に説明す
る。ここで、関数fkの機能は、実施例1と同じである
(Supplementary explanation of the functions of the second embodiment using mathematical formulas) The only difference from the first embodiment is the operation of the key processing section, which will be explained below. Here, the function of the function fk is the same as in the first embodiment.

(鍵処理) 128ビットの暗号鍵Kから、中間キーPi(i=θ〜
15、各2バイト)を定める計算を行う。
(Key processing) From the 128-bit encryption key K, intermediate key Pi (i=θ~
15, 2 bytes each).

暗号鍵にパリティビットを含める場合は暗号鍵のビット
位置の8 x n s 1 s n≦16にあるパリテ
ィ検査を1バイト単位に行った後、これらパリティビッ
トの値を零に変える。
When parity bits are included in the encryption key, the values of these parity bits are changed to zero after a parity check is performed for each byte at bit positions of the encryption key, 8 x n s 1 s n ≦16.

128ビット長の暗号鍵の左半分をKLS128ビット
長の暗号鍵の右半分をKRで表す。KRの左半分をKR
−L、KRの右半分をKR−Rで表す。
The left half of the 128-bit encryption key is represented by KLS, and the right half of the 128-bit encryption key is represented by KR. KR left half of KR
-L, the right half of KR is expressed as KR-R.

最初に、 r =1.4.7のとき、PP、=KR−LIEEIK
R−Rとし、 r =2.5.8のとき、PP、=KR−Lとし、r=
3.6のとき、PP、=KR−Rとする。
First, when r = 1.4.7, PP, = KR - LIEEIK
Let R-R, and when r = 2.5.8, let PP, = KR-L, and r =
3.6, PP,=KR−R.

次に、KLとKRとから、中間キーPi  (i=0〜
15、各2バイト)を定める。暗号鍵の左右をAoと8
0とする。最初に、DO=Φとする。続いて、r = 
1〜Bについて、Pi(i=0〜15)を定める。
Next, from KL and KR, intermediate key Pi (i=0~
15, 2 bytes each). Ao and 8 on the left and right of the encryption key
Set to 0. First, let DO=Φ. Subsequently, r =
For 1 to B, Pi (i=0 to 15) is determined.

D、=A、−1 A、=Br−。D,=A,-1 A,=Br-.

B、 = f k(A−+ 、Br−+ eDr−+ 
$P Pr)P *(r=r> = (Br6−  B
r+)7+r−1)+1=   (Brz+   Br
5)A、、B、、D、は、補助変数である。
B, = f k(A-+ , Br-+ eDr-+
$P Pr)P *(r=r> = (Br6- B
r+)7+r-1)+1= (Brz+ Br
5) A,,B,,D,are auxiliary variables.

(発明の効果) 以上説明したように、暗号処理部の拡散処理段が8段、
鍵処理部の拡散処理段が8段の構造になっており、更に
128ビットの暗号鍵が使えるから、従来の暗号装置(
特願昭62−37231)はもちろん、実施例1の暗号
装置よりも安全な暗号装置として使える。
(Effect of the invention) As explained above, the encryption processing section has eight diffusion processing stages,
The key processing section has an 8-stage structure for spreading processing, and a 128-bit encryption key can be used, making it easier to use conventional encryption devices (
This invention can of course be used as a more secure encryption device than the encryption device of the first embodiment.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明に基づく暗号装置の実施例1の暗号処
理部を示すブロック図、第2図は、実施例1の鍵処理部
を示すブロック図、第3図は、暗号処理部の内部のデー
タ拡散手段を示すブロック図、第4図は鍵処理部内部の
データ拡散手段を示すブロック図、第5図は、実施例2
の鍵処理部を示すブロック図、第創図は、従来の暗号装
置の暗号処理部を示すブロック図、第7図は、従来の暗
号装置の鍵処理部を示すブロック図である。 特許出願人 日本電信電話株式会社
FIG. 1 is a block diagram showing the cryptographic processing unit of the first embodiment of the cryptographic device based on the present invention, FIG. 2 is a block diagram showing the key processing unit of the first embodiment, and FIG. 3 is a block diagram showing the cryptographic processing unit of the first embodiment. FIG. 4 is a block diagram showing the internal data spreading means. FIG. 5 is a block diagram showing the data spreading means inside the key processing unit. FIG.
FIG. 7 is a block diagram showing a cryptographic processing section of a conventional cryptographic device, and FIG. 7 is a block diagram showing a key processing section of a conventional cryptographic device. Patent applicant Nippon Telegraph and Telephone Corporation

Claims (2)

【特許請求の範囲】[Claims] (1)64ビットの暗号鍵を用いて、データを64ビッ
ト単位に暗号化または復号する機能を有し、暗号処理部
とからなり、暗号処理部は8回の継続処理を行う拡散処
理段を含み、鍵処理部は8回の継続処理を行う拡散処理
段を含むことを特徴とする暗号装置。
(1) It has the function of encrypting or decoding data in 64-bit units using a 64-bit encryption key, and consists of a cryptographic processing section, and the cryptographic processing section has a spreading processing stage that performs continuous processing eight times. 1. A cryptographic device, wherein the key processing unit includes a spreading processing stage that performs continuous processing eight times.
(2)128ビットの暗号鍵を用いて、データを64ビ
ット単位に暗号化または復号する機能を有し、暗号処理
部と鍵処理部とからなり、暗号処理部は8回の継続処理
を行う拡散処理段を含み、鍵処理部は8回の継続処理を
行う拡散処理段を含むことを特徴とする特許請求の範囲
第1項記載の暗号装置。
(2) It has the function of encrypting or decoding data in 64-bit units using a 128-bit encryption key, and consists of a cryptographic processing unit and a key processing unit, and the cryptographic processing unit performs continuous processing eight times. 2. The cryptographic device according to claim 1, further comprising a spreading processing stage, wherein the key processing unit includes a spreading processing stage that performs continuous processing eight times.
JP62308463A 1987-12-04 1987-12-04 Cryptographer Pending JPH01147585A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62308463A JPH01147585A (en) 1987-12-04 1987-12-04 Cryptographer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62308463A JPH01147585A (en) 1987-12-04 1987-12-04 Cryptographer

Publications (1)

Publication Number Publication Date
JPH01147585A true JPH01147585A (en) 1989-06-09

Family

ID=17981327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62308463A Pending JPH01147585A (en) 1987-12-04 1987-12-04 Cryptographer

Country Status (1)

Country Link
JP (1) JPH01147585A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008145791A (en) * 2006-12-11 2008-06-26 Sony Corp Encryption processing device, encryption processing method and computer program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EUROCRYPT FAST DATA ENCIPHERMENT ALGORITHM FEAL=1987 *
LECTURE NOTES IN COMPUTER SCIENCE=1986 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008145791A (en) * 2006-12-11 2008-06-26 Sony Corp Encryption processing device, encryption processing method and computer program
US8737603B2 (en) 2006-12-11 2014-05-27 Sony Corporation Cryptographic processing apparatus, cryptographic processing method, and computer program

Similar Documents

Publication Publication Date Title
KR100296958B1 (en) Apparatus for encoding block data
US4850019A (en) Data randomization equipment
US7860241B2 (en) Simple universal hash for plaintext aware encryption
AU2003213312B2 (en) Block cipher apparatus using auxiliary transformation
JP2760799B2 (en) Encryption method
US7715553B2 (en) Encrypting a plaintext message with authentication
Massey SAFER K-64: One year later
JPH1173101A (en) High speed block ciphering method, and medium usable in computer
JP2002023622A (en) Ciphering device, deciphering device, device and method for generating extended key, and recording medium
JP2825205B2 (en) Encryption device
JPH01147585A (en) Cryptographer
US20240097880A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
CN115694796A (en) Internet of things security encryption method and device, storage medium and electronic equipment
KR100434558B1 (en) A fast block encryption algorithm
JPH09269727A (en) Ciphering method and ciphering device
JPH10153954A (en) Ciphering device
JP2834450B2 (en) Encryption device
CN115348018B (en) Data processing method, device and storage medium
CN113343276B (en) Encryption method of light-weight block cipher algorithm GCM based on generalized two-dimensional cat mapping
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
CN116132015A (en) Balanced universal key expansion quick method
Swathi et al. Double Encryption using TEA and DNA
JPH0760292B2 (en) Data randomizer
JP3277894B2 (en) Information processing apparatus and code generation method
JPH01144091A (en) Data diffuser