JPH09230788A - Encoding method and device - Google Patents

Encoding method and device

Info

Publication number
JPH09230788A
JPH09230788A JP8060326A JP6032696A JPH09230788A JP H09230788 A JPH09230788 A JP H09230788A JP 8060326 A JP8060326 A JP 8060326A JP 6032696 A JP6032696 A JP 6032696A JP H09230788 A JPH09230788 A JP H09230788A
Authority
JP
Japan
Prior art keywords
key
encryption
output
data
arithmetic core
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.)
Withdrawn
Application number
JP8060326A
Other languages
Japanese (ja)
Inventor
Yoshitaka Tsunoda
好隆 角田
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 JP8060326A priority Critical patent/JPH09230788A/en
Publication of JPH09230788A publication Critical patent/JPH09230788A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

PROBLEM TO BE SOLVED: To decrease a circuit scale of an encoding device. SOLUTION: An operation core part 11 generates work keys 1-3 by selecting a data key from a first selection part 12 to input thereto, and selecting system keys 1-4 from a second selection part 13 to input thereto. Next, work keys 4-7 are generated by the operation core part 11 by inputting output data of the operation core part 11 and also inputting system keys 5-8. Further, a work key 8 is generated by inputting the output of the operation core part 11. Next, by inputting input data and generated work keys 1-4, encoding processing is performed by the operation core part 11 and its output is inputted. Then, by inputting work keys 5-8, encoding processing is further performed and encoded data are outputted from the operation core part 11. Thus, the operation core part is able to perform key schedule processing and encoding processing.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、平文を暗号化して
出力する暗号化方法および装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption method and apparatus for encrypting and outputting plaintext.

【0002】[0002]

【従来の技術】通信や記録等における情報を秘匿するた
めに、情報を暗号化することが従来から知られている。
この暗号化では、情報を意味のわからない情報になるよ
う暗号化し、暗号化された情報を送信したり、記録媒体
等に記録する。そして、暗号化された情報を受けて、解
読化することにより、元の情報を得るようにする。この
ような暗号化・解読化には、大きく分けて秘密鍵暗号方
式(慣用鍵暗号方式)と、公開鍵暗号方式とがある。秘
密鍵暗号方式は、暗号化と解読化とに同じ鍵を利用して
おり、暗号化側と解読化側とで同じ鍵を秘密に持つ方式
である。一方、公開鍵暗号方式は、暗号化側と解読化側
とで異なる鍵を使用し、暗号化側の鍵は公開するが、解
読化側の鍵は公開しない方式である。
2. Description of the Related Art It has been conventionally known to encrypt information in order to keep information confidential in communication, recording and the like.
In this encryption, information is encrypted so that it does not make sense, and the encrypted information is transmitted or recorded on a recording medium or the like. Then, the encrypted information is received and decrypted to obtain the original information. Such encryption / decryption is roughly classified into a secret key cryptosystem (conventional key cryptosystem) and a public key cryptosystem. The secret key cryptosystem uses the same key for encryption and decryption, and the encryption side and the decryption side have the same key in secret. On the other hand, the public key cryptosystem is a system in which different keys are used on the encryption side and the decryption side, and the encryption side key is made public, but the decryption side key is not made public.

【0003】このような暗号化・解読化方式の慣用鍵暗
号方式の一つとして、米国における標準方式であるDE
S(Data Encryption Standard)方式の暗号アルゴリズ
ムが知られている。このDES方式は、暗号アルゴリズ
ムを公開し、暗号鍵だけで暗号強度を保っている。暗号
アルゴリズムを公開するのは、公開しても暗号鍵がなけ
れば、解読するための演算が膨大な量となり、高速な演
算装置を使用しても数100年ないし数1000年以上
かかると予想されているからである。ところで、暗号化
は基本的には文字の順序を入れ替える転置と、一定の規
則にしたがってある文字を別の文字に置き換える換字と
を組み合わせて実施している。そして、どのような順序
で文字を入れ替えるか、どの文字とどの文字とを置き換
えるかを示すのが暗号アルゴリズムと暗号鍵となる。
As one of the conventional key cryptosystems for such an encryption / decryption system, DE, which is a standard system in the United States, is used.
An encryption algorithm of the S (Data Encryption Standard) system is known. In this DES method, the cryptographic algorithm is made public and the cryptographic strength is maintained only by the cryptographic key. Even if a cryptographic algorithm is made public, if it does not have an encryption key, the amount of calculation for decryption will be enormous, and even if a high-speed arithmetic device is used, it is expected to take hundreds or thousands of years or more. Because it is. By the way, basically, encryption is performed by combining transposition for changing the order of characters and substitution for replacing one character with another according to a certain rule. Then, the encryption algorithm and the encryption key indicate in what order characters are to be exchanged and which characters are to be replaced.

【0004】ところで、暗号アルゴリズムにはDESに
限らず多種・多様なものがあり、より安全性・高速性に
優れた方式が開発されている。この一例として、米国特
許第4,982,429号明細書、米国特許第5,10
3,479号明細書、および特開平1−276189号
公報等に記載されている暗号方式(MULTI2方式)が知ら
れている。また、国際標準化機構(ISO)においても
ISO9979/0009として登録された暗号化方式
や、ISO/IEC10116として登録された暗号化
利用モードがある。
By the way, there are various types of cryptographic algorithms, not limited to DES, and a system having higher security and higher speed has been developed. As an example of this, US Pat. No. 4,982,429, US Pat.
The encryption method (MULTI2 method) described in Japanese Patent No. 3,479 and Japanese Patent Laid-Open No. 1-276189 is known. The International Organization for Standardization (ISO) also has an encryption method registered as ISO9979 / 0009 and an encryption use mode registered as ISO / IEC10116.

【0005】上記MULTI2方式の暗号化方式においては、
入力データサイズが64ビット、出力データサイズが6
4ビットであり、暗号化を行うための256ビットサイ
ズのワーク鍵を、256ビットサイズのシステム鍵と、
64ビットサイズのデータ鍵から生成している。また、
暗号化段数は正の整数段とされている。このMULTI2方式
における暗号化アルゴリズムの概略構成を図4に示す。
MULTI2方式は、図4に示すように64ビットのデータ鍵
Ksに256ビットのシステム鍵Jを用いて暗号アルゴ
リズムを実行することにより、256ビットのワーク鍵
Kwを生成する。これを鍵スケジュール処理といい、こ
の鍵スケジュール処理は暗号アルゴリズム実行手段Cに
より実行される。生成されたワーク鍵Kwは、暗号アル
ゴリズム実行手段Fに供給されて入力された64ビット
ブロックの平文が暗号化される。なお、暗号アルゴリズ
ム実行手段Cと暗号アルゴリズム実行手段Fとで実行さ
れる暗号アルゴリズムは、同一の暗号アルゴリズムとす
ることができる。
In the above-mentioned MULTI2 encryption method,
Input data size is 64 bits, output data size is 6
A 4-bit work key of 256-bit size for encryption and a system key of 256-bit size,
It is generated from a 64-bit size data key. Also,
The number of encryption steps is a positive integer step. FIG. 4 shows a schematic configuration of the encryption algorithm in this MULTI2 system.
As shown in FIG. 4, the MULTI2 system generates a 256-bit work key Kw by executing an encryption algorithm using a 64-bit data key Ks and a 256-bit system key J. This is called a key schedule process, and this key schedule process is executed by the cryptographic algorithm executing means C. The generated work key Kw is encrypted by encrypting the plaintext of the 64-bit block supplied to the encryption algorithm execution means F and input. The cryptographic algorithms executed by the cryptographic algorithm executing means C and the cryptographic algorithm executing means F can be the same cryptographic algorithm.

【0006】このような暗号化がMULTI2方式の基本的な
暗号化アルゴリズムであるが、これでは予め文字、ある
いは単語が出現する頻度の分布を統計処理しておき、入
手した暗号化文の文字列パターンの頻度分布とのマッチ
ングを取ることにより、平文が推定(解読)されてしま
うおそれがある。そこで、暗号化された64ビットの暗
号ブロックと、次に入力される64ビットの入力データ
との排他的論理和を演算して暗号文を作成する手法があ
る。この手法を行って暗号化するモードをCBC(Ciph
er Block Chaining)モードとよんでいる。なお、前記し
た暗号アルゴリズム実行手段Fにおいては、このような
CBCモードの暗号アルゴリズムが実行されている。
[0006] Such encryption is a basic encryption algorithm of the MULTI2 system. In this method, the distribution of the frequency of occurrence of characters or words is statistically processed in advance, and the character string of the obtained encrypted text is obtained. The plaintext may be estimated (deciphered) by matching the pattern frequency distribution. Therefore, there is a method of creating an encrypted text by calculating the exclusive OR of the encrypted 64-bit cipher block and the next input 64-bit input data. CBC (Ciph
er Block Chaining) mode. In addition, in the above-mentioned cryptographic algorithm execution means F, such a cryptographic algorithm in the CBC mode is executed.

【0007】また、例えばパケット通信のように通信を
行うデータの単位が予め決められている通信方式がある
が、64ビットを1ブロックとするようなブロック暗号
化方式では、1ブロックのビット数で割り切れないデー
タ単位が入力された場合に、1ブロックに満たない端数
データがでることになる。そこで、その端数処理をOF
B(Output Feedback )モードで処理するようにしてい
る。すなわち、データに端数部分がある場合は、データ
の端数部分が暗号アルゴリズム実行手段Gに供給され、
ワーク鍵Kw用いて生成された乱数を使用して暗号化さ
れるようにしたOFBモードとされる。これにより、6
4ビットを1ブロックとした時に64ビットに満たない
データの暗号文を得ることができるようになる。なお、
CBCモードおよびOFBモードは暗号化利用モードと
呼ばれる。
There is a communication system in which the unit of data to be communicated is predetermined such as packet communication, but in the block encryption system in which 64 bits are one block, the number of bits of one block is When a data unit that cannot be divided is input, fractional data that is less than one block is generated. Therefore, the rounding process is OF
Processing is performed in B (Output Feedback) mode. That is, when the data has a fractional part, the fractional part of the data is supplied to the encryption algorithm executing means G,
The OFB mode is set so that the random number generated using the work key Kw is used for encryption. This gives 6
It becomes possible to obtain a ciphertext of data which is less than 64 bits when 4 bits are set as one block. In addition,
The CBC mode and the OFB mode are called the encryption use mode.

【0008】また、MULTI2方式における解読化アルゴリ
ズムの概略構成を図5に示す。図5に示すように、64
ビットのデータ鍵Ksに256ビットのシステム鍵Jを
用いて暗号アルゴリズムを実行することにより256ビ
ットのワーク鍵Kwを生成する。このワーク鍵の生成
は、暗号化側と同一の暗号アルゴリズムの鍵スケジュー
ル処理により行われる。この暗号アルゴリズムは暗号ア
ルゴリズム実行手段cにより実行される。生成されたワ
ーク鍵Kwは、解読アルゴリズム実行手段fに供給され
て入力された64ビットの暗号文が解読化される。
FIG. 5 shows a schematic structure of a decoding algorithm in the MULTI2 system. As shown in FIG. 5, 64
A 256-bit work key Kw is generated by executing an encryption algorithm using the 256-bit system key J for the bit data key Ks. The generation of this work key is performed by the key schedule process of the same encryption algorithm as the encryption side. This cryptographic algorithm is executed by the cryptographic algorithm executing means c. The generated work key Kw is supplied to the decryption algorithm executing means f and the input 64-bit ciphertext is decrypted.

【0009】この解読アルゴリズムでは、暗号アルゴリ
ズム実行手段Fの暗号アルゴリズムにおける、換字と転
置のアルゴリズムが逆の順序のアルゴリズムで行われる
ことになる。なお、OFBモードで暗号化されている暗
号文は、暗号アルゴリズム実行手段gに供給され、ワー
ク鍵Kwを用いて生成された乱数を使用することにより
解読化される。これにより、1ブロック64ビットの暗
号文を解読化して64ビットブロックの平文を得ること
ができる。また、解読アルゴリズム実行手段fはCBC
モードの解読アルゴリズムを実行するようにされてい
る。
In this decryption algorithm, the substitution and transposition algorithms in the encryption algorithm of the encryption algorithm executing means F are performed in the reverse order. The ciphertext encrypted in the OFB mode is supplied to the encryption algorithm executing means g and decrypted by using the random number generated using the work key Kw. As a result, one block of 64-bit ciphertext can be decrypted to obtain a 64-bit block of plaintext. Further, the decryption algorithm executing means f is CBC.
It is designed to perform mode decryption algorithms.

【0010】ここで、暗号化利用モードの説明を図6を
参照しながら行うが、図6(a)にCBCモードの暗号
化・解読化の概略構成を示し、図6(b)にOFBモー
ドの暗号化・解読化の概略構成を示している。CBCモ
ードでは、図6(a)に示すようにi番目の平文ブロッ
クM(i) が、排他的論理和回路101に入力され、レジ
スタ(REG)103により遅延されてフィードバック
された1ブロック前の暗号文ブロックC(i-1) との排他
的論理和が演算される。演算されたデータは暗号アルゴ
リズム実行手段102において、データ鍵Ksに基づい
て生成されたワーク鍵により暗号化される。この暗号化
されたi番目の暗号文ブロックC(i) は、 C(i) =EKs(M(i) .EOR.C(i-1) ) と表せる。ただし、EKs(m)はmをKsで暗号化す
ることを意味しており、EORは排他的論理和の演算を
行うことを示している。
Here, the encryption use mode will be described with reference to FIG. 6. FIG. 6A shows a schematic configuration of encryption / decryption in the CBC mode, and FIG. 6B shows an OFB mode. 2 shows a schematic configuration of encryption / decryption of. In the CBC mode, as shown in FIG. 6A, the i-th plaintext block M (i) is input to the exclusive OR circuit 101, delayed by the register (REG) 103, and fed back by one block. The exclusive OR with the ciphertext block C (i-1) is calculated. The calculated data is encrypted by the encryption algorithm executing means 102 with the work key generated based on the data key Ks. The encrypted i-th ciphertext block C (i) can be expressed as C (i) = EKs (M (i) .EOR.C (i-1)). However, EKs (m) means that m is encrypted with Ks, and EOR indicates that an exclusive OR operation is performed.

【0011】そして、この暗号文ブロックC(i) は送信
され、受信側において受信されることになる。受信され
た暗号文ブロックC(i) は、解読アルゴリズム実行手段
111においてデータ鍵Ksに基づいて生成されたワー
ク鍵を用いて解読され、排他的論和回路113に供給さ
れる。この排他的論理和回路113にはレジスタ(RE
G)112において遅延された、1ブロック前の暗号文
ブロックC(i-1) が入力されて、両者の排他的論和が演
算される。この時、送信側と受信側のデータ鍵Ksは等
しく、これにより、排他的論理和回路113からi番目
の平文ブロックM(i) が解読される。i番目の平文ブロ
ックM(i) は次のように表せる。 M(i) =DKs(C(i) .EOR.C(i-1) ) ただし、DKs(c)はKsでcを解読化することを示
している。
Then, the ciphertext block C (i) is transmitted and received at the receiving side. The received ciphertext block C (i) is decrypted by the decryption algorithm executing means 111 using the work key generated based on the data key Ks, and is supplied to the exclusive disjunction circuit 113. The exclusive OR circuit 113 has a register (RE
G) The delayed ciphertext block C (i-1) one block before is input in 112, and the exclusive disjunction of the two is calculated. At this time, the data keys Ks on the transmitting side and the receiving side are equal to each other, whereby the i-th plaintext block M (i) is decrypted by the exclusive OR circuit 113. The i-th plaintext block M (i) can be expressed as follows. M (i) = DKs (C (i) .EOR.C (i-1)) where DKs (c) indicates that Ks decrypts c.

【0012】また、OFBモード時では、図6(b)に
示すようにi番目の平文ブロックM(i) は排他的論理和
回路105に供給される。この排他的論理和回路105
には、データ鍵Ksに基づいて生成されたワーク鍵によ
り乱数化された暗号アルゴリズム実行手段104の出力
が供給されている。なお、暗号アルゴリズム実行手段1
04の出力は、レジスタ103により1ブロック遅延さ
れて暗号アルゴリズム実行手段104に1ブロック遅延
されて戻されている。これにより、排他的論理和回路1
05からは乱数により暗号化された暗号文ブロックC
(i) が出力される。
In the OFB mode, the i-th plaintext block M (i) is supplied to the exclusive OR circuit 105 as shown in FIG. 6B. This exclusive OR circuit 105
Is supplied with the output of the cryptographic algorithm executing means 104 which is randomized by the work key generated based on the data key Ks. The cryptographic algorithm execution means 1
The output of 04 is delayed by one block by the register 103 and returned to the encryption algorithm execution means 104 by one block. As a result, the exclusive OR circuit 1
From 05, a ciphertext block C encrypted with a random number
(i) is output.

【0013】そして、この暗号文ブロックC(i) は送信
され、受信側において受信されることになる。受信され
た暗号文ブロックC(i) は、排他的論和回路114に供
給される。この排他的論和回路114には、暗号アルゴ
リズム実行手段115においてデータ鍵Ksに基づいて
生成されたワーク鍵を用いて乱数化された出力が供給さ
れている。この暗号アルゴリズム実行手段115の出力
は、レジスタ(REG)112において1ブロック遅延
されて暗号アルゴリズム実行手段115に戻されてい
る。この場合、排他的論理和回路114に供給される乱
数は、排他的論理和回路105に供給される乱数と等し
く、これにより、排他的論理和回路114から解読され
たi番目の平文ブロックM(i) が得られる。
Then, this ciphertext block C (i) is transmitted and received at the receiving side. The received ciphertext block C (i) is supplied to the exclusive disjunction circuit 114. The exclusive OR circuit 114 is supplied with a randomized output using a work key generated based on the data key Ks in the encryption algorithm executing means 115. The output of the encryption algorithm executing means 115 is delayed by one block in the register (REG) 112 and returned to the encryption algorithm executing means 115. In this case, the random number supplied to the exclusive OR circuit 114 is equal to the random number supplied to the exclusive OR circuit 105, whereby the i-th plaintext block M ( i) is obtained.

【0014】以上説明した暗号化利用モードを有する暗
号化・解読化方式の概略構成を図7に示す。この図にお
いて、送信側にはデータを暗号化する暗号化装置が備え
られており、暗号化された送信データが送信されてい
る。この暗号化された送信データは、空間等の伝送路を
伝播されて受信側で受信される。受信側には、解読化装
置が備えられており、この解読化装置により送信データ
が解読化されて、元のデータに戻されて出力されてい
る。
FIG. 7 shows a schematic configuration of the encryption / decryption method having the above-described encryption use mode. In this figure, the transmission side is provided with an encryption device for encrypting data, and the encrypted transmission data is transmitted. This encrypted transmission data is propagated through a transmission path such as space and is received by the receiving side. The receiving side is provided with a decryption device, and the decryption device decrypts the transmitted data, restores it to the original data, and outputs it.

【0015】暗号化装置は、入力された入力データ(平
文)を暗号化する暗号アルゴリズム実行手段であるEncr
yptor 102と、レジスタ103と、排他的論理和回路
(EX−OR)101からなるCBCモード暗号化部
と、暗号アルゴリズム実行手段であるEncryptor 104
と、排他的論理和回路(EX−OR)105からなるO
FBモード暗号化部から構成されている。なお、データ
鍵とシステム鍵からワーク鍵を生成するEncryptor 10
6も暗号化装置内に備えられている。生成されたワーク
鍵はEncryptor 102,104に供給される。ところ
で、Encryptor 102、Encryptor 104、Encryptor
106は同一の暗号アルゴリズムとすることができるの
で、1つのEncryptor により3つのEncryptor を兼用す
ることができる。CBCモード暗号化部およびOFBモ
ード暗号化部の動作は前述したとおりであるので、ここ
では省略する。
The encryption device is Encr which is an encryption algorithm executing means for encrypting the input data (plaintext) inputted.
yptor 102, register 103, CBC mode encryption unit composed of exclusive OR circuit (EX-OR) 101, and Encryptor 104 which is encryption algorithm execution means.
And an exclusive OR circuit (EX-OR) 105
It is composed of an FB mode encryption unit. Encryptor 10 that generates a work key from the data key and system key
6 is also provided in the encryption device. The generated work key is supplied to the Encryptor 102, 104. By the way, Encryptor 102, Encryptor 104, Encryptor
Since 106 can have the same encryption algorithm, one Encryptor can also be used as three Encryptors. The operations of the CBC mode encryption unit and the OFB mode encryption unit are as described above, and will not be repeated here.

【0016】また、受信側に備えられた解読化装置は、
入力された受信データ(暗号文)を解読化する解読アル
ゴリズム実行手段であるDecryptor 111と、レジスタ
112と、排他的論理和回路(EX−OR)113から
なるCBCモード解読化部と、暗号アルゴリズム実行手
段であるEncryptor 115と、排他的論理和回路(EX
−OR)114からなるOFBモード解読化部から構成
されている。なお、データ鍵とシステム鍵からワーク鍵
を生成するEncryptor 116も解読化装置内に備えられ
ている。生成されたワーク鍵はDecryptor 111と、En
cryptor 115に供給される。なお、Encryptor 11
5、Encryptor 116は同一の暗号アルゴリズムとする
ことができるので、1つのEncryptor により2つのEncr
yptor を兼用することができる。また、CBCモード解
読化部およびOFBモード解読化部の動作は前述したと
おりであるので、ここでは省略する。
The decryption device provided on the receiving side is
Decryptor 111, which is a decryption algorithm executing means for decrypting input received data (ciphertext), a register 112, a CBC mode decryption unit including an exclusive OR circuit (EX-OR) 113, and an encryption algorithm execution Means Encryptor 115 and exclusive OR circuit (EX
-OR) 114 of the OFB mode decoding unit. An Encryptor 116 for generating a work key from the data key and the system key is also provided in the decryption device. The generated work key is Decryptor 111 and En
Supplied to cryptor 115. In addition, Encryptor 11
5. Encryptor 116 can use the same encryption algorithm, so one Encryptor can be used for two Encr
Can also be used as yptor. The operations of the CBC mode decoding unit and the OFB mode decoding unit are the same as described above, and will not be repeated here.

【0017】次に、Encryptor の暗号化処理の暗号アル
ゴリズムを図8を参照して説明する。図8は暗号化処理
の暗号アルゴリズムを示しており、64ビット幅の入力
データは、上位32ビットのデータと下位の32ビット
のデータに分割されて4段の演算段130に入力され
る。入力された上位32ビットのデータと下位の32ビ
ットのデータに、4段の演算段130内の初段において
関数π1の演算が施される。ついで、第2段において初
段の出力に関数π2の演算が施される。この場合、第2
段には32ビット幅のワーク鍵1が入力され、このワー
ク鍵1を用いて第2段の演算が行われている。
Next, the encryption algorithm of the encryption process of the Encryptor will be described with reference to FIG. FIG. 8 shows an encryption algorithm of the encryption process. The 64-bit width input data is divided into upper 32 bits of data and lower 32 bits of data and input to the four arithmetic stages 130. The input high-order 32-bit data and low-order 32-bit data are subjected to the operation of the function π1 in the first stage of the four-stage operation stage 130. Then, in the second stage, the operation of the function π2 is applied to the output of the first stage. In this case, the second
The work key 1 having a 32-bit width is input to the stage, and the work key 1 is used to perform the operation of the second stage.

【0018】さらに、第3段において第2段の出力に関
数π3の演算が施される。この場合、第3段には32ビ
ット幅のワーク鍵2,ワーク鍵3が入力され、このワー
ク鍵2,ワーク鍵3を用いて演算が行われている。続い
て、第4段において第3段の出力に関数π4の演算が施
される。この場合、第4段には32ビット幅のワーク鍵
4が入力され、このワーク鍵4を用いて演算が行われて
いる。さらに、4段の演算を行う演算段131に入力さ
れ、その初段において、演算段130からの出力に関数
π1の演算が施される。ついで、第2段において初段の
出力に関数π2の演算が施される。この場合、第2段に
は32ビット幅のワーク鍵5が入力され、このワーク鍵
5を用いて演算が行われている。
Further, in the third stage, the output of the second stage is calculated by the function π3. In this case, the work key 2 and the work key 3 having a 32-bit width are input to the third stage, and the operation is performed using the work key 2 and the work key 3. Subsequently, in the fourth stage, the output of the third stage is subjected to the operation of the function π4. In this case, the work key 4 having a 32-bit width is input to the fourth stage, and the work key 4 is used for the calculation. Further, it is input to the operation stage 131 which performs four operations, and the output of the operation stage 130 is subjected to the operation of the function π1 in the first stage. Then, in the second stage, the operation of the function π2 is applied to the output of the first stage. In this case, the work key 5 having a 32-bit width is input to the second stage, and the work key 5 is used for the calculation.

【0019】さらに、第3段において第2段の出力に関
数π3の演算が施される。この場合、第3段には32ビ
ット幅のワーク鍵6,ワーク鍵7が入力され、このワー
ク鍵6,ワーク鍵K7を用いて演算が行われている。続
いて、第4段において第3段の出力に関数π4の演算が
施される。この場合、第4段には32ビット幅のワーク
鍵8が入力され、このワーク鍵8を用いて演算が行われ
ている。このように256ビットのワーク鍵が32ビッ
ト幅に8分割(ワーク鍵1〜ワーク鍵8)されて各演算
段に供給され、暗号化処理の行われた上位32ビット、
下位32ビットの合計64ビット幅の暗号化データを得
るようにしている。また、暗号強度を高めるために4段
の演算段130,131の暗号化処理を複数回繰り返し
行うようにしてもよい。なお、演算段の各段で行われて
いる関数の演算は、一定の規則に従ってある文字を他の
文字に置き換える換字と、文字の順序を入れ替える転置
を行う演算とされている。
Further, in the third stage, the output of the second stage is calculated by the function π3. In this case, the work key 6 and the work key 7 having a 32-bit width are input to the third stage, and the operation is performed using the work key 6 and the work key K7. Subsequently, in the fourth stage, the output of the third stage is subjected to the operation of the function π4. In this case, the work key 8 having a 32-bit width is input to the fourth stage, and the work key 8 is used for the calculation. In this way, the 256-bit work key is divided into eight with a 32-bit width (work key 1 to work key 8) and supplied to each operation stage, and the upper 32 bits for which encryption processing has been performed,
Encrypted data having a total of 64-bit width of the lower 32 bits is obtained. Further, the encryption processing of the four operation stages 130 and 131 may be repeated a plurality of times in order to increase the encryption strength. The operation of the function performed in each operation step is a substitution operation that replaces a character with another character according to a certain rule, and a transposition operation that changes the order of characters.

【0020】次に、64ビット幅のデータ鍵と256ビ
ット幅のシステム鍵から256ビット幅のワーク鍵を生
成する鍵スケジュール処理のアルゴリズムを図9に示
す。鍵スケジュール処理は図9に示すように4段の演算
段132,133が2段と、1段の演算段134が縦続
接続されたアルゴリズムとされている。すなわち、最初
の4段の演算段132の初段において、上位32ビット
と下位32ビットに分割された64ビット幅のデータ鍵
に、関数π1の演算が施される。次いで、第2段におい
て初段の出力データに32ビット幅のシステム鍵1を用
いて関数π2の演算が施され、上位32ビット幅の出力
がワーク鍵1として出力される。次いで、第3段におい
て、第2段の出力データにシステム鍵2,システム鍵3
を用いて関数π3の演算が施され、下位32ビット幅の
出力がワーク鍵2として出力される。さらに、第4段に
おいて、第3段の出力データにシステム鍵4を用いて関
数π4の演算が施され、上位32ビット幅の出力がワー
ク鍵3として出力される。
Next, FIG. 9 shows an algorithm of a key schedule process for generating a 256-bit wide work key from a 64-bit wide data key and a 256-bit wide system key. As shown in FIG. 9, the key schedule process is an algorithm in which four operation stages 132 and 133 are two stages and one operation stage 134 is cascade-connected. That is, in the first stage of the first four arithmetic stages 132, the operation of the function π1 is performed on the 64-bit wide data key divided into the upper 32 bits and the lower 32 bits. Next, in the second stage, the operation data of the function π2 is applied to the output data of the first stage using the system key 1 of 32 bit width, and the output of the upper 32 bit width is output as the work key 1. Next, in the third stage, the system key 2 and the system key 3 are added to the output data of the second stage.
Is used to calculate the function π3, and the output of the lower 32 bits is output as the work key 2. Further, in the fourth stage, the output data of the third stage is subjected to the calculation of the function π4 using the system key 4, and the output of the upper 32 bits width is output as the work key 3.

【0021】続いて、次の4段の演算段133の初段に
おいて、演算段132の出力データに関数π1の演算が
施され、下位32ビット幅の出力がワーク鍵4として出
力される。次いで、第2段において初段の出力データに
32ビット幅のシステム鍵5を用いて関数π2の演算が
施されて、上位32ビット幅の出力がワーク鍵5として
出力される。次いで、第3段において、第2段の出力デ
ータにシステム鍵6,システム鍵7を用いて関数π3の
演算が施され、下位32ビット幅の出力がワーク鍵6と
して出力される。さらに、第4段において、第3段の出
力データにシステム鍵8を用いて関数π4の演算が施さ
れて、上位32ビット幅の出力がワーク鍵7として出力
される。さらに、続く演算段134において、演算段1
33の出力データに関数π1の演算が施され、下位32
ビット幅の出力がワーク鍵8として出力される。
Subsequently, in the first stage of the next four operation stages 133, the output data of the operation stage 132 is subjected to the operation of the function π1 and the output of the lower 32 bits width is output as the work key 4. Next, in the second stage, the output data of the first stage is subjected to the operation of the function π2 by using the system key 5 having the 32-bit width, and the output of the upper 32-bit width is output as the work key 5. Next, in the third stage, the output data of the second stage is subjected to the calculation of the function π3 using the system key 6 and the system key 7, and the output of the lower 32 bits width is output as the work key 6. Further, in the fourth stage, the output data of the third stage is subjected to the calculation of the function π4 by using the system key 8, and the output of the upper 32 bit width is output as the work key 7. Further, in the succeeding arithmetic stage 134, the arithmetic stage 1
The output data of 33 is subjected to the operation of the function π1, and the lower 32
The output of the bit width is output as the work key 8.

【0022】[0022]

【発明が解決しようとする課題】ところで、上述したデ
ィジタルデータの暗号化・解読化方式においては、高速
化が要求されており、暗号化装置等をLSI化すること
が要望されている。しかしながら、昨今LSIの高集積
化が進んだとはいえ、暗号アルゴリズムや鍵スケジュー
ルのアルゴリズムは図8、図9に示すようにステップ数
が多く複雑であって、LSI化する時の回路規模が大き
くなる。このため、歩留等の問題でLSIのコストが上
昇するという問題点があった。
By the way, in the above-mentioned digital data encryption / decryption system, high speed is required, and it is desired to integrate the encryption device into an LSI. However, although the LSI has been highly integrated recently, the encryption algorithm and the key schedule algorithm have many steps and are complicated as shown in FIGS. 8 and 9, and the circuit scale when the LSI is implemented is large. Become. Therefore, there is a problem that the cost of the LSI increases due to a problem such as yield.

【0023】そこで、本発明は所定の暗号アルゴリズム
および鍵スケジュールのアルゴリズムを簡易な構成で実
行することのできる暗号化方法および暗号化装置を提供
することを目的としている。
Therefore, an object of the present invention is to provide an encryption method and an encryption device which can execute a predetermined encryption algorithm and a key schedule algorithm with a simple structure.

【0024】[0024]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明の暗号化方法は、暗号アルゴリズムを実行
することによりワーク鍵を生成するワーク鍵生成ステッ
プと、該ワーク鍵生成ステップで生成されたワーク鍵を
用いて、平文に所定の暗号アルゴリズムの暗号処理を施
すことにより暗号文を作成する暗号処理ステップとを備
え、前記ワーク鍵生成ステップと前記暗号処理ステップ
で実行される前記暗号アルゴリズムとを、前記暗号アル
ゴリズムの一部を実行する演算コアにおける演算を、複
数回循環させることにより実行するようにしている。
In order to achieve the above object, the encryption method of the present invention comprises a work key generation step of generating a work key by executing an encryption algorithm, and a work key generation step. A cryptographic processing step of creating a ciphertext by performing cryptographic processing of a plaintext with a predetermined cryptographic algorithm using the generated work key, the work key generating step and the ciphertext executed in the cryptographic processing step. The algorithm is executed by circulating the operation in the arithmetic core that executes a part of the cryptographic algorithm a plurality of times.

【0025】さらに、本発明の暗号化装置は、暗号アル
ゴリズムの一部を実行する演算コアと、該演算コアによ
り演算処理される入力データを選択して、該演算コアに
入力する第1選択手段と、該演算コアの演算時に必要な
鍵情報を選択して、該演算コアに供給する第2選択手段
と、前記暗号アルゴリズムを実行中に該演算コアにより
生成された鍵情報を出力する鍵情報出力手段と、暗号ア
ルゴリズムを実行することにより、該演算コアにより暗
号化された出力データを出力すると共に、該出力データ
を前記第1選択手段に入力する出力手段と、前記第1選
択手段、前記第2選択手段、および前記鍵情報出力手段
を制御することにより、前記演算コアによりワーク鍵を
生成できると共に、暗号化処理を行うことができるよう
にしている。
Further, the encryption apparatus of the present invention is a first selection means for selecting an arithmetic core for executing a part of an encryption algorithm and input data to be arithmetically processed by the arithmetic core, and inputting to the arithmetic core. And second selection means for selecting the key information necessary for the arithmetic operation of the arithmetic core and supplying it to the arithmetic core, and key information for outputting the key information generated by the arithmetic core during execution of the cryptographic algorithm. Output means for executing the cryptographic algorithm to output the output data encrypted by the arithmetic core, and inputting the output data to the first selecting means; the first selecting means; By controlling the second selection means and the key information output means, the work key can be generated by the arithmetic core and the encryption processing can be performed.

【0026】このような本発明の暗号化方法および暗号
化装置によれば、1つの演算コアを循環して使用するこ
とにより、暗号アルゴリズムを実行することができるの
で暗号化処理を簡易な構成で行うことができる。また、
鍵スケジュールのアルゴリズムも、暗号アルゴリズムを
実行する1つの演算コアを使用して実行することができ
るので、一層簡易な構成で暗号化処理を行うことができ
るようになる。
According to the encryption method and the encryption device of the present invention as described above, the encryption algorithm can be executed by cyclically using one arithmetic core, so that the encryption process can be performed with a simple structure. It can be carried out. Also,
The algorithm of the key schedule can also be executed by using one arithmetic core that executes the encryption algorithm, so that the encryption process can be performed with a simpler configuration.

【0027】[0027]

【発明の実施の形態】本発明の暗号化方法を実現する本
発明の暗号化装置の実施の形態の構成を示すブロック図
を図1に示す。この図1の構成は、暗号化処理の暗号ア
ルゴリズムとワーク鍵を生成する鍵スケジュールのアル
ゴリズムとを実行することができる。図1において、演
算コア部11は後述するように暗号アルゴリズムと鍵ス
ケジュールのアルゴリズムの基本的な演算を行ってお
り、演算コア部11を循環させて繰り返し演算を行うこ
とにより、暗号アルゴリズムと鍵スケジュールのアルゴ
リズムを実行するようにしている。
FIG. 1 is a block diagram showing a configuration of an embodiment of an encryption apparatus of the present invention which realizes an encryption method of the present invention. The configuration of FIG. 1 can execute an encryption algorithm for encryption processing and a key schedule algorithm for generating a work key. In FIG. 1, the arithmetic core unit 11 performs basic arithmetic operations of a cryptographic algorithm and a key schedule algorithm, as will be described later, and the arithmetic core unit 11 is circulated to repeatedly perform arithmetic operations to obtain a cryptographic algorithm and a key schedule. I'm trying to run the algorithm.

【0028】第1の選択部12には、64ビット幅のデ
ータ鍵と、64ビットブロックの入力データと、演算コ
ア部11により演算された出力データとが入力されてい
る。第1の選択部12は制御部10の制御信号により、
入力されたいずれかのデータを選択して演算コア部11
に入力している。また、第2の選択部13には、256
ビットのシステム鍵がシステム鍵1〜4とシステム鍵5
〜8の2群に分けられて入力されていると共に、生成さ
れた256ビットのワーク鍵がワーク鍵1〜4とワーク
鍵5〜8の2群に分けられて入力されている。第2の選
択部13は制御部10の制御信号により、入力されたい
ずれかの群の鍵情報を選択して演算コア11部に供給し
ている。
A data key having a 64-bit width, 64-bit block input data, and output data calculated by the calculation core unit 11 are input to the first selecting unit 12. The first selection unit 12 receives the control signal from the control unit 10,
Arithmetic core unit 11 by selecting any of the input data
Is being entered. In addition, the second selection unit 13 has 256
Bit system keys are system keys 1-4 and system key 5
The input work is divided into two groups (1 to 8), and the generated 256-bit work keys are divided into two groups, that is, the work keys 1 to 4 and the work keys 5 to 8 and input. The second selection unit 13 selects the key information of any of the input groups according to the control signal of the control unit 10 and supplies the selected key information to the arithmetic core unit 11.

【0029】また、鍵情報出力部14は演算コア部11
により生成されて時系列的に出力されるワーク鍵を、制
御部10の制御の基でワーク鍵1〜3、ワーク鍵4〜
7、およびワーク鍵8の3群に分割して出力している。
なお、制御部10は、第1の選択部12、および第2の
選択部13を制御することにより、暗号化処理の暗号ア
ルゴリズムとワーク鍵を生成する鍵スケジュールのアル
ゴリズムとを演算コア部11において実行できるように
している。
The key information output unit 14 is the arithmetic core unit 11
The work keys that are generated by and are output in time series are work keys 1 to 3 and work keys 4 to 4 under the control of the control unit 10.
7 and the work key 8 are divided and output.
Note that the control unit 10 controls the first selection unit 12 and the second selection unit 13 so that the arithmetic core unit 11 calculates the encryption algorithm of the encryption process and the key schedule algorithm for generating the work key. Ready to run.

【0030】次に、図1に示す暗号化装置の動作を説明
すると、まず、制御部10は第1の選択部12を制御す
ることにより、64ビット幅のデータ鍵が選択されて演
算コア部11に入力されるようにする。同時に、第2の
選択部13を制御してそれぞれ32ビット幅の4つのシ
ステム鍵1〜4が演算コア部11に供給されるようにす
る。すると、演算コア部11は供給されたシステム鍵1
〜4を用いて、データ鍵に演算を施すことにより、それ
ぞれ32ビット幅のワーク鍵1〜3を順次生成して鍵情
報出力部14に供給する。この場合、演算コア部11で
は、前記した図9に示す演算段132で実行される演算
が行われる。
Next, the operation of the encryption device shown in FIG. 1 will be described. First, the control unit 10 controls the first selection unit 12 to select the 64-bit wide data key, and the arithmetic core unit. 11 to be input. At the same time, the second selection unit 13 is controlled so that four system keys 1 to 4 each having a 32-bit width are supplied to the arithmetic core unit 11. Then, the arithmetic core unit 11 receives the supplied system key 1
To 4 are used to perform arithmetic operations on the data key to sequentially generate work keys 1 to 3 each having a 32-bit width, and supply the work keys to the key information output unit 14. In this case, the arithmetic core unit 11 performs the arithmetic operation executed by the arithmetic stage 132 shown in FIG.

【0031】次いで、演算コア部11の64ビット幅の
演算出力が第1の選択部12において選択され、第2の
選択部13からそれぞれ32ビット幅の4つのシステム
鍵5〜8が演算コア部11に供給されるように、第2の
選択部13が制御される。これにより、演算コア部11
は供給されたそれぞれ32ビット幅のシステム鍵5〜8
を用いて、フィードバックされた32ビット幅の演算デ
ータに演算をさらに施すことにより、それぞれ32ビッ
ト幅のワーク鍵4〜7を順次生成して鍵情報出力部14
に供給する。この場合、演算コア部11では、前記した
図9に示す演算段133で実行される演算が行われる。
Next, the 64-bit wide arithmetic output of the arithmetic core unit 11 is selected by the first selecting unit 12, and the four system keys 5 to 8 each having a 32-bit width are selected from the second selecting unit 13 by the arithmetic core unit. The second selection unit 13 is controlled so as to be supplied to 11. As a result, the arithmetic core unit 11
Are the supplied system keys 5-8, each 32 bits wide
By further performing an operation on the fed back operation data of 32 bit width, the work keys 4 to 7 of 32 bit width are sequentially generated to generate the key information output unit 14.
To supply. In this case, the arithmetic core unit 11 performs the arithmetic operation executed by the arithmetic stage 133 shown in FIG.

【0032】続いて、演算コア部11より出力される3
2ビット幅の演算データが、再度第1の選択部12にお
いて選択されて演算コア部11に入力され、フィードバ
ックされた演算データに演算が施されることにより、3
2ビット幅のワーク鍵8が生成されて鍵情報出力部14
に供給される。この場合、演算コア部11では、前記し
た図9に示す演算段134で実行される演算が行われ
る。このように、演算コア部11は2回と1/4回循環
されて繰り返し演算が行われることにより、図9に示す
鍵スケジュールのアルゴリズムが実行され、生成された
256ビット幅のワーク鍵1〜8が、鍵情報出力部14
から出力されて、図示しないレジスタに格納されるよう
になる。
Subsequently, 3 output from the arithmetic core unit 11
The operation data having a 2-bit width is again selected by the first selection unit 12 and input to the operation core unit 11, and the operation data fed back is subjected to an operation, whereby 3
The 2-bit width work key 8 is generated and the key information output unit 14 is generated.
Is supplied to. In this case, the arithmetic core unit 11 performs the arithmetic operation executed by the arithmetic stage 134 shown in FIG. In this way, the arithmetic core unit 11 is cycled twice and ¼ times to repeatedly perform operations, thereby executing the algorithm of the key schedule shown in FIG. 8 is a key information output unit 14
Will be stored in a register (not shown).

【0033】次に、このように生成されたワーク鍵1〜
8を用いて入力データを暗号化する暗号化処理の暗号ア
ルゴリズムを、図1に示す暗号化装置が実行する動作を
説明する。まず、第1の選択部12は制御部10の制御
の基で64ビット幅の入力データを選択して演算コア部
11に入力する。同時に、第2の選択部13からは鍵ス
ケジュール処理により生成された256ビット幅のワー
ク鍵のうちのそれぞれ32ビット幅の4つのワーク鍵1
〜4が選択されて演算コア部11に供給される。これに
より、図8に示す演算段130の実行する暗号アルゴリ
ズムが実行され、演算コア部11から出力される。
Next, the work keys 1 to 1 thus generated are
An operation performed by the encryption device shown in FIG. 1 will be described as an encryption algorithm of an encryption process for encrypting input data using 8. First, the first selection unit 12 selects input data having a 64-bit width under the control of the control unit 10 and inputs it to the arithmetic core unit 11. At the same time, the second selection unit 13 outputs four work keys 1 each having a 32-bit width out of the work keys having a width of 256 bits generated by the key schedule process.
4 are selected and supplied to the arithmetic core unit 11. As a result, the cryptographic algorithm executed by the operation stage 130 shown in FIG. 8 is executed and output from the operation core unit 11.

【0034】次いで、第1の選択部12は演算コア部1
1からの出力データを選択して演算コア部11に入力す
る。同時に、第2の選択部13において鍵スケジュール
処理により生成された256ビット幅ワーク鍵のうちの
それぞれ32ビット幅の残る4つのワーク鍵5〜8が選
択されて演算コア部11に供給される。これにより、図
8に示す演算段131の実行する暗号アルゴリズムが実
行され、演算コア部11から出力される。この出力デー
タは、入力データを暗号処理した暗号データであり、こ
のまま出力してもよいが、暗号強度を高めるために、再
度演算コア11に入力してワーク鍵1〜8を用いて、図
8に示すような暗号化処理を繰返し行ってもよい。な
お、前記した鍵スケジュール処理および暗号化処理にお
ける第1の選択部12、第2の選択部13の切り換え制
御、および鍵情報出力部14の制御は制御部10により
行われている。
Next, the first selection unit 12 is the arithmetic core unit 1
The output data from 1 is selected and input to the arithmetic core unit 11. At the same time, the remaining four work keys 5 to 8 each having a 32-bit width are selected from the 256-bit width work keys generated by the key scheduling process in the second selecting unit 13 and supplied to the arithmetic core unit 11. As a result, the cryptographic algorithm executed by the operation stage 131 shown in FIG. 8 is executed and output from the operation core unit 11. This output data is encrypted data obtained by performing an encryption process on the input data, and may be output as it is. However, in order to increase the encryption strength, the output data is input to the arithmetic core 11 again and the work keys 1 to 8 are used. You may repeat the encryption process as shown in FIG. The control unit 10 controls the switching of the first selection unit 12 and the second selection unit 13 and the control of the key information output unit 14 in the above-described key schedule process and encryption process.

【0035】次に、演算コア部11の構成を図2に示
す。この図に示すように、演算コア部11は4段の演算
段11−1〜11〜4が縦続接続されて構成されてい
る。そして、初段の関数π1の演算を行う演算段11−
1にそれぞれ64ビット幅のデータのうちの上位32ビ
ットのデータを入力する入力端子21と、下位32ビッ
トのデータを入力する入力端子22を備えている。さら
に、第2段の関数π2の演算を行う演算段11−2に供
給する32ビット幅の鍵情報の入力端子25と、第3段
の関数π3の演算を行う演算段11−3に供給する2つ
の32ビット幅の鍵情報の入力端子26,27と、第4
段の関数π4の演算を行う演算段11−4に供給する3
2ビット幅の鍵情報の入力端子28が備えられている。
Next, the configuration of the arithmetic core unit 11 is shown in FIG. As shown in this figure, the arithmetic core unit 11 is configured by connecting four arithmetic stages 11-1 to 11-4 in cascade. Then, the operation stage 11- for performing the operation of the first stage function π1
1 has an input terminal 21 for inputting upper 32-bit data of 64-bit width data and an input terminal 22 for inputting lower 32-bit data. Further, the 32-bit width key information input terminal 25 to be supplied to the operation stage 11-2 for performing the function π2 at the second stage and the operation stage 11-3 for performing the operation at the third stage function π3 are supplied. Two 32-bit wide key information input terminals 26 and 27, and a fourth
3 to be supplied to the operation stage 11-4 which performs the operation of the stage function π4
A 2-bit width key information input terminal 28 is provided.

【0036】さらに、第4段の演算段11−4からは4
段の演算段により演算された演算データの上位32ビッ
トが出力される出力端子23と、下位32ビットが出力
される出力端子24とが備えられている。さらにまた、
初段の演算段11−1から出力される下位32ビットの
演算データの出力端子29と、第2段の演算段11−2
から出力される上位32ビットの演算データの出力端子
30と、第3段の演算段11−3から出力される下位3
2ビットの演算データの出力端子31と、第4段の演算
段11−4から出力される上位32ビットの演算データ
の出力端子32とが備えられている。
Further, the fourth operation stage 11-4 to 4
An output terminal 23 for outputting the upper 32 bits of the operation data operated by the operation stages and an output terminal 24 for outputting the lower 32 bits are provided. Furthermore,
An output terminal 29 for the operation data of the lower 32 bits output from the first operation stage 11-1 and the second operation stage 11-2.
From the output terminal 30 for the upper 32-bit operation data output from the third operation step 11-3
An output terminal 31 for 2-bit operation data and an output terminal 32 for upper 32-bit operation data output from the fourth operation stage 11-4 are provided.

【0037】このような演算コア部11において鍵スケ
ジュール処理を実行するときは、まず、入力端子21,
22には64ビット幅のデータ鍵が32ビット幅の上位
ビットと32ビット幅の下位ビットに2分割されて入力
される。さらに、入力端子25〜28に256ビット幅
のシステム鍵が32ビット幅に8分割された4つのシス
テム鍵1〜4がそれぞれ入力される。これにより、各演
算段11−1〜11−4において演算が行われ、各演算
段11−2〜11−4の演算結果がワーク鍵1〜3とし
て出力端子30〜32から出力される。
When executing the key schedule process in the arithmetic core unit 11 as described above, first, the input terminals 21,
A data key having a 64-bit width is divided into two parts, that is, a high-order bit having a 32-bit width and a low-order bit having a 32-bit width, and the data key is input to 22. Further, four system keys 1 to 4 obtained by dividing the 256-bit width system key into eight 32-bit widths are input to the input terminals 25 to 28, respectively. As a result, the arithmetic operations are performed in the arithmetic stages 11-1 to 11-4, and the arithmetic results of the arithmetic stages 11-2 to 11-4 are output from the output terminals 30 to 32 as the work keys 1 to 3.

【0038】このようにして演算コア部11において4
段の演算が終了すると、出力端子23,24から出力さ
れる演算データがフィードバックされて入力端子21,
22に入力される。この時、入力端子25〜28に32
ビット幅に8分割された残る4つのシステム鍵5〜8が
それぞれ入力される。続いて、各演算段11−1〜11
−4において演算が行われ、各演算段11−1〜11−
4の演算結果がワーク鍵4〜7として出力端子29〜3
2から出力される。さらに、演算コア部11の出力端子
23,24から出力される演算データがフィードバック
されて入力端子21,22に入力され、初段の演算段1
1−1において関数π1の演算が行われ、出力端子29
からワーク鍵8が出力される。このように、演算コア部
11の処理が2回と1/4回循環されて行われることに
より、ワーク鍵1〜8を生成する鍵スケジュール処理が
演算コア部11により実行される。
In this way, in the arithmetic core unit 11, 4
When the calculation of the stage is completed, the calculation data output from the output terminals 23 and 24 are fed back to the input terminals 21 and 24.
22. At this time, 32 to the input terminals 25 to 28
The remaining four system keys 5 to 8 divided into 8 bit widths are respectively input. Then, each operation stage 11-1 to 11
-4, the operation is performed in each operation stage 11-1 to 11-
The calculation result of 4 is output keys 29 to 3 as work keys 4 to 7.
It is output from 2. Further, the operation data output from the output terminals 23 and 24 of the operation core unit 11 are fed back and input to the input terminals 21 and 22, and the first operation stage 1
The calculation of the function π1 is performed in 1-1, and the output terminal 29
Outputs the work key 8. In this way, the processing of the arithmetic core unit 11 is cycled twice and ¼ times, so that the key schedule process for generating the work keys 1 to 8 is executed by the arithmetic core unit 11.

【0039】次に、演算コア部11が暗号処理を行う場
合を説明すると、まず、入力端子21,22には64ビ
ット幅の入力データが32ビット幅の上位ビットと32
ビット幅の下位ビットに2分割されて入力される。さら
に、入力端子25〜28に256ビット幅のワーク鍵が
32ビット幅に8分割された4つのワーク鍵1〜4がそ
れぞれ入力される。これにより、各演算段11−1〜1
1−4において演算が行われ、演算データが出力端子2
3,24から出力される。
Next, description will be made regarding the case where the arithmetic core unit 11 performs the cryptographic processing. First, the input data of the 64-bit width is input to the input terminals 21 and 22 and the upper bits of the 32-bit width and the high-order bits of the 32-bit width.
It is input after being divided into two lower bits of the bit width. Further, four work keys 1 to 4 obtained by dividing a work key having a 256-bit width into eight into 32-bit width are input to the input terminals 25 to 28, respectively. Thereby, each operation stage 11-1 to 1
Calculation is performed in 1-4, and the calculation data is output to the output terminal 2
It is output from 3, 24.

【0040】このようにして演算コア部11において4
段の演算が終了すると、出力端子23,24から出力さ
れる演算データがフィードバックされて入力端子21,
22に入力される。この時、入力端子25〜28に32
ビット幅に8分割された残る4つのワーク鍵5〜8がそ
れぞれ入力される。これにより、各演算段11−1〜1
1−4において演算が行われ、暗号化された暗号データ
が出力端子23,24から出力される。さらに、暗号化
された暗号データの暗号強度を高めるために、演算コア
部11の出力端子23,24から出力された暗号データ
がフィードバックされて入力端子21,22に入力さ
れ、さらに演算コア部11において前述した暗号アルゴ
リズムの演算が繰り返し行われる。このようにして、演
算コア部11の処理が少なくとも2回循環されて行われ
ることにより、暗号化処理が演算コア部11において実
行される。
In this way, in the arithmetic core unit 11, 4
When the calculation of the stage is completed, the calculation data output from the output terminals 23 and 24 are fed back to the input terminals 21 and 24.
22. At this time, 32 to the input terminals 25 to 28
The remaining four work keys 5 to 8 divided into 8 bit widths are respectively input. Thereby, each operation stage 11-1 to 1
The calculation is performed in 1-4, and the encrypted encrypted data is output from the output terminals 23 and 24. Further, in order to increase the encryption strength of the encrypted encrypted data, the encrypted data output from the output terminals 23 and 24 of the arithmetic core unit 11 is fed back and input to the input terminals 21 and 22. In the above, the calculation of the cryptographic algorithm described above is repeatedly performed. In this way, the encryption processing is executed in the arithmetic core unit 11 by the processing of the arithmetic core unit 11 being cycled at least twice.

【0041】次に、演算コア部11が上述した鍵スケジ
ュール処理および暗号化処理を行う場合のフローチャー
トを図3に示す。このフローチャートにおいて、演算コ
ア部11の処理がスタートされると、ステップS10に
てシステム鍵の設定が行われる。この処理では第2の選
択部13に入力されているシステム鍵が選択されて演算
コア部11に供給される。次いで、ステップS11にて
データ鍵の設定が行われる。この処理では第1の選択部
12に入力されているデータ鍵が選択されて演算コア部
11に入力される。そして、ステップS12にて入力さ
れているデータ鍵にシステム鍵を用いて、前記図9に示
す鍵スケジュール処理のアルゴリズムが実行される。
Next, FIG. 3 shows a flowchart when the arithmetic core unit 11 performs the above-mentioned key schedule process and encryption process. In this flowchart, when the processing of the arithmetic core unit 11 is started, the system key is set in step S10. In this process, the system key input to the second selection unit 13 is selected and supplied to the arithmetic core unit 11. Next, in step S11, the data key is set. In this process, the data key input to the first selection unit 12 is selected and input to the arithmetic core unit 11. Then, the algorithm of the key schedule process shown in FIG. 9 is executed using the system key as the data key input in step S12.

【0042】この処理により生成されたワーク鍵は、ス
テップS18にて鍵情報出力部14から出力されて図示
しないレジスタに格納される。そして、ステップS13
にて第1の選択部12に入力されている64ビットの入
力データが選択されて演算コア部11に入力され、ステ
ップS14にて、前記生成されたワーク鍵が第2の選択
部13により選択されて演算コア部11に供給されて、
前記図8に示す暗号化処理のアルゴリズムが実行され
る。この暗号化処理が終了すると、暗号化データが演算
コア部11から出力され、ステップS16にて演算コア
部11において所定回数循環して暗号化処理が行われた
か否かが判定される。ここで、予め定めた回数循環され
る演算が終了していない場合は、NOと判定されてステ
ップS13に戻り、第1の選択部12にて演算コア部1
1から出力されたデータが選択されて演算コア部11に
入力されるようになる。
The work key generated by this processing is output from the key information output unit 14 in step S18 and stored in a register (not shown). Then, step S13
The 64-bit input data input to the first selection unit 12 is selected and input to the arithmetic core unit 11, and the generated work key is selected by the second selection unit 13 in step S14. Is supplied to the arithmetic core unit 11,
The encryption processing algorithm shown in FIG. 8 is executed. When this encryption process is completed, the encrypted data is output from the arithmetic core unit 11, and it is determined in step S16 whether or not the arithmetic core unit 11 circulates a predetermined number of times to perform the encryption process. Here, when the calculation which is circulated a predetermined number of times has not ended, it is determined as NO and the process returns to step S13, and the first selection unit 12 calculates the calculation core unit 1
The data output from 1 is selected and input to the arithmetic core unit 11.

【0043】そして、ステップS14にて前述のように
ワーク鍵を用いて暗号化処理の暗号アルゴリズムが実行
されることになる。このような演算が演算コア部11に
て所定回数実行されると、ステップS16にてYESと
判定されてステップS17に進む。そして、ステップS
17にて暗号化処理された暗号データが出力され、次の
64ビットの入力データが取り込まれてステップS13
に戻り、前述した処理が繰り返し行われるようになる。
Then, in step S14, the encryption algorithm of the encryption process is executed using the work key as described above. When such a calculation is executed by the calculation core unit 11 a predetermined number of times, YES is determined in step S16 and the process proceeds to step S17. And step S
The encrypted data encrypted in step 17 is output, the next 64-bit input data is fetched, and step S13 is performed.
Then, the processing described above is repeated.

【0044】以上説明したように、本発明においては演
算コアを物理的に1つだけ備えていればよく、この演算
コアに入力データおよび鍵情報を、実行する処理に応じ
て、所定タイミングで切り換えて供給することにより、
鍵スケジュール処理および暗号化処理を行うことができ
る。また、以上の説明では64ビットブロックの入力デ
ータを64ビットのデータ鍵および256ビットのシス
テム鍵を用いて、64ビットブロックの暗号化データを
生成するようにしたが、本発明はこのビット数に限定さ
れるされるものではなく任意のビット数とすることがで
きる。
As described above, in the present invention, it is sufficient to physically have only one arithmetic core, and input data and key information are switched to this arithmetic core at a predetermined timing according to the processing to be executed. By supplying
Key scheduling processing and encryption processing can be performed. In the above description, 64-bit block input data is generated using 64-bit data key and 256-bit system key to generate 64-bit block encrypted data. The number of bits is not limited and can be any number.

【0045】[0045]

【発明の効果】本発明は以上のように構成されているの
で、1つの演算コアを循環して使用することにより、暗
号アルゴリズムを実行することができるので暗号化処理
を簡易な構成で行うことができる。また、鍵スケジュー
ルのアルゴリズムも、暗号アルゴリズムを実行する1つ
の演算コアを使用して実行することができるので、一層
簡易な構成で暗号化処理を行うことができるようにな
る。従って、本発明の暗号化装置をLSI化した時に、
大幅なゲート数を削減することができるため、そのコス
トを低廉にすることができる。
Since the present invention is configured as described above, the encryption algorithm can be executed by cyclically using one arithmetic core, and therefore the encryption processing can be performed with a simple configuration. You can Also, the algorithm of the key schedule can be executed by using one arithmetic core that executes the encryption algorithm, so that the encryption process can be performed with a simpler configuration. Therefore, when the encryption device of the present invention is integrated into an LSI,
Since the number of gates can be significantly reduced, the cost can be reduced.

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

【図1】本発明の暗号化方法を実行する本発明の暗号化
装置の実施の形態の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of an encryption device of the present invention which executes an encryption method of the present invention.

【図2】本発明における演算コアの詳細な構成を示すブ
ロック図である。
FIG. 2 is a block diagram showing a detailed configuration of an arithmetic core according to the present invention.

【図3】本発明における演算コアが実行するフローチャ
ートである。
FIG. 3 is a flowchart executed by an arithmetic core according to the present invention.

【図4】従来の暗号化のアルゴリズムを示す図である。FIG. 4 is a diagram showing a conventional encryption algorithm.

【図5】従来の解読化のアルゴリズムを示す図である。FIG. 5 is a diagram showing a conventional decryption algorithm.

【図6】CBCモードとOFBモードの暗号化利用モー
ドの構成を示す図である。
FIG. 6 is a diagram showing a configuration of an encryption use mode of a CBC mode and an OFB mode.

【図7】従来の暗号化・解読化方式の構成を示す図であ
る。
FIG. 7 is a diagram showing a configuration of a conventional encryption / decryption system.

【図8】従来の暗号化処理の暗号アルゴリズムを示す図
である。
FIG. 8 is a diagram showing an encryption algorithm of a conventional encryption process.

【図9】従来の鍵スケジュール処理のアルゴリズムを示
す図である。
FIG. 9 is a diagram showing an algorithm of a conventional key schedule process.

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

10 制御部、11 演算コア部、12 第1の選択
部、13 第2の選択部、14 鍵情報出力部、21,
22,25〜28 入力端子、23,24,29〜32
出力端子
10 control unit, 11 arithmetic core unit, 12 first selection unit, 13 second selection unit, 14 key information output unit, 21
22, 25-28 input terminals, 23, 24, 29-32
Output terminal

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 9/18 H04L 9/00 651 ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification number Office reference number FI Technical display location H04L 9/18 H04L 9/00 651

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 暗号アルゴリズムを実行することによ
りワーク鍵を生成するワーク鍵生成ステップと、 該ワーク鍵生成ステップで生成されたワーク鍵を用い
て、平文に所定の暗号アルゴリズムの暗号処理を施すこ
とにより暗号文を作成する暗号処理ステップとを備え、 前記ワーク鍵生成ステップと前記暗号処理ステップで実
行される前記暗号アルゴリズムとを、前記暗号アルゴリ
ズムの一部を実行する演算コアにおける演算を、複数回
循環させることにより実行するようにしたことを特徴と
する暗号化方法。
1. A work key generation step of generating a work key by executing a cryptographic algorithm, and a cryptographic process of a predetermined cryptographic algorithm for plain text using a work key generated in the work key generation step. And a cryptographic processing step for creating a ciphertext according to the above, wherein the work key generation step and the cryptographic algorithm executed in the cryptographic processing step are performed in an arithmetic core that executes a part of the cryptographic algorithm a plurality of times. An encryption method characterized by being executed by circulating.
【請求項2】 暗号アルゴリズムの一部を実行する演
算コアと、 該演算コアにより演算処理される入力データを選択し
て、該演算コアに入力する第1選択手段と、 該演算コアの演算時に必要な鍵情報を選択して、該演算
コアに供給する第2選択手段と、 前記暗号アルゴリズムを実行中に、該演算コアにより生
成された鍵情報を出力する鍵情報出力手段と、 暗号アルゴリズムを実行することにより、該演算コアに
より暗号化された出力データを出力すると共に、該出力
データを前記第1選択手段に入力する出力手段と、 前記第1選択手段、前記第2選択手段、および前記鍵情
報出力手段を制御することにより、前記演算コアにより
ワーク鍵を生成できると共に、暗号化処理を行うことが
できるようにしたことを特徴とする暗号化装置。
2. An arithmetic core that executes a part of a cryptographic algorithm, a first selection unit that selects input data that is arithmetically processed by the arithmetic core, and inputs the selected input data to the arithmetic core; Second selection means for selecting necessary key information and supplying it to the arithmetic core; key information output means for outputting the key information generated by the arithmetic core during execution of the encryption algorithm; By executing, the output unit that outputs the output data encrypted by the arithmetic core and inputs the output data to the first selecting unit, the first selecting unit, the second selecting unit, and the An encryption device, characterized in that a work key can be generated by the arithmetic core and an encryption process can be performed by controlling the key information output means.
JP8060326A 1996-02-23 1996-02-23 Encoding method and device Withdrawn JPH09230788A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8060326A JPH09230788A (en) 1996-02-23 1996-02-23 Encoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8060326A JPH09230788A (en) 1996-02-23 1996-02-23 Encoding method and device

Publications (1)

Publication Number Publication Date
JPH09230788A true JPH09230788A (en) 1997-09-05

Family

ID=13138945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8060326A Withdrawn JPH09230788A (en) 1996-02-23 1996-02-23 Encoding method and device

Country Status (1)

Country Link
JP (1) JPH09230788A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199156A (en) * 2006-01-24 2007-08-09 Sony Corp Encryption processing device, equipment and method for manufacturing encryption processing device, and computer program
JP2008028575A (en) * 2006-07-19 2008-02-07 Hitachi Kokusai Electric Inc Receiver
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199156A (en) * 2006-01-24 2007-08-09 Sony Corp Encryption processing device, equipment and method for manufacturing encryption processing device, and computer program
JP2008028575A (en) * 2006-07-19 2008-02-07 Hitachi Kokusai Electric Inc Receiver
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Similar Documents

Publication Publication Date Title
EP0802653B1 (en) Multi-cycle non-parallel data encryption engine
US8416947B2 (en) Block cipher using multiplication over a finite field of even characteristic
EP1689113B1 (en) Block cipher apparatus using auxiliary transformation
US7613297B2 (en) Method and apparatus for data encryption
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US6732271B1 (en) Method of deciphering ciphered data and apparatus for same
US6108421A (en) Method and apparatus for data encryption
JP3769804B2 (en) Decoding method and electronic device
US20070183594A1 (en) Data processing apparatus for performing a cryptographic method
CN107896149A (en) 128 symmetric encryption methods based on three group operationes
JPH10173646A (en) Ciphering assisting method, decoding assisting method and device using them
US20240097880A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
JPH0738558A (en) Ciphering device, communication system using the same and method therefor
JPH09230788A (en) Encoding method and device
JP2001177518A (en) Enciphering method, and decoding method and device
JP2002510058A (en) Method for cryptographic conversion of binary data blocks
JPH1117673A (en) Common key encryption communication method and its communication network
WO2022096141A1 (en) Method for processing encrypted data
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
Kumar et al. A comparative analysis of encryption algorithms for better utilization
JP2002108205A (en) Block ciphering method and decoding method
JP2000047580A (en) Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
JPH09233065A (en) Ciphering device and ciphering method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506