JP2002091296A - Device and program for generating expanded key, and recording medium - Google Patents

Device and program for generating expanded key, and recording medium

Info

Publication number
JP2002091296A
JP2002091296A JP2001211558A JP2001211558A JP2002091296A JP 2002091296 A JP2002091296 A JP 2002091296A JP 2001211558 A JP2001211558 A JP 2001211558A JP 2001211558 A JP2001211558 A JP 2001211558A JP 2002091296 A JP2002091296 A JP 2002091296A
Authority
JP
Japan
Prior art keywords
intermediate data
key
expanded
generating
groups
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.)
Granted
Application number
JP2001211558A
Other languages
Japanese (ja)
Other versions
JP3942073B2 (en
Inventor
Takeshi Shimoyama
武司 下山
Koichi Ito
孝一 伊藤
Masahiko Takenaka
正彦 武仲
Naoya Torii
直哉 鳥居
Jun Yajima
純 矢嶋
Hitoshi Yanami
仁史 屋並
Kazuhiro Yokoyama
和弘 横山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001211558A priority Critical patent/JP3942073B2/en
Publication of JP2002091296A publication Critical patent/JP2002091296A/en
Application granted granted Critical
Publication of JP3942073B2 publication Critical patent/JP3942073B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve security of a common key system relating to an expanded key generation device for generating an expanded key from a ciphered key by generating intermediate data from the ciphered key at a 1st step, selecting an arbitrary data from the intermediate data at a 2nd step to process it by a irreversible conversion and generating an expanded key of the arbitrary number of steps, and speedily generating expanded key of the arbitrary steps through the irreversible conversion. SOLUTION: This device is configured so as to be provided with an intermediate data generating means for dividing a bit string of an inputted cryptographic key into plural groups, generating an operation result of a plural number i by processing these divided groups of the bit strings each by arithmetic operation plural (i) times, performing an arithmetic operation for gathering the operation results together respectively among the plural groups concerning the operation results of the plural number i of each of these generated groups, and generating the plural number (i) of the intermediate data, and an expanded key generation for selecting one of the plural number (i) of the intermediate data based on the number of steps r of a specified expanded key, and processing the selected intermediate data by the irreversible conversion to generate the expanded key of the number of steps r.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、暗号鍵から拡大鍵
を生成する拡大鍵生成装置、拡大鍵生成プログラムおよ
び記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an extended key generation device for generating an extended key from an encryption key, an extended key generation program, and a recording medium.

【0002】[0002]

【従来の技術】一般的な共通鍵暗号による暗号化処理の
構成を図8に示す。図8の暗号化装置は、平文と暗号鍵
を入力とし、暗号文を出力するものであって、暗号化処
理装置と拡大鍵生成装置とから構成されている。暗号化
処理装置は、暗号化処理1から暗号化処理nの順番に、
n段階の処理を行なう。拡大鍵処理装置は、入力された
暗号鍵をもとに、n段階の暗号化処理のそれぞれで用い
られる拡大鍵1から拡大鍵nの生成を順次行なう。この
拡大鍵の生成は、重要な問題であり、高速性と安全性と
が要求されている。
2. Description of the Related Art FIG. 8 shows the configuration of an encryption process using general common key encryption. The encryption device shown in FIG. 8 receives a plaintext and an encryption key as input and outputs an encrypted text, and is composed of an encryption processing device and an extended key generation device. The encryption processing device sequentially performs encryption processing 1 to encryption processing n,
An n-stage process is performed. The expanded key processing device sequentially generates an expanded key 1 to an expanded key n used in each of the n-stage encryption processes based on the input encryption key. The generation of the extended key is an important problem, and high speed and security are required.

【0003】従来、高速処理可能な方式として、DES
の拡大鍵生成方式がある。このDESの拡大鍵生成方式
は、図9の右側の拡大鍵生成装置に示すように、暗号鍵
を入力とし、巡回シフトとビット転置のみにより拡大鍵
1から拡大鍵nの生成を行なうため、処理が高速であ
る。
[0003] Conventionally, as a system capable of high-speed processing, DES
There is an extended key generation method. In this expanded key generation method of DES, as shown in the expanded key generation apparatus on the right side of FIG. 9, an encryption key is input and an expanded key n is generated from an expanded key 1 only by cyclic shift and bit transposition. Is fast.

【0004】また、安全性がより高い方式として、 M
ARSの拡大鍵生成方式(MARS-acandidate cipher f
or AES,THE First AES Conference 1998 p1-p9)
がある。
[0004] As a system with higher security, M
ARS extended key generation method (MARS-acandidate cipher f
or AES, THE First AES Conference 1998 p1-p9)
There is.

【0005】[0005]

【発明が解決しようとする課題】上述した前者の図9の
DESの拡大鍵生成方式は、循環シフトとビット転置の
み(図9の右側の*の部分参照)により拡大鍵の生成を
行なうため、処理が高速である反面、拡大鍵のビット情
報から暗号鍵のビット情報を容易に得ることができてし
まうという問題がある。このため、n個の拡大鍵のうち
1個でも情報が漏洩した場合、暗号鍵の情報まで漏洩す
ることとなり、安全性に問題があった。
In the former DES extended key generation method shown in FIG. 9 described above, an extended key is generated only by cyclic shift and bit transposition (see the * portion on the right side of FIG. 9). Although the processing is fast, there is a problem that the bit information of the encryption key can be easily obtained from the bit information of the expanded key. For this reason, if even one of the n expanded keys leaks information, the information of the encryption key also leaks, and there is a problem in security.

【0006】また、上述した後者のMARSの拡大鍵生
成方式は、拡大鍵の情報から暗号鍵の情報を簡単に得る
ことができないので、安全性が高い反面、多くの演算を
繰り返すため、高速に処理を行なうことができないとい
う問題があった。
The above-mentioned MARS extended key generation method cannot easily obtain the encryption key information from the extended key information, so that it is highly secure. There was a problem that processing could not be performed.

【0007】本発明は、これらの問題を解決するため、
第1段階で暗号鍵から中間データを生成し、第2段階で
中間データから任意のデータを選択して非可逆変換を行
ない任意の段数の拡大鍵を生成し、任意段の拡大鍵を非
可逆変換を経て高速生成して共通鍵方式の安全性を高め
ることを目的としている。
[0007] The present invention solves these problems,
In the first step, intermediate data is generated from the encryption key. In the second step, any data is selected from the intermediate data and irreversible conversion is performed to generate an expanded key of an arbitrary number of stages. The purpose is to increase the security of the common key system by high-speed generation after conversion.

【0008】[0008]

【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、暗号化装
置1は、平文および暗号鍵を入力とし、暗号文を出力す
るものであって、拡大鍵処理装置3などから構成される
ものである。
Means for solving the problem will be described with reference to FIG. In FIG. 1, an encryption device 1 receives a plaintext and an encryption key as input and outputs an encrypted text, and includes an extended key processing device 3 and the like.

【0009】拡大鍵処理装置3は、暗号鍵から拡大鍵を
生成するものであって、ここでは、中間データ生成装置
4および拡大鍵生成装置5などから構成されるものであ
る。中間データ生成装置4は、暗号鍵を入力とし、複数
iの中間データを生成するものである。
The expanded key processing device 3 generates an expanded key from an encryption key. In this example, the expanded key processing device 3 includes an intermediate data generating device 4 and an expanded key generating device 5. The intermediate data generating device 4 receives the encryption key and generates a plurality of i intermediate data.

【0010】拡大鍵生成装置5は、複数iの中間データ
から指定された段数rの拡大鍵を生成するものである。
次に、動作を説明する。
The expanded key generation device 5 generates an expanded key of the specified number r of stages from a plurality of i intermediate data.
Next, the operation will be described.

【0011】中間データ生成装置4が入力された暗号鍵
のビット列を複数のグループに分割し、これら分割した
各グループのビット列に演算を複数回iそれぞれ行なっ
て複数iの演算結果を生成し、これら生成した各グルー
プ毎の複数iの演算結果について複数のグループ間で該
当演算結果をそれぞれ1つにまとめる演算を行ない、複
数iの中間データを生成し、拡大鍵生成装置5が指定さ
れた拡大鍵の段数rをもとに複数iの中間データから1
つを選択し、選択した中間データを非可逆変換して段数
rの拡大鍵を生成するようにしている。
The intermediate data generation device 4 divides the input bit sequence of the encryption key into a plurality of groups, performs a plurality of operations on the bit sequences of each of the divided groups a plurality of times i to generate a plurality i of operation results. An operation is performed on the generated plurality of i operation results for each group to combine the operation results into a single unit among the plurality of groups, to generate a plurality of i intermediate data, and the expanded key generation device 5 specifies the specified expanded key. From the intermediate data of a plurality i based on the number r of stages
One of them is selected, and the selected intermediate data is irreversibly converted to generate an expanded key with the number of stages r.

【0012】この際、入力された暗号鍵のビット列とし
て、入力された暗号鍵のビット列に非線型関数を演算し
たビット列とするようにしている。また、1つにまとめ
る演算として、論理演算を行なうようにしている。
At this time, the bit string of the input encryption key is a bit string obtained by operating a non-linear function on the bit string of the input encryption key. In addition, a logical operation is performed as a single operation.

【0013】また、1つにまとめる演算を行なった後、
非線型関数を演算して中間データを生成するようにして
いる。また、選択した中間データについて段数rに従っ
た転置を行なった後に非可逆変換を行なうようにしてい
る。
[0013] After performing an operation to combine them into one,
A non-linear function is operated to generate intermediate data. Further, after performing transposition of the selected intermediate data according to the number of stages r, irreversible conversion is performed.

【0014】従って、第1段階で暗号鍵から中間データ
を生成し、第2段階で中間データから任意のデータを選
択して非可逆変換を行ない任意の段数の拡大鍵を生成す
ることにより、拡大鍵を非可逆変換を経て高速生成して
共通鍵方式の安全性を高めることが可能となる。
Therefore, in the first stage, intermediate data is generated from the encryption key, and in the second stage, arbitrary data is selected from the intermediate data and irreversible conversion is performed to generate an expanded key of an arbitrary number of stages, thereby expanding the data. The key can be generated at a high speed through irreversible transformation to increase the security of the common key system.

【0015】[0015]

【発明の実施の形態】次に、図1から図7を用いて本発
明の実施の形態および動作を順次詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment and operation of the present invention will be described in detail sequentially with reference to FIGS.

【0016】図1は、本発明のシステム構成図を示す。
図1において、暗号化装置1は、平文および暗号鍵を入
力とし、暗号文を出力するものであって、暗号化処理装
置2および拡大鍵処理装置3などから構成されるもので
ある。
FIG. 1 shows a system configuration diagram of the present invention.
In FIG. 1, an encryption device 1 receives a plaintext and an encryption key as input, and outputs an encrypted text, and includes an encryption processing device 2 and an extended key processing device 3.

【0017】暗号化処理装置2は、拡大鍵1から拡大鍵
nをもとに暗号化処理(1)から暗号化処理(n)のn
段階の処理を行ない、暗号文を作成して出力するもので
ある。暗号化処理(1)から暗号化処理(n)は、拡大
鍵処理装置3で生成された拡大鍵1から拡大鍵nを受け
取ってそれぞれの暗号化処理を行ない、最終段から暗号
文を出力する。
The encryption processing device 2 performs encryption processing (1) to n of encryption processing (n) based on the expansion key 1 to the expansion key n.
It performs stepwise processing to create and output a ciphertext. The encryption process (1) to the encryption process (n) receive the extended key 1 to the extended key n generated by the extended key processing device 3, perform the respective encryption processes, and output the ciphertext from the last stage. .

【0018】拡大鍵処理装置3は、暗号鍵から拡大鍵を
生成するものであって、ここでは、中間データ生成装置
4および拡大鍵生成装置5などから構成されるものであ
る。中間データ生成装置4は、暗号鍵を入力とし、複数
iの中間データを生成するものである(図2、図3など
参照)。
The expanded key processing device 3 generates an expanded key from an encryption key. In this case, the expanded key processing device 3 includes an intermediate data generating device 4, an expanded key generating device 5, and the like. The intermediate data generating device 4 receives the encryption key and generates a plurality of intermediate data i (see FIGS. 2 and 3).

【0019】拡大鍵生成装置5は、複数iの中間データ
から指定された段数rの拡大鍵を生成するものである
(図2、図4など参照)。次に、図2のフローチャート
の順番に従い図1の構成のもとで暗号鍵から拡大鍵を生
成するときの動作を詳細に説明する。
The expanded key generation device 5 generates an expanded key of a designated number r of stages from a plurality of intermediate data (see FIGS. 2 and 4). Next, an operation of generating an extended key from an encryption key under the configuration of FIG. 1 will be described in detail according to the order of the flowchart of FIG.

【0020】図2は、本発明の動作説明フローチャート
を示す。図2において、S1は、ユーザ鍵を入力する。
これは、図1の暗号化装置1に平文と一緒に、暗号鍵
(ユーザ鍵)を入力する。これにより、図1の拡大鍵処
理装置3を構成する中間データ生成装置4がユーザ鍵
(暗号鍵)を取り込んだこととなる。
FIG. 2 is a flowchart illustrating the operation of the present invention. In FIG. 2, S1 inputs a user key.
For this, an encryption key (user key) is input to the encryption device 1 of FIG. 1 together with the plaintext. This means that the intermediate data generation device 4 constituting the extended key processing device 3 in FIG. 1 has taken in the user key (encryption key).

【0021】S2は、非線型関数Mを演算する。これ
は、後述する図3に示すように、暗号鍵のビット列を8
グループに分割し、各グループのビット列に非線型関数
Mを演算する(図6、図7を用いて後述する)。
In step S2, a non-linear function M is calculated. This means that the bit string of the encryption key is 8 bits as shown in FIG.
The data is divided into groups, and a non-linear function M is calculated on the bit strings of each group (described later with reference to FIGS. 6 and 7).

【0022】S3は、偶数のときに定数を加算する。S
4は、奇数のときに定数を乗算する。これらS3、S4
は、後述する図3に示すように、非線型関数Mを演算し
た後のビット列に、偶数のときは定数を加算し、奇数の
ときは定数を乗算する。
In step S3, a constant is added when the number is an even number. S
4 multiplies a constant when it is odd. These S3, S4
As shown in FIG. 3 to be described later, a constant is added to the bit string after the calculation of the nonlinear function M when the number is even, and the constant is multiplied when the number is odd.

【0023】S5は、排他的論理和を演算する。これ
は、後述する図3に示すように、S4で定数を加算した
ビット列と、定数を乗算したビット列とを排他的論理和
の演算を行なう。
In step S5, an exclusive OR is calculated. In this operation, as shown in FIG. 3, which will be described later, an exclusive OR operation is performed on the bit string added with the constant in S4 and the bit string multiplied by the constant.

【0024】S6は、非線型関数Mを演算する。これ
は、S5で演算した後のビット列に、非線型関数Mを演
算し、中間データを生成する。尚、S4、S5、S6
で、複数の定数(例えば図3の場合にはi=0,1,2
に対応する3つ定数)についてそれぞれ加算、乗算した
後に、排他的論理和演算、更に非線型関数演算をそれぞ
れ行ない、図3の場合にはそれぞれ3つからなる中間デ
ータを生成する。
In step S6, a non-linear function M is calculated. That is, a non-linear function M is calculated on the bit string after the calculation in S5 to generate intermediate data. S4, S5, S6
And a plurality of constants (for example, in the case of FIG. 3, i = 0, 1, 2,
Are added and multiplied for each of the three constants, and then an exclusive OR operation and a non-linear function operation are respectively performed. In the case of FIG. 3, three intermediate data are generated.

【0025】以上のS1からS6によって、ユーザ鍵
(暗号鍵)を入力とし、例えば図3の構成に従い、非可
逆変換を経た複数づつ(図3では3つづつ)からなる中
間データを作成することが可能となる。
Through steps S1 to S6, a user key (encryption key) is input and, for example, according to the configuration shown in FIG. 3, intermediate data composed of a plurality (three in FIG. 3) having undergone irreversible conversion is created. Becomes possible.

【0026】図2のS7は、段数rを入力する。これ
は、作成しようとする、拡大鍵の段数rを入力する。こ
れにより、本発明では、指定した段数の拡大鍵を以降の
S8からS11で直接に作成することが可能となる。
In step S7 of FIG. 2, the number of stages r is input. This is done by inputting the number r of stages of the expanded key to be created. As a result, in the present invention, it is possible to directly create an expanded key of the specified number of levels in subsequent S8 to S11.

【0027】S8は、中間データから該当する値を選択
する。これは、後述する図4の(a)の複数iづつの中
間データ中から、段数rをもとに該当する中間データを
1つづつそれぞれ選択する。
In step S8, a corresponding value is selected from the intermediate data. In this case, the corresponding intermediate data is selected one by one based on the number of stages r from among a plurality of intermediate data of a plurality i shown in FIG.

【0028】S9は、段数rに従った転置を行なう。こ
れは、図4の(a)のデータ並び替え処理装置で、段数
rを入力して、S8で選択した中間データの転置を行な
う(図5の(c),(d)参照)。
In step S9, the transposition is performed according to the number r of stages. In this case, the data rearrangement processing device shown in FIG. 4A inputs the number of stages r and transposes the intermediate data selected in S8 (see FIGS. 5C and 5D).

【0029】S10は、転置後の中間データの非可逆変
換Gを行なう(図4の(b)参照)。S11は、r段数
の拡大鍵を出力する。これは、S10で演算した後のデ
ータをr段数の拡大鍵として出力する。
In step S10, irreversible conversion G of the transposed intermediate data is performed (see FIG. 4B). In step S11, r steps of expanded keys are output. In this case, the data calculated in S10 is output as an expanded key of r stages.

【0030】S12は、終わりか判別する。YESの場
合には、終了する。NOの場合には、S7に戻り、次の
指定された段数rの拡大鍵の作成を行なう。以上のS7
からS11によって、S1からS6で作成した複数iづ
つの中間データをもとに、指定された段数rに従って1
つづつの中間データを選択し、段数rに従って転置した
後、非可逆変換を行い、指定された段数rの拡大鍵を非
可逆変換を経て高速に生成することが可能となる。以下
順次詳細に説明する。
In S12, it is determined whether or not the processing is completed. If YES, the process ends. In the case of NO, the process returns to S7 to create an expanded key of the next specified number r of stages. S7 above
In steps S11 to S11, based on the intermediate data for each of the plurality i generated in steps S1 to S6, 1
Successive intermediate data is selected, transposed according to the number of stages r, and then subjected to irreversible conversion, so that an expanded key having the specified number of stages r can be generated at high speed through irreversible conversion. The details will be sequentially described below.

【0031】図3は、本発明の説明図(中間データ)を
示す。図3において、上段のk0からk7は、暗号鍵
(ユーザ鍵)のビット列を順次8分割したビット列であ
る。
FIG. 3 shows an explanatory diagram (intermediate data) of the present invention. In FIG. 3, k0 to k7 in the upper row are bit strings obtained by sequentially dividing the bit string of the encryption key (user key) into eight.

【0032】上段および下段のMは、非線型関数演算を
表す(後述する図6、図7参照).+は、定数の加算を
表す。ここで、M(4i)の加算は、分割したビット列
のkの添字が例えば既述した図2のS3の偶数の場合
に、i=0,1,2のときの定数Mの値をそれぞれ加算
した3つを出力する旨を表す。同様に、M(4i+
1)、M(4i+2)、M(4i+3)についも、i=
0,1,2のときの定数Mの値をそれぞれ加算した3つ
を出力する旨を表す。
M in the upper and lower rows represents a non-linear function operation (see FIGS. 6 and 7 described later). + Represents addition of a constant. Here, the addition of M (4i) is performed by adding the value of the constant M when i = 0, 1, or 2 when the subscript of k of the divided bit string is, for example, the even number of S3 in FIG. This indicates that the three are output. Similarly, M (4i +
1), M (4i + 2) and M (4i + 3) also have i =
This indicates that three values obtained by adding the values of the constants M at the time of 0, 1, and 2 are output.

【0033】×は、定数の乗算を表す。ここで、i+1
の乗算は、分割したビット列のkの添字が例えば既述し
た図2のS4の奇数の場合に、i=0,1,2のときの
定数の値をそれぞれ乗算した3つを出力する旨を表す。
X represents constant multiplication. Where i + 1
In the case where the subscript of k of the divided bit string is, for example, the odd number of S4 in FIG. 2 described above, three values obtained by multiplying the constant values when i = 0, 1, and 2 are output. Represent.

【0034】+は、加算および乗算した結果の排他的論
理和の演算を行なう旨を表す。aからdは、h個づ
つの中間データの出力を表す。ここでは、aからd
(i=0,1,2)の3つづつの出力された中間データ
を表す。
+ Indicates exclusiveness of the result of addition and multiplication
Indicates that a sum operation is performed. aiFrom diIs h
Represents the output of two intermediate data. Here, aiFrom d i
Three output intermediate data (i = 0, 1, 2)
Represents

【0035】以上のように、暗号鍵を8つのグループに
分割してそれぞれのビット列に非線型関数Mを演算した
後、偶数のものに3つの定数をそれぞれ加算および奇数
のものに3つの定数を乗算し、加算および乗算した該当
データを排他的論理和演算で1つにまとめ、更に非線型
関数Mを演算して3つづつの中間データを生成すること
が可能となる。
As described above, after the encryption key is divided into eight groups and the non-linear function M is calculated for each bit string, three constants are added to even numbers and three constants are added to odd numbers. The multiplied, added and multiplied data are combined into one by an exclusive OR operation, and the nonlinear function M is further operated to generate three intermediate data.

【0036】図4は、本発明の説明図(拡張鍵)を示
す。図4の(a)は、i個づつの中間データから段数r
をもとに1つを選択して拡大鍵を生成するシステム構成
を示す。
FIG. 4 shows an explanatory diagram (expansion key) of the present invention. FIG. 4A shows the number of stages r from the intermediate data for each i data.
Is shown, a system configuration for selecting one based on the above and generating an expanded key.

【0037】図4の(a)において、中間データは、こ
こでは、a、b,c,d(i=0,1,2)か
らなる、図3の構成で生成された中間データ(中間鍵)
である。
In FIG. 4A, the intermediate data is, in this case, an intermediate data composed of a i , b i , c i , and d i (i = 0, 1, 2) generated by the configuration of FIG. Data (intermediate key)
It is.

【0038】select値決定装置は、作成しようと
する拡大鍵の段数rをもとに、中間データa、b
,d(i=0,1,2)のうちのいずれのiのも
のを選択するかを決定するものである。決定は、後述す
る図5の(a)の式(1)に従い決定する。
The select value determination device determines the intermediate data a i , b i , and b based on the number r of stages of the expanded key to be created.
c i, is to determine whether to select any of those i of d i (i = 0,1,2). The determination is made according to the equation (1) in FIG.

【0039】selectorは、select値決定
装置によって決定されたX、Y、Z、Wに従
い、ここでは、i=0,1,2の該当するものの中間デ
ータa(X)、b(Y)、c(Z)、d(W
を1つそれぞれ選択するものである。
The selector is, X r determined by the select value determination unit, Y r, Z r, in accordance with W r, where, i = 0, 1, 2 of the corresponding ones of the intermediate data a (X r), b ( Yr ), c ( Zr ), d ( Wr )
Are selected one by one.

【0040】データ並び替え処理装置は、段数rをもと
に、選択された中間データa(X)、b(Y)、c
(Z)、d(W)の並び替え(転置)を行なうもの
である。この転置は、後述する図5の(d)のように、
段数rに対応した転置を行なうものである。
The data rearrangement processing device selects the selected intermediate data a (X r ), b (Y r ), c
(Z r), and performs rearrangement of d (W r) the (transposed). This transposition is performed as shown in FIG.
The transposition corresponding to the number r of stages is performed.

【0041】G(X、Y、Z、W、r)計算装置は、並
び替え後の中間データ(X,Y,Z,W)をもとに、拡
大鍵EKeyを生成するものである。これは、後述
する図4の(b)の構成で拡大鍵EKeyを生成す
る。
[0041] G (X, Y, Z, W, r) computing device, the intermediate data after the rearrangement (X, Y, Z, W ) on the basis of, and generates an expanded key E x Key Canada r is there. This produces an expanded key E x Key Canada r in the configuration of FIG. 4 to be described later (b).

【0042】以上の構成によって、中間データから段数
rを指定して、当該段数rの拡大鍵を生成することが可
能となる。以下順次詳細に説明する。図4の(b)は、
図4の(a)のG(X,Y,Z,W)計算装置の詳細構
成を示す。
With the above configuration, it is possible to specify the number r of stages from the intermediate data and generate an expanded key of the number r of stages. The details will be sequentially described below. (B) of FIG.
FIG. 5A shows a detailed configuration of a G (X, Y, Z, W) calculation device of FIG.

【0043】図4の(b)において、1bit左巡回シ
フトは、データのビット列を1ビット左方向に巡回して
シフトするものである。排他的論理和は、2つのデータ
の排他的論理和の演算を行なうものである。
In FIG. 4B, the 1-bit left cyclic shift shifts the data bit sequence by cycling one bit to the left. The exclusive OR performs an exclusive OR operation of two data.

【0044】加算は、2つのデータを加算するものであ
る。減算は、1つのデータから他のデータを減算するも
のである。以上の回路を図示のように接続して指定段数
をもとに選択および転置した後の中間データ(X,Y,
Z,W)から拡大鍵を生成することが可能となる。
The addition is to add two data. Subtraction is to subtract other data from one data. The above-described circuits are connected as shown in the figure to select and transpose the intermediate data (X, Y,
Z, W), it is possible to generate an extended key.

【0045】図5は、本発明の説明図を示す。図5の
(a)は、i個づつの中間データから段数rのものを1
つ選択するときに使用する式(1)を示す。図示の式
(1)は下記である。
FIG. 5 shows an explanatory diagram of the present invention. FIG. 5A shows that the data of the number of stages r is 1 from the intermediate data for each i data.
Equation (1) used when one is selected is shown. The illustrated equation (1) is as follows.

【0046】X=Z=r mod 3 Y=W=r+[r/3]mod 3 図5の(b)は、図5の(a)の式(1)を模式的に示
す。これは、図5の(a)の式(1)の値を実際に計算
したものであって、段数rのときに0,1,2の3個中
から1つを選択する値であって、9個で巡回するもので
ある。
X r = Z r = r mod 3 Y r = W r = r + [r / 3] mod 3 FIG. 5 (b) schematically shows equation (1) of FIG. 5 (a). . This is a value obtained by actually calculating the value of equation (1) in FIG. 5A, and is a value for selecting one of three values of 0, 1, and 2 when the number of stages is r. , 9 patrollers.

【0047】以上の図5の(a),(b)で段数rに対
応する値(i=0,1,2の3個のうちの1つ)を決定
し、既述した図4の(a)でi個づつの中間データ中か
ら当該段数rで決った(X,Y,Z,W)を選
択することが可能となる。
A value (one of three values of i = 0, 1, 2) corresponding to the number of stages r is determined from FIGS. 5 (a) and 5 (b), and was determined in the number of stages r from the intermediate data of the i-number increments by a) (X r, Y r , it is possible to select Z r, the W r).

【0048】図5の(c)は、オーダ表を示す。このオ
ーダ表は、図5の(a),(b)で選択した段数rの中
間データ(X,Y,Z,W)を並び換える(置
換)するときのオーダ(順序)を決定するものである。
ここでは、左側の段数rに対応づけて右側の並び替え順
序に示すように、並び替える(図4の(a)のデータ並
び替え処理装置が実行する)。
FIG. 5C shows an order table. The order table of FIG. 5 (a), the order (sequence) when the intermediate data of the number of stages r selected in (b) (X r, Y r, Z r, W r) rearranges (substituted) To decide.
Here, the data is rearranged as shown in the rearrangement order on the right side in association with the number r of rows on the left side (performed by the data rearrangement processing device in FIG. 4A).

【0049】次に、図6および図7を用いて非線型関数
演算について説明する。図6の(a)は、非線型関数M
の演算の全体の構成の例を示す。ここでは、ユーザ鍵
(暗号鍵)m(例えば32ビット)を入力とし、非線型
関数Mを演算して結果w(32ビット)を生成するとき
の様子を説明する。
Next, the non-linear function operation will be described with reference to FIGS. FIG. 6A shows a non-linear function M
The following shows an example of the overall configuration of the operation shown in FIG. Here, a state will be described in which a user key (encryption key) m (for example, 32 bits) is input and a non-linear function M is calculated to generate a result w (32 bits).

【0050】(1) ユーザ鍵の32ビットをここでは
図示のように、6,5,5,5,56ビットで順次m
0,m1,m2,m3,m4,m5にそれぞれ分割す
る。 (2) 5ビットに分割したm1,m2,m3,m4
は、図6の(b)のS5(x)の表に従い、該当するx
に対応するS5(x)の値にそれぞれ変換する。
(1) The 32 bits of the user key are sequentially m, 6, 5, 5, 5, 56 bits as shown in FIG.
It is divided into 0, m1, m2, m3, m4, and m5. (2) m1, m2, m3, m4 divided into 5 bits
Is the corresponding x according to the table of S5 (x) in FIG.
To the value of S5 (x) corresponding to

【0051】(3) 同様に、6ビットに分割したm
0,m6は、図6の(c)のS6(x)の表に従い、該
当するxに対応するS6(x)の値にそれぞれ変換す
る。 (4) (2)と(3)によってvが図6の(a)のデ
ータvが生成されたこととなる。
(3) Similarly, m divided into 6 bits
0 and m6 are converted into S6 (x) values corresponding to the corresponding x according to the table of S6 (x) in FIG. 6C. (4) By (2) and (3), v is the data v shown in FIG. 6A.

【0052】(5) 図7の(e)に模式的に示す行列
式に、図7の(d)から矢印で示す位置に置き、次に、
(4)で生成したデータvを置き、両者の行列演算を行
ない、右側のwを計算する。これにより、図6の(a)
のMDSを用いたXOR計算装置による結果(非線型関
数Mの演算結果)が得られたこととなる。
(5) In the determinant schematically shown in FIG. 7 (e), the matrix is placed at the position shown by the arrow from FIG. 7 (d).
The data v generated in (4) is placed, a matrix operation is performed on both, and w on the right side is calculated. As a result, FIG.
(The operation result of the non-linear function M) obtained by the XOR calculation apparatus using the MDS.

【0053】以上によって、図6の(a)の構成に示す
順番に従い、例えば図3の非線型関数Mの演算を行なう
ことが可能となる。図6の(b)は図6の(a)のS5
(x)のテーブル例を示し、図6の(c)は図6の
(a)のS6(x)のテーブル例を示す。
As described above, for example, the calculation of the nonlinear function M of FIG. 3 can be performed in the order shown in the configuration of FIG. FIG. 6B shows S5 of FIG. 6A.
FIG. 6C shows an example of the table of (x), and FIG. 6C shows an example of the table of S6 (x) of FIG. 6A.

【0054】図7の(c)は非線型関数Mを行列演算す
るときの定数(MDSを用いてXOR計算装置で用いる
定数)を示し、図7の(d)はMDSを用いたXOR計
算装置で行なう行列演算を模式的に示す。
FIG. 7C shows constants (constants used in an XOR calculation device using MDS) when performing a matrix operation on the nonlinear function M, and FIG. 7D shows an XOR calculation device using MDS. Schematically shows the matrix operation performed by.

【0055】次に、既述したユーザ鍵から中間データを
生成する第1段階の処理、および中間データから指定さ
れた段数rの拡大鍵を生成する第2段階の処理について
数式,記号を用いて説明する。
Next, the first-stage process of generating intermediate data from the user key and the second-stage process of generating an expanded key having a specified number r of stages from the intermediate data will be described using mathematical expressions and symbols. explain.

【0056】(1) 第1段階の処理(ユーザ鍵から中
間データを生成する処理): (1−1)256ビットの暗号鍵を、32ビットごとに
8個のデータk0,k1,・・・k7に分割する(図3
参照) (1−2) (1−1)で分割した32ビットを入力と
し、32ビットを出力する非線型関数Mを用いて、以下
の(1−3)から(1−6)の計算により、中間データ
a(i),b(i),c(i),d(i)の生成をi=
0,1,2について行なう(図3参照)。また、非線型
関数Mについて、(3−1)から(3−6)を実行す
る。
(1) First-stage processing (processing for generating intermediate data from a user key): (1-1) A 256-bit encryption key is converted into eight data k0, k1,. k7 (Fig. 3
(1-2) Using the non-linear function M that receives the 32 bits divided in (1-1) and outputs the 32 bits, calculates the following (1-3) to (1-6) , The intermediate data a (i), b (i), c (i), and d (i) are generated by i =
This is performed for 0, 1, and 2 (see FIG. 3). Further, for the nonlinear function M, (3-1) to (3-6) are executed.

【0057】(1−3) a(i)=M(Ta(k0,
i)XOR Ua(k1,i)を計算する。ただし、T
a(k0,i)=M(k0)+M(4i),Ua(k
1,i)=M(k1)×(i+1)である。尚、XOR
は、排他的論理和演算を表す。
(1-3) a (i) = M (Ta (k0,
i) Calculate XOR Ua (k1, i). Where T
a (k0, i) = M (k0) + M (4i), Ua (k
(1, i) = M (k1) × (i + 1). XOR
Represents an exclusive OR operation.

【0058】(1−4) b(i)=M(Tb(k2,
i) XOR Ub(k3,i)を計算する。ただし、
Tb(k3,i)=M(k2)+M(4i+1),Ub
(k3,i)=M(k3)×(i+1)である。
(1-4) b (i) = M (Tb (k2,
i) Calculate XOR Ub (k3, i). However,
Tb (k3, i) = M (k2) + M (4i + 1), Ub
(K3, i) = M (k3) × (i + 1).

【0059】(1−5) c(i)=M(Tc(k4,
i) XOR Uc(k5,i)を計算する。ただし、
Tc(k4,i)=M(k4)+M(4i+2),Uc
(k5,i)=M(k5)×(i+1)である。
(1-5) c (i) = M (Tc (k4,
i) Calculate XOR Uc (k5, i). However,
Tc (k4, i) = M (k4) + M (4i + 2), Uc
(K5, i) = M (k5) × (i + 1).

【0060】(1−6)d(i)=M(Td(k6,
i) XOR Ud(k7,1))を計算する。ただ
し、Td(k6,i)=M(k6)+M(4i+3),
Ud(k7,i)=M(k7)×(i+1)である。
(1-6) d (i) = M (Td (k6,
i) Calculate XOR Ud (k7,1)). Where Td (k6, i) = M (k6) + M (4i + 3),
Ud (k7, i) = M (k7) × (i + 1).

【0061】(2) 第2段階の処理(中間データから
指定された段数rの拡大鍵を生成する処理): (2−1)r段数の拡大鍵ExKeyr(r=0.1・
・)について、以下の(2−2)から(2−4)に従い
計算を行なう(図4の(a)参照)。
(2) Second-stage processing (processing for generating an expanded key with the specified number r of stages from the intermediate data): (2-1) Expanded key ExKeyr with r stages (r = 0.1 ·
() Is calculated according to the following (2-2) to (2-4) (see FIG. 4 (a)).

【0062】(2−2) Xr=Zr=r mod3,
Yr=Wr=r+[r/3]mod3(式(1))で表さ
れる数列X,Y,Z,Wを用いて、(X,Y,Z,W)
=(a(Xr),b(Yr),c(Zr),d(W
r))とする。
(2-2) Xr = Zr = r mod3
Using the sequence X, Y, Z, W represented by Yr = Wr = r + [r / 3] mod 3 (Formula (1)), (X, Y, Z, W)
= (A (Xr), b (Yr), c (Zr), d (W
r)).

【0063】(2−3) r’=(r+[r/36])m
od12を満たすr’に関して、(X、Y、Z、W)=
ORDER_12(X,Y,Z,W,r’)で示される
データ並び替えを行なう。ただし、ORDER_12
(X,Y,Z,W,r’)は、図5の(c)に従う。
(2-3) r ′ = (r + [r / 36]) m
For r ′ satisfying od12, (X, Y, Z, W) =
The data rearrangement indicated by ORDER — 12 (X, Y, Z, W, r ′) is performed. However, ORDER_12
(X, Y, Z, W, r ') follow (c) in FIG.

【0064】(2−4) ExKeyr=G(X,Y,
Z,W)により、r段数の拡大鍵を計算する。ただし、
G(X,Y,Z,W)=((x<<<1)+Y) XO
R(((Z<<<1)−W)<<<1)であり、<<<
1は1ビット左巡回シフトを表す(図4の(b)参
照)。
(2-4) ExKeyr = G (X, Y,
Z, W), an expanded key of r stages is calculated. However,
G (X, Y, Z, W) = ((x << 1) + Y) XO
R (((Z << 1) -W) <<<< 1] and <<<<
1 represents a one-bit left cyclic shift (see FIG. 4B).

【0065】(3) 非線型関数Mの演算処理: (3−1) 32ビット入力mから、以下の(3−2)
から(3−6)に従い、32ビットのwを出力する(図
6の(a)参照)。
(3) Operation processing of nonlinear function M: (3-1) From 32-bit input m, the following (3-2)
, And outputs 32-bit w according to (3-6) (see FIG. 6A).

【0066】(3−2) mをビット分割した値m0,
・・・m5を、以下に従って与える。 m0=(mの第0ビット目から第5ビット) m1=(mの第6ビット目から第10ビット) m2=(mの第11ビット目から第15ビット) m3=(mの第16ビット目から第20ビット) m4=(mの第21ビット目から第25ビット) m5=(mの第26ビット目から第31ビット) (3−3) 5ビットの入力に対し5ビットを出力する
非線型変形関数S5,6ビットの入力に対し6ビットを
出力する非線型変換関数S6を用いて、 s0=S6(m0) s1=S5(m1) s2=S5(m2) s3=S5(m3) s4=S5(m4) s5=S6(m5) ここで、S5、S6を既述した図6の(b)、(c)に
それぞれ示す。
(3-2) A value m0 obtained by dividing m into bits
... m5 is given according to the following. m0 = (0th to 5th bits of m) m1 = (6th to 10th bits of m) m2 = (11th to 15th bits of m) m3 = (16th bit of m) M4 = (21st to 25th bit of m) m5 = (26th to 31st bit of m) (3-3) 5 bits are output for 5 bits input Using a nonlinear transformation function S5 and a nonlinear transformation function S6 that outputs 6 bits for a 6-bit input, s0 = S6 (m0) s1 = S5 (m1) s2 = S5 (m2) s3 = S5 (m3) s4 = S5 (m4) s5 = S6 (m5) Here, S5 and S6 are shown in FIGS. 6B and 6C, respectively, as described above.

【0067】(3−4) v=s0|s1|s2|s3
|s4|s5を計算する。|は、ビット値の連結を表
す。 (3−5) vのi番目のビット値vi,および5ビッ
ト入力から32ビットを出力する変換テーブルMDSを
用いて、w=(v0×MDS(0))XOR(v1×M
DS(1))XOR・・・XOR(v31×MDS(3
1))を計算する。ただし、vi×MDS(i)は、v
i=0のとき0、vi=1のときMDS(i)である。
また、MDSは図7の(d)に従う。
(3-4) v = s0 | s1 | s2 | s3
| S4 | s5 is calculated. | Represents concatenation of bit values. (3-5) Using a conversion table MDS that outputs 32 bits from the i-th bit value vi of v and a 5-bit input, w = (v0 × MDS (0)) XOR (v1 × M
DS (1)) XOR... XOR (v31 × MDS (3
1)) is calculated. Where vi × MDS (i) is v
0 when i = 0, and MDS (i) when vi = 1.
Further, the MDS complies with FIG.

【0068】(3−6) wを出力する。(3-6) Output w.

【0069】[0069]

【発明の効果】以上説明したように、本発明によれば、
第1段階で暗号鍵から中間データを生成し、第2段階で
中間データから任意のデータを選択して非可逆変換を行
ない任意の段数の拡大鍵を生成する構成を採用している
ため、拡大鍵を非可逆変換を経て高速生成して共通鍵方
式の安全性を高めることが可能となる。これにより、 (1) 例えば中間データを1個生成するためには大き
な処理時間が必要であるあるが、拡大鍵生成装置5によ
り、必要な中間データの個数を少なくでき、安全性の高
い拡大鍵を高速に生成できる。
As described above, according to the present invention,
In the first stage, intermediate data is generated from the encryption key, and in the second stage, any data is selected from the intermediate data and irreversible conversion is performed to generate an expanded key of an arbitrary number of stages. The key can be generated at a high speed through irreversible transformation to increase the security of the common key system. Thus, (1) For example, although a large processing time is required to generate one piece of intermediate data, the number of required intermediate data can be reduced by the expanded key generation device 5, and an expanded key with high security can be obtained. Can be generated at high speed.

【0070】(2) また、生成した拡大鍵ExKey
0,ExKey1,・・・ExKeyn−1の全てを記
憶せずに、暗号化あるいは復号化の処理の途中で、必要
となる拡大鍵のみを生成する場合、指定した段数rの拡
大鍵のみを高速生成できるという顕著な特徴がある。こ
れの効果を以下説明する。
(2) Also, the generated expanded key ExKey
.. 0, ExKey1,..., Without storing all of ExKeyn-1, if only the required expanded key is generated during the encryption or decryption processing, only the specified number of expanded keys r is processed at high speed. There is a remarkable feature that it can be generated. The effect of this will be described below.

【0071】一般的に共通鍵暗号方式は、暗号化でEx
Key0,ExKey1,・・・ExKeyn−1の順
に拡大鍵が用いられる場合、復号化では、ExKeyn
−1・・・ExKey1,ExKey0のように、暗号
化とは逆の順で拡大鍵が用いられる。ここで、ExKe
y1を生成するのにExKey0の値を必要とする拡大
鍵生成方式を用いて(既述した図9参照)、逐次生成を
行なった場合、ExKey1は直接生成することができ
ず、先にExKey0を生成してこれを用いてExKe
y1を生成することとなり、その分、復号化の拡大鍵生
成時間が暗号化よりも遅くなる。
Generally, the common key cryptosystem uses Ex
When the expanded key is used in the order of Key0, ExKey1,... ExKeyn-1, ExKeyn is used for decryption.
-1... As in ExKey1 and ExKey0, the expanded key is used in the reverse order of the encryption. Where ExKe
When an extended key generation method that requires the value of ExKey0 to generate y1 is used (see FIG. 9 described above), when ExKey1 is generated sequentially, ExKey1 cannot be directly generated, and ExKey0 is first generated. Generate and use this with ExKe
Since y1 is generated, the expanded key generation time for decryption is later than that for encryption.

【0072】これに対し、本発明は、他の拡大鍵とは独
立して、任意の段数rを指定して拡大鍵を生成できるた
め、拡大鍵をExKey0,ExKey1,・・・Ex
Keyn−1の順に生成するのも、ExKeyn−1・
・・ExKey1,ExKey0の順に生成するのも、
同じ処理時間で行なうことができるという顕著な特徴が
ある。
On the other hand, according to the present invention, an extended key can be generated by designating an arbitrary number r of stages independently of the other extended keys, so that the extended keys are represented by ExKey0, ExKey1,.
The generation in the order of Keyn-1 is also performed by ExKeyn-1.
.. Also generate ExKey1 and ExKey0 in this order.
There is a remarkable feature that it can be performed in the same processing time.

【0073】以上のように、本発明では、拡大鍵の逐次
生成を行なう場合でも、暗号化と復号化の処理時間を同
じにして、復号化の拡大鍵生成時間を暗号化よりも遅く
なることを防ぐ顕著な効果がある。
As described above, according to the present invention, even when an extended key is sequentially generated, the processing time for encryption and decryption is the same, and the time for generating an extended key for decryption is later than that for encryption. Has a remarkable effect of preventing.

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

【図1】本発明のシステム構成図である。FIG. 1 is a system configuration diagram of the present invention.

【図2】本発明の動作説明フローチャートである。FIG. 2 is a flowchart illustrating the operation of the present invention.

【図3】本発明の説明図(中間データ)である。FIG. 3 is an explanatory diagram (intermediate data) of the present invention.

【図4】本発明の説明図(拡大鍵)である。FIG. 4 is an explanatory diagram (enlarged key) of the present invention.

【図5】本発明の説明図である。FIG. 5 is an explanatory diagram of the present invention.

【図6】本発明の説明図(非線型関数演算、その1)で
ある。
FIG. 6 is an explanatory diagram (a non-linear function operation, part 1) of the present invention;

【図7】本発明の説明図(非線型関数演算、その2)で
ある。
FIG. 7 is an explanatory diagram (nonlinear function operation, part 2) of the present invention.

【図8】共通鍵方式の説明図である。FIG. 8 is an explanatory diagram of a common key method.

【図9】従来のDESのアルゴリズムの全体のブロック
図である。
FIG. 9 is an overall block diagram of a conventional DES algorithm.

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

1:暗号化装置 2:暗号化処理装置 3:拡大鍵処理装置 4:中間データ生成装置 5;拡大鍵生成装置 M:非線型関数 G:非可逆関数 1: encryption device 2: encryption processing device 3: expanded key processing device 4: intermediate data generation device 5; expanded key generation device M: non-linear function G: irreversible function

───────────────────────────────────────────────────── フロントページの続き (72)発明者 武仲 正彦 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 鳥居 直哉 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 矢嶋 純 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 屋並 仁史 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 横山 和弘 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5J104 AA01 AA16 AA18 JA03 NA02 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Masahiko Takenaka 4-1-1, Kamidadanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Naoya Torii 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa No. 1 Fujitsu Co., Ltd. (72) Inventor Jun Yajima 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture 1-1 Inside Fujitsu Co., Ltd. No. 1 Fujitsu Limited (72) Inventor Kazuhiro Yokoyama 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture F-term within Fujitsu Limited (reference) 5J104 AA01 AA16 AA18 JA03 NA02

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】暗号鍵から拡大鍵を生成する拡大鍵生成装
置において、 入力された暗号鍵のビット列を複数のグループに分割
し、これら分割した各グループのビット列に演算を複数
i回それぞれ行なって複数iの演算結果を生成し、これ
ら生成した各グループ毎の複数iの演算結果について複
数のグループ間で該当演算結果をそれぞれ1つにまとめ
る演算を行ない、複数iの中間データを生成する中間デ
ータ生成手段と、 指定された拡大鍵の段数rをもとに、上記複数iの中間
データから1つを選択し、選択した中間データを非可逆
変換して段数rの拡大鍵を生成する拡大鍵生成手段とを
備えたことを特徴とする拡大鍵生成装置。
In an extended key generation apparatus for generating an extended key from an encryption key, a bit string of an input encryption key is divided into a plurality of groups, and a plurality of operations are performed on the bit strings of each of the divided groups a plurality of times. Intermediate data for generating a plurality of i operation results, performing an operation of combining the operation results among the plurality of groups into one unit for each of the generated i operation results for each group, and generating a plurality of i intermediate data Generating means for selecting one of the plurality of intermediate data based on the specified number r of expanded keys and irreversibly converting the selected intermediate data to generate an expanded key having the number of steps r An extended key generation device comprising: a generation unit.
【請求項2】上記入力された暗号鍵のビット列として、
入力された暗号鍵のビット列に非線型関数を演算したビ
ット列としたことを特徴とする請求項1記載の拡大鍵生
成装置。
2. A bit string of the input encryption key,
2. The expanded key generation apparatus according to claim 1, wherein the bit string of the input encryption key is a bit string obtained by calculating a non-linear function.
【請求項3】上記1つにまとめる演算として、論理演算
としたことを特徴とする請求項1記載の拡大鍵生成装
置。
3. The extended key generation device according to claim 1, wherein the operation to be integrated into one is a logical operation.
【請求項4】上記1つにまとめる演算を行なった後、非
線型関数を演算して中間データを生成したことを特徴と
する請求項1記載の拡大鍵生成装置。
4. The expanded key generation device according to claim 1, wherein after performing the operation of combining the data into one, an intermediate data is generated by calculating a non-linear function.
【請求項5】上記選択した中間データについて段数rに
従った転置を行なった後に非可逆変換を行なうことを特
徴とする請求項1記載の拡大鍵生成装置。
5. The expanded key generation apparatus according to claim 1, wherein the irreversible conversion is performed after the transposition of the selected intermediate data according to the number of stages r.
【請求項6】入力された暗号鍵のビット列を複数のグル
ープに分割し、これら分割した各グループのビット列に
演算を複数i回それぞれ行なって複数iの演算結果を生
成し、これら生成した各グループ毎の複数iの演算結果
について複数のグループ間で該当演算結果をそれぞれ1
つにまとめる演算を行ない、複数iの中間データを生成
する中間データ生成手段と、 指定された拡大鍵の段数rをもとに、上記複数iの中間
データから1つを選択し、選択した中間データを非可逆
変換して段数rの拡大鍵を生成する拡大鍵生成手段とし
て機能させるプログラムを記録したコンピュータ読取可
能な記録媒体。
6. An input encryption key bit string is divided into a plurality of groups, a plurality of i operations are performed on the bit strings of each of the divided groups to generate a plurality of i operation results, and each of the generated groups is generated. For each of a plurality of i calculation results, a corresponding calculation result is
An intermediate data generating means for performing a summing operation to generate a plurality of intermediate data; and selecting one of the plurality of i intermediate data based on the designated number r of expanded keys, and selecting the selected intermediate data. A computer-readable recording medium in which a program for functioning as an extended key generating means for irreversibly converting data and generating an extended key having a number of steps r is recorded.
【請求項7】入力された暗号鍵のビット列を複数のグル
ープに分割し、これら分割した各グループのビット列に
演算を複数i回それぞれ行なって複数iの演算結果を生
成し、これら生成した各グループ毎の複数iの演算結果
について複数のグループ間で該当演算結果をそれぞれ1
つにまとめる演算を行ない、複数iの中間データを生成
する中間データ生成手段と、 指定された拡大鍵の段数rをもとに、上記複数iの中間
データから1つを選択し、選択した中間データを非可逆
変換して段数rの拡大鍵を生成する拡大鍵生成手段とし
て機能させるための拡大鍵生成プログラム。
7. An input encryption key bit string is divided into a plurality of groups, a plurality of i operations are performed on each of the divided bit strings in each group to generate a plurality i of operation results, and each of the generated groups is generated. For each of a plurality of i calculation results, a corresponding calculation result is
An intermediate data generating means for performing a summing operation to generate a plurality of intermediate data; and selecting one of the plurality of i intermediate data based on the designated number r of expanded keys, and selecting the selected intermediate data. An extended key generation program for functioning as an extended key generation unit for irreversibly converting data to generate an extended key having a number r of stages.
JP2001211558A 2000-07-13 2001-07-12 Extended key generation device, extended key generation program, and recording medium Expired - Fee Related JP3942073B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001211558A JP3942073B2 (en) 2000-07-13 2001-07-12 Extended key generation device, extended key generation program, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-212482 2000-07-13
JP2000212482 2000-07-13
JP2001211558A JP3942073B2 (en) 2000-07-13 2001-07-12 Extended key generation device, extended key generation program, and recording medium

Publications (2)

Publication Number Publication Date
JP2002091296A true JP2002091296A (en) 2002-03-27
JP3942073B2 JP3942073B2 (en) 2007-07-11

Family

ID=26595947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001211558A Expired - Fee Related JP3942073B2 (en) 2000-07-13 2001-07-12 Extended key generation device, extended key generation program, and recording medium

Country Status (1)

Country Link
JP (1) JP3942073B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004004603A (en) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd Extension key generation apparatus, enciphering apparatus and enciphering system
JP2007324733A (en) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp Data converter
JP2008131108A (en) * 2006-11-16 2008-06-05 Fujitsu Ltd Encrypting apparatus for common key cipher

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004004603A (en) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd Extension key generation apparatus, enciphering apparatus and enciphering system
JP4515716B2 (en) * 2002-04-03 2010-08-04 パナソニック株式会社 Extended key generation device, encryption device, and encryption system
JP2007324733A (en) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp Data converter
JP2008131108A (en) * 2006-11-16 2008-06-05 Fujitsu Ltd Encrypting apparatus for common key cipher
US8218762B2 (en) 2006-11-16 2012-07-10 Fujitsu Limited Encrypting apparatus for common key cipher

Also Published As

Publication number Publication date
JP3942073B2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
JP4127472B2 (en) Data conversion apparatus, data conversion method and program for data conversion apparatus, and computer-readable recording medium
US6298136B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
KR100435052B1 (en) Encryption device
US20070140478A1 (en) Encryption apparatus and encryption method
JP5229315B2 (en) Encryption device and built-in device equipped with a common key encryption function
EP1172964B1 (en) Extended key preparing apparatus, extended key preparing method, recording medium and computer program
JP2004233427A (en) Aes encryption processing device, aes decryption processing device, and aes encryption/decryption processing device
US8509428B2 (en) High-speed pipelined ARIA encryption apparatus
CN111064562A (en) Implementation method of AES algorithm on FPGA
JPH0675525A (en) Cipher communication equipment
JP3942073B2 (en) Extended key generation device, extended key generation program, and recording medium
JP5113833B2 (en) ENCRYPTION METHOD AND ENCRYPTION APPARATUS FOR IMPROVING OPERATION PERFORMANCE OF A CENTRAL PROCESSOR
CN113691364A (en) Encryption and decryption method of dynamic S-box block cipher based on bit slice technology
JP3907976B2 (en) Arithmetic apparatus and arithmetic method using SPN structure in F function
JP2000075785A (en) High-speed cipher processing circuit and processing method
JPH09269727A (en) Ciphering method and ciphering device
WO1999000783A1 (en) Ciphering apparatus
Hassan New Approach for Modifying DES Algorithm Using 4-States Multi-keys
CN117527198A (en) Data security processing method, device, computer equipment and storage medium
JPH06102820A (en) Cyphering device
WO2002058036A1 (en) Encryption circuit
JP3017725B2 (en) Data converter
Tvrdý Cryptanalytic attacks on the cipher PRINCE
JP4745598B2 (en) Cryptographic circuit
JPH06102821A (en) Cyphering device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees