JP2001142395A - Extended key generator, ciphering/deciphering device, extended key generating method and recording medium - Google Patents

Extended key generator, ciphering/deciphering device, extended key generating method and recording medium

Info

Publication number
JP2001142395A
JP2001142395A JP2000261098A JP2000261098A JP2001142395A JP 2001142395 A JP2001142395 A JP 2001142395A JP 2000261098 A JP2000261098 A JP 2000261098A JP 2000261098 A JP2000261098 A JP 2000261098A JP 2001142395 A JP2001142395 A JP 2001142395A
Authority
JP
Japan
Prior art keywords
key
conversion
input
expanded
computer
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
JP2000261098A
Other languages
Japanese (ja)
Other versions
JP3389210B2 (en
Inventor
Motoji Omori
基司 大森
Kaoru Yokota
薫 横田
Tsutomu Sekibe
勉 関部
Makoto Tatebayashi
誠 館林
Fumihiko Sano
文彦 佐野
Shinichi Kawamura
信一 川村
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.)
Toshiba Corp
Panasonic Holdings Corp
Original Assignee
Toshiba Corp
Matsushita Electric Industrial Co 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 Toshiba Corp, Matsushita Electric Industrial Co Ltd filed Critical Toshiba Corp
Priority to JP2000261098A priority Critical patent/JP3389210B2/en
Publication of JP2001142395A publication Critical patent/JP2001142395A/en
Application granted granted Critical
Publication of JP3389210B2 publication Critical patent/JP3389210B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To suppress the price and scale of a device and to improve the intensity of a cipher by improving the agitation of an extended key while blocking generation of a weak key. SOLUTION: As individual key conversion functions fk1 to fkn, conversion processing is executed by an S box 14i (replacing table) on the basis of a first key KA obtained from an inputted key and an adding part 16i calculates extended keys K1 to K16 on the basis of a value obtained by shifting the result of the conversion by this S box 14i to the left and a second key KB obtained from the inputted key in this extended key generator, ciphering/deciphering device and recording medium.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、秘密鍵ブロック暗
号に適用される拡大鍵生成装置、暗復号装置、拡大鍵生
成方法、及び記憶媒体に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to an extended key generation device, an encryption / decryption device, an extended key generation method, and a storage medium applied to a secret key block cipher.

【0002】[0002]

【従来の技術】近年の計算機・通信技術の分野では、送
信データを暗号化して送信し、受信データを復号して受
信内容を得る暗号技術が広く知られている。この種の暗
号技術では、暗号化と復号に同じ秘密鍵(以下、共通鍵
という)を用いる暗号化アルゴリズムは共通鍵暗号と呼
ばれている。共通鍵暗号では、一般に、入力メッセージ
が固定長の入力ブロックに分割され、各ブロックが鍵に
基づいて攪拌処理され、暗号文が生成されている。係る
共通鍵暗号としては、例えばDES(データ暗号化規
格:data encryption standard)と呼ばれる方式が広く
用いられている。
2. Description of the Related Art In the field of computer and communication technologies in recent years, encryption technologies for encrypting transmission data and transmitting the data, and decrypting received data to obtain received contents are widely known. In this type of encryption technology, an encryption algorithm that uses the same secret key (hereinafter, referred to as a common key) for encryption and decryption is called common key encryption. In the common key cryptography, generally, an input message is divided into fixed-length input blocks, and each block is agitated based on a key to generate a ciphertext. As such common key encryption, for example, a method called DES (data encryption standard) is widely used.

【0003】DES方式による暗号化では、図18
(a)に示すように、平文に初期転置IPを施したデー
タに対し、ラウンド関数による処理を16回施す。さら
にラウンド関数処理されたデータに初期転置の逆転置I
-1を施すことで暗号文を得ている。また、各ラウンド
関数に対し、元の鍵から生成される拡大鍵を与えること
でラウンド関数における処理が実行される。
In the DES encryption, FIG.
As shown in (a), the data obtained by performing the initial transposition IP on the plaintext is subjected to the processing by the round function 16 times. Further, the inverse transposition I of the initial transposition is applied to the data processed by the round function.
The ciphertext is obtained by applying P- 1 . In addition, the processing in the round function is executed by giving an expanded key generated from the original key to each round function.

【0004】つまり、DES方式による暗号化装置は、
多数のラウンド関数によって暗号化対象となるデータを
攪拌する攪拌部と、攪拌部の各ラウンド関数に拡大鍵を
与える鍵生成部をその主要構成としている。なお、従来
技術における鍵生成部による鍵の生成方法としては、例
えば、表や配線を用いてビットの並び替えを行ったり、
データ暗号化部と全く同じ鍵を用いたり、あるいは鍵ビ
ットから無作為に抽出したり等して生成している。
[0004] That is, an encryption device based on the DES system is
Its main components are a stirrer that stirs data to be encrypted by a number of round functions, and a key generator that gives an expanded key to each round function of the stirrer. In addition, as a method of generating a key by the key generation unit in the related art, for example, rearranging bits using a table or wiring,
It is generated by using the same key as the data encryption unit, or by randomly extracting it from key bits.

【0005】一方、DES方式による復号は、図18
(b)に示すように、暗号化時とは逆の順番で復号対象
のデータにラウンド関数の処理を施す。従って、鍵生成
部からの拡大鍵も、暗号化時の最後のラウンド関数で使
用されたものから順番に生成する。
[0005] On the other hand, decoding by the DES method is performed as shown in FIG.
As shown in (b), the data to be decrypted is subjected to the round function processing in the reverse order of the encryption. Therefore, the expanded key from the key generation unit is also generated in order from the one used in the last round function at the time of encryption.

【0006】このDES方式における第1の利点は、暗
号化回路と復号回路の大半を共通化可能な構成にある。
つまり、図18(a)、図18(b)に示すように、攪
拌部のラウンド関数は、暗号化時と復号時とでは拡大鍵
の入力順序は逆になるが、同一の回路が使用される。
A first advantage of the DES system is that most of the encryption circuit and the decryption circuit can be shared.
In other words, as shown in FIGS. 18A and 18B, the round function of the stirrer uses the same circuit in the order of input of the expanded key between the time of encryption and the time of decryption. You.

【0007】DES方式の第2の利点は、1つの共通鍵
を用いて暗号化と復号とを行うため、管理対象の鍵が少
ないことである。なお、DES方式では、唯一の共通鍵
に基づいて拡大鍵を逆順に生成するため、鍵生成部では
次の処理を行っている。
A second advantage of the DES method is that since encryption and decryption are performed using one common key, the number of keys to be managed is small. In the DES method, an expanded key is generated in the reverse order based on a single common key. Therefore, the key generation unit performs the following processing.

【0008】すなわち、暗号化の際には、共通鍵を左巡
回シフト(左ローテート)し、各拡大鍵を生成する。な
お、巡回シフト量の合計値を共通鍵のビット数に定め、
最終段で中間的な鍵が初期状態(共通鍵)に戻される。
これにより、暗号化時の最後の拡大鍵と復号時の最初の
拡大鍵とを同一の値に生成し得る。復号時には、共通鍵
を逆に右巡回シフト(右ローテート)して逆順に各拡大
鍵を生成すればよい。
That is, at the time of encryption, the common key is cyclically shifted left (rotated left) to generate each expanded key. In addition, the total value of the cyclic shift amount is determined as the number of bits of the common key,
In the final stage, the intermediate key is returned to the initial state (common key).
Thereby, the last expanded key at the time of encryption and the first expanded key at the time of decryption can be generated to the same value. At the time of decryption, the expanded key may be generated in the reverse order by reversely rotating the common key to the right (rotating right).

【0009】しかしながら、DES方式では、鍵生成部
の処理が転置処理のみで構成されるため、一般に弱鍵
(weak key)と呼ばれる安全性の低い鍵が存在するとい
う問題がある。なお、弱鍵は、本明細書中、互いに同一
な拡大鍵を意味しており、全ての拡大鍵K1〜K16が
互いに同一な場合(K1=K2=…=K16)と、半分
の拡大鍵K1〜K8,K9〜K16が互いに同一な場合
(K1=K16,K2=K15,…,K8=K9)とを
含んでいる。
[0009] However, in the DES system, since the processing of the key generation unit is constituted only by the transposition processing, there is a problem that a low security key generally called a weak key exists. In this specification, the weak key means the same expanded key. When all the expanded keys K1 to K16 are the same as each other (K1 = K2 =... = K16), half the expanded key K1 To K8, K9 to K16 are the same (K1 = K16, K2 = K15,..., K8 = K9).

【0010】但し、係る弱鍵の生成は、脅威的なもので
はなく、弱鍵を生成するパターンをもつ共通鍵の入力を
除去する装置、あるいは生成された拡大鍵が弱鍵でない
か否かを判別し且つ弱鍵のときには除去する装置を付加
することにより、充分に阻止可能であると考えられる。
However, the generation of the weak key is not a threat, and a device for removing an input of a common key having a pattern for generating a weak key, or determining whether or not the generated expanded key is not a weak key. By adding a device for discriminating and removing a weak key, it is considered that the key can be sufficiently prevented.

【0011】しかしながら、この種の弱鍵の生成阻止に
関する装置を付加した場合、拡大鍵生成装置及び暗復号
装置の価格を上昇させてしまい、さらに、拡大鍵生成装
置及び暗復号装置の規模を増大させる可能性がある。
However, if a device for preventing generation of a weak key of this kind is added, the price of the expanded key generation device and the encryption / decryption device increases, and the scale of the expanded key generation device and the encryption / decryption device increases. There is a possibility.

【0012】また、DES方式に限らず、弱鍵の生成を
阻止することにより、本来の各ラウンド毎に異なる拡大
鍵を用いた場合の暗号強度を実現させ、さらに、その暗
号強度を向上し得る暗号方式が望まれている。
In addition to the DES method, by preventing the generation of a weak key, it is possible to realize an encryption strength when a different expanded key is used for each original round, and to further improve the encryption strength. An encryption method is desired.

【0013】[0013]

【発明が解決しようとする課題】以上説明したように従
来の拡大鍵生成装置及び暗復号装置では、安全性の低下
を阻止する観点から、弱鍵の生成阻止に関する装置を付
加すると、拡大鍵生成装置及び暗復号装置の価格を上昇
させてしまい、さらに、拡大鍵生成装置及び暗復号装置
の規模を増大させる可能性がある。
As described above, in the conventional extended key generation apparatus and encryption / decryption apparatus, from the viewpoint of preventing a decrease in security, if an apparatus relating to the prevention of weak key generation is added, This may increase the price of the device and the encryption / decryption device, and may further increase the scale of the extended key generation device and the encryption / decryption device.

【0014】また、弱鍵の生成を阻止しても、鍵生成部
の処理が暗号強度の向上にあまり貢献しておらず、暗号
強度の向上が望まれている。
Further, even if the generation of a weak key is prevented, the processing of the key generation unit does not contribute much to the improvement of the encryption strength, and it is desired to improve the encryption strength.

【0015】本発明は上記実情を考慮してなされたもの
で、装置価格や装置規模を抑え、弱鍵の生成を阻止しつ
つ拡大鍵の攪拌性を向上でき、もって、暗号強度の向上
を図り得る拡大鍵生成装置、暗復号装置、拡大鍵生成方
法、及び記憶媒体を提供することを目的とする。
The present invention has been made in view of the above circumstances, and can reduce the price and scale of a device, improve the agitation of an expanded key while preventing the generation of a weak key, and thereby improve the encryption strength. It is an object of the present invention to provide an obtained expanded key generation device, encryption / decryption device, expanded key generation method, and storage medium.

【0016】[0016]

【課題を解決するための手段】請求項1に対応する発明
は、各ラウンド毎に異なる鍵が入力され、それぞれ前記
鍵に基づいて拡大鍵を生成する複数の鍵変換関数部がカ
スケードに連結された拡大鍵生成装置であって、前記各
鍵変換関数部としては、前記入力された鍵から得られた
第1鍵に基づいて所定の置換テーブルにより変換処理を
行う第1鍵変換手段と、この第1鍵変換手段による変換
結果と前記入力された鍵から得られた第2鍵とに基づい
て前記拡大鍵を算出する拡大鍵算出手段とを備えた拡大
鍵生成装置である。
According to a first aspect of the present invention, a different key is input for each round, and a plurality of key conversion function units for generating an expanded key based on each key are connected in cascade. An expanded key generation device, wherein each of the key conversion function units performs first key conversion means for performing a conversion process using a predetermined substitution table based on a first key obtained from the input key; An expanded key generation device comprising: an expanded key calculation unit that calculates the expanded key based on a conversion result obtained by a first key conversion unit and a second key obtained from the input key.

【0017】また、請求項2に対応する発明は、請求項
1に対応する拡大鍵生成装置において、前記各鍵変換関
数部としては、入力された鍵を左又は右に巡回シフトさ
せ、前記巡回シフトの完了した鍵を次ラウンドの鍵変換
関数部に入力する巡回シフト手段を備えた拡大鍵生成装
置である。
According to a second aspect of the present invention, in the extended key generating apparatus according to the first aspect, each of the key conversion function units cyclically shifts an input key to the left or right, and This is an extended key generation device provided with a cyclic shift means for inputting the shifted key to the key conversion function unit of the next round.

【0018】さらに、請求項3に対応する発明は、請求
項2に対応する拡大鍵生成装置において、前記巡回シフ
ト手段のシフト量としては、前記第1鍵変換手段の出力
ビット数と互いに素な値である拡大鍵生成装置である。
Further, according to a third aspect of the present invention, in the extended key generating apparatus according to the second aspect, the shift amount of the cyclic shift means is disjoint from the number of output bits of the first key conversion means. The value is an extended key generation device.

【0019】また、請求項4に対応する発明は、請求項
1に対応する拡大鍵生成装置において、前記各鍵変換関
数部としては、入力された鍵を置換テーブルにより変換
し、この変換の完了した鍵を次ラウンドの鍵変換関数部
に入力する入力鍵変換手段を備えた拡大鍵生成装置であ
る。
According to a fourth aspect of the present invention, in the expanded key generating apparatus according to the first aspect, each of the key conversion function units converts an input key by a substitution table, and completes the conversion. This is an extended key generation device provided with input key conversion means for inputting the generated key to the key conversion function unit of the next round.

【0020】さらに、請求項5に対応する発明は、請求
項1乃至請求項4のいずれか1項に対応する拡大鍵生成
装置において、前記各鍵変換関数部としては、前記第1
鍵変換手段による変換結果を拡大変換させて前記拡大鍵
算出手段に入力する拡大変換手段を備えた拡大鍵生成装
置である。
According to a fifth aspect of the present invention, in the extended key generating apparatus according to any one of the first to fourth aspects, the key conversion function unit includes the first key conversion function unit.
An enlarged key generation device including an extended conversion unit that performs an extended conversion of a conversion result by the key conversion unit and inputs the result to the extended key calculation unit.

【0021】また、請求項6に対応する発明は、請求項
5に対応する拡大鍵生成装置において、前記拡大変換手
段による拡大変換としては、所定ビット数のシフトであ
る拡大鍵生成装置である。
According to a sixth aspect of the present invention, there is provided the extended key generation apparatus according to the fifth aspect, wherein the extended conversion by the extended conversion means is a shift of a predetermined number of bits.

【0022】さらに、請求項7に対応する発明は、請求
項6に対応する拡大鍵生成装置において、所定ビット数
のシフトは、第1鍵変換手段による変換結果のビット数
の半分のビット数、あるいは半分のビット数に変換結果
のビット数の整数倍を加えた値のビット数だけ、当該変
換結果を左シフトすることにより行う拡大鍵生成装置で
ある。
According to a seventh aspect of the present invention, in the expanded key generating apparatus according to the sixth aspect, the predetermined number of bits is shifted by half the number of bits of the conversion result by the first key conversion means, Alternatively, this is an extended key generation device that performs the conversion result by shifting the conversion result to the left by the number of bits obtained by adding an integral multiple of the conversion result bit number to half the bit number.

【0023】さらに、請求項8に対応する発明は、請求
項1乃至請求項7のいずれか1項に対応する拡大鍵生成
装置において、前記拡大鍵演算手段による演算として
は、桁上りを伴う加算である拡大鍵生成装置である。
According to an eighth aspect of the present invention, in the expanded key generation apparatus according to any one of the first to seventh aspects, the operation by the expanded key operation means includes addition with carry. Is an extended key generation device.

【0024】また、請求項9に対応する発明は、請求項
1乃至請求項8のいずれか1項に対応する拡大鍵生成装
置を備えた暗復号装置において、前記各鍵変換関数部に
より生成された各拡大鍵に基づいて、入力された平文を
暗号化して暗号文を出力し、且つ、入力された暗号文を
復号して平文を出力する攪拌部を備えた暗復号装置であ
る。
According to a ninth aspect of the present invention, there is provided an encryption / decryption device including an extended key generation device according to any one of the first to eighth aspects, wherein the key conversion function unit generates An encryption / decryption device including a stirrer for encrypting an input plaintext based on the respective expanded keys and outputting a ciphertext, and decrypting the input ciphertext and outputting the plaintext.

【0025】さらに、請求項10に対応する発明は、請
求項9に対応する暗復号装置において、前記攪拌部が、
前記暗号化及び前記復号のための複数の置換テーブルを
有し、前記攪拌部のいずれかの置換テーブルが、前記第
1鍵変換手段の置換テーブルと共有化されている暗復号
装置である。
Further, the invention according to claim 10 is the encryption / decryption device according to claim 9, wherein the agitating section comprises:
An encryption / decryption device including a plurality of replacement tables for the encryption and the decryption, wherein one of the replacement tables of the stirring unit is shared with a replacement table of the first key conversion unit.

【0026】また、請求項11に対応する発明は、各ラ
ウンド毎に異なる鍵を入力し、入力された鍵から第1鍵
を生成し、生成された第1鍵を所定の置換テーブルによ
り変換し、変換結果と、入力された鍵から生成された第
2鍵とに基づいて拡大鍵を算出する拡大鍵生成方法であ
る。
According to the invention corresponding to claim 11, a different key is input for each round, a first key is generated from the input key, and the generated first key is converted by a predetermined replacement table. , An expanded key generation method for calculating an expanded key based on a conversion result and a second key generated from an input key.

【0027】さらに請求項12に対応する発明は、コン
ピュータに、各ラウンド毎に入力された異なる鍵から第
1鍵を生成させ、前記生成された第1鍵を所定の置換テ
ーブルにより変換させ、前記変換結果と前記入力された
鍵から得られる第2鍵とに基づいて拡大鍵を算出させる
ためのプログラムを記憶するコンピュータ読取り可能な
記憶媒体である。
Further, the invention according to claim 12 causes a computer to generate a first key from a different key input in each round, convert the generated first key by a predetermined replacement table, A computer-readable storage medium storing a program for calculating an expanded key based on a conversion result and a second key obtained from the input key.

【0028】さらに、請求項13に対応する発明は、コ
ンピュータに、前記入力された鍵を左又は右に巡回シフ
トさせ、前記巡回シフトの完了した鍵を次ラウンドに入
力させるためのプログラムを記憶したコンピュータ読取
り可能記憶媒体である。
According to a thirteenth aspect of the present invention, a program for causing a computer to cyclically shift the input key to the left or right and to input the key after the cyclic shift is completed in the next round is stored. A computer-readable storage medium.

【0029】さらに、請求項14に対応する発明は、請
求項13に対応するコンピュータ読取り可能記憶媒体に
おいて、前記巡回シフトのシフト量は前記第1鍵変換の
出力ビット数と互いに素な値であるコンピュータ読取り
可能記憶媒体である。
Further, according to a fourteenth aspect of the present invention, in the computer readable storage medium according to the thirteenth aspect, the shift amount of the cyclic shift is a value relatively prime to the number of output bits of the first key conversion. A computer-readable storage medium.

【0030】さらに、請求項15に対応する発明は、請
求項14に対応するコンピュータ読取り可能記憶媒体に
おいて、コンピュータに、前記入力された鍵を置換テー
ブルにより変換させ、前記変換の完了した鍵を次ラウン
ドに入力させるためのプログラムを記憶したコンピュー
タ読取り可能記憶媒体である。
Further, the invention according to claim 15 is a computer-readable storage medium according to claim 14, which causes a computer to convert the input key using a substitution table, and This is a computer-readable storage medium storing a program to be input in a round.

【0031】さらに、請求項16に対応する発明は、請
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、コンピュータに、前記第1鍵にもとづく変換結
果を拡大変換させるためのプログラムを記憶したコンピ
ュータ読取り可能記憶媒体である。
The invention according to claim 16 is a computer-readable storage medium according to claim 12, wherein the computer-readable storage medium stores a program for causing a computer to expand and convert a conversion result based on the first key. It is a possible storage medium.

【0032】さらに、請求項17に対応する発明は、請
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、前記拡大変換させる機能は所定ビット数のシフ
トであるコンピュータ読取り可能記憶媒体である。
Further, the invention according to claim 17 is the computer readable storage medium according to claim 12, wherein the function of performing the expansion conversion is a shift of a predetermined number of bits.

【0033】さらに、請求項18に対応する発明は、請
求項17に対応するコンピュータ読取り可能記憶媒体に
おいて、前記所定ビット数のシフトは、前記第1鍵変換
に基づく変換結果のビット数の半分のビット数、あるい
は前記半分のビット数に前記変換結果のビット数の整数
倍を加えた値のビット数だけ、当該変換結果を左シフト
することにより行うコンピュータ読取り可能記憶媒体で
ある。
Further, the invention according to claim 18 is the computer-readable storage medium according to claim 17, wherein the shift of the predetermined number of bits is a half of the number of bits of the conversion result based on the first key conversion. A computer-readable storage medium that performs a left-shift of the conversion result by the number of bits or a bit number obtained by adding an integer multiple of the number of bits of the conversion result to the half bit number.

【0034】さらに、請求項19に対応する発明は、請
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、前記拡大鍵を算出する機能は、桁上がりを伴う
加算であるコンピュータ読取り可能記憶媒体である。
Further, the invention according to claim 19 is the computer-readable storage medium according to claim 12, wherein the function of calculating the expanded key is addition with carry. .

【0035】さらに、請求項20に対応する発明は、コ
ンピュータに、各ラウンド毎に入力された異なる鍵から
第1鍵を生成させ、前記生成された第1鍵を所定の置換
テーブルにより変換させ、前記変換結果と前記入力され
た鍵から得られる第2鍵とに基づいて拡大鍵を算出さ
せ、前記生成された拡大鍵に基づいて入力された平文を
暗号化して出力し、かつ入力された暗号文を復号して平
文を出力する攪拌処理を実行させるためのプログラムを
記憶したコンピュータ読取り可能記憶媒体である。
Further, the invention according to claim 20 causes a computer to generate a first key from a different key input for each round, and to convert the generated first key by a predetermined replacement table. An expanded key is calculated based on the conversion result and a second key obtained from the input key, the input plaintext is encrypted and output based on the generated expanded key, and the input encryption This is a computer-readable storage medium storing a program for executing a stirring process of decoding a sentence and outputting a plaintext.

【0036】さらに、請求項21に対応する発明は、請
求項20に対応するコンピュータ読取り可能記憶媒体に
おいて、前記攪拌処理は、前記暗号化および復号のため
の複数の置換テーブルを有し、前記攪拌処理のいずれか
の置換テーブルは、前記第1鍵に基づく変換に使用され
る置換テーブルと共有化されているコンピュータ読取り
可能記憶媒体である。
Further, an invention according to claim 21 is the computer-readable storage medium according to claim 20, wherein the agitation processing includes a plurality of replacement tables for the encryption and decryption. Any of the replacement tables of the process is a computer-readable storage medium shared with the replacement table used for the conversion based on the first key.

【0037】さらに、請求項22に対応する発明は、各
ラウンド毎に異なる鍵が入力されそれぞれ前記鍵に基づ
いて拡大鍵を生成する、カスケートに接続された複数の
鍵変換関数部を有し、前記各鍵変換関数部は複数の並列
に配列された拡大変換要素を有し、前記各拡大変換要素
は、定数を保持する定数レジスタと、前記定数レジスタ
に保持された定数と入力された鍵から得られる第1鍵と
の排他的論理和を算出する排他的論理和算出手段と、前
記排他的論理和算出手段から出力された値に基づいて所
定の置換テーブルにより変換処理を行うSボックスと、
前記Sボックスから出力された変換結果を拡大変換する
拡大変換部とを有し、前記複数の拡大変換要素から出力
された変換結果と、前記入力された鍵から得られる第2
鍵とに基づいて拡大鍵を算出する拡大鍵算出手段を有し
た拡大鍵生成装置である。
Further, the invention according to claim 22 has a plurality of key conversion function units connected to a cascade, each of which receives a different key in each round and generates an expanded key based on each key, Each of the key conversion function units has a plurality of expansion conversion elements arranged in parallel, and each of the expansion conversion elements includes a constant register holding a constant, and a key input with the constant held in the constant register. An exclusive-OR calculating means for calculating an exclusive-OR with the obtained first key, and an S box for performing a conversion process by a predetermined replacement table based on a value output from the exclusive-OR calculating means,
An enlarging conversion unit for enlarging and converting the conversion result output from the S-box, and a conversion result output from the plurality of expansion conversion elements and a second key obtained from the input key.
An extended key generation device includes an extended key calculation unit that calculates an extended key based on a key.

【0038】さらに、請求項23に対応する発明は、各
ラウンド毎に異なる鍵が入力され、それぞれ前記鍵に基
づいて拡大鍵を生成する複数の鍵変換関数部がカスケー
ドに連結された拡大鍵生成装置に使用されるコンピュー
タ読取り可能記憶媒体であって、前記拡大鍵生成装置内
のコンピュータに、前記各鍵変換関数部として、各々
が、定数を保持する定数レジスタと、前記定数レジスタ
に保持された定数と入力された鍵から得られる第1鍵と
の排他的論理和を算出する排他的論理和算出手段と、前
記排他的論理和算出手段から出力された値に基づいて所
定の置換テーブルにより変換処理を行うSボックスと、
前記Sボックスから出力された変換結果を拡大変化する
拡大変換部とからなる複数の並列に配列された拡大変換
要素と、前記複数の拡大変換要素から出力された変換結
果と、前記入力された鍵から得られた第2鍵とに基づい
て拡大鍵を算出する拡大鍵算出手段とを実現させるため
のプログラムを記憶したコンピュータ読取り可能記憶媒
体である。
[0038] Further, according to the invention corresponding to claim 23, an extended key generation method is provided in which a different key is input for each round, and a plurality of key conversion function units for generating an extended key based on each key are connected in cascade. A computer-readable storage medium used in the device, wherein the computer in the extended key generation device includes, as each of the key conversion function units, a constant register holding a constant, and a constant register held in the constant register. Exclusive-OR calculating means for calculating an exclusive-OR of a constant and a first key obtained from the input key, and conversion by a predetermined substitution table based on a value output from the exclusive-OR calculating means An S box for processing;
A plurality of expansion conversion elements arranged in parallel comprising an expansion conversion section for expanding and changing the conversion result output from the S box; a conversion result output from the plurality of expansion conversion elements; and the input key. A computer-readable storage medium storing a program for realizing an expanded key calculating means for calculating an expanded key based on the second key obtained from the second key.

【0039】さらに、請求項24に対応する発明は、各
ラウンド毎に異なる鍵が入力され、それぞれ前記鍵に基
づいて拡大鍵を生成する、カスケードに連結された複数
の鍵変換関数部を有し、前記各鍵変換関数部は、入力さ
れた鍵を非線形的に置換し、その置換結果を出力する置
換処理部と、前記置換処理部から出力された第1鍵に基
づいて所定の置換テーブルにより変換処理を行う第1鍵
変換手段と、前記第1鍵変換手段による変換結果と前記
置換処理部から出力される第1鍵とに基づいて前記拡大
鍵を算出する拡大鍵算出手段と有した拡大鍵生成装置で
ある。
Further, the invention corresponding to claim 24 has a plurality of cascade-connected key conversion function units, each of which receives a different key in each round and generates an expanded key based on each key. Wherein each of the key conversion function units nonlinearly replaces the input key and outputs a replacement result, and a predetermined replacement table based on the first key output from the replacement processing unit. A first key conversion unit for performing a conversion process; and an expanded key calculation unit for calculating the expanded key based on a conversion result of the first key conversion unit and a first key output from the replacement processing unit. It is a key generation device.

【0040】さらに、請求項25に対応する発明は、各
ラウンド毎に異なる鍵を入力し、入力された鍵を非線形
的に置換し、前記置換により得られる第1鍵を所定の置
換テーブルにより変換し、前記変換結果と前記置換によ
り得られる第2鍵とにもとづいて前記拡大鍵を算出する
拡大鍵生成方法である。
Further, according to a twenty-fifth aspect of the present invention, a different key is input for each round, the input key is nonlinearly replaced, and the first key obtained by the replacement is converted by a predetermined replacement table. An expanded key generation method for calculating the expanded key based on the conversion result and a second key obtained by the replacement.

【0041】さらに、請求項26に対応する発明は、コ
ンピュータに、ラウンド毎に入力された異なる鍵から第
1鍵を生成させ、前記入力された鍵を非線形的に置換さ
せ、置換結果を出力させ、前記置換により得られた第1
鍵を所定の置換テーブルにより変換させ、前記変換結果
と前記置換により得られる第2鍵とに基づいて拡大鍵を
算出させるためのプログラムを記憶したコンピュータ読
取り可能記憶媒体である。
Further, the invention according to claim 26 causes a computer to generate a first key from a different key input for each round, nonlinearly replace the input key, and output a replacement result. , The first obtained by the substitution
A computer-readable storage medium storing a program for converting a key using a predetermined replacement table and calculating an expanded key based on the conversion result and a second key obtained by the replacement.

【0042】(作用)従って、請求項1、11、12に
対応する発明は以上のような手段を講じたことにより、
各鍵変換関数部としては、第1鍵変換手段が、入力され
た鍵から得られた第1鍵に基づいて所定の置換テーブル
により変換処理を行い、拡大鍵算出手段が、この第1鍵
変換手段による変換結果と入力された鍵から得られた第
2鍵とに基づいて拡大鍵を算出する。
(Operation) Therefore, the inventions corresponding to the first, the eleventh and the twelfth aspects have the following features.
As each key conversion function unit, the first key conversion unit performs a conversion process based on a first key obtained from the input key by using a predetermined replacement table, and the expanded key calculation unit outputs the first key conversion unit. An expanded key is calculated based on the result of the conversion by the means and the second key obtained from the input key.

【0043】このように、外部装置を付加しない簡易な
構成を用いており、拡大鍵を生成する際に、置換テーブ
ルによる非線形変換処理を行うため、装置価格や装置規
模を抑え、弱鍵の生成を阻止しつつ拡大鍵の攪拌性を向
上でき、もって、暗号強度を向上させることができる。
As described above, a simple configuration without adding an external device is used. When generating an expanded key, a non-linear conversion process is performed using a replacement table. , The agitation of the expanded key can be improved, and the encryption strength can be improved.

【0044】また、請求項2、13に対応する発明は、
各鍵変換関数部としては、巡回シフト手段が、入力され
た鍵を左又は右に巡回シフトさせ、巡回シフトの完了し
た鍵を次ラウンドの鍵変換関数部に入力するので、請求
項1、11、12に対応する作用に加え、容易且つ確実
に、各ラウンドに入力される鍵を互いに相違させること
ができる。
The invention according to claims 2 and 13 is:
As each key conversion function unit, the cyclic shift means cyclically shifts the input key to the left or right and inputs the key after the cyclic shift to the key conversion function unit of the next round. , 12 and the keys inputted in each round can be easily and reliably made different from each other.

【0045】さらに、請求項3、14に対応する発明
は、巡回シフト手段のシフト量としては、第1鍵変換手
段の出力ビット数と互いに素な値であるので、各ラウン
ドにおけるほぼ全ての第1鍵を互いに相違させることが
でき、請求項2、13に対応する作用をより一層、容易
且つ確実に奏することができる。
Further, according to the third and fourteenth aspects of the present invention, the shift amount of the cyclic shift means is a value which is relatively prime to the number of output bits of the first key conversion means. One key can be different from each other, and the action corresponding to the second and thirteenth aspects can be more easily and reliably achieved.

【0046】また、請求項4、15に対応する発明は、
各鍵変換関数部としては、入力鍵変換手段が、入力され
た鍵を置換テーブルにより変換し、この変換の完了した
鍵を次ラウンドの鍵変換関数部に入力するので、請求項
1、11、12に対応する作用に加え、容易且つ確実
に、各ラウンドに入力される鍵を互いに相違させること
ができる。
The invention corresponding to claims 4 and 15 is:
As each of the key conversion function units, the input key conversion unit converts the input key according to the substitution table and inputs the converted key to the key conversion function unit of the next round. In addition to the action corresponding to 12, the keys input in each round can be made different from each other easily and reliably.

【0047】さらに、請求項5、16に対応する発明
は、各鍵変換関数部としては、拡大変換手段が、第1鍵
変換手段による変換結果を拡大変換させて拡大鍵算出手
段に入力するので、請求項1〜4、12のいずれかに対
応する作用に加え、第1鍵の攪拌作用を拡大鍵の任意の
領域に反映させることができる。
Further, according to the inventions corresponding to claims 5 and 16, since the key conversion function section, the enlarging conversion means performs the enlarging conversion of the conversion result by the first key converting means and inputs the result to the expanded key calculating means. In addition to the action corresponding to any one of the first to fourth and twelfth aspects, the stirring action of the first key can be reflected on an arbitrary area of the expanded key.

【0048】また、請求項7、18に対応する発明は、
所定ビット数のシフトを、第1鍵変換による変換結果の
ビット数の半分のビット数、あるいは半分のビット数に
変換結果のビット数の整数倍を加えた値のビット数だ
け、変換結果を左シフトすることにより行うので、請求
項6、17に対応する作用を容易且つ確実に奏すること
ができる。
The invention according to claims 7 and 18 is:
The conversion result is shifted by a predetermined number of bits by half the number of bits of the conversion result by the first key conversion, or the number of bits of a value obtained by adding an integral multiple of the conversion result bit number to half the number of bits. Since the shift is performed, the action corresponding to claims 6 and 17 can be easily and reliably achieved.

【0049】さらに、請求項8、19に対応する発明
は、拡大鍵演算手段による演算としては、桁上りを伴う
加算であるので、請求項1〜7、12のいずれかに対応
する作用を、容易且つ確実に奏することができる。
Further, in the invention corresponding to claims 8 and 19, since the operation by the expanded key calculation means is addition with carry, the operation corresponding to any of claims 1 to 7 and 12 It can be played easily and reliably.

【0050】また、請求項9、20に対応する発明は、
攪拌部が、各鍵変換関数部により生成された各拡大鍵に
基づいて、入力された平文を暗号化して暗号文を出力
し、且つ、入力された暗号文を復号して平文を出力する
ので、請求項1〜8のいずれかに対応する拡大鍵生成装
置を備えた暗復号装置を実現することができる。
Also, the invention corresponding to claims 9 and 20 is:
Since the agitator encrypts the input plaintext based on each expanded key generated by each key conversion function unit and outputs a ciphertext, and decrypts the input ciphertext and outputs the plaintext. An encryption / decryption device including the extended key generation device according to any one of claims 1 to 8 can be realized.

【0051】さらに、請求項10、21に対応する発明
は、攪拌部が、暗号化及び復号のための複数の置換テー
ブルを有し、攪拌部のいずれかの置換テーブルが、第1
鍵変換手段の置換テーブルと共有化されているので、請
求項9、20に対応する作用に加え、装置規模の縮小化
を図ることができる。
Further, in the invention corresponding to claims 10 and 21, the stirring section has a plurality of replacement tables for encryption and decryption, and one of the replacement tables of the stirring section is the first table.
Since it is shared with the replacement table of the key conversion means, the size of the apparatus can be reduced in addition to the actions corresponding to claims 9 and 20.

【0052】[0052]

【発明の実施の形態】以下、本発明の各実施形態につい
て図面を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0053】(第1の実施形態)図1は本発明の第1の
実施形態に係る暗復号装置の構成を示すブロック図であ
り、図2はこの暗復号装置内の拡大鍵生成部の構成を示
すブロック図である。
(First Embodiment) FIG. 1 is a block diagram showing a configuration of an encryption / decryption device according to a first embodiment of the present invention, and FIG. 2 is a configuration of an extended key generation unit in the encryption / decryption device. FIG.

【0054】この暗復号装置は、パーソナルコンピュー
タやワークステーション等の計算機の暗復号処理部とし
て構成されており、ハードウェア又はソフトウェアによ
って暗号化処理と復号処理を行うものであって、具体的
には、共通鍵からn段の拡大鍵K1〜Knを生成する拡
大鍵生成部10と、拡大鍵生成部10により生成された
拡大鍵K1〜Knを順次各ラウンドR1〜Rnに用いて
暗号化又は復号を行う攪拌部20とを備えている。すな
わち、拡大鍵生成部10及び攪拌部20は、暗号化と復
号に共通して用いられており、ソフトウェアにより暗復
号装置を実現する場合には両者の動作を示すプログラム
が予め記憶媒体からインストールされている。なお、拡
大鍵生成部10及び攪拌部20との間には転置処理等を
設けてもよい。
This encryption / decryption device is configured as an encryption / decryption processing unit of a computer such as a personal computer or a workstation, and performs encryption and decryption processing by hardware or software. , An expanded key generation unit 10 for generating n-stage expanded keys K1 to Kn from the common key, and encryption or decryption by sequentially using the expanded keys K1 to Kn generated by the expanded key generation unit 10 for each round R1 to Rn. And a stirrer 20 for performing the following. That is, the extended key generation unit 10 and the agitation unit 20 are commonly used for encryption and decryption, and when the encryption / decryption device is realized by software, a program indicating both operations is installed in advance from a storage medium. ing. Note that a transposition process or the like may be provided between the expanded key generation unit 10 and the stirring unit 20.

【0055】ここで、拡大鍵生成部10は、各ラウンド
R1〜Rnに対応し、順にカスケード接続された鍵変換
関数fk1〜fkn(単に鍵変換関数fkともいう)が
設けられている。鍵変換関数fk1〜fknは、共通鍵
KC若しくは中間的な鍵変換結果kc1〜kcn-1が入
力されると、これを変換して得られた拡大鍵K1〜Kn
を攪拌部20のラウンド関数fr1〜frnに出力し、
また別途得られた中間的な鍵変換関数kc1〜kcn-1
を次段の鍵変換関数fk2〜fknに入力する機能をも
っている。
Here, the expanded key generation unit 10 is provided with key conversion functions fk1 to fkn (also simply referred to as a key conversion function fk) that are cascaded in order corresponding to the respective rounds R1 to Rn. When the common key KC or the intermediate key conversion results kc1 to kcn-1 are input, the key conversion functions fk1 to fkn are expanded keys K1 to Kn obtained by converting them.
Are output to the round functions fr1 to frn of the stirring unit 20,
Also, an intermediate key conversion function kc1 to kcn-1 obtained separately.
Is input to the key conversion functions fk2 to fkn of the next stage.

【0056】ここで、鍵変換関数fk1〜fknは、図
2に示すように、一時鍵レジスタ11〜11、定数
レジスタ12〜12、XOR素子13〜13
Sボックス14〜14、拡大変換部15〜1
、加算部16〜16及び巡回シフト部17
17n-1を備えている。なお、最終段の巡回シフト部1
は、次段に鍵変換関数fk(n+1)が無く、不要であ
るため、省略されている。
Here, the key conversion functions fk1 to fkn are shown in FIG.
As shown in FIG.1~ 11n,constant
Register 121~ 12n, XOR element 131~ 13n,
S box 141~ 14n, Enlargement conversion unit 151~ 1
5n, Adder 161~ 16nAnd cyclic shift unit 171~
17n-1It has. Incidentally, the cyclic shift unit 1 in the last stage
7 nIs unnecessary because there is no key conversion function fk (n + 1) in the next stage.
Therefore, it has been omitted.

【0057】一時鍵レジスタ11(但し、1≦i≦
n、以下も同様)は、拡大鍵生成部10に入力された共
通鍵又は前段の鍵変換関数fk(i-1)から入力された中
間的な鍵変換結果を保持するものであり、ここでは、5
6ビットのレジスタが使用されている。
The temporary key register 11 i (where 1 ≦ i ≦
n, the same applies hereinafter) holds the common key input to the extended key generation unit 10 or the intermediate key conversion result input from the preceding key conversion function fk (i-1). , 5
A 6-bit register is used.

【0058】定数レジスタ12には、鍵変換関数fk
iの属するラウンド数に対応して定数が設定され、XO
R素子13に供給可能となっている。具体的には、定
数レジスタ12は、ラウンド数n=16の例を図3
(a)に示すように、拡大鍵K1〜K16を逆順(K1
6〜K1)にも生成可能な観点から、保持する定数がラ
ウンド数の中央値(n=8,9)を中心として左右対称
(前段,後段で対称)に設定されている。但し、これに
限らず、定数レジスタ12は、拡大鍵K1〜K16を
逆順(K16〜K1)にも生成可能であれば、保持する
定数は任意であり、例えば図3(b)に示すように、暗
号化と復号の時とで定数を置換しても良い。なお、定数
レジスタ12は、図3(a)に示すように保持する定
数のうち、少なくともどれか一つの値を他とは異ならせ
て設定されていれば良い。
[0058] The constant register 12 i, key conversion function fk
A constant is set according to the number of rounds to which i belongs, and XO
It can be supplied to the R element 13i . Specifically, the constant register 12 i is an example in which the number of rounds n = 16 is shown in FIG.
As shown in (a), the extended keys K1 to K16 are arranged in reverse order (K1
6 to K1), the held constants are set to be bilaterally symmetrical (symmetrical in the first and second stages) around the median (n = 8, 9) of the number of rounds. However, not limited to this, the constant register 12 i is also generated extended keys K1~K16 in reverse order (K16~K1) if possible, a constant holding is optional, for example, as shown in FIG. 3 (b) Alternatively, the constant may be replaced between the time of encryption and the time of decryption. Note that the constant register 12 i, of the constant hold as shown in FIG. 3 (a), may be set at different from the other at least any one value.

【0059】XOR素子13は、一時鍵レジスタ11
内の8ビットのデータからなる第1鍵KAと、定数レ
ジスタ内の定数との排他的論理和を算出し、得られた8
ビットの算出結果をSボックスに入力するものである。
The XOR element 13 i stores the temporary key register 11
The exclusive OR of the first key KA consisting of 8-bit data in i and the constant in the constant register is calculated, and the obtained 8
The bit calculation result is input to the S box.

【0060】S(置換:substitution)ボックス14
は、弱鍵(全ての段で同じ拡大鍵)の生成を阻止するた
めのものであり、具体的には、XOR素子13から入
力された8ビットの値を非線形変換し、得られた8ビッ
トの変換結果を拡大変換部15に入力する機能を有す
る。Sボックス14iは、例えば図4に示すように入力
ビットと出力ビットとを置換するための置換テーブルを
使用して非線形の変換を行う。例えば、Sボックス14
iでは、入力ビットが(00000001)である場
合、その(00000001)という情報を2進表現で
あるとみなし、さらにその2進表現を10進表現した値
「1」に変換する。
S (substitution) box 14 i
Is intended to prevent the generation of weak keys (identical extended keys in all stages), specifically, an 8-bit value input from the XOR element 13 i nonlinearly converting the resulting 8 It has a function of inputting conversion result bit to enlarge converting unit 15 i. The S box 14i performs non-linear conversion using a replacement table for replacing input bits and output bits, for example, as shown in FIG. For example, S box 14
In i, when the input bit is (00000001), the information of (00000001) is regarded as a binary expression, and the binary expression is converted to a value “1” that is expressed in decimal.

【0061】そして、図4の置換テーブルを参照し、最
初に出現する「48」を0番目とすると、「1番目」の
要素「54」(10進表現)を決定し、その2進表現で
ある(00110110)を出力ビットとして出力す
る。そのため、入力ビット(00000001)を出力
ビット(00110110)に置換することができる。
Referring to the replacement table of FIG. 4, if the first occurrence “48” is the 0th, the “first” element “54” (decimal notation) is determined, and its binary notation is determined. A certain (00111010) is output as an output bit. Therefore, the input bit (00000001) can be replaced with the output bit (001110110).

【0062】なお、上述のように図4の置換テーブルは
0番〜255番目までの256個の入力に対応した要素
を保持しており、0〜255の値が入力された場合に対
応する0〜255の値を決定する場合に用いられるもの
である。
As described above, the replacement table of FIG. 4 holds elements corresponding to 256 inputs from the 0th to the 255th, and corresponds to the case where a value of 0 to 255 is input. It is used to determine the value of ~ 255.

【0063】また、Sボックス14は、装置規模の縮
小化の観点から、後述するラウンド関数fk内のいずれ
かのSボックスと共有することが好ましい。
[0063] In addition, S-boxes 14 i, from the viewpoint of reduction of the device size, it is preferable to share with one S-box in round function fk to be described later.

【0064】拡大変換部15は、Sボックス14
ら入力された8ビットの変換結果を大きな値に変換する
ものであり、ここでは、8ビットの変換結果を4ビット
だけ左シフトさせるように拡大変換し、下位4ビットに
「0」を埋め込むことにより得られた12ビットの拡大
変換結果を加算部16に入力する機能をもっている。
[0064] enlargement conversion unit 15 i is configured to convert the 8-bit conversion result input from the S box 14 i into a larger value, in this case, as shifted to left by 4 bits 8 bits of the conversion result expanding transform has a function of inputting the 12-bit expansion conversion result obtained by embedding "0" in lower 4 bits to the adder 16 i.

【0065】なお、拡大変換部15のシフト量は、S
ボックス14の出力ビットを後述する攪拌部20の2
つのSボックスS3,S4に反映させる観点から、等価
的にSボックス14の出力ビット数(=8)の半分
(=4ビット)とすることが好ましい。ここで、「等価
的に」の語は、4ビットシフトに代えて、例えば12
(=4+8×1)ビットシフト又は20(=4+8×
2)ビットシフトのように、出力ビット数の整数倍を加
えた変形例(換言すると、出力ビット数(=8)で除算
すると、余りが除数の半分(=4)のビット数となるシ
フト量をもつ変形例)を包含することを意味している。
また、Sボックス14の出力ビットは、12ビットシ
フトされた場合には、SボックスS3,S4ではなく、
SボックスS2,S3に反映され、20ビットシフトさ
れた場合にはSボックスS1,S2に反映される。さら
に、Sボックス14の出力ビットを2つのSボックス
S3,S4(S2,S3又はS1,S2を含む)に反映
させる場合、4ビットずつの組合せに限らず、順不同で
1ビットと7ビット、2ビットと6ビットあるいは3ビ
ットと5ビットの組合せとしてもよい。すなわち、等価
的な4ビットシフトに代えて、等価的な1〜3,5〜7
の任意のビットシフトとしてもよい。
[0065] Note that the shift amount of the enlargement conversion unit 15 i is, S
The output bit of the box 14i is transmitted to the stirrer 20-2 described later.
One in terms of reflecting the S-boxes S3, S4, it is preferable that the equivalent to S box 14 i output bit number (= 8) of the half (= 4 bits). Here, the word “equivalently” means, for example, 12
(= 4 + 8 × 1) bit shift or 20 (= 4 + 8 ×
2) A modified example in which an integer multiple of the number of output bits is added, such as a bit shift (in other words, when divided by the number of output bits (= 8), the remainder is the number of bits equal to half the divisor (= 4)) ) Is included.
Also, the output bits of the S box 14 i is 12 if it is bit-shifted, not the S box S3, S4,
It is reflected on the S boxes S2 and S3, and when shifted by 20 bits, it is reflected on the S boxes S1 and S2. Furthermore, if to reflect the output bits of the S box 14 i (including S2, S3 or S1, S2) 2 two S boxes S3, S4, not limited to the combination of four bits, 1 bit and 7 bits out of order, A combination of 2 bits and 6 bits or 3 bits and 5 bits may be used. That is, instead of the equivalent 4-bit shift, equivalents 1-3, 5-7
May be an arbitrary bit shift.

【0066】加算部16は、拡大変換部15から入
力された12ビットの拡大変換結果と、一時鍵レジスタ
11内の32ビットのデータからなる第2鍵KBとを
加算し(桁上りを伴う通常の加算)、得られた加算結果
(32ビット(桁上がりは無視する))をラウンドRi
の拡大鍵Kiとして攪拌部20のラウンド関数friに
入力する機能をもっている。
[0066] adding unit 16 i includes a 12-bit expansion conversion result inputted from the enlargement conversion unit 15 i, and a second key KB consisting of 32-bit data in the temporary key register 11 within the i sum (carry ), And the obtained addition result (32 bits (carry is ignored)) is rounded to Ri.
Has a function of inputting to the round function fri of the agitating unit 20 as the expanded key Ki.

【0067】なお、一時鍵レジスタ11から抽出され
る第1鍵KA及び第2鍵KBは、図2においては、それ
ぞれ連続する領域から個別に取出されたが、これに限ら
ず、不連続な領域から取り出してもよい。すなわち、第
1鍵KAは、一時鍵レジスタ11内の任意の合計8ビ
ットのデータであればよく、第2鍵KBは、一時鍵レジ
スタ11内の任意の合計32ビットのデータであれば
よい。また、第1鍵KAは、第2鍵KBと重なっていて
もよい。なお、第1鍵KAのビット長は、攪拌部20の
Sボックスの入力ビット長と等しくすることがSボック
スの共有化の観点から好ましい。第2鍵KBのビット長
は、拡大鍵Kiのビット長と等しくすることが、設計の
簡易化の観点から好ましい(但し、所望により、第2鍵
KBと拡大鍵Kiのビット長を互いに異ならせてもよ
く、この場合、例えば縮約型転置(permutation)や拡大
転置等を用い、最終的に拡大鍵Kiのビット長を調整可
能である)。
[0067] The first key KA and the second key KB extracted from the temporary key register 11 i, in FIG. 2 is taken out separately from the area, each successive not limited thereto, discontinuous It may be taken out of the area. That is, the first key KA may be any total of 8 bits of data in the temporary key register 11 within the i, second key KB, if any total of 32 bits of data in the temporary key register 11 within the i Good. Further, the first key KA may overlap with the second key KB. It is preferable that the bit length of the first key KA is equal to the input bit length of the S box of the agitator 20 from the viewpoint of sharing the S box. It is preferable that the bit length of the second key KB be equal to the bit length of the expanded key Ki from the viewpoint of simplification of design (however, if desired, the bit lengths of the second key KB and the expanded key Ki may be different from each other. In this case, it is possible to finally adjust the bit length of the expanded key Ki using, for example, a contraction type permutation or an expansion permutation).

【0068】巡回シフト部17は、一時鍵レジスタ1
の値を所定のシフト量だけ巡回シフトさせて次段の
一時鍵レジスタ11i+1に入力するものであり、ここで
は図5に示すように、各鍵変換関数fk1〜fkn毎
に、シフト量が設定されている。なお、巡回シフト部1
のシフト量は、鍵の攪拌性を高める観点から、少な
くとも共通鍵KCのビット数又はSボックス14の出
力ビット数のいずれかと互いに素であることが好まし
く、三者が互いに素であることが最も好ましい。また、
このシフト量は、拡大鍵K1〜K16を逆順(K16〜
K1)にも生成可能とする観点から、最終段を除いた鍵
変換関数fk1〜fk(n+1)の中央値(n=8)を中心
として左右対称(前段,後段で対称)に設定されてい
る。但し、これに限らず、巡回シフト部17は、拡大
鍵K1〜K16を逆順(K16〜K1)にも生成可能で
あれば、シフト量及び巡回方向を任意に設定可能であ
る。
The cyclic shift unit 17i stores the temporary key register 1
1 i value of by cyclically shifted by a predetermined shift amount is intended to enter the next stage of the temporary key register 11 i + 1, where as shown in FIG. 5, for each key conversion function Fk1~fkn, The shift amount is set. Note that the cyclic shift unit 1
Shift amount of 7 i, from the viewpoint of increasing the agitation of the keys is preferably relatively prime to any number of output bits of the least common key bits or S box 14 i of KC, three parties are disjoint Is most preferred. Also,
This shift amount is determined by expanding the expanded keys K1 to K16 in the reverse order (K16 to K16).
K1), from the viewpoint of being able to generate the key conversion function, the key conversion functions fk1 to fk (n + 1) are set to be symmetrical (symmetrical at the front and rear stages) about the median (n = 8) of the key conversion functions excluding the last stage. ing. However, not limited to this, the cyclic shift unit 17 i also generates if the expanded key K1~K16 in reverse order (K16~K1), can be arbitrarily set the shift amount and a cyclic direction.

【0069】一方、攪拌部20は、夫々ラウンドR1か
らラウンドRnまでのnラウンドの処理において、拡大
鍵生成部10から順に拡大鍵K1〜K16が与えられる
とき、入力された平文を暗号化して暗号文を出力する暗
号化機能を有し、また、拡大鍵生成部10から暗号化と
は逆順に拡大鍵K16〜K1が与えられるとき、入力さ
れた暗号文を復号して平文を出力する復号機能を有して
いる。攪拌部20には、各ラウンドR1〜Rnに対応し
て、順にカスケード接続されたラウンド関数fr1〜f
rnが設けられている。
On the other hand, when the expanded keys K1 to K16 are sequentially given from the expanded key generation unit 10 in the processing of the n rounds from the round R1 to the round Rn, the agitating unit 20 encrypts the input plaintext and encrypts it. A decryption function for decrypting the input ciphertext and outputting a plaintext when the extended keys K16 to K1 are given in the reverse order of the encryption from the extended key generation unit 10; have. The stirrer 20 includes round functions fr1 to fr cascaded in order corresponding to the rounds R1 to Rn.
rn is provided.

【0070】ラウンド関数friは、暗号化のとき、平
文又は中間的な暗号化結果を、拡大鍵生成部10から入
力された拡大鍵Kiに基づいて変換し、中間的な暗号化
結果又は暗号文を出力する関数であり、復号のとき、暗
号文又は中間的な復号結果を、拡大鍵生成部10から逆
順に入力された拡大鍵K(n+1-i)に基づいて変換し、中
間的な復号結果又は平文を出力する関数であって、ここ
では一例として図6に示す如きFeistel構造が使用され
ている。
The round function fri converts, at the time of encryption, a plaintext or an intermediate encryption result based on the expanded key Ki input from the expanded key generation unit 10, and converts the intermediate encryption result or the encrypted text. Is a function that outputs a ciphertext or an intermediate decryption result at the time of decryption based on the extended key K (n + 1-i) input in the reverse order from the extended key generation unit 10, This is a function for outputting a decryption result or a plaintext, and here, for example, a Feistel structure as shown in FIG. 6 is used.

【0071】図6中のFeistel構造は、与えられた2つ
のサブブロックLi,Riからなるデータブロックのう
ち、一方のサブブロックRiを拡大鍵Kiに基づいてF
関数で非線形変換し、この変換結果と他方のサブブロッ
クLiとの排他的論理和をXOR素子21で算出し、こ
の算出結果Ri+1と一方のサブブロックLi+1(=Ri)
との位置を交替して次段に与える、という構成を備えて
いる。
In the Feistel structure in FIG. 6, one of the given data blocks consisting of two sub-blocks Li and Ri is assigned to one sub-block Ri based on the expanded key Ki.
The XOR element 21 calculates the exclusive OR of the conversion result and the other sub-block Li with a non-linear conversion using a function. The calculation result Ri + 1 and one of the sub-blocks Li + 1 (= Ri)
The position is changed and given to the next stage.

【0072】ここで、F関数は、図6中において、拡大
鍵KとサブブロックRi(又はLi)との排他的論理和
を算出するXOR素子22と、XOR素子22の出力を
4分割して夫々非線形変換する4つのSボックスS1乃
至S4とから構成される。なお、各SボックスS1乃至
S4は、例えば図3に示すような置換テーブルを有する
が、各Sボックスが共通の置換テーブルを持つように構
成してもよいし、それぞれ異なる置換テーブルを持つよ
うに構成してもよい。
Here, the F function is obtained by dividing the output of the XOR element 22 and the XOR element 22 for calculating the exclusive OR of the expanded key K and the sub-block Ri (or Li) in FIG. It comprises four S-boxes S1 to S4 for nonlinear conversion. Each of the S boxes S1 to S4 has a replacement table as shown in FIG. 3, for example. However, each S box may be configured to have a common replacement table, or may be configured to have different replacement tables. You may comprise.

【0073】なお、各ラウンド関数frによる変換は、
同じ変換を2回繰り返すと、元のデータが復元されるイ
ンボルーション(involution)という性質をもってい
る。このため、攪拌部20では、平文を拡大鍵K1〜K
16の順に変換して暗号文を生成したとき、この暗号文
を拡大鍵K16〜K1の順に再度変換すると、平文が生
成可能となっている。
The conversion by each round function fr is as follows:
When the same transformation is repeated twice, the original data is restored, which is called an evolution. For this reason, the stirring unit 20 converts the plaintext into the expanded keys K1 to K.
When a ciphertext is generated by converting the ciphertext in the order of 16 and the ciphertext is converted again in the order of the expanded keys K16 to K1, a plaintext can be generated.

【0074】次に、以上のように構成された暗復号装置
の動作を図7に示すフローチャートも参照して説明す
る。暗号化の際には、図1に示すように、入力された共
通鍵KC又は中間的な鍵変換結果kciは、鍵変換関数
fkiにより1ラウンド毎に拡大鍵Kiに変換される。
Next, the operation of the encryption / decryption device configured as described above will be described with reference to the flowchart shown in FIG. At the time of encryption, as shown in FIG. 1, the input common key KC or intermediate key conversion result kci is converted into an expanded key Ki for each round by a key conversion function fki.

【0075】詳しくは図8に示すように、鍵変換関数f
kiにおいては、一時鍵レジスタ11から取り出した
8ビットの第1鍵KAと定数レジスタ12内の定数と
の排他的論理和をXOR素子13が算出し(図7のス
テップS1)、この算出結果をSボックス14が非線
形変換する(図7のステップS3)。非線形変換として
は、例えば図4に示した関係で入力と出力とを各ビット
毎に置換する。この置換結果は、拡大変換部15によ
り4ビット左シフト(=16倍)されて加算部16
入力される(図7のステップS5)。
More specifically, as shown in FIG.
In ki, the temporary key register 11 the exclusive OR of the constants 8 in the first key KA and the constant register 12 i of bits taken from i XOR element 13 i is calculated (step S1 of FIG. 7), the the calculation result S box 14 i is non-linear transformation (step S3 in FIG. 7). As the non-linear conversion, for example, the input and the output are replaced for each bit in the relationship shown in FIG. This substitution result is input 4-bit left shift by enlargement conversion unit 15 i (= 16 times) has been to the adder 16 i (step S5 in FIG. 7).

【0076】加算部16は、入力されたシフト結果
(12ビット)と一時鍵レジスタ11 から取り出した
32ビットの第2鍵KBとを加算し、加算結果を32ビ
ットの拡大鍵Kiとして攪拌部20に出力する(図7の
ステップS7)。
Adder 16iIs the input shift result
(12 bits) and temporary key register 11 iTaken out of
A 32-bit second key KB is added, and the addition result is 32-bit.
It is output to the agitator 20 as the expanded key Ki of the unit (see FIG. 7).
Step S7).

【0077】この拡大鍵Kiにおいては、Sボックス1
で変換された8ビットの第1鍵KAが、右(最下位
桁)から5ビット目〜12ビット目に位置する。このビ
ット位置は、第3及び第4のSボックスS3,S4への
入力に対応する。従って、拡大鍵生成部10のSボック
ス14による攪拌作用を攪拌部20の2つのSボック
スS3,S4に反映でき、拡大鍵の攪拌性が向上されて
いる。
In this expanded key Ki, the S box 1
First key KA of 8 bits converted by 4 i is located 12 bit 5 bit from the right (least significant digit). This bit position corresponds to the input to the third and fourth S boxes S3, S4. Accordingly, the stirring action by the S box 14 i in the extended key generator 10 can be reflected in two S boxes S3, S4 of the stirring portion 20, agitation of the expanded key is improved.

【0078】また、攪拌部20では、平文が、各ラウン
ド関数fr1〜frn毎に各拡大鍵K1〜Knに基づい
て変換され、中間的な暗号化結果を経て最終的に暗号文
に変換される。
In the stirring unit 20, the plaintext is converted for each of the round functions fr1 to frn based on the expanded keys K1 to Kn, and finally converted into a ciphertext through an intermediate encryption result. .

【0079】一方、復号の際には、拡大鍵生成部10に
おいては、前述同様に共通鍵KCが入力されると、暗号
化時とは逆順に鍵変換処理が行われ、拡大鍵Kn〜K1
が順次、攪拌部20に出力される。
On the other hand, at the time of decryption, when the common key KC is input in the same manner as described above, the expanded key generation unit 10 performs key conversion processing in the reverse order of the encryption, and generates the expanded keys Kn to K1.
Are sequentially output to the stirring unit 20.

【0080】攪拌部20では、入力された暗号文が、暗
号化時とは逆順の拡大鍵Kn〜K1に基づいて変換さ
れ、中間的な復号結果を経て最終的に平文に変換され
る。
In the agitating section 20, the input ciphertext is converted based on the expanded keys Kn to K1 in the reverse order of the encryption, and finally converted into plaintext through an intermediate decryption result.

【0081】上述したように本実施形態によれば、各鍵
変換関数fk1〜fknとしては、入力された鍵から得
られた第1鍵KAに基づいてSボックス14(置換テ
ーブル)により非線形変換処理を行い、加算部16
が、このSボックス14による変換結果を左シフト
させた値と、入力された鍵から得られた第2鍵KBとに
基づいて拡大鍵K1〜K16を算出する。
As described above, according to the present embodiment, each of the key conversion functions fk1 to fkn is converted by the S box 14 i (substitution table) based on the first key KA obtained from the input key. The processing is performed, and the adding unit 16
i calculates a value of the conversion result obtained by left-shifting by the S box 14 i, the expanded key K1~K16 based on a second key KB obtained from the input key.

【0082】このように、外部装置を付加しない簡易な
構成を用いており、拡大鍵Kiを生成する際に、置換テ
ーブル(Sボックス14i)による非線形変換処理を行
うため、装置価格や装置規模を抑え、弱鍵の生成を阻止
しつつ拡大鍵の攪拌性を向上でき、もって、暗号強度を
向上させることができる。
As described above, a simple configuration without adding an external device is used, and when generating an expanded key Ki, a non-linear conversion process is performed using the replacement table (S box 14i). Thus, it is possible to improve the agitation of the expanded key while preventing the generation of a weak key, thereby improving the encryption strength.

【0083】また、各鍵変換関数fkiでは、巡回シフ
ト部17が、入力された鍵を左(又は右)に巡回シフ
トさせ、巡回シフトの完了した鍵を次ラウンドの鍵変換
関数fk(i+1)に入力するので、容易且つ確実に、各ラ
ウンドに入力される鍵を互いに相違させることができ
る。
[0083] Also, in each key transform function fki, cyclic shift section 17 i is, the input key is cyclically shifted to the left (or right), the key conversion follows round key completed cyclic shift function fk (i Since +1) is input, keys input in each round can be easily and reliably different from each other.

【0084】さらに、巡回シフト部17のシフト量と
しては、例えば、Sボックス14の出力ビット数と互
いに素な値とした場合、各ラウンドR1〜Rnにおける
ほぼ全ての第1鍵KAを互いに相違させることができ、
前述した効果をより一層、容易且つ確実に得ることがで
きる。
[0084] Further, as the shift amount of the cyclic shift section 17 i, for example, when relatively prime values and the number of output bits of the S box 14 i, nearly all first keys KA in the rounds R1~Rn each other Can be different,
The effects described above can be more easily and reliably obtained.

【0085】さらに、各鍵変換関数fkiとしては、拡
大変換部15が、Sボックス14 による変換結果を
拡大変換させて加算部16に入力するので、前述した
効果に加え、第1鍵KAの攪拌作用を拡大鍵Kiの任意
の領域に反映させることができる。
Further, as each key conversion function fki, an expanded
Large conversion unit 15iBut S box 14 iConversion result by
Enlargement conversion and addition unit 16iEnter the above,
In addition to the effect, the stirring action of the first key KA is expanded
Area can be reflected.

【0086】また、拡大変換部15による拡大変換と
しては、所定ビット数のシフトであるので、前述した効
果を容易且つ確実に得ることができる。
[0086] As the expansion conversion by enlargement conversion unit 15 i, since it is shifted a predetermined number of bits, can be obtained easily and reliably effects described above.

【0087】さらに、攪拌部20が、暗号化及び復号の
ための複数のSボックスS1〜S4を有し、攪拌部20
のいずれかのSボックスが、鍵変換関数fk1〜fkn
のSボックス14と共有化されているので、装置規模
の縮小化を図ることができる。
Further, the stirring unit 20 has a plurality of S boxes S1 to S4 for encryption and decryption.
Of any one of the key conversion functions fk1 to fkn
Since the S-box 14 i are shared, it is possible to achieve a reduction of the device size.

【0088】また、各鍵変換関数fk1〜fknとして
は、拡大変換部15が、Sボックス14による変換
結果を受けたとき、この変換結果のビット数の半分のビ
ット数、あるいは半分のビット数に変換結果のビット数
の整数倍を加えた値のビット数だけ、当該変換結果を左
シフトさせて加算部16に入力するので、第1鍵KA
の攪拌作用を拡大鍵Kiにて左シフトさせた領域に反映
させることができ、この場合、攪拌部20の複数のSボ
ックスS3,S4に入力される領域に反映させることが
できるので、より一層、暗号強度の向上を図ることがで
きる。
[0088] Further, as each of the key conversion function Fk1~fkn, enlargement conversion unit 15 i is, when subjected to the conversion result by S box 14 i, half the number of bits of the number of bits of the conversion result, or half the bit only the number of bits obtained by adding an integer multiple of the number of bits of the result converted to a number, so the conversion result by left shift and inputs to the adder 16 i, the first key KA
Can be reflected in the area shifted leftward by the expansion key Ki. In this case, the stirring action can be reflected in the areas input to the plurality of S boxes S3 and S4 of the stirring section 20, so that the stirring action can be further improved. Thus, the encryption strength can be improved.

【0089】(第2の実施形態)図9は本発明の第2の
実施形態に係る拡大鍵生成装置に適用される鍵変換関数
の構成を示すブロック図であり、図2と同一部分には同
一符号を付してその詳しい説明を省略し、ここでは異な
る部分についてのみ述べる。なお、以下の各実施形態も
同様にして重複した説明を省略する。
(Second Embodiment) FIG. 9 is a block diagram showing a configuration of a key conversion function applied to an extended key generation device according to a second embodiment of the present invention. The same reference numerals are given and the detailed description is omitted, and only different portions are described here. In the following respective embodiments, the duplicated description will be omitted in the same manner.

【0090】すなわち、本実施形態は、第1の実施形態
の変形例であり、拡大鍵の攪拌性のより一層の向上を図
るものであり、具体的には図2に示すように、各鍵変換
関数において、前述した定数レジスタ12、XOR素
子13、Sボックス14及び拡大変換部15から
なる変換要素が互いに並列に、一時鍵レジスタ11
加算部16との間に接続されている。
That is, the present embodiment is a modification of the first embodiment, and aims at further improving the agitation of the expanded key. Specifically, as shown in FIG. In the conversion function, the conversion elements including the constant register 12 i , the XOR element 13 i , the S box 14 i and the expansion conversion unit 15 i are connected in parallel with each other between the temporary key register 11 i and the addition unit 16 i. Have been.

【0091】ここで、2つのSボックス14は、1種
類で設けてもよく、又は複数の種類で設けてもよいが、
複数の種類を用いる場合、共通鍵KCに基づいて拡大鍵
Kiを正順及び逆順の両方で生成可能とする観点から、
前半の鍵変換関数fk1〜fk8と後半の鍵変換関数f
k9〜fk16とでは中央(fk8,9)から上下対称
となるように種類が設けられることが好ましい。
Here, the two S boxes 14i may be provided in one type or in a plurality of types.
When a plurality of types are used, from the viewpoint that the expanded key Ki can be generated in both the normal order and the reverse order based on the common key KC,
First half key conversion function fk1 to fk8 and second half key conversion function f
It is preferable that the types k9 to fk16 are provided so as to be vertically symmetrical from the center (fk8, 9).

【0092】また、2つの拡大変換部15iは、互いに
同一のシフト量とすることも可能であるが、2つのSボ
ックス14による攪拌効果をより広範囲に反映させる
観点から、互いに異なるシフト量でSボックス14
出力を左シフトさせることが好ましい。この場合、例え
ば一方の拡大変換部15を4ビットの左シフトとし、
他方の拡大変換部15を20ビットの左シフトとする
と、第1鍵KAの攪拌効果を攪拌部20のSボックスS
1〜S4の全てに反映できるので好ましい。
[0092] Further, the two expansion conversion section 15i, it is also possible to the same shift amount to each other, from the viewpoint of more widely reflect stirring effect by the two S boxes 14 i, mutually different shift amount It is preferable to shift the output of the S box 14i to the left. In this case, for example, one of the enlargement conversion units 15i is shifted left by 4 bits, and
Assuming that the other enlargement conversion unit 15 i is shifted left by 20 bits, the stirring effect of the first key KA is determined by the S box S of the stirring unit 20.
This is preferable because it can be reflected in all of the steps 1 to S4.

【0093】以上のような構成によれば、第1鍵KAに
よる攪拌性をさらに向上できるので、第1の実施形態の
効果に加え、拡大鍵Kiの攪拌性をより一層向上させる
ことができる。
According to the above configuration, the agitation by the first key KA can be further improved, so that the agitation of the expanded key Ki can be further improved in addition to the effect of the first embodiment.

【0094】(第3の実施形態)図10は本発明の第3
の実施形態に係る拡大鍵生成装置の構成を示すブロック
図である。本実施形態は、第1又は第2の実施形態の変
形形態であり、一時鍵レジスタ11及び巡回シフト部
17に代えて、入力される共通鍵KC又は中間的な鍵
kc1〜kcn-1の各ビットを互いに非線形的に置換
し、得られた中間的な鍵の一部を自己の段のXOR素子
13並びに加算部16に入力すると共に、その中間
的な鍵の全体を次段の置換処理部18(i+1)に入力する
置換処理部18を備えている。
(Third Embodiment) FIG. 10 shows a third embodiment of the present invention.
It is a block diagram showing the composition of the expansion key generation device concerning an embodiment. This embodiment is a modification of the first or second embodiment. Instead of the temporary key register 11 i and the cyclic shift unit 17 i , an input common key KC or intermediate keys kc1 to kcn-1 are used. Are non-linearly replaced with each other, a part of the obtained intermediate key is input to the XOR element 13 i and the adder 16 i of its own stage, and the entire intermediate key is transferred to the next stage. and a replacement processing unit 18 i to be inputted to the replacement processor 18 (i + 1) of the.

【0095】各置換処理部18は、共通鍵KCに基づ
いて拡大鍵Kiを正順及び逆順の両方で生成可能とする
観点から、共通鍵KCを正順にn回置換した結果が元の
共通鍵KCに等しくなるように夫々設定され、且つラウ
ンド数n=16の場合の例を図11に示すように、暗号
化の際には昇順に変換を行い、復号の際には降順に逆変
換を行うように設定されている。各置換処理部18iの
具体的な処理としては、例えば共通鍵KCを任意のビッ
ト数左にローテートシフトすることにより行われる。
[0095] Each replacement processor 18 i are common from the viewpoint of enabling generation, substituted result is based on n times the common key KC in normal order in both forward order and the reverse order of the expansion key Ki on the basis of the common key KC FIG. 11 shows an example in which each is set to be equal to the key KC and the number of rounds is n = 16. As shown in FIG. 11, conversion is performed in ascending order at the time of encryption, and inversely performed in descending order at the time of decryption. Is set to do. The specific processing of each replacement processing unit 18i is performed, for example, by rotating the common key KC by an arbitrary number of bits to the left.

【0096】図10に示す実施形態においては、図12
のステップS21において、置換処理部18iにより、
共通鍵KCを非線形に変換する処理が行われる。次に、
ステップS23において、置換処理部18iから得られ
る第1鍵KAと、定数レジスタ12iに保持される定数
との排他的論理和がXOR素子13iにより演算され
る。そしてステップS25において、XOR素子13I
からの排他的論理和がSボックス14iにより置換テー
ブルを用いて非線形に変換される。そして、ステップS
27において、非線形変換された値が拡大変換部15i
において、4ビット左シフトされ、12ビットの拡大変
換された結果が得られる。そして、ステップS29にお
いて、12ビット拡大変換された結果と、置換処理部1
8iから得られる第2鍵KBとが加算され、拡大鍵が生
成される。以上のような構成としても、第1又は第2の
実施形態と同様の効果を得ることができ、これに加え、
容易且つ確実に、各鍵変換関数fk1〜fknに入力さ
れる鍵KC,kc1〜KCn-1を互いに相違させること
ができる。
In the embodiment shown in FIG. 10, FIG.
In step S21, the replacement processing unit 18i
A process for nonlinearly converting the common key KC is performed. next,
In step S23, an exclusive OR of the first key KA obtained from the replacement processing unit 18i and the constant held in the constant register 12i is calculated by the XOR element 13i. Then, in step S25, the XOR element 13I
Is converted nonlinearly by the S box 14i using the replacement table. And step S
In 27, the value subjected to the non-linear conversion is converted to the magnification conversion unit 15i.
, The result is shifted left by 4 bits, and a result of 12-bit expansion conversion is obtained. Then, in step S29, the result of the 12-bit expansion conversion and the replacement processing unit 1
8i and the second key KB obtained from 8i are added to generate an expanded key. Even with the above configuration, the same effects as those of the first or second embodiment can be obtained.
The keys KC and kc1 to KCn-1 input to the respective key conversion functions fk1 to fkn can be easily and reliably different from each other.

【0097】なお、上記各実施形態では、Sボックス1
の入力側に、定数を排他的論理和するXOR素子1
を設けた場合について説明したが、これに限らず、
XOR素子13を省略し、Sボックス14に代え
て、定数の排他的論理和を算出した後のSボックス14
を設けた構成としても、本発明を同様に実施して同
様の効果を得ることができる。すなわち、例えばKAの
値と定数のとの排他的論理和をあらかじめ計算しておい
て、表の形で保持し、Sボックス14xiがKAの値を
入力パラメータとして表を引き、排他的論理和の算出結
果を得るように構成してもよい。
In each of the above embodiments, the S box 1
4 An XOR element 1 for exclusive-ORing a constant is provided on the input side of i.
3 A description has been given of the case where i is provided.
The XOR element 13 i is omitted, and the S box 14 after calculating the exclusive OR of the constants instead of the S box 14 i
It has a structure in which a x i, it is possible to obtain the same effect by performing the present invention in a similar manner. That is, for example, the exclusive OR of the value of the KA and the constant is calculated in advance and stored in the form of a table, and the S box 14xi draws the table using the value of the KA as an input parameter, and You may comprise so that a calculation result may be obtained.

【0098】図13は、上述したこの発明の拡大鍵生成
装置、暗復号装置及び記憶媒体を具現化した、スマート
カードの構成を示す機能ブロック図である。同図に示す
ようにはスマートカード51は、CPU53、RAM5
5、ROM57、EEPROM59、及びコンタクタ6
1を有する。RAM55は、各種データの記憶や、ワー
クエリアなどに使用される。ROM57は、各種データ
の記憶やプログラムの記憶等に使用される。EEPRO
M59は、上述した図X、Yに示すフローチャートで示
されるプログラム等を記憶する。コンタクタ61は、図
示しないスマートカードリーダ/ライタとの電気的接触
を得る。なお、図7および12に示すプログラムは、E
EPROM59の代わりに、RAM55あるいはROM
57に記憶するようにししてもよい。(第4の実施形
態)次に、本発明の第4の実施形態に係る暗復号装置に
ついて図14を用いて説明する。この暗復号装置30
は、第1乃至第3の実施形態のいずれかで述べた構成を
有し、例えば画像データや音楽データ等のディジタル情
報(以下、生データという)を保護するためのものであ
る。
FIG. 13 is a functional block diagram showing the configuration of a smart card embodying the above-described expanded key generation device, encryption / decryption device, and storage medium of the present invention. As shown in the figure, the smart card 51 includes a CPU 53, a RAM 5
5, ROM 57, EEPROM 59, and contactor 6
One. The RAM 55 is used for storing various data, a work area, and the like. The ROM 57 is used for storing various data and programs. EEPRO
M59 stores the programs and the like shown in the flowcharts shown in FIGS. The contactor 61 obtains electrical contact with a smart card reader / writer (not shown). Note that the program shown in FIGS.
RAM55 or ROM instead of EPROM59
57. (Fourth Embodiment) Next, an encryption / decryption device according to a fourth embodiment of the present invention will be described with reference to FIG. This encryption / decryption device 30
Has the configuration described in any of the first to third embodiments, and is for protecting digital information (hereinafter, referred to as raw data) such as image data and music data.

【0099】係る暗復号装置30は、例えば図14に示
すように、記憶媒体からプログラムがインストールされ
ることにより、パーソナルコンピュータ(以下、パソコ
ンという)PCに実現されているとする。ここで、暗復
号装置30は、例えばユーザIDを共通鍵とし、パソコ
ンPCに入力された生データを暗号化し、得られた暗号
化データ(前述した暗号文に相当)を携帯可能な記憶素
子31に記憶させる。この種の記憶素子31としては、
スマートカード、スマートメディア又はメモリカードな
どがある。
It is assumed that the encryption / decryption device 30 is realized in a personal computer (hereinafter referred to as a personal computer) PC by installing a program from a storage medium as shown in FIG. 14, for example. Here, the encryption / decryption device 30 encrypts the raw data input to the personal computer PC using, for example, a user ID as a common key, and stores the obtained encrypted data (corresponding to the cipher text described above) in a portable storage element 31. To memorize. As this type of storage element 31,
There are a smart card, a smart media, a memory card, and the like.

【0100】この記憶素子31がユーザ宅へ配布され、
ユーザ宅内の図示しない暗復号装置は、自己のユーザI
Dに基づいて記憶素子31内の暗号化データを復号し、
得られた画像データや音楽データをスピーカ等から再生
出力させる。これにより、例えば予め契約したユーザの
みに生データ(コンテンツ)を配布することができる。
This storage element 31 is distributed to the user's house,
The encryption / decryption device (not shown) in the user's home
Decrypting the encrypted data in the storage element 31 based on D,
The obtained image data and music data are reproduced and output from a speaker or the like. Thus, for example, raw data (content) can be distributed only to users who have contracted in advance.

【0101】また、本実施形態は、以下のように種々変
形可能となっている。例えば、図15に示すように、パ
ソコンPCに代えて、例えばハードウェア回路からなる
暗復号装置30を備えた記録装置32を設けた構成であ
る。この構成によれば、コンテンツを記憶素子31に書
込む際に、暗復号装置30がユーザID等により生デー
タを暗号化して記憶素子31に記憶させる。宅配から復
号に至る過程は、前述した通りである。このように、パ
ソコンPC等の汎用のコンピュータでなくとも、専用の
記録装置32に暗復号装置30を設けた構成としてもよ
い。
This embodiment can be variously modified as follows. For example, as shown in FIG. 15, a configuration is provided in which a recording device 32 having an encryption / decryption device 30 composed of, for example, a hardware circuit is provided instead of the personal computer PC. According to this configuration, when writing the content into the storage element 31, the encryption / decryption device 30 encrypts the raw data using the user ID or the like and stores the raw data in the storage element 31. The process from home delivery to decryption is as described above. As described above, the encryption / decryption device 30 may be provided in the dedicated recording device 32 without being a general-purpose computer such as the personal computer PC.

【0102】また、図16に示すように、暗復号装置3
0を設けたホストコンピュータ33が、ネットワークN
Wを介してパソコンPCに接続された構成としてもよ
い。この場合、ホストコンピュータ33からダウンロー
ドされた暗号化データがパソコンPCを介して暗号化さ
れた状態で記憶素子32に記憶される。宅配から復号に
至る過程は、前述した通りである。この変形例によれ
ば、前述した効果に加え、ネットワークNW上でのコン
テンツ(生データ)の盗聴などを防止することができ
る。
Further, as shown in FIG.
0 is provided on the network N
It may be configured to be connected to the personal computer PC via W. In this case, the encrypted data downloaded from the host computer 33 is stored in the storage element 32 in an encrypted state via the personal computer PC. The process from home delivery to decryption is as described above. According to this modification, in addition to the effects described above, eavesdropping of content (raw data) on the network NW can be prevented.

【0103】さらに、図17に示すように、記憶素子を
例えばDVD(digital versatiledisc)としてもよ
い。図17(a)に示す場合、予め暗号化データが格納
されたDVD34がユーザに頒布される。ユーザ宅の暗
復号装置30は、DVD34内の暗号化データを復号
し、得られた画像データや音楽データをスピーカ等から
再生出力させる。
Further, as shown in FIG. 17, the storage element may be, for example, a DVD (digital versatile disc). In the case shown in FIG. 17A, a DVD 34 in which encrypted data is stored in advance is distributed to users. The encryption / decryption device 30 at the user's home decrypts the encrypted data in the DVD 34 and reproduces and outputs the obtained image data and music data from a speaker or the like.

【0104】また、図17(b)に示す場合、画像や音
楽等の生データがユーザ宅の暗復号装置30によって所
定の共通鍵を用いて暗号化され、得られた暗号化データ
がDVD−RAM35に格納される。この暗号化データ
は、ユーザにより設定された所定の共通鍵により復号さ
れるが、共通鍵が知られない限り、他人には復号されな
い。従って、趣味的な画像データや音楽データなどを他
人から保護しつつ保存することができる。
In the case shown in FIG. 17B, raw data such as images and music is encrypted by the encryption / decryption device 30 at the user's house using a predetermined common key, and the obtained encrypted data is stored in the DVD-ROM. It is stored in the RAM 35. This encrypted data is decrypted by a predetermined common key set by the user, but is not decrypted by anyone unless the common key is known. Therefore, hobby image data and music data can be stored while being protected from others.

【0105】(他の実施形態)尚、本発明における拡大
鍵生成装置及び暗復号装置の処理を実現させるためのプ
ログラムが記憶された記憶媒体としては、磁気ディス
ク、フロッピー(登録商標)ディスク、ハードディス
ク、光ディスク(CD−ROM、CD−R、DVD
等)、光磁気ディスク(MO等)、半導体メモリ等が適
用可能である。実際には、プログラムを記憶でき、かつ
コンピュータが読み取り可能な記憶媒体であれば、その
記憶形式は何れの形態であっても良い。
(Other Embodiments) As storage media storing programs for realizing the processing of the extended key generation device and the encryption / decryption device in the present invention, a magnetic disk, a floppy (registered trademark) disk, a hard disk , Optical disks (CD-ROM, CD-R, DVD
Etc.), a magneto-optical disk (MO, etc.), a semiconductor memory, etc. are applicable. Actually, any storage medium that can store the program and can be read by a computer may be used.

【0106】また、記憶媒体からコンピュータにインス
トールされたプログラムの指示に基づきコンピュータ上
で稼働しているOS(オペレーティングシステム)や、
データベース管理ソフト、ネットワークソフト等のMW
(ミドルウェア)等が本実施形態を実現するための各処
理の一部を実行しても良い。
An OS (Operating System) running on the computer based on instructions of a program installed in the computer from the storage medium,
MW for database management software, network software, etc.
(Middleware) or the like may execute a part of each process for realizing the present embodiment.

【0107】さらに、本発明における記憶媒体は、コン
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶または一時記憶した記憶媒体も含まれる。
Further, the storage medium of the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

【0108】また、記憶媒体は1つに限らず、複数の媒
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。
Further, the number of storage media is not limited to one, and the case where the processing in the present embodiment is executed from a plurality of media is also included in the storage media of the present invention, and any media configuration may be used.

【0109】尚、本発明におけるコンピュータは、記憶
媒体に記憶されたプログラムに基づき、本実施形態にお
ける各処理を実行するものであって、パソコン等の1つ
からなる装置、複数の装置がネットワーク接続されたシ
ステム等の何れの構成であっても良い。
The computer according to the present invention executes each processing according to the present embodiment based on a program stored in a storage medium. An apparatus such as a personal computer and a plurality of apparatuses are connected to a network. Any configuration such as a system described above may be used.

【0110】また、本発明におけるコンピュータとは、
パソコンに限らず、情報処理機器に含まれる演算処理装
置、マイコン等も含み、プログラムによって本発明の機
能を実現することが可能な機器、装置を総称している。
The computer in the present invention is
It is not limited to a personal computer, but also includes a processing device, a microcomputer, and the like included in an information processing device, and generically refers to a device and a device capable of implementing the functions of the present invention by a program.

【0111】また、本発明は、DES暗号系に限らず、
ラウンド関数を用いるブロック暗号系であれば適用可能
であり、例えば、Lucifer、LOKI、MISTY 1、MISTY 2及
びSAFER(Secure And Fast Encryption Routine)といっ
た暗号系に適用してもよい。
Further, the present invention is not limited to the DES encryption system,
The present invention can be applied to any block encryption system using a round function, and may be applied to encryption systems such as Lucifer, LOKI, MISTY 1, MISTY 2, and SAFER (Secure And Fast Encryption Routine).

【0112】また、上述した実施例では、Sボックスは
置換表を用いて非線形変換を行う要に構成したが、配線
により非線形変換を行うように構成してもよい。
Further, in the above-described embodiment, the S box is configured to perform the non-linear conversion using the replacement table. However, the S box may be configured to perform the non-linear conversion by wiring.

【0113】また、図9に示した実施例では、定数レジ
スタ12i、XOR素子13i、Sボックス14iおよび拡大変換部1
5iからなる変換要素が2セット並列に設けられるように
構成したが、2セット以上の変換要素を並列に設けるよ
うに構成してもよい。
In the embodiment shown in FIG. 9, the constant register 12i, the XOR element 13i, the S box 14i and the enlargement conversion unit 1
Although two sets of conversion elements composed of 5i are provided in parallel, two or more sets of conversion elements may be provided in parallel.

【0114】その他、本発明はその要旨を逸脱しない範
囲で種々変形して実施できる。
In addition, the present invention can be variously modified and implemented without departing from the gist thereof.

【0115】[0115]

【発明の効果】以上説明したように本発明によれば、装
置価格や装置規模を抑え、弱鍵の生成を阻止しつつ拡大
鍵の攪拌性を向上でき、もって、暗号強度を向上できる
拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記
憶媒体を提供できる。
As described above, according to the present invention, it is possible to reduce the price and scale of the device, to improve the agitation of the expanded key while preventing the generation of a weak key, and to thereby improve the encryption strength. A generation device, an encryption / decryption device, an extended key generation method, and a storage medium can be provided.

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

【図1】本発明の第1の実施形態に係る暗復号装置の構
成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an encryption / decryption device according to a first embodiment of the present invention.

【図2】同実施形態における暗復号装置内の拡大鍵生成
部の構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of an extended key generation unit in the encryption / decryption device according to the embodiment.

【図3】同実施形態における定数レジスタの設定値を説
明するための模式図である。
FIG. 3 is a schematic diagram for explaining a set value of a constant register in the embodiment.

【図4】同実施形態におけるSボックスの構成を説明す
るための模式図である。
FIG. 4 is a schematic diagram for explaining a configuration of an S box in the embodiment.

【図5】同実施形態における巡回シフト部の設定を説明
するための模式図である。
FIG. 5 is a schematic diagram for explaining setting of a cyclic shift unit in the embodiment.

【図6】同実施形態におけるラウンド関数の構造を示す
ブロック図である。
FIG. 6 is a block diagram showing a structure of a round function in the embodiment.

【図7】暗復号装置の動作を示すフローチャートであ
る。
FIG. 7 is a flowchart showing the operation of the encryption / decryption device.

【図8】同実施形態における動作を説明するための模式
図である。
FIG. 8 is a schematic diagram for explaining an operation in the embodiment.

【図9】本発明の第2の実施形態に係る拡大鍵生成装置
に適用される鍵変換関数の構成を示すブロック図であ
る。
FIG. 9 is a block diagram illustrating a configuration of a key conversion function applied to an extended key generation device according to a second embodiment of the present invention.

【図10】本発明の第3の実施形態に係る拡大鍵生成装
置の構成を示すブロック図である。
FIG. 10 is a block diagram illustrating a configuration of an extended key generation device according to a third embodiment of the present invention.

【図11】同実施形態における置換処理部の設定を説明
するための模式図である。
FIG. 11 is a schematic diagram for explaining setting of a replacement processing unit in the embodiment.

【図12】図10に示す実施例の動作を示すフローチャ
ートである。
FIG. 12 is a flowchart showing the operation of the embodiment shown in FIG.

【図13】この発明の拡大鍵生成装置、暗復号装置およ
び記憶媒体を具現化したスマートカードの構成を示す機
能ブロック図である。
FIG. 13 is a functional block diagram showing a configuration of a smart card embodying an extended key generation device, an encryption / decryption device, and a storage medium according to the present invention.

【図14】本発明の第4の実施形態に係る暗復号装置を
説明するための模式図である。
FIG. 14 is a schematic diagram illustrating an encryption / decryption device according to a fourth embodiment of the present invention.

【図15】同実施形態における変形例を説明するための
模式図である。
FIG. 15 is a schematic diagram for explaining a modification of the embodiment.

【図16】同実施形態における変形例を説明するための
模式図である。
FIG. 16 is a schematic diagram for explaining a modification of the embodiment.

【図17】同実施形態における変形例を説明するための
模式図である。
FIG. 17 is a schematic diagram for explaining a modification of the embodiment.

【図18】従来の共通鍵暗号の一例としてのDES方式
を説明するためのブロック図である。
FIG. 18 is a block diagram illustrating a DES method as an example of conventional common key encryption.

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

10…拡大鍵生成部 11〜11…一時鍵レジスタ 12〜12…定数レジスタ 13〜13…XOR素子 14〜14…Sボックス 15〜15…拡大変換部 16〜16…加算部 17〜17n-1…巡回シフト部 18…置換処理部 20…攪拌部 30…暗復号装置 31…記憶素子 32…記録装置 33…ホストコンピュータ 34…DVD 35…DVD−RAM fk1〜fkn…鍵変換関数 R1〜Rn…ラウンド K1〜Kn…拡大鍵 KC…共通鍵 kc1〜kcn-1…鍵変換結果 KA…第1鍵 KB…第2鍵 PC…パソコン NW…ネットワーク10 ... expansion key generating unit 11 1 to 11 n ... temporary key register 12 1 to 12 n ... constant register 13 1 to 13 n ... XOR element 14 1 to 14 n ... S box 15 1 to 15 n ... enlargement conversion unit 16 1 ~ 16 n ... adding unit 17 1 ~17 n-1 ... cyclic shift unit 18 i ... replacement processor 20 ... stirring portion 30 ... decryption device 31 ... storage device 32 ... recording apparatus 33 ... host computer 34 ... DVD 35 ... DVD -RAM fk1 to fkn key conversion function R1 to Rn round K1 to Kn extended key KC common key kc1 to kcn-1 key conversion result KA first key KB second key PC personal computer NW network

───────────────────────────────────────────────────── フロントページの続き (72)発明者 横田 薫 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 関部 勉 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 館林 誠 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 佐野 文彦 東京都府中市東芝町1番地 株式会社東芝 府中事業所内 (72)発明者 川村 信一 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 ──────────────────────────────────────────────────の Continued on the front page (72) Inventor Kaoru Yokota 1006 Kazuma Kadoma, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (72) Inventor Makoto Tatebayashi 1006 Kazuma Kadoma, Osaka Pref. Matsushita Electric Industrial Co., Ltd. 1 Tokoba, Komukai Toshiba-cho, Kawasaki-shi, Kanagawa Prefecture

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 各ラウンド毎に異なる鍵が入力され、そ
れぞれ前記鍵に基づいて拡大鍵を生成する、カスケード
に連結された複数の鍵変換関数部を有し、 前記各鍵変換関数部は、 前記入力された鍵から得られた第1鍵に基づいて所定の
置換テーブルにより変換処理を行う第1鍵変換手段と、 この第1鍵変換手段による変換結果と前記入力された鍵
から得られた第2鍵とに基づいて前記拡大鍵を算出する
拡大鍵算出手段とを備えたことを特徴とする拡大鍵生成
装置。
1. A plurality of key conversion function units connected to a cascade, each of which receives a different key for each round and generates an expanded key based on the key, wherein each of the key conversion function units includes: First key conversion means for performing a conversion process using a predetermined substitution table based on the first key obtained from the input key; and a conversion result obtained by the first key conversion means and the key obtained from the input key. An expanded key generation device, comprising: an expanded key calculation unit that calculates the expanded key based on a second key.
【請求項2】 前記各鍵変換関数部は、 入力された鍵を左又は右に巡回シフトさせ、前記巡回シ
フトの完了した鍵を次ラウンドの鍵変換関数部に入力す
る巡回シフト手段を備えたことを特徴とする請求項1記
載の拡大鍵生成装置。
2. The key conversion function unit includes a cyclic shift unit that cyclically shifts the input key to the left or right and inputs the key after the cyclic shift to the key conversion function unit of the next round. The extended key generation device according to claim 1, wherein:
【請求項3】 前記巡回シフト手段のシフト量は、前記
第1鍵変換手段の出力ビット数と互いに素な値であるこ
とを特徴とする請求項2記載の拡大鍵生成装置。
3. The expanded key generation apparatus according to claim 2, wherein the shift amount of said cyclic shift means is a value relatively prime to the number of output bits of said first key conversion means.
【請求項4】 前記各鍵変換関数部は、 入力された鍵を置換テーブルにより変換し、この変換の
完了した鍵を次ラウンドの鍵変換関数部に入力する入力
鍵変換手段を備えたことを特徴とする請求項1記載の拡
大鍵生成装置。
4. Each of the key conversion function units includes an input key conversion unit that converts an input key using a substitution table and inputs the converted key to a key conversion function unit of the next round. The extended key generation device according to claim 1, wherein:
【請求項5】 前記各鍵変換関数部は、 前記第1鍵変換手段による変換結果を拡大変換させて前
記拡大鍵算出手段に入力する拡大変換手段を備えたこと
を特徴とする請求項1乃至請求項4のいずれか1項記載
の拡大鍵生成装置。
5. The key conversion function unit according to claim 1, further comprising an expansion conversion unit that performs an expansion conversion of the conversion result obtained by the first key conversion unit and inputs the result to the expanded key calculation unit. The extended key generation device according to claim 4.
【請求項6】 前記拡大変換手段による拡大変換は、所
定ビット数のシフトであることを特徴とする請求項5記
載の拡大鍵生成装置。
6. The extended key generation device according to claim 5, wherein the extended conversion by said extended conversion means is a shift of a predetermined number of bits.
【請求項7】前記所定ビット数のシフトは、前記第1鍵
変換手段による変換結果のビット数の半分のビット数、
あるいは前記半分のビット数に前記変換結果のビット数
の整数倍を加えた値のビット数だけ、当該変換結果を左
シフトすることにより行うことを特徴とする請求項6記
載の拡大鍵生成装置。
7. The method according to claim 1, wherein the predetermined number of bits is shifted by half the number of bits as a result of conversion by the first key conversion means.
7. The expanded key generation apparatus according to claim 6, wherein the conversion is performed by shifting the conversion result to the left by the number of bits obtained by adding an integer multiple of the conversion result bit number to the half bit number.
【請求項8】 前記拡大鍵演算手段による演算は、桁上
りを伴う加算であることを特徴とする請求項1乃至請求
項7のいずれか1項に記載の拡大鍵生成装置。
8. The extended key generation device according to claim 1, wherein the operation by the extended key operation means is addition with carry.
【請求項9】 前記各鍵変換関数部により生成された各
拡大鍵に基づいて、入力された平文を暗号化して暗号文
を出力し、且つ、入力された暗号文を復号して平文を出
力する攪拌部を備えたことを特徴とする請求項1乃至請
求項8のいずれか1項に記載の拡大鍵生成装置を備えた
暗復号装置。
9. Encrypting an input plaintext and outputting a ciphertext based on each expanded key generated by each of the key conversion function units, and decrypting the input ciphertext and outputting a plaintext. An encryption / decryption device comprising the expanded key generation device according to claim 1, further comprising a stirring unit that performs the operation.
【請求項10】 前記攪拌部は、前記暗号化及び前記復
号のための複数の置換テーブルを有し、 前記攪拌部のいずれかの置換テーブルは、前記第1鍵変
換手段の置換テーブルと共有化されていることを特徴と
する請求項9に記載の暗復号装置。
10. The stirring unit has a plurality of replacement tables for the encryption and the decryption, and one of the replacement tables of the stirring unit is shared with a replacement table of the first key conversion unit. The encryption / decryption device according to claim 9, wherein
【請求項11】 各ラウンド毎に異なる鍵を入力し、 前記入力された鍵から第1鍵を生成し、 前記生成された第1鍵を所定の置換テーブルにより変換
し、 前記変換結果と、前記入力された鍵から生成された第2
鍵とに基づいて拡大鍵を算出する、ことを特徴とする拡
大鍵生成方法。
11. A different key is input for each round, a first key is generated from the input key, and the generated first key is converted by a predetermined replacement table. The second generated from the input key
An extended key generation method, comprising: calculating an extended key based on a key.
【請求項12】 コンピュータに、 各ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記生成された第1鍵を所定の置換テーブルにより変換
させ、 前記変換結果と前記入力された鍵から得られる第2鍵と
に基づいて拡大鍵を算出させるためのプログラムを記憶
するコンピュータ読取り可能な記憶媒体。
12. A computer causes a computer to generate a first key from a different key input for each round, converts the generated first key by a predetermined substitution table, and converts the conversion result and the input key. A computer-readable storage medium for storing a program for calculating an expanded key based on a second key obtained from a computer.
【請求項13】 コンピュータに、 前記入力された鍵を左又は右に巡回シフトさせ、前記巡
回シフトの完了した鍵を次ラウンドに入力させるための
プログラムを記憶した請求項12記載のコンピュータ読
取り可能記憶媒体。
13. The computer-readable storage according to claim 12, wherein a program for causing the computer to cyclically shift the input key to the left or right and to input the key for which the cyclic shift is completed in the next round is stored. Medium.
【請求項14】 前記巡回シフトのシフト量は前記第1
鍵変換の出力ビット数と互いに素な値であることを特徴
とする請求項13記載のコンピュータ読取り可能記憶媒
体。
14. The shift amount of the cyclic shift is equal to the first shift amount.
14. The computer-readable storage medium according to claim 13, wherein the value is a value relatively prime to the number of output bits of the key conversion.
【請求項15】 コンピュータに、 前記入力された鍵を置換テーブルにより変換させ、 前記変換の完了した鍵を次ラウンドに入力させるための
プログラムを記憶した請求項14記載のコンピュータ読
取り可能記憶媒体。
15. The computer-readable storage medium according to claim 14, wherein a program for causing a computer to convert the input key by using a substitution table and inputting the converted key in the next round is stored.
【請求項16】 コンピュータに、 前記第1鍵にもとづく変換結果を拡大変換させるための
プログラムを記憶した請求項12記載のコンピュータ読
取り可能記憶媒体。
16. The computer-readable storage medium according to claim 12, wherein a program for enlarging and converting the conversion result based on the first key is stored in a computer.
【請求項17】 前記拡大変換させる機能は所定ビット
数のシフトであることを特徴とする請求項12記載のコ
ンピュータ読取り可能記憶媒体。
17. The computer-readable storage medium according to claim 12, wherein the function of performing the enlargement conversion is a shift of a predetermined number of bits.
【請求項18】 前記所定ビット数のシフトは、前記第
1鍵変換に基づく変換結果のビット数の半分のビット
数、あるいは前記半分のビット数に前記変換結果のビッ
ト数の整数倍を加えた値のビット数だけ、当該変換結果
を左シフトすることにより行うことを特徴とする請求項
17記載のコンピュータ読取り可能記憶媒体。
18. The method according to claim 18, wherein the predetermined number of bits is shifted by half the number of bits of the conversion result based on the first key conversion, or by adding an integral multiple of the number of bits of the conversion result to the half number of bits. 18. The computer-readable storage medium according to claim 17, wherein the conversion is performed by left-shifting the conversion result by the number of bits of the value.
【請求項19】 前記拡大鍵を算出する機能は、桁上が
りを伴う加算であることを特徴とする請求項12記載の
コンピュータ読取り可能記憶媒体。
19. The computer-readable storage medium according to claim 12, wherein the function of calculating the expanded key is addition with carry.
【請求項20】 コンピュータに、 各ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記生成された第1鍵を所定の置換テーブルにより変換
させ、 前記変換結果と前記入力された鍵から得られる第2鍵と
に基づいて拡大鍵を算出させ、 前記生成された拡大鍵に基づいて入力された平文を暗号
化して出力し、かつ入力された暗号文を復号して平文を
出力する攪拌処理を実行させる、ためのプログラムを記
憶したコンピュータ読取り可能記憶媒体。
20. A computer that generates a first key from a different key input in each round, converts the generated first key by a predetermined substitution table, and converts the conversion result and the input key. And calculates an expanded key based on the second key obtained from the above, encrypts and outputs the input plaintext based on the generated expanded key, and decrypts the input ciphertext and outputs the plaintext. A computer-readable storage medium storing a program for executing a stirring process.
【請求項21】 前記攪拌処理は、前記暗号化および復
号のための複数の置換テーブルを有し、 前記攪拌処理のいずれかの置換テーブルは、前記第1鍵
に基づく変換に使用される置換テーブルと共有化されて
いることを特徴とする請求項20記載のコンピュータ読
取り可能記憶媒体。
21. The agitation process has a plurality of replacement tables for the encryption and decryption, and any of the replacement tables in the agitation process is a replacement table used for conversion based on the first key. The computer-readable storage medium according to claim 20, wherein the storage medium is shared with a computer.
【請求項22】各ラウンド毎に異なる鍵が入力されそれ
ぞれ前記鍵に基づいて拡大鍵を生成する、カスケートに
接続された複数の鍵変換関数部を有し、 前記各鍵変換関数部は複数の並列に配列された拡大変換
要素を有し、前記各拡大変換要素は、 定数を保持する定数レジスタと、 前記定数レジスタに保持された定数と入力された鍵から
得られる第1鍵との排他的論理和を算出する排他的論理
和算出手段と、 前記排他的論理和算出手段から出力された値に基づいて
所定の置換テーブルにより変換処理を行うSボックス
と、 前記Sボックスから出力された変換結果を拡大変換する
拡大変換部と、を有し、 前記複数の拡大変換要素から出力された変換結果と、前
記入力された鍵から得られる第2鍵とに基づいて拡大鍵
を算出する拡大鍵算出手段を有したことを特徴とする拡
大鍵生成装置。
22. A plurality of key conversion function units connected to a cascade, each of which receives a different key for each round and generates an expanded key based on the key, wherein each key conversion function unit has a plurality of key conversion function units. It has expansion conversion elements arranged in parallel, wherein each of the expansion conversion elements is exclusive of a constant register holding a constant, and a first key obtained from a key stored in the constant register and an input key. An exclusive OR calculating means for calculating a logical sum; an S box for performing a conversion process using a predetermined replacement table based on a value output from the exclusive OR calculating means; and a conversion result output from the S box And an expansion conversion unit that performs expansion conversion of the expansion key. An expansion key calculation that calculates an expansion key based on the conversion results output from the plurality of expansion conversion elements and a second key obtained from the input key means Expanded key generation apparatus characterized by having.
【請求項23】 各ラウンド毎に異なる鍵が入力され、
それぞれ前記鍵に基づいて拡大鍵を生成する複数の鍵変
換関数部がカスケードに連結された拡大鍵生成装置に使
用されるコンピュータ読取り可能記憶媒体であって、 前記拡大鍵生成装置内のコンピュータに、 前記各鍵変換関数部として、 各々が、 定数を保持する定数レジスタと、 前記定数レジスタに保持された定数と入力された鍵から
得られる第1鍵との排他的論理和を算出する排他的論理
和算出手段と、 前記排他的論理和算出手段から出力された値に基づいて
所定の置換テーブルにより変換処理を行うSボックス
と、 前記Sボックスから出力された変換結果を拡大変化する
拡大変換部とからなる複数の並列に配列された拡大変換
要素と、 前記複数の拡大変換要素から出力された変換結果と、前
記入力された鍵から得られた第2鍵とに基づいて拡大鍵
を算出する拡大鍵算出手段と、 を実現させるためのプログラムを記憶したコンピュータ
読取り可能記憶媒体。
23. A different key is input for each round,
A plurality of key conversion function units for generating an expanded key based on the key is a computer-readable storage medium used in an expanded key generation device connected in cascade, wherein a computer in the expanded key generation device, Each of the key conversion function units includes: a constant register for holding a constant; and an exclusive logic for calculating an exclusive OR of the constant held in the constant register and a first key obtained from the input key. A sum calculation unit, an S box that performs a conversion process using a predetermined replacement table based on a value output from the exclusive OR calculation unit, and an expansion conversion unit that expands and changes the conversion result output from the S box. A plurality of expansion conversion elements arranged in parallel, a conversion result output from the plurality of expansion conversion elements, and a second key obtained from the input key. Computer-readable storage medium storing a program for realizing, and extended key computation means for calculating the expansion key Zui.
【請求項24】 各ラウンド毎に異なる鍵が入力され、
それぞれ前記鍵に基づいて拡大鍵を生成する、カスケー
ドに連結された複数の鍵変換関数部を有し、 前記各鍵変換関数部は、 入力された鍵を非線形的に置換し、その置換結果を出力
する置換処理部と、 前記置換処理部から出力された第1鍵に基づいて所定の
置換テーブルにより変換処理を行う第1鍵変換手段と、 前記第1鍵変換手段による変換結果と前記置換処理部か
ら出力される第1鍵とに基づいて前記拡大鍵を算出する
拡大鍵算出手段と、を有したことを特徴とする拡大鍵生
成装置。
24. A different key is input for each round,
Each of the key conversion function units includes a plurality of key conversion function units connected in cascade, each of which generates an expanded key based on the key. A replacement processing unit for outputting, a first key conversion unit for performing a conversion process using a predetermined replacement table based on the first key output from the replacement processing unit, a conversion result by the first key conversion unit, and the replacement process Extended key calculation means for calculating the extended key based on the first key output from the unit.
【請求項25】 各ラウンド毎に異なる鍵を入力し、 入力された鍵を非線形的に置換し、 前記置換により得られる第1鍵を所定の置換テーブルに
より変換し、 前記変換結果と前記置換により得られる第2鍵とにもと
づいて前記拡大鍵を算出する、ことを特徴とする拡大鍵
生成方法。
25. A different key is input for each round, the input key is nonlinearly replaced, the first key obtained by the replacement is converted by a predetermined replacement table, and the conversion result and the replacement are used. An extended key generation method, wherein the extended key is calculated based on an obtained second key.
【請求項26】 コンピュータに、 ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記入力された鍵を非線形的に置換させ、置換結果を出
力させ、 前記置換により得られた第1鍵を所定の置換テーブルに
より変換させ、 前記変換結果と前記置換により得られる第2鍵とに基づ
いて拡大鍵を算出させるためのプログラムを記憶したコ
ンピュータ読取り可能記憶媒体。
26. A computer that generates a first key from a different key input for each round, nonlinearly replaces the input key, and outputs a replacement result. A computer-readable storage medium storing a program for converting a key using a predetermined replacement table and calculating an expanded key based on the conversion result and a second key obtained by the replacement.
JP2000261098A 1999-08-31 2000-08-30 Extended key generation device, encryption / decryption device, extended key generation method, and storage medium Expired - Lifetime JP3389210B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000261098A JP3389210B2 (en) 1999-08-31 2000-08-30 Extended key generation device, encryption / decryption device, extended key generation method, and storage medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-244176 1999-08-31
JP24417699 1999-08-31
JP2000261098A JP3389210B2 (en) 1999-08-31 2000-08-30 Extended key generation device, encryption / decryption device, extended key generation method, and storage medium

Publications (2)

Publication Number Publication Date
JP2001142395A true JP2001142395A (en) 2001-05-25
JP3389210B2 JP3389210B2 (en) 2003-03-24

Family

ID=26536613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000261098A Expired - Lifetime JP3389210B2 (en) 1999-08-31 2000-08-30 Extended key generation device, encryption / decryption device, extended key generation method, and storage medium

Country Status (1)

Country Link
JP (1) JP3389210B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003037482A (en) * 2001-01-23 2003-02-07 Hitachi Ltd Pseudo-random number generator, and decoder using the same
JP2004004603A (en) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd Extension key generation apparatus, enciphering apparatus and enciphering system
JP2008052130A (en) * 2006-08-25 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> Hash function circuit and operation method thereof
JP2008514975A (en) * 2004-09-24 2008-05-08 シナプティック ラボラトリーズ リミテッド s box
JP2011217415A (en) * 2005-01-27 2011-10-27 Interdigital Technology Corp Generation of perfectly secret key in wireless communication network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003037482A (en) * 2001-01-23 2003-02-07 Hitachi Ltd Pseudo-random number generator, and decoder using the same
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
JP2008514975A (en) * 2004-09-24 2008-05-08 シナプティック ラボラトリーズ リミテッド s box
JP2011217415A (en) * 2005-01-27 2011-10-27 Interdigital Technology Corp Generation of perfectly secret key in wireless communication network
US9130693B2 (en) 2005-01-27 2015-09-08 Interdigital Technology Corporation Generation of perfectly secret keys in wireless communication networks
JP2008052130A (en) * 2006-08-25 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> Hash function circuit and operation method thereof

Also Published As

Publication number Publication date
JP3389210B2 (en) 2003-03-24

Similar Documents

Publication Publication Date Title
KR100402811B1 (en) Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP3679936B2 (en) Encryption / decryption device and storage medium
JP4127472B2 (en) Data conversion apparatus, data conversion method and program for data conversion apparatus, and computer-readable recording medium
KR100362458B1 (en) Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security
JP2003023421A (en) Encryption method, program thereof, recording medium recorded with the program, encryption device, decoding method, and decoder
KR19990002840A (en) Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
JP3769804B2 (en) Decoding method and electronic device
JP3389210B2 (en) Extended key generation device, encryption / decryption device, extended key generation method, and storage medium
Lee et al. Design and evaluation of a block encryption algorithm using dynamic-key mechanism
Soe et al. Performance analysis of data encryption standard (DES)
Tarawneh Cryptography: Recent Advances and Research Perspectives
JPH10153954A (en) Ciphering device
Labbi et al. Symmetric encryption algorithm for RFID systems using a dynamic generation of key
JP2000089666A (en) Encoding/decoding device
JP3587763B2 (en) Encryption device, decryption device, encryption communication system and recording medium
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
Kumari et al. An RTL Implementation of the Data Encryption Standard (DES)
Usman et al. A data specific comparative study for choosing best cryptographic technique
JP3017725B2 (en) Data converter
Hattab et al. Developing the Complexity and Security of the Twofish Algorithm Through a New Key Scheduling Design
JPH11212451A (en) Criptographic device
JP2000019958A (en) Cipher processor, cipher processing method and storage medium storing cipher processing program
JPH10322317A (en) Data conversion device, data transmission device and data restoration device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3389210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120117

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140117

Year of fee payment: 11

EXPY Cancellation because of completion of term